2022-09-17 21:12:14 +03:00
|
|
|
from graphql.error import GraphQLError
|
2021-06-28 12:08:09 +03:00
|
|
|
|
2023-10-27 00:07:35 +03:00
|
|
|
# TODO: remove traceback from logs for defined exceptions
|
2023-10-26 19:56:42 +02:00
|
|
|
|
2023-10-30 22:00:55 +01:00
|
|
|
|
2025-07-31 18:55:59 +03:00
|
|
|
class BaseHttpError(GraphQLError):
|
2021-06-28 12:08:09 +03:00
|
|
|
code = 500
|
|
|
|
message = "500 Server error"
|
|
|
|
|
|
|
|
|
2025-07-31 18:55:59 +03:00
|
|
|
class ExpiredTokenError(BaseHttpError):
|
2022-11-02 01:38:49 +03:00
|
|
|
code = 401
|
|
|
|
message = "401 Expired Token"
|
2022-11-01 00:05:10 +03:00
|
|
|
|
|
|
|
|
2025-07-31 18:55:59 +03:00
|
|
|
class InvalidTokenError(BaseHttpError):
|
2022-11-02 01:38:49 +03:00
|
|
|
code = 401
|
|
|
|
message = "401 Invalid Token"
|
2021-06-28 12:08:09 +03:00
|
|
|
|
|
|
|
|
2025-07-31 18:55:59 +03:00
|
|
|
class UnauthorizedError(BaseHttpError):
|
2022-11-01 00:17:00 +03:00
|
|
|
code = 401
|
2025-07-31 18:55:59 +03:00
|
|
|
message = "401 UnauthorizedError"
|
2022-11-01 00:17:00 +03:00
|
|
|
|
|
|
|
|
2025-07-31 18:55:59 +03:00
|
|
|
class ObjectNotExistError(BaseHttpError):
|
2021-06-28 12:08:09 +03:00
|
|
|
code = 404
|
|
|
|
message = "404 Object Does Not Exist"
|
|
|
|
|
|
|
|
|
2025-07-31 18:55:59 +03:00
|
|
|
class OperationNotAllowedError(BaseHttpError):
|
2021-06-28 12:08:09 +03:00
|
|
|
code = 403
|
2022-11-01 00:17:00 +03:00
|
|
|
message = "403 Operation Is Not Allowed"
|
2021-06-28 12:08:09 +03:00
|
|
|
|
|
|
|
|
2025-07-31 18:55:59 +03:00
|
|
|
class InvalidPasswordError(BaseHttpError):
|
2022-11-01 00:17:00 +03:00
|
|
|
code = 403
|
|
|
|
message = "403 Invalid Password"
|