Merge branch 'sprint1' of http://git.wdipl.com/Mayank.Mishra/MinglarBackendNestJS into paritosh-main1
This commit is contained in:
@@ -102,6 +102,17 @@ export class HostService {
|
||||
documentType: true,
|
||||
},
|
||||
},
|
||||
accountManager: {
|
||||
select: {
|
||||
id: true,
|
||||
firstName: true,
|
||||
lastName: true,
|
||||
emailAddress: true,
|
||||
mobileNumber: true,
|
||||
profileImage: true,
|
||||
userRefNumber: true,
|
||||
}
|
||||
},
|
||||
user: {
|
||||
select: {
|
||||
id: true,
|
||||
@@ -161,7 +172,7 @@ export class HostService {
|
||||
}
|
||||
}
|
||||
}
|
||||
if (host.user.profileImage) {
|
||||
if (host.user?.profileImage) {
|
||||
const key = host.user.profileImage.startsWith("http")
|
||||
? host.user.profileImage.split(".com/")[1]
|
||||
: host.user.profileImage;
|
||||
@@ -169,7 +180,7 @@ export class HostService {
|
||||
host.user.profileImage = await getPresignedUrl(bucket, key);
|
||||
}
|
||||
|
||||
if (host.logoPath) {
|
||||
if (host?.logoPath) {
|
||||
const key = host.logoPath.startsWith('http')
|
||||
? host.logoPath.split('.com/')[1]
|
||||
: host.logoPath;
|
||||
@@ -177,6 +188,14 @@ export class HostService {
|
||||
host.logoPath = await getPresignedUrl(bucket, key);
|
||||
}
|
||||
|
||||
if (host.accountManager?.profileImage) {
|
||||
const key = host.accountManager.profileImage.startsWith('http')
|
||||
? host.accountManager.profileImage.split('.com/')[1]
|
||||
: host.accountManager.profileImage;
|
||||
|
||||
host.accountManager.profileImage = await getPresignedUrl(bucket, key);
|
||||
}
|
||||
|
||||
if (host.hostParent?.length) {
|
||||
const parent = host.hostParent[0]; // since you allow only 1 parent
|
||||
|
||||
@@ -365,18 +384,76 @@ export class HostService {
|
||||
});
|
||||
}
|
||||
|
||||
async getAllHostActivity(search?: string, hostXid?: number) {
|
||||
return await this.prisma.activities.findMany({
|
||||
async getAllHostActivity(search?: string, user_xid?: number) {
|
||||
const hostDetails = await this.prisma.hostHeader.findFirst({
|
||||
where: { userXid: user_xid, isActive: true }
|
||||
})
|
||||
|
||||
const hostAllActivities = await this.prisma.activities.findMany({
|
||||
where: {
|
||||
isActive: true,
|
||||
hostXid: hostXid,
|
||||
hostXid: hostDetails.id,
|
||||
},
|
||||
include: {
|
||||
ActivitiesMedia: true,
|
||||
ActivityAmDetails: true,
|
||||
ActivityAmDetails: {
|
||||
select: {
|
||||
accountManager: {
|
||||
select: {
|
||||
id: true,
|
||||
firstName: true,
|
||||
lastName: true,
|
||||
profileImage: true,
|
||||
emailAddress: true,
|
||||
roleXid: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
activityType: true,
|
||||
},
|
||||
});
|
||||
|
||||
for (const activity of hostAllActivities) {
|
||||
|
||||
/** 1️⃣ Process Activity Media */
|
||||
const processedMedia = [];
|
||||
|
||||
for (const media of activity.ActivitiesMedia || []) {
|
||||
|
||||
const key = media.mediaFileName?.startsWith("http")
|
||||
? media.mediaFileName.split(".com/")[1]
|
||||
: media.mediaFileName;
|
||||
|
||||
const presignedUrl = key ? await getPresignedUrl(bucket, key) : null;
|
||||
|
||||
processedMedia.push({
|
||||
...media,
|
||||
presignedUrl,
|
||||
});
|
||||
}
|
||||
|
||||
activity.ActivitiesMedia = processedMedia;
|
||||
|
||||
/** 2️⃣ Process AM Profile Image */
|
||||
const am = activity.ActivityAmDetails?.[0]?.accountManager;
|
||||
|
||||
if (am?.profileImage) {
|
||||
const key = am.profileImage.startsWith("http")
|
||||
? am.profileImage.split(".com/")[1]
|
||||
: am.profileImage;
|
||||
|
||||
const presignedUrl = await getPresignedUrl(bucket, key);
|
||||
|
||||
activity.ActivityAmDetails[0].accountManager = {
|
||||
...am,
|
||||
profileImage: presignedUrl,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return hostAllActivities;
|
||||
}
|
||||
|
||||
async acceptMinglarAgreement(user_xid: number) {
|
||||
|
||||
@@ -291,26 +291,26 @@ export class MinglarService {
|
||||
// Process each activity
|
||||
for (const activity of hostActivities) {
|
||||
|
||||
/** --------------------------
|
||||
* 1️⃣ Process Activity Media
|
||||
* -------------------------- */
|
||||
if (activity.ActivitiesMedia?.length) {
|
||||
for (const media of activity.ActivitiesMedia) {
|
||||
/** 1️⃣ Process Activity Media */
|
||||
const processedMedia = [];
|
||||
|
||||
if (!media.mediaFileName) continue;
|
||||
for (const media of activity.ActivitiesMedia || []) {
|
||||
|
||||
// Extract S3 key if URL or keep raw key
|
||||
const key = media.mediaFileName.startsWith("http")
|
||||
? media.mediaFileName.split(".com/")[1]
|
||||
: media.mediaFileName;
|
||||
const key = media.mediaFileName?.startsWith("http")
|
||||
? media.mediaFileName.split(".com/")[1]
|
||||
: media.mediaFileName;
|
||||
|
||||
media.mediaFileName = await getPresignedUrl(bucket, key);
|
||||
}
|
||||
const presignedUrl = key ? await getPresignedUrl(bucket, key) : null;
|
||||
|
||||
processedMedia.push({
|
||||
...media,
|
||||
presignedUrl,
|
||||
});
|
||||
}
|
||||
|
||||
/** --------------------------
|
||||
* 2️⃣ Process AM Profile Image
|
||||
* -------------------------- */
|
||||
activity.ActivitiesMedia = processedMedia;
|
||||
|
||||
/** 2️⃣ Process AM Profile Image */
|
||||
const am = activity.ActivityAmDetails?.[0]?.accountManager;
|
||||
|
||||
if (am?.profileImage) {
|
||||
@@ -318,10 +318,16 @@ export class MinglarService {
|
||||
? am.profileImage.split(".com/")[1]
|
||||
: am.profileImage;
|
||||
|
||||
am.profileImage = await getPresignedUrl(bucket, key);
|
||||
const presignedUrl = await getPresignedUrl(bucket, key);
|
||||
|
||||
activity.ActivityAmDetails[0].accountManager = {
|
||||
...am,
|
||||
profileImage: presignedUrl,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
return hostActivities;
|
||||
}
|
||||
|
||||
@@ -1577,6 +1583,25 @@ export class MinglarService {
|
||||
locationLat: true,
|
||||
locationLong: true,
|
||||
locationName: true,
|
||||
pinCode: true,
|
||||
country: {
|
||||
select: {
|
||||
id: true,
|
||||
countryName: true
|
||||
}
|
||||
},
|
||||
cities: {
|
||||
select: {
|
||||
id: true,
|
||||
cityName: true,
|
||||
}
|
||||
},
|
||||
states: {
|
||||
select: {
|
||||
id: true,
|
||||
stateName: true
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
userDocuments: {
|
||||
@@ -1645,9 +1670,9 @@ export class MinglarService {
|
||||
isActive: true
|
||||
},
|
||||
data: {
|
||||
activityInternalStatus: ACTIVITY_INTERNAL_STATUS.PQQ_TO_UPDATE,
|
||||
activityInternalStatus: ACTIVITY_INTERNAL_STATUS.PQ_TO_UPDATE,
|
||||
activityDisplayStatus: ACTIVITY_DISPLAY_STATUS.ENHANCING,
|
||||
amInternalStatus: ACTIVITY_AM_INTERNAL_STATUS.PQQ_REJECTED,
|
||||
amInternalStatus: ACTIVITY_AM_INTERNAL_STATUS.PQ_REJECTED,
|
||||
amDisplayStatus: ACTIVITY_AM_DISPLAY_STATUS.ENHANCING
|
||||
}
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user