use uuid::Uuid; use crate::error::UserResult; use crate::features::UserService; use super::types::{ MemeView, ProfileView, UpdateProfileCmd, UserMe, UserPublic, UpsertMemeCmd, }; use super::usecase; impl UserService { pub async fn get_user_me(&self, uid: Uuid) -> UserResult { usecase::fetch_user_me(self, uid).await } pub async fn get_user_public(&self, uid: Uuid, viewer: Option) -> UserResult { usecase::fetch_user_public(self, uid, viewer).await } pub async fn update_profile( &self, caller: Uuid, target: Uuid, cmd: UpdateProfileCmd, ) -> UserResult { usecase::update_profile(self, caller, target, cmd).await } pub async fn get_profile(&self, target: Uuid) -> UserResult { usecase::fetch_profile(self, target).await } pub async fn list_memes(&self, caller: Uuid, limit: usize) -> UserResult> { usecase::list_memes(self, caller, limit).await } pub async fn upsert_meme( &self, caller: Uuid, cmd: UpsertMemeCmd, ) -> UserResult { usecase::upsert_meme(self, caller, cmd).await } pub async fn delete_meme(&self, caller: Uuid, meme_id: Uuid) -> UserResult<()> { usecase::delete_meme(self, caller, meme_id).await } }