a06673b
use uuid::Uuid;
use crate::error::SpaceResult;
use crate::features::SpaceService;
use super::types::{AddMemberCmd, SpaceMemberPage, SpaceMemberView, UpdateMemberCmd};
use super::usecase;
impl SpaceService {
pub async fn add_member(
&self,
caller: Uuid,
space_id: Uuid,
cmd: AddMemberCmd,
) -> SpaceResult<SpaceMemberView> {
usecase::add_member(self, caller, space_id, cmd).await
}
pub async fn get_member(
&self,
caller: Uuid,
space_id: Uuid,
user_id: Uuid,
) -> SpaceResult<SpaceMemberView> {
usecase::get_member(self, caller, space_id, user_id).await
}
pub async fn update_member(
&self,
caller: Uuid,
space_id: Uuid,
user_id: Uuid,
cmd: UpdateMemberCmd,
) -> SpaceResult<SpaceMemberView> {
usecase::update_member(self, caller, space_id, user_id, cmd).await
}
pub async fn remove_member(
&self,
caller: Uuid,
space_id: Uuid,
user_id: Uuid,
) -> SpaceResult<()> {
usecase::remove_member(self, caller, space_id, user_id).await
}
pub async fn list_members(
&self,
caller: Uuid,
space_id: Uuid,
limit: u64,
offset: u64,
) -> SpaceResult<SpaceMemberPage> {
usecase::list_members(self, caller, space_id, limit, offset).await
}
}