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 { 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 { 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 { 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 { usecase::list_channel_members(self, caller, space_id, channel_id, limit, offset).await } }