feat: add endpoints desc
This commit is contained in:
@@ -26,6 +26,19 @@ orders_router = APIRouter(tags=['orders'])
|
||||
payment_router = APIRouter(prefix='/payment', tags=['payments'])
|
||||
payments_router = APIRouter(tags=['payments'])
|
||||
|
||||
ERROR_RESPONSES = {
|
||||
400: {'model': ErrorResponse, 'description': 'Bad Request'},
|
||||
401: {'model': ErrorResponse, 'description': 'Unauthorized'},
|
||||
403: {'model': ErrorResponse, 'description': 'Forbidden'},
|
||||
404: {'model': ErrorResponse, 'description': 'Not Found'},
|
||||
409: {'model': ErrorResponse, 'description': 'Conflict'},
|
||||
422: {'model': ErrorResponse, 'description': 'Validation Error'},
|
||||
429: {'model': ErrorResponse, 'description': 'Too Many Requests'},
|
||||
500: {'model': ErrorResponse, 'description': 'Internal Server Error'},
|
||||
502: {'model': ErrorResponse, 'description': 'Bad Gateway'},
|
||||
503: {'model': ErrorResponse, 'description': 'Service Unavailable'},
|
||||
}
|
||||
|
||||
|
||||
def _payment_config_response(quote: PaymentQuote) -> PaymentConfigResponse:
|
||||
return PaymentConfigResponse(
|
||||
@@ -156,16 +169,7 @@ async def _websocket_auth_context(websocket: WebSocket, jwt_service: IJwtService
|
||||
'/create',
|
||||
response_model=CreateOrderResponse,
|
||||
status_code=201,
|
||||
responses={
|
||||
400: {'model': ErrorResponse, 'description': 'Bad Request'},
|
||||
401: {'model': ErrorResponse, 'description': 'Unauthorized'},
|
||||
403: {'model': ErrorResponse, 'description': 'Forbidden'},
|
||||
404: {'model': ErrorResponse, 'description': 'Not Found'},
|
||||
409: {'model': ErrorResponse, 'description': 'Conflict'},
|
||||
500: {'model': ErrorResponse, 'description': 'Internal Server Error'},
|
||||
502: {'model': ErrorResponse, 'description': 'Bad Gateway'},
|
||||
503: {'model': ErrorResponse, 'description': 'Service Unavailable'},
|
||||
},
|
||||
responses=ERROR_RESPONSES,
|
||||
)
|
||||
@csrf_protect()
|
||||
async def create_order(
|
||||
@@ -200,7 +204,12 @@ async def create_order(
|
||||
return content
|
||||
|
||||
|
||||
@payment_router.get('/config', response_model=PaymentConfigResponse)
|
||||
@payment_router.get(
|
||||
'/config',
|
||||
response_model=PaymentConfigResponse,
|
||||
status_code=200,
|
||||
responses=ERROR_RESPONSES,
|
||||
)
|
||||
async def payment_config(
|
||||
command: GetPaymentConfigCommand = Depends(get_payment_config_command),
|
||||
) -> PaymentConfigResponse:
|
||||
@@ -208,7 +217,12 @@ async def payment_config(
|
||||
return _payment_config_response(quote)
|
||||
|
||||
|
||||
@payment_router.get('/quote', response_model=PaymentQuoteResponse)
|
||||
@payment_router.get(
|
||||
'/quote',
|
||||
response_model=PaymentQuoteResponse,
|
||||
status_code=200,
|
||||
responses=ERROR_RESPONSES,
|
||||
)
|
||||
async def payment_quote(
|
||||
usdt_amount: Decimal = Query(gt=0, decimal_places=2, max_digits=20),
|
||||
command: GetPaymentQuoteCommand = Depends(get_payment_quote_command),
|
||||
@@ -217,7 +231,12 @@ async def payment_quote(
|
||||
return _payment_quote_response(quote)
|
||||
|
||||
|
||||
@orders_router.get('/orders', response_model=OrdersResponse)
|
||||
@orders_router.get(
|
||||
'/orders',
|
||||
response_model=OrdersResponse,
|
||||
status_code=200,
|
||||
responses=ERROR_RESPONSES,
|
||||
)
|
||||
async def list_orders(
|
||||
limit: int = Query(default=20, ge=1, le=100),
|
||||
offset: int = Query(default=0, ge=0),
|
||||
@@ -229,7 +248,12 @@ async def list_orders(
|
||||
return OrdersResponse(status_code=200,orders=items,limit=limit,offset=offset)
|
||||
|
||||
|
||||
@payments_router.get('/payments', response_model=PaymentsResponse)
|
||||
@payments_router.get(
|
||||
'/payments',
|
||||
response_model=PaymentsResponse,
|
||||
status_code=200,
|
||||
responses=ERROR_RESPONSES,
|
||||
)
|
||||
async def list_payments(
|
||||
limit: int = Query(default=20, ge=1, le=100),
|
||||
offset: int = Query(default=0, ge=0),
|
||||
@@ -245,7 +269,12 @@ async def list_payments(
|
||||
)
|
||||
|
||||
|
||||
@order_router.get('/{order_id}/status', response_model=OrderStatusResponse)
|
||||
@order_router.get(
|
||||
'/{order_id}/status',
|
||||
response_model=OrderStatusResponse,
|
||||
status_code=200,
|
||||
responses=ERROR_RESPONSES,
|
||||
)
|
||||
async def order_status(
|
||||
order_id: str,
|
||||
auth: AuthContext = Depends(require_access_token),
|
||||
@@ -292,7 +321,12 @@ async def order_events(
|
||||
trace_id_var.reset(token)
|
||||
|
||||
|
||||
@order_router.get('/{order_id}', response_model=OrderDetailResponse)
|
||||
@order_router.get(
|
||||
'/{order_id}',
|
||||
response_model=OrderDetailResponse,
|
||||
status_code=200,
|
||||
responses=ERROR_RESPONSES,
|
||||
)
|
||||
async def order_detail(
|
||||
order_id: str,
|
||||
auth: AuthContext = Depends(require_access_token),
|
||||
@@ -302,7 +336,11 @@ async def order_detail(
|
||||
return _order_detail_response(result.order,result.payment)
|
||||
|
||||
|
||||
@order_router.post('/webhook/itpay')
|
||||
@order_router.post(
|
||||
'/webhook/itpay',
|
||||
status_code=200,
|
||||
responses=ERROR_RESPONSES,
|
||||
)
|
||||
async def itpay_webhook(
|
||||
request: Request,
|
||||
payment_command: CreatePaymentCommand = Depends(get_create_payment_command),
|
||||
|
||||
Reference in New Issue
Block a user