made getMatchingBucketInterestedActivities api
This commit is contained in:
@@ -34,7 +34,7 @@ const bucket = config.aws.bucketName;
|
||||
|
||||
@Injectable()
|
||||
export class MinglarService {
|
||||
constructor(private prisma: PrismaService | PrismaClient) {}
|
||||
constructor(private prisma: PrismaService | PrismaClient) { }
|
||||
|
||||
async createPassword(user_xid: number, password: string): Promise<boolean> {
|
||||
// Find user by id
|
||||
@@ -314,6 +314,8 @@ export class MinglarService {
|
||||
companyName: true,
|
||||
user: {
|
||||
select: {
|
||||
firstName: true,
|
||||
lastName: true,
|
||||
userRefNumber: true,
|
||||
},
|
||||
},
|
||||
@@ -375,11 +377,52 @@ export class MinglarService {
|
||||
const {
|
||||
paginationService,
|
||||
} = require('@/common/utils/pagination/pagination.service');
|
||||
return paginationService.createPaginatedResponse(
|
||||
|
||||
let hostDetails = null;
|
||||
|
||||
if (hostXid) {
|
||||
hostDetails = await this.prisma.hostHeader.findUnique({
|
||||
where: { id: hostXid },
|
||||
select: {
|
||||
companyName: true,
|
||||
user: {
|
||||
select: {
|
||||
firstName: true,
|
||||
lastName: true,
|
||||
userRefNumber: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
const paginatedResponse = paginationService.createPaginatedResponse(
|
||||
hostActivities,
|
||||
totalCount,
|
||||
paginationOptions || { page: 1, limit: 10, skip: 0 },
|
||||
);
|
||||
|
||||
// 👇 ADD THIS BLOCK
|
||||
if (hostActivities.length === 0 && hostDetails) {
|
||||
paginatedResponse.data = [
|
||||
{
|
||||
id: null,
|
||||
activityRefNumber: null,
|
||||
activityTitle: null,
|
||||
totalScore: null,
|
||||
activityInternalStatus: null,
|
||||
activityDisplayStatus: null,
|
||||
amInternalStatus: null,
|
||||
amDisplayStatus: null,
|
||||
createdAt: null,
|
||||
host: hostDetails,
|
||||
ActivityAmDetails: [],
|
||||
activityType: null,
|
||||
},
|
||||
];
|
||||
}
|
||||
|
||||
return paginatedResponse;
|
||||
}
|
||||
|
||||
async createUserRevenue(
|
||||
@@ -818,7 +861,7 @@ export class MinglarService {
|
||||
if (
|
||||
userStatus &&
|
||||
userStatus.trim().toLowerCase() ===
|
||||
MINGLAR_STATUS_DISPLAY.NEW.toLowerCase()
|
||||
MINGLAR_STATUS_DISPLAY.NEW.toLowerCase()
|
||||
) {
|
||||
filters.adminStatusInternal = MINGLAR_STATUS_INTERNAL.ADMIN_TO_REVIEW;
|
||||
}
|
||||
@@ -1188,15 +1231,15 @@ export class MinglarService {
|
||||
// Build search filter if search term is provided
|
||||
const searchFilter = search
|
||||
? {
|
||||
OR: [
|
||||
{ email: { contains: search, mode: 'insensitive' as const } },
|
||||
{ firstName: { contains: search, mode: 'insensitive' as const } },
|
||||
{ lastName: { contains: search, mode: 'insensitive' as const } },
|
||||
{
|
||||
userRefNumber: { contains: search, mode: 'insensitive' as const },
|
||||
},
|
||||
],
|
||||
}
|
||||
OR: [
|
||||
{ email: { contains: search, mode: 'insensitive' as const } },
|
||||
{ firstName: { contains: search, mode: 'insensitive' as const } },
|
||||
{ lastName: { contains: search, mode: 'insensitive' as const } },
|
||||
{
|
||||
userRefNumber: { contains: search, mode: 'insensitive' as const },
|
||||
},
|
||||
],
|
||||
}
|
||||
: {};
|
||||
|
||||
// 1. Fetch all required users (Admin, Co-Admin, AM)
|
||||
@@ -1827,8 +1870,8 @@ export class MinglarService {
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
async rejectActivityApplicationByAM(activityId: number, user_xid: number) {
|
||||
return await this.prisma.$transaction(async (tx) => {
|
||||
await tx.activities.update({
|
||||
|
||||
Reference in New Issue
Block a user