feat: add endpoints desc
This commit is contained in:
@@ -7,7 +7,7 @@ import aiohttp
|
||||
import orjson
|
||||
from aiohttp import BasicAuth, ClientTimeout
|
||||
from src.application.contracts import IReceipt
|
||||
from src.application.domain.exceptions import ApplicationException
|
||||
from src.application.domain.exceptions import ApplicationException,ReceiptProviderException
|
||||
from src.infrastructure.cloud_kassir.constants import CLOUD_KASSIR_API_BASE_URL
|
||||
|
||||
|
||||
@@ -122,30 +122,30 @@ class ClaudeKassirClient(IReceipt):
|
||||
async with session.post(url, json=payload, headers=headers, auth=auth) as resp:
|
||||
raw = (await resp.text()).strip()
|
||||
if not raw:
|
||||
raise ApplicationException(
|
||||
status_code=502,
|
||||
raise ReceiptProviderException(
|
||||
message=f'Receipt provider empty response (HTTP {resp.status})',
|
||||
)
|
||||
try:
|
||||
parsed: Any = orjson.loads(raw)
|
||||
except orjson.JSONDecodeError:
|
||||
preview = raw[:240].replace('\n', ' ')
|
||||
raise ApplicationException(
|
||||
status_code=502,
|
||||
raise ReceiptProviderException(
|
||||
message=f'Receipt provider non-JSON response (HTTP {resp.status}): {preview}',
|
||||
)
|
||||
if not isinstance(parsed, dict):
|
||||
raise ApplicationException(status_code=502, message='Receipt provider invalid response')
|
||||
raise ReceiptProviderException(message='Receipt provider invalid response')
|
||||
body = parsed
|
||||
if resp.status >= 400:
|
||||
raise ApplicationException(
|
||||
status_code=502,
|
||||
raise ReceiptProviderException(
|
||||
message=str(body.get('Message') or 'Receipt provider error'),
|
||||
)
|
||||
if body.get('Success') is False:
|
||||
raise ApplicationException(status_code=409, message=str(body.get('Message') or 'Receipt provider rejected receipt'))
|
||||
raise ReceiptProviderException(
|
||||
status_code=409,
|
||||
message=str(body.get('Message') or 'Receipt provider rejected receipt'),
|
||||
)
|
||||
return body
|
||||
except ApplicationException:
|
||||
raise
|
||||
except aiohttp.ClientError:
|
||||
raise ApplicationException(status_code=502, message='Receipt provider unreachable')
|
||||
raise ReceiptProviderException(message='Receipt provider unreachable')
|
||||
|
||||
Reference in New Issue
Block a user