62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from typing import Annotated
 | 
						|
 | 
						|
from fastapi import APIRouter, Depends
 | 
						|
from sqlalchemy.ext.asyncio import AsyncSession
 | 
						|
 | 
						|
from backend.session import get_session
 | 
						|
from schemas.service import *
 | 
						|
from services.auth import get_current_user
 | 
						|
from services.service import ServiceService
 | 
						|
 | 
						|
service_router = APIRouter(
 | 
						|
    prefix="/service",
 | 
						|
    tags=['service'],
 | 
						|
    dependencies=[Depends(get_current_user)]
 | 
						|
)
 | 
						|
 | 
						|
 | 
						|
@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)
 |