2ecbf91fa4104f58cd6da6bd8042d49066e7c1aa
[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 _0xa21d=['where','filter','merge','options','count','includeAll','include','findAll','rows','show','params','create','body','find','findOne','DeskField','getFields','getSubjects','getDescriptions','pick','getTags','Tag','setTags','html-pdf','eml-format','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','lodash','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','jayson/promise','client','http','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','DeskConfiguration,\x20%s,\x20%s','debug','DeskConfiguration,\x20%s,\x20%s,\x20%s','request\x20sent','error','code','message','info','result','catch','status','json','offset','limit','apply','save','update','end','sendStatus','stack','name','DeskConfiguration','rawAttributes','type','key','model','map','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort'];(function(_0x52c826,_0x2707ff){var _0x36adf4=function(_0x260362){while(--_0x260362){_0x52c826['push'](_0x52c826['shift']());}};_0x36adf4(++_0x2707ff);}(_0xa21d,0x18b));var _0xda21=function(_0x2f5007,_0x3dd3ad){_0x2f5007=_0x2f5007-0x0;var _0x12c52d=_0xa21d[_0x2f5007];return _0x12c52d;};'use strict';var pdf=require(_0xda21('0x0'));var emlformat=require(_0xda21('0x1'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xda21('0x2'));var rp=require('request-promise');var moment=require(_0xda21('0x3'));var BPromise=require(_0xda21('0x4'));var Mustache=require(_0xda21('0x5'));var util=require(_0xda21('0x6'));var path=require(_0xda21('0x7'));var sox=require(_0xda21('0x8'));var csv=require(_0xda21('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xda21('0xa'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xda21('0xb'));var deskjs=require('desk.js');var toCsv=require(_0xda21('0x9'));var querystring=require(_0xda21('0xc'));var Papa=require(_0xda21('0xd'));var Redis=require(_0xda21('0xe'));var authService=require(_0xda21('0xf'));var qs=require(_0xda21('0x10'));var as=require(_0xda21('0x11'));var hardwareService=require(_0xda21('0x12'));var logger=require(_0xda21('0x13'))(_0xda21('0x14'));var utils=require(_0xda21('0x15'));var config=require(_0xda21('0x16'));var db=require(_0xda21('0x17'))['db'];var jayson=require(_0xda21('0x18'));var client=jayson[_0xda21('0x19')][_0xda21('0x1a')]({'port':0x232a});function checkPasswordPattern(_0x39e0ff,_0x424d1e,_0x3025e4){if(_0x3025e4){var _0x484729=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x484729['test'](_0x424d1e)){return _0x39e0ff;}else{throw new db[(_0xda21('0x1b'))][(_0xda21('0x1c'))](_0xda21('0x1d'));}}else{return _0x39e0ff;}}function respondWithRpcPromise(_0x240e68,_0x4db0df,_0xb50342,_0x358d4c){return new BPromise(function(_0x365199,_0x11642d){var _0x53762f=_0x358d4c||client;return _0x53762f[_0xda21('0x1e')](_0x240e68,_0xb50342)[_0xda21('0x1f')](function(_0x14019f){logger['info'](_0xda21('0x20'),_0x4db0df,'request\x20sent');logger[_0xda21('0x21')](_0xda21('0x22'),_0x4db0df,_0xda21('0x23'),JSON['stringify'](_0x14019f));if(_0x14019f[_0xda21('0x24')]){if(_0x14019f[_0xda21('0x24')][_0xda21('0x25')]===0x1f4){logger['error'](_0xda21('0x20'),_0x4db0df,_0x14019f[_0xda21('0x24')][_0xda21('0x26')]);return _0x11642d(_0x14019f[_0xda21('0x24')][_0xda21('0x26')]);}logger[_0xda21('0x24')](_0xda21('0x20'),_0x4db0df,_0x14019f['error'][_0xda21('0x26')]);return _0x365199(_0x14019f['error'][_0xda21('0x26')]);}else{logger[_0xda21('0x27')](_0xda21('0x20'),_0x4db0df,_0xda21('0x23'));_0x365199(_0x14019f[_0xda21('0x28')]['message']);}})[_0xda21('0x29')](function(_0x3162a5){logger[_0xda21('0x24')](_0xda21('0x20'),_0x4db0df,_0x3162a5);_0x11642d(_0x3162a5);});});}function respondWithStatusCode(_0xc0c47,_0x3b5e3d){_0x3b5e3d=_0x3b5e3d||0xcc;return function(_0x1886fe){if(_0x1886fe){return _0xc0c47['sendStatus'](_0x3b5e3d);}return _0xc0c47['status'](_0x3b5e3d)['end']();};}function respondWithResult(_0x50b8a8,_0x1d219a){_0x1d219a=_0x1d219a||0xc8;return function(_0x14340d){if(_0x14340d){return _0x50b8a8[_0xda21('0x2a')](_0x1d219a)[_0xda21('0x2b')](_0x14340d);}};}function respondWithFilteredResult(_0x2133b2,_0x393f27){return function(_0x29175a){if(_0x29175a){var _0x42ed90=_0x29175a['count'],_0x4dbfb1=_0x393f27[_0xda21('0x2c')],_0x1e01f4=_0x393f27[_0xda21('0x2c')]+_0x393f27[_0xda21('0x2d')],_0x1181ba;if(_0x1e01f4>=_0x42ed90){_0x1e01f4=_0x42ed90;_0x1181ba=0xc8;}else{_0x1181ba=0xce;}_0x2133b2[_0xda21('0x2a')](_0x1181ba);return _0x2133b2['set']('Content-Range',_0x4dbfb1+'-'+_0x1e01f4+'/'+_0x42ed90)[_0xda21('0x2b')](_0x29175a);}return null;};}function patchUpdates(_0x16d1fa){return function(_0x2d925a){try{jsonpatch[_0xda21('0x2e')](_0x2d925a,_0x16d1fa,!![]);}catch(_0x12d750){return BPromise['reject'](_0x12d750);}return _0x2d925a[_0xda21('0x2f')]();};}function saveUpdates(_0x1b9020,_0x233fc2){return function(_0x1dd5c6){if(_0x1dd5c6){return _0x1dd5c6[_0xda21('0x30')](_0x1b9020)[_0xda21('0x1f')](function(_0x46c0eb){return _0x46c0eb;});}return null;};}function removeEntity(_0x1a2313,_0x5e49d8){return function(_0x21ac34){if(_0x21ac34){return _0x21ac34['destroy']()[_0xda21('0x1f')](function(){_0x1a2313[_0xda21('0x2a')](0xcc)[_0xda21('0x31')]();});}};}function handleEntityNotFound(_0x23d6b4,_0x10eb88){return function(_0x5f274e){if(!_0x5f274e){_0x23d6b4[_0xda21('0x32')](0x194);}return _0x5f274e;};}function handleError(_0x1fd816,_0x204806){_0x204806=_0x204806||0x1f4;return function(_0x4a24ad){logger[_0xda21('0x24')](_0x4a24ad[_0xda21('0x33')]);if(_0x4a24ad[_0xda21('0x34')]){delete _0x4a24ad[_0xda21('0x34')];}_0x1fd816['status'](_0x204806)['send'](_0x4a24ad);};}exports['index']=function(_0x9a9a79,_0x4c6c99){var _0x3b75d1={},_0x4ad692={},_0x1e2b4a={'count':0x0,'rows':[]};var _0x9ba9c1=_['map'](db[_0xda21('0x35')][_0xda21('0x36')],function(_0x591a19){return{'name':_0x591a19['fieldName'],'type':_0x591a19[_0xda21('0x37')][_0xda21('0x38')]};});_0x4ad692[_0xda21('0x39')]=_[_0xda21('0x3a')](_0x9ba9c1,_0xda21('0x34'));_0x4ad692['query']=_[_0xda21('0x3b')](_0x9a9a79[_0xda21('0x3c')]);_0x4ad692[_0xda21('0x3d')]=_[_0xda21('0x3e')](_0x4ad692[_0xda21('0x39')],_0x4ad692[_0xda21('0x3c')]);_0x3b75d1[_0xda21('0x3f')]=_[_0xda21('0x3e')](_0x4ad692[_0xda21('0x39')],qs[_0xda21('0x40')](_0x9a9a79[_0xda21('0x3c')][_0xda21('0x40')]));_0x3b75d1[_0xda21('0x3f')]=_0x3b75d1[_0xda21('0x3f')][_0xda21('0x41')]?_0x3b75d1[_0xda21('0x3f')]:_0x4ad692[_0xda21('0x39')];if(!_0x9a9a79[_0xda21('0x3c')][_0xda21('0x42')](_0xda21('0x43'))){_0x3b75d1[_0xda21('0x2d')]=qs[_0xda21('0x2d')](_0x9a9a79[_0xda21('0x3c')][_0xda21('0x2d')]);_0x3b75d1[_0xda21('0x2c')]=qs[_0xda21('0x2c')](_0x9a9a79[_0xda21('0x3c')][_0xda21('0x2c')]);}_0x3b75d1[_0xda21('0x44')]=qs[_0xda21('0x45')](_0x9a9a79[_0xda21('0x3c')][_0xda21('0x45')]);_0x3b75d1[_0xda21('0x46')]=qs[_0xda21('0x3d')](_['pick'](_0x9a9a79[_0xda21('0x3c')],_0x4ad692['filters']));if(_0x9a9a79['query'][_0xda21('0x47')]){_0x3b75d1[_0xda21('0x46')]=_[_0xda21('0x48')](_0x3b75d1['where'],{'$or':_[_0xda21('0x3a')](_0x9ba9c1,function(_0x4be8f7){if(_0x4be8f7[_0xda21('0x37')]!=='VIRTUAL'){var _0x34e3f1={};_0x34e3f1[_0x4be8f7[_0xda21('0x34')]]={'$like':'%'+_0x9a9a79[_0xda21('0x3c')][_0xda21('0x47')]+'%'};return _0x34e3f1;}})});}_0x3b75d1=_['merge']({},_0x3b75d1,_0x9a9a79[_0xda21('0x49')]);var _0x4ac150={'where':_0x3b75d1[_0xda21('0x46')]};return db['DeskConfiguration'][_0xda21('0x4a')](_0x4ac150)[_0xda21('0x1f')](function(_0x3ec8b2){_0x1e2b4a[_0xda21('0x4a')]=_0x3ec8b2;if(_0x9a9a79['query'][_0xda21('0x4b')]){_0x3b75d1[_0xda21('0x4c')]=[{'all':!![]}];}return db[_0xda21('0x35')][_0xda21('0x4d')](_0x3b75d1);})[_0xda21('0x1f')](function(_0x554f5a){_0x1e2b4a[_0xda21('0x4e')]=_0x554f5a;return _0x1e2b4a;})['then'](respondWithFilteredResult(_0x4c6c99,_0x3b75d1))[_0xda21('0x29')](handleError(_0x4c6c99,null));};exports[_0xda21('0x4f')]=function(_0x54f376,_0x1b5912){var _0x2b2923={'raw':![],'where':{'id':_0x54f376[_0xda21('0x50')]['id']}},_0xd9c132={};_0xd9c132[_0xda21('0x39')]=_['keys'](db[_0xda21('0x35')]['rawAttributes']);_0xd9c132[_0xda21('0x3c')]=_[_0xda21('0x3b')](_0x54f376[_0xda21('0x3c')]);_0xd9c132[_0xda21('0x3d')]=_[_0xda21('0x3e')](_0xd9c132[_0xda21('0x39')],_0xd9c132[_0xda21('0x3c')]);_0x2b2923[_0xda21('0x3f')]=_[_0xda21('0x3e')](_0xd9c132[_0xda21('0x39')],qs['fields'](_0x54f376[_0xda21('0x3c')][_0xda21('0x40')]));_0x2b2923[_0xda21('0x3f')]=_0x2b2923[_0xda21('0x3f')][_0xda21('0x41')]?_0x2b2923[_0xda21('0x3f')]:_0xd9c132['model'];if(_0x54f376[_0xda21('0x3c')][_0xda21('0x4b')]){_0x2b2923[_0xda21('0x4c')]=[{'all':!![]}];}_0x2b2923=_[_0xda21('0x48')]({},_0x2b2923,_0x54f376[_0xda21('0x49')]);return db[_0xda21('0x35')]['find'](_0x2b2923)[_0xda21('0x1f')](handleEntityNotFound(_0x1b5912,null))['then'](respondWithResult(_0x1b5912,null))['catch'](handleError(_0x1b5912,null));};exports[_0xda21('0x51')]=function(_0x460d88,_0x163d19){return db[_0xda21('0x35')][_0xda21('0x51')](_0x460d88['body'],{})[_0xda21('0x1f')](respondWithResult(_0x163d19,0xc9))[_0xda21('0x29')](handleError(_0x163d19,null));};exports[_0xda21('0x30')]=function(_0x491992,_0x20fb5d){if(_0x491992[_0xda21('0x52')]['id']){delete _0x491992[_0xda21('0x52')]['id'];}return db['DeskConfiguration'][_0xda21('0x53')]({'where':{'id':_0x491992['params']['id']}})['then'](handleEntityNotFound(_0x20fb5d,null))['then'](saveUpdates(_0x491992[_0xda21('0x52')],null))[_0xda21('0x1f')](respondWithResult(_0x20fb5d,null))['catch'](handleError(_0x20fb5d,null));};exports['destroy']=function(_0x185254,_0x3c7573){return db['DeskConfiguration'][_0xda21('0x53')]({'where':{'id':_0x185254[_0xda21('0x50')]['id']}})[_0xda21('0x1f')](handleEntityNotFound(_0x3c7573,null))[_0xda21('0x1f')](removeEntity(_0x3c7573,null))[_0xda21('0x29')](handleError(_0x3c7573,null));};exports['getFields']=function(_0x5f4522,_0x35efe1,_0x3f65d7){var _0x50ac5a={};var _0x44ae0f={};var _0x3d990e;var _0x5816a2;return db[_0xda21('0x35')][_0xda21('0x54')]({'where':{'id':_0x5f4522[_0xda21('0x50')]['id']}})[_0xda21('0x1f')](handleEntityNotFound(_0x35efe1,null))[_0xda21('0x1f')](function(_0xccda50){if(_0xccda50){_0x3d990e=_0xccda50;_0x44ae0f[_0xda21('0x39')]=_[_0xda21('0x3b')](db[_0xda21('0x55')][_0xda21('0x36')]);_0x44ae0f[_0xda21('0x3c')]=_[_0xda21('0x3b')](_0x5f4522['query']);_0x44ae0f[_0xda21('0x3d')]=_[_0xda21('0x3e')](_0x44ae0f[_0xda21('0x39')],_0x44ae0f[_0xda21('0x3c')]);_0x50ac5a[_0xda21('0x3f')]=_[_0xda21('0x3e')](_0x44ae0f[_0xda21('0x39')],qs[_0xda21('0x40')](_0x5f4522[_0xda21('0x3c')][_0xda21('0x40')]));_0x50ac5a['attributes']=_0x50ac5a[_0xda21('0x3f')]['length']?_0x50ac5a[_0xda21('0x3f')]:_0x44ae0f['model'];_0x50ac5a[_0xda21('0x44')]=qs[_0xda21('0x45')](_0x5f4522[_0xda21('0x3c')][_0xda21('0x45')]);_0x50ac5a[_0xda21('0x46')]=qs['filters'](_['pick'](_0x5f4522[_0xda21('0x3c')],_0x44ae0f['filters']));if(_0x5f4522[_0xda21('0x3c')]['filter']){_0x50ac5a[_0xda21('0x46')]=_[_0xda21('0x48')](_0x50ac5a['where'],{'$or':_['map'](_0x50ac5a[_0xda21('0x3f')],function(_0x1574e2){var _0x45b945={};_0x45b945[_0x1574e2]={'$like':'%'+_0x5f4522['query'][_0xda21('0x47')]+'%'};return _0x45b945;})});}_0x50ac5a=_['merge']({},_0x50ac5a,_0x5f4522[_0xda21('0x49')]);return _0x3d990e['getFields'](_0x50ac5a);}})[_0xda21('0x1f')](function(_0x32053a){if(_0x32053a){_0x5816a2=_0x32053a[_0xda21('0x41')];if(!_0x5f4522['query'][_0xda21('0x42')](_0xda21('0x43'))){_0x50ac5a[_0xda21('0x2d')]=qs['limit'](_0x5f4522[_0xda21('0x3c')]['limit']);_0x50ac5a[_0xda21('0x2c')]=qs[_0xda21('0x2c')](_0x5f4522[_0xda21('0x3c')][_0xda21('0x2c')]);}return _0x3d990e[_0xda21('0x56')](_0x50ac5a);}})['then'](function(_0x1147bb){if(_0x1147bb){return _0x1147bb?{'count':_0x5816a2,'rows':_0x1147bb}:null;}})[_0xda21('0x1f')](respondWithResult(_0x35efe1,null))['catch'](handleError(_0x35efe1,null));};exports[_0xda21('0x57')]=function(_0x4a0a63,_0x1cf999,_0x19240e){var _0x227f4c={};var _0x2b7d9f={};var _0x3549c7;var _0x26ff9c;return db[_0xda21('0x35')][_0xda21('0x54')]({'where':{'id':_0x4a0a63['params']['id']}})['then'](handleEntityNotFound(_0x1cf999,null))[_0xda21('0x1f')](function(_0x44caa9){if(_0x44caa9){_0x3549c7=_0x44caa9;_0x2b7d9f[_0xda21('0x39')]=_[_0xda21('0x3b')](db['DeskField']['rawAttributes']);_0x2b7d9f[_0xda21('0x3c')]=_['keys'](_0x4a0a63[_0xda21('0x3c')]);_0x2b7d9f[_0xda21('0x3d')]=_[_0xda21('0x3e')](_0x2b7d9f['model'],_0x2b7d9f['query']);_0x227f4c[_0xda21('0x3f')]=_[_0xda21('0x3e')](_0x2b7d9f['model'],qs[_0xda21('0x40')](_0x4a0a63[_0xda21('0x3c')][_0xda21('0x40')]));_0x227f4c[_0xda21('0x3f')]=_0x227f4c[_0xda21('0x3f')][_0xda21('0x41')]?_0x227f4c[_0xda21('0x3f')]:_0x2b7d9f[_0xda21('0x39')];_0x227f4c['order']=qs[_0xda21('0x45')](_0x4a0a63['query'][_0xda21('0x45')]);_0x227f4c[_0xda21('0x46')]=qs[_0xda21('0x3d')](_['pick'](_0x4a0a63[_0xda21('0x3c')],_0x2b7d9f[_0xda21('0x3d')]));if(_0x4a0a63[_0xda21('0x3c')][_0xda21('0x47')]){_0x227f4c[_0xda21('0x46')]=_['merge'](_0x227f4c[_0xda21('0x46')],{'$or':_[_0xda21('0x3a')](_0x227f4c['attributes'],function(_0x399583){var _0x6dd43b={};_0x6dd43b[_0x399583]={'$like':'%'+_0x4a0a63[_0xda21('0x3c')][_0xda21('0x47')]+'%'};return _0x6dd43b;})});}_0x227f4c=_[_0xda21('0x48')]({},_0x227f4c,_0x4a0a63[_0xda21('0x49')]);return _0x3549c7[_0xda21('0x57')](_0x227f4c);}})[_0xda21('0x1f')](function(_0x37ed45){if(_0x37ed45){_0x26ff9c=_0x37ed45[_0xda21('0x41')];if(!_0x4a0a63[_0xda21('0x3c')][_0xda21('0x42')](_0xda21('0x43'))){_0x227f4c[_0xda21('0x2d')]=qs[_0xda21('0x2d')](_0x4a0a63['query'][_0xda21('0x2d')]);_0x227f4c[_0xda21('0x2c')]=qs[_0xda21('0x2c')](_0x4a0a63[_0xda21('0x3c')][_0xda21('0x2c')]);}return _0x3549c7[_0xda21('0x57')](_0x227f4c);}})[_0xda21('0x1f')](function(_0x28cd57){if(_0x28cd57){return _0x28cd57?{'count':_0x26ff9c,'rows':_0x28cd57}:null;}})[_0xda21('0x1f')](respondWithResult(_0x1cf999,null))[_0xda21('0x29')](handleError(_0x1cf999,null));};exports[_0xda21('0x58')]=function(_0x2f5955,_0x3f76ea,_0x258d13){var _0x327f4b={};var _0x3874f7={};var _0x299038;var _0x2330c9;return db[_0xda21('0x35')][_0xda21('0x54')]({'where':{'id':_0x2f5955[_0xda21('0x50')]['id']}})[_0xda21('0x1f')](handleEntityNotFound(_0x3f76ea,null))[_0xda21('0x1f')](function(_0x5e0c97){if(_0x5e0c97){_0x299038=_0x5e0c97;_0x3874f7[_0xda21('0x39')]=_[_0xda21('0x3b')](db[_0xda21('0x55')][_0xda21('0x36')]);_0x3874f7[_0xda21('0x3c')]=_['keys'](_0x2f5955[_0xda21('0x3c')]);_0x3874f7['filters']=_[_0xda21('0x3e')](_0x3874f7[_0xda21('0x39')],_0x3874f7[_0xda21('0x3c')]);_0x327f4b[_0xda21('0x3f')]=_[_0xda21('0x3e')](_0x3874f7[_0xda21('0x39')],qs['fields'](_0x2f5955['query'][_0xda21('0x40')]));_0x327f4b[_0xda21('0x3f')]=_0x327f4b[_0xda21('0x3f')]['length']?_0x327f4b['attributes']:_0x3874f7['model'];_0x327f4b[_0xda21('0x44')]=qs['sort'](_0x2f5955[_0xda21('0x3c')][_0xda21('0x45')]);_0x327f4b[_0xda21('0x46')]=qs['filters'](_[_0xda21('0x59')](_0x2f5955[_0xda21('0x3c')],_0x3874f7[_0xda21('0x3d')]));if(_0x2f5955['query'][_0xda21('0x47')]){_0x327f4b[_0xda21('0x46')]=_[_0xda21('0x48')](_0x327f4b[_0xda21('0x46')],{'$or':_[_0xda21('0x3a')](_0x327f4b[_0xda21('0x3f')],function(_0x24ffac){var _0x243797={};_0x243797[_0x24ffac]={'$like':'%'+_0x2f5955[_0xda21('0x3c')][_0xda21('0x47')]+'%'};return _0x243797;})});}_0x327f4b=_[_0xda21('0x48')]({},_0x327f4b,_0x2f5955[_0xda21('0x49')]);return _0x299038[_0xda21('0x58')](_0x327f4b);}})[_0xda21('0x1f')](function(_0x5b9f4a){if(_0x5b9f4a){_0x2330c9=_0x5b9f4a[_0xda21('0x41')];if(!_0x2f5955[_0xda21('0x3c')][_0xda21('0x42')]('nolimit')){_0x327f4b['limit']=qs['limit'](_0x2f5955[_0xda21('0x3c')][_0xda21('0x2d')]);_0x327f4b['offset']=qs[_0xda21('0x2c')](_0x2f5955[_0xda21('0x3c')][_0xda21('0x2c')]);}return _0x299038[_0xda21('0x58')](_0x327f4b);}})[_0xda21('0x1f')](function(_0x2d51cc){if(_0x2d51cc){return _0x2d51cc?{'count':_0x2330c9,'rows':_0x2d51cc}:null;}})[_0xda21('0x1f')](respondWithResult(_0x3f76ea,null))['catch'](handleError(_0x3f76ea,null));};exports[_0xda21('0x5a')]=function(_0x163bf9,_0x5dfbe4,_0x410cb4){var _0x204e08={};var _0x40a3a4={};var _0x20dc3b;var _0x4aca31;return db[_0xda21('0x35')][_0xda21('0x54')]({'where':{'id':_0x163bf9[_0xda21('0x50')]['id']}})['then'](handleEntityNotFound(_0x5dfbe4,null))[_0xda21('0x1f')](function(_0x55d258){if(_0x55d258){_0x20dc3b=_0x55d258;_0x40a3a4[_0xda21('0x39')]=_[_0xda21('0x3b')](db[_0xda21('0x5b')][_0xda21('0x36')]);_0x40a3a4[_0xda21('0x3c')]=_['keys'](_0x163bf9[_0xda21('0x3c')]);_0x40a3a4[_0xda21('0x3d')]=_[_0xda21('0x3e')](_0x40a3a4[_0xda21('0x39')],_0x40a3a4[_0xda21('0x3c')]);_0x204e08[_0xda21('0x3f')]=_[_0xda21('0x3e')](_0x40a3a4[_0xda21('0x39')],qs[_0xda21('0x40')](_0x163bf9[_0xda21('0x3c')][_0xda21('0x40')]));_0x204e08[_0xda21('0x3f')]=_0x204e08['attributes'][_0xda21('0x41')]?_0x204e08[_0xda21('0x3f')]:_0x40a3a4[_0xda21('0x39')];_0x204e08['order']=qs['sort'](_0x163bf9['query'][_0xda21('0x45')]);_0x204e08[_0xda21('0x46')]=qs[_0xda21('0x3d')](_[_0xda21('0x59')](_0x163bf9[_0xda21('0x3c')],_0x40a3a4[_0xda21('0x3d')]));if(_0x163bf9['query'][_0xda21('0x47')]){_0x204e08[_0xda21('0x46')]=_['merge'](_0x204e08['where'],{'$or':_['map'](_0x204e08[_0xda21('0x3f')],function(_0x1a1882){var _0x43ed48={};_0x43ed48[_0x1a1882]={'$like':'%'+_0x163bf9[_0xda21('0x3c')][_0xda21('0x47')]+'%'};return _0x43ed48;})});}_0x204e08=_[_0xda21('0x48')]({},_0x204e08,_0x163bf9[_0xda21('0x49')]);return _0x20dc3b[_0xda21('0x5a')](_0x204e08);}})[_0xda21('0x1f')](function(_0x182aa8){if(_0x182aa8){_0x4aca31=_0x182aa8[_0xda21('0x41')];if(!_0x163bf9['query'][_0xda21('0x42')]('nolimit')){_0x204e08[_0xda21('0x2d')]=qs[_0xda21('0x2d')](_0x163bf9[_0xda21('0x3c')]['limit']);_0x204e08[_0xda21('0x2c')]=qs[_0xda21('0x2c')](_0x163bf9['query']['offset']);}return _0x20dc3b[_0xda21('0x5a')](_0x204e08);}})[_0xda21('0x1f')](function(_0x190255){if(_0x190255){return _0x190255?{'count':_0x4aca31,'rows':_0x190255}:null;}})[_0xda21('0x1f')](respondWithResult(_0x5dfbe4,null))[_0xda21('0x29')](handleError(_0x5dfbe4,null));};exports[_0xda21('0x5c')]=function(_0x1195b5,_0x363097,_0x527f39){if(_0x1195b5['body']['id']){delete _0x1195b5[_0xda21('0x52')]['id'];}return db[_0xda21('0x35')]['findOne']({'where':{'id':_0x1195b5[_0xda21('0x50')]['id']}})[_0xda21('0x1f')](handleEntityNotFound(_0x363097,null))['then'](function(_0x98b745){if(_0x98b745){return _0x98b745[_0xda21('0x5c')](_0x1195b5[_0xda21('0x52')]['ids']||[]);}return null;})[_0xda21('0x1f')](respondWithResult(_0x363097,null))[_0xda21('0x29')](handleError(_0x363097,null));};