48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			48 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from fastapi import APIRouter, Depends
 | 
						|
 | 
						|
from backend.dependecies import SessionDependency
 | 
						|
from schemas.position import *
 | 
						|
from services.auth import authorized_user
 | 
						|
from services.position import PositionService
 | 
						|
 | 
						|
position_router = APIRouter(
 | 
						|
    prefix="/position",
 | 
						|
    tags=["position"],
 | 
						|
    dependencies=[Depends(authorized_user)]
 | 
						|
)
 | 
						|
 | 
						|
 | 
						|
@position_router.get(
 | 
						|
    '/get-all',
 | 
						|
    operation_id='get_all_positions',
 | 
						|
    response_model=GetAllPositionsResponse
 | 
						|
)
 | 
						|
async def get_all(
 | 
						|
        session: SessionDependency
 | 
						|
):
 | 
						|
    return await PositionService(session).get_all()
 | 
						|
 | 
						|
 | 
						|
@position_router.post(
 | 
						|
    '/create',
 | 
						|
    operation_id='create_position',
 | 
						|
    response_model=CreatePositionResponse
 | 
						|
)
 | 
						|
async def create(
 | 
						|
        session: SessionDependency,
 | 
						|
        request: CreatePositionRequest
 | 
						|
):
 | 
						|
    return await PositionService(session).create(request)
 | 
						|
 | 
						|
 | 
						|
@position_router.post(
 | 
						|
    '/delete',
 | 
						|
    operation_id='delete_position',
 | 
						|
    response_model=DeletePositionResponse
 | 
						|
)
 | 
						|
async def delete(
 | 
						|
        session: SessionDependency,
 | 
						|
        request: DeletePositionRequest
 | 
						|
):
 | 
						|
    return await PositionService(session).delete(request)
 |