Download apps/organization/api/team_api.py from jun2024/fc: direct link, hf CLI and curl.
- Browser
- Download file 1.98 kB
-
https://huggingface.co/spaces/jun2024/fc/resolve/main/apps/organization/api/team_api.py
- Command line
-
hf download hf://spaces/jun2024/fc/apps/organization/api/team_api.py
-
curl -L -o team_api.py https://huggingface.co/spaces/jun2024/fc/resolve/main/apps/organization/api/team_api.py
1.98 kB
| """ | |
| 团队 API | |
| 负责请求/响应处理,所有业务逻辑委托给 TeamService | |
| """ | |
| from __future__ import annotations | |
| from django.http import HttpRequest | |
| from ninja import Router | |
| from apps.core.security.auth import JWTOrSessionAuth | |
| from apps.organization.api.utils_api import get_request_user | |
| from apps.organization.dtos import TeamUpsertDTO | |
| from apps.organization.schemas import TeamIn, TeamOut | |
| from apps.organization.services import TeamService | |
| router = Router(auth=JWTOrSessionAuth()) | |
| def _get_team_service() -> TeamService: | |
| """工厂函数:获取团队服务实例""" | |
| return TeamService() | |
| _team_service = _get_team_service() | |
| def list_teams(request: HttpRequest, law_firm_id: int | None = None, team_type: str | None = None) -> list[TeamOut]: | |
| return list(_team_service.list_teams(law_firm_id=law_firm_id, team_type=team_type, user=get_request_user(request))) | |
| def create_team(request: HttpRequest, payload: TeamIn) -> TeamOut: | |
| dto = TeamUpsertDTO(name=payload.name, team_type=payload.team_type, law_firm_id=payload.law_firm_id) | |
| return _team_service.create_team(data=dto, user=get_request_user(request)) | |
| def get_team(request: HttpRequest, team_id: int) -> TeamOut: | |
| return _team_service.get_team(team_id=team_id, user=get_request_user(request)) | |
| def update_team(request: HttpRequest, team_id: int, payload: TeamIn) -> TeamOut: | |
| dto = TeamUpsertDTO(name=payload.name, team_type=payload.team_type, law_firm_id=payload.law_firm_id) | |
| return _team_service.update_team(team_id=team_id, data=dto, user=get_request_user(request)) | |
| def delete_team(request: HttpRequest, team_id: int) -> dict[str, bool]: | |
| _team_service.delete_team(team_id=team_id, user=get_request_user(request)) | |
| return {"success": True} | |