75d611c2e8
* Integrate creation/rescheduling booking audit * fix: add missing hostUserUuid to booking audit test data Co-Authored-By: hariom@cal.com <hariombalhara@gmail.com> * fix-ci * feat: enhance booking audit with seat reference - Added support for seat reference in booking audit actions. - Updated localization for booking creation to include seat information. - Modified relevant services to pass attendee seat ID during booking creation. * fix: update test data to match schema requirements - Add seatReferenceUid: null to default mock audit log data - Add seatReferenceUid: null to multiple audit logs test case - Convert SEAT_RESCHEDULED test data to use numeric timestamps instead of ISO strings Co-Authored-By: hariom@cal.com <hariombalhara@gmail.com> * Allow nullish seatReferenceUid * feat: enhance booking audit to support rescheduledBy information - Updated booking audit actions to include rescheduledBy details, allowing tracking of who rescheduled a booking. - Refactored related services to accommodate the new rescheduledBy parameter in booking events. - Adjusted type definitions and function signatures to reflect the changes in the booking audit context. * Avoid possible run time issue * Fix imoport path * fix failing test due to merge from main\ * Pass useruuid --------- Co-authored-by: Devin AI <158243242+devin-ai-integration[bot]@users.noreply.github.com>
53 lines
1.0 KiB
TypeScript
53 lines
1.0 KiB
TypeScript
import type { BookingStatus } from "@calcom/prisma/enums";
|
|
|
|
export const buildBookingCreatedAuditData = ({
|
|
booking,
|
|
attendeeSeatId,
|
|
}: {
|
|
attendeeSeatId: string | null;
|
|
booking: {
|
|
startTime: Date;
|
|
endTime: Date;
|
|
status: BookingStatus;
|
|
userUuid: string | null;
|
|
};
|
|
}) => {
|
|
return {
|
|
startTime: booking.startTime.getTime(),
|
|
endTime: booking.endTime.getTime(),
|
|
status: booking.status,
|
|
hostUserUuid: booking.userUuid,
|
|
seatReferenceUid: attendeeSeatId,
|
|
};
|
|
};
|
|
|
|
export const buildBookingRescheduledAuditData = ({
|
|
oldBooking,
|
|
newBooking,
|
|
}: {
|
|
oldBooking: {
|
|
startTime: Date;
|
|
endTime: Date;
|
|
};
|
|
newBooking: {
|
|
startTime: Date;
|
|
endTime: Date;
|
|
uid: string;
|
|
};
|
|
}) => {
|
|
return {
|
|
startTime: {
|
|
old: oldBooking.startTime.getTime(),
|
|
new: newBooking.startTime.getTime(),
|
|
},
|
|
endTime: {
|
|
old: oldBooking.endTime.getTime(),
|
|
new: newBooking.endTime.getTime(),
|
|
},
|
|
rescheduledToUid: {
|
|
old: null,
|
|
new: newBooking.uid,
|
|
},
|
|
};
|
|
};
|