efab5e085067e8502c512d5e196335ede984c6e7
[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 _0x7b26=['where','VIRTUAL','options','includeAll','rows','catch','show','params','include','find','create','body','findOne','DeskField','getFields','length','getSubjects','getDescriptions','Tag','getTags','setTags','ids','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','api','../../config/utils','../../config/license/util','../../mysqldb','status','end','json','offset','undefined','count','limit','set','Content-Range','apply','reject','save','update','then','destroy','sendStatus','error','stack','name','index','DeskConfiguration','rawAttributes','fieldName','type','key','map','query','keys','filters','intersection','attributes','model','fields','hasOwnProperty','nolimit','order','sort','pick','filter','merge'];(function(_0x50a0c2,_0x4befab){var _0x5ebadd=function(_0x3a3342){while(--_0x3a3342){_0x50a0c2['push'](_0x50a0c2['shift']());}};_0x5ebadd(++_0x4befab);}(_0x7b26,0xc2));var _0x67b2=function(_0x4d544a,_0x3aa5cd){_0x4d544a=_0x4d544a-0x0;var _0x21b3f6=_0x7b26[_0x4d544a];return _0x21b3f6;};'use strict';var emlformat=require(_0x67b2('0x0'));var rimraf=require(_0x67b2('0x1'));var zipdir=require(_0x67b2('0x2'));var jsonpatch=require(_0x67b2('0x3'));var rp=require('request-promise');var moment=require(_0x67b2('0x4'));var BPromise=require(_0x67b2('0x5'));var Mustache=require(_0x67b2('0x6'));var util=require(_0x67b2('0x7'));var path=require(_0x67b2('0x8'));var sox=require('sox');var csv=require(_0x67b2('0x9'));var ejs=require(_0x67b2('0xa'));var fs=require('fs');var fs_extra=require(_0x67b2('0xb'));var _=require(_0x67b2('0xc'));var squel=require(_0x67b2('0xd'));var crypto=require('crypto');var jsforce=require(_0x67b2('0xe'));var deskjs=require(_0x67b2('0xf'));var toCsv=require(_0x67b2('0x9'));var querystring=require(_0x67b2('0x10'));var Papa=require(_0x67b2('0x11'));var Redis=require(_0x67b2('0x12'));var authService=require(_0x67b2('0x13'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')(_0x67b2('0x14'));var utils=require(_0x67b2('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0x67b2('0x16'));var db=require(_0x67b2('0x17'))['db'];function respondWithStatusCode(_0x492ff6,_0x47cba2){_0x47cba2=_0x47cba2||0xcc;return function(_0x3f1b10){if(_0x3f1b10){return _0x492ff6['sendStatus'](_0x47cba2);}return _0x492ff6[_0x67b2('0x18')](_0x47cba2)[_0x67b2('0x19')]();};}function respondWithResult(_0x2f541e,_0x332553){_0x332553=_0x332553||0xc8;return function(_0x251f0c){if(_0x251f0c){return _0x2f541e['status'](_0x332553)[_0x67b2('0x1a')](_0x251f0c);}};}function respondWithFilteredResult(_0x532e58,_0x3cf7c6){return function(_0x3f8eb2){if(_0x3f8eb2){var _0x133394=typeof _0x3cf7c6[_0x67b2('0x1b')]===_0x67b2('0x1c')&&typeof _0x3cf7c6['limit']===_0x67b2('0x1c');var _0x4ec476=_0x3f8eb2[_0x67b2('0x1d')];var _0x4896aa=_0x133394?0x0:_0x3cf7c6[_0x67b2('0x1b')];var _0x50e983=_0x133394?_0x3f8eb2[_0x67b2('0x1d')]:_0x3cf7c6[_0x67b2('0x1b')]+_0x3cf7c6[_0x67b2('0x1e')];var _0x8bfefb;if(_0x50e983>=_0x4ec476){_0x50e983=_0x4ec476;_0x8bfefb=0xc8;}else{_0x8bfefb=0xce;}_0x532e58[_0x67b2('0x18')](_0x8bfefb);return _0x532e58[_0x67b2('0x1f')](_0x67b2('0x20'),_0x4896aa+'-'+_0x50e983+'/'+_0x4ec476)[_0x67b2('0x1a')](_0x3f8eb2);}return null;};}function patchUpdates(_0x226a84){return function(_0x4382ec){try{jsonpatch[_0x67b2('0x21')](_0x4382ec,_0x226a84,!![]);}catch(_0x49d9a2){return BPromise[_0x67b2('0x22')](_0x49d9a2);}return _0x4382ec[_0x67b2('0x23')]();};}function saveUpdates(_0x1e5307,_0x3cb818){return function(_0x1beeef){if(_0x1beeef){return _0x1beeef[_0x67b2('0x24')](_0x1e5307)[_0x67b2('0x25')](function(_0x959f9f){return _0x959f9f;});}return null;};}function removeEntity(_0x3b4fcd,_0x5038d3){return function(_0x430009){if(_0x430009){return _0x430009[_0x67b2('0x26')]()[_0x67b2('0x25')](function(){_0x3b4fcd[_0x67b2('0x18')](0xcc)['end']();});}};}function handleEntityNotFound(_0x55dfa6,_0x17415c){return function(_0x4f851c){if(!_0x4f851c){_0x55dfa6[_0x67b2('0x27')](0x194);}return _0x4f851c;};}function handleError(_0x5f5c4f,_0x3d4bd0){_0x3d4bd0=_0x3d4bd0||0x1f4;return function(_0xb4021c){logger[_0x67b2('0x28')](_0xb4021c[_0x67b2('0x29')]);if(_0xb4021c[_0x67b2('0x2a')]){delete _0xb4021c[_0x67b2('0x2a')];}_0x5f5c4f[_0x67b2('0x18')](_0x3d4bd0)['send'](_0xb4021c);};}exports[_0x67b2('0x2b')]=function(_0x23aed3,_0x5c2c65){var _0x84dc7c={},_0x612e6e={},_0x59284e={'count':0x0,'rows':[]};var _0x2cb673=_['map'](db[_0x67b2('0x2c')][_0x67b2('0x2d')],function(_0x183cf2){return{'name':_0x183cf2[_0x67b2('0x2e')],'type':_0x183cf2[_0x67b2('0x2f')][_0x67b2('0x30')]};});_0x612e6e['model']=_[_0x67b2('0x31')](_0x2cb673,'name');_0x612e6e[_0x67b2('0x32')]=_[_0x67b2('0x33')](_0x23aed3[_0x67b2('0x32')]);_0x612e6e[_0x67b2('0x34')]=_[_0x67b2('0x35')](_0x612e6e['model'],_0x612e6e['query']);_0x84dc7c[_0x67b2('0x36')]=_[_0x67b2('0x35')](_0x612e6e[_0x67b2('0x37')],qs[_0x67b2('0x38')](_0x23aed3[_0x67b2('0x32')][_0x67b2('0x38')]));_0x84dc7c[_0x67b2('0x36')]=_0x84dc7c['attributes']['length']?_0x84dc7c[_0x67b2('0x36')]:_0x612e6e[_0x67b2('0x37')];if(!_0x23aed3['query'][_0x67b2('0x39')](_0x67b2('0x3a'))){_0x84dc7c[_0x67b2('0x1e')]=qs[_0x67b2('0x1e')](_0x23aed3['query'][_0x67b2('0x1e')]);_0x84dc7c['offset']=qs['offset'](_0x23aed3['query'][_0x67b2('0x1b')]);}_0x84dc7c[_0x67b2('0x3b')]=qs[_0x67b2('0x3c')](_0x23aed3['query'][_0x67b2('0x3c')]);_0x84dc7c['where']=qs[_0x67b2('0x34')](_[_0x67b2('0x3d')](_0x23aed3[_0x67b2('0x32')],_0x612e6e[_0x67b2('0x34')]),_0x2cb673);if(_0x23aed3[_0x67b2('0x32')][_0x67b2('0x3e')]){_0x84dc7c['where']=_[_0x67b2('0x3f')](_0x84dc7c[_0x67b2('0x40')],{'$or':_[_0x67b2('0x31')](_0x2cb673,function(_0x2f6ddd){if(_0x2f6ddd[_0x67b2('0x2f')]!==_0x67b2('0x41')){var _0x3fdfcc={};_0x3fdfcc[_0x2f6ddd[_0x67b2('0x2a')]]={'$like':'%'+_0x23aed3[_0x67b2('0x32')]['filter']+'%'};return _0x3fdfcc;}})});}_0x84dc7c=_[_0x67b2('0x3f')]({},_0x84dc7c,_0x23aed3[_0x67b2('0x42')]);var _0x467fc4={'where':_0x84dc7c[_0x67b2('0x40')]};return db[_0x67b2('0x2c')]['count'](_0x467fc4)[_0x67b2('0x25')](function(_0x560fd3){_0x59284e[_0x67b2('0x1d')]=_0x560fd3;if(_0x23aed3[_0x67b2('0x32')][_0x67b2('0x43')]){_0x84dc7c['include']=[{'all':!![]}];}return db[_0x67b2('0x2c')]['findAll'](_0x84dc7c);})['then'](function(_0x11a9fa){_0x59284e[_0x67b2('0x44')]=_0x11a9fa;return _0x59284e;})['then'](respondWithFilteredResult(_0x5c2c65,_0x84dc7c))[_0x67b2('0x45')](handleError(_0x5c2c65,null));};exports[_0x67b2('0x46')]=function(_0x2d32c3,_0x369e94){var _0x47d8c8={'raw':![],'where':{'id':_0x2d32c3[_0x67b2('0x47')]['id']}},_0x38d229={};_0x38d229[_0x67b2('0x37')]=_[_0x67b2('0x33')](db[_0x67b2('0x2c')][_0x67b2('0x2d')]);_0x38d229[_0x67b2('0x32')]=_[_0x67b2('0x33')](_0x2d32c3[_0x67b2('0x32')]);_0x38d229['filters']=_['intersection'](_0x38d229[_0x67b2('0x37')],_0x38d229[_0x67b2('0x32')]);_0x47d8c8[_0x67b2('0x36')]=_[_0x67b2('0x35')](_0x38d229[_0x67b2('0x37')],qs[_0x67b2('0x38')](_0x2d32c3[_0x67b2('0x32')][_0x67b2('0x38')]));_0x47d8c8[_0x67b2('0x36')]=_0x47d8c8['attributes']['length']?_0x47d8c8[_0x67b2('0x36')]:_0x38d229['model'];if(_0x2d32c3[_0x67b2('0x32')][_0x67b2('0x43')]){_0x47d8c8[_0x67b2('0x48')]=[{'all':!![]}];}_0x47d8c8=_['merge']({},_0x47d8c8,_0x2d32c3[_0x67b2('0x42')]);return db[_0x67b2('0x2c')][_0x67b2('0x49')](_0x47d8c8)[_0x67b2('0x25')](handleEntityNotFound(_0x369e94,null))[_0x67b2('0x25')](respondWithResult(_0x369e94,null))[_0x67b2('0x45')](handleError(_0x369e94,null));};exports[_0x67b2('0x4a')]=function(_0x43e679,_0x55473f){return db['DeskConfiguration'][_0x67b2('0x4a')](_0x43e679[_0x67b2('0x4b')],{})[_0x67b2('0x25')](respondWithResult(_0x55473f,0xc9))['catch'](handleError(_0x55473f,null));};exports[_0x67b2('0x24')]=function(_0x49385e,_0x578234){if(_0x49385e['body']['id']){delete _0x49385e[_0x67b2('0x4b')]['id'];}return db[_0x67b2('0x2c')][_0x67b2('0x49')]({'where':{'id':_0x49385e[_0x67b2('0x47')]['id']}})[_0x67b2('0x25')](handleEntityNotFound(_0x578234,null))[_0x67b2('0x25')](saveUpdates(_0x49385e['body'],null))[_0x67b2('0x25')](respondWithResult(_0x578234,null))[_0x67b2('0x45')](handleError(_0x578234,null));};exports[_0x67b2('0x26')]=function(_0x3e969b,_0x54cd15){return db[_0x67b2('0x2c')][_0x67b2('0x49')]({'where':{'id':_0x3e969b['params']['id']}})[_0x67b2('0x25')](handleEntityNotFound(_0x54cd15,null))[_0x67b2('0x25')](removeEntity(_0x54cd15,null))[_0x67b2('0x45')](handleError(_0x54cd15,null));};exports['getFields']=function(_0x532095,_0x19039d,_0x254803){var _0x55dbc7={};var _0x3374fa={};var _0x35b47c;var _0x119cc3;return db[_0x67b2('0x2c')][_0x67b2('0x4c')]({'where':{'id':_0x532095['params']['id']}})[_0x67b2('0x25')](handleEntityNotFound(_0x19039d,null))[_0x67b2('0x25')](function(_0x34c412){if(_0x34c412){_0x35b47c=_0x34c412;_0x3374fa[_0x67b2('0x37')]=_[_0x67b2('0x33')](db[_0x67b2('0x4d')]['rawAttributes']);_0x3374fa[_0x67b2('0x32')]=_[_0x67b2('0x33')](_0x532095[_0x67b2('0x32')]);_0x3374fa['filters']=_[_0x67b2('0x35')](_0x3374fa['model'],_0x3374fa[_0x67b2('0x32')]);_0x55dbc7['attributes']=_[_0x67b2('0x35')](_0x3374fa[_0x67b2('0x37')],qs[_0x67b2('0x38')](_0x532095['query'][_0x67b2('0x38')]));_0x55dbc7[_0x67b2('0x36')]=_0x55dbc7[_0x67b2('0x36')]['length']?_0x55dbc7[_0x67b2('0x36')]:_0x3374fa[_0x67b2('0x37')];_0x55dbc7['order']=qs[_0x67b2('0x3c')](_0x532095['query'][_0x67b2('0x3c')]);_0x55dbc7[_0x67b2('0x40')]=qs['filters'](_['pick'](_0x532095[_0x67b2('0x32')],_0x3374fa[_0x67b2('0x34')]));if(_0x532095[_0x67b2('0x32')][_0x67b2('0x3e')]){_0x55dbc7['where']=_[_0x67b2('0x3f')](_0x55dbc7['where'],{'$or':_[_0x67b2('0x31')](_0x55dbc7[_0x67b2('0x36')],function(_0x53b42f){var _0x4371da={};_0x4371da[_0x53b42f]={'$like':'%'+_0x532095[_0x67b2('0x32')][_0x67b2('0x3e')]+'%'};return _0x4371da;})});}_0x55dbc7=_[_0x67b2('0x3f')]({},_0x55dbc7,_0x532095[_0x67b2('0x42')]);return _0x35b47c[_0x67b2('0x4e')](_0x55dbc7);}})[_0x67b2('0x25')](function(_0x111b56){if(_0x111b56){_0x119cc3=_0x111b56[_0x67b2('0x4f')];if(!_0x532095[_0x67b2('0x32')][_0x67b2('0x39')]('nolimit')){_0x55dbc7['limit']=qs[_0x67b2('0x1e')](_0x532095['query']['limit']);_0x55dbc7[_0x67b2('0x1b')]=qs[_0x67b2('0x1b')](_0x532095[_0x67b2('0x32')][_0x67b2('0x1b')]);}return _0x35b47c['getFields'](_0x55dbc7);}})['then'](function(_0x4cd00a){if(_0x4cd00a){return _0x4cd00a?{'count':_0x119cc3,'rows':_0x4cd00a}:null;}})[_0x67b2('0x25')](respondWithResult(_0x19039d,null))[_0x67b2('0x45')](handleError(_0x19039d,null));};exports[_0x67b2('0x50')]=function(_0x4afd70,_0x4f9c25,_0x373f11){var _0x4cd340={};var _0x336e39={};var _0xc7bcf0;var _0x87b708;return db['DeskConfiguration'][_0x67b2('0x4c')]({'where':{'id':_0x4afd70['params']['id']}})[_0x67b2('0x25')](handleEntityNotFound(_0x4f9c25,null))['then'](function(_0x8ada4d){if(_0x8ada4d){_0xc7bcf0=_0x8ada4d;_0x336e39['model']=_[_0x67b2('0x33')](db['DeskField'][_0x67b2('0x2d')]);_0x336e39[_0x67b2('0x32')]=_[_0x67b2('0x33')](_0x4afd70[_0x67b2('0x32')]);_0x336e39[_0x67b2('0x34')]=_[_0x67b2('0x35')](_0x336e39[_0x67b2('0x37')],_0x336e39[_0x67b2('0x32')]);_0x4cd340[_0x67b2('0x36')]=_[_0x67b2('0x35')](_0x336e39['model'],qs[_0x67b2('0x38')](_0x4afd70[_0x67b2('0x32')][_0x67b2('0x38')]));_0x4cd340[_0x67b2('0x36')]=_0x4cd340[_0x67b2('0x36')][_0x67b2('0x4f')]?_0x4cd340[_0x67b2('0x36')]:_0x336e39['model'];_0x4cd340[_0x67b2('0x3b')]=qs[_0x67b2('0x3c')](_0x4afd70[_0x67b2('0x32')]['sort']);_0x4cd340['where']=qs['filters'](_[_0x67b2('0x3d')](_0x4afd70[_0x67b2('0x32')],_0x336e39[_0x67b2('0x34')]));if(_0x4afd70[_0x67b2('0x32')][_0x67b2('0x3e')]){_0x4cd340['where']=_[_0x67b2('0x3f')](_0x4cd340['where'],{'$or':_[_0x67b2('0x31')](_0x4cd340[_0x67b2('0x36')],function(_0x5c10ba){var _0x4a3a59={};_0x4a3a59[_0x5c10ba]={'$like':'%'+_0x4afd70[_0x67b2('0x32')][_0x67b2('0x3e')]+'%'};return _0x4a3a59;})});}_0x4cd340=_[_0x67b2('0x3f')]({},_0x4cd340,_0x4afd70[_0x67b2('0x42')]);return _0xc7bcf0['getSubjects'](_0x4cd340);}})['then'](function(_0x33efaf){if(_0x33efaf){_0x87b708=_0x33efaf[_0x67b2('0x4f')];if(!_0x4afd70[_0x67b2('0x32')][_0x67b2('0x39')](_0x67b2('0x3a'))){_0x4cd340[_0x67b2('0x1e')]=qs[_0x67b2('0x1e')](_0x4afd70[_0x67b2('0x32')]['limit']);_0x4cd340['offset']=qs[_0x67b2('0x1b')](_0x4afd70[_0x67b2('0x32')][_0x67b2('0x1b')]);}return _0xc7bcf0[_0x67b2('0x50')](_0x4cd340);}})[_0x67b2('0x25')](function(_0x739f3d){if(_0x739f3d){return _0x739f3d?{'count':_0x87b708,'rows':_0x739f3d}:null;}})[_0x67b2('0x25')](respondWithResult(_0x4f9c25,null))[_0x67b2('0x45')](handleError(_0x4f9c25,null));};exports[_0x67b2('0x51')]=function(_0x1db0e3,_0x310c9c,_0x30725b){var _0x3449b9={};var _0x43013f={};var _0x3d3058;var _0xd7aa7a;return db['DeskConfiguration'][_0x67b2('0x4c')]({'where':{'id':_0x1db0e3[_0x67b2('0x47')]['id']}})['then'](handleEntityNotFound(_0x310c9c,null))[_0x67b2('0x25')](function(_0x4c3bb7){if(_0x4c3bb7){_0x3d3058=_0x4c3bb7;_0x43013f[_0x67b2('0x37')]=_['keys'](db[_0x67b2('0x4d')][_0x67b2('0x2d')]);_0x43013f[_0x67b2('0x32')]=_[_0x67b2('0x33')](_0x1db0e3['query']);_0x43013f[_0x67b2('0x34')]=_[_0x67b2('0x35')](_0x43013f[_0x67b2('0x37')],_0x43013f[_0x67b2('0x32')]);_0x3449b9[_0x67b2('0x36')]=_[_0x67b2('0x35')](_0x43013f[_0x67b2('0x37')],qs['fields'](_0x1db0e3[_0x67b2('0x32')]['fields']));_0x3449b9[_0x67b2('0x36')]=_0x3449b9[_0x67b2('0x36')][_0x67b2('0x4f')]?_0x3449b9['attributes']:_0x43013f['model'];_0x3449b9[_0x67b2('0x3b')]=qs['sort'](_0x1db0e3[_0x67b2('0x32')][_0x67b2('0x3c')]);_0x3449b9[_0x67b2('0x40')]=qs[_0x67b2('0x34')](_[_0x67b2('0x3d')](_0x1db0e3[_0x67b2('0x32')],_0x43013f[_0x67b2('0x34')]));if(_0x1db0e3['query'][_0x67b2('0x3e')]){_0x3449b9[_0x67b2('0x40')]=_[_0x67b2('0x3f')](_0x3449b9[_0x67b2('0x40')],{'$or':_[_0x67b2('0x31')](_0x3449b9[_0x67b2('0x36')],function(_0x5e3f52){var _0x10d886={};_0x10d886[_0x5e3f52]={'$like':'%'+_0x1db0e3[_0x67b2('0x32')][_0x67b2('0x3e')]+'%'};return _0x10d886;})});}_0x3449b9=_[_0x67b2('0x3f')]({},_0x3449b9,_0x1db0e3[_0x67b2('0x42')]);return _0x3d3058['getDescriptions'](_0x3449b9);}})['then'](function(_0x3d755e){if(_0x3d755e){_0xd7aa7a=_0x3d755e['length'];if(!_0x1db0e3[_0x67b2('0x32')]['hasOwnProperty']('nolimit')){_0x3449b9[_0x67b2('0x1e')]=qs['limit'](_0x1db0e3[_0x67b2('0x32')][_0x67b2('0x1e')]);_0x3449b9[_0x67b2('0x1b')]=qs[_0x67b2('0x1b')](_0x1db0e3[_0x67b2('0x32')][_0x67b2('0x1b')]);}return _0x3d3058[_0x67b2('0x51')](_0x3449b9);}})['then'](function(_0x10fddb){if(_0x10fddb){return _0x10fddb?{'count':_0xd7aa7a,'rows':_0x10fddb}:null;}})[_0x67b2('0x25')](respondWithResult(_0x310c9c,null))[_0x67b2('0x45')](handleError(_0x310c9c,null));};exports['getTags']=function(_0x3e3ac2,_0x576869,_0x418a10){var _0x2726e7={};var _0x202ba0={};var _0x216f77;var _0x46f627;return db[_0x67b2('0x2c')]['findOne']({'where':{'id':_0x3e3ac2['params']['id']}})[_0x67b2('0x25')](handleEntityNotFound(_0x576869,null))[_0x67b2('0x25')](function(_0x1b5b75){if(_0x1b5b75){_0x216f77=_0x1b5b75;_0x202ba0[_0x67b2('0x37')]=_[_0x67b2('0x33')](db[_0x67b2('0x52')][_0x67b2('0x2d')]);_0x202ba0[_0x67b2('0x32')]=_[_0x67b2('0x33')](_0x3e3ac2[_0x67b2('0x32')]);_0x202ba0[_0x67b2('0x34')]=_[_0x67b2('0x35')](_0x202ba0['model'],_0x202ba0['query']);_0x2726e7[_0x67b2('0x36')]=_['intersection'](_0x202ba0[_0x67b2('0x37')],qs[_0x67b2('0x38')](_0x3e3ac2[_0x67b2('0x32')][_0x67b2('0x38')]));_0x2726e7[_0x67b2('0x36')]=_0x2726e7[_0x67b2('0x36')][_0x67b2('0x4f')]?_0x2726e7[_0x67b2('0x36')]:_0x202ba0[_0x67b2('0x37')];_0x2726e7[_0x67b2('0x3b')]=qs[_0x67b2('0x3c')](_0x3e3ac2['query'][_0x67b2('0x3c')]);_0x2726e7['where']=qs[_0x67b2('0x34')](_['pick'](_0x3e3ac2[_0x67b2('0x32')],_0x202ba0[_0x67b2('0x34')]));if(_0x3e3ac2[_0x67b2('0x32')][_0x67b2('0x3e')]){_0x2726e7[_0x67b2('0x40')]=_[_0x67b2('0x3f')](_0x2726e7['where'],{'$or':_[_0x67b2('0x31')](_0x2726e7[_0x67b2('0x36')],function(_0x584302){var _0x4e6303={};_0x4e6303[_0x584302]={'$like':'%'+_0x3e3ac2['query']['filter']+'%'};return _0x4e6303;})});}_0x2726e7=_[_0x67b2('0x3f')]({},_0x2726e7,_0x3e3ac2[_0x67b2('0x42')]);return _0x216f77[_0x67b2('0x53')](_0x2726e7);}})[_0x67b2('0x25')](function(_0x3e606d){if(_0x3e606d){_0x46f627=_0x3e606d['length'];if(!_0x3e3ac2['query'][_0x67b2('0x39')]('nolimit')){_0x2726e7[_0x67b2('0x1e')]=qs[_0x67b2('0x1e')](_0x3e3ac2[_0x67b2('0x32')][_0x67b2('0x1e')]);_0x2726e7['offset']=qs[_0x67b2('0x1b')](_0x3e3ac2[_0x67b2('0x32')][_0x67b2('0x1b')]);}return _0x216f77[_0x67b2('0x53')](_0x2726e7);}})[_0x67b2('0x25')](function(_0x2a189f){if(_0x2a189f){return _0x2a189f?{'count':_0x46f627,'rows':_0x2a189f}:null;}})['then'](respondWithResult(_0x576869,null))[_0x67b2('0x45')](handleError(_0x576869,null));};exports[_0x67b2('0x54')]=function(_0x316281,_0x51c690,_0x47b906){if(_0x316281[_0x67b2('0x4b')]['id']){delete _0x316281['body']['id'];}return db[_0x67b2('0x2c')][_0x67b2('0x4c')]({'where':{'id':_0x316281[_0x67b2('0x47')]['id']}})[_0x67b2('0x25')](handleEntityNotFound(_0x51c690,null))[_0x67b2('0x25')](function(_0x4ae78a){if(_0x4ae78a){return _0x4ae78a[_0x67b2('0x54')](_0x316281['body'][_0x67b2('0x55')]||[]);}return null;})[_0x67b2('0x25')](respondWithResult(_0x51c690,null))[_0x67b2('0x45')](handleError(_0x51c690,null));};