refactor: remove address field and related logic

This commit is contained in:
2026-04-12 23:08:30 +02:00 Unverified
parent 9d8019b35a
commit ae4f497659
7 changed files with 10 additions and 12 deletions
+1 -1
View File
@@ -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,
)
-1
View File
@@ -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")
+1 -2
View File
@@ -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
+1
View File
@@ -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",
+5 -7
View File
@@ -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},
},
)
Generated
+2
View File
@@ -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" },