diff --git a/prisma/schema.prisma b/prisma/schema.prisma index 289c72d..6020f49 100644 --- a/prisma/schema.prisma +++ b/prisma/schema.prisma @@ -1719,6 +1719,7 @@ model ItineraryActivities { id Int @id @default(autoincrement()) itineraryHeaderXid Int @map("itinerary_header_xid") itineraryHeader ItineraryHeader @relation(fields: [itineraryHeaderXid], references: [id], onDelete: Cascade) + displayOrder Int @default(0) @map("display_order") itineraryType String @map("itinerary_type") @db.VarChar(30) activityXid Int? @map("activity_xid") activity Activities? @relation(fields: [activityXid], references: [id], onDelete: Restrict) diff --git a/src/modules/user/services/itinerary.service.ts b/src/modules/user/services/itinerary.service.ts index 94695e0..3ca6af7 100644 --- a/src/modules/user/services/itinerary.service.ts +++ b/src/modules/user/services/itinerary.service.ts @@ -582,7 +582,7 @@ export class ItineraryService { }); const createdActivities = await Promise.all( - payload.activities.map(async (activityItem) => { + payload.activities.map(async (activityItem, activityIndex) => { const itineraryType = activityItem.itineraryType?.trim().toUpperCase() || 'ACTIVITY'; const isCustomItineraryType = @@ -642,6 +642,7 @@ export class ItineraryService { itineraryHeader: { connect: { id: itineraryHeader.id }, }, + displayOrder: activityIndex, itineraryType, occurenceDate: startOfDay(customStartDateTime), startTime: activityItem.selectedStartTime, @@ -665,6 +666,7 @@ export class ItineraryService { data: customActivityData, select: { id: true, + displayOrder: true, itineraryType: true, activityXid: true, scheduledHeaderXid: true, @@ -934,6 +936,7 @@ export class ItineraryService { itineraryHeader: { connect: { id: itineraryHeader.id }, }, + displayOrder: activityIndex, itineraryType, activity: { connect: { id: activityItem.activityXid }, @@ -973,6 +976,7 @@ export class ItineraryService { data: activityData, select: { id: true, + displayOrder: true, activityXid: true, scheduledHeaderXid: true, venueXid: true, @@ -1106,12 +1110,12 @@ export class ItineraryService { deletedAt: null, }, orderBy: [ - { occurenceDate: 'asc' }, - { startTime: 'asc' }, + { displayOrder: 'asc' }, { createdAt: 'asc' }, ], select: { id: true, + displayOrder: true, itineraryType: true, activityXid: true, scheduledHeaderXid: true, @@ -1388,6 +1392,7 @@ export class ItineraryService { return { id: item.id, + displayOrder: item.displayOrder, itineraryType: item.itineraryType, activityXid: item.activityXid, scheduledHeaderXid: item.scheduledHeaderXid,