fix: refs #7323 worker/filter
gitea/salix/pipeline/pr-dev This commit looks good Details

This commit is contained in:
Jorge Penadés 2024-09-16 16:33:22 +02:00
parent cabc9660d6
commit 4d0bb81632
1 changed files with 30 additions and 3 deletions

View File

@ -67,6 +67,18 @@ module.exports = Self => {
type: 'String', type: 'String',
description: 'The worker user name', description: 'The worker user name',
http: {source: 'query'} http: {source: 'query'}
},
{
arg: 'SSN',
type: 'String',
description: 'The worker SSN',
http: {source: 'query'}
},
{
arg: 'email',
type: 'String',
description: 'The user email',
http: {source: 'query'}
} }
], ],
returns: { returns: {
@ -99,6 +111,8 @@ module.exports = Self => {
return {'w.firstName': {like: `%${value}%`}}; return {'w.firstName': {like: `%${value}%`}};
case 'lastName': case 'lastName':
return {'w.lastName': {like: `%${value}%`}}; return {'w.lastName': {like: `%${value}%`}};
case 'nickname':
return {'u.nickname': {like: `%${value}%`}};
case 'extension': case 'extension':
return {'p.extension': value}; return {'p.extension': value};
case 'fi': case 'fi':
@ -107,6 +121,10 @@ module.exports = Self => {
return {'d.id': value}; return {'d.id': value};
case 'userName': case 'userName':
return {'u.name': {like: `%${value}%`}}; return {'u.name': {like: `%${value}%`}};
case 'email':
return {'eu.email': {like: `%${value}%`}};
case 'SSN':
return {'w.SSN': value};
} }
}); });
@ -116,15 +134,24 @@ module.exports = Self => {
let stmt; let stmt;
stmt = new ParameterizedSQL( stmt = new ParameterizedSQL(
`SELECT w.id, u.email, p.extension, u.name as userName, `SELECT w.id,
d.name AS department, w.lastName, u.nickname, mu.email w.lastName,
w.firstName,
w.SSN,
u.email,
u.nickname,
p.extension,
u.name as userName,
d.name AS department,
eu.email,
c.fi
FROM worker w FROM worker w
LEFT JOIN workerDepartment wd ON wd.workerFk = w.id LEFT JOIN workerDepartment wd ON wd.workerFk = w.id
LEFT JOIN department d ON d.id = wd.departmentFk LEFT JOIN department d ON d.id = wd.departmentFk
LEFT JOIN client c ON c.id = w.id LEFT JOIN client c ON c.id = w.id
LEFT JOIN account.user u ON u.id = w.id LEFT JOIN account.user u ON u.id = w.id
LEFT JOIN pbx.sip p ON p.user_id = u.id LEFT JOIN pbx.sip p ON p.user_id = u.id
LEFT JOIN account.emailUser mu ON mu.userFk = u.id` LEFT JOIN account.emailUser eu ON eu.userFk = u.id`
); );
stmt.merge(conn.makeSuffix(filter)); stmt.merge(conn.makeSuffix(filter));