c1dd6fdadd66b74a1fb59de8a56e8240e4b04e90
[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 _0x84fe=['query','keys','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','sort','where','filters','pick','filter','merge','options','include','findAll','catch','show','params','rawAttributes','includeAll','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','clone','omit','createdAt','updatedAt','role','UserProfileSection','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','attrUrl','attrs','value','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','attrFontSize','counter','attrMetric','total','attrVoiceQueues','multibar-chart','pie-chart','attrSerie1','attrSerie3','web-report','attrReport','reportType','widgetAttributes:\x20%s','addItem','DashboardId','DashboardItem','getItems','findOne','html-pdf','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','crypto','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','redis','defaults','localhost','./dashboard.socket','register','sendStatus','status','end','json','count','offset','limit','Content-Range','apply','reject','save','update','destroy','CustomDashboards','UserProfileResource','then','error','stack','name','send','index','map','Dashboard','fieldName','type','key'];(function(_0x497948,_0x4ca60c){var _0x39bb36=function(_0x2ec88e){while(--_0x2ec88e){_0x497948['push'](_0x497948['shift']());}};_0x39bb36(++_0x4ca60c);}(_0x84fe,0xba));var _0xe84f=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x84fe[_0x321bb2];return _0x9c12ed;};'use strict';var pdf=require(_0xe84f('0x0'));var emlformat=require(_0xe84f('0x1'));var rimraf=require('rimraf');var zipdir=require(_0xe84f('0x2'));var jsonpatch=require(_0xe84f('0x3'));var rp=require(_0xe84f('0x4'));var moment=require(_0xe84f('0x5'));var BPromise=require(_0xe84f('0x6'));var Mustache=require(_0xe84f('0x7'));var util=require(_0xe84f('0x8'));var path=require(_0xe84f('0x9'));var sox=require(_0xe84f('0xa'));var csv=require('to-csv');var ejs=require(_0xe84f('0xb'));var fs=require('fs');var _=require(_0xe84f('0xc'));var squel=require('squel');var crypto=require(_0xe84f('0xd'));var jsforce=require(_0xe84f('0xe'));var deskjs=require(_0xe84f('0xf'));var toCsv=require(_0xe84f('0x10'));var querystring=require(_0xe84f('0x11'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xe84f('0x12'));var qs=require(_0xe84f('0x13'));var as=require(_0xe84f('0x14'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xe84f('0x15'))(_0xe84f('0x16'));var utils=require(_0xe84f('0x17'));var config=require(_0xe84f('0x18'));var db=require('../../mysqldb')['db'];config[_0xe84f('0x19')]=_[_0xe84f('0x1a')](config['redis'],{'host':_0xe84f('0x1b'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xe84f('0x19')]));require(_0xe84f('0x1c'))[_0xe84f('0x1d')](socket);function respondWithStatusCode(_0x4129ee,_0x16d2a8){_0x16d2a8=_0x16d2a8||0xcc;return function(_0x28c41c){if(_0x28c41c){return _0x4129ee[_0xe84f('0x1e')](_0x16d2a8);}return _0x4129ee[_0xe84f('0x1f')](_0x16d2a8)[_0xe84f('0x20')]();};}function respondWithResult(_0x1be711,_0x8c41cf){_0x8c41cf=_0x8c41cf||0xc8;return function(_0x448f17){if(_0x448f17){return _0x1be711[_0xe84f('0x1f')](_0x8c41cf)[_0xe84f('0x21')](_0x448f17);}};}function respondWithFilteredResult(_0x3aac78,_0x35f9d2){return function(_0x7b39f2){if(_0x7b39f2){var _0x6bb25e=_0x7b39f2[_0xe84f('0x22')],_0x71f00c=_0x35f9d2[_0xe84f('0x23')],_0x49e4c3=_0x35f9d2['offset']+_0x35f9d2[_0xe84f('0x24')],_0x31b552;if(_0x49e4c3>=_0x6bb25e){_0x49e4c3=_0x6bb25e;_0x31b552=0xc8;}else{_0x31b552=0xce;}_0x3aac78['status'](_0x31b552);return _0x3aac78['set'](_0xe84f('0x25'),_0x71f00c+'-'+_0x49e4c3+'/'+_0x6bb25e)['json'](_0x7b39f2);}return null;};}function patchUpdates(_0x244b4f){return function(_0x4bf5e9){try{jsonpatch[_0xe84f('0x26')](_0x4bf5e9,_0x244b4f,!![]);}catch(_0x53262b){return BPromise[_0xe84f('0x27')](_0x53262b);}return _0x4bf5e9[_0xe84f('0x28')]();};}function saveUpdates(_0x5013f2,_0x191350){return function(_0x337ee7){if(_0x337ee7){return _0x337ee7[_0xe84f('0x29')](_0x5013f2)['then'](function(_0x54876f){return _0x54876f;});}return null;};}function removeEntity(_0x20bf49,_0x32b473){return function(_0x2535cd){if(_0x2535cd){return _0x2535cd[_0xe84f('0x2a')]()['then'](function(){var _0x221c01=_0x2535cd['get']({'plain':!![]});var _0x4e2985=_0xe84f('0x2b');return db[_0xe84f('0x2c')][_0xe84f('0x2a')]({'where':{'type':_0x4e2985,'resourceId':_0x221c01['id']}})[_0xe84f('0x2d')](function(){return _0x2535cd;});})['then'](function(){_0x20bf49['status'](0xcc)[_0xe84f('0x20')]();});}};}function handleEntityNotFound(_0x5aea36,_0x4dde9d){return function(_0x35a5db){if(!_0x35a5db){_0x5aea36[_0xe84f('0x1e')](0x194);}return _0x35a5db;};}function handleError(_0x1bf3eb,_0x352adc){_0x352adc=_0x352adc||0x1f4;return function(_0x4654c9){logger[_0xe84f('0x2e')](_0x4654c9[_0xe84f('0x2f')]);if(_0x4654c9[_0xe84f('0x30')]){delete _0x4654c9[_0xe84f('0x30')];}_0x1bf3eb[_0xe84f('0x1f')](_0x352adc)[_0xe84f('0x31')](_0x4654c9);};}exports[_0xe84f('0x32')]=function(_0x2a2f3e,_0x37f0ca){var _0x3c440d={},_0x1094a0={},_0x1d2964={'count':0x0,'rows':[]};var _0x2b6fa0=_[_0xe84f('0x33')](db[_0xe84f('0x34')]['rawAttributes'],function(_0x5e725d){return{'name':_0x5e725d[_0xe84f('0x35')],'type':_0x5e725d[_0xe84f('0x36')][_0xe84f('0x37')]};});_0x1094a0['model']=_[_0xe84f('0x33')](_0x2b6fa0,_0xe84f('0x30'));_0x1094a0[_0xe84f('0x38')]=_[_0xe84f('0x39')](_0x2a2f3e['query']);_0x1094a0['filters']=_[_0xe84f('0x3a')](_0x1094a0[_0xe84f('0x3b')],_0x1094a0[_0xe84f('0x38')]);_0x3c440d[_0xe84f('0x3c')]=_['intersection'](_0x1094a0['model'],qs[_0xe84f('0x3d')](_0x2a2f3e[_0xe84f('0x38')][_0xe84f('0x3d')]));_0x3c440d[_0xe84f('0x3c')]=_0x3c440d[_0xe84f('0x3c')][_0xe84f('0x3e')]?_0x3c440d[_0xe84f('0x3c')]:_0x1094a0[_0xe84f('0x3b')];if(!_0x2a2f3e[_0xe84f('0x38')][_0xe84f('0x3f')](_0xe84f('0x40'))){_0x3c440d[_0xe84f('0x24')]=qs[_0xe84f('0x24')](_0x2a2f3e[_0xe84f('0x38')]['limit']);_0x3c440d[_0xe84f('0x23')]=qs[_0xe84f('0x23')](_0x2a2f3e[_0xe84f('0x38')][_0xe84f('0x23')]);}_0x3c440d['order']=qs[_0xe84f('0x41')](_0x2a2f3e['query'][_0xe84f('0x41')]);_0x3c440d[_0xe84f('0x42')]=qs[_0xe84f('0x43')](_[_0xe84f('0x44')](_0x2a2f3e['query'],_0x1094a0['filters']),_0x2b6fa0);if(_0x2a2f3e[_0xe84f('0x38')][_0xe84f('0x45')]){_0x3c440d[_0xe84f('0x42')]=_[_0xe84f('0x46')](_0x3c440d[_0xe84f('0x42')],{'$or':_[_0xe84f('0x33')](_0x2b6fa0,function(_0x4ed179){if(_0x4ed179[_0xe84f('0x36')]!=='VIRTUAL'){var _0x14eb4a={};_0x14eb4a[_0x4ed179[_0xe84f('0x30')]]={'$like':'%'+_0x2a2f3e['query'][_0xe84f('0x45')]+'%'};return _0x14eb4a;}})});}_0x3c440d=_[_0xe84f('0x46')]({},_0x3c440d,_0x2a2f3e[_0xe84f('0x47')]);var _0x227acd={'where':_0x3c440d[_0xe84f('0x42')]};return db[_0xe84f('0x34')]['count'](_0x227acd)['then'](function(_0x189f22){_0x1d2964[_0xe84f('0x22')]=_0x189f22;if(_0x2a2f3e[_0xe84f('0x38')]['includeAll']){_0x3c440d[_0xe84f('0x48')]=[{'all':!![]}];}return db['Dashboard'][_0xe84f('0x49')](_0x3c440d);})[_0xe84f('0x2d')](function(_0x53a11e){_0x1d2964['rows']=_0x53a11e;return _0x1d2964;})[_0xe84f('0x2d')](respondWithFilteredResult(_0x37f0ca,_0x3c440d))[_0xe84f('0x4a')](handleError(_0x37f0ca,null));};exports[_0xe84f('0x4b')]=function(_0x1b85ad,_0x1c77ff){var _0x5d353e={'raw':![],'where':{'id':_0x1b85ad[_0xe84f('0x4c')]['id']}},_0x456ac4={};_0x456ac4[_0xe84f('0x3b')]=_['keys'](db['Dashboard'][_0xe84f('0x4d')]);_0x456ac4[_0xe84f('0x38')]=_[_0xe84f('0x39')](_0x1b85ad[_0xe84f('0x38')]);_0x456ac4[_0xe84f('0x43')]=_[_0xe84f('0x3a')](_0x456ac4[_0xe84f('0x3b')],_0x456ac4[_0xe84f('0x38')]);_0x5d353e['attributes']=_[_0xe84f('0x3a')](_0x456ac4[_0xe84f('0x3b')],qs[_0xe84f('0x3d')](_0x1b85ad[_0xe84f('0x38')][_0xe84f('0x3d')]));_0x5d353e[_0xe84f('0x3c')]=_0x5d353e[_0xe84f('0x3c')]['length']?_0x5d353e[_0xe84f('0x3c')]:_0x456ac4[_0xe84f('0x3b')];if(_0x1b85ad['query'][_0xe84f('0x4e')]){_0x5d353e[_0xe84f('0x48')]=[{'all':!![]}];}_0x5d353e=_[_0xe84f('0x46')]({},_0x5d353e,_0x1b85ad[_0xe84f('0x47')]);return db[_0xe84f('0x34')][_0xe84f('0x4f')](_0x5d353e)[_0xe84f('0x2d')](handleEntityNotFound(_0x1c77ff,null))['then'](respondWithResult(_0x1c77ff,null))[_0xe84f('0x4a')](handleError(_0x1c77ff,null));};exports[_0xe84f('0x50')]=function(_0x5070c1,_0x4496bd){return db[_0xe84f('0x34')][_0xe84f('0x50')](_0x5070c1[_0xe84f('0x51')],{})[_0xe84f('0x2d')](function(_0x3d1aba){var _0x15ef25=_0x5070c1[_0xe84f('0x52')][_0xe84f('0x53')]({'plain':!![]});if(!_0x15ef25)throw new Error(_0xe84f('0x54'));if(_0x15ef25['role']===_0xe84f('0x52')){var _0x13e7ec=_0x3d1aba[_0xe84f('0x53')]({'plain':!![]});var _0x50ae38=_0xe84f('0x2b');return db['UserProfileSection'][_0xe84f('0x4f')]({'where':{'name':_0x50ae38,'userProfileId':_0x15ef25[_0xe84f('0x55')]},'raw':!![]})['then'](function(_0x24b3e9){if(_0x24b3e9&&_0x24b3e9[_0xe84f('0x56')]===0x0){return db[_0xe84f('0x2c')][_0xe84f('0x50')]({'name':_0x13e7ec['name'],'resourceId':_0x13e7ec['id'],'type':_0x24b3e9[_0xe84f('0x30')],'sectionId':_0x24b3e9['id']},{})[_0xe84f('0x2d')](function(){return _0x3d1aba;});}else{return _0x3d1aba;}})[_0xe84f('0x4a')](function(_0x1687f3){logger['error']('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x1687f3);throw _0x1687f3;});}return _0x3d1aba;})[_0xe84f('0x2d')](respondWithResult(_0x4496bd,0xc9))['catch'](handleError(_0x4496bd,null));};exports[_0xe84f('0x57')]=function(_0x10543a,_0x8b39fd){var _0x1e8af0={'where':{'id':_0x10543a[_0xe84f('0x4c')]['id']}},_0x505bdb={};_0x505bdb[_0xe84f('0x3b')]=_[_0xe84f('0x39')](db[_0xe84f('0x34')][_0xe84f('0x4d')]);_0x1e8af0['attributes']=_[_0xe84f('0x3a')](_0x505bdb[_0xe84f('0x3b')],qs['fields'](_0x10543a['query']['fields']));_0x1e8af0[_0xe84f('0x3c')]=_0x1e8af0['attributes'][_0xe84f('0x3e')]?_0x1e8af0[_0xe84f('0x3c')]:_0x505bdb['model'];if(_0x10543a[_0xe84f('0x38')][_0xe84f('0x4e')]){_0x1e8af0['include']=[{'all':!![]}];}_0x1e8af0=_[_0xe84f('0x46')]({},_0x1e8af0,_0x10543a[_0xe84f('0x47')]);return db[_0xe84f('0x34')][_0xe84f('0x4f')](_0x1e8af0)[_0xe84f('0x2d')](handleEntityNotFound(_0x8b39fd,null))['then'](function(_0x49957b){if(_0x49957b){var _0x54e8bc=_0x49957b['get']({'plain':!![]});_0x54e8bc=qs[_0xe84f('0x58')](_0x54e8bc,['id',_0xe84f('0x59'),'updatedAt']);_0x10543a[_0xe84f('0x51')]=_[_0xe84f('0x58')](_0x10543a[_0xe84f('0x51')],['id','createdAt',_0xe84f('0x5a')]);return db[_0xe84f('0x34')][_0xe84f('0x50')](_['merge'](_0x54e8bc,_0x10543a['body']),{'include':_0x10543a[_0xe84f('0x38')]['includeAll']?[{'all':!![]}]:undefined})[_0xe84f('0x2d')](function(_0x170e8e){var _0x54885b=_0x10543a[_0xe84f('0x52')]['get']({'plain':!![]});if(!_0x54885b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x54885b[_0xe84f('0x5b')]===_0xe84f('0x52')){var _0xb90c9c=_0x170e8e[_0xe84f('0x53')]({'plain':!![]});var _0x4027ca=_0xe84f('0x2b');return db[_0xe84f('0x5c')]['find']({'where':{'name':_0x4027ca,'userProfileId':_0x54885b[_0xe84f('0x55')]},'raw':!![]})[_0xe84f('0x2d')](function(_0x48a6f2){if(_0x48a6f2&&_0x48a6f2['autoAssociation']===0x0){return db[_0xe84f('0x2c')]['create']({'name':_0xb90c9c['name'],'resourceId':_0xb90c9c['id'],'type':_0x48a6f2[_0xe84f('0x30')],'sectionId':_0x48a6f2['id']},{})['then'](function(){return _0x170e8e;});}else{return _0x170e8e;}})[_0xe84f('0x4a')](function(_0x31a647){logger['error'](_0xe84f('0x5d'),_0x31a647);throw _0x31a647;});}return _0x170e8e;});}})[_0xe84f('0x2d')](respondWithResult(_0x8b39fd,0xc9))[_0xe84f('0x4a')](handleError(_0x8b39fd,null));};exports[_0xe84f('0x29')]=function(_0x1603a,_0x39705a){if(_0x1603a[_0xe84f('0x51')]['id']){delete _0x1603a['body']['id'];}return db[_0xe84f('0x34')][_0xe84f('0x4f')]({'where':{'id':_0x1603a[_0xe84f('0x4c')]['id']}})[_0xe84f('0x2d')](handleEntityNotFound(_0x39705a,null))[_0xe84f('0x2d')](saveUpdates(_0x1603a[_0xe84f('0x51')],null))[_0xe84f('0x2d')](respondWithResult(_0x39705a,null))[_0xe84f('0x4a')](handleError(_0x39705a,null));};exports[_0xe84f('0x2a')]=function(_0x197e19,_0x28c89c){return db['Dashboard'][_0xe84f('0x4f')]({'where':{'id':_0x197e19[_0xe84f('0x4c')]['id']}})[_0xe84f('0x2d')](handleEntityNotFound(_0x28c89c,null))[_0xe84f('0x2d')](removeEntity(_0x28c89c,null))[_0xe84f('0x4a')](handleError(_0x28c89c,null));};function widgetAttributes(_0x4a60d1){try{switch(_0x4a60d1[_0xe84f('0x36')]){case'iframe':return[{'name':_0xe84f('0x5e'),'value':_0x4a60d1[_0xe84f('0x5e')]||(_0x4a60d1[_0xe84f('0x5f')]&&_0x4a60d1[_0xe84f('0x5f')][0x0]?_0x4a60d1[_0xe84f('0x5f')][0x0][_0xe84f('0x60')]:undefined)||'https://'}];case _0xe84f('0x61'):return[{'name':_0xe84f('0x62'),'value':_0x4a60d1['attrPath']||(_0x4a60d1['attrs']&&_0x4a60d1[_0xe84f('0x5f')][0x0]?_0x4a60d1['attrs'][0x0][_0xe84f('0x60')]:undefined)||''}];case _0xe84f('0x63'):return[{'name':_0xe84f('0x64'),'value':_0x4a60d1[_0xe84f('0x64')]||(_0x4a60d1[_0xe84f('0x5f')]&&_0x4a60d1[_0xe84f('0x5f')][0x0]?_0x4a60d1[_0xe84f('0x5f')][0x0][_0xe84f('0x60')]:undefined)||_0xe84f('0x65')},{'name':_0xe84f('0x66'),'value':_0x4a60d1[_0xe84f('0x66')]||(_0x4a60d1[_0xe84f('0x5f')]&&_0x4a60d1[_0xe84f('0x5f')][0x1]?_0x4a60d1[_0xe84f('0x5f')][0x1]['value']:undefined)||'0.00'},{'name':_0xe84f('0x67'),'value':_0x4a60d1[_0xe84f('0x67')]||(_0x4a60d1[_0xe84f('0x5f')]&&_0x4a60d1[_0xe84f('0x5f')][0x2]?_0x4a60d1[_0xe84f('0x5f')][0x2][_0xe84f('0x60')]:undefined)||0xc}];case _0xe84f('0x68'):return[{'name':_0xe84f('0x69'),'value':_0x4a60d1['attrMetric']||(_0x4a60d1[_0xe84f('0x5f')]&&_0x4a60d1[_0xe84f('0x5f')][0x0]?_0x4a60d1['attrs'][0x0]['value']:undefined)||_0xe84f('0x6a')},{'name':_0xe84f('0x6b'),'value':_0x4a60d1[_0xe84f('0x6b')]||(_0x4a60d1['attrs']&&_0x4a60d1[_0xe84f('0x5f')][0x1]?_0x4a60d1[_0xe84f('0x5f')][0x1][_0xe84f('0x60')]:undefined)||[]},{'name':_0xe84f('0x67'),'value':_0x4a60d1['attrFontSize']||(_0x4a60d1['attrs']&&_0x4a60d1[_0xe84f('0x5f')][0x2]?_0x4a60d1[_0xe84f('0x5f')][0x2][_0xe84f('0x60')]:undefined)||0x14}];case _0xe84f('0x6c'):case _0xe84f('0x6d'):return[{'name':_0xe84f('0x6e'),'value':_0x4a60d1[_0xe84f('0x6e')]||(_0x4a60d1['attrs']&&_0x4a60d1['attrs'][0x0]?_0x4a60d1[_0xe84f('0x5f')][0x0][_0xe84f('0x60')]:undefined)||_0xe84f('0x6a')},{'name':'attrSerie2','value':_0x4a60d1['attrSerie2']||(_0x4a60d1[_0xe84f('0x5f')]&&_0x4a60d1['attrs'][0x1]?_0x4a60d1['attrs'][0x1][_0xe84f('0x60')]:undefined)||null},{'name':'attrSerie3','value':_0x4a60d1[_0xe84f('0x6f')]||(_0x4a60d1[_0xe84f('0x5f')]&&_0x4a60d1[_0xe84f('0x5f')][0x2]?_0x4a60d1['attrs'][0x2][_0xe84f('0x60')]:undefined)||null},{'name':'attrVoiceQueues','value':_0x4a60d1[_0xe84f('0x6b')]||(_0x4a60d1[_0xe84f('0x5f')]&&_0x4a60d1['attrs'][0x3]?_0x4a60d1[_0xe84f('0x5f')][0x3][_0xe84f('0x60')]:undefined)||[]}];case _0xe84f('0x70'):return[{'name':_0xe84f('0x71'),'type':_0x4a60d1[_0xe84f('0x72')]||(_0x4a60d1[_0xe84f('0x5f')]&&_0x4a60d1['attrs'][0x0]?_0x4a60d1[_0xe84f('0x5f')][0x0][_0xe84f('0x36')]:undefined)||null,'value':_0x4a60d1[_0xe84f('0x71')]||(_0x4a60d1[_0xe84f('0x5f')]&&_0x4a60d1[_0xe84f('0x5f')][0x0]?_0x4a60d1[_0xe84f('0x5f')][0x0][_0xe84f('0x60')]:undefined)||null},{'name':'attrRefresh','value':_0x4a60d1['attrRefresh']||(_0x4a60d1[_0xe84f('0x5f')]&&_0x4a60d1[_0xe84f('0x5f')][0x1]?_0x4a60d1['attrs'][0x1][_0xe84f('0x60')]:undefined)||0x0}];default:return[];}}catch(_0x390e75){logger['error'](_0xe84f('0x73'),JSON['stringify'](_0x390e75));return[];}}exports[_0xe84f('0x74')]=function(_0x5015f0,_0x1ff1b8,_0x4fb38f){if(_0x5015f0['body']['id']){delete _0x5015f0[_0xe84f('0x51')]['id'];}return db[_0xe84f('0x34')][_0xe84f('0x4f')]({'where':{'id':_0x5015f0[_0xe84f('0x4c')]['id']}})['then'](handleEntityNotFound(_0x1ff1b8,null))['then'](function(_0x37144e){if(_0x37144e){_0x5015f0[_0xe84f('0x51')][_0xe84f('0x75')]=_0x37144e['id'];_0x5015f0[_0xe84f('0x51')][_0xe84f('0x5f')]=widgetAttributes(_0x5015f0[_0xe84f('0x51')]);return db[_0xe84f('0x76')][_0xe84f('0x50')](_0x5015f0[_0xe84f('0x51')]);}})[_0xe84f('0x2d')](respondWithResult(_0x1ff1b8,null))[_0xe84f('0x4a')](handleError(_0x1ff1b8,null));};exports[_0xe84f('0x77')]=function(_0x128e83,_0x42a750,_0x498337){var _0x4098f1={};var _0x23c4ac={};var _0x4ba3a1;var _0x218b8b;return db[_0xe84f('0x34')][_0xe84f('0x78')]({'where':{'id':_0x128e83['params']['id']}})[_0xe84f('0x2d')](handleEntityNotFound(_0x42a750,null))[_0xe84f('0x2d')](function(_0x481b5){if(_0x481b5){_0x4ba3a1=_0x481b5;_0x23c4ac[_0xe84f('0x3b')]=_['keys'](db[_0xe84f('0x76')][_0xe84f('0x4d')]);_0x23c4ac[_0xe84f('0x38')]=_['keys'](_0x128e83[_0xe84f('0x38')]);_0x23c4ac[_0xe84f('0x43')]=_[_0xe84f('0x3a')](_0x23c4ac['model'],_0x23c4ac['query']);_0x4098f1[_0xe84f('0x3c')]=_[_0xe84f('0x3a')](_0x23c4ac[_0xe84f('0x3b')],qs[_0xe84f('0x3d')](_0x128e83['query'][_0xe84f('0x3d')]));_0x4098f1[_0xe84f('0x3c')]=_0x4098f1[_0xe84f('0x3c')]['length']?_0x4098f1[_0xe84f('0x3c')]:_0x23c4ac[_0xe84f('0x3b')];_0x4098f1['order']=qs[_0xe84f('0x41')](_0x128e83[_0xe84f('0x38')]['sort']);_0x4098f1[_0xe84f('0x42')]=qs[_0xe84f('0x43')](_[_0xe84f('0x44')](_0x128e83[_0xe84f('0x38')],_0x23c4ac[_0xe84f('0x43')]));if(_0x128e83[_0xe84f('0x38')][_0xe84f('0x45')]){_0x4098f1[_0xe84f('0x42')]=_[_0xe84f('0x46')](_0x4098f1['where'],{'$or':_[_0xe84f('0x33')](_0x4098f1['attributes'],function(_0x3e2776){var _0x4c5597={};_0x4c5597[_0x3e2776]={'$like':'%'+_0x128e83['query'][_0xe84f('0x45')]+'%'};return _0x4c5597;})});}_0x4098f1=_[_0xe84f('0x46')]({},_0x4098f1,_0x128e83['options']);return _0x4ba3a1[_0xe84f('0x77')](_0x4098f1);}})[_0xe84f('0x2d')](function(_0x454dab){if(_0x454dab){_0x218b8b=_0x454dab['length'];if(!_0x128e83[_0xe84f('0x38')][_0xe84f('0x3f')](_0xe84f('0x40'))){_0x4098f1[_0xe84f('0x24')]=qs[_0xe84f('0x24')](_0x128e83[_0xe84f('0x38')][_0xe84f('0x24')]);_0x4098f1['offset']=qs['offset'](_0x128e83[_0xe84f('0x38')][_0xe84f('0x23')]);}return _0x4ba3a1[_0xe84f('0x77')](_0x4098f1);}})[_0xe84f('0x2d')](function(_0x2c74d0){if(_0x2c74d0){return _0x2c74d0?{'count':_0x218b8b,'rows':_0x2c74d0}:null;}})[_0xe84f('0x2d')](respondWithResult(_0x42a750,null))[_0xe84f('0x4a')](handleError(_0x42a750,null));};