diff --git a/src/modules/host/services/host.service.ts b/src/modules/host/services/host.service.ts index a511f36..4cad483 100644 --- a/src/modules/host/services/host.service.ts +++ b/src/modules/host/services/host.service.ts @@ -1142,6 +1142,23 @@ export class HostService { }, }, }, + ActivitiesMedia: { + where: { + isActive: true, + isCoverImage: true, + deletedAt: null, + }, + select: { + id: true, + mediaFileName: true, + mediaType: true, + isCoverImage: true, + }, + orderBy: { + displayOrder: 'asc', + }, + take: 1, + }, }, skip: paginationOptions?.skip || 0, take: paginationOptions?.limit || 10, @@ -1168,11 +1185,31 @@ export class HostService { } } + const hostActivitiesWithAssets = await Promise.all( + hostAllActivities.map(async (activity) => { + const coverImage = activity.ActivitiesMedia?.[0] ?? null; + const coverImagePresignedUrl = coverImage?.mediaFileName + ? await getPresignedUrl( + bucket, + coverImage.mediaFileName.startsWith('http') + ? coverImage.mediaFileName.split('.com/')[1] + : coverImage.mediaFileName, + ) + : null; + + return { + ...activity, + coverImage: coverImage?.mediaFileName ?? null, + coverImagePresignedUrl, + }; + }), + ); + const { paginationService, } = require('@/common/utils/pagination/pagination.service'); return paginationService.createPaginatedResponse( - hostAllActivities, + hostActivitiesWithAssets, totalCount, paginationOptions || { page: 1, limit: 10, skip: 0 }, );