use std::sync::Arc; use domain::ports::{AuthService, PasswordHasher, RefreshSessionRepository, UserRepository}; use crate::config::AppSettings; pub struct LoginDeps { pub user: Arc, pub password_hasher: Arc, pub auth: Arc, pub refresh_session: Arc, pub config: AppSettings, } pub struct RegisterDeps { pub user: Arc, pub password_hasher: Arc, pub config: AppSettings, } pub struct RefreshDeps { pub refresh_session: Arc, pub auth: Arc, pub config: AppSettings, } pub struct RegisterAndLoginDeps { pub user: Arc, pub password_hasher: Arc, pub auth: Arc, pub refresh_session: Arc, pub config: AppSettings, } pub struct LogoutDeps { pub refresh_session: Arc, }