This commit is contained in:
2024-03-17 00:22:05 +03:00
parent f5b7420fac
commit aafa1050a7
8 changed files with 153 additions and 13 deletions

View File

@@ -4,7 +4,10 @@ from fastapi import APIRouter, Depends
from sqlalchemy.ext.asyncio import AsyncSession
from backend.session import get_session
from schemas.client import ClientSearchRequest
from models import User
from schemas.client import ClientSearchRequest, ClientUpdateDetailsRequest, ClientUpdateDetailsResponse, \
ClientGetAllResponse
from services.auth import get_current_user
from services.client import ClientService
client_router = APIRouter(
@@ -19,3 +22,25 @@ async def search_clients(
session: Annotated[AsyncSession, Depends(get_session)]
):
return await ClientService(session).search_clients(ClientSearchRequest(name=name))
@client_router.post('/update-details')
async def update_client_details(
session: Annotated[AsyncSession, Depends(get_session)],
user: Annotated[User, Depends(get_current_user)],
request: ClientUpdateDetailsRequest,
):
service = ClientService(session)
client = await service.get_by_id(request.client_id)
if not client:
return ClientUpdateDetailsResponse(ok=False)
await service.update_details(user, client, request.details)
await session.commit()
return ClientUpdateDetailsResponse(ok=True)
@client_router.get('/get-all', operation_id='get_all_clients', response_model=ClientGetAllResponse)
async def get_all_clients(
session: Annotated[AsyncSession, Depends(get_session)],
):
return await ClientService(session).get_all()