Skip to content
Clone

feat(project): add members remove handler

zhenyi committed
parent 8a6229d commit f2e467b Browse files

1 file changed

+24 −0

Added lib/project/handler/members/remove.rs View lib/project/handler/members/remove.rs
@@ -0,0 +1,24 @@
1use axum::extract::{Path, State};
2use export::data::{AppResponseData, NoData};
3use jwt::extractor::AuthUser;
4
5use crate::error::ProjectResult;
6use crate::features::ProjectService;
7use crate::handler::query::MemberPath;
8
9#[utoipa::path(
10 delete,
11 path = "/spaces/{space_id}/projects/{project_id}/members/{user_id}",
12 tag = "project",
13 responses((status = 204, description = "Remove a member")),
14 security(("bearer_auth" = []))
15)]
16pub(crate) async fn handler(
17 State(svc): State<ProjectService>,
18 AuthUser { claims }: AuthUser,
19 Path(path): Path<MemberPath>,
20) -> ProjectResult<AppResponseData<NoData>> {
21 svc.remove_member(claims.sub, path.space_id, path.project_id, path.user_id)
22 .await?;
23 Ok(AppResponseData::<NoData>::empty())
24}
No newline at end of file