File size: 919 Bytes
5111c4b
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from fastapi import APIRouter, HTTPException, status, Depends
from app.services.payment_service import PaymentService
from app.models.payment import Payment, PaymentStatus

router = APIRouter()

@router.post("/", response_model=Payment, status_code=status.HTTP_201_CREATED)
async def process_payment(

    payment: Payment,

    service: PaymentService = Depends(PaymentService)

):
    return await service.process_payment(payment)

@router.get("/{payment_id}", response_model=Payment)
async def get_payment(

    payment_id: int,

    service: PaymentService = Depends(PaymentService)

):
    return await service.get_payment(payment_id)

@router.put("/{payment_id}/status", response_model=Payment)
async def update_payment_status(

    payment_id: int,

    status: PaymentStatus,

    service: PaymentService = Depends(PaymentService)

):
    return await service.update_status(payment_id, status)