c517632c9de733745d09312d98f4488c375ab008
[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 _0x4f2f=['name','send','index','map','UserProfile','rawAttributes','fieldName','type','query','keys','filters','intersection','model','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','catch','show','params','find','create','body','clone','get','omit','createdAt','updatedAt','crudPermissions','sequelize','transaction','UserProfileSection','each','autoAssociation','UserProfileResource','findAll','userProfileId','Resources','destroy','addSections','sectionId','push','getSections','enabled','includes','isEmpty','subsections','concat','findOne','forEach','resourceId','Plugin','addResources','bulkCreate','removeResources','ids','section','Missing\x20section\x20parameter','getResources','fast-json-patch','request-promise','moment','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','localhost','redis','./userProfile.socket','status','end','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','stack'];(function(_0xfdd1b0,_0x3c29ea){var _0x394105=function(_0x13b93f){while(--_0x13b93f){_0xfdd1b0['push'](_0xfdd1b0['shift']());}};_0x394105(++_0x3c29ea);}(_0x4f2f,0x120));var _0xf4f2=function(_0x1fc122,_0x5e2c17){_0x1fc122=_0x1fc122-0x0;var _0xa2cb13=_0x4f2f[_0x1fc122];return _0xa2cb13;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xf4f2('0x0'));var rp=require(_0xf4f2('0x1'));var moment=require(_0xf4f2('0x2'));var BPromise=require('bluebird');var Mustache=require(_0xf4f2('0x3'));var util=require(_0xf4f2('0x4'));var path=require(_0xf4f2('0x5'));var sox=require(_0xf4f2('0x6'));var csv=require(_0xf4f2('0x7'));var ejs=require(_0xf4f2('0x8'));var fs=require('fs');var fs_extra=require(_0xf4f2('0x9'));var _=require(_0xf4f2('0xa'));var squel=require(_0xf4f2('0xb'));var crypto=require(_0xf4f2('0xc'));var jsforce=require('jsforce');var deskjs=require(_0xf4f2('0xd'));var toCsv=require(_0xf4f2('0x7'));var querystring=require(_0xf4f2('0xe'));var Papa=require('papaparse');var Redis=require(_0xf4f2('0xf'));var authService=require(_0xf4f2('0x10'));var qs=require(_0xf4f2('0x11'));var as=require(_0xf4f2('0x12'));var hardwareService=require(_0xf4f2('0x13'));var logger=require(_0xf4f2('0x14'))(_0xf4f2('0x15'));var utils=require(_0xf4f2('0x16'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xf4f2('0x17'))['db'];config['redis']=_['defaults'](config['redis'],{'host':_0xf4f2('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xf4f2('0x19')]));require(_0xf4f2('0x1a'))['register'](socket);function respondWithStatusCode(_0x469adf,_0x1cf93e){_0x1cf93e=_0x1cf93e||0xcc;return function(_0x5e75f7){if(_0x5e75f7){return _0x469adf['sendStatus'](_0x1cf93e);}return _0x469adf[_0xf4f2('0x1b')](_0x1cf93e)[_0xf4f2('0x1c')]();};}function respondWithResult(_0x172cae,_0x389693){_0x389693=_0x389693||0xc8;return function(_0x53804b){if(_0x53804b){return _0x172cae['status'](_0x389693)[_0xf4f2('0x1d')](_0x53804b);}};}function respondWithFilteredResult(_0x287ab1,_0x71fc3a){return function(_0xc4f266){if(_0xc4f266){var _0x2cb4d9=typeof _0x71fc3a[_0xf4f2('0x1e')]===_0xf4f2('0x1f')&&typeof _0x71fc3a[_0xf4f2('0x20')]===_0xf4f2('0x1f');var _0xe3cbc7=_0xc4f266[_0xf4f2('0x21')];var _0x1e8eb3=_0x2cb4d9?0x0:_0x71fc3a[_0xf4f2('0x1e')];var _0x4ba893=_0x2cb4d9?_0xc4f266[_0xf4f2('0x21')]:_0x71fc3a['offset']+_0x71fc3a[_0xf4f2('0x20')];var _0x3ec89a;if(_0x4ba893>=_0xe3cbc7){_0x4ba893=_0xe3cbc7;_0x3ec89a=0xc8;}else{_0x3ec89a=0xce;}_0x287ab1[_0xf4f2('0x1b')](_0x3ec89a);return _0x287ab1[_0xf4f2('0x22')](_0xf4f2('0x23'),_0x1e8eb3+'-'+_0x4ba893+'/'+_0xe3cbc7)[_0xf4f2('0x1d')](_0xc4f266);}return null;};}function patchUpdates(_0x8da0f7){return function(_0x358d37){try{jsonpatch[_0xf4f2('0x24')](_0x358d37,_0x8da0f7,!![]);}catch(_0x3ed090){return BPromise[_0xf4f2('0x25')](_0x3ed090);}return _0x358d37[_0xf4f2('0x26')]();};}function saveUpdates(_0x75dfee,_0x3abfe4){return function(_0x4b0eab){if(_0x4b0eab){return _0x4b0eab[_0xf4f2('0x27')](_0x75dfee)[_0xf4f2('0x28')](function(_0xe31fca){return _0xe31fca;});}return null;};}function removeEntity(_0x53d089,_0x3df1df){return function(_0x243217){if(_0x243217){return _0x243217['destroy']()[_0xf4f2('0x28')](function(){_0x53d089[_0xf4f2('0x1b')](0xcc)['end']();});}};}function handleEntityNotFound(_0x572ce6,_0x4c21cc){return function(_0x140f88){if(!_0x140f88){_0x572ce6['sendStatus'](0x194);}return _0x140f88;};}function handleError(_0x2257a4,_0x1d44d9){_0x1d44d9=_0x1d44d9||0x1f4;return function(_0xdb126){logger['error'](_0xdb126[_0xf4f2('0x29')]);if(_0xdb126[_0xf4f2('0x2a')]){delete _0xdb126[_0xf4f2('0x2a')];}_0x2257a4[_0xf4f2('0x1b')](_0x1d44d9)[_0xf4f2('0x2b')](_0xdb126);};}exports[_0xf4f2('0x2c')]=function(_0x5ce479,_0x2ff6bc){var _0x54c030={},_0x53515e={},_0x2cdf60={'count':0x0,'rows':[]};var _0x373ca8=_[_0xf4f2('0x2d')](db[_0xf4f2('0x2e')][_0xf4f2('0x2f')],function(_0x295ec5){return{'name':_0x295ec5[_0xf4f2('0x30')],'type':_0x295ec5[_0xf4f2('0x31')]['key']};});_0x53515e['model']=_[_0xf4f2('0x2d')](_0x373ca8,_0xf4f2('0x2a'));_0x53515e[_0xf4f2('0x32')]=_[_0xf4f2('0x33')](_0x5ce479[_0xf4f2('0x32')]);_0x53515e[_0xf4f2('0x34')]=_[_0xf4f2('0x35')](_0x53515e[_0xf4f2('0x36')],_0x53515e[_0xf4f2('0x32')]);_0x54c030['attributes']=_['intersection'](_0x53515e[_0xf4f2('0x36')],qs[_0xf4f2('0x37')](_0x5ce479[_0xf4f2('0x32')]['fields']));_0x54c030[_0xf4f2('0x38')]=_0x54c030[_0xf4f2('0x38')][_0xf4f2('0x39')]?_0x54c030[_0xf4f2('0x38')]:_0x53515e[_0xf4f2('0x36')];if(!_0x5ce479[_0xf4f2('0x32')][_0xf4f2('0x3a')](_0xf4f2('0x3b'))){_0x54c030[_0xf4f2('0x20')]=qs[_0xf4f2('0x20')](_0x5ce479[_0xf4f2('0x32')][_0xf4f2('0x20')]);_0x54c030[_0xf4f2('0x1e')]=qs[_0xf4f2('0x1e')](_0x5ce479[_0xf4f2('0x32')][_0xf4f2('0x1e')]);}_0x54c030[_0xf4f2('0x3c')]=qs[_0xf4f2('0x3d')](_0x5ce479[_0xf4f2('0x32')][_0xf4f2('0x3d')]);_0x54c030[_0xf4f2('0x3e')]=qs[_0xf4f2('0x34')](_[_0xf4f2('0x3f')](_0x5ce479['query'],_0x53515e[_0xf4f2('0x34')]),_0x373ca8);if(_0x5ce479[_0xf4f2('0x32')][_0xf4f2('0x40')]){_0x54c030[_0xf4f2('0x3e')]=_['merge'](_0x54c030[_0xf4f2('0x3e')],{'$or':_[_0xf4f2('0x2d')](_0x373ca8,function(_0x3de3a2){if(_0x3de3a2[_0xf4f2('0x31')]!=='VIRTUAL'){var _0x2f4fbb={};_0x2f4fbb[_0x3de3a2[_0xf4f2('0x2a')]]={'$like':'%'+_0x5ce479[_0xf4f2('0x32')][_0xf4f2('0x40')]+'%'};return _0x2f4fbb;}})});}_0x54c030=_[_0xf4f2('0x41')]({},_0x54c030,_0x5ce479[_0xf4f2('0x42')]);var _0x427770={'where':_0x54c030[_0xf4f2('0x3e')]};return db[_0xf4f2('0x2e')][_0xf4f2('0x21')](_0x427770)[_0xf4f2('0x28')](function(_0xfb42e8){_0x2cdf60[_0xf4f2('0x21')]=_0xfb42e8;if(_0x5ce479['query'][_0xf4f2('0x43')]){_0x54c030['include']=[{'all':!![]}];}return db[_0xf4f2('0x2e')]['findAll'](_0x54c030);})[_0xf4f2('0x28')](function(_0x45ed5f){_0x2cdf60['rows']=_0x45ed5f;return _0x2cdf60;})[_0xf4f2('0x28')](respondWithFilteredResult(_0x2ff6bc,_0x54c030))[_0xf4f2('0x44')](handleError(_0x2ff6bc,null));};exports[_0xf4f2('0x45')]=function(_0x5a4cf2,_0x14d80c){var _0x3b1501={'raw':![],'where':{'id':_0x5a4cf2[_0xf4f2('0x46')]['id']}},_0x2e3efe={};_0x2e3efe[_0xf4f2('0x36')]=_['keys'](db[_0xf4f2('0x2e')][_0xf4f2('0x2f')]);_0x2e3efe[_0xf4f2('0x32')]=_[_0xf4f2('0x33')](_0x5a4cf2['query']);_0x2e3efe[_0xf4f2('0x34')]=_[_0xf4f2('0x35')](_0x2e3efe['model'],_0x2e3efe['query']);_0x3b1501[_0xf4f2('0x38')]=_[_0xf4f2('0x35')](_0x2e3efe[_0xf4f2('0x36')],qs[_0xf4f2('0x37')](_0x5a4cf2[_0xf4f2('0x32')][_0xf4f2('0x37')]));_0x3b1501['attributes']=_0x3b1501['attributes'][_0xf4f2('0x39')]?_0x3b1501[_0xf4f2('0x38')]:_0x2e3efe['model'];if(_0x5a4cf2[_0xf4f2('0x32')][_0xf4f2('0x43')]){_0x3b1501['include']=[{'all':!![]}];}_0x3b1501=_['merge']({},_0x3b1501,_0x5a4cf2[_0xf4f2('0x42')]);return db[_0xf4f2('0x2e')][_0xf4f2('0x47')](_0x3b1501)[_0xf4f2('0x28')](handleEntityNotFound(_0x14d80c,null))['then'](respondWithResult(_0x14d80c,null))[_0xf4f2('0x44')](handleError(_0x14d80c,null));};exports[_0xf4f2('0x48')]=function(_0x63a67,_0x319ad0){return db[_0xf4f2('0x2e')][_0xf4f2('0x48')](_0x63a67[_0xf4f2('0x49')],{})[_0xf4f2('0x28')](respondWithResult(_0x319ad0,0xc9))[_0xf4f2('0x44')](handleError(_0x319ad0,null));};exports[_0xf4f2('0x4a')]=function(_0x1fd15a,_0x306ee4){var _0x4c7024={'where':{'id':_0x1fd15a[_0xf4f2('0x46')]['id']}},_0x4305fa={};_0x4305fa['model']=_['keys'](db['UserProfile'][_0xf4f2('0x2f')]);_0x4c7024['attributes']=_[_0xf4f2('0x35')](_0x4305fa[_0xf4f2('0x36')],qs['fields'](_0x1fd15a[_0xf4f2('0x32')][_0xf4f2('0x37')]));_0x4c7024['attributes']=_0x4c7024[_0xf4f2('0x38')]['length']?_0x4c7024[_0xf4f2('0x38')]:_0x4305fa[_0xf4f2('0x36')];if(_0x1fd15a['query'][_0xf4f2('0x43')]){_0x4c7024['include']=[{'all':!![]}];}_0x4c7024=_[_0xf4f2('0x41')]({},_0x4c7024,_0x1fd15a[_0xf4f2('0x42')]);return db[_0xf4f2('0x2e')][_0xf4f2('0x47')](_0x4c7024)[_0xf4f2('0x28')](handleEntityNotFound(_0x306ee4,null))[_0xf4f2('0x28')](function(_0x3283d){if(_0x3283d){var _0x303595=_0x3283d[_0xf4f2('0x4b')]({'plain':!![]});_0x303595=qs[_0xf4f2('0x4c')](_0x303595,['id',_0xf4f2('0x4d'),_0xf4f2('0x4e'),_0xf4f2('0x4f')]);_0x1fd15a[_0xf4f2('0x49')]=_['omit'](_0x1fd15a[_0xf4f2('0x49')],['id',_0xf4f2('0x4d'),_0xf4f2('0x4e')]);return db[_0xf4f2('0x50')][_0xf4f2('0x51')](function(_0x3a5ab2){return db['UserProfile'][_0xf4f2('0x48')](_[_0xf4f2('0x41')](_0x303595,_0x1fd15a[_0xf4f2('0x49')]),{'include':_0x1fd15a[_0xf4f2('0x32')][_0xf4f2('0x43')]?[{'all':!![]}]:undefined,'transaction':_0x3a5ab2})[_0xf4f2('0x28')](function(_0x259ddb){var _0x3423b4=_0x259ddb[_0xf4f2('0x4b')]({'plain':!![]});return db[_0xf4f2('0x52')]['findAll']({'where':{'userProfileId':_0x1fd15a['params']['id']},'raw':!![]})[_0xf4f2('0x28')](function(_0x2171cd){if(_0x2171cd){return BPromise[_0xf4f2('0x53')](_0x2171cd,function(_0x47d0ad){return new BPromise(function(_0xfd7a44,_0x1887b1){if(_0x47d0ad[_0xf4f2('0x54')]===null||_0x47d0ad[_0xf4f2('0x54')]===0x1)_0xfd7a44(null);return db[_0xf4f2('0x55')][_0xf4f2('0x56')]({'where':{'sectionId':_0x47d0ad['id']},'raw':!![]})[_0xf4f2('0x28')](function(_0x16b41a){var _0x52674c=_['map'](_0x16b41a,function(_0x492dc5){return qs[_0xf4f2('0x4c')](_0x492dc5,['id','createdAt',_0xf4f2('0x4e'),'sectionId']);});_0xfd7a44(_0x52674c);})[_0xf4f2('0x44')](function(_0x872042){_0x1887b1(_0x872042);});})[_0xf4f2('0x28')](function(_0x3fe75a){var _0x17248a=qs[_0xf4f2('0x4c')](_0x47d0ad,['id',_0xf4f2('0x4d'),_0xf4f2('0x4e')]);_0x17248a[_0xf4f2('0x57')]=_0x3423b4['id'];if(_0x3fe75a)_0x17248a[_0xf4f2('0x58')]=_0x3fe75a;return _0x17248a;})[_0xf4f2('0x28')](function(_0x5a3f0c){return db[_0xf4f2('0x52')][_0xf4f2('0x48')](_0x5a3f0c,{'include':[{'model':db[_0xf4f2('0x55')],'as':_0xf4f2('0x58')}],'raw':!![],'transaction':_0x3a5ab2});});})[_0xf4f2('0x28')](function(){return _0x3423b4;});}});});});}})[_0xf4f2('0x28')](respondWithResult(_0x306ee4,0xc9))[_0xf4f2('0x44')](handleError(_0x306ee4,null));};exports[_0xf4f2('0x27')]=function(_0x2e5051,_0x22d90f){if(_0x2e5051[_0xf4f2('0x49')]['id']){delete _0x2e5051['body']['id'];}return db[_0xf4f2('0x2e')][_0xf4f2('0x47')]({'where':{'id':_0x2e5051[_0xf4f2('0x46')]['id']}})['then'](handleEntityNotFound(_0x22d90f,null))[_0xf4f2('0x28')](saveUpdates(_0x2e5051[_0xf4f2('0x49')],null))['then'](respondWithResult(_0x22d90f,null))[_0xf4f2('0x44')](handleError(_0x22d90f,null));};exports[_0xf4f2('0x59')]=function(_0x2697f9,_0x52d8c3){return db[_0xf4f2('0x2e')][_0xf4f2('0x47')]({'where':{'id':_0x2697f9['params']['id']}})[_0xf4f2('0x28')](handleEntityNotFound(_0x52d8c3,null))[_0xf4f2('0x28')](removeEntity(_0x52d8c3,null))['catch'](handleError(_0x52d8c3,null));};exports['describe']=function(_0x2e4feb,_0x29ad5a){return db[_0xf4f2('0x2e')]['describe']()[_0xf4f2('0x28')](respondWithResult(_0x29ad5a,null))['catch'](handleError(_0x29ad5a,null));};exports[_0xf4f2('0x5a')]=function(_0x304b4a,_0x1c733c){var _0x2386d0=_0x304b4a[_0xf4f2('0x49')];return db[_0xf4f2('0x2e')]['find']({'where':{'id':_0x304b4a[_0xf4f2('0x46')]['id']}})['then'](handleEntityNotFound(_0x1c733c,null))[_0xf4f2('0x28')](function(_0xbe3d47){if(_0xbe3d47){return db[_0xf4f2('0x50')]['transaction'](function(_0x35654a){return db[_0xf4f2('0x52')][_0xf4f2('0x59')]({'where':{'userProfileId':_0x304b4a[_0xf4f2('0x46')]['id'],'sectionId':_[_0xf4f2('0x2d')](_0x2386d0,function(_0x1ca6f1){return _0x1ca6f1[_0xf4f2('0x5b')];})},'transaction':_0x35654a})[_0xf4f2('0x28')](function(){var _0x23d76e=_[_0xf4f2('0x2d')](_0x2386d0,function(_0x13a7a1){_0x13a7a1[_0xf4f2('0x57')]=_0x304b4a[_0xf4f2('0x46')]['id'];return _0x13a7a1;});var _0x45f57f=[];return BPromise['each'](_0x23d76e,function(_0x34e8e6){return db['UserProfileSection'][_0xf4f2('0x48')](_0x34e8e6,{'include':[{'model':db[_0xf4f2('0x55')],'as':_0xf4f2('0x58')}],'raw':!![],'transaction':_0x35654a})[_0xf4f2('0x28')](function(_0x56b680){_0x45f57f[_0xf4f2('0x5c')](_0x56b680[_0xf4f2('0x4b')]({'plain':!![]}));});})[_0xf4f2('0x28')](function(){return _0x45f57f;});});});}})[_0xf4f2('0x28')](function(_0x5421b3){return _0x5421b3;})[_0xf4f2('0x28')](respondWithResult(_0x1c733c,null))['catch'](handleError(_0x1c733c,null));};exports['removeSections']=function(_0x1986ae,_0x4b3add){var _0x9c575d;return db[_0xf4f2('0x2e')][_0xf4f2('0x47')]({'where':{'id':_0x1986ae[_0xf4f2('0x46')]['id']},'attributes':['id',_0xf4f2('0x2a')]})[_0xf4f2('0x28')](handleEntityNotFound(_0x4b3add,null))[_0xf4f2('0x28')](function(_0x2b08e9){if(_0x2b08e9){_0x9c575d=_0x2b08e9;return db[_0xf4f2('0x52')]['destroy']({'where':{'userProfileId':_0x1986ae[_0xf4f2('0x46')]['id'],'sectionId':_0x1986ae[_0xf4f2('0x32')]['ids']}});}})[_0xf4f2('0x28')](function(){return _0x9c575d;})[_0xf4f2('0x28')](respondWithStatusCode(_0x4b3add,null))['catch'](handleError(_0x4b3add,null));};exports[_0xf4f2('0x5d')]=function(_0x4af69a,_0x44dcfe){var _0x217a89=[];var _0x31c7ea=[];return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x4af69a[_0xf4f2('0x46')]['id']},'raw':!![]})[_0xf4f2('0x28')](function(_0x298f3f){_0x217a89=_[_0xf4f2('0x40')](_0x298f3f,function(_0x5e30b5){return _0x5e30b5[_0xf4f2('0x5e')]===0x1||_[_0xf4f2('0x5f')]([0x3eb,0x709],_0x5e30b5[_0xf4f2('0x5b')]);});if(!_[_0xf4f2('0x60')](_0x217a89)){return _[_0xf4f2('0x2d')](_0x217a89,function(_0x5468f0){return _0x5468f0[_0xf4f2('0x5b')];});}else{return;}})[_0xf4f2('0x28')](function(_0x39e413){if(_0x39e413)_0x31c7ea=_0x39e413;if(_[_0xf4f2('0x5f')](_0x31c7ea,0x64)){var _0x2d21eb=_[_0xf4f2('0x47')](_0x217a89,{'sectionId':0x64});return hasDefaultDashboard(_0x2d21eb)[_0xf4f2('0x28')](function(_0x581247){return _['map'](_0x217a89,function(_0x2db482){if(_0x2db482[_0xf4f2('0x5b')]===0x64){_0x2db482[_0xf4f2('0x61')]=_0x581247;}return _0x2db482;});});}else{return;}})[_0xf4f2('0x28')](function(_0x9580b0){if(_0x9580b0)_0x217a89=_0x9580b0;if(_[_0xf4f2('0x5f')](_0x31c7ea,0x3eb)){var _0x210396=_[_0xf4f2('0x47')](_0x217a89,{'sectionId':0x3eb});return getCustomDashboards(_0x210396)[_0xf4f2('0x28')](function(_0x14173f){return _[_0xf4f2('0x2d')](_0x217a89,function(_0x2462c3){if(_0x210396[_0xf4f2('0x5e')]){if(_0x2462c3['sectionId']===0x3eb){_0x2462c3[_0xf4f2('0x61')]=_0x14173f;}}else{if(_0x2462c3[_0xf4f2('0x5b')]===0x64){if(!_0x2462c3[_0xf4f2('0x61')]){_0x2462c3[_0xf4f2('0x61')]=[];}_0x2462c3[_0xf4f2('0x61')]=_0x2462c3[_0xf4f2('0x61')][_0xf4f2('0x62')](_0x14173f);}}return _0x2462c3;});});}else{return;}})[_0xf4f2('0x28')](function(_0x19e667){if(_0x19e667)_0x217a89=_0x19e667;if(_[_0xf4f2('0x5f')](_0x31c7ea,0x709)){var _0x375945=_[_0xf4f2('0x47')](_0x217a89,{'sectionId':0x709});return getPlugins(_0x375945)[_0xf4f2('0x28')](function(_0x238306){if(_0x375945[_0xf4f2('0x5e')]){return _[_0xf4f2('0x2d')](_0x217a89,function(_0x4ee11e){if(_0x4ee11e[_0xf4f2('0x5b')]===0x709){_0x4ee11e[_0xf4f2('0x61')]=_0x238306;}return _0x4ee11e;});}else{var _0x391a60={'sectionId':0x76c,'enabled':0x1,'subsections':_0x238306};var _0x161c40=_['map'](_0x217a89);_0x161c40[_0xf4f2('0x5c')](_0x391a60);return _0x161c40;}});}else{return;}})['then'](function(_0x3b1922){if(_0x3b1922)_0x217a89=_0x3b1922;return _[_0xf4f2('0x40')](_0x217a89,[_0xf4f2('0x5e'),0x1]);})[_0xf4f2('0x28')](respondWithResult(_0x44dcfe,null))[_0xf4f2('0x44')](handleError(_0x44dcfe,null));};function hasDefaultDashboard(_0x5d2d8f){var _0x1ec530=[0x65];return new BPromise(function(_0x42caff,_0x44c599){try{if(_0x5d2d8f[_0xf4f2('0x54')]){_0x42caff(_0x1ec530);}else{return db[_0xf4f2('0x55')][_0xf4f2('0x63')]({'where':{'sectionId':_0x5d2d8f['id']},'raw':!![]})['then'](function(_0x491eb0){_0x491eb0?_0x42caff(_0x1ec530):_0x42caff();});}}catch(_0x302282){_0x44c599(_0x302282);}});}function getCustomDashboards(_0x4ffc5b){var _0x5998d7=[];return new BPromise(function(_0x36ed47,_0x4655d6){try{if(_0x4ffc5b[_0xf4f2('0x54')]){return db['Dashboard'][_0xf4f2('0x56')]({'raw':!![]})['then'](function(_0x15458f){_0x15458f[_0xf4f2('0x64')](function(_0x5a0a52){_0x5998d7['push'](_0x5a0a52['id']+0x1869f);});_0x36ed47(_0x5998d7);});}else{return db[_0xf4f2('0x55')][_0xf4f2('0x56')]({'where':{'sectionId':_0x4ffc5b['id']},'raw':!![]})[_0xf4f2('0x28')](function(_0x504795){_0x504795[_0xf4f2('0x64')](function(_0x3f6db7){_0x5998d7[_0xf4f2('0x5c')](_0x3f6db7[_0xf4f2('0x65')]+0x1869f);});_0x36ed47(_0x5998d7);});}}catch(_0x3d2594){_0x4655d6(_0x3d2594);}});}function getPlugins(_0x4cc675){var _0x5512af=[];return new BPromise(function(_0x13201b,_0x23c7f4){try{if(_0x4cc675['autoAssociation']){return db[_0xf4f2('0x66')][_0xf4f2('0x56')]({'raw':!![]})['then'](function(_0x20a2b7){_0x20a2b7[_0xf4f2('0x64')](function(_0x27a28f){_0x5512af[_0xf4f2('0x5c')](_0x27a28f['id']+0x15b38);});_0x13201b(_0x5512af);});}else{return db[_0xf4f2('0x55')][_0xf4f2('0x56')]({'where':{'sectionId':_0x4cc675['id']},'raw':!![]})['then'](function(_0x530b22){_0x530b22[_0xf4f2('0x64')](function(_0x3cefc9){_0x5512af[_0xf4f2('0x5c')](_0x3cefc9[_0xf4f2('0x65')]+0x15b38);});_0x13201b(_0x5512af);});}}catch(_0x2aa502){_0x23c7f4(_0x2aa502);}});}exports[_0xf4f2('0x67')]=function(_0x3b97d8,_0x2e6d0b){return db[_0xf4f2('0x2e')][_0xf4f2('0x47')]({'where':{'id':_0x3b97d8[_0xf4f2('0x46')]['id']}})[_0xf4f2('0x28')](handleEntityNotFound(_0x2e6d0b,null))['then'](function(_0xa1f7b6){if(_0xa1f7b6){return db[_0xf4f2('0x50')][_0xf4f2('0x51')](function(_0x10d4d7){return db[_0xf4f2('0x52')]['findAll']({'where':{'userProfileId':_0x3b97d8[_0xf4f2('0x46')]['id']},'attributes':['id'],'raw':!![]})[_0xf4f2('0x28')](function(_0x512868){if(_0x512868){return db[_0xf4f2('0x52')][_0xf4f2('0x59')]({'where':{'userProfileId':_0x3b97d8[_0xf4f2('0x46')]['id'],'id':_[_0xf4f2('0x2d')](_0x512868,function(_0x41a9d2){return _0x41a9d2['id'];})},'transaction':_0x10d4d7});}})[_0xf4f2('0x28')](function(_0x48e114){var _0x356aa5=_[_0xf4f2('0x2d')](_0x3b97d8[_0xf4f2('0x49')],function(_0x38cbff){_0x38cbff[_0xf4f2('0x57')]=_0x3b97d8[_0xf4f2('0x46')]['id'];return _0x38cbff;});return db[_0xf4f2('0x52')][_0xf4f2('0x68')](_0x356aa5,{'raw':!![],'transaction':_0x10d4d7});})['then'](function(_0xfe67d4){var _0xad8bd6=_['filter'](_[_0xf4f2('0x2d')](_0xfe67d4,function(_0x3d3cfc){return _0x3d3cfc[_0xf4f2('0x4b')]({'plain':!![]});}),{'includeAll':![]});if(_0xad8bd6){return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x3b97d8[_0xf4f2('0x46')]['id'],'sectionId':_[_0xf4f2('0x2d')](_0xad8bd6,function(_0xff1a56){return _0xff1a56[_0xf4f2('0x5b')];})},'attributes':['id',_0xf4f2('0x5b')],'raw':!![]})[_0xf4f2('0x28')](function(_0x20765f){var _0x762c9a=_[_0xf4f2('0x2d')](_0x3b97d8[_0xf4f2('0x49')],function(_0x4e4dd6){_0x4e4dd6['userProfileId']=_0x3b97d8[_0xf4f2('0x46')]['id'];return _0x4e4dd6;});return db[_0xf4f2('0x55')][_0xf4f2('0x68')](_0x762c9a,{'raw':!![],'transaction':_0x10d4d7});});}})[_0xf4f2('0x44')](handleError(_0x2e6d0b,null));});}})[_0xf4f2('0x28')](function(_0x4d40ec){var _0x31cdec=_[_0xf4f2('0x2d')](_0x4d40ec,function(_0x50f133){return _0x50f133[_0xf4f2('0x4b')]({'plain':!![]});});})[_0xf4f2('0x28')](respondWithResult(_0x2e6d0b,null))[_0xf4f2('0x44')](handleError(_0x2e6d0b,null));};exports['removeResources']=function(_0x358bea,_0x219999,_0x5d0b0c){return db[_0xf4f2('0x2e')][_0xf4f2('0x47')]({'where':{'id':_0x358bea[_0xf4f2('0x46')]['id']}})['then'](handleEntityNotFound(_0x219999,null))[_0xf4f2('0x28')](function(_0x140736){if(_0x140736){return _0x140736[_0xf4f2('0x69')](_0x358bea[_0xf4f2('0x32')][_0xf4f2('0x6a')]);}})[_0xf4f2('0x28')](respondWithStatusCode(_0x219999,null))[_0xf4f2('0x44')](handleError(_0x219999,null));};exports['getResources']=function(_0x4596c1,_0x248938){var _0x3abaec={};if(!_0x4596c1['query'][_0xf4f2('0x6b')])throw new Error(_0xf4f2('0x6c'));if(!_0x4596c1[_0xf4f2('0x32')][_0xf4f2('0x3a')]('nolimit')){_0x3abaec['limit']=qs[_0xf4f2('0x20')](_0x4596c1[_0xf4f2('0x32')][_0xf4f2('0x20')]);_0x3abaec[_0xf4f2('0x1e')]=qs['offset'](_0x4596c1['query']['offset']);}return db['UserProfile'][_0xf4f2('0x47')]({'where':{'id':_0x4596c1[_0xf4f2('0x46')]['id']}})['then'](function(_0x15f014){if(!_0x15f014)throw new Error('No\x20User\x20Profile\x20found\x20for\x20id\x20'+_0x4596c1[_0xf4f2('0x46')]['id']);return db['UserProfile'][_0xf4f2('0x6d')](_0x4596c1);})['then'](respondWithFilteredResult(_0x248938,_0x3abaec))['catch'](handleError(_0x248938,null));};