feat: services kit and copy
This commit is contained in:
@@ -3,6 +3,7 @@ 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 models import User
|
||||
from schemas.deal import *
|
||||
@@ -16,6 +17,7 @@ deal_router = APIRouter(
|
||||
)
|
||||
|
||||
|
||||
# region Deal
|
||||
@deal_router.post('/create')
|
||||
async def create(
|
||||
request: DealCreateRequest,
|
||||
@@ -113,6 +115,17 @@ async def update_general_info(
|
||||
):
|
||||
return await DealService(session).update_general_info(request)
|
||||
|
||||
@deal_router.post(
|
||||
'/add-kit',
|
||||
response_model=DealAddKitResponse,
|
||||
operation_id='add_kit_to_deal'
|
||||
)
|
||||
async def add_kit_to_deal(
|
||||
session:SessionDependency,
|
||||
request:DealAddKitRequest
|
||||
):
|
||||
return await DealService(session).add_kit_to_deal(request)
|
||||
# endregion
|
||||
|
||||
# region Deal services
|
||||
|
||||
@@ -188,6 +201,18 @@ async def services_delete(
|
||||
return await DealService(session).delete_services(request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/services/copy',
|
||||
response_model=DealServicesCopyResponse,
|
||||
operation_id='copy_product_services'
|
||||
)
|
||||
async def services_copy(
|
||||
session: SessionDependency,
|
||||
request: DealServicesCopyRequest
|
||||
):
|
||||
return await DealService(session).copy_services(request)
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region Deal products
|
||||
@@ -241,4 +266,16 @@ async def products_update(
|
||||
session: Annotated[AsyncSession, Depends(get_session)]
|
||||
):
|
||||
return await DealService(session).update_product(request)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/product/add-kit',
|
||||
response_model=DealProductAddKitResponse,
|
||||
operation_id='add_kit_to_deal_product'
|
||||
)
|
||||
async def add_kit_to_deal_product(
|
||||
session: SessionDependency,
|
||||
request: DealProductAddKitRequest
|
||||
):
|
||||
return await DealService(session).add_kit_to_deal_product(request)
|
||||
# endregion
|
||||
|
||||
@@ -4,6 +4,7 @@ from fastapi import APIRouter, Depends
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
import enums.service
|
||||
from backend.dependecies import SessionDependency
|
||||
from backend.session import get_session
|
||||
from schemas.base import BaseEnumSchema, BaseEnumListSchema
|
||||
from schemas.service import *
|
||||
@@ -98,3 +99,38 @@ async def get_all_service_types(
|
||||
for key, value in enums.service.SERVICE_TYPE_LABELS.items():
|
||||
result.append({"id": key, "name": value})
|
||||
return BaseEnumListSchema(items=result)
|
||||
|
||||
|
||||
@service_router.get(
|
||||
'/kits/get-all',
|
||||
response_model=GetAllServicesKitsResponse,
|
||||
operation_id='get_all_services_kits'
|
||||
)
|
||||
async def get_all_services_kits(
|
||||
session: SessionDependency
|
||||
):
|
||||
return await ServiceService(session).get_all_kits()
|
||||
|
||||
|
||||
@service_router.post(
|
||||
'/kits/create',
|
||||
response_model=CreateServicesKitResponse,
|
||||
operation_id='create_services_kit'
|
||||
)
|
||||
async def create_services_kit(
|
||||
session: SessionDependency,
|
||||
request: CreateServicesKitRequest
|
||||
):
|
||||
return await ServiceService(session).create_kit(request)
|
||||
|
||||
|
||||
@service_router.post(
|
||||
'/kits/update',
|
||||
response_model=UpdateServicesKitResponse,
|
||||
operation_id='update_services_kit'
|
||||
)
|
||||
async def update_services_kit(
|
||||
session: SessionDependency,
|
||||
request: UpdateServicesKitRequest
|
||||
):
|
||||
return await ServiceService(session).update_kit(request)
|
||||
|
||||
Reference in New Issue
Block a user