Download cbh/api/availability/views.py from brestok/spark: direct link, hf CLI and curl.
- Browser
- Download file 2.16 kB
-
https://huggingface.co/spaces/brestok/spark/resolve/main/cbh/api/availability/views.py
- Command line
-
hf download hf://spaces/brestok/spark/cbh/api/availability/views.py
-
curl -L -o views.py https://huggingface.co/spaces/brestok/spark/resolve/main/cbh/api/availability/views.py
2.16 kB
| from fastapi import Depends | |
| from cbh.api.account.models import AccountModel | |
| from cbh.api.availability.db_requests import update_availability_obj | |
| from cbh.api.availability.schemas import ( | |
| UpdateAvailabilityRequest, | |
| ) | |
| from cbh.api.common.db_requests import get_obj_by_id | |
| from cbh.core.security import PermissionDependency | |
| from cbh.api.account.dto import AccountType | |
| from cbh.core.wrappers import CbhResponseWrapper | |
| from cbh.api.availability.models import AvailabilityModel | |
| from cbh.api.availability import availability_router | |
| async def get_own_availability( | |
| account: AccountModel = Depends(PermissionDependency([AccountType.COACH])), | |
| ) -> CbhResponseWrapper[AvailabilityModel]: | |
| availability = await get_obj_by_id( | |
| AvailabilityModel, None, additional_filter={"coach.id": account.id} | |
| ) | |
| return CbhResponseWrapper(data=availability) | |
| async def get_availability( | |
| coachId: str, | |
| _: AccountModel = Depends( | |
| PermissionDependency([AccountType.ADMIN, AccountType.USER]) | |
| ), | |
| ) -> CbhResponseWrapper[AvailabilityModel]: | |
| """ | |
| Get availability by coach ID. | |
| """ | |
| availability = await get_obj_by_id( | |
| AvailabilityModel, None, additional_filter={"coach.id": coachId} | |
| ) | |
| return CbhResponseWrapper(data=availability) | |
| async def update_own_availability( | |
| availability: UpdateAvailabilityRequest, | |
| account: AccountModel = Depends(PermissionDependency([AccountType.COACH])), | |
| ) -> CbhResponseWrapper[AvailabilityModel]: | |
| """ | |
| Update own availability. | |
| """ | |
| availability = await update_availability_obj(availability, account.id) | |
| return CbhResponseWrapper(data=availability) | |
| async def update_availability( | |
| coachId: str, | |
| availability: UpdateAvailabilityRequest, | |
| _: AccountModel = Depends(PermissionDependency([AccountType.ADMIN])), | |
| ) -> CbhResponseWrapper[AvailabilityModel]: | |
| """ | |
| Update availability. | |
| """ | |
| availability = await update_availability_obj(availability, coachId) | |
| return CbhResponseWrapper(data=availability) | |