feat: add tools:use permission check to tool, batch, pipeline, and upload routes

This commit is contained in:
Siddharth Kumar Sah
2026-04-10 21:25:30 +08:00
parent 49431772ec
commit 885ace54f0
5 changed files with 254 additions and 13 deletions
+4
View File
@@ -17,6 +17,7 @@ import { validateImageBuffer } from "../lib/file-validation.js";
import { sanitizeFilename } from "../lib/filename.js";
import { decodeHeic } from "../lib/heic-converter.js";
import { createWorkspace } from "../lib/workspace.js";
import { requirePermission } from "../permissions.js";
import { requireAuth } from "../plugins/auth.js";
import { getRegisteredToolIds, getToolConfig } from "./tool-factory.js";
@@ -57,6 +58,9 @@ export async function registerPipelineRoutes(app: FastifyInstance): Promise<void
* Returns the final processed image for download.
*/
app.post("/api/v1/pipeline/execute", async (request: FastifyRequest, reply: FastifyReply) => {
const user = requirePermission("tools:use")(request, reply);
if (!user) return;
let fileBuffer: Buffer | null = null;
let filename = "image";
let pipelineRaw: string | null = null;