From 03dd0c1501e8b57da44e42fda9c3e0ad1f57e3fa Mon Sep 17 00:00:00 2001 From: Benny Joo Date: Thu, 18 Dec 2025 01:05:03 +0900 Subject: [PATCH] refactor: Move SelectedCalendarRepository and WorkflowRelationsRepository from /lib to /features (#25982) * wip * wip --- apps/web/app/api/cron/calendar-subscriptions/route.ts | 2 +- .../app/api/webhooks/calendar-subscription/[provider]/route.ts | 2 +- .../calendar-subscription/lib/CalendarSubscriptionService.ts | 2 +- .../lib/__tests__/CalendarSubscriptionService.test.ts | 2 +- .../ee/workflows/repositories/WorkflowRelationsRepository.ts} | 0 .../repositories}/SelectedCalendarRepository.interface.ts | 0 .../repositories}/SelectedCalendarRepository.test.ts | 3 +-- .../repositories}/SelectedCalendarRepository.ts | 2 +- .../trpc/server/routers/viewer/workflows/update.handler.ts | 2 +- 9 files changed, 7 insertions(+), 8 deletions(-) rename packages/{lib/server/repository/workflowRelations.ts => features/ee/workflows/repositories/WorkflowRelationsRepository.ts} (100%) rename packages/{lib/server/repository => features/selectedCalendar/repositories}/SelectedCalendarRepository.interface.ts (100%) rename packages/{lib/server/repository/__tests__ => features/selectedCalendar/repositories}/SelectedCalendarRepository.test.ts (98%) rename packages/{lib/server/repository => features/selectedCalendar/repositories}/SelectedCalendarRepository.ts (92%) diff --git a/apps/web/app/api/cron/calendar-subscriptions/route.ts b/apps/web/app/api/cron/calendar-subscriptions/route.ts index 61036eb7b4..eb91cb3f6c 100644 --- a/apps/web/app/api/cron/calendar-subscriptions/route.ts +++ b/apps/web/app/api/cron/calendar-subscriptions/route.ts @@ -8,7 +8,7 @@ import { CalendarCacheEventRepository } from "@calcom/features/calendar-subscrip import { CalendarCacheEventService } from "@calcom/features/calendar-subscription/lib/cache/CalendarCacheEventService"; import { CalendarSyncService } from "@calcom/features/calendar-subscription/lib/sync/CalendarSyncService"; import { FeaturesRepository } from "@calcom/features/flags/features.repository"; -import { SelectedCalendarRepository } from "@calcom/lib/server/repository/SelectedCalendarRepository"; +import { SelectedCalendarRepository } from "@calcom/features/selectedCalendar/repositories/SelectedCalendarRepository"; import { prisma } from "@calcom/prisma"; import { defaultResponderForAppDir } from "@calcom/web/app/api/defaultResponderForAppDir"; diff --git a/apps/web/app/api/webhooks/calendar-subscription/[provider]/route.ts b/apps/web/app/api/webhooks/calendar-subscription/[provider]/route.ts index bc703c9ce1..b96699d9bc 100644 --- a/apps/web/app/api/webhooks/calendar-subscription/[provider]/route.ts +++ b/apps/web/app/api/webhooks/calendar-subscription/[provider]/route.ts @@ -11,7 +11,7 @@ import { CalendarCacheEventService } from "@calcom/features/calendar-subscriptio import { CalendarSyncService } from "@calcom/features/calendar-subscription/lib/sync/CalendarSyncService"; import { FeaturesRepository } from "@calcom/features/flags/features.repository"; import logger from "@calcom/lib/logger"; -import { SelectedCalendarRepository } from "@calcom/lib/server/repository/SelectedCalendarRepository"; +import { SelectedCalendarRepository } from "@calcom/features/selectedCalendar/repositories/SelectedCalendarRepository"; import { prisma } from "@calcom/prisma"; import { defaultResponderForAppDir } from "@calcom/web/app/api/defaultResponderForAppDir"; diff --git a/packages/features/calendar-subscription/lib/CalendarSubscriptionService.ts b/packages/features/calendar-subscription/lib/CalendarSubscriptionService.ts index 6dfc3ae703..796bbcab89 100644 --- a/packages/features/calendar-subscription/lib/CalendarSubscriptionService.ts +++ b/packages/features/calendar-subscription/lib/CalendarSubscriptionService.ts @@ -10,8 +10,8 @@ import type { import type { CalendarCacheEventService } from "@calcom/features/calendar-subscription/lib/cache/CalendarCacheEventService"; import type { CalendarSyncService } from "@calcom/features/calendar-subscription/lib/sync/CalendarSyncService"; import type { FeaturesRepository } from "@calcom/features/flags/features.repository"; +import type { ISelectedCalendarRepository } from "@calcom/features/selectedCalendar/repositories/SelectedCalendarRepository.interface"; import logger from "@calcom/lib/logger"; -import type { ISelectedCalendarRepository } from "@calcom/lib/server/repository/SelectedCalendarRepository.interface"; import type { SelectedCalendar } from "@calcom/prisma/client"; const log = logger.getSubLogger({ prefix: ["CalendarSubscriptionService"] }); diff --git a/packages/features/calendar-subscription/lib/__tests__/CalendarSubscriptionService.test.ts b/packages/features/calendar-subscription/lib/__tests__/CalendarSubscriptionService.test.ts index 459b870a56..8519a2e4b6 100644 --- a/packages/features/calendar-subscription/lib/__tests__/CalendarSubscriptionService.test.ts +++ b/packages/features/calendar-subscription/lib/__tests__/CalendarSubscriptionService.test.ts @@ -6,7 +6,7 @@ import type { AdapterFactory } from "@calcom/features/calendar-subscription/adap import type { CalendarCacheEventService } from "@calcom/features/calendar-subscription/lib/cache/CalendarCacheEventService"; import type { CalendarSyncService } from "@calcom/features/calendar-subscription/lib/sync/CalendarSyncService"; import type { FeaturesRepository } from "@calcom/features/flags/features.repository"; -import type { ISelectedCalendarRepository } from "@calcom/lib/server/repository/SelectedCalendarRepository.interface"; +import type { ISelectedCalendarRepository } from "@calcom/features/selectedCalendar/repositories/SelectedCalendarRepository.interface"; import type { SelectedCalendar } from "@calcom/prisma/client"; import { CalendarSubscriptionService } from "../CalendarSubscriptionService"; diff --git a/packages/lib/server/repository/workflowRelations.ts b/packages/features/ee/workflows/repositories/WorkflowRelationsRepository.ts similarity index 100% rename from packages/lib/server/repository/workflowRelations.ts rename to packages/features/ee/workflows/repositories/WorkflowRelationsRepository.ts diff --git a/packages/lib/server/repository/SelectedCalendarRepository.interface.ts b/packages/features/selectedCalendar/repositories/SelectedCalendarRepository.interface.ts similarity index 100% rename from packages/lib/server/repository/SelectedCalendarRepository.interface.ts rename to packages/features/selectedCalendar/repositories/SelectedCalendarRepository.interface.ts diff --git a/packages/lib/server/repository/__tests__/SelectedCalendarRepository.test.ts b/packages/features/selectedCalendar/repositories/SelectedCalendarRepository.test.ts similarity index 98% rename from packages/lib/server/repository/__tests__/SelectedCalendarRepository.test.ts rename to packages/features/selectedCalendar/repositories/SelectedCalendarRepository.test.ts index ac1b8153a7..a963fe706a 100644 --- a/packages/lib/server/repository/__tests__/SelectedCalendarRepository.test.ts +++ b/packages/features/selectedCalendar/repositories/SelectedCalendarRepository.test.ts @@ -1,10 +1,9 @@ import { describe, test, expect, vi, beforeEach } from "vitest"; +import { SelectedCalendarRepository } from "@calcom/features/selectedCalendar/repositories/SelectedCalendarRepository"; import type { PrismaClient } from "@calcom/prisma"; import type { Prisma, SelectedCalendar } from "@calcom/prisma/client"; -import { SelectedCalendarRepository } from "../SelectedCalendarRepository"; - const mockPrismaClient = { selectedCalendar: { findUnique: vi.fn(), diff --git a/packages/lib/server/repository/SelectedCalendarRepository.ts b/packages/features/selectedCalendar/repositories/SelectedCalendarRepository.ts similarity index 92% rename from packages/lib/server/repository/SelectedCalendarRepository.ts rename to packages/features/selectedCalendar/repositories/SelectedCalendarRepository.ts index 716a35e646..d42b4fc18e 100644 --- a/packages/lib/server/repository/SelectedCalendarRepository.ts +++ b/packages/features/selectedCalendar/repositories/SelectedCalendarRepository.ts @@ -1,4 +1,4 @@ -import type { ISelectedCalendarRepository } from "@calcom/lib/server/repository/SelectedCalendarRepository.interface"; +import type { ISelectedCalendarRepository } from "@calcom/features/selectedCalendar/repositories/SelectedCalendarRepository.interface"; import type { PrismaClient } from "@calcom/prisma"; import type { Prisma } from "@calcom/prisma/client"; diff --git a/packages/trpc/server/routers/viewer/workflows/update.handler.ts b/packages/trpc/server/routers/viewer/workflows/update.handler.ts index 22dd9656f2..7edb21fcd3 100755 --- a/packages/trpc/server/routers/viewer/workflows/update.handler.ts +++ b/packages/trpc/server/routers/viewer/workflows/update.handler.ts @@ -7,6 +7,7 @@ import { isAuthorized } from "@calcom/features/ee/workflows/lib/isAuthorized"; import { WorkflowReminderRepository } from "@calcom/features/ee/workflows/lib/repository/workflowReminder"; import { scheduleWorkflowNotifications } from "@calcom/features/ee/workflows/lib/scheduleWorkflowNotifications"; import { verifyEmailSender } from "@calcom/features/ee/workflows/lib/verifyEmailSender"; +import { WorkflowRelationsRepository } from "@calcom/features/ee/workflows/repositories/WorkflowRelationsRepository"; import { WorkflowRepository } from "@calcom/features/ee/workflows/repositories/WorkflowRepository"; import { WorkflowStepRepository } from "@calcom/features/ee/workflows/repositories/WorkflowStepRepository"; import { EventTypeRepository } from "@calcom/features/eventtypes/repositories/eventTypeRepository"; @@ -15,7 +16,6 @@ import { addPermissionsToWorkflow } from "@calcom/features/workflows/repositorie import { IS_SELF_HOSTED, SCANNING_WORKFLOW_STEPS } from "@calcom/lib/constants"; import hasKeyInMetadata from "@calcom/lib/hasKeyInMetadata"; import logger from "@calcom/lib/logger"; -import { WorkflowRelationsRepository } from "@calcom/lib/server/repository/workflowRelations"; import { prisma, type PrismaClient } from "@calcom/prisma"; import { WorkflowActions, WorkflowTemplates } from "@calcom/prisma/enums"; import { PhoneNumberSubscriptionStatus } from "@calcom/prisma/enums";