ethnic.py 872 B

123456789101112131415161718192021222324
  1. """民族码表(下拉检索)"""
  2. from typing import Optional
  3. from fastapi import APIRouter, Depends, Query
  4. from sqlalchemy.orm import Session
  5. from app.core.database import get_db
  6. from app.core.menu_guard import require_admin_or_super_admin
  7. from app.core.response import success_response
  8. from app.crud import ethnic as ethnic_svc
  9. router = APIRouter(prefix="/web/admin", tags=["民族码表"])
  10. @router.get("/ethnics")
  11. async def list_ethnics_for_select(
  12. keyword: Optional[str] = Query(None, description="民族名称模糊检索"),
  13. limit: int = Query(200, ge=1, le=500),
  14. _user: dict = Depends(require_admin_or_super_admin),
  15. db: Session = Depends(get_db),
  16. ):
  17. """返回民族码表选项(按排序号升序)。"""
  18. rows = ethnic_svc.list_ethnics(db, keyword=keyword, limit=limit, user_info=_user)
  19. return success_response({"list": rows})