"""
Authentication application module.
"""

from src.apps.auth.router import router
from src.apps.auth.services import (
    authenticate_user,
    login_user,
    register_user,
    refresh_access_token,
    logout_user,
    get_user_by_email,
    get_current_user_profile,
    cleanup_expired_sessions,
)
from src.apps.auth.schemas.auth_common import (
    AuthBase,
    LoginRequestSchema,
    LoginResponseSchema,
    RegisterRequestSchema,
    RegisterResponseSchema,
    AuthTokenSchema,
    RefreshTokenRequestSchema,
    LogoutResponseSchema,
    UserProfileSchema,
    PasswordResetRequestSchema,
    PasswordResetSchema,
)

__all__ = [
    "router",
    "AuthBase",
    "LoginRequestSchema",
    "LoginResponseSchema",
    "RegisterRequestSchema",
    "RegisterResponseSchema",
    "AuthTokenSchema",
    "RefreshTokenRequestSchema",
    "LogoutResponseSchema",
    "UserProfileSchema",
    "PasswordResetRequestSchema",
    "PasswordResetSchema",
    "authenticate_user",
    "login_user",
    "register_user",
    "refresh_access_token",
    "logout_user",
    "get_user_by_email",
    "get_current_user_profile",
    "cleanup_expired_sessions",
    # "auth_repository",
    # "auth_session_repository",
]
