From 16836d0cfbcf7066a9d8522b2fc58bda5691b0b8 Mon Sep 17 00:00:00 2001 From: Agusti Fernandez Pardo <6601142+agustif@users.noreply.github.com> Date: Sat, 4 Jun 2022 01:13:50 +0200 Subject: [PATCH] fix: saml update/delete only owner team (#2948) Co-authored-by: Agusti Fernandez Pardo Co-authored-by: kodiakhq[bot] <49736102+kodiakhq[bot]@users.noreply.github.com> --- apps/web/server/routers/viewer.tsx | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/apps/web/server/routers/viewer.tsx b/apps/web/server/routers/viewer.tsx index 904a8415ad..01b96d610c 100644 --- a/apps/web/server/routers/viewer.tsx +++ b/apps/web/server/routers/viewer.tsx @@ -14,6 +14,7 @@ import { checkRegularUsername } from "@lib/core/checkRegularUsername"; import { sendFeedbackEmail } from "@lib/emails/email-manager"; import jackson from "@lib/jackson"; import prisma from "@lib/prisma"; +import { isTeamOwner } from "@lib/queries/teams"; import { hostedCal, isSAMLAdmin, @@ -849,9 +850,9 @@ const loggedInViewerRouter = createProtectedRouter() encodedRawMetadata: z.string(), teamId: z.union([z.number(), z.null(), z.undefined()]), }), - async resolve({ input }) { + async resolve({ ctx, input }) { const { encodedRawMetadata, teamId } = input; - + if (teamId && !(await isTeamOwner(ctx.user?.id, teamId))) throw new TRPCError({ code: "UNAUTHORIZED" }); const { apiController } = await jackson(); try { @@ -872,8 +873,9 @@ const loggedInViewerRouter = createProtectedRouter() input: z.object({ teamId: z.union([z.number(), z.null(), z.undefined()]), }), - async resolve({ input }) { + async resolve({ ctx, input }) { const { teamId } = input; + if (teamId && !(await isTeamOwner(ctx.user?.id, teamId))) throw new TRPCError({ code: "UNAUTHORIZED" }); const { apiController } = await jackson();