use uuid::Uuid; use super::types::{AddMemberCmd, MemberPage, MemberView, UpdateMemberCmd}; use super::usecase; impl crate::service::ProjectService { pub async fn add_member( &self, actor: Uuid, space_id: Uuid, project_id: Uuid, cmd: AddMemberCmd, ) -> crate::error::ProjectResult { usecase::add_member(self, actor, space_id, project_id, cmd).await } pub async fn list_members( &self, actor: Uuid, space_id: Uuid, project_id: Uuid, ) -> crate::error::ProjectResult { usecase::list_members(self, actor, space_id, project_id).await } pub async fn get_member( &self, actor: Uuid, space_id: Uuid, project_id: Uuid, user_id: Uuid, ) -> crate::error::ProjectResult { usecase::get_member(self, actor, space_id, project_id, user_id).await } pub async fn update_member( &self, actor: Uuid, space_id: Uuid, project_id: Uuid, user_id: Uuid, cmd: UpdateMemberCmd, ) -> crate::error::ProjectResult { usecase::update_member(self, actor, space_id, project_id, user_id, cmd).await } pub async fn remove_member( &self, actor: Uuid, space_id: Uuid, project_id: Uuid, user_id: Uuid, ) -> crate::error::ProjectResult<()> { usecase::remove_member(self, actor, space_id, project_id, user_id).await } }