242dfa4d4db07f56b1954a9124e459354268df67
[motion2.git] / server / api / intDeskConfiguration / intDeskConfiguration.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0xd960=['findOne','DeskField','options','hasOwnProperty','nolimit','getSubjects','getDescriptions','getTags','setTags','ids','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path','sox','ejs','lodash','squel','crypto','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','status','end','json','offset','limit','count','set','Content-Range','save','update','destroy','then','error','stack','name','send','index','DeskConfiguration','rawAttributes','fieldName','key','model','map','query','filters','intersection','attributes','fields','length','order','sort','pick','filter','merge','where','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','keys','find','create','body','getFields'];(function(_0x476bf4,_0x2a3755){var _0x788ffe=function(_0x13fa11){while(--_0x13fa11){_0x476bf4['push'](_0x476bf4['shift']());}};_0x788ffe(++_0x2a3755);}(_0xd960,0xae));var _0x0d96=function(_0x47ced9,_0x7abee9){_0x47ced9=_0x47ced9-0x0;var _0x5363db=_0xd960[_0x47ced9];return _0x5363db;};'use strict';var emlformat=require(_0x0d96('0x0'));var rimraf=require(_0x0d96('0x1'));var zipdir=require(_0x0d96('0x2'));var jsonpatch=require(_0x0d96('0x3'));var rp=require('request-promise');var moment=require(_0x0d96('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x0d96('0x5'));var util=require(_0x0d96('0x6'));var path=require(_0x0d96('0x7'));var sox=require(_0x0d96('0x8'));var csv=require('to-csv');var ejs=require(_0x0d96('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x0d96('0xa'));var squel=require(_0x0d96('0xb'));var crypto=require(_0x0d96('0xc'));var jsforce=require('jsforce');var deskjs=require(_0x0d96('0xd'));var toCsv=require(_0x0d96('0xe'));var querystring=require(_0x0d96('0xf'));var Papa=require(_0x0d96('0x10'));var Redis=require('ioredis');var authService=require(_0x0d96('0x11'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0d96('0x12'));var logger=require('../../config/logger')(_0x0d96('0x13'));var utils=require(_0x0d96('0x14'));var config=require(_0x0d96('0x15'));var licenseUtil=require(_0x0d96('0x16'));var db=require(_0x0d96('0x17'))['db'];function respondWithStatusCode(_0x3be67a,_0x5029e5){_0x5029e5=_0x5029e5||0xcc;return function(_0x13077e){if(_0x13077e){return _0x3be67a['sendStatus'](_0x5029e5);}return _0x3be67a[_0x0d96('0x18')](_0x5029e5)[_0x0d96('0x19')]();};}function respondWithResult(_0x2e8ae5,_0x50259a){_0x50259a=_0x50259a||0xc8;return function(_0x708eb){if(_0x708eb){return _0x2e8ae5[_0x0d96('0x18')](_0x50259a)[_0x0d96('0x1a')](_0x708eb);}};}function respondWithFilteredResult(_0x3aa1e5,_0x1ff8b3){return function(_0x2efd60){if(_0x2efd60){var _0x447555=typeof _0x1ff8b3[_0x0d96('0x1b')]==='undefined'&&typeof _0x1ff8b3[_0x0d96('0x1c')]==='undefined';var _0x5c9635=_0x2efd60['count'];var _0x1908a4=_0x447555?0x0:_0x1ff8b3['offset'];var _0x3cd656=_0x447555?_0x2efd60[_0x0d96('0x1d')]:_0x1ff8b3[_0x0d96('0x1b')]+_0x1ff8b3[_0x0d96('0x1c')];var _0x12d5da;if(_0x3cd656>=_0x5c9635){_0x3cd656=_0x5c9635;_0x12d5da=0xc8;}else{_0x12d5da=0xce;}_0x3aa1e5[_0x0d96('0x18')](_0x12d5da);return _0x3aa1e5[_0x0d96('0x1e')](_0x0d96('0x1f'),_0x1908a4+'-'+_0x3cd656+'/'+_0x5c9635)[_0x0d96('0x1a')](_0x2efd60);}return null;};}function patchUpdates(_0x23dd5e){return function(_0x5bb9e4){try{jsonpatch['apply'](_0x5bb9e4,_0x23dd5e,!![]);}catch(_0x512a13){return BPromise['reject'](_0x512a13);}return _0x5bb9e4[_0x0d96('0x20')]();};}function saveUpdates(_0x5d5cdd,_0x4be764){return function(_0x3e2a3b){if(_0x3e2a3b){return _0x3e2a3b[_0x0d96('0x21')](_0x5d5cdd)['then'](function(_0x199f68){return _0x199f68;});}return null;};}function removeEntity(_0x1c0693,_0x27d1a1){return function(_0x3c14f4){if(_0x3c14f4){return _0x3c14f4[_0x0d96('0x22')]()[_0x0d96('0x23')](function(){_0x1c0693[_0x0d96('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x340e0f,_0x42f201){return function(_0x1e22c3){if(!_0x1e22c3){_0x340e0f['sendStatus'](0x194);}return _0x1e22c3;};}function handleError(_0x31d279,_0xe3806d){_0xe3806d=_0xe3806d||0x1f4;return function(_0x407269){logger[_0x0d96('0x24')](_0x407269[_0x0d96('0x25')]);if(_0x407269[_0x0d96('0x26')]){delete _0x407269['name'];}_0x31d279[_0x0d96('0x18')](_0xe3806d)[_0x0d96('0x27')](_0x407269);};}exports[_0x0d96('0x28')]=function(_0x32d687,_0x598982){var _0x3e6d2f={},_0x3f641c={},_0x87590={'count':0x0,'rows':[]};var _0x4333fe=_['map'](db[_0x0d96('0x29')][_0x0d96('0x2a')],function(_0x28d798){return{'name':_0x28d798[_0x0d96('0x2b')],'type':_0x28d798['type'][_0x0d96('0x2c')]};});_0x3f641c[_0x0d96('0x2d')]=_[_0x0d96('0x2e')](_0x4333fe,_0x0d96('0x26'));_0x3f641c[_0x0d96('0x2f')]=_['keys'](_0x32d687['query']);_0x3f641c[_0x0d96('0x30')]=_[_0x0d96('0x31')](_0x3f641c[_0x0d96('0x2d')],_0x3f641c['query']);_0x3e6d2f[_0x0d96('0x32')]=_[_0x0d96('0x31')](_0x3f641c[_0x0d96('0x2d')],qs[_0x0d96('0x33')](_0x32d687[_0x0d96('0x2f')][_0x0d96('0x33')]));_0x3e6d2f['attributes']=_0x3e6d2f[_0x0d96('0x32')][_0x0d96('0x34')]?_0x3e6d2f[_0x0d96('0x32')]:_0x3f641c[_0x0d96('0x2d')];if(!_0x32d687['query']['hasOwnProperty']('nolimit')){_0x3e6d2f[_0x0d96('0x1c')]=qs[_0x0d96('0x1c')](_0x32d687[_0x0d96('0x2f')]['limit']);_0x3e6d2f['offset']=qs[_0x0d96('0x1b')](_0x32d687[_0x0d96('0x2f')][_0x0d96('0x1b')]);}_0x3e6d2f[_0x0d96('0x35')]=qs[_0x0d96('0x36')](_0x32d687[_0x0d96('0x2f')][_0x0d96('0x36')]);_0x3e6d2f['where']=qs[_0x0d96('0x30')](_[_0x0d96('0x37')](_0x32d687['query'],_0x3f641c[_0x0d96('0x30')]),_0x4333fe);if(_0x32d687['query'][_0x0d96('0x38')]){_0x3e6d2f['where']=_[_0x0d96('0x39')](_0x3e6d2f[_0x0d96('0x3a')],{'$or':_['map'](_0x4333fe,function(_0x541563){if(_0x541563['type']!==_0x0d96('0x3b')){var _0x444d72={};_0x444d72[_0x541563[_0x0d96('0x26')]]={'$like':'%'+_0x32d687[_0x0d96('0x2f')][_0x0d96('0x38')]+'%'};return _0x444d72;}})});}_0x3e6d2f=_[_0x0d96('0x39')]({},_0x3e6d2f,_0x32d687['options']);var _0x23018c={'where':_0x3e6d2f[_0x0d96('0x3a')]};return db['DeskConfiguration']['count'](_0x23018c)[_0x0d96('0x23')](function(_0x2a38d6){_0x87590['count']=_0x2a38d6;if(_0x32d687[_0x0d96('0x2f')][_0x0d96('0x3c')]){_0x3e6d2f[_0x0d96('0x3d')]=[{'all':!![]}];}return db[_0x0d96('0x29')][_0x0d96('0x3e')](_0x3e6d2f);})['then'](function(_0x104c3a){_0x87590[_0x0d96('0x3f')]=_0x104c3a;return _0x87590;})[_0x0d96('0x23')](respondWithFilteredResult(_0x598982,_0x3e6d2f))[_0x0d96('0x40')](handleError(_0x598982,null));};exports[_0x0d96('0x41')]=function(_0x3d2dd4,_0x24a5c2){var _0x2c6907={'raw':![],'where':{'id':_0x3d2dd4[_0x0d96('0x42')]['id']}},_0x3d81dc={};_0x3d81dc[_0x0d96('0x2d')]=_[_0x0d96('0x43')](db[_0x0d96('0x29')]['rawAttributes']);_0x3d81dc[_0x0d96('0x2f')]=_[_0x0d96('0x43')](_0x3d2dd4[_0x0d96('0x2f')]);_0x3d81dc[_0x0d96('0x30')]=_[_0x0d96('0x31')](_0x3d81dc[_0x0d96('0x2d')],_0x3d81dc[_0x0d96('0x2f')]);_0x2c6907['attributes']=_[_0x0d96('0x31')](_0x3d81dc['model'],qs['fields'](_0x3d2dd4[_0x0d96('0x2f')][_0x0d96('0x33')]));_0x2c6907[_0x0d96('0x32')]=_0x2c6907[_0x0d96('0x32')][_0x0d96('0x34')]?_0x2c6907[_0x0d96('0x32')]:_0x3d81dc[_0x0d96('0x2d')];if(_0x3d2dd4[_0x0d96('0x2f')][_0x0d96('0x3c')]){_0x2c6907[_0x0d96('0x3d')]=[{'all':!![]}];}_0x2c6907=_[_0x0d96('0x39')]({},_0x2c6907,_0x3d2dd4['options']);return db[_0x0d96('0x29')][_0x0d96('0x44')](_0x2c6907)[_0x0d96('0x23')](handleEntityNotFound(_0x24a5c2,null))['then'](respondWithResult(_0x24a5c2,null))[_0x0d96('0x40')](handleError(_0x24a5c2,null));};exports[_0x0d96('0x45')]=function(_0x497a48,_0x2b857a){return db[_0x0d96('0x29')][_0x0d96('0x45')](_0x497a48['body'],{})[_0x0d96('0x23')](respondWithResult(_0x2b857a,0xc9))['catch'](handleError(_0x2b857a,null));};exports[_0x0d96('0x21')]=function(_0x3570ea,_0x1894ca){if(_0x3570ea[_0x0d96('0x46')]['id']){delete _0x3570ea[_0x0d96('0x46')]['id'];}return db[_0x0d96('0x29')][_0x0d96('0x44')]({'where':{'id':_0x3570ea[_0x0d96('0x42')]['id']}})[_0x0d96('0x23')](handleEntityNotFound(_0x1894ca,null))[_0x0d96('0x23')](saveUpdates(_0x3570ea[_0x0d96('0x46')],null))['then'](respondWithResult(_0x1894ca,null))['catch'](handleError(_0x1894ca,null));};exports[_0x0d96('0x22')]=function(_0x36f107,_0x4db8a3){return db['DeskConfiguration'][_0x0d96('0x44')]({'where':{'id':_0x36f107[_0x0d96('0x42')]['id']}})[_0x0d96('0x23')](handleEntityNotFound(_0x4db8a3,null))[_0x0d96('0x23')](removeEntity(_0x4db8a3,null))['catch'](handleError(_0x4db8a3,null));};exports[_0x0d96('0x47')]=function(_0x34d4a9,_0xcccdc1,_0x1d640f){var _0x2dd702={};var _0xf4dfce={};var _0x5290f8;var _0x42c100;return db[_0x0d96('0x29')][_0x0d96('0x48')]({'where':{'id':_0x34d4a9[_0x0d96('0x42')]['id']}})[_0x0d96('0x23')](handleEntityNotFound(_0xcccdc1,null))[_0x0d96('0x23')](function(_0x5abf4){if(_0x5abf4){_0x5290f8=_0x5abf4;_0xf4dfce[_0x0d96('0x2d')]=_[_0x0d96('0x43')](db[_0x0d96('0x49')][_0x0d96('0x2a')]);_0xf4dfce[_0x0d96('0x2f')]=_['keys'](_0x34d4a9[_0x0d96('0x2f')]);_0xf4dfce['filters']=_['intersection'](_0xf4dfce[_0x0d96('0x2d')],_0xf4dfce[_0x0d96('0x2f')]);_0x2dd702[_0x0d96('0x32')]=_[_0x0d96('0x31')](_0xf4dfce[_0x0d96('0x2d')],qs[_0x0d96('0x33')](_0x34d4a9['query'][_0x0d96('0x33')]));_0x2dd702[_0x0d96('0x32')]=_0x2dd702[_0x0d96('0x32')][_0x0d96('0x34')]?_0x2dd702[_0x0d96('0x32')]:_0xf4dfce[_0x0d96('0x2d')];_0x2dd702[_0x0d96('0x35')]=qs[_0x0d96('0x36')](_0x34d4a9[_0x0d96('0x2f')][_0x0d96('0x36')]);_0x2dd702[_0x0d96('0x3a')]=qs[_0x0d96('0x30')](_[_0x0d96('0x37')](_0x34d4a9[_0x0d96('0x2f')],_0xf4dfce['filters']));if(_0x34d4a9[_0x0d96('0x2f')]['filter']){_0x2dd702[_0x0d96('0x3a')]=_[_0x0d96('0x39')](_0x2dd702[_0x0d96('0x3a')],{'$or':_[_0x0d96('0x2e')](_0x2dd702[_0x0d96('0x32')],function(_0xbe88b6){var _0x577672={};_0x577672[_0xbe88b6]={'$like':'%'+_0x34d4a9[_0x0d96('0x2f')]['filter']+'%'};return _0x577672;})});}_0x2dd702=_['merge']({},_0x2dd702,_0x34d4a9[_0x0d96('0x4a')]);return _0x5290f8[_0x0d96('0x47')](_0x2dd702);}})[_0x0d96('0x23')](function(_0x42f46d){if(_0x42f46d){_0x42c100=_0x42f46d[_0x0d96('0x34')];if(!_0x34d4a9[_0x0d96('0x2f')][_0x0d96('0x4b')](_0x0d96('0x4c'))){_0x2dd702[_0x0d96('0x1c')]=qs[_0x0d96('0x1c')](_0x34d4a9[_0x0d96('0x2f')][_0x0d96('0x1c')]);_0x2dd702[_0x0d96('0x1b')]=qs['offset'](_0x34d4a9['query'][_0x0d96('0x1b')]);}return _0x5290f8[_0x0d96('0x47')](_0x2dd702);}})[_0x0d96('0x23')](function(_0x1b6ce5){if(_0x1b6ce5){return _0x1b6ce5?{'count':_0x42c100,'rows':_0x1b6ce5}:null;}})[_0x0d96('0x23')](respondWithResult(_0xcccdc1,null))[_0x0d96('0x40')](handleError(_0xcccdc1,null));};exports[_0x0d96('0x4d')]=function(_0x4b2091,_0x53d3f8,_0x537d09){var _0x4ecd4a={};var _0xa50c4a={};var _0x5b2530;var _0x522322;return db['DeskConfiguration'][_0x0d96('0x48')]({'where':{'id':_0x4b2091[_0x0d96('0x42')]['id']}})[_0x0d96('0x23')](handleEntityNotFound(_0x53d3f8,null))[_0x0d96('0x23')](function(_0x3a250b){if(_0x3a250b){_0x5b2530=_0x3a250b;_0xa50c4a[_0x0d96('0x2d')]=_[_0x0d96('0x43')](db[_0x0d96('0x49')][_0x0d96('0x2a')]);_0xa50c4a['query']=_[_0x0d96('0x43')](_0x4b2091['query']);_0xa50c4a['filters']=_[_0x0d96('0x31')](_0xa50c4a['model'],_0xa50c4a[_0x0d96('0x2f')]);_0x4ecd4a[_0x0d96('0x32')]=_['intersection'](_0xa50c4a[_0x0d96('0x2d')],qs['fields'](_0x4b2091['query'][_0x0d96('0x33')]));_0x4ecd4a[_0x0d96('0x32')]=_0x4ecd4a[_0x0d96('0x32')][_0x0d96('0x34')]?_0x4ecd4a[_0x0d96('0x32')]:_0xa50c4a[_0x0d96('0x2d')];_0x4ecd4a[_0x0d96('0x35')]=qs[_0x0d96('0x36')](_0x4b2091[_0x0d96('0x2f')][_0x0d96('0x36')]);_0x4ecd4a[_0x0d96('0x3a')]=qs[_0x0d96('0x30')](_[_0x0d96('0x37')](_0x4b2091['query'],_0xa50c4a[_0x0d96('0x30')]));if(_0x4b2091['query']['filter']){_0x4ecd4a[_0x0d96('0x3a')]=_[_0x0d96('0x39')](_0x4ecd4a[_0x0d96('0x3a')],{'$or':_['map'](_0x4ecd4a[_0x0d96('0x32')],function(_0x51904e){var _0x446b71={};_0x446b71[_0x51904e]={'$like':'%'+_0x4b2091[_0x0d96('0x2f')][_0x0d96('0x38')]+'%'};return _0x446b71;})});}_0x4ecd4a=_['merge']({},_0x4ecd4a,_0x4b2091[_0x0d96('0x4a')]);return _0x5b2530['getSubjects'](_0x4ecd4a);}})['then'](function(_0x3ae6f4){if(_0x3ae6f4){_0x522322=_0x3ae6f4[_0x0d96('0x34')];if(!_0x4b2091[_0x0d96('0x2f')]['hasOwnProperty'](_0x0d96('0x4c'))){_0x4ecd4a[_0x0d96('0x1c')]=qs['limit'](_0x4b2091[_0x0d96('0x2f')][_0x0d96('0x1c')]);_0x4ecd4a[_0x0d96('0x1b')]=qs[_0x0d96('0x1b')](_0x4b2091[_0x0d96('0x2f')][_0x0d96('0x1b')]);}return _0x5b2530[_0x0d96('0x4d')](_0x4ecd4a);}})[_0x0d96('0x23')](function(_0xac964){if(_0xac964){return _0xac964?{'count':_0x522322,'rows':_0xac964}:null;}})[_0x0d96('0x23')](respondWithResult(_0x53d3f8,null))['catch'](handleError(_0x53d3f8,null));};exports[_0x0d96('0x4e')]=function(_0x32d671,_0x3434dd,_0x9f51fc){var _0x3af2cc={};var _0x535a28={};var _0x24e059;var _0x1c2d6e;return db[_0x0d96('0x29')][_0x0d96('0x48')]({'where':{'id':_0x32d671[_0x0d96('0x42')]['id']}})['then'](handleEntityNotFound(_0x3434dd,null))['then'](function(_0x5c836c){if(_0x5c836c){_0x24e059=_0x5c836c;_0x535a28[_0x0d96('0x2d')]=_[_0x0d96('0x43')](db[_0x0d96('0x49')][_0x0d96('0x2a')]);_0x535a28['query']=_[_0x0d96('0x43')](_0x32d671[_0x0d96('0x2f')]);_0x535a28[_0x0d96('0x30')]=_[_0x0d96('0x31')](_0x535a28[_0x0d96('0x2d')],_0x535a28[_0x0d96('0x2f')]);_0x3af2cc['attributes']=_[_0x0d96('0x31')](_0x535a28['model'],qs['fields'](_0x32d671['query']['fields']));_0x3af2cc[_0x0d96('0x32')]=_0x3af2cc[_0x0d96('0x32')][_0x0d96('0x34')]?_0x3af2cc['attributes']:_0x535a28['model'];_0x3af2cc['order']=qs[_0x0d96('0x36')](_0x32d671[_0x0d96('0x2f')][_0x0d96('0x36')]);_0x3af2cc['where']=qs[_0x0d96('0x30')](_[_0x0d96('0x37')](_0x32d671[_0x0d96('0x2f')],_0x535a28[_0x0d96('0x30')]));if(_0x32d671[_0x0d96('0x2f')][_0x0d96('0x38')]){_0x3af2cc['where']=_['merge'](_0x3af2cc['where'],{'$or':_['map'](_0x3af2cc['attributes'],function(_0x13b42d){var _0x4c4a34={};_0x4c4a34[_0x13b42d]={'$like':'%'+_0x32d671['query'][_0x0d96('0x38')]+'%'};return _0x4c4a34;})});}_0x3af2cc=_[_0x0d96('0x39')]({},_0x3af2cc,_0x32d671[_0x0d96('0x4a')]);return _0x24e059[_0x0d96('0x4e')](_0x3af2cc);}})[_0x0d96('0x23')](function(_0x2cc99c){if(_0x2cc99c){_0x1c2d6e=_0x2cc99c['length'];if(!_0x32d671[_0x0d96('0x2f')][_0x0d96('0x4b')](_0x0d96('0x4c'))){_0x3af2cc[_0x0d96('0x1c')]=qs['limit'](_0x32d671[_0x0d96('0x2f')][_0x0d96('0x1c')]);_0x3af2cc[_0x0d96('0x1b')]=qs[_0x0d96('0x1b')](_0x32d671['query'][_0x0d96('0x1b')]);}return _0x24e059[_0x0d96('0x4e')](_0x3af2cc);}})[_0x0d96('0x23')](function(_0x239ff0){if(_0x239ff0){return _0x239ff0?{'count':_0x1c2d6e,'rows':_0x239ff0}:null;}})[_0x0d96('0x23')](respondWithResult(_0x3434dd,null))[_0x0d96('0x40')](handleError(_0x3434dd,null));};exports[_0x0d96('0x4f')]=function(_0x8c6043,_0x287c1a,_0x584a26){var _0x43970d={};var _0x59a2d2={};var _0x24ae74;var _0x13f023;return db[_0x0d96('0x29')][_0x0d96('0x48')]({'where':{'id':_0x8c6043[_0x0d96('0x42')]['id']}})['then'](handleEntityNotFound(_0x287c1a,null))[_0x0d96('0x23')](function(_0x58cb0e){if(_0x58cb0e){_0x24ae74=_0x58cb0e;_0x59a2d2['model']=_[_0x0d96('0x43')](db['Tag']['rawAttributes']);_0x59a2d2[_0x0d96('0x2f')]=_[_0x0d96('0x43')](_0x8c6043[_0x0d96('0x2f')]);_0x59a2d2[_0x0d96('0x30')]=_['intersection'](_0x59a2d2[_0x0d96('0x2d')],_0x59a2d2['query']);_0x43970d[_0x0d96('0x32')]=_[_0x0d96('0x31')](_0x59a2d2[_0x0d96('0x2d')],qs[_0x0d96('0x33')](_0x8c6043[_0x0d96('0x2f')]['fields']));_0x43970d[_0x0d96('0x32')]=_0x43970d[_0x0d96('0x32')][_0x0d96('0x34')]?_0x43970d[_0x0d96('0x32')]:_0x59a2d2[_0x0d96('0x2d')];_0x43970d[_0x0d96('0x35')]=qs[_0x0d96('0x36')](_0x8c6043['query']['sort']);_0x43970d['where']=qs[_0x0d96('0x30')](_[_0x0d96('0x37')](_0x8c6043[_0x0d96('0x2f')],_0x59a2d2[_0x0d96('0x30')]));if(_0x8c6043[_0x0d96('0x2f')][_0x0d96('0x38')]){_0x43970d[_0x0d96('0x3a')]=_['merge'](_0x43970d[_0x0d96('0x3a')],{'$or':_[_0x0d96('0x2e')](_0x43970d[_0x0d96('0x32')],function(_0x1219f9){var _0x17fa3b={};_0x17fa3b[_0x1219f9]={'$like':'%'+_0x8c6043[_0x0d96('0x2f')]['filter']+'%'};return _0x17fa3b;})});}_0x43970d=_[_0x0d96('0x39')]({},_0x43970d,_0x8c6043[_0x0d96('0x4a')]);return _0x24ae74[_0x0d96('0x4f')](_0x43970d);}})[_0x0d96('0x23')](function(_0x21992f){if(_0x21992f){_0x13f023=_0x21992f[_0x0d96('0x34')];if(!_0x8c6043[_0x0d96('0x2f')]['hasOwnProperty'](_0x0d96('0x4c'))){_0x43970d[_0x0d96('0x1c')]=qs[_0x0d96('0x1c')](_0x8c6043[_0x0d96('0x2f')][_0x0d96('0x1c')]);_0x43970d[_0x0d96('0x1b')]=qs[_0x0d96('0x1b')](_0x8c6043[_0x0d96('0x2f')][_0x0d96('0x1b')]);}return _0x24ae74[_0x0d96('0x4f')](_0x43970d);}})[_0x0d96('0x23')](function(_0x1731ca){if(_0x1731ca){return _0x1731ca?{'count':_0x13f023,'rows':_0x1731ca}:null;}})['then'](respondWithResult(_0x287c1a,null))[_0x0d96('0x40')](handleError(_0x287c1a,null));};exports[_0x0d96('0x50')]=function(_0x21b2a3,_0x334d0c,_0x4d207d){if(_0x21b2a3[_0x0d96('0x46')]['id']){delete _0x21b2a3['body']['id'];}return db[_0x0d96('0x29')][_0x0d96('0x48')]({'where':{'id':_0x21b2a3[_0x0d96('0x42')]['id']}})[_0x0d96('0x23')](handleEntityNotFound(_0x334d0c,null))[_0x0d96('0x23')](function(_0x27a02c){if(_0x27a02c){return _0x27a02c[_0x0d96('0x50')](_0x21b2a3[_0x0d96('0x46')][_0x0d96('0x51')]||[]);}return null;})[_0x0d96('0x23')](respondWithResult(_0x334d0c,null))[_0x0d96('0x40')](handleError(_0x334d0c,null));};