File
Blob: src/worker/api/private/router.ts
| 1 | import { Hono } from "hono"; |
| 2 | |
| 3 | import { requireAuth } from "@/worker/auth"; |
| 4 | import type { AppEnv } from "@/worker/hono"; |
| 5 | import { |
| 6 | handleCancelRun, |
| 7 | handleCreateRunLogTicket, |
| 8 | handleGetMe, |
| 9 | handleDeleteProjectWebhook, |
| 10 | handleCreateProject, |
| 11 | handleGetProjectDetail, |
| 12 | handleGetRunLogsWebSocket, |
| 13 | handleGetProjectWebhooks, |
| 14 | handleGetProjectRuns, |
| 15 | handleGetProjects, |
| 16 | handleGetRunDetail, |
| 17 | handleRotateProjectWebhookSecret, |
| 18 | handleTriggerProjectRun, |
| 19 | handleUpsertProjectWebhook, |
| 20 | handleUpdateProject, |
| 21 | } from "@/worker/api/private"; |
| 22 | import { requireSameOrigin } from "@/worker/security/same-origin"; |
| 23 | |
| 24 | const privateRoutes = new Hono<AppEnv>(); |
| 25 | |
| 26 | privateRoutes.get("/runs/:runId/logs", handleGetRunLogsWebSocket); |
| 27 | |
| 28 | privateRoutes.use("*", requireAuth); |
| 29 | privateRoutes.use("*", requireSameOrigin); |
| 30 | privateRoutes.get("/me", handleGetMe); |
| 31 | privateRoutes.get("/projects", handleGetProjects); |
| 32 | privateRoutes.get("/projects/:projectId", handleGetProjectDetail); |
| 33 | privateRoutes.get("/projects/:projectId/webhooks", handleGetProjectWebhooks); |
| 34 | privateRoutes.get("/projects/:projectId/runs", handleGetProjectRuns); |
| 35 | privateRoutes.get("/runs/:runId", handleGetRunDetail); |
| 36 | privateRoutes.post("/runs/:runId/cancel", handleCancelRun); |
| 37 | privateRoutes.post("/runs/:runId/log-ticket", handleCreateRunLogTicket); |
| 38 | privateRoutes.post("/projects", handleCreateProject); |
| 39 | privateRoutes.patch("/projects/:projectId", handleUpdateProject); |
| 40 | privateRoutes.put("/projects/:projectId/webhooks/:provider", handleUpsertProjectWebhook); |
| 41 | privateRoutes.post("/projects/:projectId/webhooks/:provider/rotate-secret", handleRotateProjectWebhookSecret); |
| 42 | privateRoutes.delete("/projects/:projectId/webhooks/:provider", handleDeleteProjectWebhook); |
| 43 | privateRoutes.post("/projects/:projectId/runs", handleTriggerProjectRun); |
| 44 | |
| 45 | export { privateRoutes }; |