55f8ca1f0dbffa9c7ed25e5e6ee76075465a3f95
[motion2.git] / server / api / userProfile / userProfile.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 _0xa466=['../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./userProfile.socket','sendStatus','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','then','destroy','stack','name','send','index','map','UserProfile','fieldName','type','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','order','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','rawAttributes','include','find','create','clone','omit','createdAt','updatedAt','crudPermissions','body','transaction','get','UserProfileSection','each','autoAssociation','UserProfileResource','sectionId','userProfileId','Resources','describe','addSections','sequelize','push','ids','getSections','enabled','includes','subsections','concat','Dashboard','forEach','resourceId','Plugin','bulkCreate','removeResources','section','Missing\x20section\x20parameter','nolimit','No\x20User\x20Profile\x20found\x20for\x20id\x20','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','fs-extra','squel','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api'];(function(_0x4b055c,_0x4b870b){var _0x4b62bb=function(_0x4884c2){while(--_0x4884c2){_0x4b055c['push'](_0x4b055c['shift']());}};_0x4b62bb(++_0x4b870b);}(_0xa466,0x140));var _0x6a46=function(_0x20c9a8,_0x8adf2f){_0x20c9a8=_0x20c9a8-0x0;var _0x56a8cf=_0xa466[_0x20c9a8];return _0x56a8cf;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x6a46('0x0'));var zipdir=require(_0x6a46('0x1'));var jsonpatch=require(_0x6a46('0x2'));var rp=require('request-promise');var moment=require(_0x6a46('0x3'));var BPromise=require(_0x6a46('0x4'));var Mustache=require(_0x6a46('0x5'));var util=require(_0x6a46('0x6'));var path=require(_0x6a46('0x7'));var sox=require(_0x6a46('0x8'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x6a46('0x9'));var _=require('lodash');var squel=require(_0x6a46('0xa'));var crypto=require(_0x6a46('0xb'));var jsforce=require('jsforce');var deskjs=require(_0x6a46('0xc'));var toCsv=require(_0x6a46('0xd'));var querystring=require(_0x6a46('0xe'));var Papa=require(_0x6a46('0xf'));var Redis=require(_0x6a46('0x10'));var authService=require(_0x6a46('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x6a46('0x12'));var hardwareService=require(_0x6a46('0x13'));var logger=require(_0x6a46('0x14'))(_0x6a46('0x15'));var utils=require(_0x6a46('0x16'));var config=require(_0x6a46('0x17'));var licenseUtil=require(_0x6a46('0x18'));var db=require(_0x6a46('0x19'))['db'];config[_0x6a46('0x1a')]=_['defaults'](config[_0x6a46('0x1a')],{'host':_0x6a46('0x1b'),'port':0x18eb});var socket=require(_0x6a46('0x1c'))(new Redis(config[_0x6a46('0x1a')]));require(_0x6a46('0x1d'))['register'](socket);function respondWithStatusCode(_0x3bb091,_0x5717d6){_0x5717d6=_0x5717d6||0xcc;return function(_0x49f16f){if(_0x49f16f){return _0x3bb091[_0x6a46('0x1e')](_0x5717d6);}return _0x3bb091[_0x6a46('0x1f')](_0x5717d6)[_0x6a46('0x20')]();};}function respondWithResult(_0x3969bb,_0x3ffa20){_0x3ffa20=_0x3ffa20||0xc8;return function(_0x87f1e6){if(_0x87f1e6){return _0x3969bb[_0x6a46('0x1f')](_0x3ffa20)[_0x6a46('0x21')](_0x87f1e6);}};}function respondWithFilteredResult(_0x2d0cde,_0x52ce87){return function(_0x10c241){if(_0x10c241){var _0x1f75b8=typeof _0x52ce87[_0x6a46('0x22')]===_0x6a46('0x23')&&typeof _0x52ce87[_0x6a46('0x24')]===_0x6a46('0x23');var _0x2665c5=_0x10c241[_0x6a46('0x25')];var _0x41cd11=_0x1f75b8?0x0:_0x52ce87['offset'];var _0x5b9c77=_0x1f75b8?_0x10c241['count']:_0x52ce87[_0x6a46('0x22')]+_0x52ce87[_0x6a46('0x24')];var _0x3b7992;if(_0x5b9c77>=_0x2665c5){_0x5b9c77=_0x2665c5;_0x3b7992=0xc8;}else{_0x3b7992=0xce;}_0x2d0cde['status'](_0x3b7992);return _0x2d0cde[_0x6a46('0x26')](_0x6a46('0x27'),_0x41cd11+'-'+_0x5b9c77+'/'+_0x2665c5)[_0x6a46('0x21')](_0x10c241);}return null;};}function patchUpdates(_0xdd3476){return function(_0x111256){try{jsonpatch[_0x6a46('0x28')](_0x111256,_0xdd3476,!![]);}catch(_0x5c0265){return BPromise[_0x6a46('0x29')](_0x5c0265);}return _0x111256[_0x6a46('0x2a')]();};}function saveUpdates(_0x155b3d,_0x24cbf6){return function(_0x793fdb){if(_0x793fdb){return _0x793fdb['update'](_0x155b3d)[_0x6a46('0x2b')](function(_0x3c60a4){return _0x3c60a4;});}return null;};}function removeEntity(_0x2a2afb,_0x2e1d7b){return function(_0x54988b){if(_0x54988b){return _0x54988b[_0x6a46('0x2c')]()[_0x6a46('0x2b')](function(){_0x2a2afb[_0x6a46('0x1f')](0xcc)[_0x6a46('0x20')]();});}};}function handleEntityNotFound(_0x4dfab2,_0x1239aa){return function(_0x3005e2){if(!_0x3005e2){_0x4dfab2[_0x6a46('0x1e')](0x194);}return _0x3005e2;};}function handleError(_0x33d369,_0x167f72){_0x167f72=_0x167f72||0x1f4;return function(_0x1c2627){logger['error'](_0x1c2627[_0x6a46('0x2d')]);if(_0x1c2627['name']){delete _0x1c2627[_0x6a46('0x2e')];}_0x33d369[_0x6a46('0x1f')](_0x167f72)[_0x6a46('0x2f')](_0x1c2627);};}exports[_0x6a46('0x30')]=function(_0x15e56e,_0x3dbd7a){var _0x371899={},_0x20534c={},_0x202a8e={'count':0x0,'rows':[]};var _0x580850=_[_0x6a46('0x31')](db[_0x6a46('0x32')]['rawAttributes'],function(_0x3a2687){return{'name':_0x3a2687[_0x6a46('0x33')],'type':_0x3a2687[_0x6a46('0x34')]['key']};});_0x20534c[_0x6a46('0x35')]=_[_0x6a46('0x31')](_0x580850,_0x6a46('0x2e'));_0x20534c[_0x6a46('0x36')]=_[_0x6a46('0x37')](_0x15e56e[_0x6a46('0x36')]);_0x20534c[_0x6a46('0x38')]=_[_0x6a46('0x39')](_0x20534c[_0x6a46('0x35')],_0x20534c[_0x6a46('0x36')]);_0x371899[_0x6a46('0x3a')]=_[_0x6a46('0x39')](_0x20534c[_0x6a46('0x35')],qs[_0x6a46('0x3b')](_0x15e56e[_0x6a46('0x36')][_0x6a46('0x3b')]));_0x371899[_0x6a46('0x3a')]=_0x371899[_0x6a46('0x3a')][_0x6a46('0x3c')]?_0x371899[_0x6a46('0x3a')]:_0x20534c[_0x6a46('0x35')];if(!_0x15e56e[_0x6a46('0x36')][_0x6a46('0x3d')]('nolimit')){_0x371899['limit']=qs[_0x6a46('0x24')](_0x15e56e[_0x6a46('0x36')]['limit']);_0x371899[_0x6a46('0x22')]=qs[_0x6a46('0x22')](_0x15e56e[_0x6a46('0x36')][_0x6a46('0x22')]);}_0x371899[_0x6a46('0x3e')]=qs[_0x6a46('0x3f')](_0x15e56e['query'][_0x6a46('0x3f')]);_0x371899[_0x6a46('0x40')]=qs['filters'](_['pick'](_0x15e56e[_0x6a46('0x36')],_0x20534c[_0x6a46('0x38')]),_0x580850);if(_0x15e56e[_0x6a46('0x36')][_0x6a46('0x41')]){_0x371899[_0x6a46('0x40')]=_[_0x6a46('0x42')](_0x371899[_0x6a46('0x40')],{'$or':_['map'](_0x580850,function(_0x2fc497){if(_0x2fc497['type']!==_0x6a46('0x43')){var _0x11b63a={};_0x11b63a[_0x2fc497['name']]={'$like':'%'+_0x15e56e['query'][_0x6a46('0x41')]+'%'};return _0x11b63a;}})});}_0x371899=_[_0x6a46('0x42')]({},_0x371899,_0x15e56e[_0x6a46('0x44')]);var _0x342150={'where':_0x371899[_0x6a46('0x40')]};return db['UserProfile'][_0x6a46('0x25')](_0x342150)[_0x6a46('0x2b')](function(_0xf104f8){_0x202a8e[_0x6a46('0x25')]=_0xf104f8;if(_0x15e56e[_0x6a46('0x36')][_0x6a46('0x45')]){_0x371899['include']=[{'all':!![]}];}return db[_0x6a46('0x32')][_0x6a46('0x46')](_0x371899);})[_0x6a46('0x2b')](function(_0x139f3c){_0x202a8e[_0x6a46('0x47')]=_0x139f3c;return _0x202a8e;})[_0x6a46('0x2b')](respondWithFilteredResult(_0x3dbd7a,_0x371899))[_0x6a46('0x48')](handleError(_0x3dbd7a,null));};exports[_0x6a46('0x49')]=function(_0x1c8eea,_0x1ccec2){var _0x4772ff={'raw':![],'where':{'id':_0x1c8eea[_0x6a46('0x4a')]['id']}},_0x55b18b={};_0x55b18b[_0x6a46('0x35')]=_[_0x6a46('0x37')](db[_0x6a46('0x32')][_0x6a46('0x4b')]);_0x55b18b[_0x6a46('0x36')]=_[_0x6a46('0x37')](_0x1c8eea[_0x6a46('0x36')]);_0x55b18b[_0x6a46('0x38')]=_[_0x6a46('0x39')](_0x55b18b[_0x6a46('0x35')],_0x55b18b[_0x6a46('0x36')]);_0x4772ff[_0x6a46('0x3a')]=_['intersection'](_0x55b18b['model'],qs[_0x6a46('0x3b')](_0x1c8eea[_0x6a46('0x36')][_0x6a46('0x3b')]));_0x4772ff[_0x6a46('0x3a')]=_0x4772ff[_0x6a46('0x3a')][_0x6a46('0x3c')]?_0x4772ff[_0x6a46('0x3a')]:_0x55b18b['model'];if(_0x1c8eea[_0x6a46('0x36')][_0x6a46('0x45')]){_0x4772ff[_0x6a46('0x4c')]=[{'all':!![]}];}_0x4772ff=_[_0x6a46('0x42')]({},_0x4772ff,_0x1c8eea[_0x6a46('0x44')]);return db['UserProfile'][_0x6a46('0x4d')](_0x4772ff)[_0x6a46('0x2b')](handleEntityNotFound(_0x1ccec2,null))[_0x6a46('0x2b')](respondWithResult(_0x1ccec2,null))[_0x6a46('0x48')](handleError(_0x1ccec2,null));};exports[_0x6a46('0x4e')]=function(_0x2c8a11,_0x14c334){return db[_0x6a46('0x32')][_0x6a46('0x4e')](_0x2c8a11['body'],{})[_0x6a46('0x2b')](respondWithResult(_0x14c334,0xc9))[_0x6a46('0x48')](handleError(_0x14c334,null));};exports[_0x6a46('0x4f')]=function(_0x237fa8,_0x386aa3){var _0x4c0719={'where':{'id':_0x237fa8[_0x6a46('0x4a')]['id']}},_0x145b1f={};_0x145b1f[_0x6a46('0x35')]=_[_0x6a46('0x37')](db[_0x6a46('0x32')]['rawAttributes']);_0x4c0719[_0x6a46('0x3a')]=_[_0x6a46('0x39')](_0x145b1f[_0x6a46('0x35')],qs[_0x6a46('0x3b')](_0x237fa8[_0x6a46('0x36')]['fields']));_0x4c0719[_0x6a46('0x3a')]=_0x4c0719['attributes']['length']?_0x4c0719[_0x6a46('0x3a')]:_0x145b1f[_0x6a46('0x35')];if(_0x237fa8['query'][_0x6a46('0x45')]){_0x4c0719[_0x6a46('0x4c')]=[{'all':!![]}];}_0x4c0719=_[_0x6a46('0x42')]({},_0x4c0719,_0x237fa8[_0x6a46('0x44')]);return db[_0x6a46('0x32')][_0x6a46('0x4d')](_0x4c0719)['then'](handleEntityNotFound(_0x386aa3,null))['then'](function(_0x1a822c){if(_0x1a822c){var _0x4a925b=_0x1a822c['get']({'plain':!![]});_0x4a925b=qs[_0x6a46('0x50')](_0x4a925b,['id',_0x6a46('0x51'),_0x6a46('0x52'),_0x6a46('0x53')]);_0x237fa8[_0x6a46('0x54')]=_[_0x6a46('0x50')](_0x237fa8[_0x6a46('0x54')],['id','createdAt','updatedAt']);return db['sequelize'][_0x6a46('0x55')](function(_0xfd70b3){return db[_0x6a46('0x32')]['create'](_[_0x6a46('0x42')](_0x4a925b,_0x237fa8[_0x6a46('0x54')]),{'include':_0x237fa8[_0x6a46('0x36')]['includeAll']?[{'all':!![]}]:undefined,'transaction':_0xfd70b3})[_0x6a46('0x2b')](function(_0x42ab8b){var _0x3abd97=_0x42ab8b[_0x6a46('0x56')]({'plain':!![]});return db[_0x6a46('0x57')][_0x6a46('0x46')]({'where':{'userProfileId':_0x237fa8[_0x6a46('0x4a')]['id']},'raw':!![]})[_0x6a46('0x2b')](function(_0x3e331c){if(_0x3e331c){return BPromise[_0x6a46('0x58')](_0x3e331c,function(_0x20c35f){return new BPromise(function(_0x232169,_0xb78472){if(_0x20c35f[_0x6a46('0x59')]===null||_0x20c35f[_0x6a46('0x59')]===0x1)_0x232169(null);return db[_0x6a46('0x5a')][_0x6a46('0x46')]({'where':{'sectionId':_0x20c35f['id']},'raw':!![]})[_0x6a46('0x2b')](function(_0x205bbd){var _0x2682d2=_[_0x6a46('0x31')](_0x205bbd,function(_0x5aed2d){return qs[_0x6a46('0x50')](_0x5aed2d,['id',_0x6a46('0x51'),_0x6a46('0x52'),_0x6a46('0x5b')]);});_0x232169(_0x2682d2);})[_0x6a46('0x48')](function(_0xa93c39){_0xb78472(_0xa93c39);});})['then'](function(_0x453583){var _0x110ac3=qs[_0x6a46('0x50')](_0x20c35f,['id',_0x6a46('0x51'),_0x6a46('0x52')]);_0x110ac3[_0x6a46('0x5c')]=_0x3abd97['id'];if(_0x453583)_0x110ac3[_0x6a46('0x5d')]=_0x453583;return _0x110ac3;})[_0x6a46('0x2b')](function(_0x7f3819){return db['UserProfileSection']['create'](_0x7f3819,{'include':[{'model':db[_0x6a46('0x5a')],'as':_0x6a46('0x5d')}],'raw':!![],'transaction':_0xfd70b3});});})['then'](function(){return _0x3abd97;});}});});});}})[_0x6a46('0x2b')](respondWithResult(_0x386aa3,0xc9))[_0x6a46('0x48')](handleError(_0x386aa3,null));};exports['update']=function(_0x4be8a9,_0x494e35){if(_0x4be8a9['body']['id']){delete _0x4be8a9[_0x6a46('0x54')]['id'];}return db[_0x6a46('0x32')][_0x6a46('0x4d')]({'where':{'id':_0x4be8a9[_0x6a46('0x4a')]['id']}})[_0x6a46('0x2b')](handleEntityNotFound(_0x494e35,null))['then'](saveUpdates(_0x4be8a9[_0x6a46('0x54')],null))[_0x6a46('0x2b')](respondWithResult(_0x494e35,null))['catch'](handleError(_0x494e35,null));};exports['destroy']=function(_0x139f62,_0x29c6c3){return db[_0x6a46('0x32')][_0x6a46('0x4d')]({'where':{'id':_0x139f62['params']['id']}})[_0x6a46('0x2b')](handleEntityNotFound(_0x29c6c3,null))[_0x6a46('0x2b')](removeEntity(_0x29c6c3,null))[_0x6a46('0x48')](handleError(_0x29c6c3,null));};exports[_0x6a46('0x5e')]=function(_0x5b5b7f,_0x5590d8){return db[_0x6a46('0x32')]['describe']()[_0x6a46('0x2b')](respondWithResult(_0x5590d8,null))['catch'](handleError(_0x5590d8,null));};exports[_0x6a46('0x5f')]=function(_0xed66a7,_0xfb2235){var _0x567e28=_0xed66a7['body'];return db[_0x6a46('0x32')][_0x6a46('0x4d')]({'where':{'id':_0xed66a7[_0x6a46('0x4a')]['id']}})['then'](handleEntityNotFound(_0xfb2235,null))[_0x6a46('0x2b')](function(_0x265742){if(_0x265742){return db[_0x6a46('0x60')]['transaction'](function(_0x528198){return db[_0x6a46('0x57')]['destroy']({'where':{'userProfileId':_0xed66a7[_0x6a46('0x4a')]['id'],'sectionId':_[_0x6a46('0x31')](_0x567e28,function(_0x51c9d0){return _0x51c9d0[_0x6a46('0x5b')];})},'transaction':_0x528198})[_0x6a46('0x2b')](function(){var _0x182254=_['map'](_0x567e28,function(_0xa80a81){_0xa80a81[_0x6a46('0x5c')]=_0xed66a7[_0x6a46('0x4a')]['id'];return _0xa80a81;});var _0x1d182e=[];return BPromise[_0x6a46('0x58')](_0x182254,function(_0x5a26ab){return db['UserProfileSection'][_0x6a46('0x4e')](_0x5a26ab,{'include':[{'model':db[_0x6a46('0x5a')],'as':_0x6a46('0x5d')}],'raw':!![],'transaction':_0x528198})[_0x6a46('0x2b')](function(_0x37d24e){_0x1d182e[_0x6a46('0x61')](_0x37d24e['get']({'plain':!![]}));});})['then'](function(){return _0x1d182e;});});});}})['then'](function(_0x408fc6){return _0x408fc6;})['then'](respondWithResult(_0xfb2235,null))['catch'](handleError(_0xfb2235,null));};exports['removeSections']=function(_0x414a10,_0x33ed0b){var _0xfbbe79;return db['UserProfile']['find']({'where':{'id':_0x414a10['params']['id']},'attributes':['id',_0x6a46('0x2e')]})['then'](handleEntityNotFound(_0x33ed0b,null))[_0x6a46('0x2b')](function(_0x1de1e8){if(_0x1de1e8){_0xfbbe79=_0x1de1e8;return db[_0x6a46('0x57')][_0x6a46('0x2c')]({'where':{'userProfileId':_0x414a10['params']['id'],'sectionId':_0x414a10[_0x6a46('0x36')][_0x6a46('0x62')]}});}})[_0x6a46('0x2b')](function(){return _0xfbbe79;})['then'](respondWithStatusCode(_0x33ed0b,null))['catch'](handleError(_0x33ed0b,null));};exports[_0x6a46('0x63')]=function(_0x44dd4e,_0x3acc9d){var _0x238b44=[];var _0x271543=[];return db[_0x6a46('0x57')][_0x6a46('0x46')]({'where':{'userProfileId':_0x44dd4e[_0x6a46('0x4a')]['id']},'raw':!![]})['then'](function(_0x4c38f4){_0x238b44=_[_0x6a46('0x41')](_0x4c38f4,function(_0x555ad9){return _0x555ad9[_0x6a46('0x64')]===0x1||_[_0x6a46('0x65')]([0x3eb,0x709],_0x555ad9[_0x6a46('0x5b')]);});if(!_['isEmpty'](_0x238b44)){return _['map'](_0x238b44,function(_0x261688){return _0x261688['sectionId'];});}else{return;}})[_0x6a46('0x2b')](function(_0x3b2dd9){if(_0x3b2dd9)_0x271543=_0x3b2dd9;if(_[_0x6a46('0x65')](_0x271543,0x64)){var _0x5764ec=_[_0x6a46('0x4d')](_0x238b44,{'sectionId':0x64});return hasDefaultDashboard(_0x5764ec)[_0x6a46('0x2b')](function(_0xbe4047){return _[_0x6a46('0x31')](_0x238b44,function(_0x2d8a34){if(_0x2d8a34[_0x6a46('0x5b')]===0x64){_0x2d8a34['subsections']=_0xbe4047;}return _0x2d8a34;});});}else{return;}})[_0x6a46('0x2b')](function(_0x48057c){if(_0x48057c)_0x238b44=_0x48057c;if(_[_0x6a46('0x65')](_0x271543,0x3eb)){var _0x3cf407=_['find'](_0x238b44,{'sectionId':0x3eb});return getCustomDashboards(_0x3cf407)[_0x6a46('0x2b')](function(_0x25040e){return _[_0x6a46('0x31')](_0x238b44,function(_0x5c34e9){if(_0x3cf407[_0x6a46('0x64')]){if(_0x5c34e9[_0x6a46('0x5b')]===0x3eb){_0x5c34e9['subsections']=_0x25040e;}}else{if(_0x5c34e9[_0x6a46('0x5b')]===0x64){if(!_0x5c34e9[_0x6a46('0x66')]){_0x5c34e9[_0x6a46('0x66')]=[];}_0x5c34e9[_0x6a46('0x66')]=_0x5c34e9[_0x6a46('0x66')][_0x6a46('0x67')](_0x25040e);}}return _0x5c34e9;});});}else{return;}})[_0x6a46('0x2b')](function(_0x379b1f){if(_0x379b1f)_0x238b44=_0x379b1f;if(_['includes'](_0x271543,0x709)){var _0x2dda26=_['find'](_0x238b44,{'sectionId':0x709});return getPlugins(_0x2dda26)[_0x6a46('0x2b')](function(_0x47326c){if(_0x2dda26[_0x6a46('0x64')]){return _[_0x6a46('0x31')](_0x238b44,function(_0x5a529a){if(_0x5a529a[_0x6a46('0x5b')]===0x709){_0x5a529a['subsections']=_0x47326c;}return _0x5a529a;});}else{var _0x13f3a2={'sectionId':0x76c,'enabled':0x1,'subsections':_0x47326c};var _0x5beadf=_['map'](_0x238b44);_0x5beadf[_0x6a46('0x61')](_0x13f3a2);return _0x5beadf;}});}else{return;}})[_0x6a46('0x2b')](function(_0x387366){if(_0x387366)_0x238b44=_0x387366;return _[_0x6a46('0x41')](_0x238b44,[_0x6a46('0x64'),0x1]);})[_0x6a46('0x2b')](respondWithResult(_0x3acc9d,null))['catch'](handleError(_0x3acc9d,null));};function hasDefaultDashboard(_0x56ff8c){var _0xa812eb=[0x65];return new BPromise(function(_0x231b0f,_0x18295c){try{if(_0x56ff8c[_0x6a46('0x59')]){_0x231b0f(_0xa812eb);}else{return db[_0x6a46('0x5a')]['findOne']({'where':{'sectionId':_0x56ff8c['id']},'raw':!![]})[_0x6a46('0x2b')](function(_0x29e592){_0x29e592?_0x231b0f(_0xa812eb):_0x231b0f();});}}catch(_0x3b68cf){_0x18295c(_0x3b68cf);}});}function getCustomDashboards(_0x18a902){var _0x370b93=[];return new BPromise(function(_0x2cbdb8,_0x586a53){try{if(_0x18a902[_0x6a46('0x59')]){return db[_0x6a46('0x68')][_0x6a46('0x46')]({'raw':!![]})['then'](function(_0xaa7098){_0xaa7098[_0x6a46('0x69')](function(_0x5b6818){_0x370b93['push'](_0x5b6818['id']+0x1869f);});_0x2cbdb8(_0x370b93);});}else{return db[_0x6a46('0x5a')][_0x6a46('0x46')]({'where':{'sectionId':_0x18a902['id']},'raw':!![]})['then'](function(_0x152a8e){_0x152a8e[_0x6a46('0x69')](function(_0x2ae288){_0x370b93[_0x6a46('0x61')](_0x2ae288[_0x6a46('0x6a')]+0x1869f);});_0x2cbdb8(_0x370b93);});}}catch(_0x23e8d4){_0x586a53(_0x23e8d4);}});}function getPlugins(_0x49ba9d){var _0xede563=[];return new BPromise(function(_0x2f2304,_0x5e356c){try{if(_0x49ba9d[_0x6a46('0x59')]){return db[_0x6a46('0x6b')]['findAll']({'raw':!![]})[_0x6a46('0x2b')](function(_0x20dad4){_0x20dad4['forEach'](function(_0xfd5b38){_0xede563[_0x6a46('0x61')](_0xfd5b38['id']+0x15b38);});_0x2f2304(_0xede563);});}else{return db['UserProfileResource'][_0x6a46('0x46')]({'where':{'sectionId':_0x49ba9d['id']},'raw':!![]})[_0x6a46('0x2b')](function(_0x37c020){_0x37c020['forEach'](function(_0x3fe398){_0xede563[_0x6a46('0x61')](_0x3fe398['resourceId']+0x15b38);});_0x2f2304(_0xede563);});}}catch(_0x3db646){_0x5e356c(_0x3db646);}});}exports['addResources']=function(_0x53f6be,_0x14851a){return db['UserProfile'][_0x6a46('0x4d')]({'where':{'id':_0x53f6be[_0x6a46('0x4a')]['id']}})[_0x6a46('0x2b')](handleEntityNotFound(_0x14851a,null))[_0x6a46('0x2b')](function(_0x1836d3){if(_0x1836d3){return db[_0x6a46('0x60')][_0x6a46('0x55')](function(_0x29646a){return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x53f6be[_0x6a46('0x4a')]['id']},'attributes':['id'],'raw':!![]})[_0x6a46('0x2b')](function(_0x36b310){if(_0x36b310){return db[_0x6a46('0x57')][_0x6a46('0x2c')]({'where':{'userProfileId':_0x53f6be[_0x6a46('0x4a')]['id'],'id':_[_0x6a46('0x31')](_0x36b310,function(_0x11176a){return _0x11176a['id'];})},'transaction':_0x29646a});}})[_0x6a46('0x2b')](function(_0x1932b4){var _0x44485d=_[_0x6a46('0x31')](_0x53f6be['body'],function(_0x316a4d){_0x316a4d[_0x6a46('0x5c')]=_0x53f6be[_0x6a46('0x4a')]['id'];return _0x316a4d;});return db[_0x6a46('0x57')][_0x6a46('0x6c')](_0x44485d,{'raw':!![],'transaction':_0x29646a});})[_0x6a46('0x2b')](function(_0x5c0dc5){var _0x1ff6fa=_[_0x6a46('0x41')](_[_0x6a46('0x31')](_0x5c0dc5,function(_0x8049f4){return _0x8049f4[_0x6a46('0x56')]({'plain':!![]});}),{'includeAll':![]});if(_0x1ff6fa){return db[_0x6a46('0x57')][_0x6a46('0x46')]({'where':{'userProfileId':_0x53f6be[_0x6a46('0x4a')]['id'],'sectionId':_[_0x6a46('0x31')](_0x1ff6fa,function(_0x38636e){return _0x38636e['sectionId'];})},'attributes':['id','sectionId'],'raw':!![]})['then'](function(_0xef90b3){var _0x142a2b=_[_0x6a46('0x31')](_0x53f6be[_0x6a46('0x54')],function(_0x55c299){_0x55c299[_0x6a46('0x5c')]=_0x53f6be['params']['id'];return _0x55c299;});return db[_0x6a46('0x5a')][_0x6a46('0x6c')](_0x142a2b,{'raw':!![],'transaction':_0x29646a});});}})[_0x6a46('0x48')](handleError(_0x14851a,null));});}})[_0x6a46('0x2b')](function(_0x30e8e3){var _0x37ff63=_[_0x6a46('0x31')](_0x30e8e3,function(_0x5a6794){return _0x5a6794[_0x6a46('0x56')]({'plain':!![]});});})[_0x6a46('0x2b')](respondWithResult(_0x14851a,null))[_0x6a46('0x48')](handleError(_0x14851a,null));};exports[_0x6a46('0x6d')]=function(_0xbe4163,_0x38e716,_0x1b5fbc){return db[_0x6a46('0x32')][_0x6a46('0x4d')]({'where':{'id':_0xbe4163['params']['id']}})[_0x6a46('0x2b')](handleEntityNotFound(_0x38e716,null))['then'](function(_0x590498){if(_0x590498){return _0x590498[_0x6a46('0x6d')](_0xbe4163['query'][_0x6a46('0x62')]);}})[_0x6a46('0x2b')](respondWithStatusCode(_0x38e716,null))['catch'](handleError(_0x38e716,null));};exports['getResources']=function(_0x1a2066,_0x5cd91f){var _0x3fe764={};if(!_0x1a2066[_0x6a46('0x36')][_0x6a46('0x6e')])throw new Error(_0x6a46('0x6f'));if(!_0x1a2066['query'][_0x6a46('0x3d')](_0x6a46('0x70'))){_0x3fe764['limit']=qs[_0x6a46('0x24')](_0x1a2066[_0x6a46('0x36')][_0x6a46('0x24')]);_0x3fe764[_0x6a46('0x22')]=qs[_0x6a46('0x22')](_0x1a2066['query']['offset']);}return db[_0x6a46('0x32')][_0x6a46('0x4d')]({'where':{'id':_0x1a2066['params']['id']}})['then'](function(_0x4b06a6){if(!_0x4b06a6)throw new Error(_0x6a46('0x71')+_0x1a2066[_0x6a46('0x4a')]['id']);return db[_0x6a46('0x32')]['getResources'](_0x1a2066);})[_0x6a46('0x2b')](respondWithFilteredResult(_0x5cd91f,_0x3fe764))[_0x6a46('0x48')](handleError(_0x5cd91f,null));};