refactor: move calAIPhone-specific repositories to features from lib (#25840)

* add prisma agent repository to features

* add

* wip

* wip

* wip

* Update apps/web/app/api/webhooks/retell-ai/route.ts

Co-authored-by: Volnei Munhoz <volnei@cal.com>

* ts fix

* ts fix

---------

Co-authored-by: Volnei Munhoz <volnei@cal.com>
This commit is contained in:
Benny Joo
2025-12-15 13:43:24 +05:30
committed by GitHub
co-authored by Volnei Munhoz
parent 5394d80969
commit deca7ce40a
16 changed files with 17 additions and 17 deletions
@@ -91,13 +91,13 @@ vi.mock("@calcom/emails/email-manager", () => ({
const mockFindByPhoneNumber = vi.fn();
const mockFindByProviderAgentId = vi.fn();
vi.mock("@calcom/lib/server/repository/PrismaPhoneNumberRepository", () => ({
vi.mock("@calcom/features/calAIPhone/repositories/PrismaPhoneNumberRepository", () => ({
PrismaPhoneNumberRepository: vi.fn().mockImplementation(() => ({
findByPhoneNumber: mockFindByPhoneNumber,
})),
}));
vi.mock("@calcom/lib/server/repository/PrismaAgentRepository", () => ({
vi.mock("@calcom/features/calAIPhone/repositories/PrismaAgentRepository", () => ({
PrismaAgentRepository: vi.fn().mockImplementation(() => ({
findByProviderAgentId: mockFindByProviderAgentId,
})),
+3 -3
View File
@@ -4,12 +4,12 @@ import { NextResponse } from "next/server";
import { Retell } from "retell-sdk";
import { z } from "zod";
import { PrismaAgentRepository } from "@calcom/features/calAIPhone/repositories/PrismaAgentRepository";
import { PrismaPhoneNumberRepository } from "@calcom/features/calAIPhone/repositories/PrismaPhoneNumberRepository";
import { CreditService } from "@calcom/features/ee/billing/credit-service";
import logger from "@calcom/lib/logger";
import { safeStringify } from "@calcom/lib/safeStringify";
import { PrismaAgentRepository } from "@calcom/lib/server/repository/PrismaAgentRepository";
import { PrismaPhoneNumberRepository } from "@calcom/lib/server/repository/PrismaPhoneNumberRepository";
import prisma from "@calcom/prisma";
import { prisma } from "@calcom/prisma";
import { CreditUsageType } from "@calcom/prisma/enums";
const log = logger.getSubLogger({ prefix: ["retell-ai-webhook"] });
@@ -1,4 +1,4 @@
import { PrismaAgentRepository } from "@calcom/lib/server/repository/PrismaAgentRepository";
import { PrismaAgentRepository } from "@calcom/features/calAIPhone/repositories/PrismaAgentRepository";
import prisma from "@calcom/prisma";
import type {
@@ -1,4 +1,4 @@
import { PrismaPhoneNumberRepository } from "@calcom/lib/server/repository/PrismaPhoneNumberRepository";
import { PrismaPhoneNumberRepository } from "@calcom/features/calAIPhone/repositories/PrismaPhoneNumberRepository";
import prisma from "@calcom/prisma";
import type { PhoneNumberSubscriptionStatus } from "@calcom/prisma/enums";
@@ -1,6 +1,6 @@
import type { Retell } from "retell-sdk";
import type { PrismaAgentRepository } from "@calcom/lib/server/repository/PrismaAgentRepository";
import type { PrismaAgentRepository } from "@calcom/features/calAIPhone/repositories/PrismaAgentRepository";
export type RetellLLM = Retell.LlmResponse;
export type RetellPhoneNumber = Retell.PhoneNumberResponse;
@@ -1,8 +1,8 @@
import { createDefaultAIPhoneServiceProvider } from "@calcom/features/calAIPhone";
import { PrismaAgentRepository } from "@calcom/features/calAIPhone/repositories/PrismaAgentRepository";
import { PrismaPhoneNumberRepository } from "@calcom/features/calAIPhone/repositories/PrismaPhoneNumberRepository";
import stripe from "@calcom/features/ee/payments/server/stripe";
import logger from "@calcom/lib/logger";
import { PrismaAgentRepository } from "@calcom/lib/server/repository/PrismaAgentRepository";
import { PrismaPhoneNumberRepository } from "@calcom/lib/server/repository/PrismaPhoneNumberRepository";
import { CreditsRepository } from "@calcom/lib/server/repository/credits";
import prisma from "@calcom/prisma";
import { PhoneNumberSubscriptionStatus } from "@calcom/prisma/enums";
@@ -1,5 +1,5 @@
import { createDefaultAIPhoneServiceProvider } from "@calcom/features/calAIPhone";
import { PrismaPhoneNumberRepository } from "@calcom/lib/server/repository/PrismaPhoneNumberRepository";
import { PrismaPhoneNumberRepository } from "@calcom/features/calAIPhone/repositories/PrismaPhoneNumberRepository";
import prisma from "@calcom/prisma";
import type { LazyModule, SWHMap } from "./__handler";
@@ -1,4 +1,4 @@
import { PrismaPhoneNumberRepository } from "@calcom/lib/server/repository/PrismaPhoneNumberRepository";
import { PrismaPhoneNumberRepository } from "@calcom/features/calAIPhone/repositories/PrismaPhoneNumberRepository";
import prisma from "@calcom/prisma";
import { PhoneNumberSubscriptionStatus } from "@calcom/prisma/enums";
@@ -1,7 +1,7 @@
import { createDefaultAIPhoneServiceProvider } from "@calcom/features/calAIPhone";
import { CalAiPhoneNumberRepository } from "@calcom/features/calAIPhone/repositories/CalAiPhoneNumberRepository";
import { MembershipRepository } from "@calcom/features/membership/repositories/MembershipRepository";
import logger from "@calcom/lib/logger";
import { CalAiPhoneNumberRepository } from "@calcom/lib/server/repository/calAiPhoneNumber";
import { MembershipRole } from "@calcom/prisma/enums";
import { TRPCError } from "@trpc/server";
@@ -1,7 +1,7 @@
import { createDefaultAIPhoneServiceProvider } from "@calcom/features/calAIPhone";
import { PrismaAgentRepository } from "@calcom/features/calAIPhone/repositories/PrismaAgentRepository";
import { FeaturesRepository } from "@calcom/features/flags/features.repository";
import logger from "@calcom/lib/logger";
import { PrismaAgentRepository } from "@calcom/lib/server/repository/PrismaAgentRepository";
import prisma from "@calcom/prisma";
import { TRPCError } from "@trpc/server";
@@ -1,7 +1,7 @@
import { createDefaultAIPhoneServiceProvider } from "@calcom/features/calAIPhone";
import { PrismaAgentRepository } from "@calcom/features/calAIPhone/repositories/PrismaAgentRepository";
import { replaceEventTypePlaceholders } from "@calcom/features/ee/workflows/components/agent-configuration/utils/promptUtils";
import logger from "@calcom/lib/logger";
import { PrismaAgentRepository } from "@calcom/lib/server/repository/PrismaAgentRepository";
import prisma from "@calcom/prisma";
import type { TrpcSessionUser } from "../../../types";
@@ -1,4 +1,4 @@
import { PrismaPhoneNumberRepository } from "@calcom/lib/server/repository/PrismaPhoneNumberRepository";
import { PrismaPhoneNumberRepository } from "@calcom/features/calAIPhone/repositories/PrismaPhoneNumberRepository";
import prisma from "@calcom/prisma";
import type { TrpcSessionUser } from "../../../types";
@@ -1,4 +1,5 @@
import { createDefaultAIPhoneServiceProvider } from "@calcom/features/calAIPhone";
import { PrismaAgentRepository } from "@calcom/features/calAIPhone/repositories/PrismaAgentRepository";
import { TeamRepository } from "@calcom/features/ee/teams/repositories/TeamRepository";
import { isEmailAction, isFormTrigger } from "@calcom/features/ee/workflows/lib/actionHelperFunctions";
import { WorkflowReminderRepository } from "@calcom/features/ee/workflows/lib/repository/workflowReminder";
@@ -9,7 +10,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 { PrismaAgentRepository } from "@calcom/lib/server/repository/PrismaAgentRepository";
import { WorkflowRelationsRepository } from "@calcom/lib/server/repository/workflowRelations";
import { WorkflowStepRepository } from "@calcom/lib/server/repository/workflowStep";
import { prisma, type PrismaClient } from "@calcom/prisma";