use domain::{errors::DomainError, ports::RefreshTokenRepository, value_objects::SystemId}; use std::sync::Arc; pub struct LogoutHandler { refresh_repo: Arc, } impl LogoutHandler { pub fn new(refresh_repo: Arc) -> Self { Self { refresh_repo } } pub async fn execute(&self, user_id: &SystemId) -> Result<(), DomainError> { self.refresh_repo.delete_by_user(user_id).await } }