dev
This commit is contained in:
50
domain-api/app/api/routes/domains.py
Normal file
50
domain-api/app/api/routes/domains.py
Normal 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)
|
||||
Reference in New Issue
Block a user