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