Added new filter param in item request #3094
|
@ -59,6 +59,11 @@ module.exports = Self => {
|
||||||
arg: 'state',
|
arg: 'state',
|
||||||
type: 'string',
|
type: 'string',
|
||||||
description: `Search request by request state`
|
description: `Search request by request state`
|
||||||
|
},
|
||||||
|
{
|
||||||
|
arg: 'myTeam',
|
||||||
|
type: 'boolean',
|
||||||
|
description: `Team partners`
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
returns: {
|
returns: {
|
||||||
|
@ -75,6 +80,8 @@ module.exports = Self => {
|
||||||
const conn = Self.dataSource.connector;
|
const conn = Self.dataSource.connector;
|
||||||
const userId = ctx.req.accessToken.userId;
|
const userId = ctx.req.accessToken.userId;
|
||||||
const myOptions = {};
|
const myOptions = {};
|
||||||
|
const models = Self.app.models;
|
||||||
|
const args = ctx.args;
|
||||||
|
|
||||||
if (typeof options == 'object')
|
if (typeof options == 'object')
|
||||||
jgallego marked this conversation as resolved
Outdated
|
|||||||
Object.assign(myOptions, options);
|
Object.assign(myOptions, options);
|
||||||
|
@ -82,6 +89,21 @@ module.exports = Self => {
|
||||||
if (ctx.args.mine)
|
if (ctx.args.mine)
|
||||||
ctx.args.attenderFk = userId;
|
ctx.args.attenderFk = userId;
|
||||||
|
|
||||||
|
const teamMembersId = [];
|
||||||
|
if (args.myTeam != null) {
|
||||||
|
const worker = await models.Worker.findById(userId, {
|
||||||
|
include: {
|
||||||
|
relation: 'collegues'
|
||||||
|
}
|
||||||
|
}, myOptions);
|
||||||
|
const collegues = worker.collegues() || [];
|
||||||
|
for (let collegue of collegues)
|
||||||
|
teamMembersId.push(collegue.collegueFk);
|
||||||
|
|
||||||
|
if (teamMembersId.length == 0)
|
||||||
|
teamMembersId.push(userId);
|
||||||
|
}
|
||||||
|
|
||||||
let where = buildFilter(ctx.args, (param, value) => {
|
let where = buildFilter(ctx.args, (param, value) => {
|
||||||
switch (param) {
|
switch (param) {
|
||||||
case 'search':
|
case 'search':
|
||||||
|
@ -113,6 +135,11 @@ module.exports = Self => {
|
||||||
return {'w.id': value};
|
return {'w.id': value};
|
||||||
case 'salesPersonFk':
|
case 'salesPersonFk':
|
||||||
return {'c.salesPersonFk': value};
|
return {'c.salesPersonFk': value};
|
||||||
|
case 'myTeam':
|
||||||
|
if (value)
|
||||||
|
return {'tr.requesterFk': {inq: teamMembersId}};
|
||||||
|
else
|
||||||
|
return {'tr.requesterFk': {nin: teamMembersId}};
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
subimos el codigo sin comentarios..
Esta hecho igual que las otras secciones que buscan departamentos?
Me he guiado de como está hecho en claim/filter.
De todas formas pongo a @alexm para que le pegue un vistazo por si me he dejado algo.