Skip to content
Clone

feat(issues): add issues list handler

zhenyi committed
parent 64d5625 commit 7c27b66 Browse files

1 file changed

+24 −0

Added lib/issues/handler/issues/list.rs View lib/issues/handler/issues/list.rs
@@ -0,0 +1,24 @@
1use axum::Json;
2use axum::extract::State;
3use jwt::extractor::AuthUser;
4
5use crate::error::IssueResult;
6use crate::features::IssueService;
7use crate::features::issues::{CollectionView, ListCollectionQuery};
8
9#[utoipa::path(
10 get,
11 path = "/issues",
12 tag = "issues",
13 params(ListCollectionQuery),
14 responses((status = 200, description = "List issue boards (collections)", body = CollectionView)),
15 security(("bearer_auth" = []))
16)]
17pub(crate) async fn handler(
18 State(svc): State<IssueService>,
19 AuthUser { claims }: AuthUser,
20 axum::extract::Query(q): axum::extract::Query<ListCollectionQuery>,
21) -> IssueResult<Json<Vec<CollectionView>>> {
22 let page = svc.list_collections(claims.sub, q).await?;
23 Ok(Json(page.items))
24}
No newline at end of file