"""Domain-specific exceptions for Users Core."""

from __future__ import annotations


class UsersServiceError(Exception):
	"""Base error for Users Core service layer."""


class UserNotFoundError(UsersServiceError):
	"""Raised when a user cannot be located."""


class UserAlreadyExistsError(UsersServiceError):
	"""Raised when attempting to create a user with an existing identifier."""


class UserEmailConflictError(UsersServiceError):
	"""Raised when attempting to create/update a user with a conflicting email."""


class UserRegistrationDisabledError(UsersServiceError):
	"""Raised when self-service registrations are disabled by configuration."""


__all__ = [
	"UsersServiceError",
	"UserNotFoundError",
	"UserAlreadyExistsError",
	"UserEmailConflictError",
	"UserRegistrationDisabledError",
]
