change known error codes

This commit is contained in:
2025-02-26 13:41:53 +01:00
parent ffbe63d1a5
commit bfbd80d537
3 changed files with 29 additions and 21 deletions

View File

@@ -21,22 +21,6 @@ class DelBarApiError(BaseModel):
hints: str | None
class LoginRequest(BaseModel):
userName: str
password: str
databaseName: str
mandantName: str
class LoginResponse(BaseModel):
token: str
error: DelBarApiError | None = None
class LogoutResponse(BaseModel):
error: DelBarApiError | None = None
def _raise_for_unknown_error(
resp: Response,
) -> Never:
@@ -76,6 +60,19 @@ def ping(
return resp
# ** login
class LoginRequest(BaseModel):
userName: str
password: str
databaseName: str
mandantName: str
class LoginResponse(BaseModel):
token: str
error: DelBarApiError | None = None
def login(
base_url: str,
user_name: str,
@@ -104,7 +101,7 @@ def login(
# success
response = LoginResponse(**resp.json())
HTTP_CONTENT_HEADERS.add_session_token(response.token)
elif resp.status_code in KnownApiErrorCodes.LOGIN.value:
elif resp.status_code in KnownApiErrorCodes.COMMON.value:
err = DelBarApiError(status_code=resp.status_code, **resp.json())
response = LoginResponse(token="", error=err)
else: # pragma: no cover
@@ -113,6 +110,11 @@ def login(
return response
# ** logout
class LogoutResponse(BaseModel):
error: DelBarApiError | None = None
def logout(
base_url: str,
) -> LogoutResponse:
@@ -130,7 +132,7 @@ def logout(
# success
response = LogoutResponse()
HTTP_CONTENT_HEADERS.remove_session_token()
elif resp.status_code in KnownApiErrorCodes.LOGOUT.value:
elif resp.status_code in KnownApiErrorCodes.COMMON.value:
err = DelBarApiError(status_code=resp.status_code, **resp.json())
response = LogoutResponse(error=err)
else: # pragma: no cover

View File

@@ -14,5 +14,4 @@ HTTP_CONTENT_HEADERS: Final[CurrentContentHeaders] = CurrentContentHeaders(
class KnownApiErrorCodes(enum.Enum):
LOGIN = frozenset((400, 401, 409, 500))
LOGOUT = frozenset((400, 401, 409, 500))
COMMON = frozenset((400, 401, 409, 500))