use async_trait::async_trait; use imphnen_utils::errors::AppError; use uuid::Uuid; use super::entity::{UpdateUserInput, UserEntity}; #[async_trait] pub trait QrUserService: Send + Sync { async fn get_profile(&self, user_id: Uuid) -> Result; async fn update_profile( &self, user_id: Uuid, input: UpdateUserInput, ) -> Result; async fn list_all(&self) -> Result, AppError>; async fn update_role( &self, id: Uuid, role: String, ) -> Result; async fn delete(&self, id: Uuid) -> Result<(), AppError>; }