mirror of
https://github.com/ReCloudStudio/WebHooker.git
synced 2026-09-22 16:11:29 +00:00
feat(observability): delivery metrics, admin metrics/delivery endpoints, admin API route wiring
This commit is contained in:
parent
2470bd786d
commit
1e9ba3c5dd
17 changed files with 682 additions and 7 deletions
76
server/routes/admin/api/[...slug].ts
Normal file
76
server/routes/admin/api/[...slug].ts
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
import { defineEventHandler, getMethod, getRouterParam, setResponseStatus } from "h3";
|
||||
import {
|
||||
adminApiMe,
|
||||
adminApiGroupsGet,
|
||||
adminApiGroupsPut,
|
||||
adminApiRoutesGet,
|
||||
adminApiRoutesPut,
|
||||
adminApiLogs,
|
||||
adminApiLogsById,
|
||||
adminGroupRoutesGet,
|
||||
adminGroupRoutesPut,
|
||||
adminGroupInvitesPost,
|
||||
adminGroupInvitesGet,
|
||||
adminInviteDelete,
|
||||
adminGroupRename,
|
||||
adminGroupWebhookGet,
|
||||
adminGroupWebhookRegenerate,
|
||||
adminGroupWebhookDelete,
|
||||
adminAudit,
|
||||
adminApiMetrics,
|
||||
adminApiDelivery,
|
||||
} from "../../../lib/web/admin";
|
||||
|
||||
export default defineEventHandler((event) => {
|
||||
const method = getMethod(event);
|
||||
const seg = (getRouterParam(event, "slug") ?? "").split("/").filter(Boolean);
|
||||
|
||||
if (seg[0] === "me" && method === "GET") return adminApiMe(event);
|
||||
if (seg[0] === "groups" && seg.length === 1) {
|
||||
if (method === "GET") return adminApiGroupsGet(event);
|
||||
if (method === "PUT") return adminApiGroupsPut(event);
|
||||
}
|
||||
if (seg[0] === "routes" && seg.length === 1) {
|
||||
if (method === "GET") return adminApiRoutesGet(event);
|
||||
if (method === "PUT") return adminApiRoutesPut(event);
|
||||
}
|
||||
if (seg[0] === "logs" && seg.length === 1 && method === "GET") return adminApiLogs(event);
|
||||
if (seg[0] === "logs" && seg.length === 2 && method === "GET")
|
||||
return adminApiLogsById(event, Number(seg[1]));
|
||||
if (seg[0] === "groups" && seg[2] === "routes" && seg.length === 3) {
|
||||
if (method === "GET") return adminGroupRoutesGet(event, seg[1]);
|
||||
if (method === "PUT") return adminGroupRoutesPut(event, seg[1]);
|
||||
}
|
||||
if (seg[0] === "groups" && seg[2] === "invites" && seg.length === 3) {
|
||||
if (method === "GET") return adminGroupInvitesGet(event, seg[1]);
|
||||
if (method === "POST") return adminGroupInvitesPost(event, seg[1]);
|
||||
}
|
||||
if (seg[0] === "invites" && seg.length === 2 && method === "DELETE")
|
||||
return adminInviteDelete(event, seg[1]);
|
||||
if (
|
||||
seg[0] === "groups" &&
|
||||
seg[2] === "rename" &&
|
||||
seg.length === 3 &&
|
||||
(method === "POST" || method === "PUT")
|
||||
)
|
||||
return adminGroupRename(event, seg[1]);
|
||||
if (
|
||||
seg[0] === "groups" &&
|
||||
seg[2] === "webhook" &&
|
||||
seg[3] === "regenerate" &&
|
||||
seg.length === 4 &&
|
||||
method === "POST"
|
||||
)
|
||||
return adminGroupWebhookRegenerate(event, seg[1]);
|
||||
if (seg[0] === "groups" && seg[2] === "webhook" && seg.length === 3) {
|
||||
if (method === "GET") return adminGroupWebhookGet(event, seg[1]);
|
||||
if (method === "DELETE") return adminGroupWebhookDelete(event, seg[1]);
|
||||
}
|
||||
if (seg[0] === "audit" && seg.length === 1 && method === "GET") return adminAudit(event);
|
||||
if (seg[0] === "metrics" && seg.length === 1 && method === "GET") return adminApiMetrics(event);
|
||||
if (seg[0] === "delivery" && seg.length === 2 && method === "GET")
|
||||
return adminApiDelivery(event, seg[1]);
|
||||
|
||||
setResponseStatus(event, 404);
|
||||
return { error: "Not found" };
|
||||
});
|
||||
Loading…
Add table
Add a link
Reference in a new issue