feat: end-point for bill of payment generation

This commit is contained in:
2024-09-11 19:08:06 +04:00
parent 49037125c2
commit 50a315ca18
7 changed files with 260 additions and 51 deletions

View File

@@ -1,6 +1,7 @@
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
from backend.dependecies import SessionDependency, CurrentUserDependency
@@ -8,6 +9,7 @@ from backend.session import get_session
from models import User
from schemas.deal import *
from services.auth import get_current_user, authorized_user, guest_user
from services.billing import BillingService
from services.deal import DealService
deal_router = APIRouter(
@@ -162,6 +164,18 @@ async def create_guest_url(
return DealService(session).create_guest_url(user, request)
@deal_router.get(
'/document/{deal_id}',
operation_id='get_deal_document',
# dependencies=[Depends(authorized_user)],
)
async def get_deal_document(
deal_id: int,
session: Annotated[AsyncSession, Depends(get_session)],
):
pdf_file: BytesIO = await BillingService(session).create_billing_document_pdf(deal_id)
return Response(pdf_file.getvalue(), media_type='application/pdf')
# endregion
# region Deal services