This commit is contained in:
Your Name
2026-04-16 13:05:07 +08:00
commit 32efff1670
99 changed files with 9974 additions and 0 deletions

View File

@@ -0,0 +1,50 @@
from fastapi import APIRouter, Query
from app.schemas.common import ApiResponse
from app.services.domains_service import batch_update_domains, domain_filter_options, fetch_domains
router = APIRouter(tags=["domains"])
@router.get("/domains/filters", response_model=ApiResponse)
def domain_filters() -> ApiResponse:
return ApiResponse(data=domain_filter_options())
@router.get("/domains", response_model=ApiResponse)
def domain_list(
page: int = Query(default=1, ge=1),
page_size: int = Query(default=20, ge=1, le=200),
domain_keyword: str | None = Query(default=None),
register_status: int | None = Query(default=None),
detect_status: int | None = Query(default=None),
use_status: int | None = Query(default=None),
review_status: int | None = Query(default=None),
has_beian: int | None = Query(default=None),
beian_year: int | None = Query(default=None),
snapshot_year: str | None = Query(default=None),
website_url: str | None = Query(default=None),
backlink_gt_10: bool | None = Query(default=None),
) -> ApiResponse:
return ApiResponse(
data=fetch_domains(
page=page,
page_size=page_size,
domain_keyword=domain_keyword,
register_status=register_status,
detect_status=detect_status,
use_status=use_status,
review_status=review_status,
has_beian=has_beian,
beian_year=beian_year,
snapshot_year=snapshot_year,
website_url=website_url,
backlink_gt_10=backlink_gt_10,
)
)
@router.post("/domains/batch-update", response_model=ApiResponse)
def domain_batch_update(payload: dict) -> ApiResponse:
result = batch_update_domains(payload.get("domain_ids", []), payload.get("updates", {}))
return ApiResponse(message=f"成功更新 {result['updated_count']} 个域名", data=result)