From da59c9de123ee9bed6f1517dd79411fda318393f Mon Sep 17 00:00:00 2001 From: sean-brydon <55134778+sean-brydon@users.noreply.github.com> Date: Mon, 30 Sep 2024 22:09:18 +0100 Subject: [PATCH] fix getEventTypeWorkflows (#16879) --- .../server/routers/viewer/workflows/util.ts | 62 ++++++++++++++++++- 1 file changed, 59 insertions(+), 3 deletions(-) diff --git a/packages/trpc/server/routers/viewer/workflows/util.ts b/packages/trpc/server/routers/viewer/workflows/util.ts index 1e1960c442..dd95681928 100644 --- a/packages/trpc/server/routers/viewer/workflows/util.ts +++ b/packages/trpc/server/routers/viewer/workflows/util.ts @@ -18,7 +18,6 @@ import { getBookerBaseUrl } from "@calcom/lib/getBookerUrl/server"; import getOrgIdFromMemberOrTeamId from "@calcom/lib/getOrgIdFromMemberOrTeamId"; import { getTeamIdFromEventType } from "@calcom/lib/getTeamIdFromEventType"; import logger from "@calcom/lib/logger"; -import { EventTypeRepository } from "@calcom/lib/server/repository/eventType"; import { WorkflowRepository } from "@calcom/lib/server/repository/workflow"; import { getTimeFormatStringFromUserTimeFormat } from "@calcom/lib/timeFormat"; import prisma from "@calcom/prisma"; @@ -788,6 +787,63 @@ export const getEventTypeWorkflows = async ( userId: number, eventTypeId: number ): Promise> => { - const rawEventType = await EventTypeRepository.findById({ id: eventTypeId, userId }); - return rawEventType?.workflows; + const workflows = await prisma.workflow.findMany({ + where: { + OR: [ + { + userId: userId, + }, + { + team: { + members: { + some: { + userId: userId, + }, + }, + }, + }, + ], + activeOn: { + some: { + eventTypeId: eventTypeId, + }, + }, + }, + select: { + name: true, + id: true, + trigger: true, + time: true, + timeUnit: true, + userId: true, + teamId: true, + team: { + select: { + id: true, + slug: true, + name: true, + members: true, + }, + }, + activeOn: { + select: { + eventType: { + select: { + id: true, + title: true, + parentId: true, + _count: { + select: { + children: true, + }, + }, + }, + }, + }, + }, + steps: true, + }, + }); + + return workflows.map((workflow) => ({ workflow })); };