Skip to content
4 changes: 3 additions & 1 deletion apps/api/v2/src/lib/modules/regular-booking.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { PrismaUserRepository } from "@/lib/repositories/prisma-user.repository"
import { CacheService } from "@/lib/services/cache.service";
import { CheckBookingAndDurationLimitsService } from "@/lib/services/check-booking-and-duration-limits.service";
import { CheckBookingLimitsService } from "@/lib/services/check-booking-limits.service";
import { HashedLinkService } from "@/lib/services/hashed-link.service";
import { LuckyUserService } from "@/lib/services/lucky-user.service";
import { RegularBookingService } from "@/lib/services/regular-booking.service";
import { PrismaModule } from "@/modules/prisma/prisma.module";
Expand All @@ -24,9 +25,10 @@ import { Module } from "@nestjs/common";
CacheService,
CheckBookingAndDurationLimitsService,
CheckBookingLimitsService,
HashedLinkService,
LuckyUserService,
RegularBookingService,
],
exports: [RegularBookingService],
})
export class RegularBookingModule {}
export class RegularBookingModule { }
10 changes: 10 additions & 0 deletions apps/api/v2/src/lib/services/hashed-link.service.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
import { Injectable } from "@nestjs/common";

import { HashedLinkService as BaseHashedLinkService } from "@calcom/platform-libraries/private-links";

@Injectable()
export class HashedLinkService extends BaseHashedLinkService {
constructor() {
super();
}
}
3 changes: 3 additions & 0 deletions apps/api/v2/src/lib/services/regular-booking.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import { PrismaBookingRepository } from "@/lib/repositories/prisma-booking.repos
import { PrismaUserRepository } from "@/lib/repositories/prisma-user.repository";
import { CacheService } from "@/lib/services/cache.service";
import { CheckBookingAndDurationLimitsService } from "@/lib/services/check-booking-and-duration-limits.service";
import { HashedLinkService } from "@/lib/services/hashed-link.service";
import { LuckyUserService } from "@/lib/services/lucky-user.service";
import { PrismaWriteService } from "@/modules/prisma/prisma-write.service";
import { Injectable } from "@nestjs/common";
Expand All @@ -16,6 +17,7 @@ export class RegularBookingService extends BaseRegularBookingService {
checkBookingAndDurationLimitsService: CheckBookingAndDurationLimitsService,
prismaWriteService: PrismaWriteService,
bookingRepository: PrismaBookingRepository,
hashedLinkService: HashedLinkService,
luckyUserService: LuckyUserService,
userRepository: PrismaUserRepository
) {
Expand All @@ -24,6 +26,7 @@ export class RegularBookingService extends BaseRegularBookingService {
checkBookingAndDurationLimitsService,
prismaClient: prismaWriteService.prisma as unknown as PrismaClient,
bookingRepository,
hashedLinkService,
luckyUserService,
userRepository,
});
Expand Down
7 changes: 3 additions & 4 deletions apps/web/lib/d/[link]/[slug]/getServerSideProps.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@ import type { GetBookingType } from "@calcom/features/bookings/lib/get-booking";
import { orgDomainConfig } from "@calcom/features/ee/organizations/lib/orgDomains";
import { EventRepository } from "@calcom/features/eventtypes/repositories/EventRepository";
import { FeaturesRepository } from "@calcom/features/flags/features.repository";
import { HashedLinkService } from "@calcom/features/hashedLink/services/hashedLinkService";
import {
shouldHideBrandingForTeamEvent,
shouldHideBrandingForUserEvent,
} from "@calcom/features/profile/lib/hideBranding";
import { UserRepository } from "@calcom/features/users/repositories/UserRepository";
import { HashedLinkService } from "@calcom/features/hashedLink/lib/service/HashedLinkService";
import slugify from "@calcom/lib/slugify";
import prisma from "@calcom/prisma";
import { RedirectType } from "@calcom/prisma/enums";
Expand Down Expand Up @@ -82,9 +82,8 @@ async function getUserPageProps(context: GetServerSidePropsContext) {
redirect: {
permanent: false,
// App Router doesn't have access to the current path directly, so we build it manually
destination: `${redirectWithOriginAndSearchString.origin ?? ""}/d/${link}/${slug}${
redirectWithOriginAndSearchString.searchString
}`,
destination: `${redirectWithOriginAndSearchString.origin ?? ""}/d/${link}/${slug}${redirectWithOriginAndSearchString.searchString
}`,
},
};
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ export function getBasicMockRequestDataForBooking() {
user: "teampro",
metadata: {},
hasHashedBookingLink: false,
hashedLink: null,
};
}

Expand All @@ -35,6 +34,9 @@ type CommonPropsMockRequestData = {
attendeePhoneNumber?: string;
smsReminderNumber?: string;
};
_isDryRun?: boolean;
hashedLink?: string;
hasHashedBookingLink?: boolean;
};

export function getMockRequestDataForBooking({
Expand Down
2 changes: 2 additions & 0 deletions packages/features/bookings/di/RegularBookingService.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { moduleLoader as checkBookingAndDurationLimitsModuleLoader } from "@calc
import { moduleLoader as luckyUserServiceModuleLoader } from "@calcom/features/di/modules/LuckyUser";
import { moduleLoader as userRepositoryModuleLoader } from "@calcom/features/di/modules/User";
import { DI_TOKENS } from "@calcom/features/di/tokens";
import { moduleLoader as hashedLinkServiceModuleLoader } from "@calcom/features/hashedLink/di/HashedLinkService.module";
import { moduleLoader as prismaModuleLoader } from "@calcom/prisma/prisma.module";

const thisModule = createModule();
Expand All @@ -24,6 +25,7 @@ const loadModule = bindModuleToClassOnToken({
bookingRepository: bookingRepositoryModuleLoader,
luckyUserService: luckyUserServiceModuleLoader,
userRepository: userRepositoryModuleLoader,
hashedLinkService: hashedLinkServiceModuleLoader,
},
});

Expand Down
5 changes: 5 additions & 0 deletions packages/features/bookings/lib/dto/types.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,8 @@ export type InstantBookingCreateResult = {
expires: Date;
userId: number | null;
};

// More properties to be added to this config in followup PRs
export type BookingFlowConfig = {
isDryRun: boolean;
};
Loading
Loading