""" Exceptions related to the organisation module Exceptions: - OrgNotFoundException: Takes an optional org_id int - AwaitingApprovalException: Takes an optional org_id int """ from typing import Optional from fastapi import HTTPException, status class OrgNotFoundException(HTTPException): def __init__(self, org_id: Optional[int] = None) -> None: detail = "Organisation not found" if org_id is None else f"Organisation with ID '{org_id}' was not found." super().__init__( status_code=status.HTTP_404_NOT_FOUND, detail=detail, ) class AwaitingApprovalException(HTTPException): def __init__(self, org_id: Optional[int] = None) -> None: detail = "Organisation has not been approved." if org_id is None else f"Organisation with ID '{org_id}' has not been approved." super().__init__( status_code=status.HTTP_401_UNAUTHORIZED, detail=detail, )