crappy
This commit is contained in:
39
routers/product.py
Normal file
39
routers/product.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
import utils.dependecies
|
||||
from backend.session import get_session
|
||||
from schemas.base import PaginationSchema
|
||||
from schemas.product import *
|
||||
from services.product import ProductService
|
||||
|
||||
product_router = APIRouter(
|
||||
prefix="/product",
|
||||
tags=["product"]
|
||||
)
|
||||
|
||||
|
||||
@product_router.post(
|
||||
'/create',
|
||||
response_model=ProductCreateResponse
|
||||
)
|
||||
async def create_product(
|
||||
request: ProductCreateRequest,
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
):
|
||||
return await ProductService(session).create(request)
|
||||
|
||||
|
||||
@product_router.get(
|
||||
'/get',
|
||||
response_model=ProductGetResponse,
|
||||
operation_id='get_products_by_client_id'
|
||||
)
|
||||
async def get_product(
|
||||
client_id: int,
|
||||
pagination: Annotated[PaginationSchema, Depends(utils.dependecies.pagination_parameters)],
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
):
|
||||
return await ProductService(session).get_by_client_id(client_id, pagination)
|
||||
Reference in New Issue
Block a user