feat: price list generator

This commit is contained in:
2024-10-11 20:17:56 +04:00
parent 1eb85279b5
commit c5f7ce651f
5 changed files with 276 additions and 1 deletions

View File

@@ -1,11 +1,13 @@
from io import BytesIO
from typing import Annotated
from fastapi import APIRouter, Depends
from fastapi import APIRouter, Depends, Response
from sqlalchemy.ext.asyncio import AsyncSession
import enums.service
from backend.dependecies import SessionDependency
from backend.session import get_session
from generators.price_list_pdf_generator.generator import PriceListPdfGenerator
from schemas.base import BaseEnumListSchema
from schemas.service import *
from services.auth import guest_user, authorized_user
@@ -84,6 +86,17 @@ async def reorder(
return await ServiceService(session).reorder(request)
@service_router.get(
'/price-list',
operation_id='get_price_list',
# dependencies=[Depends(authorized_user)],
)
async def get_price_list(
session: Annotated[AsyncSession, Depends(get_session)],
):
pdf_file: BytesIO = await PriceListPdfGenerator(session).create_price_list_pdf()
return Response(pdf_file.getvalue(), media_type='application/pdf')
# endregion
# region Categories