Skip to content

Commit ebeb008

Browse files
devin-ai-integration[bot]ThyMinimalDevanikdhabalhbjORbjsahitya-chandra
authored
refactor: convert findQualifiedHostsWithDelegationCredentials to service class with DI (#22974)
* refactor: convert findQualifiedHostsWithDelegationCredentials to service class with DI - Create QualifiedHostsService class following UserAvailabilityService pattern - Add IQualifiedHostsService interface with prisma and bookingRepo dependencies - Create DI module and container for qualified hosts service - Update filterHostsBySameRoundRobinHost to accept prisma as parameter - Update all usage sites to use the new service: - loadAndValidateUsers.ts - slots/util.ts - test mocks in _post.test.ts - Maintain backward compatibility with original function export - Fix type issues in team properties (rrResetInterval, rrTimestampBasis) Co-Authored-By: morgan@cal.com <morgan@cal.com> * fix: update filterHostsBySameRoundRobinHost test to include prisma parameter - Add missing prisma parameter to all test function calls - Resolves unit test failure caused by function signature change Co-Authored-By: morgan@cal.com <morgan@cal.com> * fix: resolve type issues in FilterHostsService - Import PrismaClient type instead of using unknown - Fix type compatibility for BookingRepository constructor - Update test mocks to use proper BookingRepository type - Ensure all DI dependencies are properly typed Co-Authored-By: morgan@cal.com <morgan@cal.com> * refactor: rename DI files to CamelCase and update imports - Rename all files in packages/lib/di from kebab-case to CamelCase - Update 22 external files with import statements to use new file names - Update internal DI module files with corrected imports - Maintain consistency with TypeScript naming conventions Co-Authored-By: morgan@cal.com <morgan@cal.com> * chore: bump platform libs * chore: bump platform libs * fix: remove obsolete vitest mock after service class refactoring - Remove obsolete mock for old function module - Keep correct mock for new DI container - Resolves CI unit test failures Co-Authored-By: morgan@cal.com <morgan@cal.com> * fix: correct import path for calAIPhone zod-utils module Co-Authored-By: morgan@cal.com <morgan@cal.com> * fix: Booker active booking limit can't be switched off (#23005) * refactor: Get rid of `getServerSideProps` for /getting-started pages (#23003) * refactor * fix type check * fix: Remove Reporting page within Routing Forms (#22990) * fix error in handleNewBooking (#23011) Co-authored-by: CarinaWolli <wollencarina@gmail.com> * Documentation edits made through Mintlify web editor (#23007) Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> * fix: Contact support button position changed from absolute to fixed (#23002) * feat: Add private links to API (#22943) * --init * address change requests * adding further changes * address feedback * further changes * further clean-up * clean up * fix module import and others * add guards * remove unnecessary comments * remove unnecessary comments * cleanup * sort coderabbig suggestions * improve check * chore: bump platform libraries --------- Co-authored-by: Lauris Skraucis <lauris.skraucis@gmail.com> Co-authored-by: supalarry <laurisskraucis@gmail.com> * chore: release v5.5.15 * chore: bump platform libs * chore: bump platform libs --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com> Co-authored-by: morgan@cal.com <morgan@cal.com> Co-authored-by: Anik Dhabal Babu <81948346+anikdhabal@users.noreply.github.com> Co-authored-by: Benny Joo <sldisek783@gmail.com> Co-authored-by: Sahitya Chandra <sahityajb@gmail.com> Co-authored-by: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com> Co-authored-by: CarinaWolli <wollencarina@gmail.com> Co-authored-by: mintlify[bot] <109931778+mintlify[bot]@users.noreply.github.com> Co-authored-by: Ayush Kumar <kumarayushkumar@protonmail.com> Co-authored-by: Syed Ali Shahbaz <52925846+alishaz-polymath@users.noreply.github.com> Co-authored-by: Lauris Skraucis <lauris.skraucis@gmail.com> Co-authored-by: supalarry <laurisskraucis@gmail.com> Co-authored-by: emrysal <me@alexvanandel.com>
1 parent a90d765 commit ebeb008

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

58 files changed

+431
-283
lines changed

apps/api/v1/pages/api/availability/_get.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import type { NextApiRequest } from "next";
22
import { z } from "zod";
33

4-
import { getUserAvailabilityService } from "@calcom/lib/di/containers/get-user-availability";
4+
import { getUserAvailabilityService } from "@calcom/lib/di/containers/GetUserAvailability";
55
import { HttpError } from "@calcom/lib/http-error";
66
import { defaultResponder } from "@calcom/lib/server/defaultResponder";
77
import prisma from "@calcom/prisma";

apps/api/v1/pages/api/slots/_get.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import type { NextApiRequest, NextApiResponse } from "next";
44

55
import dayjs from "@calcom/dayjs";
66
import { isSupportedTimeZone } from "@calcom/lib/dayjs";
7-
import { getAvailableSlotsService } from "@calcom/lib/di/containers/available-slots";
7+
import { getAvailableSlotsService } from "@calcom/lib/di/containers/AvailableSlots";
88
import { HttpError } from "@calcom/lib/http-error";
99
import { defaultResponder } from "@calcom/lib/server/defaultResponder";
1010
import { createContext } from "@calcom/trpc/server/createContext";

apps/api/v1/test/lib/bookings/_post.test.ts

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,11 +76,13 @@ vi.mock("@calcom/features/watchlist/operations/check-if-users-are-blocked.contro
7676
checkIfUsersAreBlocked: vi.fn().mockResolvedValue(false),
7777
}));
7878

