update openapi docs
This commit is contained in:
1 parent
3f62c8ec6a
commit
b3e98ac95d
3 files changed
+1111
No files matched your search
+1034
File diff suppressed because it is too large.
Load diff
@@ -9,6 +9,7 @@ import "./routes/log.js";
|
||||
import "./routes/maintenanceWindow.js";
|
||||
import "./routes/monitor.js";
|
||||
import "./routes/notification.js";
|
||||
import "./routes/proxies.js";
|
||||
import "./routes/queue.js";
|
||||
import "./routes/settings.js";
|
||||
import "./routes/statusPage.js";
|
||||
@@ -45,6 +46,7 @@ export function getOpenApiSpec(): JsonObject {
|
||||
{ name: "maintenance-window", description: "Scheduled maintenance windows during which monitors do not generate incidents or alerts." },
|
||||
{ name: "status-page", description: "Public status pages, their configuration, and the monitors they expose." },
|
||||
{ name: "settings", description: "Global application settings (admin/superadmin)." },
|
||||
{ name: "proxies", description: "Outbound proxy servers for routing HTTP monitor checks, team-scoped with an instance-wide admin listing." },
|
||||
{ name: "invite", description: "Team invitations and accepting them." },
|
||||
{ name: "queue", description: "Background job queue introspection and admin actions (admin/superadmin)." },
|
||||
{ name: "diagnostic", description: "System diagnostics for the running server (admin/superadmin)." },
|
||||
|
||||
@@ -0,0 +1,75 @@
|
||||
import { z } from "zod";
|
||||
import { registry } from "../registry.js";
|
||||
import { bearer, json, okJson, errorEnvelope, standardErrors } from "../helpers.js";
|
||||
import {
|
||||
createProxyBodyValidation,
|
||||
editProxyBodyValidation,
|
||||
getProxyByIdParamValidation,
|
||||
editProxyParamValidation,
|
||||
deleteProxyParamValidation,
|
||||
proxyResponseSchema,
|
||||
} from "@/api/validation/proxyValidation.js";
|
||||
|
||||
const tags = ["proxies"];
|
||||
|
||||
registry.registerPath({
|
||||
method: "post",
|
||||
path: "/proxies",
|
||||
tags,
|
||||
summary: "Create a proxy for the caller's team",
|
||||
security: bearer,
|
||||
request: { body: { content: json(createProxyBodyValidation) } },
|
||||
responses: { "200": okJson(proxyResponseSchema), ...standardErrors },
|
||||
});
|
||||
|
||||
registry.registerPath({
|
||||
method: "get",
|
||||
path: "/proxies",
|
||||
tags,
|
||||
summary: "List all proxies on the instance (admin/superadmin)",
|
||||
security: bearer,
|
||||
responses: { "200": okJson(z.array(proxyResponseSchema)), ...standardErrors },
|
||||
});
|
||||
|
||||
registry.registerPath({
|
||||
method: "get",
|
||||
path: "/proxies/team",
|
||||
tags,
|
||||
summary: "List proxies for the caller's team",
|
||||
security: bearer,
|
||||
responses: { "200": okJson(z.array(proxyResponseSchema)), ...standardErrors },
|
||||
});
|
||||
|
||||
registry.registerPath({
|
||||
method: "get",
|
||||
path: "/proxies/{id}",
|
||||
tags,
|
||||
summary: "Get a proxy by id",
|
||||
security: bearer,
|
||||
request: { params: getProxyByIdParamValidation },
|
||||
responses: { "200": okJson(proxyResponseSchema), ...standardErrors },
|
||||
});
|
||||
|
||||
registry.registerPath({
|
||||
method: "patch",
|
||||
path: "/proxies/{id}",
|
||||
tags,
|
||||
summary: "Edit a proxy",
|
||||
security: bearer,
|
||||
request: { params: editProxyParamValidation, body: { content: json(editProxyBodyValidation) } },
|
||||
responses: { "200": okJson(proxyResponseSchema), ...standardErrors },
|
||||
});
|
||||
|
||||
registry.registerPath({
|
||||
method: "delete",
|
||||
path: "/proxies/{id}",
|
||||
tags,
|
||||
summary: "Delete a proxy",
|
||||
security: bearer,
|
||||
request: { params: deleteProxyParamValidation },
|
||||
responses: {
|
||||
"200": okJson(proxyResponseSchema),
|
||||
"409": { description: "Proxy is in use by monitors or set as the global proxy", content: json(errorEnvelope) },
|
||||
...standardErrors,
|
||||
},
|
||||
});
|
||||
Reference in new issue
Block a user