-
Notifications
You must be signed in to change notification settings - Fork 11.6k
chore: Integrate edit location booking audit #26569
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
hariombalhara
wants to merge
16
commits into
main
Choose a base branch
from
devin/edit-location-audit-1767854684
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Contributor
🤖 Devin AI EngineerI'll be helping with this pull request! Here's what you should know: ✅ I will automatically:
Note: I can only respond to comments from users who have write access to this repository. ⚙️ Control Options:
|
- Changed the variable name from `bookingLocation` to `bookingFieldsLocation` in the BookingLocationService for clarity. - Introduced a new `ValidActionSource` type to ensure only valid action sources are used in the booking audit process, removing the `UNKNOWN` option from the action source schema. - Refactored the `editLocationHandler` to utilize the new `ValidActionSource` type and removed the handling of `UNKNOWN` action sources. - Cleaned up formatting and improved readability in several files related to booking cancellation and location editing.
…ect import Co-Authored-By: [email protected] <[email protected]>
…nager.devin.ai/proxy/github.com/calcom/cal.com into devin/edit-location-audit-1767854684
f0dcf26 to
8b617f9
Compare
Instead of adding individual providers (Logger, TaskerService, HashedLinkService, BookingAuditProducerService, BookingEventHandlerService) to each bookings module, create a dedicated BookingEventHandlerModule that can be imported where needed. This reduces code duplication and makes dependency management cleaner. Co-Authored-By: [email protected] <[email protected]>
…com/cal.com into devin/edit-location-audit-1767854684
Contributor
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No issues found across 7 files
Contributor
E2E results are ready! |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
core
area: core, team members only
enterprise
area: enterprise, audit log, organisation, SAML, SSO
ready-for-e2e
size/L
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What does this PR do?
Integrates booking audit logging for the edit location functionality, following the pattern established in PR #26046 (booking creation/rescheduling audit).
This PR adds audit logging when a booking's location is changed through:
packages/trpc/server/routers/viewer/bookings/editLocation.handler.tsapps/api/v2/src/ee/bookings/2024-08-13/services/booking-location.service.tsChanges:
actionSourceas a required parameter toeditLocationHandler(no fallback)userUuidparameter (defaults to logged-in user's uuid)ValidActionSourcetype that excludes "UNKNOWN" for client-facing APIsBookingEventHandlerService.onLocationChanged()after successful location updateactionSource: "WEBAPP", API v2 usesactionSource: "API_V2"actionSource: "WEBAPP"actionSource: "WEBAPP"BookingEventHandlerServiceinjected via constructorUpdates since last revision:
BookingEventHandlerModule(apps/api/v2/src/lib/modules/booking-event-handler.module.ts) to encapsulateBookingEventHandlerServiceand its dependencies (Logger, TaskerService, HashedLinkService, BookingAuditProducerService)BookingEventHandlerModuleinstead of listing individual providersMandatory Tasks (DO NOT REMOVE)
How should this be tested?
bookingUidactor(user who made the change)source("WEBAPP" or "API_V2")auditData.location.oldandauditData.location.newvaluesChecklist
Human Review Checklist
editLocationHandlerpassactionSource(router updated, test updated)organizationIdderivation is correct in both handlers (tRPC usesbooking.user?.profiles?.[0]?.organizationId, API v2 usesexistingBookingHost.organizationId)editLocationHandler- this is correctBookingEventHandlerModuleproperly exportsBookingEventHandlerServiceand is imported in both bookings modulesupdateBookingLocationInDbreturn value ({ updatedLocation }) is destructured and used correctly for audit databookingLocationfor auditnewvalue, while tRPC usesupdatedLocationfrom DB updateLink to Devin run: https://app.devin.ai/sessions/fd1d439779674050a26ea3fa7d799943
Requested by: @hariombalhara