20d5c716817f8d71e2e05f43721cb13b354a8007
[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 _0xb530=['sox','to-csv','ejs','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','./dashboard.socket','status','end','json','count','offset','limit','set','reject','save','update','destroy','get','CustomDashboards','UserProfileResource','then','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','nolimit','sort','pick','filter','where','merge','options','includeAll','include','Dashboard','rows','show','params','length','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','clone','omit','createdAt','updatedAt','body','catch','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','iframe','attrUrl','attrs','custom','attrPath','value','clock','attrHourFormat','attrTimezone','0.00','counter','total','attrVoiceQueues','attrFontSize','pie-chart','attrSerie1','attrSerie2','attrSerie3','web-report','attrReport','reportType','attrRefresh','stringify','addItem','DashboardId','DashboardItem','getItems','findOne','order','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path'];(function(_0x5e3665,_0x369ac8){var _0x187299=function(_0x5c37f8){while(--_0x5c37f8){_0x5e3665['push'](_0x5e3665['shift']());}};_0x187299(++_0x369ac8);}(_0xb530,0x70));var _0x0b53=function(_0x31af79,_0x4aff3a){_0x31af79=_0x31af79-0x0;var _0x397b10=_0xb530[_0x31af79];return _0x397b10;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x0b53('0x0'));var rimraf=require(_0x0b53('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x0b53('0x2'));var rp=require(_0x0b53('0x3'));var moment=require(_0x0b53('0x4'));var BPromise=require(_0x0b53('0x5'));var Mustache=require(_0x0b53('0x6'));var util=require(_0x0b53('0x7'));var path=require(_0x0b53('0x8'));var sox=require(_0x0b53('0x9'));var csv=require(_0x0b53('0xa'));var ejs=require(_0x0b53('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x0b53('0xc'));var crypto=require('crypto');var jsforce=require(_0x0b53('0xd'));var deskjs=require(_0x0b53('0xe'));var toCsv=require(_0x0b53('0xa'));var querystring=require(_0x0b53('0xf'));var Papa=require(_0x0b53('0x10'));var Redis=require(_0x0b53('0x11'));var authService=require(_0x0b53('0x12'));var qs=require(_0x0b53('0x13'));var as=require(_0x0b53('0x14'));var hardwareService=require(_0x0b53('0x15'));var logger=require('../../config/logger')(_0x0b53('0x16'));var utils=require('../../config/utils');var config=require(_0x0b53('0x17'));var licenseUtil=require(_0x0b53('0x18'));var db=require(_0x0b53('0x19'))['db'];config['redis']=_[_0x0b53('0x1a')](config[_0x0b53('0x1b')],{'host':_0x0b53('0x1c'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x0b53('0x1b')]));require(_0x0b53('0x1d'))['register'](socket);function respondWithStatusCode(_0x338bd8,_0x20b56e){_0x20b56e=_0x20b56e||0xcc;return function(_0x11d332){if(_0x11d332){return _0x338bd8['sendStatus'](_0x20b56e);}return _0x338bd8[_0x0b53('0x1e')](_0x20b56e)[_0x0b53('0x1f')]();};}function respondWithResult(_0x1d8d24,_0x3c7f94){_0x3c7f94=_0x3c7f94||0xc8;return function(_0xec0066){if(_0xec0066){return _0x1d8d24[_0x0b53('0x1e')](_0x3c7f94)[_0x0b53('0x20')](_0xec0066);}};}function respondWithFilteredResult(_0x4ff22d,_0x1753c0){return function(_0x4f3640){if(_0x4f3640){var _0x122dee=_0x4f3640[_0x0b53('0x21')],_0x536f91=_0x1753c0[_0x0b53('0x22')],_0x2ee3d4=_0x1753c0[_0x0b53('0x22')]+_0x1753c0[_0x0b53('0x23')],_0x92353c;if(_0x2ee3d4>=_0x122dee){_0x2ee3d4=_0x122dee;_0x92353c=0xc8;}else{_0x92353c=0xce;}_0x4ff22d[_0x0b53('0x1e')](_0x92353c);return _0x4ff22d[_0x0b53('0x24')]('Content-Range',_0x536f91+'-'+_0x2ee3d4+'/'+_0x122dee)[_0x0b53('0x20')](_0x4f3640);}return null;};}function patchUpdates(_0x25a63a){return function(_0x540f04){try{jsonpatch['apply'](_0x540f04,_0x25a63a,!![]);}catch(_0x696243){return BPromise[_0x0b53('0x25')](_0x696243);}return _0x540f04[_0x0b53('0x26')]();};}function saveUpdates(_0x3ce2b0,_0x5463d5){return function(_0x2f8bae){if(_0x2f8bae){return _0x2f8bae[_0x0b53('0x27')](_0x3ce2b0)['then'](function(_0x4de8c2){return _0x4de8c2;});}return null;};}function removeEntity(_0x2e0207,_0x3f50b5){return function(_0x261c12){if(_0x261c12){return _0x261c12[_0x0b53('0x28')]()['then'](function(){var _0x4d8abd=_0x261c12[_0x0b53('0x29')]({'plain':!![]});var _0x5b4870=_0x0b53('0x2a');return db[_0x0b53('0x2b')][_0x0b53('0x28')]({'where':{'type':_0x5b4870,'resourceId':_0x4d8abd['id']}})[_0x0b53('0x2c')](function(){return _0x261c12;});})[_0x0b53('0x2c')](function(){_0x2e0207['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x4fb6ff,_0x512b3e){return function(_0x2e7651){if(!_0x2e7651){_0x4fb6ff[_0x0b53('0x2d')](0x194);}return _0x2e7651;};}function handleError(_0x1fc1a2,_0x321a2f){_0x321a2f=_0x321a2f||0x1f4;return function(_0x1b29c5){logger[_0x0b53('0x2e')](_0x1b29c5[_0x0b53('0x2f')]);if(_0x1b29c5[_0x0b53('0x30')]){delete _0x1b29c5['name'];}_0x1fc1a2[_0x0b53('0x1e')](_0x321a2f)[_0x0b53('0x31')](_0x1b29c5);};}exports[_0x0b53('0x32')]=function(_0x5c31fc,_0x39946c){var _0x21e32f={},_0x51e4bb={},_0x45d5d2={'count':0x0,'rows':[]};var _0x1e2a4e=_[_0x0b53('0x33')](db['Dashboard'][_0x0b53('0x34')],function(_0x4f9f2b){return{'name':_0x4f9f2b[_0x0b53('0x35')],'type':_0x4f9f2b[_0x0b53('0x36')][_0x0b53('0x37')]};});_0x51e4bb[_0x0b53('0x38')]=_[_0x0b53('0x33')](_0x1e2a4e,_0x0b53('0x30'));_0x51e4bb[_0x0b53('0x39')]=_[_0x0b53('0x3a')](_0x5c31fc[_0x0b53('0x39')]);_0x51e4bb[_0x0b53('0x3b')]=_[_0x0b53('0x3c')](_0x51e4bb['model'],_0x51e4bb[_0x0b53('0x39')]);_0x21e32f['attributes']=_['intersection'](_0x51e4bb[_0x0b53('0x38')],qs[_0x0b53('0x3d')](_0x5c31fc[_0x0b53('0x39')][_0x0b53('0x3d')]));_0x21e32f[_0x0b53('0x3e')]=_0x21e32f[_0x0b53('0x3e')]['length']?_0x21e32f[_0x0b53('0x3e')]:_0x51e4bb[_0x0b53('0x38')];if(!_0x5c31fc[_0x0b53('0x39')]['hasOwnProperty'](_0x0b53('0x3f'))){_0x21e32f[_0x0b53('0x23')]=qs['limit'](_0x5c31fc[_0x0b53('0x39')][_0x0b53('0x23')]);_0x21e32f['offset']=qs['offset'](_0x5c31fc['query'][_0x0b53('0x22')]);}_0x21e32f['order']=qs[_0x0b53('0x40')](_0x5c31fc[_0x0b53('0x39')][_0x0b53('0x40')]);_0x21e32f['where']=qs[_0x0b53('0x3b')](_[_0x0b53('0x41')](_0x5c31fc[_0x0b53('0x39')],_0x51e4bb['filters']),_0x1e2a4e);if(_0x5c31fc[_0x0b53('0x39')][_0x0b53('0x42')]){_0x21e32f[_0x0b53('0x43')]=_[_0x0b53('0x44')](_0x21e32f['where'],{'$or':_[_0x0b53('0x33')](_0x1e2a4e,function(_0x217539){if(_0x217539[_0x0b53('0x36')]!=='VIRTUAL'){var _0x5e5fef={};_0x5e5fef[_0x217539[_0x0b53('0x30')]]={'$like':'%'+_0x5c31fc[_0x0b53('0x39')][_0x0b53('0x42')]+'%'};return _0x5e5fef;}})});}_0x21e32f=_[_0x0b53('0x44')]({},_0x21e32f,_0x5c31fc[_0x0b53('0x45')]);var _0xa99959={'where':_0x21e32f[_0x0b53('0x43')]};return db['Dashboard']['count'](_0xa99959)[_0x0b53('0x2c')](function(_0x37ac72){_0x45d5d2[_0x0b53('0x21')]=_0x37ac72;if(_0x5c31fc['query'][_0x0b53('0x46')]){_0x21e32f[_0x0b53('0x47')]=[{'all':!![]}];}return db[_0x0b53('0x48')]['findAll'](_0x21e32f);})[_0x0b53('0x2c')](function(_0x21385f){_0x45d5d2[_0x0b53('0x49')]=_0x21385f;return _0x45d5d2;})[_0x0b53('0x2c')](respondWithFilteredResult(_0x39946c,_0x21e32f))['catch'](handleError(_0x39946c,null));};exports[_0x0b53('0x4a')]=function(_0x2e4ed9,_0x2ae0d2){var _0x590a09={'raw':![],'where':{'id':_0x2e4ed9[_0x0b53('0x4b')]['id']}},_0x57e7ea={};_0x57e7ea['model']=_[_0x0b53('0x3a')](db[_0x0b53('0x48')]['rawAttributes']);_0x57e7ea[_0x0b53('0x39')]=_[_0x0b53('0x3a')](_0x2e4ed9[_0x0b53('0x39')]);_0x57e7ea[_0x0b53('0x3b')]=_[_0x0b53('0x3c')](_0x57e7ea['model'],_0x57e7ea[_0x0b53('0x39')]);_0x590a09[_0x0b53('0x3e')]=_['intersection'](_0x57e7ea[_0x0b53('0x38')],qs[_0x0b53('0x3d')](_0x2e4ed9['query'][_0x0b53('0x3d')]));_0x590a09[_0x0b53('0x3e')]=_0x590a09['attributes'][_0x0b53('0x4c')]?_0x590a09[_0x0b53('0x3e')]:_0x57e7ea[_0x0b53('0x38')];if(_0x2e4ed9[_0x0b53('0x39')][_0x0b53('0x46')]){_0x590a09[_0x0b53('0x47')]=[{'all':!![]}];}_0x590a09=_[_0x0b53('0x44')]({},_0x590a09,_0x2e4ed9[_0x0b53('0x45')]);return db[_0x0b53('0x48')][_0x0b53('0x4d')](_0x590a09)[_0x0b53('0x2c')](handleEntityNotFound(_0x2ae0d2,null))[_0x0b53('0x2c')](respondWithResult(_0x2ae0d2,null))['catch'](handleError(_0x2ae0d2,null));};exports[_0x0b53('0x4e')]=function(_0x57dfdc,_0x4c8cf0){return db[_0x0b53('0x48')]['create'](_0x57dfdc['body'],{})[_0x0b53('0x2c')](function(_0x44a052){var _0x1cd151=_0x57dfdc[_0x0b53('0x4f')][_0x0b53('0x29')]({'plain':!![]});if(!_0x1cd151)throw new Error(_0x0b53('0x50'));if(_0x1cd151[_0x0b53('0x51')]==='user'){var _0x38d1c8=_0x44a052[_0x0b53('0x29')]({'plain':!![]});var _0x271074='CustomDashboards';return db[_0x0b53('0x52')][_0x0b53('0x4d')]({'where':{'name':_0x271074,'userProfileId':_0x1cd151[_0x0b53('0x53')]},'raw':!![]})[_0x0b53('0x2c')](function(_0x119f4a){if(_0x119f4a&&_0x119f4a[_0x0b53('0x54')]===0x0){return db[_0x0b53('0x2b')][_0x0b53('0x4e')]({'name':_0x38d1c8[_0x0b53('0x30')],'resourceId':_0x38d1c8['id'],'type':_0x119f4a[_0x0b53('0x30')],'sectionId':_0x119f4a['id']},{})[_0x0b53('0x2c')](function(){return _0x44a052;});}else{return _0x44a052;}})['catch'](function(_0x331948){logger[_0x0b53('0x2e')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x331948);throw _0x331948;});}return _0x44a052;})[_0x0b53('0x2c')](respondWithResult(_0x4c8cf0,0xc9))['catch'](handleError(_0x4c8cf0,null));};exports[_0x0b53('0x55')]=function(_0x2317f7,_0x466d11){var _0x3ba8c8={'where':{'id':_0x2317f7[_0x0b53('0x4b')]['id']}},_0x5c282c={};_0x5c282c[_0x0b53('0x38')]=_[_0x0b53('0x3a')](db[_0x0b53('0x48')]['rawAttributes']);_0x3ba8c8[_0x0b53('0x3e')]=_[_0x0b53('0x3c')](_0x5c282c[_0x0b53('0x38')],qs['fields'](_0x2317f7[_0x0b53('0x39')][_0x0b53('0x3d')]));_0x3ba8c8[_0x0b53('0x3e')]=_0x3ba8c8['attributes'][_0x0b53('0x4c')]?_0x3ba8c8[_0x0b53('0x3e')]:_0x5c282c[_0x0b53('0x38')];if(_0x2317f7[_0x0b53('0x39')][_0x0b53('0x46')]){_0x3ba8c8[_0x0b53('0x47')]=[{'all':!![]}];}_0x3ba8c8=_['merge']({},_0x3ba8c8,_0x2317f7[_0x0b53('0x45')]);return db[_0x0b53('0x48')]['find'](_0x3ba8c8)[_0x0b53('0x2c')](handleEntityNotFound(_0x466d11,null))['then'](function(_0xb6cef2){if(_0xb6cef2){var _0x1c211f=_0xb6cef2[_0x0b53('0x29')]({'plain':!![]});_0x1c211f=qs[_0x0b53('0x56')](_0x1c211f,['id',_0x0b53('0x57'),_0x0b53('0x58')]);_0x2317f7['body']=_[_0x0b53('0x56')](_0x2317f7[_0x0b53('0x59')],['id',_0x0b53('0x57'),_0x0b53('0x58')]);return db[_0x0b53('0x48')][_0x0b53('0x4e')](_[_0x0b53('0x44')](_0x1c211f,_0x2317f7[_0x0b53('0x59')]),{'include':_0x2317f7[_0x0b53('0x39')][_0x0b53('0x46')]?[{'all':!![]}]:undefined})[_0x0b53('0x2c')](function(_0x3f78b8){var _0x304451=_0x2317f7[_0x0b53('0x4f')][_0x0b53('0x29')]({'plain':!![]});if(!_0x304451)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x304451[_0x0b53('0x51')]===_0x0b53('0x4f')){var _0x1a6b40=_0x3f78b8[_0x0b53('0x29')]({'plain':!![]});var _0x326015=_0x0b53('0x2a');return db[_0x0b53('0x52')]['find']({'where':{'name':_0x326015,'userProfileId':_0x304451['userProfileId']},'raw':!![]})[_0x0b53('0x2c')](function(_0x12e6d8){if(_0x12e6d8&&_0x12e6d8[_0x0b53('0x54')]===0x0){return db['UserProfileResource'][_0x0b53('0x4e')]({'name':_0x1a6b40['name'],'resourceId':_0x1a6b40['id'],'type':_0x12e6d8[_0x0b53('0x30')],'sectionId':_0x12e6d8['id']},{})[_0x0b53('0x2c')](function(){return _0x3f78b8;});}else{return _0x3f78b8;}})[_0x0b53('0x5a')](function(_0x3cda0e){logger[_0x0b53('0x2e')](_0x0b53('0x5b'),_0x3cda0e);throw _0x3cda0e;});}return _0x3f78b8;});}})['then'](respondWithResult(_0x466d11,0xc9))[_0x0b53('0x5a')](handleError(_0x466d11,null));};exports[_0x0b53('0x27')]=function(_0x57ca5c,_0x230e7e){if(_0x57ca5c[_0x0b53('0x59')]['id']){delete _0x57ca5c[_0x0b53('0x59')]['id'];}return db[_0x0b53('0x48')][_0x0b53('0x4d')]({'where':{'id':_0x57ca5c[_0x0b53('0x4b')]['id']}})[_0x0b53('0x2c')](handleEntityNotFound(_0x230e7e,null))[_0x0b53('0x2c')](saveUpdates(_0x57ca5c[_0x0b53('0x59')],null))['then'](respondWithResult(_0x230e7e,null))[_0x0b53('0x5a')](handleError(_0x230e7e,null));};exports['destroy']=function(_0x1767e1,_0x278329){return db[_0x0b53('0x48')]['find']({'where':{'id':_0x1767e1['params']['id']}})[_0x0b53('0x2c')](handleEntityNotFound(_0x278329,null))[_0x0b53('0x2c')](removeEntity(_0x278329,null))[_0x0b53('0x5a')](handleError(_0x278329,null));};function widgetAttributes(_0x190cf7){try{switch(_0x190cf7[_0x0b53('0x36')]){case _0x0b53('0x5c'):return[{'name':_0x0b53('0x5d'),'value':_0x190cf7['attrUrl']||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7['attrs'][0x0]?_0x190cf7[_0x0b53('0x5e')][0x0]['value']:undefined)||'https://'}];case _0x0b53('0x5f'):return[{'name':_0x0b53('0x60'),'value':_0x190cf7['attrPath']||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7[_0x0b53('0x5e')][0x0]?_0x190cf7[_0x0b53('0x5e')][0x0][_0x0b53('0x61')]:undefined)||''}];case _0x0b53('0x62'):return[{'name':_0x0b53('0x63'),'value':_0x190cf7[_0x0b53('0x63')]||(_0x190cf7['attrs']&&_0x190cf7[_0x0b53('0x5e')][0x0]?_0x190cf7[_0x0b53('0x5e')][0x0]['value']:undefined)||'HH:mm:ss'},{'name':_0x0b53('0x64'),'value':_0x190cf7[_0x0b53('0x64')]||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7[_0x0b53('0x5e')][0x1]?_0x190cf7['attrs'][0x1]['value']:undefined)||_0x0b53('0x65')},{'name':'attrFontSize','value':_0x190cf7['attrFontSize']||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7[_0x0b53('0x5e')][0x2]?_0x190cf7[_0x0b53('0x5e')][0x2][_0x0b53('0x61')]:undefined)||0xc}];case _0x0b53('0x66'):return[{'name':'attrMetric','value':_0x190cf7['attrMetric']||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7['attrs'][0x0]?_0x190cf7[_0x0b53('0x5e')][0x0]['value']:undefined)||_0x0b53('0x67')},{'name':_0x0b53('0x68'),'value':_0x190cf7[_0x0b53('0x68')]||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7[_0x0b53('0x5e')][0x1]?_0x190cf7[_0x0b53('0x5e')][0x1]['value']:undefined)||[]},{'name':_0x0b53('0x69'),'value':_0x190cf7[_0x0b53('0x69')]||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7[_0x0b53('0x5e')][0x2]?_0x190cf7['attrs'][0x2]['value']:undefined)||0x14}];case'multibar-chart':case _0x0b53('0x6a'):return[{'name':_0x0b53('0x6b'),'value':_0x190cf7[_0x0b53('0x6b')]||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7[_0x0b53('0x5e')][0x0]?_0x190cf7[_0x0b53('0x5e')][0x0]['value']:undefined)||_0x0b53('0x67')},{'name':_0x0b53('0x6c'),'value':_0x190cf7[_0x0b53('0x6c')]||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7[_0x0b53('0x5e')][0x1]?_0x190cf7[_0x0b53('0x5e')][0x1]['value']:undefined)||null},{'name':_0x0b53('0x6d'),'value':_0x190cf7[_0x0b53('0x6d')]||(_0x190cf7['attrs']&&_0x190cf7['attrs'][0x2]?_0x190cf7[_0x0b53('0x5e')][0x2][_0x0b53('0x61')]:undefined)||null},{'name':_0x0b53('0x68'),'value':_0x190cf7[_0x0b53('0x68')]||(_0x190cf7['attrs']&&_0x190cf7[_0x0b53('0x5e')][0x3]?_0x190cf7['attrs'][0x3][_0x0b53('0x61')]:undefined)||[]}];case _0x0b53('0x6e'):return[{'name':_0x0b53('0x6f'),'type':_0x190cf7[_0x0b53('0x70')]||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7[_0x0b53('0x5e')][0x0]?_0x190cf7[_0x0b53('0x5e')][0x0][_0x0b53('0x36')]:undefined)||null,'value':_0x190cf7['attrReport']||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7[_0x0b53('0x5e')][0x0]?_0x190cf7[_0x0b53('0x5e')][0x0][_0x0b53('0x61')]:undefined)||null},{'name':_0x0b53('0x71'),'value':_0x190cf7[_0x0b53('0x71')]||(_0x190cf7[_0x0b53('0x5e')]&&_0x190cf7[_0x0b53('0x5e')][0x1]?_0x190cf7[_0x0b53('0x5e')][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x16fa46){logger[_0x0b53('0x2e')]('widgetAttributes:\x20%s',JSON[_0x0b53('0x72')](_0x16fa46));return[];}}exports[_0x0b53('0x73')]=function(_0x2b2fee,_0x2f0541,_0x469c25){if(_0x2b2fee[_0x0b53('0x59')]['id']){delete _0x2b2fee['body']['id'];}return db[_0x0b53('0x48')][_0x0b53('0x4d')]({'where':{'id':_0x2b2fee[_0x0b53('0x4b')]['id']}})[_0x0b53('0x2c')](handleEntityNotFound(_0x2f0541,null))[_0x0b53('0x2c')](function(_0x207dfc){if(_0x207dfc){_0x2b2fee['body'][_0x0b53('0x74')]=_0x207dfc['id'];_0x2b2fee['body'][_0x0b53('0x5e')]=widgetAttributes(_0x2b2fee[_0x0b53('0x59')]);return db[_0x0b53('0x75')][_0x0b53('0x4e')](_0x2b2fee[_0x0b53('0x59')]);}})['then'](respondWithResult(_0x2f0541,null))[_0x0b53('0x5a')](handleError(_0x2f0541,null));};exports[_0x0b53('0x76')]=function(_0x151c0c,_0x3319e9,_0x2ccf78){var _0x314367={};var _0x4f0fa5={};var _0x24b8ac;var _0x4afbf7;return db[_0x0b53('0x48')][_0x0b53('0x77')]({'where':{'id':_0x151c0c['params']['id']}})[_0x0b53('0x2c')](handleEntityNotFound(_0x3319e9,null))[_0x0b53('0x2c')](function(_0x453e49){if(_0x453e49){_0x24b8ac=_0x453e49;_0x4f0fa5[_0x0b53('0x38')]=_[_0x0b53('0x3a')](db[_0x0b53('0x75')][_0x0b53('0x34')]);_0x4f0fa5[_0x0b53('0x39')]=_[_0x0b53('0x3a')](_0x151c0c['query']);_0x4f0fa5[_0x0b53('0x3b')]=_[_0x0b53('0x3c')](_0x4f0fa5[_0x0b53('0x38')],_0x4f0fa5[_0x0b53('0x39')]);_0x314367[_0x0b53('0x3e')]=_['intersection'](_0x4f0fa5['model'],qs['fields'](_0x151c0c['query']['fields']));_0x314367[_0x0b53('0x3e')]=_0x314367[_0x0b53('0x3e')][_0x0b53('0x4c')]?_0x314367['attributes']:_0x4f0fa5[_0x0b53('0x38')];_0x314367[_0x0b53('0x78')]=qs['sort'](_0x151c0c[_0x0b53('0x39')]['sort']);_0x314367['where']=qs[_0x0b53('0x3b')](_[_0x0b53('0x41')](_0x151c0c[_0x0b53('0x39')],_0x4f0fa5[_0x0b53('0x3b')]));if(_0x151c0c['query'][_0x0b53('0x42')]){_0x314367[_0x0b53('0x43')]=_[_0x0b53('0x44')](_0x314367[_0x0b53('0x43')],{'$or':_['map'](_0x314367[_0x0b53('0x3e')],function(_0x112666){var _0x214b00={};_0x214b00[_0x112666]={'$like':'%'+_0x151c0c[_0x0b53('0x39')]['filter']+'%'};return _0x214b00;})});}_0x314367=_[_0x0b53('0x44')]({},_0x314367,_0x151c0c[_0x0b53('0x45')]);return _0x24b8ac[_0x0b53('0x76')](_0x314367);}})[_0x0b53('0x2c')](function(_0x5f0964){if(_0x5f0964){_0x4afbf7=_0x5f0964['length'];if(!_0x151c0c[_0x0b53('0x39')]['hasOwnProperty']('nolimit')){_0x314367[_0x0b53('0x23')]=qs['limit'](_0x151c0c['query'][_0x0b53('0x23')]);_0x314367['offset']=qs['offset'](_0x151c0c['query'][_0x0b53('0x22')]);}return _0x24b8ac[_0x0b53('0x76')](_0x314367);}})[_0x0b53('0x2c')](function(_0xa42828){if(_0xa42828){return _0xa42828?{'count':_0x4afbf7,'rows':_0xa42828}:null;}})['then'](respondWithResult(_0x3319e9,null))[_0x0b53('0x5a')](handleError(_0x3319e9,null));};