jde-server/core/handlers/profile/handlers.py

35 lines
923 B
Python
Raw Normal View History

2023-11-13 07:38:01 +03:00
from fastapi import APIRouter, Path
2023-11-15 16:20:07 +03:00
from core.models.office.db import ProfileDB
from core.models.office.requests import CreateOrUpdateProfileRequest
from core.registry import profile_storage
2023-11-13 07:38:01 +03:00
router = APIRouter(prefix='/profiles')
# todo implement this handlers in services and storages. Then use fastapi.Depends()
@router.post('/')
2023-11-21 01:02:56 +03:00
async def create_profile(data: CreateOrUpdateProfileRequest):
return profile_storage.create_profile(data)
2023-11-13 07:38:01 +03:00
@router.get('/')
2023-11-15 16:20:07 +03:00
async def list_profiles() -> list[ProfileDB]:
return profile_storage.list_all_profiles()
2023-11-13 07:38:01 +03:00
@router.get('/{profile_id}')
2023-11-15 16:20:07 +03:00
async def get_profile(profile_id: int = Path()) -> ProfileDB:
return profile_storage.get_by_id(profile_id)
2023-11-13 07:38:01 +03:00
@router.delete('/{profile_id}')
async def delete_profile(profile_id: int = Path()):
pass
2023-11-15 16:20:07 +03:00
@router.put('/')
async def update_profile(data: CreateOrUpdateProfileRequest):
2023-11-21 01:02:56 +03:00
profile_storage.update_profile(data=data)