e8459bc2a43157cd848e4fd0db1480c9cd7c6db7
[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 _0xfef9=['to-csv','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','./userProfile.socket','register','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','save','then','destroy','stack','map','UserProfile','fieldName','type','key','model','query','keys','filters','intersection','attributes','length','hasOwnProperty','sort','where','pick','merge','VIRTUAL','name','filter','options','includeAll','findAll','catch','show','params','rawAttributes','fields','include','find','create','body','clone','get','omit','createdAt','updatedAt','sequelize','transaction','UserProfileSection','each','autoAssociation','sectionId','userProfileId','Resources','UserProfileResource','update','describe','addSections','push','removeSections','ids','enabled','includes','isEmpty','subsections','findOne','Dashboard','forEach','Plugin','bulkCreate','getResources','section','Missing\x20section\x20parameter','No\x20User\x20Profile\x20found\x20for\x20id\x20','eml-format','rimraf','fast-json-patch','request-promise','bluebird','util','sox'];(function(_0x43f363,_0x26c556){var _0x2be6f8=function(_0x48f07f){while(--_0x48f07f){_0x43f363['push'](_0x43f363['shift']());}};_0x2be6f8(++_0x26c556);}(_0xfef9,0xd3));var _0x9fef=function(_0xfec4f2,_0x27b2aa){_0xfec4f2=_0xfec4f2-0x0;var _0x4ee052=_0xfef9[_0xfec4f2];return _0x4ee052;};'use strict';var emlformat=require(_0x9fef('0x0'));var rimraf=require(_0x9fef('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x9fef('0x2'));var rp=require(_0x9fef('0x3'));var moment=require('moment');var BPromise=require(_0x9fef('0x4'));var Mustache=require('mustache');var util=require(_0x9fef('0x5'));var path=require('path');var sox=require(_0x9fef('0x6'));var csv=require(_0x9fef('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x9fef('0x8'));var _=require(_0x9fef('0x9'));var squel=require('squel');var crypto=require(_0x9fef('0xa'));var jsforce=require(_0x9fef('0xb'));var deskjs=require(_0x9fef('0xc'));var toCsv=require('to-csv');var querystring=require(_0x9fef('0xd'));var Papa=require(_0x9fef('0xe'));var Redis=require(_0x9fef('0xf'));var authService=require('../../components/auth/service');var qs=require(_0x9fef('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x9fef('0x11'));var logger=require(_0x9fef('0x12'))(_0x9fef('0x13'));var utils=require(_0x9fef('0x14'));var config=require(_0x9fef('0x15'));var licenseUtil=require(_0x9fef('0x16'));var db=require(_0x9fef('0x17'))['db'];config['redis']=_[_0x9fef('0x18')](config[_0x9fef('0x19')],{'host':_0x9fef('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x9fef('0x19')]));require(_0x9fef('0x1b'))[_0x9fef('0x1c')](socket);function respondWithStatusCode(_0x2905c9,_0x39a99e){_0x39a99e=_0x39a99e||0xcc;return function(_0x548b02){if(_0x548b02){return _0x2905c9[_0x9fef('0x1d')](_0x39a99e);}return _0x2905c9['status'](_0x39a99e)[_0x9fef('0x1e')]();};}function respondWithResult(_0x47bc6a,_0x2a3fb6){_0x2a3fb6=_0x2a3fb6||0xc8;return function(_0x43017a){if(_0x43017a){return _0x47bc6a[_0x9fef('0x1f')](_0x2a3fb6)[_0x9fef('0x20')](_0x43017a);}};}function respondWithFilteredResult(_0x1a5e8c,_0x20eb7a){return function(_0x488cdb){if(_0x488cdb){var _0xa54b46=typeof _0x20eb7a[_0x9fef('0x21')]===_0x9fef('0x22')&&typeof _0x20eb7a[_0x9fef('0x23')]==='undefined';var _0x3606ab=_0x488cdb[_0x9fef('0x24')];var _0x1089e6=_0xa54b46?0x0:_0x20eb7a[_0x9fef('0x21')];var _0x4072eb=_0xa54b46?_0x488cdb[_0x9fef('0x24')]:_0x20eb7a['offset']+_0x20eb7a[_0x9fef('0x23')];var _0x68b1ab;if(_0x4072eb>=_0x3606ab){_0x4072eb=_0x3606ab;_0x68b1ab=0xc8;}else{_0x68b1ab=0xce;}_0x1a5e8c[_0x9fef('0x1f')](_0x68b1ab);return _0x1a5e8c[_0x9fef('0x25')](_0x9fef('0x26'),_0x1089e6+'-'+_0x4072eb+'/'+_0x3606ab)[_0x9fef('0x20')](_0x488cdb);}return null;};}function patchUpdates(_0xea3fec){return function(_0x3f5c97){try{jsonpatch[_0x9fef('0x27')](_0x3f5c97,_0xea3fec,!![]);}catch(_0x2d116b){return BPromise['reject'](_0x2d116b);}return _0x3f5c97[_0x9fef('0x28')]();};}function saveUpdates(_0x217a81,_0x20f56a){return function(_0x4cf4ec){if(_0x4cf4ec){return _0x4cf4ec['update'](_0x217a81)[_0x9fef('0x29')](function(_0x3c1108){return _0x3c1108;});}return null;};}function removeEntity(_0x2965db,_0x3bff2c){return function(_0x2787c4){if(_0x2787c4){return _0x2787c4[_0x9fef('0x2a')]()[_0x9fef('0x29')](function(){_0x2965db['status'](0xcc)[_0x9fef('0x1e')]();});}};}function handleEntityNotFound(_0x51ec28,_0x55ef3e){return function(_0x28843f){if(!_0x28843f){_0x51ec28[_0x9fef('0x1d')](0x194);}return _0x28843f;};}function handleError(_0x5dbc6f,_0x17fe34){_0x17fe34=_0x17fe34||0x1f4;return function(_0x4ed4db){logger['error'](_0x4ed4db[_0x9fef('0x2b')]);if(_0x4ed4db['name']){delete _0x4ed4db['name'];}_0x5dbc6f['status'](_0x17fe34)['send'](_0x4ed4db);};}exports['index']=function(_0x288dae,_0x30e894){var _0x2570c1={},_0x8fa728={},_0x95499f={'count':0x0,'rows':[]};var _0xbe1d5d=_[_0x9fef('0x2c')](db[_0x9fef('0x2d')]['rawAttributes'],function(_0x497d4d){return{'name':_0x497d4d[_0x9fef('0x2e')],'type':_0x497d4d[_0x9fef('0x2f')][_0x9fef('0x30')]};});_0x8fa728[_0x9fef('0x31')]=_[_0x9fef('0x2c')](_0xbe1d5d,'name');_0x8fa728[_0x9fef('0x32')]=_[_0x9fef('0x33')](_0x288dae['query']);_0x8fa728[_0x9fef('0x34')]=_[_0x9fef('0x35')](_0x8fa728[_0x9fef('0x31')],_0x8fa728[_0x9fef('0x32')]);_0x2570c1[_0x9fef('0x36')]=_[_0x9fef('0x35')](_0x8fa728['model'],qs['fields'](_0x288dae['query']['fields']));_0x2570c1[_0x9fef('0x36')]=_0x2570c1[_0x9fef('0x36')][_0x9fef('0x37')]?_0x2570c1[_0x9fef('0x36')]:_0x8fa728[_0x9fef('0x31')];if(!_0x288dae[_0x9fef('0x32')][_0x9fef('0x38')]('nolimit')){_0x2570c1['limit']=qs[_0x9fef('0x23')](_0x288dae['query']['limit']);_0x2570c1[_0x9fef('0x21')]=qs['offset'](_0x288dae[_0x9fef('0x32')][_0x9fef('0x21')]);}_0x2570c1['order']=qs['sort'](_0x288dae[_0x9fef('0x32')][_0x9fef('0x39')]);_0x2570c1[_0x9fef('0x3a')]=qs['filters'](_[_0x9fef('0x3b')](_0x288dae[_0x9fef('0x32')],_0x8fa728[_0x9fef('0x34')]),_0xbe1d5d);if(_0x288dae['query']['filter']){_0x2570c1[_0x9fef('0x3a')]=_[_0x9fef('0x3c')](_0x2570c1[_0x9fef('0x3a')],{'$or':_[_0x9fef('0x2c')](_0xbe1d5d,function(_0x521bba){if(_0x521bba[_0x9fef('0x2f')]!==_0x9fef('0x3d')){var _0x37ae2f={};_0x37ae2f[_0x521bba[_0x9fef('0x3e')]]={'$like':'%'+_0x288dae['query'][_0x9fef('0x3f')]+'%'};return _0x37ae2f;}})});}_0x2570c1=_['merge']({},_0x2570c1,_0x288dae[_0x9fef('0x40')]);var _0x548247={'where':_0x2570c1[_0x9fef('0x3a')]};return db['UserProfile'][_0x9fef('0x24')](_0x548247)[_0x9fef('0x29')](function(_0x47438b){_0x95499f[_0x9fef('0x24')]=_0x47438b;if(_0x288dae[_0x9fef('0x32')][_0x9fef('0x41')]){_0x2570c1['include']=[{'all':!![]}];}return db[_0x9fef('0x2d')][_0x9fef('0x42')](_0x2570c1);})[_0x9fef('0x29')](function(_0x1a64e0){_0x95499f['rows']=_0x1a64e0;return _0x95499f;})[_0x9fef('0x29')](respondWithFilteredResult(_0x30e894,_0x2570c1))[_0x9fef('0x43')](handleError(_0x30e894,null));};exports[_0x9fef('0x44')]=function(_0xef8864,_0xbca783){var _0x267787={'raw':![],'where':{'id':_0xef8864[_0x9fef('0x45')]['id']}},_0x51c438={};_0x51c438['model']=_['keys'](db[_0x9fef('0x2d')][_0x9fef('0x46')]);_0x51c438[_0x9fef('0x32')]=_['keys'](_0xef8864['query']);_0x51c438[_0x9fef('0x34')]=_['intersection'](_0x51c438[_0x9fef('0x31')],_0x51c438[_0x9fef('0x32')]);_0x267787[_0x9fef('0x36')]=_[_0x9fef('0x35')](_0x51c438['model'],qs['fields'](_0xef8864[_0x9fef('0x32')][_0x9fef('0x47')]));_0x267787[_0x9fef('0x36')]=_0x267787[_0x9fef('0x36')][_0x9fef('0x37')]?_0x267787[_0x9fef('0x36')]:_0x51c438['model'];if(_0xef8864[_0x9fef('0x32')][_0x9fef('0x41')]){_0x267787[_0x9fef('0x48')]=[{'all':!![]}];}_0x267787=_[_0x9fef('0x3c')]({},_0x267787,_0xef8864[_0x9fef('0x40')]);return db[_0x9fef('0x2d')][_0x9fef('0x49')](_0x267787)['then'](handleEntityNotFound(_0xbca783,null))[_0x9fef('0x29')](respondWithResult(_0xbca783,null))['catch'](handleError(_0xbca783,null));};exports[_0x9fef('0x4a')]=function(_0x50d978,_0x173acc){return db[_0x9fef('0x2d')]['create'](_0x50d978[_0x9fef('0x4b')],{})[_0x9fef('0x29')](respondWithResult(_0x173acc,0xc9))[_0x9fef('0x43')](handleError(_0x173acc,null));};exports[_0x9fef('0x4c')]=function(_0x2bc393,_0x18cbfd){var _0x58b379={'where':{'id':_0x2bc393['params']['id']}},_0x37b728={};_0x37b728[_0x9fef('0x31')]=_[_0x9fef('0x33')](db['UserProfile'][_0x9fef('0x46')]);_0x58b379['attributes']=_['intersection'](_0x37b728[_0x9fef('0x31')],qs[_0x9fef('0x47')](_0x2bc393[_0x9fef('0x32')][_0x9fef('0x47')]));_0x58b379[_0x9fef('0x36')]=_0x58b379[_0x9fef('0x36')][_0x9fef('0x37')]?_0x58b379[_0x9fef('0x36')]:_0x37b728[_0x9fef('0x31')];if(_0x2bc393['query'][_0x9fef('0x41')]){_0x58b379[_0x9fef('0x48')]=[{'all':!![]}];}_0x58b379=_[_0x9fef('0x3c')]({},_0x58b379,_0x2bc393[_0x9fef('0x40')]);return db[_0x9fef('0x2d')][_0x9fef('0x49')](_0x58b379)[_0x9fef('0x29')](handleEntityNotFound(_0x18cbfd,null))[_0x9fef('0x29')](function(_0x49838d){if(_0x49838d){var _0x4b2e13=_0x49838d[_0x9fef('0x4d')]({'plain':!![]});_0x4b2e13=qs[_0x9fef('0x4e')](_0x4b2e13,['id',_0x9fef('0x4f'),_0x9fef('0x50'),'crudPermissions']);_0x2bc393[_0x9fef('0x4b')]=_[_0x9fef('0x4e')](_0x2bc393[_0x9fef('0x4b')],['id',_0x9fef('0x4f'),_0x9fef('0x50')]);return db[_0x9fef('0x51')][_0x9fef('0x52')](function(_0x33fabd){return db[_0x9fef('0x2d')][_0x9fef('0x4a')](_['merge'](_0x4b2e13,_0x2bc393[_0x9fef('0x4b')]),{'include':_0x2bc393['query'][_0x9fef('0x41')]?[{'all':!![]}]:undefined,'transaction':_0x33fabd})['then'](function(_0x2ec458){var _0x59a55d=_0x2ec458[_0x9fef('0x4d')]({'plain':!![]});return db[_0x9fef('0x53')]['findAll']({'where':{'userProfileId':_0x2bc393[_0x9fef('0x45')]['id']},'raw':!![]})[_0x9fef('0x29')](function(_0x3d5351){if(_0x3d5351){return BPromise[_0x9fef('0x54')](_0x3d5351,function(_0x559e44){return new BPromise(function(_0x1e7457,_0x3d3bc6){if(_0x559e44[_0x9fef('0x55')]===null||_0x559e44[_0x9fef('0x55')]===0x1)_0x1e7457(null);return db['UserProfileResource'][_0x9fef('0x42')]({'where':{'sectionId':_0x559e44['id']},'raw':!![]})['then'](function(_0x166ddc){var _0x28f458=_[_0x9fef('0x2c')](_0x166ddc,function(_0x2117ec){return qs[_0x9fef('0x4e')](_0x2117ec,['id','createdAt',_0x9fef('0x50'),_0x9fef('0x56')]);});_0x1e7457(_0x28f458);})[_0x9fef('0x43')](function(_0x20c420){_0x3d3bc6(_0x20c420);});})[_0x9fef('0x29')](function(_0x2deb20){var _0x4267fa=qs[_0x9fef('0x4e')](_0x559e44,['id','createdAt',_0x9fef('0x50')]);_0x4267fa[_0x9fef('0x57')]=_0x59a55d['id'];if(_0x2deb20)_0x4267fa[_0x9fef('0x58')]=_0x2deb20;return _0x4267fa;})[_0x9fef('0x29')](function(_0x4a8282){return db[_0x9fef('0x53')]['create'](_0x4a8282,{'include':[{'model':db[_0x9fef('0x59')],'as':_0x9fef('0x58')}],'raw':!![],'transaction':_0x33fabd});});})[_0x9fef('0x29')](function(){return _0x59a55d;});}});});});}})['then'](respondWithResult(_0x18cbfd,0xc9))[_0x9fef('0x43')](handleError(_0x18cbfd,null));};exports[_0x9fef('0x5a')]=function(_0x20802e,_0x493a8d){if(_0x20802e[_0x9fef('0x4b')]['id']){delete _0x20802e[_0x9fef('0x4b')]['id'];}return db['UserProfile']['find']({'where':{'id':_0x20802e['params']['id']}})['then'](handleEntityNotFound(_0x493a8d,null))[_0x9fef('0x29')](saveUpdates(_0x20802e[_0x9fef('0x4b')],null))[_0x9fef('0x29')](respondWithResult(_0x493a8d,null))[_0x9fef('0x43')](handleError(_0x493a8d,null));};exports['destroy']=function(_0x3539e1,_0x42e1d1){return db['UserProfile'][_0x9fef('0x49')]({'where':{'id':_0x3539e1['params']['id']}})['then'](handleEntityNotFound(_0x42e1d1,null))['then'](removeEntity(_0x42e1d1,null))[_0x9fef('0x43')](handleError(_0x42e1d1,null));};exports[_0x9fef('0x5b')]=function(_0x30ff37,_0x255f9c){return db[_0x9fef('0x2d')][_0x9fef('0x5b')]()[_0x9fef('0x29')](respondWithResult(_0x255f9c,null))[_0x9fef('0x43')](handleError(_0x255f9c,null));};exports[_0x9fef('0x5c')]=function(_0x2d032f,_0x2e6005){var _0x232860=_0x2d032f[_0x9fef('0x4b')];return db[_0x9fef('0x2d')][_0x9fef('0x49')]({'where':{'id':_0x2d032f[_0x9fef('0x45')]['id']}})[_0x9fef('0x29')](handleEntityNotFound(_0x2e6005,null))[_0x9fef('0x29')](function(_0xcaf30f){if(_0xcaf30f){return db[_0x9fef('0x51')][_0x9fef('0x52')](function(_0x53a687){return db[_0x9fef('0x53')]['destroy']({'where':{'userProfileId':_0x2d032f[_0x9fef('0x45')]['id'],'sectionId':_[_0x9fef('0x2c')](_0x232860,function(_0x36f6fc){return _0x36f6fc[_0x9fef('0x56')];})},'transaction':_0x53a687})[_0x9fef('0x29')](function(){var _0x31b814=_['map'](_0x232860,function(_0x4e87fc){_0x4e87fc[_0x9fef('0x57')]=_0x2d032f[_0x9fef('0x45')]['id'];return _0x4e87fc;});var _0x51fae8=[];return BPromise[_0x9fef('0x54')](_0x31b814,function(_0x1b55eb){return db[_0x9fef('0x53')][_0x9fef('0x4a')](_0x1b55eb,{'include':[{'model':db[_0x9fef('0x59')],'as':_0x9fef('0x58')}],'raw':!![],'transaction':_0x53a687})[_0x9fef('0x29')](function(_0x3bab5d){_0x51fae8[_0x9fef('0x5d')](_0x3bab5d[_0x9fef('0x4d')]({'plain':!![]}));});})[_0x9fef('0x29')](function(){return _0x51fae8;});});});}})[_0x9fef('0x29')](function(_0x9f8c45){return _0x9f8c45;})[_0x9fef('0x29')](respondWithResult(_0x2e6005,null))[_0x9fef('0x43')](handleError(_0x2e6005,null));};exports[_0x9fef('0x5e')]=function(_0x5abc27,_0x30d750){var _0x284eb6;return db[_0x9fef('0x2d')]['find']({'where':{'id':_0x5abc27[_0x9fef('0x45')]['id']},'attributes':['id','name']})[_0x9fef('0x29')](handleEntityNotFound(_0x30d750,null))['then'](function(_0x166eed){if(_0x166eed){_0x284eb6=_0x166eed;return db[_0x9fef('0x53')][_0x9fef('0x2a')]({'where':{'userProfileId':_0x5abc27[_0x9fef('0x45')]['id'],'sectionId':_0x5abc27[_0x9fef('0x32')][_0x9fef('0x5f')]}});}})[_0x9fef('0x29')](function(){return _0x284eb6;})[_0x9fef('0x29')](respondWithStatusCode(_0x30d750,null))[_0x9fef('0x43')](handleError(_0x30d750,null));};exports['getSections']=function(_0x5e0df2,_0xaf36){var _0x3702e1=[];var _0x10a9ed=[];return db[_0x9fef('0x53')][_0x9fef('0x42')]({'where':{'userProfileId':_0x5e0df2[_0x9fef('0x45')]['id']},'raw':!![]})[_0x9fef('0x29')](function(_0x408374){_0x3702e1=_['filter'](_0x408374,function(_0x4c9361){return _0x4c9361[_0x9fef('0x60')]===0x1||_[_0x9fef('0x61')]([0x3eb,0x709],_0x4c9361[_0x9fef('0x56')]);});if(!_[_0x9fef('0x62')](_0x3702e1)){return _[_0x9fef('0x2c')](_0x3702e1,function(_0x248690){return _0x248690[_0x9fef('0x56')];});}else{return;}})[_0x9fef('0x29')](function(_0x5c5b44){if(_0x5c5b44)_0x10a9ed=_0x5c5b44;if(_[_0x9fef('0x61')](_0x10a9ed,0x64)){var _0x1c680b=_[_0x9fef('0x49')](_0x3702e1,{'sectionId':0x64});return hasDefaultDashboard(_0x1c680b)[_0x9fef('0x29')](function(_0x59c202){return _['map'](_0x3702e1,function(_0x1cf070){if(_0x1cf070[_0x9fef('0x56')]===0x64){_0x1cf070[_0x9fef('0x63')]=_0x59c202;}return _0x1cf070;});});}else{return;}})[_0x9fef('0x29')](function(_0x142f7f){if(_0x142f7f)_0x3702e1=_0x142f7f;if(_[_0x9fef('0x61')](_0x10a9ed,0x3eb)){var _0x353673=_[_0x9fef('0x49')](_0x3702e1,{'sectionId':0x3eb});return getCustomDashboards(_0x353673)['then'](function(_0xa524b3){return _[_0x9fef('0x2c')](_0x3702e1,function(_0xe9fe91){if(_0x353673[_0x9fef('0x60')]){if(_0xe9fe91[_0x9fef('0x56')]===0x3eb){_0xe9fe91[_0x9fef('0x63')]=_0xa524b3;}}else{if(_0xe9fe91[_0x9fef('0x56')]===0x64){_0xe9fe91[_0x9fef('0x63')]=_0xa524b3;}}return _0xe9fe91;});});}else{return;}})[_0x9fef('0x29')](function(_0x1f0319){if(_0x1f0319)_0x3702e1=_0x1f0319;if(_['includes'](_0x10a9ed,0x709)){var _0xedccc3=_[_0x9fef('0x49')](_0x3702e1,{'sectionId':0x709});return getPlugins(_0xedccc3)[_0x9fef('0x29')](function(_0x2b8bb8){if(_0xedccc3[_0x9fef('0x60')]){return _[_0x9fef('0x2c')](_0x3702e1,function(_0x31bdf2){if(_0x31bdf2[_0x9fef('0x56')]===0x709){_0x31bdf2['subsections']=_0x2b8bb8;}return _0x31bdf2;});}else{var _0x59b898={'sectionId':0x76c,'enabled':0x1,'subsections':_0x2b8bb8};var _0x22cf1b=_[_0x9fef('0x2c')](_0x3702e1);_0x22cf1b[_0x9fef('0x5d')](_0x59b898);return _0x22cf1b;}});}else{return;}})[_0x9fef('0x29')](function(_0x26d930){if(_0x26d930)_0x3702e1=_0x26d930;return _[_0x9fef('0x3f')](_0x3702e1,[_0x9fef('0x60'),0x1]);})[_0x9fef('0x29')](respondWithResult(_0xaf36,null))[_0x9fef('0x43')](handleError(_0xaf36,null));};function hasDefaultDashboard(_0x51b843){var _0x11b954=[0x65];return new BPromise(function(_0x58a62f,_0x129a19){try{if(_0x51b843[_0x9fef('0x55')]){_0x58a62f(_0x11b954);}else{return db[_0x9fef('0x59')][_0x9fef('0x64')]({'where':{'sectionId':_0x51b843['id']},'raw':!![]})[_0x9fef('0x29')](function(_0xe1ab9d){_0xe1ab9d?_0x58a62f(_0x11b954):_0x58a62f();});}}catch(_0x1b389e){_0x129a19(_0x1b389e);}});}function getCustomDashboards(_0x550b45){var _0x32633a=[];return new BPromise(function(_0x3a50dc,_0x1f7bd2){try{if(_0x550b45[_0x9fef('0x55')]){return db[_0x9fef('0x65')][_0x9fef('0x42')]({'raw':!![]})[_0x9fef('0x29')](function(_0x56d2ca){_0x56d2ca[_0x9fef('0x66')](function(_0x3b22e1){_0x32633a[_0x9fef('0x5d')](_0x3b22e1['id']+0x1869f);});_0x3a50dc(_0x32633a);});}else{return db[_0x9fef('0x59')]['findAll']({'where':{'sectionId':_0x550b45['id']},'raw':!![]})[_0x9fef('0x29')](function(_0xaeedf7){_0xaeedf7[_0x9fef('0x66')](function(_0x323794){_0x32633a[_0x9fef('0x5d')](_0x323794['resourceId']+0x1869f);});_0x3a50dc(_0x32633a);});}}catch(_0x5132a1){_0x1f7bd2(_0x5132a1);}});}function getPlugins(_0x8c9539){var _0x5df5b9=[];return new BPromise(function(_0x576258,_0x1e4457){try{if(_0x8c9539[_0x9fef('0x55')]){return db[_0x9fef('0x67')][_0x9fef('0x42')]({'raw':!![]})[_0x9fef('0x29')](function(_0xa2a393){_0xa2a393['forEach'](function(_0x279535){_0x5df5b9[_0x9fef('0x5d')](_0x279535['id']+0x15b38);});_0x576258(_0x5df5b9);});}else{return db[_0x9fef('0x59')][_0x9fef('0x42')]({'where':{'sectionId':_0x8c9539['id']},'raw':!![]})[_0x9fef('0x29')](function(_0x51b2f5){_0x51b2f5[_0x9fef('0x66')](function(_0x208e33){_0x5df5b9[_0x9fef('0x5d')](_0x208e33['resourceId']+0x15b38);});_0x576258(_0x5df5b9);});}}catch(_0x38b37a){_0x1e4457(_0x38b37a);}});}exports['addResources']=function(_0x942700,_0x53c762){return db['UserProfile'][_0x9fef('0x49')]({'where':{'id':_0x942700[_0x9fef('0x45')]['id']}})[_0x9fef('0x29')](handleEntityNotFound(_0x53c762,null))[_0x9fef('0x29')](function(_0x1b9617){if(_0x1b9617){return db['sequelize'][_0x9fef('0x52')](function(_0x2bec91){return db[_0x9fef('0x53')][_0x9fef('0x42')]({'where':{'userProfileId':_0x942700[_0x9fef('0x45')]['id']},'attributes':['id'],'raw':!![]})[_0x9fef('0x29')](function(_0x284c2d){if(_0x284c2d){return db['UserProfileSection'][_0x9fef('0x2a')]({'where':{'userProfileId':_0x942700[_0x9fef('0x45')]['id'],'id':_['map'](_0x284c2d,function(_0x126f05){return _0x126f05['id'];})},'transaction':_0x2bec91});}})[_0x9fef('0x29')](function(_0x1a4e11){var _0x3456d1=_['map'](_0x942700[_0x9fef('0x4b')],function(_0x382e6c){_0x382e6c[_0x9fef('0x57')]=_0x942700[_0x9fef('0x45')]['id'];return _0x382e6c;});return db['UserProfileSection']['bulkCreate'](_0x3456d1,{'raw':!![],'transaction':_0x2bec91});})[_0x9fef('0x29')](function(_0x269952){var _0x2ae77d=_[_0x9fef('0x3f')](_['map'](_0x269952,function(_0x4f3a0f){return _0x4f3a0f['get']({'plain':!![]});}),{'includeAll':![]});if(_0x2ae77d){return db['UserProfileSection'][_0x9fef('0x42')]({'where':{'userProfileId':_0x942700['params']['id'],'sectionId':_[_0x9fef('0x2c')](_0x2ae77d,function(_0x2a7489){return _0x2a7489['sectionId'];})},'attributes':['id',_0x9fef('0x56')],'raw':!![]})[_0x9fef('0x29')](function(_0x36ee3a){var _0x4492a4=_[_0x9fef('0x2c')](_0x942700[_0x9fef('0x4b')],function(_0x816e43){_0x816e43[_0x9fef('0x57')]=_0x942700['params']['id'];return _0x816e43;});return db['UserProfileResource'][_0x9fef('0x68')](_0x4492a4,{'raw':!![],'transaction':_0x2bec91});});}})['catch'](handleError(_0x53c762,null));});}})[_0x9fef('0x29')](function(_0x4a0abd){var _0x39d308=_[_0x9fef('0x2c')](_0x4a0abd,function(_0x17f81c){return _0x17f81c['get']({'plain':!![]});});})[_0x9fef('0x29')](respondWithResult(_0x53c762,null))[_0x9fef('0x43')](handleError(_0x53c762,null));};exports['removeResources']=function(_0x2e3db4,_0x3a989b,_0x5edc38){return db[_0x9fef('0x2d')]['find']({'where':{'id':_0x2e3db4['params']['id']}})[_0x9fef('0x29')](handleEntityNotFound(_0x3a989b,null))['then'](function(_0x2d61ea){if(_0x2d61ea){return _0x2d61ea['removeResources'](_0x2e3db4['query'][_0x9fef('0x5f')]);}})['then'](respondWithStatusCode(_0x3a989b,null))['catch'](handleError(_0x3a989b,null));};exports[_0x9fef('0x69')]=function(_0x2e4fb2,_0x5546f4){var _0x55f1cb={};if(!_0x2e4fb2[_0x9fef('0x32')][_0x9fef('0x6a')])throw new Error(_0x9fef('0x6b'));if(!_0x2e4fb2[_0x9fef('0x32')]['hasOwnProperty']('nolimit')){_0x55f1cb['limit']=qs['limit'](_0x2e4fb2[_0x9fef('0x32')][_0x9fef('0x23')]);_0x55f1cb[_0x9fef('0x21')]=qs[_0x9fef('0x21')](_0x2e4fb2[_0x9fef('0x32')][_0x9fef('0x21')]);}return db[_0x9fef('0x2d')][_0x9fef('0x49')]({'where':{'id':_0x2e4fb2['params']['id']}})[_0x9fef('0x29')](function(_0xb1f849){if(!_0xb1f849)throw new Error(_0x9fef('0x6c')+_0x2e4fb2[_0x9fef('0x45')]['id']);return db[_0x9fef('0x2d')][_0x9fef('0x69')](_0x2e4fb2);})['then'](respondWithFilteredResult(_0x5546f4,_0x55f1cb))['catch'](handleError(_0x5546f4,null));};