Download apps/reminders/api/reminder_api.py from jun2024/fc: direct link, hf CLI and curl.
- Browser
- Download file 2.13 kB
-
https://huggingface.co/spaces/jun2024/fc/resolve/main/apps/reminders/api/reminder_api.py
- Command line
-
hf download hf://spaces/jun2024/fc/apps/reminders/api/reminder_api.py
-
curl -L -o reminder_api.py https://huggingface.co/spaces/jun2024/fc/resolve/main/apps/reminders/api/reminder_api.py
2.13 kB
| """API endpoints.""" | |
| from __future__ import annotations | |
| from typing import Any | |
| from django.http import HttpResponse | |
| from ninja import Router | |
| from apps.core.api.schema_utils import schema_to_update_dict | |
| from ..schemas import ReminderIn, ReminderOut, ReminderTypeItem, ReminderUpdate, list_reminder_types | |
| from ..services.wiring import get_reminder_service | |
| router = Router() | |
| def _get_reminder_service() -> Any: | |
| """工厂函数:获取 ReminderService 实例。""" | |
| return get_reminder_service() | |
| def list_reminders( | |
| request: Any, | |
| contract_id: int | None = None, | |
| case_id: int | None = None, | |
| case_log_id: int | None = None, | |
| ) -> Any: | |
| return _get_reminder_service().list_reminders( | |
| contract_id=contract_id, | |
| case_id=case_id, | |
| case_log_id=case_log_id, | |
| ) | |
| def create_reminder(request: Any, payload: ReminderIn) -> Any: | |
| return _get_reminder_service().create_reminder( | |
| contract_id=payload.contract_id, | |
| case_id=payload.case_id, | |
| case_log_id=payload.case_log_id, | |
| reminder_type=payload.reminder_type, | |
| content=payload.content, | |
| due_at=payload.due_at, | |
| metadata=payload.metadata, | |
| ) | |
| # 注意:/types 必须在 /{reminder_id} 之前,否则 "types" 会被当作 reminder_id 参数 | |
| def get_types(request: Any) -> Any: | |
| return list_reminder_types() | |
| def get_reminder(request: Any, reminder_id: int) -> Any: | |
| return _get_reminder_service().get_reminder(reminder_id) | |
| def update_reminder(request: Any, reminder_id: int, payload: ReminderUpdate) -> Any: | |
| data = schema_to_update_dict(payload) | |
| return _get_reminder_service().update_reminder(reminder_id, data) | |
| def delete_reminder(request: Any, reminder_id: int) -> HttpResponse: | |
| _get_reminder_service().delete_reminder(reminder_id) | |
| return HttpResponse(status=204) | |