refactor(issues): refresh issue_pin create handler
zhenyi committed
Modified lib/issues/handler/issue_pin/create.rs lib/issues/handler/issue_pin/create.rs +7 −8 View lib/issues/handler/issue_pin/create.rs
@@ -1,6 +1,5 @@
1use axum::Json;
21use axum::extract::{Path, State};
3use axum::http::StatusCode;
2use export::data::{AppRequest, AppRequestData, AppResponseData};
43use jwt::extractor::AuthUser;
54use uuid::Uuid;
65
@@ -12,19 +11,19 @@
1211 post,
1312 path = "/issues/{channel_id}/pins",
1413 tag = "issues",
15 request_body = CreatePinOption,
16 responses((status = 201, description = "Pin issue", body = PinView)),
14 request_body = AppRequestData<CreatePinOption>,
15 responses((status = 201, description = "Pin issue", body = AppResponseData<PinView>)),
1716 security(("bearer_auth" = []))
1817)]
1918pub(crate) async fn handler(
2019 State(svc): State<IssueService>,
2120 AuthUser { claims }: AuthUser,
2221 Path(channel_id): Path<Uuid>,
23 Json(input): Json<CreatePinOption>,
24) -> IssueResult<(StatusCode, Json<PinView>)> {
22 input: AppRequest<CreatePinOption>,
23) -> IssueResult<AppResponseData<PinView>> {
2524 let collection = svc.ensure_default_collection(channel_id).await?;
2625 let view = svc
27 .create_pin(claims.sub, channel_id, collection.id, input)
26 .create_pin(claims.sub, channel_id, collection.id, input.into_inner())
2827 .await?;
29 Ok((StatusCode::CREATED, Json(view)))
28 Ok(AppResponseData::ok(view).with_code(201))
3029}
No newline at end of file