Skip to content
Clone

feat(issues): add issue_pin delete handler

zhenyi committed
parent 55a1bae commit 3d80669 Browse files

1 file changed

+25 −0

Added lib/issues/handler/issue_pin/delete.rs View lib/issues/handler/issue_pin/delete.rs
@@ -0,0 +1,25 @@
1use axum::extract::{Path, State};
2use axum::http::StatusCode;
3use jwt::extractor::AuthUser;
4use uuid::Uuid;
5
6use crate::error::IssueResult;
7use crate::features::IssueService;
8
9#[utoipa::path(
10 delete,
11 path = "/issues/{channel_id}/pins/{pin_id}",
12 tag = "issues",
13 responses((status = 204, description = "Unpin issue")),
14 security(("bearer_auth" = []))
15)]
16pub(crate) async fn handler(
17 State(svc): State<IssueService>,
18 AuthUser { claims }: AuthUser,
19 Path((channel_id, pin_id)): Path<(Uuid, Uuid)>,
20) -> IssueResult<StatusCode> {
21 let collection = svc.ensure_default_collection(channel_id).await?;
22 svc.delete_pin(claims.sub, channel_id, collection.id, pin_id)
23 .await?;
24 Ok(StatusCode::NO_CONTENT)
25}
No newline at end of file