Skip to content
Clone
030e59e
42 lines 1.3 KB Rust
use uuid::Uuid;
use crate::error::UserResult;
use crate::features::UserService;
use super::types::{MemeView, ProfileView, UpdateProfileCmd, UpsertMemeCmd, UserMe, UserPublic};
use super::usecase;
impl UserService {
pub async fn get_user_me(&self, uid: Uuid) -> UserResult<UserMe> {
usecase::fetch_user_me(self, uid).await
}
pub async fn get_user_public(&self, uid: Uuid, viewer: Option<Uuid>) -> UserResult<UserPublic> {
usecase::fetch_user_public(self, uid, viewer).await
}
pub async fn update_profile(
&self,
caller: Uuid,
target: Uuid,
cmd: UpdateProfileCmd,
) -> UserResult<UserMe> {
usecase::update_profile(self, caller, target, cmd).await
}
pub async fn get_profile(&self, target: Uuid) -> UserResult<ProfileView> {
usecase::fetch_profile(self, target).await
}
pub async fn list_memes(&self, caller: Uuid, limit: usize) -> UserResult<Vec<MemeView>> {
usecase::list_memes(self, caller, limit).await
}
pub async fn upsert_meme(&self, caller: Uuid, cmd: UpsertMemeCmd) -> UserResult<MemeView> {
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
}
}