hive-c0re: annotate remaining dashboard routes with utoipa
This commit is contained in:
parent
8ebefeb0d5
commit
582ebe5eee
21 changed files with 738 additions and 45 deletions
|
|
@ -69,6 +69,24 @@ pub(super) struct PushWebhookRepo {
|
|||
///
|
||||
/// The gateway routes `/webhook/` → hive-c0re; the HMAC secret protects
|
||||
/// the endpoint from unauthenticated callers.
|
||||
#[utoipa::path(
|
||||
post,
|
||||
path = "/webhook/knowledge",
|
||||
request_body(
|
||||
content = String,
|
||||
content_type = "application/json",
|
||||
description = "Forgejo push-webhook payload, taken as raw bytes \
|
||||
(not a typed extractor) so HMAC verification runs \
|
||||
over the exact wire bytes before any JSON parsing"
|
||||
),
|
||||
responses(
|
||||
(status = 200, description = "processed (pull triggered or ignored)", body = String),
|
||||
(status = 400, description = "invalid JSON payload"),
|
||||
(status = 401, description = "bad or missing HMAC signature"),
|
||||
(status = 503, description = "HMAC secret unavailable at startup"),
|
||||
),
|
||||
tag = "webhook"
|
||||
)]
|
||||
pub(super) async fn post_webhook_knowledge(
|
||||
State(state): State<AppState>,
|
||||
headers: HeaderMap,
|
||||
|
|
@ -177,6 +195,25 @@ struct PrWebhookRepo {
|
|||
///
|
||||
/// hive-c0re registers this hook automatically at startup via
|
||||
/// [`crate::forge::ensure_config_pr_webhook`].
|
||||
#[utoipa::path(
|
||||
post,
|
||||
path = "/webhook/config-pr",
|
||||
request_body(
|
||||
content = String,
|
||||
content_type = "application/json",
|
||||
description = "Forgejo pull_request-webhook payload, taken as raw \
|
||||
bytes (not a typed extractor) so HMAC verification \
|
||||
runs over the exact wire bytes before any JSON \
|
||||
parsing"
|
||||
),
|
||||
responses(
|
||||
(status = 200, description = "processed (approval queued or ignored)", body = String),
|
||||
(status = 400, description = "invalid JSON payload"),
|
||||
(status = 401, description = "bad or missing HMAC signature"),
|
||||
(status = 503, description = "HMAC secret unavailable at startup"),
|
||||
),
|
||||
tag = "webhook"
|
||||
)]
|
||||
pub(super) async fn post_webhook_config_pr(
|
||||
State(state): State<AppState>,
|
||||
headers: HeaderMap,
|
||||
|
|
|
|||
Loading…
Reference in a new issue