# exceptions/http_map.py

from fastapi import status

from app.exceptions.domain import (
    DomainError,
    NotFoundError,
    UnauthorizedError,
    ForbiddenError,
    ConflictError,
    GoneError,
    LockedError,
    TooManyRequestsError,
    UnavailableForLegalReasonsError,
)

DOMAIN_TO_HTTP = {
    NotFoundError: status.HTTP_404_NOT_FOUND,
    UnauthorizedError: status.HTTP_401_UNAUTHORIZED,
    ForbiddenError: status.HTTP_403_FORBIDDEN,
    ConflictError: status.HTTP_409_CONFLICT,
    GoneError: status.HTTP_410_GONE,
    LockedError: status.HTTP_423_LOCKED,
    TooManyRequestsError: status.HTTP_429_TOO_MANY_REQUESTS,
    UnavailableForLegalReasonsError: status.HTTP_451_UNAVAILABLE_FOR_LEGAL_REASONS,
    DomainError: status.HTTP_400_BAD_REQUEST,
}