79-
vi.mock("@calcom/lib/bookings/findQualifiedHostsWithDelegationCredentials", () => ({
80-
findQualifiedHostsWithDelegationCredentials: vi.fn().mockResolvedValue({
81-
qualifiedRRHosts: [],
82-
allFallbackRRHosts: [],
83-
fixedHosts: [],
79+
vi.mock("@calcom/lib/di/containers/QualifiedHosts", () => ({
80+
getQualifiedHostsService: vi.fn().mockReturnValue({
81+
findQualifiedHostsWithDelegationCredentials: vi.fn().mockResolvedValue({
82+
qualifiedRRHosts: [],
83+
allFallbackRRHosts: [],
84+
fixedHosts: [],
85+
}),
8486
}),
8587
}));
8688

apps/api/v2/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
"@axiomhq/winston": "^1.2.0",
3939
"@calcom/platform-constants": "*",
4040
"@calcom/platform-enums": "*",
41-
"@calcom/platform-libraries": "npm:@calcom/platform-libraries@0.0.294",
41+
"@calcom/platform-libraries": "npm:@calcom/platform-libraries@0.0.298",
4242
"@calcom/platform-types": "*",
4343
"@calcom/platform-utils": "*",
4444
"@calcom/prisma": "*",

apps/web/pages/api/get-inbound-dynamic-variables.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { z } from "zod";
55
import dayjs from "@calcom/dayjs";
66
import { ZGetRetellLLMSchema } from "@calcom/features/calAIPhone/zod-utils";
77
import type { TGetRetellLLMSchema } from "@calcom/features/calAIPhone/zod-utils";
8-
import { getAvailableSlotsService } from "@calcom/lib/di/containers/available-slots";
8+
import { getAvailableSlotsService } from "@calcom/lib/di/containers/AvailableSlots";
99
import { fetcher } from "@calcom/lib/retellAIFetcher";
1010
import { defaultHandler } from "@calcom/lib/server/defaultHandler";
1111
import prisma from "@calcom/prisma";

apps/web/test/lib/checkBookingLimits.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import prismaMock from "../../../../tests/libs/__mocks__/prismaMock";
33
import { describe, expect, it } from "vitest";
44

55
import dayjs from "@calcom/dayjs";
6-
import { getCheckBookingLimitsService } from "@calcom/lib/di/containers/booking-limits";
6+
import { getCheckBookingLimitsService } from "@calcom/lib/di/containers/BookingLimits";
77
import type { IntervalLimit } from "@calcom/lib/intervalLimits/intervalLimitSchema";
88
import { validateIntervalLimitOrder } from "@calcom/lib/intervalLimits/validateIntervalLimitOrder";
99

apps/web/test/lib/getSchedule.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import {
1717
import { describe, vi, test } from "vitest";
1818

1919
import dayjs from "@calcom/dayjs";
20-
import { getAvailableSlotsService } from "@calcom/lib/di/containers/available-slots";
20+
import { getAvailableSlotsService } from "@calcom/lib/di/containers/AvailableSlots";
2121
import { SchedulingType, type BookingStatus } from "@calcom/prisma/enums";
2222

2323
import { expect, expectedSlotsForSchedule } from "./getSchedule/expects";

apps/web/test/lib/getSchedule/calendarEvents.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import {
99

1010
import { describe, test } from "vitest";
1111

12-
import { getAvailableSlotsService } from "@calcom/lib/di/containers/available-slots";
12+
import { getAvailableSlotsService } from "@calcom/lib/di/containers/AvailableSlots";
1313

1414
import { expect, expectedSlotsForSchedule } from "./expects";
1515
import { setupAndTeardown } from "./setupAndTeardown";

apps/web/test/lib/getSchedule/delegation-credential.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import { expectNoAttemptToGetAvailability } from "../../utils/bookingScenario/ex
1212

1313
import { describe, test } from "vitest";
1414

15-
import { getAvailableSlotsService } from "@calcom/lib/di/containers/available-slots";
15+
import { getAvailableSlotsService } from "@calcom/lib/di/containers/AvailableSlots";
1616
import { MembershipRole } from "@calcom/prisma/enums";
1717

1818
import { expect, expectedSlotsForSchedule } from "./expects";

apps/web/test/lib/getSchedule/futureLimit.timezone.test.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import type { ScenarioData } from "../../utils/bookingScenario/bookingScenario";
88

99
import { describe, expect, vi, test } from "vitest";
1010

11-
import { getAvailableSlotsService } from "@calcom/lib/di/containers/available-slots";
11+
import { getAvailableSlotsService } from "@calcom/lib/di/containers/AvailableSlots";
1212
import { PeriodType } from "@calcom/prisma/enums";
1313

1414
import { expectedSlotsForSchedule } from "./expects";

0 commit comments

Comments
 (0)