65925e8535653afa4083cae64eec3068b6398edd
[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 _0x3acb=['keys','filters','intersection','attributes','hasOwnProperty','nolimit','order','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','show','params','length','find','catch','create','Unable\x20to\x20retrieve\x20the\x20current\x20user','CustomDashboards','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','omit','createdAt','updatedAt','body','user','iframe','attrUrl','attrs','https://','custom','attrPath','value','clock','attrHourFormat','HH:mm:ss','attrTimezone','0.00','attrFontSize','counter','total','attrVoiceQueues','multibar-chart','pie-chart','attrSerie2','attrSerie3','attrReport','attrRefresh','stringify','addItem','DashboardId','DashboardItem','getItems','pick','request-promise','moment','mustache','util','path','sox','to-csv','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','socket.io-emitter','register','status','end','json','count','offset','limit','set','Content-Range','apply','save','update','then','destroy','get','UserProfileResource','sendStatus','error','stack','name','index','map','Dashboard','rawAttributes','fieldName','type','model','query'];(function(_0x34191a,_0x12368d){var _0x377c39=function(_0x2c7db5){while(--_0x2c7db5){_0x34191a['push'](_0x34191a['shift']());}};_0x377c39(++_0x12368d);}(_0x3acb,0x126));var _0xb3ac=function(_0x511890,_0x100c2a){_0x511890=_0x511890-0x0;var _0x5dfc80=_0x3acb[_0x511890];return _0x5dfc80;};'use strict';var pdf=require('html-pdf');var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xb3ac('0x0'));var moment=require(_0xb3ac('0x1'));var BPromise=require('bluebird');var Mustache=require(_0xb3ac('0x2'));var util=require(_0xb3ac('0x3'));var path=require(_0xb3ac('0x4'));var sox=require(_0xb3ac('0x5'));var csv=require(_0xb3ac('0x6'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xb3ac('0x7'));var squel=require('squel');var crypto=require(_0xb3ac('0x8'));var jsforce=require(_0xb3ac('0x9'));var deskjs=require('desk.js');var toCsv=require(_0xb3ac('0x6'));var querystring=require(_0xb3ac('0xa'));var Papa=require(_0xb3ac('0xb'));var Redis=require(_0xb3ac('0xc'));var authService=require(_0xb3ac('0xd'));var qs=require(_0xb3ac('0xe'));var as=require(_0xb3ac('0xf'));var hardwareService=require(_0xb3ac('0x10'));var logger=require(_0xb3ac('0x11'))(_0xb3ac('0x12'));var utils=require(_0xb3ac('0x13'));var config=require(_0xb3ac('0x14'));var licenseUtil=require(_0xb3ac('0x15'));var db=require(_0xb3ac('0x16'))['db'];config[_0xb3ac('0x17')]=_[_0xb3ac('0x18')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require(_0xb3ac('0x19'))(new Redis(config[_0xb3ac('0x17')]));require('./dashboard.socket')[_0xb3ac('0x1a')](socket);function respondWithStatusCode(_0x2a099e,_0x3a0ab2){_0x3a0ab2=_0x3a0ab2||0xcc;return function(_0x535b15){if(_0x535b15){return _0x2a099e['sendStatus'](_0x3a0ab2);}return _0x2a099e[_0xb3ac('0x1b')](_0x3a0ab2)[_0xb3ac('0x1c')]();};}function respondWithResult(_0x50add0,_0x16be23){_0x16be23=_0x16be23||0xc8;return function(_0x3e32de){if(_0x3e32de){return _0x50add0[_0xb3ac('0x1b')](_0x16be23)[_0xb3ac('0x1d')](_0x3e32de);}};}function respondWithFilteredResult(_0x2a6b22,_0x5768cc){return function(_0x453f93){if(_0x453f93){var _0x50d425=_0x453f93[_0xb3ac('0x1e')],_0xc179bf=_0x5768cc['offset'],_0x22d0a1=_0x5768cc[_0xb3ac('0x1f')]+_0x5768cc[_0xb3ac('0x20')],_0x4d763c;if(_0x22d0a1>=_0x50d425){_0x22d0a1=_0x50d425;_0x4d763c=0xc8;}else{_0x4d763c=0xce;}_0x2a6b22[_0xb3ac('0x1b')](_0x4d763c);return _0x2a6b22[_0xb3ac('0x21')](_0xb3ac('0x22'),_0xc179bf+'-'+_0x22d0a1+'/'+_0x50d425)[_0xb3ac('0x1d')](_0x453f93);}return null;};}function patchUpdates(_0x4ef64a){return function(_0x23c3d3){try{jsonpatch[_0xb3ac('0x23')](_0x23c3d3,_0x4ef64a,!![]);}catch(_0x3fb97a){return BPromise['reject'](_0x3fb97a);}return _0x23c3d3[_0xb3ac('0x24')]();};}function saveUpdates(_0x80d568,_0x25f95d){return function(_0x3c23d6){if(_0x3c23d6){return _0x3c23d6[_0xb3ac('0x25')](_0x80d568)[_0xb3ac('0x26')](function(_0x20a036){return _0x20a036;});}return null;};}function removeEntity(_0xd9df91,_0x5e86fb){return function(_0x1ba373){if(_0x1ba373){return _0x1ba373[_0xb3ac('0x27')]()[_0xb3ac('0x26')](function(){var _0x5aea3c=_0x1ba373[_0xb3ac('0x28')]({'plain':!![]});var _0x1d0384='CustomDashboards';return db[_0xb3ac('0x29')][_0xb3ac('0x27')]({'where':{'type':_0x1d0384,'resourceId':_0x5aea3c['id']}})['then'](function(){return _0x1ba373;});})['then'](function(){_0xd9df91[_0xb3ac('0x1b')](0xcc)[_0xb3ac('0x1c')]();});}};}function handleEntityNotFound(_0x28222a,_0x3a4cab){return function(_0x407671){if(!_0x407671){_0x28222a[_0xb3ac('0x2a')](0x194);}return _0x407671;};}function handleError(_0x54c9e2,_0x564027){_0x564027=_0x564027||0x1f4;return function(_0xf49982){logger[_0xb3ac('0x2b')](_0xf49982[_0xb3ac('0x2c')]);if(_0xf49982[_0xb3ac('0x2d')]){delete _0xf49982[_0xb3ac('0x2d')];}_0x54c9e2['status'](_0x564027)['send'](_0xf49982);};}exports[_0xb3ac('0x2e')]=function(_0x1c34f2,_0x2574d9){var _0x3adc40={},_0x29f223={},_0x4666c5={'count':0x0,'rows':[]};var _0x551375=_[_0xb3ac('0x2f')](db[_0xb3ac('0x30')][_0xb3ac('0x31')],function(_0x1a2f73){return{'name':_0x1a2f73[_0xb3ac('0x32')],'type':_0x1a2f73[_0xb3ac('0x33')]['key']};});_0x29f223[_0xb3ac('0x34')]=_[_0xb3ac('0x2f')](_0x551375,_0xb3ac('0x2d'));_0x29f223[_0xb3ac('0x35')]=_[_0xb3ac('0x36')](_0x1c34f2['query']);_0x29f223[_0xb3ac('0x37')]=_[_0xb3ac('0x38')](_0x29f223[_0xb3ac('0x34')],_0x29f223[_0xb3ac('0x35')]);_0x3adc40[_0xb3ac('0x39')]=_[_0xb3ac('0x38')](_0x29f223[_0xb3ac('0x34')],qs['fields'](_0x1c34f2[_0xb3ac('0x35')]['fields']));_0x3adc40['attributes']=_0x3adc40[_0xb3ac('0x39')]['length']?_0x3adc40['attributes']:_0x29f223[_0xb3ac('0x34')];if(!_0x1c34f2[_0xb3ac('0x35')][_0xb3ac('0x3a')](_0xb3ac('0x3b'))){_0x3adc40[_0xb3ac('0x20')]=qs[_0xb3ac('0x20')](_0x1c34f2[_0xb3ac('0x35')][_0xb3ac('0x20')]);_0x3adc40[_0xb3ac('0x1f')]=qs['offset'](_0x1c34f2[_0xb3ac('0x35')]['offset']);}_0x3adc40[_0xb3ac('0x3c')]=qs[_0xb3ac('0x3d')](_0x1c34f2[_0xb3ac('0x35')][_0xb3ac('0x3d')]);_0x3adc40[_0xb3ac('0x3e')]=qs[_0xb3ac('0x37')](_['pick'](_0x1c34f2[_0xb3ac('0x35')],_0x29f223['filters']),_0x551375);if(_0x1c34f2['query'][_0xb3ac('0x3f')]){_0x3adc40[_0xb3ac('0x3e')]=_[_0xb3ac('0x40')](_0x3adc40[_0xb3ac('0x3e')],{'$or':_[_0xb3ac('0x2f')](_0x551375,function(_0x564b2f){if(_0x564b2f[_0xb3ac('0x33')]!==_0xb3ac('0x41')){var _0x4629e8={};_0x4629e8[_0x564b2f[_0xb3ac('0x2d')]]={'$like':'%'+_0x1c34f2[_0xb3ac('0x35')]['filter']+'%'};return _0x4629e8;}})});}_0x3adc40=_[_0xb3ac('0x40')]({},_0x3adc40,_0x1c34f2[_0xb3ac('0x42')]);var _0x203527={'where':_0x3adc40['where']};return db['Dashboard']['count'](_0x203527)['then'](function(_0x1f283a){_0x4666c5[_0xb3ac('0x1e')]=_0x1f283a;if(_0x1c34f2[_0xb3ac('0x35')][_0xb3ac('0x43')]){_0x3adc40[_0xb3ac('0x44')]=[{'all':!![]}];}return db[_0xb3ac('0x30')][_0xb3ac('0x45')](_0x3adc40);})[_0xb3ac('0x26')](function(_0x1d16e5){_0x4666c5[_0xb3ac('0x46')]=_0x1d16e5;return _0x4666c5;})[_0xb3ac('0x26')](respondWithFilteredResult(_0x2574d9,_0x3adc40))['catch'](handleError(_0x2574d9,null));};exports[_0xb3ac('0x47')]=function(_0x430b11,_0x256c65){var _0x3d191a={'raw':![],'where':{'id':_0x430b11[_0xb3ac('0x48')]['id']}},_0x21cfd4={};_0x21cfd4[_0xb3ac('0x34')]=_[_0xb3ac('0x36')](db[_0xb3ac('0x30')][_0xb3ac('0x31')]);_0x21cfd4['query']=_[_0xb3ac('0x36')](_0x430b11['query']);_0x21cfd4[_0xb3ac('0x37')]=_[_0xb3ac('0x38')](_0x21cfd4[_0xb3ac('0x34')],_0x21cfd4[_0xb3ac('0x35')]);_0x3d191a[_0xb3ac('0x39')]=_[_0xb3ac('0x38')](_0x21cfd4[_0xb3ac('0x34')],qs['fields'](_0x430b11['query']['fields']));_0x3d191a['attributes']=_0x3d191a['attributes'][_0xb3ac('0x49')]?_0x3d191a[_0xb3ac('0x39')]:_0x21cfd4[_0xb3ac('0x34')];if(_0x430b11[_0xb3ac('0x35')][_0xb3ac('0x43')]){_0x3d191a[_0xb3ac('0x44')]=[{'all':!![]}];}_0x3d191a=_['merge']({},_0x3d191a,_0x430b11['options']);return db[_0xb3ac('0x30')][_0xb3ac('0x4a')](_0x3d191a)[_0xb3ac('0x26')](handleEntityNotFound(_0x256c65,null))[_0xb3ac('0x26')](respondWithResult(_0x256c65,null))[_0xb3ac('0x4b')](handleError(_0x256c65,null));};exports['create']=function(_0x386e52,_0x5ef450){return db[_0xb3ac('0x30')][_0xb3ac('0x4c')](_0x386e52['body'],{})[_0xb3ac('0x26')](function(_0x119a19){var _0x3b0b83=_0x386e52['user'][_0xb3ac('0x28')]({'plain':!![]});if(!_0x3b0b83)throw new Error(_0xb3ac('0x4d'));if(_0x3b0b83['role']==='user'){var _0x248452=_0x119a19[_0xb3ac('0x28')]({'plain':!![]});var _0x4d9cdd=_0xb3ac('0x4e');return db[_0xb3ac('0x4f')][_0xb3ac('0x4a')]({'where':{'name':_0x4d9cdd,'userProfileId':_0x3b0b83[_0xb3ac('0x50')]},'raw':!![]})[_0xb3ac('0x26')](function(_0x1d5282){if(_0x1d5282&&_0x1d5282[_0xb3ac('0x51')]===0x0){return db[_0xb3ac('0x29')][_0xb3ac('0x4c')]({'name':_0x248452[_0xb3ac('0x2d')],'resourceId':_0x248452['id'],'type':_0x1d5282[_0xb3ac('0x2d')],'sectionId':_0x1d5282['id']},{})['then'](function(){return _0x119a19;});}else{return _0x119a19;}})[_0xb3ac('0x4b')](function(_0x12c4c2){logger[_0xb3ac('0x2b')](_0xb3ac('0x52'),_0x12c4c2);throw _0x12c4c2;});}return _0x119a19;})[_0xb3ac('0x26')](respondWithResult(_0x5ef450,0xc9))[_0xb3ac('0x4b')](handleError(_0x5ef450,null));};exports['clone']=function(_0x261f58,_0x280bc7){var _0x3ebcdb={'where':{'id':_0x261f58['params']['id']}},_0x508244={};_0x508244[_0xb3ac('0x34')]=_['keys'](db['Dashboard']['rawAttributes']);_0x3ebcdb[_0xb3ac('0x39')]=_['intersection'](_0x508244[_0xb3ac('0x34')],qs['fields'](_0x261f58[_0xb3ac('0x35')]['fields']));_0x3ebcdb[_0xb3ac('0x39')]=_0x3ebcdb[_0xb3ac('0x39')][_0xb3ac('0x49')]?_0x3ebcdb[_0xb3ac('0x39')]:_0x508244[_0xb3ac('0x34')];if(_0x261f58[_0xb3ac('0x35')]['includeAll']){_0x3ebcdb[_0xb3ac('0x44')]=[{'all':!![]}];}_0x3ebcdb=_[_0xb3ac('0x40')]({},_0x3ebcdb,_0x261f58[_0xb3ac('0x42')]);return db[_0xb3ac('0x30')][_0xb3ac('0x4a')](_0x3ebcdb)[_0xb3ac('0x26')](handleEntityNotFound(_0x280bc7,null))[_0xb3ac('0x26')](function(_0x4bbe9b){if(_0x4bbe9b){var _0x2b8a9d=_0x4bbe9b[_0xb3ac('0x28')]({'plain':!![]});_0x2b8a9d=qs[_0xb3ac('0x53')](_0x2b8a9d,['id',_0xb3ac('0x54'),_0xb3ac('0x55')]);_0x261f58['body']=_[_0xb3ac('0x53')](_0x261f58['body'],['id',_0xb3ac('0x54'),_0xb3ac('0x55')]);return db[_0xb3ac('0x30')][_0xb3ac('0x4c')](_[_0xb3ac('0x40')](_0x2b8a9d,_0x261f58[_0xb3ac('0x56')]),{'include':_0x261f58[_0xb3ac('0x35')]['includeAll']?[{'all':!![]}]:undefined})['then'](function(_0x4c871a){var _0x30c334=_0x261f58[_0xb3ac('0x57')][_0xb3ac('0x28')]({'plain':!![]});if(!_0x30c334)throw new Error(_0xb3ac('0x4d'));if(_0x30c334['role']===_0xb3ac('0x57')){var _0x51788a=_0x4c871a[_0xb3ac('0x28')]({'plain':!![]});var _0x15121a='CustomDashboards';return db[_0xb3ac('0x4f')][_0xb3ac('0x4a')]({'where':{'name':_0x15121a,'userProfileId':_0x30c334[_0xb3ac('0x50')]},'raw':!![]})[_0xb3ac('0x26')](function(_0x3fdc24){if(_0x3fdc24&&_0x3fdc24[_0xb3ac('0x51')]===0x0){return db['UserProfileResource'][_0xb3ac('0x4c')]({'name':_0x51788a['name'],'resourceId':_0x51788a['id'],'type':_0x3fdc24['name'],'sectionId':_0x3fdc24['id']},{})[_0xb3ac('0x26')](function(){return _0x4c871a;});}else{return _0x4c871a;}})['catch'](function(_0x297285){logger['error'](_0xb3ac('0x52'),_0x297285);throw _0x297285;});}return _0x4c871a;});}})['then'](respondWithResult(_0x280bc7,0xc9))[_0xb3ac('0x4b')](handleError(_0x280bc7,null));};exports[_0xb3ac('0x25')]=function(_0x9961de,_0x6d25c1){if(_0x9961de[_0xb3ac('0x56')]['id']){delete _0x9961de[_0xb3ac('0x56')]['id'];}return db['Dashboard'][_0xb3ac('0x4a')]({'where':{'id':_0x9961de[_0xb3ac('0x48')]['id']}})[_0xb3ac('0x26')](handleEntityNotFound(_0x6d25c1,null))[_0xb3ac('0x26')](saveUpdates(_0x9961de['body'],null))[_0xb3ac('0x26')](respondWithResult(_0x6d25c1,null))['catch'](handleError(_0x6d25c1,null));};exports[_0xb3ac('0x27')]=function(_0x53eca9,_0x5a64f8){return db[_0xb3ac('0x30')][_0xb3ac('0x4a')]({'where':{'id':_0x53eca9[_0xb3ac('0x48')]['id']}})[_0xb3ac('0x26')](handleEntityNotFound(_0x5a64f8,null))[_0xb3ac('0x26')](removeEntity(_0x5a64f8,null))[_0xb3ac('0x4b')](handleError(_0x5a64f8,null));};function widgetAttributes(_0x44e666){try{switch(_0x44e666['type']){case _0xb3ac('0x58'):return[{'name':_0xb3ac('0x59'),'value':_0x44e666[_0xb3ac('0x59')]||(_0x44e666['attrs']&&_0x44e666[_0xb3ac('0x5a')][0x0]?_0x44e666[_0xb3ac('0x5a')][0x0]['value']:undefined)||_0xb3ac('0x5b')}];case _0xb3ac('0x5c'):return[{'name':_0xb3ac('0x5d'),'value':_0x44e666['attrPath']||(_0x44e666['attrs']&&_0x44e666['attrs'][0x0]?_0x44e666[_0xb3ac('0x5a')][0x0][_0xb3ac('0x5e')]:undefined)||''}];case _0xb3ac('0x5f'):return[{'name':'attrHourFormat','value':_0x44e666[_0xb3ac('0x60')]||(_0x44e666['attrs']&&_0x44e666[_0xb3ac('0x5a')][0x0]?_0x44e666['attrs'][0x0][_0xb3ac('0x5e')]:undefined)||_0xb3ac('0x61')},{'name':_0xb3ac('0x62'),'value':_0x44e666['attrTimezone']||(_0x44e666[_0xb3ac('0x5a')]&&_0x44e666[_0xb3ac('0x5a')][0x1]?_0x44e666[_0xb3ac('0x5a')][0x1]['value']:undefined)||_0xb3ac('0x63')},{'name':'attrFontSize','value':_0x44e666[_0xb3ac('0x64')]||(_0x44e666[_0xb3ac('0x5a')]&&_0x44e666[_0xb3ac('0x5a')][0x2]?_0x44e666[_0xb3ac('0x5a')][0x2]['value']:undefined)||0xc}];case _0xb3ac('0x65'):return[{'name':'attrMetric','value':_0x44e666['attrMetric']||(_0x44e666['attrs']&&_0x44e666[_0xb3ac('0x5a')][0x0]?_0x44e666[_0xb3ac('0x5a')][0x0][_0xb3ac('0x5e')]:undefined)||_0xb3ac('0x66')},{'name':_0xb3ac('0x67'),'value':_0x44e666[_0xb3ac('0x67')]||(_0x44e666[_0xb3ac('0x5a')]&&_0x44e666[_0xb3ac('0x5a')][0x1]?_0x44e666[_0xb3ac('0x5a')][0x1][_0xb3ac('0x5e')]:undefined)||[]},{'name':_0xb3ac('0x64'),'value':_0x44e666[_0xb3ac('0x64')]||(_0x44e666['attrs']&&_0x44e666[_0xb3ac('0x5a')][0x2]?_0x44e666['attrs'][0x2][_0xb3ac('0x5e')]:undefined)||0x14}];case _0xb3ac('0x68'):case _0xb3ac('0x69'):return[{'name':'attrSerie1','value':_0x44e666['attrSerie1']||(_0x44e666[_0xb3ac('0x5a')]&&_0x44e666[_0xb3ac('0x5a')][0x0]?_0x44e666['attrs'][0x0][_0xb3ac('0x5e')]:undefined)||_0xb3ac('0x66')},{'name':_0xb3ac('0x6a'),'value':_0x44e666[_0xb3ac('0x6a')]||(_0x44e666['attrs']&&_0x44e666[_0xb3ac('0x5a')][0x1]?_0x44e666[_0xb3ac('0x5a')][0x1][_0xb3ac('0x5e')]:undefined)||null},{'name':_0xb3ac('0x6b'),'value':_0x44e666[_0xb3ac('0x6b')]||(_0x44e666[_0xb3ac('0x5a')]&&_0x44e666[_0xb3ac('0x5a')][0x2]?_0x44e666[_0xb3ac('0x5a')][0x2][_0xb3ac('0x5e')]:undefined)||null},{'name':_0xb3ac('0x67'),'value':_0x44e666[_0xb3ac('0x67')]||(_0x44e666[_0xb3ac('0x5a')]&&_0x44e666[_0xb3ac('0x5a')][0x3]?_0x44e666[_0xb3ac('0x5a')][0x3][_0xb3ac('0x5e')]:undefined)||[]}];case'web-report':return[{'name':'attrReport','type':_0x44e666['reportType']||(_0x44e666[_0xb3ac('0x5a')]&&_0x44e666['attrs'][0x0]?_0x44e666[_0xb3ac('0x5a')][0x0]['type']:undefined)||null,'value':_0x44e666[_0xb3ac('0x6c')]||(_0x44e666[_0xb3ac('0x5a')]&&_0x44e666[_0xb3ac('0x5a')][0x0]?_0x44e666[_0xb3ac('0x5a')][0x0][_0xb3ac('0x5e')]:undefined)||null},{'name':'attrRefresh','value':_0x44e666[_0xb3ac('0x6d')]||(_0x44e666[_0xb3ac('0x5a')]&&_0x44e666[_0xb3ac('0x5a')][0x1]?_0x44e666[_0xb3ac('0x5a')][0x1][_0xb3ac('0x5e')]:undefined)||0x0}];default:return[];}}catch(_0x30663a){logger['error']('widgetAttributes:\x20%s',JSON[_0xb3ac('0x6e')](_0x30663a));return[];}}exports[_0xb3ac('0x6f')]=function(_0x525427,_0x457f49,_0x10904a){if(_0x525427[_0xb3ac('0x56')]['id']){delete _0x525427[_0xb3ac('0x56')]['id'];}return db['Dashboard']['find']({'where':{'id':_0x525427[_0xb3ac('0x48')]['id']}})[_0xb3ac('0x26')](handleEntityNotFound(_0x457f49,null))[_0xb3ac('0x26')](function(_0x5c56f5){if(_0x5c56f5){_0x525427['body'][_0xb3ac('0x70')]=_0x5c56f5['id'];_0x525427[_0xb3ac('0x56')][_0xb3ac('0x5a')]=widgetAttributes(_0x525427[_0xb3ac('0x56')]);return db[_0xb3ac('0x71')]['create'](_0x525427[_0xb3ac('0x56')]);}})[_0xb3ac('0x26')](respondWithResult(_0x457f49,null))[_0xb3ac('0x4b')](handleError(_0x457f49,null));};exports[_0xb3ac('0x72')]=function(_0x4d39d8,_0x53ecdc,_0x3ff67f){var _0x3ce3c7={};var _0x52e0b0={};var _0x454b6e;var _0x2a9a5a;return db[_0xb3ac('0x30')]['findOne']({'where':{'id':_0x4d39d8[_0xb3ac('0x48')]['id']}})[_0xb3ac('0x26')](handleEntityNotFound(_0x53ecdc,null))[_0xb3ac('0x26')](function(_0x491f82){if(_0x491f82){_0x454b6e=_0x491f82;_0x52e0b0[_0xb3ac('0x34')]=_[_0xb3ac('0x36')](db[_0xb3ac('0x71')]['rawAttributes']);_0x52e0b0[_0xb3ac('0x35')]=_['keys'](_0x4d39d8[_0xb3ac('0x35')]);_0x52e0b0[_0xb3ac('0x37')]=_[_0xb3ac('0x38')](_0x52e0b0[_0xb3ac('0x34')],_0x52e0b0[_0xb3ac('0x35')]);_0x3ce3c7[_0xb3ac('0x39')]=_[_0xb3ac('0x38')](_0x52e0b0[_0xb3ac('0x34')],qs['fields'](_0x4d39d8[_0xb3ac('0x35')]['fields']));_0x3ce3c7[_0xb3ac('0x39')]=_0x3ce3c7[_0xb3ac('0x39')][_0xb3ac('0x49')]?_0x3ce3c7[_0xb3ac('0x39')]:_0x52e0b0[_0xb3ac('0x34')];_0x3ce3c7['order']=qs[_0xb3ac('0x3d')](_0x4d39d8[_0xb3ac('0x35')]['sort']);_0x3ce3c7[_0xb3ac('0x3e')]=qs['filters'](_[_0xb3ac('0x73')](_0x4d39d8['query'],_0x52e0b0[_0xb3ac('0x37')]));if(_0x4d39d8['query']['filter']){_0x3ce3c7[_0xb3ac('0x3e')]=_['merge'](_0x3ce3c7[_0xb3ac('0x3e')],{'$or':_['map'](_0x3ce3c7[_0xb3ac('0x39')],function(_0x369814){var _0x2c8e6f={};_0x2c8e6f[_0x369814]={'$like':'%'+_0x4d39d8[_0xb3ac('0x35')]['filter']+'%'};return _0x2c8e6f;})});}_0x3ce3c7=_[_0xb3ac('0x40')]({},_0x3ce3c7,_0x4d39d8[_0xb3ac('0x42')]);return _0x454b6e[_0xb3ac('0x72')](_0x3ce3c7);}})[_0xb3ac('0x26')](function(_0x12fd27){if(_0x12fd27){_0x2a9a5a=_0x12fd27[_0xb3ac('0x49')];if(!_0x4d39d8[_0xb3ac('0x35')][_0xb3ac('0x3a')](_0xb3ac('0x3b'))){_0x3ce3c7['limit']=qs[_0xb3ac('0x20')](_0x4d39d8[_0xb3ac('0x35')]['limit']);_0x3ce3c7['offset']=qs[_0xb3ac('0x1f')](_0x4d39d8[_0xb3ac('0x35')]['offset']);}return _0x454b6e[_0xb3ac('0x72')](_0x3ce3c7);}})['then'](function(_0x524c5a){if(_0x524c5a){return _0x524c5a?{'count':_0x2a9a5a,'rows':_0x524c5a}:null;}})[_0xb3ac('0x26')](respondWithResult(_0x53ecdc,null))[_0xb3ac('0x4b')](handleError(_0x53ecdc,null));};