Skip to content
Merged
Show file tree
Hide file tree
Changes from 81 commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
8513b17
init: improvements for update location endpoint
Ryukemeister Jan 1, 2026
b945551
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 1, 2026
08f99bf
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 5, 2026
b5d8a59
chore: init function to update calendar event
Ryukemeister Jan 6, 2026
c88b3e1
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 6, 2026
260fbfe
fix: bad imports
Ryukemeister Jan 6, 2026
5f4d0df
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 10, 2026
e155b8d
chore: update calendar event when updating location
Ryukemeister Jan 11, 2026
ebee0cf
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 18, 2026
87f0976
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
devin-ai-integration[bot] Jan 22, 2026
5a71733
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 24, 2026
3f4e7cd
chore: update platform libraries
Ryukemeister Jan 24, 2026
ab070a2
fix: update calendar event
Ryukemeister Jan 24, 2026
3de105e
chore: update platform libraries
Ryukemeister Jan 25, 2026
3847b83
chore: cleanup
Ryukemeister Jan 25, 2026
38f1082
feat: add logic for video conferecing integrations
Ryukemeister Jan 25, 2026
f319ace
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 26, 2026
5e5a91c
chore: update platform libraries
Ryukemeister Jan 26, 2026
27e7739
feat: add sms and email notifications
Ryukemeister Jan 26, 2026
951fcff
chore: update e2e tests
Ryukemeister Jan 26, 2026
3b424e6
chore: update openapi spec
Ryukemeister Jan 26, 2026
d68dbf0
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 26, 2026
a595cb9
chore: implement cubic feedback
Ryukemeister Jan 26, 2026
6499f36
chore: update openapi spec
Ryukemeister Jan 26, 2026
957d64a
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 27, 2026
89956b1
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
devin-ai-integration[bot] Jan 29, 2026
c933c18
fix: add Jest mock for Daily.co video adapter in e2e test
devin-ai-integration[bot] Jan 29, 2026
cc4e925
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 29, 2026
8adbf95
fix: mock createMeeting directly to bypass database check in e2e test
devin-ai-integration[bot] Jan 29, 2026
16bc167
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 29, 2026
14c08fb
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Jan 30, 2026
197d1de
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 2, 2026
e03220a
chore: implement PR feedback
Ryukemeister Feb 2, 2026
c7443c7
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 2, 2026
fcb1bbd
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 3, 2026
ff0116d
chore: implement feedback
Ryukemeister Feb 3, 2026
8bba90b
fix: mock throttler guard to prevent rate limiting in e2e tests
devin-ai-integration[bot] Feb 3, 2026
6aa39ae
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 3, 2026
321d81c
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 3, 2026
73af7c9
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 3, 2026
ecbddcb
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 4, 2026
5d34b63
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 4, 2026
3e699e2
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 5, 2026
a6133f1
fix: merge conflicts
Ryukemeister Feb 5, 2026
b12d8c0
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 5, 2026
ca3c4c4
chore: update platform libraries
Ryukemeister Feb 5, 2026
7bacd02
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 5, 2026
0d7be6f
chore: implement feedback part 1
Ryukemeister Feb 6, 2026
e0b6112
chore: implement feedback part 2
Ryukemeister Feb 6, 2026
7a5d19a
chore: remove unnecessary type casting
Ryukemeister Feb 6, 2026
c1fb746
chore: implement cubic feedback
Ryukemeister Feb 6, 2026
4f21718
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 6, 2026
0e9e85d
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 6, 2026
eb794a3
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 7, 2026
09b1a6b
chore: implement devin feedback
Ryukemeister Feb 7, 2026
4938852
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
devin-ai-integration[bot] Feb 11, 2026
363ae37
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 12, 2026
fdee019
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 14, 2026
2d85520
chore: implement PR feedback
Ryukemeister Feb 14, 2026
b3ed78a
fix: type error
Ryukemeister Feb 14, 2026
03dcb08
chore: update openapi spec
Ryukemeister Feb 14, 2026
e85a47d
test: add mocks and tests for Google Meet and Microsoft Teams integra…
devin-ai-integration[bot] Feb 14, 2026
d8f95fa
refactor: simplify service code - extract shared helpers, remove dupl…
devin-ai-integration[bot] Feb 14, 2026
6564b4a
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 16, 2026
340dec7
feat: implement fixtures for bookings references
Ryukemeister Feb 16, 2026
3b045cf
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 16, 2026
768b060
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Feb 16, 2026
09db19a
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
devin-ai-integration[bot] Mar 2, 2026
1f0b27c
style: apply biome formatting to resolved conflict files
devin-ai-integration[bot] Mar 2, 2026
042a803
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Mar 2, 2026
a26201a
chore: implement PR feedback
Ryukemeister Mar 6, 2026
6233139
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Mar 6, 2026
1cf2d4a
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Mar 6, 2026
17dfe25
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Mar 7, 2026
445030b
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Mar 8, 2026
3e579df
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Mar 10, 2026
8399e4a
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
ThyMinimalDev Mar 11, 2026
b26bf2d
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Mar 11, 2026
8c68fec
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Mar 13, 2026
6926c9d
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Mar 16, 2026
a6cc053
chore: implement PR feedback
Ryukemeister Mar 17, 2026
cad8de1
Merge branch 'main' into rajiv/cal-6964-api-v2-add-integration-option…
Ryukemeister Mar 17, 2026
1a140c7
fix: strengthen Cal Video fallback test assertion to verify specific …
devin-ai-integration[bot] Mar 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions apps/api/v2/src/ee/bookings/2024-08-13/bookings.module.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,11 @@ import { BookingReferencesRepository_2024_08_13 } from "@/ee/bookings/2024-08-13
import { BookingsRepository_2024_08_13 } from "@/ee/bookings/2024-08-13/repositories/bookings.repository";
import { BookingAttendeesService_2024_08_13 } from "@/ee/bookings/2024-08-13/services/booking-attendees.service";
import { BookingGuestsService_2024_08_13 } from "@/ee/bookings/2024-08-13/services/booking-guests.service";
import { BookingLocationCalendarSyncService_2024_08_13 } from "@/ee/bookings/2024-08-13/services/booking-location-calendar-sync.service";
import { BookingLocationCredentialService_2024_08_13 } from "@/ee/bookings/2024-08-13/services/booking-location-credential.service";
import { BookingLocationIntegrationService_2024_08_13 } from "@/ee/bookings/2024-08-13/services/booking-location-integration.service";
import { BookingLocationService_2024_08_13 } from "@/ee/bookings/2024-08-13/services/booking-location.service";
import { BookingVideoService_2024_08_13 } from "@/ee/bookings/2024-08-13/services/booking-video.service";
import { BookingReferencesService_2024_08_13 } from "@/ee/bookings/2024-08-13/services/booking-references.service";
import { BookingsService_2024_08_13 } from "@/ee/bookings/2024-08-13/services/bookings.service";
import { CalVideoOutputService } from "@/ee/bookings/2024-08-13/services/cal-video.output.service";
Expand Down Expand Up @@ -108,7 +112,11 @@ import { UsersModule } from "@/modules/users/users.module";
CalVideoService,
CalVideoOutputService,
BookingPbacGuard,
BookingLocationCalendarSyncService_2024_08_13,
BookingLocationCredentialService_2024_08_13,
BookingLocationIntegrationService_2024_08_13,
BookingLocationService_2024_08_13,
BookingVideoService_2024_08_13,
PrismaFeaturesRepository,
],
controllers: [
Expand Down
Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
import { BOOKING_WRITE, SUCCESS_STATUS } from "@calcom/platform-constants";
import {
UpdateBookingInputAttendeeAddressLocation_2024_08_13,
UpdateBookingInputAttendeeDefinedLocation_2024_08_13,
UpdateBookingInputAttendeePhoneLocation_2024_08_13,
UpdateBookingInputLinkLocation_2024_08_13,
UpdateBookingInputPhoneLocation_2024_08_13,
UpdateBookingLocationInput_2024_08_13,
UpdateInputAddressLocation_2024_08_13,
} from "@calcom/platform-types";
import { Body, Controller, HttpCode, HttpStatus, Param, Patch, UseGuards } from "@nestjs/common";
import { ApiExtraModels, ApiHeader, ApiOperation, ApiTags as DocsTags } from "@nestjs/swagger";
import { BookingUidGuard } from "@/ee/bookings/2024-08-13/guards/booking-uid.guard";
import { UpdateBookingLocationOutput_2024_08_13 } from "@/ee/bookings/2024-08-13/outputs/update-location.output";
import { BookingLocationService_2024_08_13 } from "@/ee/bookings/2024-08-13/services/booking-location.service";
import { VERSION_2024_08_13_VALUE, VERSION_2024_08_13 } from "@/lib/api-versions";
import { VERSION_2024_08_13, VERSION_2024_08_13_VALUE } from "@/lib/api-versions";
import { API_KEY_OR_ACCESS_TOKEN_HEADER } from "@/lib/docs/headers";
import { Throttle } from "@/lib/endpoint-throttler-decorator";
import { GetUser } from "@/modules/auth/decorators/get-user/get-user.decorator";
import { Permissions } from "@/modules/auth/decorators/permissions/permissions.decorator";
import { ApiAuthGuard } from "@/modules/auth/guards/api-auth/api-auth.guard";
import { PermissionsGuard } from "@/modules/auth/guards/permissions/permissions.guard";
import { ApiAuthGuardUser } from "@/modules/auth/strategies/api-auth/api-auth.strategy";
import { Controller, Patch, Logger, Body, UseGuards, Param, HttpCode, HttpStatus } from "@nestjs/common";
import { ApiExtraModels, ApiOperation, ApiTags as DocsTags, ApiHeader } from "@nestjs/swagger";

import { BOOKING_WRITE, SUCCESS_STATUS } from "@calcom/platform-constants";
import {
UpdateBookingLocationInput_2024_08_13,
UpdateInputAddressLocation_2024_08_13,
UpdateBookingInputAttendeeAddressLocation_2024_08_13,
UpdateBookingInputAttendeeDefinedLocation_2024_08_13,
UpdateBookingInputAttendeePhoneLocation_2024_08_13,
UpdateBookingInputLinkLocation_2024_08_13,
UpdateBookingInputPhoneLocation_2024_08_13,
} from "@calcom/platform-types";

@Controller({
path: "/v2/bookings/:bookingUid/location",
Expand All @@ -43,20 +43,23 @@ import {
required: true,
})
export class BookingLocationController_2024_08_13 {
private readonly logger = new Logger("BookingLocationController_2024_08_13");

constructor(private readonly bookingLocationService: BookingLocationService_2024_08_13) {}

@Patch("/")
Comment thread
Ryukemeister marked this conversation as resolved.
@HttpCode(HttpStatus.OK)
@Throttle({ name: "booking_location_update", limit: 5, ttl: 60000, blockDuration: 60000 })
@Permissions([BOOKING_WRITE])
@UseGuards(ApiAuthGuard, BookingUidGuard)
@ApiHeader(API_KEY_OR_ACCESS_TOKEN_HEADER)
@ApiOperation({
summary: "Update booking location for an existing booking",
description: `**Current Limitation:** Updating a booking location will update the location in Cal.com, but the corresponding Calendar event will not be updated automatically. The old location will persist in the Calendar event. This is a known limitation that will be addressed in a future update.

<Note>The cal-api-version header is required for this endpoint. Without it, the request will fail with a 404 error.</Note>`,
description: `Updates the location for an existing booking.

**Integration Fallback Behavior:**
- **Google Meet**: Requires Google Calendar to be connected. If the booking has no Google Calendar event, it will automatically fall back to Cal Video.
- **MS Teams**: If Office 365 Calendar is connected, generates the meeting link via calendar. Otherwise, uses the MS Teams video integration directly.

<Note>The cal-api-version header is required for this endpoint. Without it, the request will fail with a 404 error.</Note>`,
})
async updateBookingLocation(
@Param("bookingUid") bookingUid: string,
Expand Down
Loading
Loading