feat: filling deals from excel file
This commit is contained in:
@@ -2,13 +2,14 @@ import base64
|
||||
from io import BytesIO
|
||||
from typing import Annotated
|
||||
|
||||
from fastapi import APIRouter, Depends, Response
|
||||
from fastapi import APIRouter, Depends, Response, UploadFile
|
||||
from sqlalchemy.ext.asyncio import AsyncSession
|
||||
|
||||
from backend.dependecies import SessionDependency, CurrentUserDependency
|
||||
from backend.session import get_session
|
||||
from generators.deal_pdf_generator.generator import DealTechSpecPdfGenerator
|
||||
from models import User
|
||||
from parsers import DealParser
|
||||
from schemas.barcode import GetDealProductsBarcodesPdfRequest, GetDealProductsBarcodesPdfResponse
|
||||
from schemas.deal import *
|
||||
from services.auth import get_current_user, authorized_user, guest_user
|
||||
@@ -258,6 +259,31 @@ async def get_available_employees_to_assign(
|
||||
return await DealService(session).get_available_employees_to_assign(deal_id)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/prefill/excel/parse',
|
||||
response_model=ParseDealsExcelResponse,
|
||||
operation_id='parse_deals_excel',
|
||||
)
|
||||
async def parse_deals_excel(
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
upload_file: UploadFile,
|
||||
):
|
||||
file_bytes = upload_file.file.read()
|
||||
return await DealParser(session).parse(file_bytes)
|
||||
|
||||
|
||||
@deal_router.post(
|
||||
'/prefill/excel/create',
|
||||
response_model=CreateDealsFromExcelResponse,
|
||||
operation_id='create_deals_excel',
|
||||
)
|
||||
async def create_deals_from_excel(
|
||||
session: Annotated[AsyncSession, Depends(get_session)],
|
||||
request: CreateDealsFromExcelRequest,
|
||||
user: CurrentUserDependency,
|
||||
):
|
||||
return await DealService(session).create_deals_from_excel(request, user)
|
||||
|
||||
# endregion
|
||||
|
||||
# region Deal services
|
||||
|
||||
Reference in New Issue
Block a user