This commit is contained in:
pradeepkumar
2026-03-19 11:34:27 +05:30
parent a68cd4c7d3
commit 80d08a677c

View File

@@ -202,13 +202,36 @@ export class AgentsService {
};
if (search) {
where.OR = [
{ firstName: { contains: search, mode: 'insensitive' } },
{ lastName: { contains: search, mode: 'insensitive' } },
{ bio: { contains: search, mode: 'insensitive' } },
{ headline: { contains: search, mode: 'insensitive' } },
{ companyName: { contains: search, mode: 'insensitive' } },
];
const searchParts = search.trim().split(/\s+/);
if (searchParts.length > 1) {
// Multi-word search (e.g. "John Smith") — match first+last name combination
// plus still try the full string against other fields
where.OR = [
// Match firstName + lastName across parts
{
AND: searchParts.map((part) => ({
OR: [
{ firstName: { contains: part, mode: 'insensitive' as const } },
{ lastName: { contains: part, mode: 'insensitive' as const } },
],
})),
},
// Also match the full search string against other fields
{ bio: { contains: search, mode: 'insensitive' } },
{ headline: { contains: search, mode: 'insensitive' } },
{ companyName: { contains: search, mode: 'insensitive' } },
];
} else {
// Single word search — match against any field
where.OR = [
{ firstName: { contains: search, mode: 'insensitive' } },
{ lastName: { contains: search, mode: 'insensitive' } },
{ bio: { contains: search, mode: 'insensitive' } },
{ headline: { contains: search, mode: 'insensitive' } },
{ companyName: { contains: search, mode: 'insensitive' } },
];
}
}
// General location search - searches across legacy columns AND dynamic field values