Built motion from commit (unavailable).|2.6.0
[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 _0x0713=['result','catch','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','apply','destroy','stack','name','send','index','DeskConfiguration','fieldName','model','map','keys','filters','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','includeAll','include','rows','show','params','body','update','find','getFields','findOne','DeskField','rawAttributes','options','getSubjects','getDescriptions','Tag','getTags','setTags','ids','zip-dir','fast-json-patch','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','http','request','then','info','DeskConfiguration,\x20%s,\x20%s','request\x20sent','debug','DeskConfiguration,\x20%s,\x20%s,\x20%s','error','code','message'];(function(_0xaad8cd,_0x1e7895){var _0x2c1a8b=function(_0x2ace90){while(--_0x2ace90){_0xaad8cd['push'](_0xaad8cd['shift']());}};_0x2c1a8b(++_0x1e7895);}(_0x0713,0x1ba));var _0x3071=function(_0x3dd15e,_0x1f0015){_0x3dd15e=_0x3dd15e-0x0;var _0x231fd0=_0x0713[_0x3dd15e];return _0x231fd0;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x3071('0x0'));var jsonpatch=require(_0x3071('0x1'));var rp=require(_0x3071('0x2'));var moment=require(_0x3071('0x3'));var BPromise=require(_0x3071('0x4'));var Mustache=require('mustache');var util=require(_0x3071('0x5'));var path=require(_0x3071('0x6'));var sox=require(_0x3071('0x7'));var csv=require(_0x3071('0x8'));var ejs=require(_0x3071('0x9'));var fs=require('fs');var fs_extra=require(_0x3071('0xa'));var _=require(_0x3071('0xb'));var squel=require(_0x3071('0xc'));var crypto=require(_0x3071('0xd'));var jsforce=require(_0x3071('0xe'));var deskjs=require(_0x3071('0xf'));var toCsv=require(_0x3071('0x8'));var querystring=require(_0x3071('0x10'));var Papa=require('papaparse');var Redis=require(_0x3071('0x11'));var authService=require(_0x3071('0x12'));var qs=require(_0x3071('0x13'));var as=require(_0x3071('0x14'));var hardwareService=require(_0x3071('0x15'));var logger=require('../../config/logger')(_0x3071('0x16'));var utils=require(_0x3071('0x17'));var config=require(_0x3071('0x18'));var licenseUtil=require(_0x3071('0x19'));var db=require(_0x3071('0x1a'))['db'];var jayson=require('jayson/promise');var client=jayson['client'][_0x3071('0x1b')]({'port':0x232a});function respondWithRpcPromise(_0x5dc13b,_0x31c220,_0x44fbae,_0x5d4883){return new BPromise(function(_0x104e73,_0x4e1219){var _0x2fc15d=_0x5d4883||client;return _0x2fc15d[_0x3071('0x1c')](_0x5dc13b,_0x44fbae)[_0x3071('0x1d')](function(_0x1f14e1){logger[_0x3071('0x1e')](_0x3071('0x1f'),_0x31c220,_0x3071('0x20'));logger[_0x3071('0x21')](_0x3071('0x22'),_0x31c220,_0x3071('0x20'),JSON['stringify'](_0x1f14e1));if(_0x1f14e1[_0x3071('0x23')]){if(_0x1f14e1[_0x3071('0x23')][_0x3071('0x24')]===0x1f4){logger[_0x3071('0x23')](_0x3071('0x1f'),_0x31c220,_0x1f14e1[_0x3071('0x23')][_0x3071('0x25')]);return _0x4e1219(_0x1f14e1[_0x3071('0x23')]['message']);}logger[_0x3071('0x23')](_0x3071('0x1f'),_0x31c220,_0x1f14e1[_0x3071('0x23')]['message']);return _0x104e73(_0x1f14e1[_0x3071('0x23')]['message']);}else{logger[_0x3071('0x1e')](_0x3071('0x1f'),_0x31c220,_0x3071('0x20'));_0x104e73(_0x1f14e1[_0x3071('0x26')][_0x3071('0x25')]);}})[_0x3071('0x27')](function(_0x3c5cef){logger[_0x3071('0x23')]('DeskConfiguration,\x20%s,\x20%s',_0x31c220,_0x3c5cef);_0x4e1219(_0x3c5cef);});});}function respondWithStatusCode(_0x481a51,_0x2ce48a){_0x2ce48a=_0x2ce48a||0xcc;return function(_0xb05b1d){if(_0xb05b1d){return _0x481a51[_0x3071('0x28')](_0x2ce48a);}return _0x481a51[_0x3071('0x29')](_0x2ce48a)[_0x3071('0x2a')]();};}function respondWithResult(_0x44b45f,_0x7a4cb4){_0x7a4cb4=_0x7a4cb4||0xc8;return function(_0x1fe727){if(_0x1fe727){return _0x44b45f[_0x3071('0x29')](_0x7a4cb4)['json'](_0x1fe727);}};}function respondWithFilteredResult(_0x2e5f93,_0x3f1e6e){return function(_0x177138){if(_0x177138){var _0x4d5c4b=typeof _0x3f1e6e[_0x3071('0x2b')]===_0x3071('0x2c')&&typeof _0x3f1e6e[_0x3071('0x2d')]===_0x3071('0x2c');var _0x3fa3b8=_0x177138[_0x3071('0x2e')];var _0x177b5f=_0x4d5c4b?0x0:_0x3f1e6e[_0x3071('0x2b')];var _0x32f1b4=_0x4d5c4b?_0x177138[_0x3071('0x2e')]:_0x3f1e6e[_0x3071('0x2b')]+_0x3f1e6e['limit'];var _0x4f1484;if(_0x32f1b4>=_0x3fa3b8){_0x32f1b4=_0x3fa3b8;_0x4f1484=0xc8;}else{_0x4f1484=0xce;}_0x2e5f93[_0x3071('0x29')](_0x4f1484);return _0x2e5f93[_0x3071('0x2f')](_0x3071('0x30'),_0x177b5f+'-'+_0x32f1b4+'/'+_0x3fa3b8)[_0x3071('0x31')](_0x177138);}return null;};}function patchUpdates(_0x3f6d90){return function(_0x29538c){try{jsonpatch[_0x3071('0x32')](_0x29538c,_0x3f6d90,!![]);}catch(_0x1ccc41){return BPromise['reject'](_0x1ccc41);}return _0x29538c['save']();};}function saveUpdates(_0x4ab983,_0x1b0aaf){return function(_0x392800){if(_0x392800){return _0x392800['update'](_0x4ab983)[_0x3071('0x1d')](function(_0x28747d){return _0x28747d;});}return null;};}function removeEntity(_0x25250e,_0x13ae2c){return function(_0x5e1d2b){if(_0x5e1d2b){return _0x5e1d2b[_0x3071('0x33')]()[_0x3071('0x1d')](function(){_0x25250e[_0x3071('0x29')](0xcc)[_0x3071('0x2a')]();});}};}function handleEntityNotFound(_0x148096,_0x2068ce){return function(_0x3c55c){if(!_0x3c55c){_0x148096[_0x3071('0x28')](0x194);}return _0x3c55c;};}function handleError(_0x596cc3,_0x3988eb){_0x3988eb=_0x3988eb||0x1f4;return function(_0x54e52f){logger['error'](_0x54e52f[_0x3071('0x34')]);if(_0x54e52f[_0x3071('0x35')]){delete _0x54e52f['name'];}_0x596cc3[_0x3071('0x29')](_0x3988eb)[_0x3071('0x36')](_0x54e52f);};}exports[_0x3071('0x37')]=function(_0x14ac42,_0xc60572){var _0x232235={},_0x5610ab={},_0x36afdc={'count':0x0,'rows':[]};var _0xd7971f=_['map'](db[_0x3071('0x38')]['rawAttributes'],function(_0x28f855){return{'name':_0x28f855[_0x3071('0x39')],'type':_0x28f855['type']['key']};});_0x5610ab[_0x3071('0x3a')]=_[_0x3071('0x3b')](_0xd7971f,_0x3071('0x35'));_0x5610ab['query']=_[_0x3071('0x3c')](_0x14ac42['query']);_0x5610ab[_0x3071('0x3d')]=_['intersection'](_0x5610ab[_0x3071('0x3a')],_0x5610ab[_0x3071('0x3e')]);_0x232235[_0x3071('0x3f')]=_[_0x3071('0x40')](_0x5610ab[_0x3071('0x3a')],qs['fields'](_0x14ac42['query'][_0x3071('0x41')]));_0x232235[_0x3071('0x3f')]=_0x232235[_0x3071('0x3f')][_0x3071('0x42')]?_0x232235['attributes']:_0x5610ab[_0x3071('0x3a')];if(!_0x14ac42[_0x3071('0x3e')][_0x3071('0x43')](_0x3071('0x44'))){_0x232235[_0x3071('0x2d')]=qs[_0x3071('0x2d')](_0x14ac42['query'][_0x3071('0x2d')]);_0x232235['offset']=qs['offset'](_0x14ac42['query']['offset']);}_0x232235[_0x3071('0x45')]=qs[_0x3071('0x46')](_0x14ac42[_0x3071('0x3e')][_0x3071('0x46')]);_0x232235[_0x3071('0x47')]=qs[_0x3071('0x3d')](_[_0x3071('0x48')](_0x14ac42[_0x3071('0x3e')],_0x5610ab['filters']),_0xd7971f);if(_0x14ac42[_0x3071('0x3e')][_0x3071('0x49')]){_0x232235[_0x3071('0x47')]=_[_0x3071('0x4a')](_0x232235[_0x3071('0x47')],{'$or':_['map'](_0xd7971f,function(_0x5c93c7){if(_0x5c93c7[_0x3071('0x4b')]!==_0x3071('0x4c')){var _0x1fe5e0={};_0x1fe5e0[_0x5c93c7[_0x3071('0x35')]]={'$like':'%'+_0x14ac42[_0x3071('0x3e')]['filter']+'%'};return _0x1fe5e0;}})});}_0x232235=_[_0x3071('0x4a')]({},_0x232235,_0x14ac42['options']);var _0x18a773={'where':_0x232235['where']};return db['DeskConfiguration'][_0x3071('0x2e')](_0x18a773)['then'](function(_0x1862ea){_0x36afdc['count']=_0x1862ea;if(_0x14ac42[_0x3071('0x3e')][_0x3071('0x4d')]){_0x232235[_0x3071('0x4e')]=[{'all':!![]}];}return db[_0x3071('0x38')]['findAll'](_0x232235);})[_0x3071('0x1d')](function(_0x575c12){_0x36afdc[_0x3071('0x4f')]=_0x575c12;return _0x36afdc;})['then'](respondWithFilteredResult(_0xc60572,_0x232235))[_0x3071('0x27')](handleError(_0xc60572,null));};exports[_0x3071('0x50')]=function(_0x4d395a,_0x131ae6){var _0x117e73={'raw':![],'where':{'id':_0x4d395a[_0x3071('0x51')]['id']}},_0x224a70={};_0x224a70[_0x3071('0x3a')]=_[_0x3071('0x3c')](db[_0x3071('0x38')]['rawAttributes']);_0x224a70[_0x3071('0x3e')]=_[_0x3071('0x3c')](_0x4d395a[_0x3071('0x3e')]);_0x224a70[_0x3071('0x3d')]=_['intersection'](_0x224a70[_0x3071('0x3a')],_0x224a70[_0x3071('0x3e')]);_0x117e73[_0x3071('0x3f')]=_[_0x3071('0x40')](_0x224a70[_0x3071('0x3a')],qs[_0x3071('0x41')](_0x4d395a[_0x3071('0x3e')][_0x3071('0x41')]));_0x117e73[_0x3071('0x3f')]=_0x117e73[_0x3071('0x3f')][_0x3071('0x42')]?_0x117e73[_0x3071('0x3f')]:_0x224a70[_0x3071('0x3a')];if(_0x4d395a[_0x3071('0x3e')][_0x3071('0x4d')]){_0x117e73[_0x3071('0x4e')]=[{'all':!![]}];}_0x117e73=_['merge']({},_0x117e73,_0x4d395a['options']);return db[_0x3071('0x38')]['find'](_0x117e73)[_0x3071('0x1d')](handleEntityNotFound(_0x131ae6,null))[_0x3071('0x1d')](respondWithResult(_0x131ae6,null))[_0x3071('0x27')](handleError(_0x131ae6,null));};exports['create']=function(_0x1ec428,_0x1ada95){return db['DeskConfiguration']['create'](_0x1ec428[_0x3071('0x52')],{})[_0x3071('0x1d')](respondWithResult(_0x1ada95,0xc9))[_0x3071('0x27')](handleError(_0x1ada95,null));};exports[_0x3071('0x53')]=function(_0x49877e,_0x43fa57){if(_0x49877e[_0x3071('0x52')]['id']){delete _0x49877e[_0x3071('0x52')]['id'];}return db[_0x3071('0x38')][_0x3071('0x54')]({'where':{'id':_0x49877e['params']['id']}})[_0x3071('0x1d')](handleEntityNotFound(_0x43fa57,null))[_0x3071('0x1d')](saveUpdates(_0x49877e[_0x3071('0x52')],null))[_0x3071('0x1d')](respondWithResult(_0x43fa57,null))[_0x3071('0x27')](handleError(_0x43fa57,null));};exports[_0x3071('0x33')]=function(_0x71d921,_0x4bea5d){return db['DeskConfiguration'][_0x3071('0x54')]({'where':{'id':_0x71d921['params']['id']}})[_0x3071('0x1d')](handleEntityNotFound(_0x4bea5d,null))[_0x3071('0x1d')](removeEntity(_0x4bea5d,null))['catch'](handleError(_0x4bea5d,null));};exports[_0x3071('0x55')]=function(_0x1bf911,_0x4d3886,_0x108b14){var _0x1878e2={};var _0x180344={};var _0x6e96c7;var _0x2aaccb;return db['DeskConfiguration'][_0x3071('0x56')]({'where':{'id':_0x1bf911[_0x3071('0x51')]['id']}})[_0x3071('0x1d')](handleEntityNotFound(_0x4d3886,null))['then'](function(_0x1b0f81){if(_0x1b0f81){_0x6e96c7=_0x1b0f81;_0x180344[_0x3071('0x3a')]=_[_0x3071('0x3c')](db[_0x3071('0x57')][_0x3071('0x58')]);_0x180344[_0x3071('0x3e')]=_[_0x3071('0x3c')](_0x1bf911[_0x3071('0x3e')]);_0x180344[_0x3071('0x3d')]=_['intersection'](_0x180344[_0x3071('0x3a')],_0x180344[_0x3071('0x3e')]);_0x1878e2[_0x3071('0x3f')]=_[_0x3071('0x40')](_0x180344[_0x3071('0x3a')],qs[_0x3071('0x41')](_0x1bf911[_0x3071('0x3e')][_0x3071('0x41')]));_0x1878e2[_0x3071('0x3f')]=_0x1878e2[_0x3071('0x3f')][_0x3071('0x42')]?_0x1878e2['attributes']:_0x180344[_0x3071('0x3a')];_0x1878e2[_0x3071('0x45')]=qs[_0x3071('0x46')](_0x1bf911[_0x3071('0x3e')][_0x3071('0x46')]);_0x1878e2[_0x3071('0x47')]=qs[_0x3071('0x3d')](_[_0x3071('0x48')](_0x1bf911['query'],_0x180344[_0x3071('0x3d')]));if(_0x1bf911[_0x3071('0x3e')]['filter']){_0x1878e2['where']=_[_0x3071('0x4a')](_0x1878e2[_0x3071('0x47')],{'$or':_[_0x3071('0x3b')](_0x1878e2[_0x3071('0x3f')],function(_0x5278ea){var _0x52955a={};_0x52955a[_0x5278ea]={'$like':'%'+_0x1bf911[_0x3071('0x3e')]['filter']+'%'};return _0x52955a;})});}_0x1878e2=_['merge']({},_0x1878e2,_0x1bf911['options']);return _0x6e96c7['getFields'](_0x1878e2);}})[_0x3071('0x1d')](function(_0x1da52c){if(_0x1da52c){_0x2aaccb=_0x1da52c[_0x3071('0x42')];if(!_0x1bf911['query'][_0x3071('0x43')](_0x3071('0x44'))){_0x1878e2[_0x3071('0x2d')]=qs[_0x3071('0x2d')](_0x1bf911['query'][_0x3071('0x2d')]);_0x1878e2[_0x3071('0x2b')]=qs['offset'](_0x1bf911[_0x3071('0x3e')][_0x3071('0x2b')]);}return _0x6e96c7[_0x3071('0x55')](_0x1878e2);}})[_0x3071('0x1d')](function(_0x4edd23){if(_0x4edd23){return _0x4edd23?{'count':_0x2aaccb,'rows':_0x4edd23}:null;}})[_0x3071('0x1d')](respondWithResult(_0x4d3886,null))[_0x3071('0x27')](handleError(_0x4d3886,null));};exports['getSubjects']=function(_0x5dde93,_0x21c1e3,_0x168025){var _0x1456ce={};var _0x4bf839={};var _0x53ebfe;var _0x9f49f0;return db[_0x3071('0x38')][_0x3071('0x56')]({'where':{'id':_0x5dde93[_0x3071('0x51')]['id']}})[_0x3071('0x1d')](handleEntityNotFound(_0x21c1e3,null))[_0x3071('0x1d')](function(_0x19bc85){if(_0x19bc85){_0x53ebfe=_0x19bc85;_0x4bf839[_0x3071('0x3a')]=_['keys'](db[_0x3071('0x57')]['rawAttributes']);_0x4bf839[_0x3071('0x3e')]=_[_0x3071('0x3c')](_0x5dde93[_0x3071('0x3e')]);_0x4bf839[_0x3071('0x3d')]=_[_0x3071('0x40')](_0x4bf839[_0x3071('0x3a')],_0x4bf839[_0x3071('0x3e')]);_0x1456ce[_0x3071('0x3f')]=_['intersection'](_0x4bf839[_0x3071('0x3a')],qs[_0x3071('0x41')](_0x5dde93[_0x3071('0x3e')]['fields']));_0x1456ce[_0x3071('0x3f')]=_0x1456ce[_0x3071('0x3f')][_0x3071('0x42')]?_0x1456ce['attributes']:_0x4bf839['model'];_0x1456ce[_0x3071('0x45')]=qs['sort'](_0x5dde93[_0x3071('0x3e')][_0x3071('0x46')]);_0x1456ce[_0x3071('0x47')]=qs[_0x3071('0x3d')](_[_0x3071('0x48')](_0x5dde93[_0x3071('0x3e')],_0x4bf839[_0x3071('0x3d')]));if(_0x5dde93['query'][_0x3071('0x49')]){_0x1456ce[_0x3071('0x47')]=_[_0x3071('0x4a')](_0x1456ce[_0x3071('0x47')],{'$or':_[_0x3071('0x3b')](_0x1456ce[_0x3071('0x3f')],function(_0x435dcb){var _0x277377={};_0x277377[_0x435dcb]={'$like':'%'+_0x5dde93['query'][_0x3071('0x49')]+'%'};return _0x277377;})});}_0x1456ce=_['merge']({},_0x1456ce,_0x5dde93[_0x3071('0x59')]);return _0x53ebfe[_0x3071('0x5a')](_0x1456ce);}})[_0x3071('0x1d')](function(_0x45879b){if(_0x45879b){_0x9f49f0=_0x45879b[_0x3071('0x42')];if(!_0x5dde93[_0x3071('0x3e')][_0x3071('0x43')](_0x3071('0x44'))){_0x1456ce[_0x3071('0x2d')]=qs[_0x3071('0x2d')](_0x5dde93['query'][_0x3071('0x2d')]);_0x1456ce[_0x3071('0x2b')]=qs['offset'](_0x5dde93[_0x3071('0x3e')][_0x3071('0x2b')]);}return _0x53ebfe[_0x3071('0x5a')](_0x1456ce);}})[_0x3071('0x1d')](function(_0x37a707){if(_0x37a707){return _0x37a707?{'count':_0x9f49f0,'rows':_0x37a707}:null;}})['then'](respondWithResult(_0x21c1e3,null))['catch'](handleError(_0x21c1e3,null));};exports[_0x3071('0x5b')]=function(_0x4da539,_0x2e6103,_0x1f4509){var _0x4167a7={};var _0x136278={};var _0x22783b;var _0x2f31b7;return db['DeskConfiguration'][_0x3071('0x56')]({'where':{'id':_0x4da539[_0x3071('0x51')]['id']}})[_0x3071('0x1d')](handleEntityNotFound(_0x2e6103,null))[_0x3071('0x1d')](function(_0x5da839){if(_0x5da839){_0x22783b=_0x5da839;_0x136278[_0x3071('0x3a')]=_[_0x3071('0x3c')](db['DeskField'][_0x3071('0x58')]);_0x136278[_0x3071('0x3e')]=_[_0x3071('0x3c')](_0x4da539[_0x3071('0x3e')]);_0x136278[_0x3071('0x3d')]=_['intersection'](_0x136278[_0x3071('0x3a')],_0x136278['query']);_0x4167a7[_0x3071('0x3f')]=_[_0x3071('0x40')](_0x136278[_0x3071('0x3a')],qs[_0x3071('0x41')](_0x4da539[_0x3071('0x3e')][_0x3071('0x41')]));_0x4167a7[_0x3071('0x3f')]=_0x4167a7[_0x3071('0x3f')]['length']?_0x4167a7[_0x3071('0x3f')]:_0x136278[_0x3071('0x3a')];_0x4167a7[_0x3071('0x45')]=qs['sort'](_0x4da539[_0x3071('0x3e')]['sort']);_0x4167a7[_0x3071('0x47')]=qs[_0x3071('0x3d')](_[_0x3071('0x48')](_0x4da539['query'],_0x136278[_0x3071('0x3d')]));if(_0x4da539[_0x3071('0x3e')][_0x3071('0x49')]){_0x4167a7[_0x3071('0x47')]=_[_0x3071('0x4a')](_0x4167a7[_0x3071('0x47')],{'$or':_[_0x3071('0x3b')](_0x4167a7[_0x3071('0x3f')],function(_0x39acd9){var _0x512417={};_0x512417[_0x39acd9]={'$like':'%'+_0x4da539[_0x3071('0x3e')][_0x3071('0x49')]+'%'};return _0x512417;})});}_0x4167a7=_[_0x3071('0x4a')]({},_0x4167a7,_0x4da539['options']);return _0x22783b['getDescriptions'](_0x4167a7);}})['then'](function(_0x5efe8e){if(_0x5efe8e){_0x2f31b7=_0x5efe8e['length'];if(!_0x4da539[_0x3071('0x3e')][_0x3071('0x43')]('nolimit')){_0x4167a7[_0x3071('0x2d')]=qs[_0x3071('0x2d')](_0x4da539[_0x3071('0x3e')]['limit']);_0x4167a7['offset']=qs[_0x3071('0x2b')](_0x4da539[_0x3071('0x3e')][_0x3071('0x2b')]);}return _0x22783b[_0x3071('0x5b')](_0x4167a7);}})[_0x3071('0x1d')](function(_0x1a8849){if(_0x1a8849){return _0x1a8849?{'count':_0x2f31b7,'rows':_0x1a8849}:null;}})[_0x3071('0x1d')](respondWithResult(_0x2e6103,null))['catch'](handleError(_0x2e6103,null));};exports['getTags']=function(_0x337c16,_0x33a1ea,_0x3db9c8){var _0x1674cb={};var _0x5a3b64={};var _0x2b8380;var _0x235232;return db[_0x3071('0x38')][_0x3071('0x56')]({'where':{'id':_0x337c16[_0x3071('0x51')]['id']}})[_0x3071('0x1d')](handleEntityNotFound(_0x33a1ea,null))[_0x3071('0x1d')](function(_0x288685){if(_0x288685){_0x2b8380=_0x288685;_0x5a3b64['model']=_[_0x3071('0x3c')](db[_0x3071('0x5c')][_0x3071('0x58')]);_0x5a3b64[_0x3071('0x3e')]=_[_0x3071('0x3c')](_0x337c16['query']);_0x5a3b64[_0x3071('0x3d')]=_['intersection'](_0x5a3b64['model'],_0x5a3b64[_0x3071('0x3e')]);_0x1674cb[_0x3071('0x3f')]=_[_0x3071('0x40')](_0x5a3b64['model'],qs[_0x3071('0x41')](_0x337c16[_0x3071('0x3e')][_0x3071('0x41')]));_0x1674cb[_0x3071('0x3f')]=_0x1674cb[_0x3071('0x3f')]['length']?_0x1674cb['attributes']:_0x5a3b64[_0x3071('0x3a')];_0x1674cb[_0x3071('0x45')]=qs['sort'](_0x337c16[_0x3071('0x3e')][_0x3071('0x46')]);_0x1674cb[_0x3071('0x47')]=qs[_0x3071('0x3d')](_[_0x3071('0x48')](_0x337c16['query'],_0x5a3b64[_0x3071('0x3d')]));if(_0x337c16['query'][_0x3071('0x49')]){_0x1674cb[_0x3071('0x47')]=_['merge'](_0x1674cb[_0x3071('0x47')],{'$or':_['map'](_0x1674cb[_0x3071('0x3f')],function(_0x23d60a){var _0x408ace={};_0x408ace[_0x23d60a]={'$like':'%'+_0x337c16[_0x3071('0x3e')]['filter']+'%'};return _0x408ace;})});}_0x1674cb=_[_0x3071('0x4a')]({},_0x1674cb,_0x337c16['options']);return _0x2b8380[_0x3071('0x5d')](_0x1674cb);}})['then'](function(_0x975ff7){if(_0x975ff7){_0x235232=_0x975ff7[_0x3071('0x42')];if(!_0x337c16['query'][_0x3071('0x43')](_0x3071('0x44'))){_0x1674cb['limit']=qs[_0x3071('0x2d')](_0x337c16[_0x3071('0x3e')][_0x3071('0x2d')]);_0x1674cb[_0x3071('0x2b')]=qs[_0x3071('0x2b')](_0x337c16[_0x3071('0x3e')][_0x3071('0x2b')]);}return _0x2b8380[_0x3071('0x5d')](_0x1674cb);}})[_0x3071('0x1d')](function(_0x35d0d1){if(_0x35d0d1){return _0x35d0d1?{'count':_0x235232,'rows':_0x35d0d1}:null;}})[_0x3071('0x1d')](respondWithResult(_0x33a1ea,null))[_0x3071('0x27')](handleError(_0x33a1ea,null));};exports[_0x3071('0x5e')]=function(_0xce9c37,_0x36de68,_0x5128a5){if(_0xce9c37[_0x3071('0x52')]['id']){delete _0xce9c37[_0x3071('0x52')]['id'];}return db[_0x3071('0x38')][_0x3071('0x56')]({'where':{'id':_0xce9c37[_0x3071('0x51')]['id']}})['then'](handleEntityNotFound(_0x36de68,null))['then'](function(_0x3a9f1){if(_0x3a9f1){return _0x3a9f1[_0x3071('0x5e')](_0xce9c37['body'][_0x3071('0x5f')]||[]);}return null;})[_0x3071('0x1d')](respondWithResult(_0x36de68,null))['catch'](handleError(_0x36de68,null));};