| from cbh.api.availability.schemas import UpdateAvailabilityRequest | |
| from cbh.api.availability.models import AvailabilityModel | |
| from cbh.api.common.db_requests import get_obj_by_id | |
| from cbh.core.config import settings | |
| async def update_availability_obj( | |
| availability: UpdateAvailabilityRequest, coach_id: str | |
| ) -> AvailabilityModel: | |
| """ | |
| Update availability object. | |
| """ | |
| availability_obj = await get_obj_by_id( | |
| AvailabilityModel, None, additional_filter={"coach.id": coach_id} | |
| ) | |
| availability_obj.weeklySchedule = availability.weeklySchedule | |
| await settings.DB_CLIENT.availabilities.update_one( | |
| {"coach.id": coach_id}, | |
| {"$set": availability_obj.to_mongo()}, | |
| ) | |
| return availability_obj | |