Built motion from commit d1eab355.|2.6.28
[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 _0x8a93=['forEach','resourceId','Plugin','bulkCreate','removeResources','section','nolimit','No\x20User\x20Profile\x20found\x20for\x20id\x20','getResources','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','crypto','jsforce','desk.js','to-csv','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./userProfile.socket','register','sendStatus','end','status','json','undefined','limit','count','offset','Content-Range','apply','save','update','then','error','stack','name','send','index','map','UserProfile','key','keys','query','intersection','attributes','fields','length','model','hasOwnProperty','order','sort','where','filters','pick','filter','merge','type','VIRTUAL','options','include','findAll','rows','catch','show','params','rawAttributes','includeAll','find','create','body','clone','get','omit','createdAt','updatedAt','sequelize','UserProfileSection','each','autoAssociation','UserProfileResource','sectionId','Resources','destroy','describe','userProfileId','removeSections','ids','getSections','enabled','includes','subsections','concat','push','Dashboard'];(function(_0x36eaaa,_0x326732){var _0x461349=function(_0x4e4180){while(--_0x4e4180){_0x36eaaa['push'](_0x36eaaa['shift']());}};_0x461349(++_0x326732);}(_0x8a93,0x156));var _0x38a9=function(_0x55a777,_0x2c95f7){_0x55a777=_0x55a777-0x0;var _0x8ca6a1=_0x8a93[_0x55a777];return _0x8ca6a1;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x38a9('0x0'));var jsonpatch=require(_0x38a9('0x1'));var rp=require(_0x38a9('0x2'));var moment=require('moment');var BPromise=require(_0x38a9('0x3'));var Mustache=require(_0x38a9('0x4'));var util=require(_0x38a9('0x5'));var path=require(_0x38a9('0x6'));var sox=require('sox');var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require('squel');var crypto=require(_0x38a9('0x7'));var jsforce=require(_0x38a9('0x8'));var deskjs=require(_0x38a9('0x9'));var toCsv=require(_0x38a9('0xa'));var querystring=require(_0x38a9('0xb'));var Papa=require('papaparse');var Redis=require(_0x38a9('0xc'));var authService=require(_0x38a9('0xd'));var qs=require(_0x38a9('0xe'));var as=require(_0x38a9('0xf'));var hardwareService=require(_0x38a9('0x10'));var logger=require(_0x38a9('0x11'))(_0x38a9('0x12'));var utils=require('../../config/utils');var config=require(_0x38a9('0x13'));var licenseUtil=require(_0x38a9('0x14'));var db=require(_0x38a9('0x15'))['db'];config[_0x38a9('0x16')]=_[_0x38a9('0x17')](config['redis'],{'host':_0x38a9('0x18'),'port':0x18eb});var socket=require(_0x38a9('0x19'))(new Redis(config[_0x38a9('0x16')]));require(_0x38a9('0x1a'))[_0x38a9('0x1b')](socket);function respondWithStatusCode(_0x1916c7,_0xa2e7a5){_0xa2e7a5=_0xa2e7a5||0xcc;return function(_0x5941d4){if(_0x5941d4){return _0x1916c7[_0x38a9('0x1c')](_0xa2e7a5);}return _0x1916c7['status'](_0xa2e7a5)[_0x38a9('0x1d')]();};}function respondWithResult(_0x3d317d,_0x275a5e){_0x275a5e=_0x275a5e||0xc8;return function(_0x3eb179){if(_0x3eb179){return _0x3d317d[_0x38a9('0x1e')](_0x275a5e)[_0x38a9('0x1f')](_0x3eb179);}};}function respondWithFilteredResult(_0x20f14f,_0x918e1b){return function(_0x28379b){if(_0x28379b){var _0x105671=typeof _0x918e1b['offset']===_0x38a9('0x20')&&typeof _0x918e1b[_0x38a9('0x21')]===_0x38a9('0x20');var _0x44e89d=_0x28379b[_0x38a9('0x22')];var _0x3b8148=_0x105671?0x0:_0x918e1b[_0x38a9('0x23')];var _0x28637d=_0x105671?_0x28379b[_0x38a9('0x22')]:_0x918e1b[_0x38a9('0x23')]+_0x918e1b[_0x38a9('0x21')];var _0x48613e;if(_0x28637d>=_0x44e89d){_0x28637d=_0x44e89d;_0x48613e=0xc8;}else{_0x48613e=0xce;}_0x20f14f[_0x38a9('0x1e')](_0x48613e);return _0x20f14f['set'](_0x38a9('0x24'),_0x3b8148+'-'+_0x28637d+'/'+_0x44e89d)[_0x38a9('0x1f')](_0x28379b);}return null;};}function patchUpdates(_0xc782ef){return function(_0x368c49){try{jsonpatch[_0x38a9('0x25')](_0x368c49,_0xc782ef,!![]);}catch(_0x340699){return BPromise['reject'](_0x340699);}return _0x368c49[_0x38a9('0x26')]();};}function saveUpdates(_0x35161c,_0x286a10){return function(_0x4181b5){if(_0x4181b5){return _0x4181b5[_0x38a9('0x27')](_0x35161c)[_0x38a9('0x28')](function(_0x221183){return _0x221183;});}return null;};}function removeEntity(_0xe4ce59,_0x1f32e4){return function(_0x5ef004){if(_0x5ef004){return _0x5ef004['destroy']()['then'](function(){_0xe4ce59[_0x38a9('0x1e')](0xcc)[_0x38a9('0x1d')]();});}};}function handleEntityNotFound(_0x42f19f,_0x1adfdf){return function(_0x43995e){if(!_0x43995e){_0x42f19f[_0x38a9('0x1c')](0x194);}return _0x43995e;};}function handleError(_0xc6c608,_0x92cccd){_0x92cccd=_0x92cccd||0x1f4;return function(_0x46a38a){logger[_0x38a9('0x29')](_0x46a38a[_0x38a9('0x2a')]);if(_0x46a38a[_0x38a9('0x2b')]){delete _0x46a38a[_0x38a9('0x2b')];}_0xc6c608[_0x38a9('0x1e')](_0x92cccd)[_0x38a9('0x2c')](_0x46a38a);};}exports[_0x38a9('0x2d')]=function(_0x51e55a,_0x1bc125){var _0x29438c={},_0x1dd18b={},_0x53de46={'count':0x0,'rows':[]};var _0x4dc65f=_[_0x38a9('0x2e')](db[_0x38a9('0x2f')]['rawAttributes'],function(_0x3ba1ca){return{'name':_0x3ba1ca['fieldName'],'type':_0x3ba1ca['type'][_0x38a9('0x30')]};});_0x1dd18b['model']=_[_0x38a9('0x2e')](_0x4dc65f,_0x38a9('0x2b'));_0x1dd18b['query']=_[_0x38a9('0x31')](_0x51e55a[_0x38a9('0x32')]);_0x1dd18b['filters']=_[_0x38a9('0x33')](_0x1dd18b['model'],_0x1dd18b[_0x38a9('0x32')]);_0x29438c[_0x38a9('0x34')]=_['intersection'](_0x1dd18b['model'],qs[_0x38a9('0x35')](_0x51e55a[_0x38a9('0x32')][_0x38a9('0x35')]));_0x29438c[_0x38a9('0x34')]=_0x29438c[_0x38a9('0x34')][_0x38a9('0x36')]?_0x29438c['attributes']:_0x1dd18b[_0x38a9('0x37')];if(!_0x51e55a[_0x38a9('0x32')][_0x38a9('0x38')]('nolimit')){_0x29438c[_0x38a9('0x21')]=qs['limit'](_0x51e55a[_0x38a9('0x32')][_0x38a9('0x21')]);_0x29438c[_0x38a9('0x23')]=qs[_0x38a9('0x23')](_0x51e55a['query']['offset']);}_0x29438c[_0x38a9('0x39')]=qs[_0x38a9('0x3a')](_0x51e55a[_0x38a9('0x32')][_0x38a9('0x3a')]);_0x29438c[_0x38a9('0x3b')]=qs[_0x38a9('0x3c')](_[_0x38a9('0x3d')](_0x51e55a[_0x38a9('0x32')],_0x1dd18b[_0x38a9('0x3c')]),_0x4dc65f);if(_0x51e55a[_0x38a9('0x32')][_0x38a9('0x3e')]){_0x29438c[_0x38a9('0x3b')]=_[_0x38a9('0x3f')](_0x29438c[_0x38a9('0x3b')],{'$or':_[_0x38a9('0x2e')](_0x4dc65f,function(_0x36d52c){if(_0x36d52c[_0x38a9('0x40')]!==_0x38a9('0x41')){var _0xe79de7={};_0xe79de7[_0x36d52c[_0x38a9('0x2b')]]={'$like':'%'+_0x51e55a[_0x38a9('0x32')]['filter']+'%'};return _0xe79de7;}})});}_0x29438c=_[_0x38a9('0x3f')]({},_0x29438c,_0x51e55a[_0x38a9('0x42')]);var _0x11f819={'where':_0x29438c[_0x38a9('0x3b')]};return db[_0x38a9('0x2f')][_0x38a9('0x22')](_0x11f819)['then'](function(_0x3b0c8e){_0x53de46[_0x38a9('0x22')]=_0x3b0c8e;if(_0x51e55a[_0x38a9('0x32')]['includeAll']){_0x29438c[_0x38a9('0x43')]=[{'all':!![]}];}return db[_0x38a9('0x2f')][_0x38a9('0x44')](_0x29438c);})['then'](function(_0x5c9f54){_0x53de46[_0x38a9('0x45')]=_0x5c9f54;return _0x53de46;})[_0x38a9('0x28')](respondWithFilteredResult(_0x1bc125,_0x29438c))[_0x38a9('0x46')](handleError(_0x1bc125,null));};exports[_0x38a9('0x47')]=function(_0xe92c0b,_0x5bb0d5){var _0x2b768d={'raw':![],'where':{'id':_0xe92c0b[_0x38a9('0x48')]['id']}},_0x2b2dbd={};_0x2b2dbd[_0x38a9('0x37')]=_['keys'](db[_0x38a9('0x2f')][_0x38a9('0x49')]);_0x2b2dbd[_0x38a9('0x32')]=_[_0x38a9('0x31')](_0xe92c0b[_0x38a9('0x32')]);_0x2b2dbd[_0x38a9('0x3c')]=_[_0x38a9('0x33')](_0x2b2dbd[_0x38a9('0x37')],_0x2b2dbd[_0x38a9('0x32')]);_0x2b768d[_0x38a9('0x34')]=_[_0x38a9('0x33')](_0x2b2dbd[_0x38a9('0x37')],qs[_0x38a9('0x35')](_0xe92c0b[_0x38a9('0x32')]['fields']));_0x2b768d[_0x38a9('0x34')]=_0x2b768d[_0x38a9('0x34')][_0x38a9('0x36')]?_0x2b768d[_0x38a9('0x34')]:_0x2b2dbd[_0x38a9('0x37')];if(_0xe92c0b[_0x38a9('0x32')][_0x38a9('0x4a')]){_0x2b768d[_0x38a9('0x43')]=[{'all':!![]}];}_0x2b768d=_['merge']({},_0x2b768d,_0xe92c0b[_0x38a9('0x42')]);return db['UserProfile'][_0x38a9('0x4b')](_0x2b768d)['then'](handleEntityNotFound(_0x5bb0d5,null))['then'](respondWithResult(_0x5bb0d5,null))[_0x38a9('0x46')](handleError(_0x5bb0d5,null));};exports['create']=function(_0x528580,_0x3e26ef){return db['UserProfile'][_0x38a9('0x4c')](_0x528580[_0x38a9('0x4d')],{})[_0x38a9('0x28')](respondWithResult(_0x3e26ef,0xc9))[_0x38a9('0x46')](handleError(_0x3e26ef,null));};exports[_0x38a9('0x4e')]=function(_0x3a3252,_0x68c06e){var _0x37490f={'where':{'id':_0x3a3252[_0x38a9('0x48')]['id']}},_0x1181d3={};_0x1181d3[_0x38a9('0x37')]=_['keys'](db[_0x38a9('0x2f')][_0x38a9('0x49')]);_0x37490f[_0x38a9('0x34')]=_['intersection'](_0x1181d3[_0x38a9('0x37')],qs[_0x38a9('0x35')](_0x3a3252['query'][_0x38a9('0x35')]));_0x37490f[_0x38a9('0x34')]=_0x37490f['attributes'][_0x38a9('0x36')]?_0x37490f[_0x38a9('0x34')]:_0x1181d3['model'];if(_0x3a3252['query'][_0x38a9('0x4a')]){_0x37490f[_0x38a9('0x43')]=[{'all':!![]}];}_0x37490f=_[_0x38a9('0x3f')]({},_0x37490f,_0x3a3252[_0x38a9('0x42')]);return db[_0x38a9('0x2f')]['find'](_0x37490f)[_0x38a9('0x28')](handleEntityNotFound(_0x68c06e,null))['then'](function(_0x22e6fc){if(_0x22e6fc){var _0x128fc2=_0x22e6fc[_0x38a9('0x4f')]({'plain':!![]});_0x128fc2=qs[_0x38a9('0x50')](_0x128fc2,['id',_0x38a9('0x51'),_0x38a9('0x52'),'crudPermissions']);_0x3a3252[_0x38a9('0x4d')]=_['omit'](_0x3a3252['body'],['id',_0x38a9('0x51'),_0x38a9('0x52')]);return db[_0x38a9('0x53')]['transaction'](function(_0x5613d5){return db[_0x38a9('0x2f')][_0x38a9('0x4c')](_[_0x38a9('0x3f')](_0x128fc2,_0x3a3252['body']),{'include':_0x3a3252[_0x38a9('0x32')][_0x38a9('0x4a')]?[{'all':!![]}]:undefined,'transaction':_0x5613d5})['then'](function(_0x5ad164){var _0x42cda0=_0x5ad164['get']({'plain':!![]});return db[_0x38a9('0x54')][_0x38a9('0x44')]({'where':{'userProfileId':_0x3a3252['params']['id']},'raw':!![]})[_0x38a9('0x28')](function(_0x522c07){if(_0x522c07){return BPromise[_0x38a9('0x55')](_0x522c07,function(_0x5e6819){return new BPromise(function(_0x3c3251,_0x4cc366){if(_0x5e6819[_0x38a9('0x56')]===null||_0x5e6819['autoAssociation']===0x1)_0x3c3251(null);return db[_0x38a9('0x57')][_0x38a9('0x44')]({'where':{'sectionId':_0x5e6819['id']},'raw':!![]})[_0x38a9('0x28')](function(_0x42d492){var _0x5d8840=_[_0x38a9('0x2e')](_0x42d492,function(_0x1261f4){return qs[_0x38a9('0x50')](_0x1261f4,['id',_0x38a9('0x51'),_0x38a9('0x52'),_0x38a9('0x58')]);});_0x3c3251(_0x5d8840);})[_0x38a9('0x46')](function(_0x4bdd14){_0x4cc366(_0x4bdd14);});})['then'](function(_0x3a5199){var _0x4024c8=qs[_0x38a9('0x50')](_0x5e6819,['id','createdAt',_0x38a9('0x52')]);_0x4024c8['userProfileId']=_0x42cda0['id'];if(_0x3a5199)_0x4024c8['Resources']=_0x3a5199;return _0x4024c8;})['then'](function(_0x4854d5){return db[_0x38a9('0x54')][_0x38a9('0x4c')](_0x4854d5,{'include':[{'model':db[_0x38a9('0x57')],'as':_0x38a9('0x59')}],'raw':!![],'transaction':_0x5613d5});});})[_0x38a9('0x28')](function(){return _0x42cda0;});}});});});}})['then'](respondWithResult(_0x68c06e,0xc9))['catch'](handleError(_0x68c06e,null));};exports['update']=function(_0x19737d,_0x32e531){if(_0x19737d[_0x38a9('0x4d')]['id']){delete _0x19737d[_0x38a9('0x4d')]['id'];}return db['UserProfile']['find']({'where':{'id':_0x19737d[_0x38a9('0x48')]['id']}})[_0x38a9('0x28')](handleEntityNotFound(_0x32e531,null))[_0x38a9('0x28')](saveUpdates(_0x19737d['body'],null))['then'](respondWithResult(_0x32e531,null))[_0x38a9('0x46')](handleError(_0x32e531,null));};exports[_0x38a9('0x5a')]=function(_0x1b9643,_0x5b1b1f){return db[_0x38a9('0x2f')]['find']({'where':{'id':_0x1b9643[_0x38a9('0x48')]['id']}})[_0x38a9('0x28')](handleEntityNotFound(_0x5b1b1f,null))[_0x38a9('0x28')](removeEntity(_0x5b1b1f,null))[_0x38a9('0x46')](handleError(_0x5b1b1f,null));};exports[_0x38a9('0x5b')]=function(_0x4519e6,_0x6891ff){return db[_0x38a9('0x2f')]['describe']()[_0x38a9('0x28')](respondWithResult(_0x6891ff,null))[_0x38a9('0x46')](handleError(_0x6891ff,null));};exports['addSections']=function(_0x2af778,_0xf5a05c){var _0x370a00=_0x2af778[_0x38a9('0x4d')];return db[_0x38a9('0x2f')][_0x38a9('0x4b')]({'where':{'id':_0x2af778[_0x38a9('0x48')]['id']}})['then'](handleEntityNotFound(_0xf5a05c,null))[_0x38a9('0x28')](function(_0x3e5af0){if(_0x3e5af0){return db[_0x38a9('0x53')]['transaction'](function(_0x2297ed){return db[_0x38a9('0x54')]['destroy']({'where':{'userProfileId':_0x2af778[_0x38a9('0x48')]['id'],'sectionId':_['map'](_0x370a00,function(_0x4d6656){return _0x4d6656[_0x38a9('0x58')];})},'transaction':_0x2297ed})['then'](function(){var _0xe2772=_[_0x38a9('0x2e')](_0x370a00,function(_0x16c82b){_0x16c82b[_0x38a9('0x5c')]=_0x2af778['params']['id'];return _0x16c82b;});var _0x26afd2=[];return BPromise[_0x38a9('0x55')](_0xe2772,function(_0x4d111f){return db[_0x38a9('0x54')]['create'](_0x4d111f,{'include':[{'model':db[_0x38a9('0x57')],'as':_0x38a9('0x59')}],'raw':!![],'transaction':_0x2297ed})[_0x38a9('0x28')](function(_0x6f09e4){_0x26afd2['push'](_0x6f09e4[_0x38a9('0x4f')]({'plain':!![]}));});})[_0x38a9('0x28')](function(){return _0x26afd2;});});});}})[_0x38a9('0x28')](function(_0x112617){return _0x112617;})[_0x38a9('0x28')](respondWithResult(_0xf5a05c,null))[_0x38a9('0x46')](handleError(_0xf5a05c,null));};exports[_0x38a9('0x5d')]=function(_0x165785,_0x69c8d1){var _0x16b24c;return db[_0x38a9('0x2f')][_0x38a9('0x4b')]({'where':{'id':_0x165785['params']['id']},'attributes':['id',_0x38a9('0x2b')]})['then'](handleEntityNotFound(_0x69c8d1,null))[_0x38a9('0x28')](function(_0x33dfb0){if(_0x33dfb0){_0x16b24c=_0x33dfb0;return db[_0x38a9('0x54')][_0x38a9('0x5a')]({'where':{'userProfileId':_0x165785[_0x38a9('0x48')]['id'],'sectionId':_0x165785[_0x38a9('0x32')][_0x38a9('0x5e')]}});}})[_0x38a9('0x28')](function(){return _0x16b24c;})[_0x38a9('0x28')](respondWithStatusCode(_0x69c8d1,null))[_0x38a9('0x46')](handleError(_0x69c8d1,null));};exports[_0x38a9('0x5f')]=function(_0x47ccda,_0x2b4580){var _0x51126b=[];var _0x19facd=[];return db[_0x38a9('0x54')][_0x38a9('0x44')]({'where':{'userProfileId':_0x47ccda[_0x38a9('0x48')]['id']},'raw':!![]})[_0x38a9('0x28')](function(_0x862f3f){_0x51126b=_[_0x38a9('0x3e')](_0x862f3f,function(_0x593489){return _0x593489[_0x38a9('0x60')]===0x1||_[_0x38a9('0x61')]([0x3eb,0x709],_0x593489[_0x38a9('0x58')]);});if(!_['isEmpty'](_0x51126b)){return _[_0x38a9('0x2e')](_0x51126b,function(_0x1dcd12){return _0x1dcd12[_0x38a9('0x58')];});}else{return;}})[_0x38a9('0x28')](function(_0x2405b1){if(_0x2405b1)_0x19facd=_0x2405b1;if(_[_0x38a9('0x61')](_0x19facd,0x64)){var _0x59aa12=_[_0x38a9('0x4b')](_0x51126b,{'sectionId':0x64});return hasDefaultDashboard(_0x59aa12)[_0x38a9('0x28')](function(_0x43feea){return _[_0x38a9('0x2e')](_0x51126b,function(_0x164330){if(_0x164330[_0x38a9('0x58')]===0x64){_0x164330[_0x38a9('0x62')]=_0x43feea;}return _0x164330;});});}else{return;}})['then'](function(_0x5a0a09){if(_0x5a0a09)_0x51126b=_0x5a0a09;if(_[_0x38a9('0x61')](_0x19facd,0x3eb)){var _0x451f51=_[_0x38a9('0x4b')](_0x51126b,{'sectionId':0x3eb});return getCustomDashboards(_0x451f51)[_0x38a9('0x28')](function(_0xe9985e){return _[_0x38a9('0x2e')](_0x51126b,function(_0x463ecf){if(_0x451f51[_0x38a9('0x60')]){if(_0x463ecf[_0x38a9('0x58')]===0x3eb){_0x463ecf[_0x38a9('0x62')]=_0xe9985e;}}else{if(_0x463ecf[_0x38a9('0x58')]===0x64){if(!_0x463ecf[_0x38a9('0x62')]){_0x463ecf[_0x38a9('0x62')]=[];}_0x463ecf[_0x38a9('0x62')]=_0x463ecf[_0x38a9('0x62')][_0x38a9('0x63')](_0xe9985e);}}return _0x463ecf;});});}else{return;}})[_0x38a9('0x28')](function(_0x34e80e){if(_0x34e80e)_0x51126b=_0x34e80e;if(_['includes'](_0x19facd,0x709)){var _0x18dd23=_[_0x38a9('0x4b')](_0x51126b,{'sectionId':0x709});return getPlugins(_0x18dd23)[_0x38a9('0x28')](function(_0x4d5cb0){if(_0x18dd23['enabled']){return _[_0x38a9('0x2e')](_0x51126b,function(_0x382204){if(_0x382204[_0x38a9('0x58')]===0x709){_0x382204[_0x38a9('0x62')]=_0x4d5cb0;}return _0x382204;});}else{var _0x569267={'sectionId':0x76c,'enabled':0x1,'subsections':_0x4d5cb0};var _0x35eedc=_[_0x38a9('0x2e')](_0x51126b);_0x35eedc[_0x38a9('0x64')](_0x569267);return _0x35eedc;}});}else{return;}})[_0x38a9('0x28')](function(_0x5cc38a){if(_0x5cc38a)_0x51126b=_0x5cc38a;return _[_0x38a9('0x3e')](_0x51126b,[_0x38a9('0x60'),0x1]);})[_0x38a9('0x28')](respondWithResult(_0x2b4580,null))['catch'](handleError(_0x2b4580,null));};function hasDefaultDashboard(_0x4f943d){var _0x1a3591=[0x65];return new BPromise(function(_0x501d1b,_0x58ed8e){try{if(_0x4f943d['autoAssociation']){_0x501d1b(_0x1a3591);}else{return db[_0x38a9('0x57')]['findOne']({'where':{'sectionId':_0x4f943d['id']},'raw':!![]})[_0x38a9('0x28')](function(_0xfb0b75){_0xfb0b75?_0x501d1b(_0x1a3591):_0x501d1b();});}}catch(_0x44878d){_0x58ed8e(_0x44878d);}});}function getCustomDashboards(_0xd30dbe){var _0x24dd4f=[];return new BPromise(function(_0x2e2ec5,_0x589ca4){try{if(_0xd30dbe[_0x38a9('0x56')]){return db[_0x38a9('0x65')]['findAll']({'raw':!![]})[_0x38a9('0x28')](function(_0x4a27dc){_0x4a27dc[_0x38a9('0x66')](function(_0x27aac9){_0x24dd4f['push'](_0x27aac9['id']+0x1869f);});_0x2e2ec5(_0x24dd4f);});}else{return db[_0x38a9('0x57')]['findAll']({'where':{'sectionId':_0xd30dbe['id']},'raw':!![]})[_0x38a9('0x28')](function(_0x5444be){_0x5444be[_0x38a9('0x66')](function(_0x29f700){_0x24dd4f[_0x38a9('0x64')](_0x29f700[_0x38a9('0x67')]+0x1869f);});_0x2e2ec5(_0x24dd4f);});}}catch(_0x54c749){_0x589ca4(_0x54c749);}});}function getPlugins(_0x1d1724){var _0x4704f8=[];return new BPromise(function(_0x33bdd7,_0x510455){try{if(_0x1d1724[_0x38a9('0x56')]){return db[_0x38a9('0x68')]['findAll']({'raw':!![]})[_0x38a9('0x28')](function(_0x279b04){_0x279b04['forEach'](function(_0x236ee1){_0x4704f8[_0x38a9('0x64')](_0x236ee1['id']+0x15b38);});_0x33bdd7(_0x4704f8);});}else{return db['UserProfileResource']['findAll']({'where':{'sectionId':_0x1d1724['id']},'raw':!![]})[_0x38a9('0x28')](function(_0x54c4ef){_0x54c4ef['forEach'](function(_0x4fa84e){_0x4704f8[_0x38a9('0x64')](_0x4fa84e[_0x38a9('0x67')]+0x15b38);});_0x33bdd7(_0x4704f8);});}}catch(_0x3e09c9){_0x510455(_0x3e09c9);}});}exports['addResources']=function(_0x3e7f69,_0x27de3c){return db[_0x38a9('0x2f')][_0x38a9('0x4b')]({'where':{'id':_0x3e7f69['params']['id']}})['then'](handleEntityNotFound(_0x27de3c,null))[_0x38a9('0x28')](function(_0x214855){if(_0x214855){return db[_0x38a9('0x53')]['transaction'](function(_0xf6d331){return db[_0x38a9('0x54')]['findAll']({'where':{'userProfileId':_0x3e7f69[_0x38a9('0x48')]['id']},'attributes':['id'],'raw':!![]})['then'](function(_0x589bb1){if(_0x589bb1){return db[_0x38a9('0x54')][_0x38a9('0x5a')]({'where':{'userProfileId':_0x3e7f69[_0x38a9('0x48')]['id'],'id':_['map'](_0x589bb1,function(_0x4d57dc){return _0x4d57dc['id'];})},'transaction':_0xf6d331});}})[_0x38a9('0x28')](function(_0x401d1d){var _0x4e3897=_[_0x38a9('0x2e')](_0x3e7f69[_0x38a9('0x4d')],function(_0x27f926){_0x27f926[_0x38a9('0x5c')]=_0x3e7f69[_0x38a9('0x48')]['id'];return _0x27f926;});return db[_0x38a9('0x54')][_0x38a9('0x69')](_0x4e3897,{'raw':!![],'transaction':_0xf6d331});})['then'](function(_0x27ec26){var _0x303680=_[_0x38a9('0x3e')](_[_0x38a9('0x2e')](_0x27ec26,function(_0x511246){return _0x511246[_0x38a9('0x4f')]({'plain':!![]});}),{'includeAll':![]});if(_0x303680){return db['UserProfileSection'][_0x38a9('0x44')]({'where':{'userProfileId':_0x3e7f69['params']['id'],'sectionId':_['map'](_0x303680,function(_0x364cdb){return _0x364cdb['sectionId'];})},'attributes':['id',_0x38a9('0x58')],'raw':!![]})[_0x38a9('0x28')](function(_0x2f1b30){var _0x3da32b=_[_0x38a9('0x2e')](_0x3e7f69[_0x38a9('0x4d')],function(_0x3b480f){_0x3b480f[_0x38a9('0x5c')]=_0x3e7f69[_0x38a9('0x48')]['id'];return _0x3b480f;});return db[_0x38a9('0x57')]['bulkCreate'](_0x3da32b,{'raw':!![],'transaction':_0xf6d331});});}})[_0x38a9('0x46')](handleError(_0x27de3c,null));});}})[_0x38a9('0x28')](function(_0x450615){var _0x31f43c=_[_0x38a9('0x2e')](_0x450615,function(_0x111326){return _0x111326[_0x38a9('0x4f')]({'plain':!![]});});})[_0x38a9('0x28')](respondWithResult(_0x27de3c,null))[_0x38a9('0x46')](handleError(_0x27de3c,null));};exports['removeResources']=function(_0x3caf55,_0x541de1,_0x351cfc){return db[_0x38a9('0x2f')][_0x38a9('0x4b')]({'where':{'id':_0x3caf55[_0x38a9('0x48')]['id']}})['then'](handleEntityNotFound(_0x541de1,null))[_0x38a9('0x28')](function(_0x477acb){if(_0x477acb){return _0x477acb[_0x38a9('0x6a')](_0x3caf55[_0x38a9('0x32')][_0x38a9('0x5e')]);}})[_0x38a9('0x28')](respondWithStatusCode(_0x541de1,null))['catch'](handleError(_0x541de1,null));};exports['getResources']=function(_0x375b99,_0x2d5c4a){var _0x375327={};if(!_0x375b99[_0x38a9('0x32')][_0x38a9('0x6b')])throw new Error('Missing\x20section\x20parameter');if(!_0x375b99[_0x38a9('0x32')][_0x38a9('0x38')](_0x38a9('0x6c'))){_0x375327[_0x38a9('0x21')]=qs[_0x38a9('0x21')](_0x375b99[_0x38a9('0x32')][_0x38a9('0x21')]);_0x375327[_0x38a9('0x23')]=qs['offset'](_0x375b99[_0x38a9('0x32')][_0x38a9('0x23')]);}return db[_0x38a9('0x2f')]['find']({'where':{'id':_0x375b99[_0x38a9('0x48')]['id']}})['then'](function(_0x518254){if(!_0x518254)throw new Error(_0x38a9('0x6d')+_0x375b99['params']['id']);return db['UserProfile'][_0x38a9('0x6e')](_0x375b99);})[_0x38a9('0x28')](respondWithFilteredResult(_0x2d5c4a,_0x375327))[_0x38a9('0x46')](handleError(_0x2d5c4a,null));};