65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
from typing import Annotated
 | 
						|
 | 
						|
from fastapi import APIRouter, Depends
 | 
						|
from sqlalchemy.ext.asyncio import AsyncSession
 | 
						|
 | 
						|
from backend.dependecies import SessionDependency
 | 
						|
from backend.session import get_session
 | 
						|
from schemas.shipping_warehouse import *
 | 
						|
from services.auth import authorized_user
 | 
						|
from services.shipping_warehouse import ShippingWarehouseService
 | 
						|
 | 
						|
shipping_warehouse_router = APIRouter(
 | 
						|
    prefix="/shipping-warehouse",
 | 
						|
    tags=["shipping-warehouse"],
 | 
						|
    dependencies=[Depends(authorized_user)]
 | 
						|
)
 | 
						|
 | 
						|
 | 
						|
@shipping_warehouse_router.get(
 | 
						|
    '/get-all',
 | 
						|
    response_model=GetAllShippingWarehousesResponse,
 | 
						|
    operation_id='get_all_shipping_warehouses'
 | 
						|
)
 | 
						|
async def get_all(
 | 
						|
        session: Annotated[AsyncSession, Depends(get_session)]
 | 
						|
):
 | 
						|
    return await ShippingWarehouseService(session).get_all()
 | 
						|
 | 
						|
 | 
						|
@shipping_warehouse_router.post(
 | 
						|
    '/create',
 | 
						|
    response_model=CreateShippingWarehouseResponse,
 | 
						|
    operation_id='create_shipping_warehouse'
 | 
						|
)
 | 
						|
async def create(
 | 
						|
        session: SessionDependency,
 | 
						|
        request: CreateShippingWarehouseRequest
 | 
						|
):
 | 
						|
    return await ShippingWarehouseService(session).create(request)
 | 
						|
 | 
						|
 | 
						|
@shipping_warehouse_router.post(
 | 
						|
    '/update',
 | 
						|
    response_model=UpdateShippingWarehouseResponse,
 | 
						|
    operation_id='update_shipping_warehouse'
 | 
						|
)
 | 
						|
async def update(
 | 
						|
        session: SessionDependency,
 | 
						|
        request: UpdateShippingWarehouseRequest
 | 
						|
):
 | 
						|
    return await ShippingWarehouseService(session).update(request)
 | 
						|
 | 
						|
 | 
						|
 | 
						|
@shipping_warehouse_router.post(
 | 
						|
    '/delete',
 | 
						|
    response_model=DeleteShippingWarehouseResponse,
 | 
						|
    operation_id='delete_shipping_warehouse'
 | 
						|
)
 | 
						|
async def delete(
 | 
						|
        session: SessionDependency,
 | 
						|
        request: DeleteShippingWarehouseRequest
 | 
						|
):
 | 
						|
    return await ShippingWarehouseService(session).delete(request)
 |