080d70e880e039303c8efc3a381deb40aa8a62ab
[motion2.git] / server / api / dashboard / dashboard.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 _0xdec1=['user','UserProfileSection','userProfileId','iframe','attrUrl','attrs','value','attrPath','attrHourFormat','HH:mm:ss','attrTimezone','0.00','counter','attrMetric','total','attrFontSize','multibar-chart','attrSerie1','attrSerie2','attrSerie3','attrVoiceQueues','web-report','attrReport','reportType','attrRefresh','widgetAttributes:\x20%s','stringify','addItem','DashboardId','DashboardItem','getItems','findOne','pick','eml-format','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','localhost','socket.io-emitter','./dashboard.socket','status','offset','limit','count','json','apply','save','update','then','destroy','stack','name','send','index','map','Dashboard','fieldName','key','model','query','keys','filters','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','type','VIRTUAL','options','includeAll','include','rows','catch','params','rawAttributes','intersection','create','get','role','find','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','createdAt','body','updatedAt'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0xdec1,0x105));var _0x1dec=function(_0x54f595,_0x209418){_0x54f595=_0x54f595-0x0;var _0x3e424d=_0xdec1[_0x54f595];return _0x3e424d;};'use strict';var emlformat=require(_0x1dec('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x1dec('0x1'));var jsonpatch=require(_0x1dec('0x2'));var rp=require(_0x1dec('0x3'));var moment=require('moment');var BPromise=require(_0x1dec('0x4'));var Mustache=require(_0x1dec('0x5'));var util=require(_0x1dec('0x6'));var path=require('path');var sox=require(_0x1dec('0x7'));var csv=require(_0x1dec('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x1dec('0x9'));var _=require(_0x1dec('0xa'));var squel=require('squel');var crypto=require(_0x1dec('0xb'));var jsforce=require(_0x1dec('0xc'));var deskjs=require(_0x1dec('0xd'));var toCsv=require(_0x1dec('0x8'));var querystring=require(_0x1dec('0xe'));var Papa=require('papaparse');var Redis=require(_0x1dec('0xf'));var authService=require(_0x1dec('0x10'));var qs=require(_0x1dec('0x11'));var as=require(_0x1dec('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x1dec('0x13'))(_0x1dec('0x14'));var utils=require('../../config/utils');var config=require(_0x1dec('0x15'));var licenseUtil=require(_0x1dec('0x16'));var db=require(_0x1dec('0x17'))['db'];config['redis']=_['defaults'](config['redis'],{'host':_0x1dec('0x18'),'port':0x18eb});var socket=require(_0x1dec('0x19'))(new Redis(config['redis']));require(_0x1dec('0x1a'))['register'](socket);function respondWithStatusCode(_0x2ba022,_0x1def40){_0x1def40=_0x1def40||0xcc;return function(_0x4a8303){if(_0x4a8303){return _0x2ba022['sendStatus'](_0x1def40);}return _0x2ba022[_0x1dec('0x1b')](_0x1def40)['end']();};}function respondWithResult(_0x450332,_0x13d3af){_0x13d3af=_0x13d3af||0xc8;return function(_0x221876){if(_0x221876){return _0x450332[_0x1dec('0x1b')](_0x13d3af)['json'](_0x221876);}};}function respondWithFilteredResult(_0xfe2b4e,_0x26005f){return function(_0xce702e){if(_0xce702e){var _0x29017a=typeof _0x26005f[_0x1dec('0x1c')]==='undefined'&&typeof _0x26005f[_0x1dec('0x1d')]==='undefined';var _0x31e1c8=_0xce702e[_0x1dec('0x1e')];var _0x50705f=_0x29017a?0x0:_0x26005f[_0x1dec('0x1c')];var _0xcaedd2=_0x29017a?_0xce702e[_0x1dec('0x1e')]:_0x26005f['offset']+_0x26005f[_0x1dec('0x1d')];var _0x53c9fb;if(_0xcaedd2>=_0x31e1c8){_0xcaedd2=_0x31e1c8;_0x53c9fb=0xc8;}else{_0x53c9fb=0xce;}_0xfe2b4e[_0x1dec('0x1b')](_0x53c9fb);return _0xfe2b4e['set']('Content-Range',_0x50705f+'-'+_0xcaedd2+'/'+_0x31e1c8)[_0x1dec('0x1f')](_0xce702e);}return null;};}function patchUpdates(_0x28d22e){return function(_0x49e024){try{jsonpatch[_0x1dec('0x20')](_0x49e024,_0x28d22e,!![]);}catch(_0x2ff08d){return BPromise['reject'](_0x2ff08d);}return _0x49e024[_0x1dec('0x21')]();};}function saveUpdates(_0x2f6296,_0x316922){return function(_0x4d8da5){if(_0x4d8da5){return _0x4d8da5[_0x1dec('0x22')](_0x2f6296)[_0x1dec('0x23')](function(_0xe2e70f){return _0xe2e70f;});}return null;};}function removeEntity(_0x4479b8,_0x4235c2){return function(_0x178fa4){if(_0x178fa4){return _0x178fa4[_0x1dec('0x24')]()['then'](function(){var _0x58be36=_0x178fa4['get']({'plain':!![]});var _0x50201e='CustomDashboards';return db['UserProfileResource'][_0x1dec('0x24')]({'where':{'type':_0x50201e,'resourceId':_0x58be36['id']}})[_0x1dec('0x23')](function(){return _0x178fa4;});})[_0x1dec('0x23')](function(){_0x4479b8[_0x1dec('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x2e8f95,_0x3aa9f6){return function(_0x4f9420){if(!_0x4f9420){_0x2e8f95['sendStatus'](0x194);}return _0x4f9420;};}function handleError(_0x28dc7d,_0x68c7){_0x68c7=_0x68c7||0x1f4;return function(_0x20aaec){logger['error'](_0x20aaec[_0x1dec('0x25')]);if(_0x20aaec[_0x1dec('0x26')]){delete _0x20aaec[_0x1dec('0x26')];}_0x28dc7d['status'](_0x68c7)[_0x1dec('0x27')](_0x20aaec);};}exports[_0x1dec('0x28')]=function(_0x2a4e2f,_0x2c31e6){var _0x26d1c1={},_0x11eb54={},_0x46d8b1={'count':0x0,'rows':[]};var _0x178d0c=_[_0x1dec('0x29')](db[_0x1dec('0x2a')]['rawAttributes'],function(_0x137841){return{'name':_0x137841[_0x1dec('0x2b')],'type':_0x137841['type'][_0x1dec('0x2c')]};});_0x11eb54[_0x1dec('0x2d')]=_[_0x1dec('0x29')](_0x178d0c,_0x1dec('0x26'));_0x11eb54[_0x1dec('0x2e')]=_[_0x1dec('0x2f')](_0x2a4e2f['query']);_0x11eb54[_0x1dec('0x30')]=_['intersection'](_0x11eb54[_0x1dec('0x2d')],_0x11eb54[_0x1dec('0x2e')]);_0x26d1c1[_0x1dec('0x31')]=_['intersection'](_0x11eb54[_0x1dec('0x2d')],qs[_0x1dec('0x32')](_0x2a4e2f[_0x1dec('0x2e')][_0x1dec('0x32')]));_0x26d1c1[_0x1dec('0x31')]=_0x26d1c1[_0x1dec('0x31')][_0x1dec('0x33')]?_0x26d1c1[_0x1dec('0x31')]:_0x11eb54[_0x1dec('0x2d')];if(!_0x2a4e2f[_0x1dec('0x2e')][_0x1dec('0x34')](_0x1dec('0x35'))){_0x26d1c1[_0x1dec('0x1d')]=qs[_0x1dec('0x1d')](_0x2a4e2f[_0x1dec('0x2e')][_0x1dec('0x1d')]);_0x26d1c1[_0x1dec('0x1c')]=qs['offset'](_0x2a4e2f[_0x1dec('0x2e')][_0x1dec('0x1c')]);}_0x26d1c1['order']=qs[_0x1dec('0x36')](_0x2a4e2f[_0x1dec('0x2e')][_0x1dec('0x36')]);_0x26d1c1[_0x1dec('0x37')]=qs[_0x1dec('0x30')](_['pick'](_0x2a4e2f[_0x1dec('0x2e')],_0x11eb54['filters']),_0x178d0c);if(_0x2a4e2f[_0x1dec('0x2e')][_0x1dec('0x38')]){_0x26d1c1['where']=_[_0x1dec('0x39')](_0x26d1c1['where'],{'$or':_[_0x1dec('0x29')](_0x178d0c,function(_0x1f5b86){if(_0x1f5b86[_0x1dec('0x3a')]!==_0x1dec('0x3b')){var _0x47cf3c={};_0x47cf3c[_0x1f5b86[_0x1dec('0x26')]]={'$like':'%'+_0x2a4e2f[_0x1dec('0x2e')]['filter']+'%'};return _0x47cf3c;}})});}_0x26d1c1=_[_0x1dec('0x39')]({},_0x26d1c1,_0x2a4e2f[_0x1dec('0x3c')]);var _0x4e9d52={'where':_0x26d1c1[_0x1dec('0x37')]};return db[_0x1dec('0x2a')]['count'](_0x4e9d52)[_0x1dec('0x23')](function(_0x2e0dc8){_0x46d8b1['count']=_0x2e0dc8;if(_0x2a4e2f[_0x1dec('0x2e')][_0x1dec('0x3d')]){_0x26d1c1[_0x1dec('0x3e')]=[{'all':!![]}];}return db[_0x1dec('0x2a')]['findAll'](_0x26d1c1);})[_0x1dec('0x23')](function(_0x2a0706){_0x46d8b1[_0x1dec('0x3f')]=_0x2a0706;return _0x46d8b1;})['then'](respondWithFilteredResult(_0x2c31e6,_0x26d1c1))[_0x1dec('0x40')](handleError(_0x2c31e6,null));};exports['show']=function(_0x2543b4,_0xdd8f32){var _0x3cf37d={'raw':![],'where':{'id':_0x2543b4[_0x1dec('0x41')]['id']}},_0x3cddd4={};_0x3cddd4[_0x1dec('0x2d')]=_[_0x1dec('0x2f')](db['Dashboard'][_0x1dec('0x42')]);_0x3cddd4['query']=_[_0x1dec('0x2f')](_0x2543b4[_0x1dec('0x2e')]);_0x3cddd4[_0x1dec('0x30')]=_[_0x1dec('0x43')](_0x3cddd4[_0x1dec('0x2d')],_0x3cddd4['query']);_0x3cf37d[_0x1dec('0x31')]=_[_0x1dec('0x43')](_0x3cddd4[_0x1dec('0x2d')],qs['fields'](_0x2543b4[_0x1dec('0x2e')][_0x1dec('0x32')]));_0x3cf37d[_0x1dec('0x31')]=_0x3cf37d['attributes'][_0x1dec('0x33')]?_0x3cf37d[_0x1dec('0x31')]:_0x3cddd4['model'];if(_0x2543b4['query'][_0x1dec('0x3d')]){_0x3cf37d['include']=[{'all':!![]}];}_0x3cf37d=_[_0x1dec('0x39')]({},_0x3cf37d,_0x2543b4['options']);return db['Dashboard']['find'](_0x3cf37d)[_0x1dec('0x23')](handleEntityNotFound(_0xdd8f32,null))[_0x1dec('0x23')](respondWithResult(_0xdd8f32,null))[_0x1dec('0x40')](handleError(_0xdd8f32,null));};exports['create']=function(_0x4bf78f,_0x526c3a){return db['Dashboard'][_0x1dec('0x44')](_0x4bf78f['body'],{})[_0x1dec('0x23')](function(_0x48c21e){var _0x235a0a=_0x4bf78f['user'][_0x1dec('0x45')]({'plain':!![]});if(!_0x235a0a)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x235a0a[_0x1dec('0x46')]==='user'){var _0x25f853=_0x48c21e[_0x1dec('0x45')]({'plain':!![]});var _0x3c5f0b='CustomDashboards';return db['UserProfileSection'][_0x1dec('0x47')]({'where':{'name':_0x3c5f0b,'userProfileId':_0x235a0a['userProfileId']},'raw':!![]})[_0x1dec('0x23')](function(_0x5614ee){if(_0x5614ee&&_0x5614ee[_0x1dec('0x48')]===0x0){return db[_0x1dec('0x49')]['create']({'name':_0x25f853[_0x1dec('0x26')],'resourceId':_0x25f853['id'],'type':_0x5614ee['name'],'sectionId':_0x5614ee['id']},{})[_0x1dec('0x23')](function(){return _0x48c21e;});}else{return _0x48c21e;}})[_0x1dec('0x40')](function(_0x1e3fdb){logger[_0x1dec('0x4a')](_0x1dec('0x4b'),_0x1e3fdb);throw _0x1e3fdb;});}return _0x48c21e;})['then'](respondWithResult(_0x526c3a,0xc9))[_0x1dec('0x40')](handleError(_0x526c3a,null));};exports[_0x1dec('0x4c')]=function(_0x5e3b6f,_0x4ce814){var _0x9cefa5={'where':{'id':_0x5e3b6f[_0x1dec('0x41')]['id']}},_0xb70932={};_0xb70932['model']=_['keys'](db[_0x1dec('0x2a')][_0x1dec('0x42')]);_0x9cefa5[_0x1dec('0x31')]=_[_0x1dec('0x43')](_0xb70932[_0x1dec('0x2d')],qs[_0x1dec('0x32')](_0x5e3b6f[_0x1dec('0x2e')][_0x1dec('0x32')]));_0x9cefa5[_0x1dec('0x31')]=_0x9cefa5[_0x1dec('0x31')][_0x1dec('0x33')]?_0x9cefa5['attributes']:_0xb70932[_0x1dec('0x2d')];if(_0x5e3b6f[_0x1dec('0x2e')]['includeAll']){_0x9cefa5[_0x1dec('0x3e')]=[{'all':!![]}];}_0x9cefa5=_[_0x1dec('0x39')]({},_0x9cefa5,_0x5e3b6f['options']);return db[_0x1dec('0x2a')][_0x1dec('0x47')](_0x9cefa5)[_0x1dec('0x23')](handleEntityNotFound(_0x4ce814,null))[_0x1dec('0x23')](function(_0x54ea66){if(_0x54ea66){var _0x4d3b60=_0x54ea66[_0x1dec('0x45')]({'plain':!![]});_0x4d3b60=qs[_0x1dec('0x4d')](_0x4d3b60,['id',_0x1dec('0x4e'),'updatedAt']);_0x5e3b6f[_0x1dec('0x4f')]=_[_0x1dec('0x4d')](_0x5e3b6f['body'],['id','createdAt',_0x1dec('0x50')]);return db[_0x1dec('0x2a')][_0x1dec('0x44')](_[_0x1dec('0x39')](_0x4d3b60,_0x5e3b6f[_0x1dec('0x4f')]),{'include':_0x5e3b6f[_0x1dec('0x2e')][_0x1dec('0x3d')]?[{'all':!![]}]:undefined})[_0x1dec('0x23')](function(_0x4c5911){var _0x5a48c2=_0x5e3b6f[_0x1dec('0x51')][_0x1dec('0x45')]({'plain':!![]});if(!_0x5a48c2)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5a48c2[_0x1dec('0x46')]===_0x1dec('0x51')){var _0x4f7009=_0x4c5911[_0x1dec('0x45')]({'plain':!![]});var _0x1a8f9e='CustomDashboards';return db[_0x1dec('0x52')][_0x1dec('0x47')]({'where':{'name':_0x1a8f9e,'userProfileId':_0x5a48c2[_0x1dec('0x53')]},'raw':!![]})[_0x1dec('0x23')](function(_0x530d54){if(_0x530d54&&_0x530d54[_0x1dec('0x48')]===0x0){return db['UserProfileResource'][_0x1dec('0x44')]({'name':_0x4f7009[_0x1dec('0x26')],'resourceId':_0x4f7009['id'],'type':_0x530d54['name'],'sectionId':_0x530d54['id']},{})[_0x1dec('0x23')](function(){return _0x4c5911;});}else{return _0x4c5911;}})[_0x1dec('0x40')](function(_0x123179){logger['error'](_0x1dec('0x4b'),_0x123179);throw _0x123179;});}return _0x4c5911;});}})['then'](respondWithResult(_0x4ce814,0xc9))[_0x1dec('0x40')](handleError(_0x4ce814,null));};exports['update']=function(_0x5eadb0,_0x1ba217){if(_0x5eadb0[_0x1dec('0x4f')]['id']){delete _0x5eadb0[_0x1dec('0x4f')]['id'];}return db['Dashboard']['find']({'where':{'id':_0x5eadb0['params']['id']}})['then'](handleEntityNotFound(_0x1ba217,null))['then'](saveUpdates(_0x5eadb0['body'],null))['then'](respondWithResult(_0x1ba217,null))['catch'](handleError(_0x1ba217,null));};exports[_0x1dec('0x24')]=function(_0x12b0d2,_0x148125){return db[_0x1dec('0x2a')][_0x1dec('0x47')]({'where':{'id':_0x12b0d2[_0x1dec('0x41')]['id']}})['then'](handleEntityNotFound(_0x148125,null))[_0x1dec('0x23')](removeEntity(_0x148125,null))[_0x1dec('0x40')](handleError(_0x148125,null));};function widgetAttributes(_0x55dd31){try{switch(_0x55dd31[_0x1dec('0x3a')]){case _0x1dec('0x54'):return[{'name':_0x1dec('0x55'),'value':_0x55dd31['attrUrl']||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31['attrs'][0x0]?_0x55dd31[_0x1dec('0x56')][0x0][_0x1dec('0x57')]:undefined)||'https://'}];case'custom':return[{'name':'attrPath','value':_0x55dd31[_0x1dec('0x58')]||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31[_0x1dec('0x56')][0x0]?_0x55dd31[_0x1dec('0x56')][0x0][_0x1dec('0x57')]:undefined)||''}];case'clock':return[{'name':_0x1dec('0x59'),'value':_0x55dd31[_0x1dec('0x59')]||(_0x55dd31['attrs']&&_0x55dd31[_0x1dec('0x56')][0x0]?_0x55dd31[_0x1dec('0x56')][0x0][_0x1dec('0x57')]:undefined)||_0x1dec('0x5a')},{'name':'attrTimezone','value':_0x55dd31[_0x1dec('0x5b')]||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31['attrs'][0x1]?_0x55dd31[_0x1dec('0x56')][0x1][_0x1dec('0x57')]:undefined)||_0x1dec('0x5c')},{'name':'attrFontSize','value':_0x55dd31['attrFontSize']||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31[_0x1dec('0x56')][0x2]?_0x55dd31[_0x1dec('0x56')][0x2][_0x1dec('0x57')]:undefined)||0xc}];case _0x1dec('0x5d'):return[{'name':_0x1dec('0x5e'),'value':_0x55dd31[_0x1dec('0x5e')]||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31[_0x1dec('0x56')][0x0]?_0x55dd31[_0x1dec('0x56')][0x0][_0x1dec('0x57')]:undefined)||_0x1dec('0x5f')},{'name':'attrVoiceQueues','value':_0x55dd31['attrVoiceQueues']||(_0x55dd31['attrs']&&_0x55dd31['attrs'][0x1]?_0x55dd31[_0x1dec('0x56')][0x1][_0x1dec('0x57')]:undefined)||[]},{'name':_0x1dec('0x60'),'value':_0x55dd31[_0x1dec('0x60')]||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31[_0x1dec('0x56')][0x2]?_0x55dd31[_0x1dec('0x56')][0x2]['value']:undefined)||0x14}];case _0x1dec('0x61'):case'pie-chart':return[{'name':_0x1dec('0x62'),'value':_0x55dd31[_0x1dec('0x62')]||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31[_0x1dec('0x56')][0x0]?_0x55dd31[_0x1dec('0x56')][0x0][_0x1dec('0x57')]:undefined)||'total'},{'name':_0x1dec('0x63'),'value':_0x55dd31[_0x1dec('0x63')]||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31['attrs'][0x1]?_0x55dd31['attrs'][0x1][_0x1dec('0x57')]:undefined)||null},{'name':_0x1dec('0x64'),'value':_0x55dd31['attrSerie3']||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31[_0x1dec('0x56')][0x2]?_0x55dd31['attrs'][0x2]['value']:undefined)||null},{'name':_0x1dec('0x65'),'value':_0x55dd31[_0x1dec('0x65')]||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31['attrs'][0x3]?_0x55dd31['attrs'][0x3][_0x1dec('0x57')]:undefined)||[]}];case _0x1dec('0x66'):return[{'name':_0x1dec('0x67'),'type':_0x55dd31[_0x1dec('0x68')]||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31[_0x1dec('0x56')][0x0]?_0x55dd31[_0x1dec('0x56')][0x0][_0x1dec('0x3a')]:undefined)||null,'value':_0x55dd31[_0x1dec('0x67')]||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31['attrs'][0x0]?_0x55dd31['attrs'][0x0][_0x1dec('0x57')]:undefined)||null},{'name':_0x1dec('0x69'),'value':_0x55dd31[_0x1dec('0x69')]||(_0x55dd31[_0x1dec('0x56')]&&_0x55dd31['attrs'][0x1]?_0x55dd31[_0x1dec('0x56')][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x4cf9c5){logger[_0x1dec('0x4a')](_0x1dec('0x6a'),JSON[_0x1dec('0x6b')](_0x4cf9c5));return[];}}exports[_0x1dec('0x6c')]=function(_0x582d64,_0x468206,_0x7674c6){if(_0x582d64[_0x1dec('0x4f')]['id']){delete _0x582d64[_0x1dec('0x4f')]['id'];}return db[_0x1dec('0x2a')][_0x1dec('0x47')]({'where':{'id':_0x582d64['params']['id']}})[_0x1dec('0x23')](handleEntityNotFound(_0x468206,null))[_0x1dec('0x23')](function(_0x4ec6d5){if(_0x4ec6d5){_0x582d64['body'][_0x1dec('0x6d')]=_0x4ec6d5['id'];_0x582d64['body']['attrs']=widgetAttributes(_0x582d64[_0x1dec('0x4f')]);return db[_0x1dec('0x6e')][_0x1dec('0x44')](_0x582d64[_0x1dec('0x4f')]);}})['then'](respondWithResult(_0x468206,null))['catch'](handleError(_0x468206,null));};exports[_0x1dec('0x6f')]=function(_0x54d796,_0xb68f9d,_0x16f3c5){var _0x2b7039={};var _0x265a35={};var _0x4ac723;var _0x3e5525;return db[_0x1dec('0x2a')][_0x1dec('0x70')]({'where':{'id':_0x54d796[_0x1dec('0x41')]['id']}})[_0x1dec('0x23')](handleEntityNotFound(_0xb68f9d,null))[_0x1dec('0x23')](function(_0x116e00){if(_0x116e00){_0x4ac723=_0x116e00;_0x265a35[_0x1dec('0x2d')]=_['keys'](db[_0x1dec('0x6e')][_0x1dec('0x42')]);_0x265a35[_0x1dec('0x2e')]=_[_0x1dec('0x2f')](_0x54d796[_0x1dec('0x2e')]);_0x265a35[_0x1dec('0x30')]=_[_0x1dec('0x43')](_0x265a35[_0x1dec('0x2d')],_0x265a35[_0x1dec('0x2e')]);_0x2b7039['attributes']=_[_0x1dec('0x43')](_0x265a35[_0x1dec('0x2d')],qs[_0x1dec('0x32')](_0x54d796[_0x1dec('0x2e')][_0x1dec('0x32')]));_0x2b7039['attributes']=_0x2b7039[_0x1dec('0x31')][_0x1dec('0x33')]?_0x2b7039['attributes']:_0x265a35[_0x1dec('0x2d')];_0x2b7039['order']=qs[_0x1dec('0x36')](_0x54d796[_0x1dec('0x2e')][_0x1dec('0x36')]);_0x2b7039['where']=qs['filters'](_[_0x1dec('0x71')](_0x54d796[_0x1dec('0x2e')],_0x265a35[_0x1dec('0x30')]));if(_0x54d796['query']['filter']){_0x2b7039[_0x1dec('0x37')]=_[_0x1dec('0x39')](_0x2b7039[_0x1dec('0x37')],{'$or':_['map'](_0x2b7039[_0x1dec('0x31')],function(_0x5c5728){var _0x372ad8={};_0x372ad8[_0x5c5728]={'$like':'%'+_0x54d796[_0x1dec('0x2e')][_0x1dec('0x38')]+'%'};return _0x372ad8;})});}_0x2b7039=_['merge']({},_0x2b7039,_0x54d796['options']);return _0x4ac723[_0x1dec('0x6f')](_0x2b7039);}})[_0x1dec('0x23')](function(_0x335d66){if(_0x335d66){_0x3e5525=_0x335d66['length'];if(!_0x54d796[_0x1dec('0x2e')][_0x1dec('0x34')]('nolimit')){_0x2b7039[_0x1dec('0x1d')]=qs['limit'](_0x54d796[_0x1dec('0x2e')]['limit']);_0x2b7039[_0x1dec('0x1c')]=qs[_0x1dec('0x1c')](_0x54d796[_0x1dec('0x2e')][_0x1dec('0x1c')]);}return _0x4ac723['getItems'](_0x2b7039);}})['then'](function(_0x124e0b){if(_0x124e0b){return _0x124e0b?{'count':_0x3e5525,'rows':_0x124e0b}:null;}})[_0x1dec('0x23')](respondWithResult(_0xb68f9d,null))[_0x1dec('0x40')](handleError(_0xb68f9d,null));};