"""Authentication related exceptions.""" from typing import override from .models import LoginError class AuthenticationFailedError(Exception): """Authentication failed.""" @override def __init__(self, message: str | None = None) -> None: """Initialize exception class.""" if not message: message = "Invalid user or password." super().__init__(message) self.login_error: LoginError = LoginError( title="Authentication Failed", message=message ) class AuthenticationNeededError(Exception): """Authentication needed error.""" @override def __init__(self, message: str | None = None) -> None: """Initialize exception class.""" if not message: message = "You need to be logged in to continue." super().__init__(message) self.login_error: LoginError = LoginError(title="Unauthorized", message=message)