diff --git a/backend/src/server/routes/v1/bot-router.ts b/backend/src/server/routes/v1/bot-router.ts index 507423b0d..ff451a17e 100644 --- a/backend/src/server/routes/v1/bot-router.ts +++ b/backend/src/server/routes/v1/bot-router.ts @@ -1,6 +1,7 @@ import { z } from "zod"; import { ProjectBotsSchema } from "@app/db/schemas"; +import { BadRequestError } from "@app/lib/errors"; import { verifyAuth } from "@app/server/plugins/auth/verify-auth"; import { AuthMode } from "@app/services/auth/auth-type"; @@ -26,6 +27,16 @@ export const registerProjectBotRouter = async (server: FastifyZodProvider) => { }, onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { + const project = await server.services.project.getAProject({ + actorId: req.permission.id, + actor: req.permission.type, + projectId: req.params.projectId + }); + + if (!project.e2ee) { + throw new BadRequestError({ message: "Failed to find bot, project has E2EE disabled" }); + } + const bot = await server.services.projectBot.findBotByProjectId({ actor: req.permission.type, actorId: req.permission.id, @@ -66,6 +77,12 @@ export const registerProjectBotRouter = async (server: FastifyZodProvider) => { }, onRequest: verifyAuth([AuthMode.JWT]), handler: async (req) => { + const project = await server.services.projectBot.findProjectByBotId(req.params.botId); + + if (project?.e2ee === false) { + throw new BadRequestError({ message: "Failed to set bot active, project has E2EE disabled" }); + } + const bot = await server.services.projectBot.setBotActiveState({ actor: req.permission.type, actorId: req.permission.id,