fix: fixes to mirrors endpoints

This commit is contained in:
Iain Learmonth 2026-05-21 15:49:46 +01:00
parent 97fc9a5ab9
commit d3d287e963

View file

@ -4,7 +4,7 @@ from fastapi import APIRouter
from src.database import DbSession from src.database import DbSession
from src.mirrors.schemas import MirrorLinks, RedirectorData from src.mirrors.schemas import MirrorLinks, RedirectorData
from src.mirrors.service import refresh_mirrors from src.mirrors.service import refresh_mirrors, resolve_mirror as resolve_mirror_service
from src.security import ApiKey from src.security import ApiKey
router = APIRouter() router = APIRouter()
@ -12,16 +12,6 @@ router = APIRouter()
@router.post("/api/v1/mirrors") @router.post("/api/v1/mirrors")
def update_mirrors(db: DbSession, auth: ApiKey, data: RedirectorData): def update_mirrors(db: DbSession, auth: ApiKey, data: RedirectorData):
for pool, data in enumerate(data.pools): for pool, pool_data in enumerate(data.pools):
refresh_mirrors(db, pool, data.origins) refresh_mirrors(db, pool, pool_data.origins)
db.commit() db.commit()
@router.get("/api/v1/resolve", response_model=MirrorLinks)
def resolve_mirror(db: DbSession, auth: ApiKey, url: str):
parsed = urlparse(url)
try:
mirror = resolve_mirror(db, parsed.netloc)
return {"url": parsed._replace(netloc=mirror)}
except ValueError:
return {"mirrors": []}