refactor(repo): refresh release create handler
zhenyi committed
Modified lib/repo/handler/release/create.rs lib/repo/handler/release/create.rs +8 −8 View lib/repo/handler/release/create.rs
@@ -1,6 +1,6 @@
1use axum::Json;
21use axum::extract::{Path, State};
3use axum::http::StatusCode;
2use export::data::{AppRequest, AppRequestData, AppResponseData};
3
44use jwt::extractor::AuthUser;
55use uuid::Uuid;
66
@@ -12,16 +12,16 @@
1212 post,
1313 path = "/repo/{channel_id}/{repo_id}/releases",
1414 tag = "repo",
15 request_body = CreateReleaseOption,
16 responses((status = 201, description = "Create a release", body = ReleaseView)),
15 request_body = AppRequestData<CreateReleaseOption>,
16 responses((status = 201, description = "Create a release", body = AppResponseData<ReleaseView>)),
1717 security(("bearer_auth" = []))
1818)]
1919pub(crate) async fn handler(
2020 State(svc): State<RepoService>,
2121 AuthUser { claims }: AuthUser,
2222 Path((_, repo_id)): Path<(Uuid, Uuid)>,
23 Json(input): Json<CreateReleaseOption>,
24) -> RepoResult<(StatusCode, Json<ReleaseView>)> {
25 let view = svc.create_release(claims.sub, repo_id, input).await?;
26 Ok((StatusCode::CREATED, Json(view)))
23 input: AppRequest<CreateReleaseOption>,
24) -> RepoResult<AppResponseData<ReleaseView>> {
25 let view = svc.create_release(claims.sub, repo_id, input.into_inner()).await?;
26 Ok(AppResponseData::ok(view).with_code(201))
2727}