Built motion from commit (unavailable).|2.5.31
[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 _0x18f5=['stringify','addItem','DashboardId','DashboardItem','getItems','hasOwnProperty','nolimit','eml-format','zip-dir','fast-json-patch','request-promise','moment','mustache','util','path','sox','ejs','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','localhost','./dashboard.socket','register','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','save','update','destroy','then','UserProfileResource','error','stack','name','send','render','merge','body','contact','message','agent','account','index','map','rawAttributes','key','model','query','keys','intersection','attributes','fields','order','sort','where','filters','filter','type','VIRTUAL','options','Dashboard','includeAll','include','findAll','catch','show','params','length','find','create','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','CustomDashboards','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','clone','omit','updatedAt','role','UserProfileSection','iframe','attrUrl','attrs','value','https://','custom','attrPath','clock','attrHourFormat','HH:mm:ss','attrTimezone','attrFontSize','attrMetric','total','attrVoiceQueues','multibar-chart','attrSerie1','attrSerie2','attrSerie3','web-report','attrReport','reportType','attrRefresh','widgetAttributes:\x20%s'];(function(_0x1ad926,_0x3e1fed){var _0x1b81dc=function(_0x506f83){while(--_0x506f83){_0x1ad926['push'](_0x1ad926['shift']());}};_0x1b81dc(++_0x3e1fed);}(_0x18f5,0x181));var _0x518f=function(_0x2aec52,_0x59d962){_0x2aec52=_0x2aec52-0x0;var _0x3b8835=_0x18f5[_0x2aec52];return _0x3b8835;};'use strict';var emlformat=require(_0x518f('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x518f('0x1'));var jsonpatch=require(_0x518f('0x2'));var rp=require(_0x518f('0x3'));var moment=require(_0x518f('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x518f('0x5'));var util=require(_0x518f('0x6'));var path=require(_0x518f('0x7'));var sox=require(_0x518f('0x8'));var csv=require('to-csv');var ejs=require(_0x518f('0x9'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0x518f('0xa'));var crypto=require(_0x518f('0xb'));var jsforce=require(_0x518f('0xc'));var deskjs=require(_0x518f('0xd'));var toCsv=require('to-csv');var querystring=require(_0x518f('0xe'));var Papa=require('papaparse');var Redis=require(_0x518f('0xf'));var authService=require(_0x518f('0x10'));var qs=require(_0x518f('0x11'));var as=require(_0x518f('0x12'));var hardwareService=require(_0x518f('0x13'));var logger=require(_0x518f('0x14'))(_0x518f('0x15'));var utils=require(_0x518f('0x16'));var config=require(_0x518f('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0x518f('0x18'))['db'];config[_0x518f('0x19')]=_['defaults'](config[_0x518f('0x19')],{'host':_0x518f('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x518f('0x19')]));require(_0x518f('0x1b'))[_0x518f('0x1c')](socket);function respondWithStatusCode(_0x338578,_0x28f24d){_0x28f24d=_0x28f24d||0xcc;return function(_0x5de90f){if(_0x5de90f){return _0x338578[_0x518f('0x1d')](_0x28f24d);}return _0x338578['status'](_0x28f24d)[_0x518f('0x1e')]();};}function respondWithResult(_0x2203b9,_0x143485){_0x143485=_0x143485||0xc8;return function(_0x45cec6){if(_0x45cec6){return _0x2203b9[_0x518f('0x1f')](_0x143485)[_0x518f('0x20')](_0x45cec6);}};}function respondWithFilteredResult(_0x5ea307,_0xaf4ee3){return function(_0x3c09a6){if(_0x3c09a6){var _0x419ff6=typeof _0xaf4ee3[_0x518f('0x21')]===_0x518f('0x22')&&typeof _0xaf4ee3[_0x518f('0x23')]===_0x518f('0x22');var _0x367a80=_0x3c09a6[_0x518f('0x24')];var _0x48c0b2=_0x419ff6?0x0:_0xaf4ee3[_0x518f('0x21')];var _0x293eeb=_0x419ff6?_0x3c09a6[_0x518f('0x24')]:_0xaf4ee3['offset']+_0xaf4ee3['limit'];var _0xf6ca39;if(_0x293eeb>=_0x367a80){_0x293eeb=_0x367a80;_0xf6ca39=0xc8;}else{_0xf6ca39=0xce;}_0x5ea307['status'](_0xf6ca39);return _0x5ea307[_0x518f('0x25')](_0x518f('0x26'),_0x48c0b2+'-'+_0x293eeb+'/'+_0x367a80)['json'](_0x3c09a6);}return null;};}function patchUpdates(_0x15807d){return function(_0xd13b22){try{jsonpatch['apply'](_0xd13b22,_0x15807d,!![]);}catch(_0x274ba9){return BPromise['reject'](_0x274ba9);}return _0xd13b22[_0x518f('0x27')]();};}function saveUpdates(_0x138536,_0x303b8e){return function(_0x329c83){if(_0x329c83){return _0x329c83[_0x518f('0x28')](_0x138536)['then'](function(_0x17ea20){return _0x17ea20;});}return null;};}function removeEntity(_0x4816c5,_0x6c1edf){return function(_0x35f63b){if(_0x35f63b){return _0x35f63b[_0x518f('0x29')]()[_0x518f('0x2a')](function(){var _0x9c3385=_0x35f63b['get']({'plain':!![]});var _0x3a36ed='CustomDashboards';return db[_0x518f('0x2b')]['destroy']({'where':{'type':_0x3a36ed,'resourceId':_0x9c3385['id']}})[_0x518f('0x2a')](function(){return _0x35f63b;});})['then'](function(){_0x4816c5[_0x518f('0x1f')](0xcc)[_0x518f('0x1e')]();});}};}function handleEntityNotFound(_0x3a6af1,_0x32b72d){return function(_0x17b3ea){if(!_0x17b3ea){_0x3a6af1[_0x518f('0x1d')](0x194);}return _0x17b3ea;};}function handleError(_0x133f7f,_0x2cc77f){_0x2cc77f=_0x2cc77f||0x1f4;return function(_0x11fb7c){logger[_0x518f('0x2c')](_0x11fb7c[_0x518f('0x2d')]);if(_0x11fb7c[_0x518f('0x2e')]){delete _0x11fb7c[_0x518f('0x2e')];}_0x133f7f[_0x518f('0x1f')](_0x2cc77f)[_0x518f('0x2f')](_0x11fb7c);};}function getMustacheRender(_0xfde862,_0xcdcfe9){return Mustache[_0x518f('0x30')](_0xfde862,_[_0x518f('0x31')](_0xcdcfe9[_0x518f('0x32')],{'contact':_0xcdcfe9[_0x518f('0x33')],'message':_0xcdcfe9[_0x518f('0x34')],'agent':_0xcdcfe9[_0x518f('0x35')],'interaction':_0xcdcfe9['interaction'],'account':_0xcdcfe9[_0x518f('0x36')]}))||'';}exports[_0x518f('0x37')]=function(_0x50d367,_0x2658ab){var _0x6e680a={},_0x322aaa={},_0x528616={'count':0x0,'rows':[]};var _0x51049a=_[_0x518f('0x38')](db['Dashboard'][_0x518f('0x39')],function(_0x2ef73b){return{'name':_0x2ef73b['fieldName'],'type':_0x2ef73b['type'][_0x518f('0x3a')]};});_0x322aaa[_0x518f('0x3b')]=_[_0x518f('0x38')](_0x51049a,_0x518f('0x2e'));_0x322aaa[_0x518f('0x3c')]=_[_0x518f('0x3d')](_0x50d367[_0x518f('0x3c')]);_0x322aaa['filters']=_[_0x518f('0x3e')](_0x322aaa[_0x518f('0x3b')],_0x322aaa[_0x518f('0x3c')]);_0x6e680a[_0x518f('0x3f')]=_[_0x518f('0x3e')](_0x322aaa[_0x518f('0x3b')],qs['fields'](_0x50d367[_0x518f('0x3c')][_0x518f('0x40')]));_0x6e680a['attributes']=_0x6e680a[_0x518f('0x3f')]['length']?_0x6e680a[_0x518f('0x3f')]:_0x322aaa[_0x518f('0x3b')];if(!_0x50d367[_0x518f('0x3c')]['hasOwnProperty']('nolimit')){_0x6e680a[_0x518f('0x23')]=qs[_0x518f('0x23')](_0x50d367['query'][_0x518f('0x23')]);_0x6e680a[_0x518f('0x21')]=qs[_0x518f('0x21')](_0x50d367['query']['offset']);}_0x6e680a[_0x518f('0x41')]=qs[_0x518f('0x42')](_0x50d367[_0x518f('0x3c')][_0x518f('0x42')]);_0x6e680a[_0x518f('0x43')]=qs[_0x518f('0x44')](_['pick'](_0x50d367['query'],_0x322aaa[_0x518f('0x44')]),_0x51049a);if(_0x50d367[_0x518f('0x3c')][_0x518f('0x45')]){_0x6e680a[_0x518f('0x43')]=_[_0x518f('0x31')](_0x6e680a['where'],{'$or':_['map'](_0x51049a,function(_0x2cd289){if(_0x2cd289[_0x518f('0x46')]!==_0x518f('0x47')){var _0x336483={};_0x336483[_0x2cd289[_0x518f('0x2e')]]={'$like':'%'+_0x50d367[_0x518f('0x3c')][_0x518f('0x45')]+'%'};return _0x336483;}})});}_0x6e680a=_[_0x518f('0x31')]({},_0x6e680a,_0x50d367[_0x518f('0x48')]);var _0x2fd6a8={'where':_0x6e680a['where']};return db[_0x518f('0x49')][_0x518f('0x24')](_0x2fd6a8)['then'](function(_0x4cf640){_0x528616[_0x518f('0x24')]=_0x4cf640;if(_0x50d367[_0x518f('0x3c')][_0x518f('0x4a')]){_0x6e680a[_0x518f('0x4b')]=[{'all':!![]}];}return db['Dashboard'][_0x518f('0x4c')](_0x6e680a);})['then'](function(_0x12526b){_0x528616['rows']=_0x12526b;return _0x528616;})[_0x518f('0x2a')](respondWithFilteredResult(_0x2658ab,_0x6e680a))[_0x518f('0x4d')](handleError(_0x2658ab,null));};exports[_0x518f('0x4e')]=function(_0x556299,_0x5c55e1){var _0x239a89={'raw':![],'where':{'id':_0x556299[_0x518f('0x4f')]['id']}},_0x1c451e={};_0x1c451e['model']=_[_0x518f('0x3d')](db['Dashboard'][_0x518f('0x39')]);_0x1c451e[_0x518f('0x3c')]=_[_0x518f('0x3d')](_0x556299[_0x518f('0x3c')]);_0x1c451e['filters']=_[_0x518f('0x3e')](_0x1c451e[_0x518f('0x3b')],_0x1c451e['query']);_0x239a89[_0x518f('0x3f')]=_['intersection'](_0x1c451e[_0x518f('0x3b')],qs[_0x518f('0x40')](_0x556299['query']['fields']));_0x239a89[_0x518f('0x3f')]=_0x239a89[_0x518f('0x3f')][_0x518f('0x50')]?_0x239a89['attributes']:_0x1c451e[_0x518f('0x3b')];if(_0x556299[_0x518f('0x3c')][_0x518f('0x4a')]){_0x239a89[_0x518f('0x4b')]=[{'all':!![]}];}_0x239a89=_['merge']({},_0x239a89,_0x556299[_0x518f('0x48')]);return db[_0x518f('0x49')][_0x518f('0x51')](_0x239a89)[_0x518f('0x2a')](handleEntityNotFound(_0x5c55e1,null))[_0x518f('0x2a')](respondWithResult(_0x5c55e1,null))[_0x518f('0x4d')](handleError(_0x5c55e1,null));};exports[_0x518f('0x52')]=function(_0x4c8e59,_0x1e8131){return db['Dashboard']['create'](_0x4c8e59['body'],{})[_0x518f('0x2a')](function(_0x5ad4fe){var _0x6619d7=_0x4c8e59['user'][_0x518f('0x53')]({'plain':!![]});if(!_0x6619d7)throw new Error(_0x518f('0x54'));if(_0x6619d7['role']===_0x518f('0x55')){var _0x65761a=_0x5ad4fe[_0x518f('0x53')]({'plain':!![]});var _0xcdff93=_0x518f('0x56');return db['UserProfileSection']['find']({'where':{'name':_0xcdff93,'userProfileId':_0x6619d7[_0x518f('0x57')]},'raw':!![]})[_0x518f('0x2a')](function(_0x2b482a){if(_0x2b482a&&_0x2b482a[_0x518f('0x58')]===0x0){return db[_0x518f('0x2b')][_0x518f('0x52')]({'name':_0x65761a[_0x518f('0x2e')],'resourceId':_0x65761a['id'],'type':_0x2b482a[_0x518f('0x2e')],'sectionId':_0x2b482a['id']},{})['then'](function(){return _0x5ad4fe;});}else{return _0x5ad4fe;}})[_0x518f('0x4d')](function(_0x2016e3){logger[_0x518f('0x2c')](_0x518f('0x59'),_0x2016e3);throw _0x2016e3;});}return _0x5ad4fe;})[_0x518f('0x2a')](respondWithResult(_0x1e8131,0xc9))[_0x518f('0x4d')](handleError(_0x1e8131,null));};exports[_0x518f('0x5a')]=function(_0x39d045,_0x39c5b6){var _0x2d7883={'where':{'id':_0x39d045[_0x518f('0x4f')]['id']}},_0x25a319={};_0x25a319[_0x518f('0x3b')]=_[_0x518f('0x3d')](db[_0x518f('0x49')][_0x518f('0x39')]);_0x2d7883[_0x518f('0x3f')]=_[_0x518f('0x3e')](_0x25a319[_0x518f('0x3b')],qs['fields'](_0x39d045[_0x518f('0x3c')][_0x518f('0x40')]));_0x2d7883[_0x518f('0x3f')]=_0x2d7883[_0x518f('0x3f')][_0x518f('0x50')]?_0x2d7883[_0x518f('0x3f')]:_0x25a319[_0x518f('0x3b')];if(_0x39d045[_0x518f('0x3c')][_0x518f('0x4a')]){_0x2d7883[_0x518f('0x4b')]=[{'all':!![]}];}_0x2d7883=_['merge']({},_0x2d7883,_0x39d045[_0x518f('0x48')]);return db[_0x518f('0x49')][_0x518f('0x51')](_0x2d7883)[_0x518f('0x2a')](handleEntityNotFound(_0x39c5b6,null))[_0x518f('0x2a')](function(_0x4dc347){if(_0x4dc347){var _0x5848e6=_0x4dc347[_0x518f('0x53')]({'plain':!![]});_0x5848e6=qs[_0x518f('0x5b')](_0x5848e6,['id','createdAt',_0x518f('0x5c')]);_0x39d045[_0x518f('0x32')]=_['omit'](_0x39d045['body'],['id','createdAt',_0x518f('0x5c')]);return db['Dashboard'][_0x518f('0x52')](_[_0x518f('0x31')](_0x5848e6,_0x39d045['body']),{'include':_0x39d045['query']['includeAll']?[{'all':!![]}]:undefined})[_0x518f('0x2a')](function(_0x58ae34){var _0xc86e35=_0x39d045[_0x518f('0x55')]['get']({'plain':!![]});if(!_0xc86e35)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xc86e35[_0x518f('0x5d')]==='user'){var _0x5a44af=_0x58ae34[_0x518f('0x53')]({'plain':!![]});var _0x481265=_0x518f('0x56');return db[_0x518f('0x5e')][_0x518f('0x51')]({'where':{'name':_0x481265,'userProfileId':_0xc86e35[_0x518f('0x57')]},'raw':!![]})[_0x518f('0x2a')](function(_0x3529b9){if(_0x3529b9&&_0x3529b9[_0x518f('0x58')]===0x0){return db[_0x518f('0x2b')][_0x518f('0x52')]({'name':_0x5a44af[_0x518f('0x2e')],'resourceId':_0x5a44af['id'],'type':_0x3529b9[_0x518f('0x2e')],'sectionId':_0x3529b9['id']},{})[_0x518f('0x2a')](function(){return _0x58ae34;});}else{return _0x58ae34;}})[_0x518f('0x4d')](function(_0x43af6e){logger[_0x518f('0x2c')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x43af6e);throw _0x43af6e;});}return _0x58ae34;});}})[_0x518f('0x2a')](respondWithResult(_0x39c5b6,0xc9))['catch'](handleError(_0x39c5b6,null));};exports[_0x518f('0x28')]=function(_0x3854b2,_0x10867a){if(_0x3854b2[_0x518f('0x32')]['id']){delete _0x3854b2[_0x518f('0x32')]['id'];}return db[_0x518f('0x49')][_0x518f('0x51')]({'where':{'id':_0x3854b2[_0x518f('0x4f')]['id']}})[_0x518f('0x2a')](handleEntityNotFound(_0x10867a,null))['then'](saveUpdates(_0x3854b2[_0x518f('0x32')],null))[_0x518f('0x2a')](respondWithResult(_0x10867a,null))[_0x518f('0x4d')](handleError(_0x10867a,null));};exports[_0x518f('0x29')]=function(_0x55df94,_0x26fdc1){return db['Dashboard'][_0x518f('0x51')]({'where':{'id':_0x55df94[_0x518f('0x4f')]['id']}})[_0x518f('0x2a')](handleEntityNotFound(_0x26fdc1,null))[_0x518f('0x2a')](removeEntity(_0x26fdc1,null))[_0x518f('0x4d')](handleError(_0x26fdc1,null));};function widgetAttributes(_0x2ea5ba){try{switch(_0x2ea5ba['type']){case _0x518f('0x5f'):return[{'name':_0x518f('0x60'),'value':_0x2ea5ba[_0x518f('0x60')]||(_0x2ea5ba[_0x518f('0x61')]&&_0x2ea5ba[_0x518f('0x61')][0x0]?_0x2ea5ba['attrs'][0x0][_0x518f('0x62')]:undefined)||_0x518f('0x63')}];case _0x518f('0x64'):return[{'name':_0x518f('0x65'),'value':_0x2ea5ba['attrPath']||(_0x2ea5ba[_0x518f('0x61')]&&_0x2ea5ba[_0x518f('0x61')][0x0]?_0x2ea5ba[_0x518f('0x61')][0x0][_0x518f('0x62')]:undefined)||''}];case _0x518f('0x66'):return[{'name':_0x518f('0x67'),'value':_0x2ea5ba[_0x518f('0x67')]||(_0x2ea5ba[_0x518f('0x61')]&&_0x2ea5ba[_0x518f('0x61')][0x0]?_0x2ea5ba[_0x518f('0x61')][0x0][_0x518f('0x62')]:undefined)||_0x518f('0x68')},{'name':_0x518f('0x69'),'value':_0x2ea5ba['attrTimezone']||(_0x2ea5ba['attrs']&&_0x2ea5ba[_0x518f('0x61')][0x1]?_0x2ea5ba[_0x518f('0x61')][0x1][_0x518f('0x62')]:undefined)||'0.00'},{'name':_0x518f('0x6a'),'value':_0x2ea5ba[_0x518f('0x6a')]||(_0x2ea5ba[_0x518f('0x61')]&&_0x2ea5ba[_0x518f('0x61')][0x2]?_0x2ea5ba['attrs'][0x2][_0x518f('0x62')]:undefined)||0xc}];case'counter':return[{'name':_0x518f('0x6b'),'value':_0x2ea5ba['attrMetric']||(_0x2ea5ba['attrs']&&_0x2ea5ba[_0x518f('0x61')][0x0]?_0x2ea5ba[_0x518f('0x61')][0x0][_0x518f('0x62')]:undefined)||_0x518f('0x6c')},{'name':_0x518f('0x6d'),'value':_0x2ea5ba[_0x518f('0x6d')]||(_0x2ea5ba[_0x518f('0x61')]&&_0x2ea5ba[_0x518f('0x61')][0x1]?_0x2ea5ba[_0x518f('0x61')][0x1][_0x518f('0x62')]:undefined)||[]},{'name':'attrFontSize','value':_0x2ea5ba['attrFontSize']||(_0x2ea5ba[_0x518f('0x61')]&&_0x2ea5ba[_0x518f('0x61')][0x2]?_0x2ea5ba['attrs'][0x2][_0x518f('0x62')]:undefined)||0x14}];case _0x518f('0x6e'):case'pie-chart':return[{'name':_0x518f('0x6f'),'value':_0x2ea5ba[_0x518f('0x6f')]||(_0x2ea5ba[_0x518f('0x61')]&&_0x2ea5ba['attrs'][0x0]?_0x2ea5ba[_0x518f('0x61')][0x0][_0x518f('0x62')]:undefined)||'total'},{'name':_0x518f('0x70'),'value':_0x2ea5ba[_0x518f('0x70')]||(_0x2ea5ba[_0x518f('0x61')]&&_0x2ea5ba[_0x518f('0x61')][0x1]?_0x2ea5ba['attrs'][0x1][_0x518f('0x62')]:undefined)||null},{'name':_0x518f('0x71'),'value':_0x2ea5ba['attrSerie3']||(_0x2ea5ba['attrs']&&_0x2ea5ba['attrs'][0x2]?_0x2ea5ba[_0x518f('0x61')][0x2][_0x518f('0x62')]:undefined)||null},{'name':'attrVoiceQueues','value':_0x2ea5ba[_0x518f('0x6d')]||(_0x2ea5ba[_0x518f('0x61')]&&_0x2ea5ba[_0x518f('0x61')][0x3]?_0x2ea5ba['attrs'][0x3]['value']:undefined)||[]}];case _0x518f('0x72'):return[{'name':_0x518f('0x73'),'type':_0x2ea5ba[_0x518f('0x74')]||(_0x2ea5ba['attrs']&&_0x2ea5ba[_0x518f('0x61')][0x0]?_0x2ea5ba[_0x518f('0x61')][0x0][_0x518f('0x46')]:undefined)||null,'value':_0x2ea5ba[_0x518f('0x73')]||(_0x2ea5ba['attrs']&&_0x2ea5ba[_0x518f('0x61')][0x0]?_0x2ea5ba[_0x518f('0x61')][0x0][_0x518f('0x62')]:undefined)||null},{'name':_0x518f('0x75'),'value':_0x2ea5ba['attrRefresh']||(_0x2ea5ba[_0x518f('0x61')]&&_0x2ea5ba[_0x518f('0x61')][0x1]?_0x2ea5ba[_0x518f('0x61')][0x1]['value']:undefined)||0x0}];default:return[];}}catch(_0x598489){logger[_0x518f('0x2c')](_0x518f('0x76'),JSON[_0x518f('0x77')](_0x598489));return[];}}exports[_0x518f('0x78')]=function(_0x3659d5,_0x2a3ef1,_0x16ef21){if(_0x3659d5[_0x518f('0x32')]['id']){delete _0x3659d5[_0x518f('0x32')]['id'];}return db['Dashboard'][_0x518f('0x51')]({'where':{'id':_0x3659d5[_0x518f('0x4f')]['id']}})[_0x518f('0x2a')](handleEntityNotFound(_0x2a3ef1,null))['then'](function(_0x20d5c3){if(_0x20d5c3){_0x3659d5[_0x518f('0x32')][_0x518f('0x79')]=_0x20d5c3['id'];_0x3659d5['body'][_0x518f('0x61')]=widgetAttributes(_0x3659d5['body']);return db[_0x518f('0x7a')][_0x518f('0x52')](_0x3659d5['body']);}})[_0x518f('0x2a')](respondWithResult(_0x2a3ef1,null))[_0x518f('0x4d')](handleError(_0x2a3ef1,null));};exports[_0x518f('0x7b')]=function(_0x3f19d9,_0x48c94f,_0x1bfe6d){var _0x3adccf={};var _0x45a6cb={};var _0x3e387a;var _0x16aef6;return db[_0x518f('0x49')]['findOne']({'where':{'id':_0x3f19d9[_0x518f('0x4f')]['id']}})[_0x518f('0x2a')](handleEntityNotFound(_0x48c94f,null))[_0x518f('0x2a')](function(_0x47c531){if(_0x47c531){_0x3e387a=_0x47c531;_0x45a6cb[_0x518f('0x3b')]=_[_0x518f('0x3d')](db[_0x518f('0x7a')][_0x518f('0x39')]);_0x45a6cb[_0x518f('0x3c')]=_['keys'](_0x3f19d9[_0x518f('0x3c')]);_0x45a6cb[_0x518f('0x44')]=_[_0x518f('0x3e')](_0x45a6cb[_0x518f('0x3b')],_0x45a6cb[_0x518f('0x3c')]);_0x3adccf['attributes']=_[_0x518f('0x3e')](_0x45a6cb[_0x518f('0x3b')],qs[_0x518f('0x40')](_0x3f19d9[_0x518f('0x3c')][_0x518f('0x40')]));_0x3adccf['attributes']=_0x3adccf[_0x518f('0x3f')][_0x518f('0x50')]?_0x3adccf[_0x518f('0x3f')]:_0x45a6cb[_0x518f('0x3b')];_0x3adccf[_0x518f('0x41')]=qs[_0x518f('0x42')](_0x3f19d9[_0x518f('0x3c')][_0x518f('0x42')]);_0x3adccf[_0x518f('0x43')]=qs[_0x518f('0x44')](_['pick'](_0x3f19d9['query'],_0x45a6cb[_0x518f('0x44')]));if(_0x3f19d9['query'][_0x518f('0x45')]){_0x3adccf[_0x518f('0x43')]=_[_0x518f('0x31')](_0x3adccf[_0x518f('0x43')],{'$or':_['map'](_0x3adccf['attributes'],function(_0x844595){var _0x3ec7b0={};_0x3ec7b0[_0x844595]={'$like':'%'+_0x3f19d9[_0x518f('0x3c')][_0x518f('0x45')]+'%'};return _0x3ec7b0;})});}_0x3adccf=_[_0x518f('0x31')]({},_0x3adccf,_0x3f19d9[_0x518f('0x48')]);return _0x3e387a['getItems'](_0x3adccf);}})[_0x518f('0x2a')](function(_0x38218f){if(_0x38218f){_0x16aef6=_0x38218f[_0x518f('0x50')];if(!_0x3f19d9[_0x518f('0x3c')][_0x518f('0x7c')](_0x518f('0x7d'))){_0x3adccf[_0x518f('0x23')]=qs[_0x518f('0x23')](_0x3f19d9[_0x518f('0x3c')][_0x518f('0x23')]);_0x3adccf[_0x518f('0x21')]=qs[_0x518f('0x21')](_0x3f19d9[_0x518f('0x3c')][_0x518f('0x21')]);}return _0x3e387a['getItems'](_0x3adccf);}})[_0x518f('0x2a')](function(_0x1c0028){if(_0x1c0028){return _0x1c0028?{'count':_0x16aef6,'rows':_0x1c0028}:null;}})[_0x518f('0x2a')](respondWithResult(_0x48c94f,null))[_0x518f('0x4d')](handleError(_0x48c94f,null));};