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