diff --git a/src/request-management/request-management.service.ts b/src/request-management/request-management.service.ts index 17270fc..c948130 100644 --- a/src/request-management/request-management.service.ts +++ b/src/request-management/request-management.service.ts @@ -3872,10 +3872,19 @@ export class RequestManagementService { async getAllBlameRequestsV2(user: any): Promise { try { + const userIdFilter = + user?.sub && Types.ObjectId.isValid(user.sub) + ? { "parties.person.userId": new Types.ObjectId(user.sub) } + : null; + const phoneFilter = user?.username + ? { "parties.person.phoneNumber": user.username } + : null; + + const filters = [userIdFilter, phoneFilter].filter(Boolean); + if (filters.length === 0) return []; + const requests = await this.blameRequestDbService.find( - { - "parties.person.userId": new Types.ObjectId(user.sub), - }, + filters.length === 1 ? (filters[0] as any) : ({ $or: filters } as any), { select: "requestNo type status blameStatus createdAt updatedAt parties", } @@ -3883,7 +3892,9 @@ export class RequestManagementService { const enriched = requests.map((req: any) => { const party = req.parties.find( - (p: any) => String(p.person.userId) === String(user.sub) + (p: any) => + (p?.person?.userId && String(p.person.userId) === String(user.sub)) || + (p?.person?.phoneNumber && p.person.phoneNumber === user?.username), ); const obj = req.toObject();