@@ -101,9 +101,13 @@ export class OutputBookingsService_2024_08_13 {
101101 ) ;
102102 const metadata = safeParse ( bookingMetadataSchema , databaseBooking . metadata , defaultBookingMetadata ) ;
103103 const location = metadata ?. videoCallUrl || databaseBooking . location ;
104- const rescheduledToUid = databaseBooking . rescheduled
105- ? await this . getRescheduledToUid ( databaseBooking . uid )
104+ const rescheduledToInfo = databaseBooking . rescheduled
105+ ? await this . getRescheduledToInfo ( databaseBooking . uid )
106106 : undefined ;
107+
108+ const rescheduledToUid = rescheduledToInfo ?. uid ;
109+ const rescheduledByEmail = databaseBooking . rescheduled ? rescheduledToInfo ?. rescheduledBy : databaseBooking . rescheduledBy ;
110+
107111
108112 const booking = {
109113 id : databaseBooking . id ,
@@ -116,7 +120,6 @@ export class OutputBookingsService_2024_08_13 {
116120 databaseBooking . status === "CANCELLED" ? databaseBooking . cancellationReason : undefined ,
117121 cancelledByEmail : databaseBooking . status === "CANCELLED" ? databaseBooking . cancelledBy : undefined ,
118122 reschedulingReason : bookingResponses ?. rescheduledReason ,
119- rescheduledByEmail : databaseBooking . rescheduledBy || undefined ,
120123 rescheduledFromUid : databaseBooking . fromReschedule || undefined ,
121124 start : databaseBooking . startTime ,
122125 end : databaseBooking . endTime ,
@@ -142,6 +145,7 @@ export class OutputBookingsService_2024_08_13 {
142145 rating : databaseBooking . rating ,
143146 icsUid : databaseBooking . iCalUID ,
144147 rescheduledToUid,
148+ rescheduledByEmail,
145149 } ;
146150
147151 const bookingTransformed = plainToClass ( BookingOutput_2024_08_13 , booking , { strategy : "excludeAll" } ) ;
@@ -151,11 +155,15 @@ export class OutputBookingsService_2024_08_13 {
151155 return bookingTransformed ;
152156 }
153157
154- async getRescheduledToUid ( bookingUid : string ) {
158+ async getRescheduledToInfo ( bookingUid : string ) : Promise < { uid ?: string ; rescheduledBy ?: string | null } > {
155159 const rescheduledTo = await this . bookingsRepository . getByFromReschedule ( bookingUid ) ;
156- return rescheduledTo ?. uid ;
160+ return {
161+ uid : rescheduledTo ?. uid ,
162+ rescheduledBy : rescheduledTo ?. rescheduledBy
163+ } ;
157164 }
158165
166+
159167 getUserDefinedMetadata ( databaseMetadata : DatabaseMetadata ) {
160168 if ( databaseMetadata === null ) return { } ;
161169
@@ -218,7 +226,6 @@ export class OutputBookingsService_2024_08_13 {
218226 databaseBooking . status === "CANCELLED" ? databaseBooking . cancellationReason : undefined ,
219227 cancelledByEmail : databaseBooking . status === "CANCELLED" ? databaseBooking . cancelledBy : undefined ,
220228 reschedulingReason : bookingResponses ?. rescheduledReason ,
221- rescheduledByEmail : databaseBooking . rescheduledBy || undefined ,
222229 rescheduledFromUid : databaseBooking . fromReschedule || undefined ,
223230 start : databaseBooking . startTime ,
224231 end : databaseBooking . endTime ,
@@ -269,9 +276,12 @@ export class OutputBookingsService_2024_08_13 {
269276 const duration = dateEnd . diff ( dateStart , "minutes" ) . minutes ;
270277 const metadata = safeParse ( bookingMetadataSchema , databaseBooking . metadata , defaultBookingMetadata ) ;
271278 const location = metadata ?. videoCallUrl || databaseBooking . location ;
272- const rescheduledToUid = databaseBooking . rescheduled
273- ? await this . getRescheduledToUid ( databaseBooking . uid )
279+ const rescheduledToInfo = databaseBooking . rescheduled
280+ ? await this . getRescheduledToInfo ( databaseBooking . uid )
274281 : undefined ;
282+
283+ const rescheduledToUid = rescheduledToInfo ?. uid ;
284+ const rescheduledByEmail = databaseBooking . rescheduled ? rescheduledToInfo ?. rescheduledBy : databaseBooking . rescheduledBy ;
275285
276286 const booking = {
277287 id : databaseBooking . id ,
@@ -299,6 +309,7 @@ export class OutputBookingsService_2024_08_13 {
299309 rating : databaseBooking . rating ,
300310 icsUid : databaseBooking . iCalUID ,
301311 rescheduledToUid,
312+ rescheduledByEmail,
302313 } ;
303314
304315 const parsed = plainToClass ( GetSeatedBookingOutput_2024_08_13 , booking , { strategy : "excludeAll" } ) ;
0 commit comments