Feat: Added CA-merged with Securid-Principals, Depart, Client-CLI
This commit is contained in:
@@ -19,6 +19,21 @@ from gatehouse_app.exceptions.validation_exceptions import (
|
||||
OrganizationNotFoundError,
|
||||
UserNotFoundError,
|
||||
)
|
||||
from gatehouse_app.exceptions.ssh_exceptions import (
|
||||
SSHCAError,
|
||||
SSHKeyError,
|
||||
SSHKeyNotFoundError,
|
||||
SSHKeyAlreadyExistsError,
|
||||
SSHKeyNotVerifiedError,
|
||||
SSHCertificateError,
|
||||
SSHCertificateNotFoundError,
|
||||
CAError,
|
||||
CANotFoundError,
|
||||
PrincipalError,
|
||||
PrincipalNotFoundError,
|
||||
DepartmentError,
|
||||
DepartmentNotFoundError,
|
||||
)
|
||||
|
||||
__all__ = [
|
||||
"BaseAPIException",
|
||||
@@ -37,4 +52,18 @@ __all__ = [
|
||||
"EmailAlreadyExistsError",
|
||||
"OrganizationNotFoundError",
|
||||
"UserNotFoundError",
|
||||
"SSHCAError",
|
||||
"SSHKeyError",
|
||||
"SSHKeyNotFoundError",
|
||||
"SSHKeyAlreadyExistsError",
|
||||
"SSHKeyNotVerifiedError",
|
||||
"SSHCertificateError",
|
||||
"SSHCertificateNotFoundError",
|
||||
"CAError",
|
||||
"CANotFoundError",
|
||||
"PrincipalError",
|
||||
"PrincipalNotFoundError",
|
||||
"DepartmentError",
|
||||
"DepartmentNotFoundError",
|
||||
]
|
||||
|
||||
|
||||
@@ -16,9 +16,10 @@ class BaseAPIException(Exception):
|
||||
message: Custom error message
|
||||
error_details: Additional error details dictionary
|
||||
"""
|
||||
super().__init__()
|
||||
super().__init__(self.message)
|
||||
if message:
|
||||
self.message = message
|
||||
super().__init__(message) # update args so str(e) works
|
||||
self.error_details = error_details or {}
|
||||
|
||||
def to_dict(self):
|
||||
|
||||
@@ -0,0 +1,93 @@
|
||||
"""SSH-specific exceptions."""
|
||||
from gatehouse_app.exceptions.base import BaseAPIException
|
||||
|
||||
|
||||
class SSHCAError(BaseAPIException):
|
||||
"""Base exception for SSH CA operations."""
|
||||
|
||||
status_code = 500
|
||||
error_type = "SSH_CA_ERROR"
|
||||
|
||||
|
||||
class SSHKeyError(BaseAPIException):
|
||||
"""Exception for SSH key operations."""
|
||||
|
||||
status_code = 400
|
||||
error_type = "SSH_KEY_ERROR"
|
||||
|
||||
|
||||
class SSHKeyNotFoundError(BaseAPIException):
|
||||
"""SSH key not found."""
|
||||
|
||||
status_code = 404
|
||||
error_type = "SSH_KEY_NOT_FOUND"
|
||||
|
||||
|
||||
class SSHKeyAlreadyExistsError(BaseAPIException):
|
||||
"""SSH key already exists (duplicate fingerprint)."""
|
||||
|
||||
status_code = 409
|
||||
error_type = "SSH_KEY_ALREADY_EXISTS"
|
||||
|
||||
|
||||
class SSHKeyNotVerifiedError(BaseAPIException):
|
||||
"""SSH key has not been verified."""
|
||||
|
||||
status_code = 400
|
||||
error_type = "SSH_KEY_NOT_VERIFIED"
|
||||
|
||||
|
||||
class SSHCertificateError(BaseAPIException):
|
||||
"""Exception for SSH certificate operations."""
|
||||
|
||||
status_code = 400
|
||||
error_type = "SSH_CERT_ERROR"
|
||||
|
||||
|
||||
class SSHCertificateNotFoundError(BaseAPIException):
|
||||
"""SSH certificate not found."""
|
||||
|
||||
status_code = 404
|
||||
error_type = "SSH_CERT_NOT_FOUND"
|
||||
|
||||
|
||||
class CAError(BaseAPIException):
|
||||
"""Exception for Certificate Authority operations."""
|
||||
|
||||
status_code = 400
|
||||
error_type = "CA_ERROR"
|
||||
|
||||
|
||||
class CANotFoundError(BaseAPIException):
|
||||
"""Certificate Authority not found."""
|
||||
|
||||
status_code = 404
|
||||
error_type = "CA_NOT_FOUND"
|
||||
|
||||
|
||||
class PrincipalError(BaseAPIException):
|
||||
"""Exception for principal operations."""
|
||||
|
||||
status_code = 400
|
||||
error_type = "PRINCIPAL_ERROR"
|
||||
|
||||
|
||||
class PrincipalNotFoundError(BaseAPIException):
|
||||
"""Principal not found."""
|
||||
|
||||
status_code = 404
|
||||
error_type = "PRINCIPAL_NOT_FOUND"
|
||||
|
||||
|
||||
class DepartmentError(BaseAPIException):
|
||||
"""Exception for department operations."""
|
||||
|
||||
status_code = 400
|
||||
error_type = "DEPARTMENT_ERROR"
|
||||
|
||||
|
||||
class DepartmentNotFoundError(BaseAPIException):
|
||||
"""Department not found."""
|
||||
|
||||
status_code = 404
|
||||
error_type = "DEPARTMENT_NOT_FOUND"
|
||||
Reference in New Issue
Block a user