use ::session::AuthedUser; use api::http::{Path, State}; use api::rest::{AppResponseData, NoData}; use crate::errors::ApiError; use crate::handlers::get_group::GroupPath; use crate::services::service::SpaceService; #[utoipa::path( delete, path = "/spaces/{space_name}/groups/{group_id}", tag = "space", description = "删除群组并清除成员分配和群组权限记录。", params(GroupPath), responses( (status = 200, description = "group deleted", body = AppResponseData), (status = 403, description = "forbidden", body = AppResponseData), (status = 404, description = "not found", body = AppResponseData), (status = 401, description = "authentication required", body = AppResponseData) ) )] pub async fn delete_group( State(service): State, AuthedUser(uid): AuthedUser, Path(path): Path, ) -> Result, ApiError> { service .delete_group(uid, &path.space_name, path.group_id) .await?; Ok(AppResponseData::empty()) }