sending the energyLevel details also in the getUserItineraryDetails service
This commit is contained in:
@@ -190,7 +190,7 @@ export class ItineraryService {
|
||||
constructor(private prisma: PrismaClient) {}
|
||||
|
||||
async getUserItineraryDetails(userXid: number) {
|
||||
const [userLocation, activityEntries, travellerType] = await Promise.all([
|
||||
const [userLocation, activityEntries, travellerType, energyLevel] = await Promise.all([
|
||||
this.prisma.userAddressDetails.findFirst({
|
||||
where: {
|
||||
userXid,
|
||||
@@ -264,6 +264,17 @@ export class ItineraryService {
|
||||
checkInAddress: true,
|
||||
checkInLat: true,
|
||||
checkInLong: true,
|
||||
activityType: {
|
||||
select: {
|
||||
energyLevel: {
|
||||
select: {
|
||||
id: true,
|
||||
energyLevelName: true,
|
||||
energyIcon: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
ActivitiesMedia: {
|
||||
where: {
|
||||
isActive: true,
|
||||
@@ -297,6 +308,21 @@ export class ItineraryService {
|
||||
id: 'asc',
|
||||
},
|
||||
}),
|
||||
this.prisma.energyLevels.findMany({
|
||||
where: {
|
||||
isActive: true,
|
||||
deletedAt: null,
|
||||
},
|
||||
select: {
|
||||
id: true,
|
||||
energyLevelName: true,
|
||||
energyIcon: true,
|
||||
energyColor: true,
|
||||
},
|
||||
orderBy: {
|
||||
id: 'asc',
|
||||
}
|
||||
})
|
||||
]);
|
||||
|
||||
const formattedActivities = await Promise.all(
|
||||
@@ -325,6 +351,18 @@ export class ItineraryService {
|
||||
coverImagePresignedUrl: await attachPresignedUrl(
|
||||
coverImage?.mediaFileName,
|
||||
),
|
||||
energyLevel: entry.Activities?.activityType?.energyLevel
|
||||
? {
|
||||
id: entry.Activities.activityType.energyLevel.id,
|
||||
energyLevelName:
|
||||
entry.Activities.activityType.energyLevel.energyLevelName,
|
||||
energyIcon:
|
||||
entry.Activities.activityType.energyLevel.energyIcon,
|
||||
energyIconPresignedUrl: await attachPresignedUrl(
|
||||
entry.Activities.activityType.energyLevel.energyIcon,
|
||||
),
|
||||
}
|
||||
: null,
|
||||
media: await attachMediaWithPresignedUrl(
|
||||
entry.Activities?.ActivitiesMedia ?? [],
|
||||
),
|
||||
@@ -334,10 +372,17 @@ export class ItineraryService {
|
||||
);
|
||||
|
||||
const latestAddedActivity = formattedActivities[0] ?? null;
|
||||
const formattedMasterEnergyLevels = await Promise.all(
|
||||
energyLevel.map(async (item) => ({
|
||||
...item,
|
||||
energyIconPresignedUrl: await attachPresignedUrl(item.energyIcon),
|
||||
})),
|
||||
);
|
||||
|
||||
return {
|
||||
userLocation,
|
||||
travellerType,
|
||||
energyLevel: formattedMasterEnergyLevels,
|
||||
bucketCount: formattedActivities.filter((item) => item.isBucket).length,
|
||||
interestedCount: formattedActivities.filter((item) => !item.isBucket).length,
|
||||
latestAddedActivityCoverImage:
|
||||
|
||||
Reference in New Issue
Block a user