Skip to content
Clone
a06673b
48 lines 1.3 KB Rust
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<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
}
}