refactor: remove address field and related logic
This commit is contained in:
@@ -60,7 +60,7 @@ async def create_proxy_handler(payload: ProxyCreateInput):
|
||||
return await create_proxy(
|
||||
proxy_port=payload.proxy_port,
|
||||
name=payload.name,
|
||||
service={"address": payload.service.address, "port": payload.service.port},
|
||||
service={"port": payload.service.port},
|
||||
code=payload.code,
|
||||
)
|
||||
|
||||
|
||||
@@ -4,5 +4,4 @@ from pydantic import BaseModel, ConfigDict, Field
|
||||
class ServiceEndpointDocument(BaseModel):
|
||||
model_config = ConfigDict(extra="forbid")
|
||||
|
||||
address: str = Field(..., description="Upstream service address")
|
||||
port: int = Field(..., description="Upstream service port")
|
||||
|
||||
@@ -4,11 +4,11 @@ from typing import Any
|
||||
|
||||
from motor.motor_asyncio import AsyncIOMotorCollection
|
||||
from pymongo import ReturnDocument
|
||||
from services.proxy.models import ServiceConfig
|
||||
|
||||
from core.mongodb import get_database
|
||||
from models.proxy import ProxyDocument, ProxyUpdateInput
|
||||
from models.service import ServiceEndpointDocument
|
||||
from services.proxy.models import ServiceConfig
|
||||
|
||||
COLLECTION_NAME = "proxies"
|
||||
|
||||
@@ -47,7 +47,6 @@ async def create_proxy(
|
||||
name=name,
|
||||
code=code,
|
||||
service=ServiceEndpointDocument(
|
||||
address=service["address"],
|
||||
port=service["port"],
|
||||
),
|
||||
created_at=now,
|
||||
|
||||
@@ -2,5 +2,4 @@ from typing import TypedDict
|
||||
|
||||
|
||||
class ServiceConfig(TypedDict):
|
||||
name: str
|
||||
port: int
|
||||
@@ -8,6 +8,7 @@ dependencies = [
|
||||
"fastapi[standard]>=0.135.3",
|
||||
"motor>=3.7.1",
|
||||
"passlib[bcrypt]>=1.7.4",
|
||||
"pydantic>=2.12.5",
|
||||
"pydantic-settings>=2.13.1",
|
||||
"pyyaml>=6.0.3",
|
||||
"redis>=7.4.0",
|
||||
|
||||
@@ -13,14 +13,13 @@ def make_proxy_document(
|
||||
proxy_port: int,
|
||||
name: str = "svc",
|
||||
code: str = "proxy-code",
|
||||
address: str = "127.0.0.1",
|
||||
port: int = 9000,
|
||||
) -> ProxyDocument:
|
||||
return ProxyDocument(
|
||||
proxy_port=proxy_port,
|
||||
name=name,
|
||||
code=code,
|
||||
service=ServiceEndpointDocument(address=address, port=port),
|
||||
service=ServiceEndpointDocument(port=port),
|
||||
)
|
||||
|
||||
|
||||
@@ -87,7 +86,7 @@ def test_create_proxy_returns_409_on_port_conflict(client, monkeypatch: object):
|
||||
"proxy_port": 3671,
|
||||
"name": "new",
|
||||
"code": "abc",
|
||||
"service": {"address": "localhost", "port": 8080},
|
||||
"service": {"port": 8080},
|
||||
},
|
||||
)
|
||||
|
||||
@@ -117,7 +116,6 @@ def test_create_proxy_returns_created_document(client, monkeypatch: object):
|
||||
proxy_port=proxy_port,
|
||||
name=name,
|
||||
code=code,
|
||||
address=str(service["address"]),
|
||||
port=int(service["port"]),
|
||||
)
|
||||
|
||||
@@ -142,7 +140,7 @@ def test_create_proxy_returns_created_document(client, monkeypatch: object):
|
||||
"proxy_port": 4040,
|
||||
"name": "edge",
|
||||
"code": "def proxy_handler():\n return 'ok'\n",
|
||||
"service": {"address": "service.local", "port": 8181},
|
||||
"service": {"port": 8181},
|
||||
},
|
||||
)
|
||||
|
||||
@@ -151,7 +149,7 @@ def test_create_proxy_returns_created_document(client, monkeypatch: object):
|
||||
assert captured == {
|
||||
"proxy_port": 4040,
|
||||
"name": "edge",
|
||||
"service": {"address": "service.local", "port": 8181},
|
||||
"service": {"port": 8181},
|
||||
"code": "def proxy_handler():\n return 'ok'\n",
|
||||
}
|
||||
|
||||
@@ -208,7 +206,7 @@ def test_create_proxy_returns_422_when_code_validation_fails(
|
||||
"proxy_port": 4000,
|
||||
"name": "broken",
|
||||
"code": "invalid-code",
|
||||
"service": {"address": "service.local", "port": 9000},
|
||||
"service": {"port": 9000},
|
||||
},
|
||||
)
|
||||
|
||||
|
||||
@@ -854,6 +854,7 @@ dependencies = [
|
||||
{ name = "fastapi", extra = ["standard"] },
|
||||
{ name = "motor" },
|
||||
{ name = "passlib", extra = ["bcrypt"] },
|
||||
{ name = "pydantic" },
|
||||
{ name = "pydantic-settings" },
|
||||
{ name = "pyyaml" },
|
||||
{ name = "redis" },
|
||||
@@ -871,6 +872,7 @@ requires-dist = [
|
||||
{ name = "fastapi", extras = ["standard"], specifier = ">=0.135.3" },
|
||||
{ name = "motor", specifier = ">=3.7.1" },
|
||||
{ name = "passlib", extras = ["bcrypt"], specifier = ">=1.7.4" },
|
||||
{ name = "pydantic", specifier = ">=2.12.5" },
|
||||
{ name = "pydantic-settings", specifier = ">=2.13.1" },
|
||||
{ name = "pyyaml", specifier = ">=6.0.3" },
|
||||
{ name = "redis", specifier = ">=7.4.0" },
|
||||
|
||||
Reference in New Issue
Block a user