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