1789590167
Add comprehensive ZeroTier integration for managing network access: - Portal networks: manager-created ZeroTier network bindings - Device registration: user-owned ZeroTier node endpoints - Approval workflows: request/approve/revoke network access - Activation sessions: time-limited network authorization - Kill switch: emergency access revocation - Reconciliation job: sync portal state with ZeroTier controller Includes ZeroTier client SDK supporting both Central and self-hosted controller APIs, with full CRUD operations for networks and members.
94 lines
2.3 KiB
Python
94 lines
2.3 KiB
Python
"""Exceptions package."""
|
|
from gatehouse_app.exceptions.base import BaseAPIException
|
|
from gatehouse_app.exceptions.auth_exceptions import (
|
|
UnauthorizedError,
|
|
ForbiddenError,
|
|
InvalidCredentialsError,
|
|
AccountSuspendedError,
|
|
AccountInactiveError,
|
|
SessionExpiredError,
|
|
InvalidTokenError,
|
|
)
|
|
from gatehouse_app.exceptions.validation_exceptions import (
|
|
ValidationError,
|
|
NotFoundError,
|
|
ConflictError,
|
|
BadRequestError,
|
|
RateLimitExceededError,
|
|
EmailAlreadyExistsError,
|
|
OrganizationNotFoundError,
|
|
UserNotFoundError,
|
|
)
|
|
from gatehouse_app.exceptions.ssh_exceptions import (
|
|
SSHCAError,
|
|
SSHKeyError,
|
|
SSHKeyNotFoundError,
|
|
SSHKeyAlreadyExistsError,
|
|
SSHKeyNotVerifiedError,
|
|
SSHCertificateError,
|
|
SSHCertificateNotFoundError,
|
|
CAError,
|
|
CANotFoundError,
|
|
PrincipalError,
|
|
PrincipalNotFoundError,
|
|
DepartmentError,
|
|
DepartmentNotFoundError,
|
|
)
|
|
from gatehouse_app.exceptions.zerotier_exceptions import (
|
|
ZeroTierAPIError,
|
|
ZeroTierAuthError,
|
|
ZeroTierNotFoundError,
|
|
NetworkNotFoundError,
|
|
DeviceNotFoundError,
|
|
ApprovalNotFoundError,
|
|
MembershipNotFoundError,
|
|
DeviceAlreadyExistsError,
|
|
ApprovalAlreadyExistsError,
|
|
InvalidNodeIdError,
|
|
InvalidNetworkIdError,
|
|
)
|
|
|
|
__all__ = [
|
|
"BaseAPIException",
|
|
"UnauthorizedError",
|
|
"ForbiddenError",
|
|
"InvalidCredentialsError",
|
|
"AccountSuspendedError",
|
|
"AccountInactiveError",
|
|
"SessionExpiredError",
|
|
"InvalidTokenError",
|
|
"ValidationError",
|
|
"NotFoundError",
|
|
"ConflictError",
|
|
"BadRequestError",
|
|
"RateLimitExceededError",
|
|
"EmailAlreadyExistsError",
|
|
"OrganizationNotFoundError",
|
|
"UserNotFoundError",
|
|
"SSHCAError",
|
|
"SSHKeyError",
|
|
"SSHKeyNotFoundError",
|
|
"SSHKeyAlreadyExistsError",
|
|
"SSHKeyNotVerifiedError",
|
|
"SSHCertificateError",
|
|
"SSHCertificateNotFoundError",
|
|
"CAError",
|
|
"CANotFoundError",
|
|
"PrincipalError",
|
|
"PrincipalNotFoundError",
|
|
"DepartmentError",
|
|
"DepartmentNotFoundError",
|
|
"ZeroTierAPIError",
|
|
"ZeroTierAuthError",
|
|
"ZeroTierNotFoundError",
|
|
"NetworkNotFoundError",
|
|
"DeviceNotFoundError",
|
|
"ApprovalNotFoundError",
|
|
"MembershipNotFoundError",
|
|
"DeviceAlreadyExistsError",
|
|
"ApprovalAlreadyExistsError",
|
|
"InvalidNodeIdError",
|
|
"InvalidNetworkIdError",
|
|
]
|
|
|