from typing import Annotated from fastapi import APIRouter, Depends from sqlalchemy.ext.asyncio import AsyncSession from backend.session import get_session from schemas.services import * from services.service import ServiceService service_router = APIRouter( prefix="/service", tags=['service'] ) @service_router.get( '/get-all', response_model=ServiceGetAllResponse, operation_id="get_all_services" ) async def get_all( session: Annotated[AsyncSession, Depends(get_session)] ): return await ServiceService(session).get_all() @service_router.post( '/create', response_model=ServiceCreateResponse, operation_id="create_service" ) async def create( session: Annotated[AsyncSession, Depends(get_session)], request: ServiceCreateRequest ): return await ServiceService(session).create(request) @service_router.get( '/categories/get-all', response_model=ServiceGetAllCategoriesResponse, operation_id="get_all_service_categories" ) async def get_all_categories( session: Annotated[AsyncSession, Depends(get_session)] ): return await ServiceService(session).get_all_categories() @service_router.post( '/categories/create', response_model=ServiceCreateCategoryResponse, operation_id="create_service_category" ) async def create_category( session: Annotated[AsyncSession, Depends(get_session)], request: ServiceCreateCategoryRequest ): return await ServiceService(session).create_category(request)