30 lines
855 B
Python
30 lines
855 B
Python
from starlette import status
|
|
|
|
from app.core.exceptions import FastShipError
|
|
|
|
|
|
class InsufficientCreditError(FastShipError):
|
|
"""크레딧이 부족합니다."""
|
|
|
|
# 402 Payment Required. 사전차감 전환 전에는 라우터로 노출된 적이 없어(내부에서만
|
|
# raise/catch) 400 이었다. 프론트가 "충전 화면으로 유도"를 402 로 분기한다.
|
|
status = status.HTTP_402_PAYMENT_REQUIRED
|
|
|
|
|
|
class InvalidRequestStateError(FastShipError):
|
|
"""이미 처리된 요청입니다."""
|
|
|
|
status = status.HTTP_409_CONFLICT
|
|
|
|
|
|
class ChargeRequestNotFoundError(FastShipError):
|
|
"""충전 요청을 찾을 수 없습니다."""
|
|
|
|
status = status.HTTP_404_NOT_FOUND
|
|
|
|
|
|
class ChargeRequestForbiddenError(FastShipError):
|
|
"""본인의 충전 요청만 조회할 수 있습니다."""
|
|
|
|
status = status.HTTP_403_FORBIDDEN
|