a06673b
use uuid::Uuid;
use crate::error::SpaceResult;
use crate::features::SpaceService;
use super::usecase;
use super::types::{AddChannelMemberCmd, ChannelMemberPage, ChannelMemberView, UpdateChannelMemberCmd};
impl SpaceService {
pub async fn add_channel_member(
&self,
caller: Uuid,
space_id: Uuid,
channel_id: Uuid,
cmd: AddChannelMemberCmd,
) -> SpaceResult<ChannelMemberView> {
usecase::add_channel_member(self, caller, space_id, channel_id, cmd).await
}
pub async fn get_channel_member(
&self,
caller: Uuid,
space_id: Uuid,
channel_id: Uuid,
user_id: Uuid,
) -> SpaceResult<ChannelMemberView> {
usecase::get_channel_member(self, caller, space_id, channel_id, user_id).await
}
pub async fn update_channel_member(
&self,
caller: Uuid,
space_id: Uuid,
channel_id: Uuid,
user_id: Uuid,
cmd: UpdateChannelMemberCmd,
) -> SpaceResult<ChannelMemberView> {
usecase::update_channel_member(self, caller, space_id, channel_id, user_id, cmd).await
}
pub async fn remove_channel_member(
&self,
caller: Uuid,
space_id: Uuid,
channel_id: Uuid,
user_id: Uuid,
) -> SpaceResult<()> {
usecase::remove_channel_member(self, caller, space_id, channel_id, user_id).await
}
pub async fn list_channel_members(
&self,
caller: Uuid,
space_id: Uuid,
channel_id: Uuid,
limit: u64,
offset: u64,
) -> SpaceResult<ChannelMemberPage> {
usecase::list_channel_members(self, caller, space_id, channel_id, limit, offset).await
}
}