namespace Domain.Exceptions; /// /// Exception thrown when a resource conflict occurs (e.g., duplicate username, email already in use). /// Maps to HTTP 409 Conflict. /// public class ConflictException(string message) : Exception(message); /// /// Exception thrown when a requested resource is not found. /// Maps to HTTP 404 Not Found. /// public class NotFoundException(string message) : Exception(message); // Domain.Exceptions/UnauthorizedException.cs /// /// Exception thrown when authentication fails or is required. /// Maps to HTTP 401 Unauthorized. /// public class UnauthorizedException(string message) : Exception(message); /// /// Exception thrown when a user is authenticated but lacks permission to access a resource. /// Maps to HTTP 403 Forbidden. /// public class ForbiddenException(string message) : Exception(message); /// /// Exception thrown when business rule validation fails (distinct from FluentValidation). /// Maps to HTTP 400 Bad Request. /// public class ValidationException(string message) : Exception(message);