05892ca1d2b6d542f051d9f3ee0657899bc040a4
[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 _0xfea3=['limit','count','set','Content-Range','apply','reject','save','update','destroy','then','error','stack','name','UserProfile','fieldName','type','key','model','map','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','where','pick','filter','merge','VIRTUAL','options','includeAll','findAll','rows','catch','show','params','keys','rawAttributes','include','find','create','body','clone','get','omit','createdAt','crudPermissions','updatedAt','sequelize','transaction','autoAssociation','UserProfileResource','sectionId','Resources','UserProfileSection','describe','addSections','userProfileId','each','push','removeSections','ids','getSections','includes','subsections','enabled','concat','Dashboard','forEach','resourceId','Plugin','addResources','bulkCreate','removeResources','getResources','section','Missing\x20section\x20parameter','rimraf','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','fs-extra','squel','crypto','jsforce','desk.js','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','redis','localhost','socket.io-emitter','./userProfile.socket','register','status','end','json','offset','undefined'];(function(_0x3c7279,_0x306f27){var _0x53223f=function(_0x44de8e){while(--_0x44de8e){_0x3c7279['push'](_0x3c7279['shift']());}};_0x53223f(++_0x306f27);}(_0xfea3,0x1b0));var _0x3fea=function(_0x16e3c7,_0x21227b){_0x16e3c7=_0x16e3c7-0x0;var _0x507535=_0xfea3[_0x16e3c7];return _0x507535;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3fea('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x3fea('0x1'));var moment=require(_0x3fea('0x2'));var BPromise=require(_0x3fea('0x3'));var Mustache=require(_0x3fea('0x4'));var util=require(_0x3fea('0x5'));var path=require(_0x3fea('0x6'));var sox=require(_0x3fea('0x7'));var csv=require(_0x3fea('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x3fea('0x9'));var _=require('lodash');var squel=require(_0x3fea('0xa'));var crypto=require(_0x3fea('0xb'));var jsforce=require(_0x3fea('0xc'));var deskjs=require(_0x3fea('0xd'));var toCsv=require(_0x3fea('0x8'));var querystring=require(_0x3fea('0xe'));var Papa=require(_0x3fea('0xf'));var Redis=require(_0x3fea('0x10'));var authService=require(_0x3fea('0x11'));var qs=require(_0x3fea('0x12'));var as=require(_0x3fea('0x13'));var hardwareService=require(_0x3fea('0x14'));var logger=require(_0x3fea('0x15'))(_0x3fea('0x16'));var utils=require(_0x3fea('0x17'));var config=require(_0x3fea('0x18'));var licenseUtil=require(_0x3fea('0x19'));var db=require('../../mysqldb')['db'];config['redis']=_['defaults'](config[_0x3fea('0x1a')],{'host':_0x3fea('0x1b'),'port':0x18eb});var socket=require(_0x3fea('0x1c'))(new Redis(config[_0x3fea('0x1a')]));require(_0x3fea('0x1d'))[_0x3fea('0x1e')](socket);function respondWithStatusCode(_0x2f4121,_0x294fb0){_0x294fb0=_0x294fb0||0xcc;return function(_0x249b0d){if(_0x249b0d){return _0x2f4121['sendStatus'](_0x294fb0);}return _0x2f4121[_0x3fea('0x1f')](_0x294fb0)[_0x3fea('0x20')]();};}function respondWithResult(_0xde6a55,_0x89828b){_0x89828b=_0x89828b||0xc8;return function(_0x2daefe){if(_0x2daefe){return _0xde6a55['status'](_0x89828b)[_0x3fea('0x21')](_0x2daefe);}};}function respondWithFilteredResult(_0x10101c,_0x3cbfcc){return function(_0x4e972d){if(_0x4e972d){var _0x577e6a=typeof _0x3cbfcc[_0x3fea('0x22')]===_0x3fea('0x23')&&typeof _0x3cbfcc[_0x3fea('0x24')]===_0x3fea('0x23');var _0x944d9b=_0x4e972d['count'];var _0x383f2f=_0x577e6a?0x0:_0x3cbfcc[_0x3fea('0x22')];var _0x29f8be=_0x577e6a?_0x4e972d[_0x3fea('0x25')]:_0x3cbfcc[_0x3fea('0x22')]+_0x3cbfcc['limit'];var _0x5b921a;if(_0x29f8be>=_0x944d9b){_0x29f8be=_0x944d9b;_0x5b921a=0xc8;}else{_0x5b921a=0xce;}_0x10101c[_0x3fea('0x1f')](_0x5b921a);return _0x10101c[_0x3fea('0x26')](_0x3fea('0x27'),_0x383f2f+'-'+_0x29f8be+'/'+_0x944d9b)['json'](_0x4e972d);}return null;};}function patchUpdates(_0x51e451){return function(_0x3fdc69){try{jsonpatch[_0x3fea('0x28')](_0x3fdc69,_0x51e451,!![]);}catch(_0x30a9af){return BPromise[_0x3fea('0x29')](_0x30a9af);}return _0x3fdc69[_0x3fea('0x2a')]();};}function saveUpdates(_0x592899,_0x1b0d89){return function(_0x559354){if(_0x559354){return _0x559354[_0x3fea('0x2b')](_0x592899)['then'](function(_0x33df8d){return _0x33df8d;});}return null;};}function removeEntity(_0x36fb09,_0x3c0d82){return function(_0x22455f){if(_0x22455f){return _0x22455f[_0x3fea('0x2c')]()[_0x3fea('0x2d')](function(){_0x36fb09['status'](0xcc)['end']();});}};}function handleEntityNotFound(_0x12f690,_0x3ff7d1){return function(_0x439b9d){if(!_0x439b9d){_0x12f690['sendStatus'](0x194);}return _0x439b9d;};}function handleError(_0x42c1b4,_0x1e93bc){_0x1e93bc=_0x1e93bc||0x1f4;return function(_0x2215de){logger[_0x3fea('0x2e')](_0x2215de[_0x3fea('0x2f')]);if(_0x2215de[_0x3fea('0x30')]){delete _0x2215de['name'];}_0x42c1b4['status'](_0x1e93bc)['send'](_0x2215de);};}exports['index']=function(_0x49fac3,_0x4b2ad9){var _0x208a46={},_0x586ebe={},_0x239a96={'count':0x0,'rows':[]};var _0xd1d882=_['map'](db[_0x3fea('0x31')]['rawAttributes'],function(_0x47a95c){return{'name':_0x47a95c[_0x3fea('0x32')],'type':_0x47a95c[_0x3fea('0x33')][_0x3fea('0x34')]};});_0x586ebe[_0x3fea('0x35')]=_[_0x3fea('0x36')](_0xd1d882,_0x3fea('0x30'));_0x586ebe['query']=_['keys'](_0x49fac3[_0x3fea('0x37')]);_0x586ebe[_0x3fea('0x38')]=_[_0x3fea('0x39')](_0x586ebe[_0x3fea('0x35')],_0x586ebe['query']);_0x208a46[_0x3fea('0x3a')]=_['intersection'](_0x586ebe[_0x3fea('0x35')],qs[_0x3fea('0x3b')](_0x49fac3[_0x3fea('0x37')][_0x3fea('0x3b')]));_0x208a46['attributes']=_0x208a46[_0x3fea('0x3a')][_0x3fea('0x3c')]?_0x208a46[_0x3fea('0x3a')]:_0x586ebe[_0x3fea('0x35')];if(!_0x49fac3['query'][_0x3fea('0x3d')](_0x3fea('0x3e'))){_0x208a46['limit']=qs['limit'](_0x49fac3[_0x3fea('0x37')][_0x3fea('0x24')]);_0x208a46[_0x3fea('0x22')]=qs[_0x3fea('0x22')](_0x49fac3[_0x3fea('0x37')][_0x3fea('0x22')]);}_0x208a46[_0x3fea('0x3f')]=qs['sort'](_0x49fac3[_0x3fea('0x37')]['sort']);_0x208a46[_0x3fea('0x40')]=qs[_0x3fea('0x38')](_[_0x3fea('0x41')](_0x49fac3[_0x3fea('0x37')],_0x586ebe[_0x3fea('0x38')]),_0xd1d882);if(_0x49fac3[_0x3fea('0x37')][_0x3fea('0x42')]){_0x208a46[_0x3fea('0x40')]=_[_0x3fea('0x43')](_0x208a46[_0x3fea('0x40')],{'$or':_[_0x3fea('0x36')](_0xd1d882,function(_0x2623d0){if(_0x2623d0[_0x3fea('0x33')]!==_0x3fea('0x44')){var _0x417715={};_0x417715[_0x2623d0['name']]={'$like':'%'+_0x49fac3['query'][_0x3fea('0x42')]+'%'};return _0x417715;}})});}_0x208a46=_[_0x3fea('0x43')]({},_0x208a46,_0x49fac3[_0x3fea('0x45')]);var _0x338c58={'where':_0x208a46[_0x3fea('0x40')]};return db[_0x3fea('0x31')][_0x3fea('0x25')](_0x338c58)[_0x3fea('0x2d')](function(_0x36f1f8){_0x239a96[_0x3fea('0x25')]=_0x36f1f8;if(_0x49fac3['query'][_0x3fea('0x46')]){_0x208a46['include']=[{'all':!![]}];}return db[_0x3fea('0x31')][_0x3fea('0x47')](_0x208a46);})[_0x3fea('0x2d')](function(_0x588f56){_0x239a96[_0x3fea('0x48')]=_0x588f56;return _0x239a96;})[_0x3fea('0x2d')](respondWithFilteredResult(_0x4b2ad9,_0x208a46))[_0x3fea('0x49')](handleError(_0x4b2ad9,null));};exports[_0x3fea('0x4a')]=function(_0x3b5f9c,_0x3aae86){var _0x514aa1={'raw':![],'where':{'id':_0x3b5f9c[_0x3fea('0x4b')]['id']}},_0x204d2d={};_0x204d2d[_0x3fea('0x35')]=_[_0x3fea('0x4c')](db['UserProfile'][_0x3fea('0x4d')]);_0x204d2d[_0x3fea('0x37')]=_['keys'](_0x3b5f9c['query']);_0x204d2d[_0x3fea('0x38')]=_['intersection'](_0x204d2d['model'],_0x204d2d[_0x3fea('0x37')]);_0x514aa1[_0x3fea('0x3a')]=_['intersection'](_0x204d2d[_0x3fea('0x35')],qs['fields'](_0x3b5f9c[_0x3fea('0x37')][_0x3fea('0x3b')]));_0x514aa1[_0x3fea('0x3a')]=_0x514aa1[_0x3fea('0x3a')]['length']?_0x514aa1[_0x3fea('0x3a')]:_0x204d2d[_0x3fea('0x35')];if(_0x3b5f9c[_0x3fea('0x37')][_0x3fea('0x46')]){_0x514aa1[_0x3fea('0x4e')]=[{'all':!![]}];}_0x514aa1=_['merge']({},_0x514aa1,_0x3b5f9c[_0x3fea('0x45')]);return db[_0x3fea('0x31')][_0x3fea('0x4f')](_0x514aa1)['then'](handleEntityNotFound(_0x3aae86,null))[_0x3fea('0x2d')](respondWithResult(_0x3aae86,null))[_0x3fea('0x49')](handleError(_0x3aae86,null));};exports[_0x3fea('0x50')]=function(_0x59ecbb,_0x54b626){return db[_0x3fea('0x31')][_0x3fea('0x50')](_0x59ecbb[_0x3fea('0x51')],{})['then'](respondWithResult(_0x54b626,0xc9))[_0x3fea('0x49')](handleError(_0x54b626,null));};exports[_0x3fea('0x52')]=function(_0x8bef8b,_0x4f05a2){var _0x48c47f={'where':{'id':_0x8bef8b[_0x3fea('0x4b')]['id']}},_0x112a9e={};_0x112a9e[_0x3fea('0x35')]=_[_0x3fea('0x4c')](db['UserProfile'][_0x3fea('0x4d')]);_0x48c47f[_0x3fea('0x3a')]=_[_0x3fea('0x39')](_0x112a9e[_0x3fea('0x35')],qs['fields'](_0x8bef8b[_0x3fea('0x37')]['fields']));_0x48c47f[_0x3fea('0x3a')]=_0x48c47f[_0x3fea('0x3a')][_0x3fea('0x3c')]?_0x48c47f[_0x3fea('0x3a')]:_0x112a9e[_0x3fea('0x35')];if(_0x8bef8b['query'][_0x3fea('0x46')]){_0x48c47f['include']=[{'all':!![]}];}_0x48c47f=_[_0x3fea('0x43')]({},_0x48c47f,_0x8bef8b['options']);return db['UserProfile'][_0x3fea('0x4f')](_0x48c47f)[_0x3fea('0x2d')](handleEntityNotFound(_0x4f05a2,null))[_0x3fea('0x2d')](function(_0x4bd455){if(_0x4bd455){var _0x74f98f=_0x4bd455[_0x3fea('0x53')]({'plain':!![]});_0x74f98f=qs[_0x3fea('0x54')](_0x74f98f,['id',_0x3fea('0x55'),'updatedAt',_0x3fea('0x56')]);_0x8bef8b[_0x3fea('0x51')]=_[_0x3fea('0x54')](_0x8bef8b[_0x3fea('0x51')],['id','createdAt',_0x3fea('0x57')]);return db[_0x3fea('0x58')][_0x3fea('0x59')](function(_0x3a0412){return db[_0x3fea('0x31')][_0x3fea('0x50')](_[_0x3fea('0x43')](_0x74f98f,_0x8bef8b[_0x3fea('0x51')]),{'include':_0x8bef8b[_0x3fea('0x37')]['includeAll']?[{'all':!![]}]:undefined,'transaction':_0x3a0412})['then'](function(_0x20f021){var _0x2bcafb=_0x20f021['get']({'plain':!![]});return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x8bef8b[_0x3fea('0x4b')]['id']},'raw':!![]})[_0x3fea('0x2d')](function(_0x409212){if(_0x409212){return BPromise['each'](_0x409212,function(_0x218b40){return new BPromise(function(_0x4517eb,_0x523ffa){if(_0x218b40[_0x3fea('0x5a')]===null||_0x218b40[_0x3fea('0x5a')]===0x1)_0x4517eb(null);return db[_0x3fea('0x5b')][_0x3fea('0x47')]({'where':{'sectionId':_0x218b40['id']},'raw':!![]})['then'](function(_0x381135){var _0x1abf0d=_[_0x3fea('0x36')](_0x381135,function(_0x3832b3){return qs[_0x3fea('0x54')](_0x3832b3,['id','createdAt',_0x3fea('0x57'),_0x3fea('0x5c')]);});_0x4517eb(_0x1abf0d);})[_0x3fea('0x49')](function(_0x267945){_0x523ffa(_0x267945);});})[_0x3fea('0x2d')](function(_0x405590){var _0x47ced9=qs[_0x3fea('0x54')](_0x218b40,['id','createdAt',_0x3fea('0x57')]);_0x47ced9['userProfileId']=_0x2bcafb['id'];if(_0x405590)_0x47ced9[_0x3fea('0x5d')]=_0x405590;return _0x47ced9;})[_0x3fea('0x2d')](function(_0x124bef){return db[_0x3fea('0x5e')][_0x3fea('0x50')](_0x124bef,{'include':[{'model':db[_0x3fea('0x5b')],'as':_0x3fea('0x5d')}],'raw':!![],'transaction':_0x3a0412});});})[_0x3fea('0x2d')](function(){return _0x2bcafb;});}});});});}})[_0x3fea('0x2d')](respondWithResult(_0x4f05a2,0xc9))[_0x3fea('0x49')](handleError(_0x4f05a2,null));};exports[_0x3fea('0x2b')]=function(_0x57428e,_0x4b28e9){if(_0x57428e[_0x3fea('0x51')]['id']){delete _0x57428e[_0x3fea('0x51')]['id'];}return db[_0x3fea('0x31')][_0x3fea('0x4f')]({'where':{'id':_0x57428e[_0x3fea('0x4b')]['id']}})[_0x3fea('0x2d')](handleEntityNotFound(_0x4b28e9,null))['then'](saveUpdates(_0x57428e[_0x3fea('0x51')],null))[_0x3fea('0x2d')](respondWithResult(_0x4b28e9,null))[_0x3fea('0x49')](handleError(_0x4b28e9,null));};exports[_0x3fea('0x2c')]=function(_0x5adf66,_0x1aa3f6){return db[_0x3fea('0x31')][_0x3fea('0x4f')]({'where':{'id':_0x5adf66['params']['id']}})[_0x3fea('0x2d')](handleEntityNotFound(_0x1aa3f6,null))[_0x3fea('0x2d')](removeEntity(_0x1aa3f6,null))[_0x3fea('0x49')](handleError(_0x1aa3f6,null));};exports[_0x3fea('0x5f')]=function(_0x28f61f,_0x4bbe04){return db[_0x3fea('0x31')][_0x3fea('0x5f')]()[_0x3fea('0x2d')](respondWithResult(_0x4bbe04,null))[_0x3fea('0x49')](handleError(_0x4bbe04,null));};exports[_0x3fea('0x60')]=function(_0x2e3853,_0x2dc34b){var _0xb098d=_0x2e3853['body'];return db[_0x3fea('0x31')][_0x3fea('0x4f')]({'where':{'id':_0x2e3853[_0x3fea('0x4b')]['id']}})['then'](handleEntityNotFound(_0x2dc34b,null))[_0x3fea('0x2d')](function(_0x5e2473){if(_0x5e2473){return db['sequelize'][_0x3fea('0x59')](function(_0x478bb7){return db[_0x3fea('0x5e')][_0x3fea('0x2c')]({'where':{'userProfileId':_0x2e3853[_0x3fea('0x4b')]['id'],'sectionId':_[_0x3fea('0x36')](_0xb098d,function(_0x4ec189){return _0x4ec189[_0x3fea('0x5c')];})},'transaction':_0x478bb7})[_0x3fea('0x2d')](function(){var _0x22e6b5=_['map'](_0xb098d,function(_0x5f5cbe){_0x5f5cbe[_0x3fea('0x61')]=_0x2e3853[_0x3fea('0x4b')]['id'];return _0x5f5cbe;});var _0x10ca56=[];return BPromise[_0x3fea('0x62')](_0x22e6b5,function(_0x2741d3){return db['UserProfileSection'][_0x3fea('0x50')](_0x2741d3,{'include':[{'model':db[_0x3fea('0x5b')],'as':_0x3fea('0x5d')}],'raw':!![],'transaction':_0x478bb7})[_0x3fea('0x2d')](function(_0x5ba9a0){_0x10ca56[_0x3fea('0x63')](_0x5ba9a0['get']({'plain':!![]}));});})[_0x3fea('0x2d')](function(){return _0x10ca56;});});});}})[_0x3fea('0x2d')](function(_0x445f8f){return _0x445f8f;})['then'](respondWithResult(_0x2dc34b,null))[_0x3fea('0x49')](handleError(_0x2dc34b,null));};exports[_0x3fea('0x64')]=function(_0x3b6abe,_0x3cc876){var _0x5277d6;return db[_0x3fea('0x31')][_0x3fea('0x4f')]({'where':{'id':_0x3b6abe[_0x3fea('0x4b')]['id']},'attributes':['id','name']})[_0x3fea('0x2d')](handleEntityNotFound(_0x3cc876,null))['then'](function(_0x236f01){if(_0x236f01){_0x5277d6=_0x236f01;return db[_0x3fea('0x5e')][_0x3fea('0x2c')]({'where':{'userProfileId':_0x3b6abe[_0x3fea('0x4b')]['id'],'sectionId':_0x3b6abe['query'][_0x3fea('0x65')]}});}})[_0x3fea('0x2d')](function(){return _0x5277d6;})[_0x3fea('0x2d')](respondWithStatusCode(_0x3cc876,null))[_0x3fea('0x49')](handleError(_0x3cc876,null));};exports[_0x3fea('0x66')]=function(_0x51f2a7,_0x5826b9){var _0x55501b=[];var _0x383873=[];return db[_0x3fea('0x5e')][_0x3fea('0x47')]({'where':{'userProfileId':_0x51f2a7[_0x3fea('0x4b')]['id']},'raw':!![]})[_0x3fea('0x2d')](function(_0xd57318){_0x55501b=_[_0x3fea('0x42')](_0xd57318,function(_0x32c9a5){return _0x32c9a5['enabled']===0x1||_['includes']([0x3eb,0x709],_0x32c9a5[_0x3fea('0x5c')]);});if(!_['isEmpty'](_0x55501b)){return _['map'](_0x55501b,function(_0x4e3c19){return _0x4e3c19[_0x3fea('0x5c')];});}else{return;}})['then'](function(_0x10ac36){if(_0x10ac36)_0x383873=_0x10ac36;if(_[_0x3fea('0x67')](_0x383873,0x64)){var _0x43e888=_[_0x3fea('0x4f')](_0x55501b,{'sectionId':0x64});return hasDefaultDashboard(_0x43e888)[_0x3fea('0x2d')](function(_0x15e906){return _[_0x3fea('0x36')](_0x55501b,function(_0x176719){if(_0x176719['sectionId']===0x64){_0x176719[_0x3fea('0x68')]=_0x15e906;}return _0x176719;});});}else{return;}})['then'](function(_0x4a1bdb){if(_0x4a1bdb)_0x55501b=_0x4a1bdb;if(_[_0x3fea('0x67')](_0x383873,0x3eb)){var _0x1f01cd=_[_0x3fea('0x4f')](_0x55501b,{'sectionId':0x3eb});return getCustomDashboards(_0x1f01cd)[_0x3fea('0x2d')](function(_0x514aa7){return _['map'](_0x55501b,function(_0xb8303f){if(_0x1f01cd[_0x3fea('0x69')]){if(_0xb8303f['sectionId']===0x3eb){_0xb8303f[_0x3fea('0x68')]=_0x514aa7;}}else{if(_0xb8303f[_0x3fea('0x5c')]===0x64){if(!_0xb8303f[_0x3fea('0x68')]){_0xb8303f[_0x3fea('0x68')]=[];}_0xb8303f[_0x3fea('0x68')]=_0xb8303f[_0x3fea('0x68')][_0x3fea('0x6a')](_0x514aa7);}}return _0xb8303f;});});}else{return;}})[_0x3fea('0x2d')](function(_0x3b7b60){if(_0x3b7b60)_0x55501b=_0x3b7b60;if(_[_0x3fea('0x67')](_0x383873,0x709)){var _0x36a91a=_[_0x3fea('0x4f')](_0x55501b,{'sectionId':0x709});return getPlugins(_0x36a91a)[_0x3fea('0x2d')](function(_0x36fa51){if(_0x36a91a[_0x3fea('0x69')]){return _[_0x3fea('0x36')](_0x55501b,function(_0x37edff){if(_0x37edff['sectionId']===0x709){_0x37edff[_0x3fea('0x68')]=_0x36fa51;}return _0x37edff;});}else{var _0x113e58={'sectionId':0x76c,'enabled':0x1,'subsections':_0x36fa51};var _0x2e26e9=_['map'](_0x55501b);_0x2e26e9[_0x3fea('0x63')](_0x113e58);return _0x2e26e9;}});}else{return;}})['then'](function(_0x3dc622){if(_0x3dc622)_0x55501b=_0x3dc622;return _[_0x3fea('0x42')](_0x55501b,[_0x3fea('0x69'),0x1]);})['then'](respondWithResult(_0x5826b9,null))[_0x3fea('0x49')](handleError(_0x5826b9,null));};function hasDefaultDashboard(_0xfe0801){var _0x153de9=[0x65];return new BPromise(function(_0x56bcb7,_0x2b8d53){try{if(_0xfe0801['autoAssociation']){_0x56bcb7(_0x153de9);}else{return db['UserProfileResource']['findOne']({'where':{'sectionId':_0xfe0801['id']},'raw':!![]})[_0x3fea('0x2d')](function(_0x2263c7){_0x2263c7?_0x56bcb7(_0x153de9):_0x56bcb7();});}}catch(_0x2c37b0){_0x2b8d53(_0x2c37b0);}});}function getCustomDashboards(_0x2832b0){var _0x21748e=[];return new BPromise(function(_0x4fee6f,_0x1a1494){try{if(_0x2832b0['autoAssociation']){return db[_0x3fea('0x6b')][_0x3fea('0x47')]({'raw':!![]})[_0x3fea('0x2d')](function(_0x590bf4){_0x590bf4[_0x3fea('0x6c')](function(_0x3616fd){_0x21748e['push'](_0x3616fd['id']+0x1869f);});_0x4fee6f(_0x21748e);});}else{return db['UserProfileResource'][_0x3fea('0x47')]({'where':{'sectionId':_0x2832b0['id']},'raw':!![]})[_0x3fea('0x2d')](function(_0x5a7562){_0x5a7562[_0x3fea('0x6c')](function(_0x2931c1){_0x21748e['push'](_0x2931c1[_0x3fea('0x6d')]+0x1869f);});_0x4fee6f(_0x21748e);});}}catch(_0x5e4eb4){_0x1a1494(_0x5e4eb4);}});}function getPlugins(_0x16cf0e){var _0x985e9e=[];return new BPromise(function(_0x44374b,_0xb75c85){try{if(_0x16cf0e[_0x3fea('0x5a')]){return db[_0x3fea('0x6e')][_0x3fea('0x47')]({'raw':!![]})[_0x3fea('0x2d')](function(_0x27a4c7){_0x27a4c7[_0x3fea('0x6c')](function(_0xdff77a){_0x985e9e[_0x3fea('0x63')](_0xdff77a['id']+0x15b38);});_0x44374b(_0x985e9e);});}else{return db[_0x3fea('0x5b')][_0x3fea('0x47')]({'where':{'sectionId':_0x16cf0e['id']},'raw':!![]})[_0x3fea('0x2d')](function(_0x4bdb85){_0x4bdb85['forEach'](function(_0x1f7b30){_0x985e9e[_0x3fea('0x63')](_0x1f7b30[_0x3fea('0x6d')]+0x15b38);});_0x44374b(_0x985e9e);});}}catch(_0xc37299){_0xb75c85(_0xc37299);}});}exports[_0x3fea('0x6f')]=function(_0x56463c,_0x575f71){return db[_0x3fea('0x31')][_0x3fea('0x4f')]({'where':{'id':_0x56463c[_0x3fea('0x4b')]['id']}})[_0x3fea('0x2d')](handleEntityNotFound(_0x575f71,null))['then'](function(_0xc51321){if(_0xc51321){return db[_0x3fea('0x58')][_0x3fea('0x59')](function(_0x5af93d){return db[_0x3fea('0x5e')][_0x3fea('0x47')]({'where':{'userProfileId':_0x56463c[_0x3fea('0x4b')]['id']},'attributes':['id'],'raw':!![]})[_0x3fea('0x2d')](function(_0x92b1e){if(_0x92b1e){return db[_0x3fea('0x5e')][_0x3fea('0x2c')]({'where':{'userProfileId':_0x56463c[_0x3fea('0x4b')]['id'],'id':_['map'](_0x92b1e,function(_0x45075c){return _0x45075c['id'];})},'transaction':_0x5af93d});}})[_0x3fea('0x2d')](function(_0x1302ba){var _0x34be99=_[_0x3fea('0x36')](_0x56463c[_0x3fea('0x51')],function(_0x2a5b23){_0x2a5b23[_0x3fea('0x61')]=_0x56463c[_0x3fea('0x4b')]['id'];return _0x2a5b23;});return db[_0x3fea('0x5e')]['bulkCreate'](_0x34be99,{'raw':!![],'transaction':_0x5af93d});})[_0x3fea('0x2d')](function(_0x464046){var _0x4c5441=_[_0x3fea('0x42')](_[_0x3fea('0x36')](_0x464046,function(_0xad5cdd){return _0xad5cdd[_0x3fea('0x53')]({'plain':!![]});}),{'includeAll':![]});if(_0x4c5441){return db[_0x3fea('0x5e')][_0x3fea('0x47')]({'where':{'userProfileId':_0x56463c['params']['id'],'sectionId':_[_0x3fea('0x36')](_0x4c5441,function(_0x5c438f){return _0x5c438f[_0x3fea('0x5c')];})},'attributes':['id',_0x3fea('0x5c')],'raw':!![]})['then'](function(_0x52f769){var _0x515fab=_['map'](_0x56463c['body'],function(_0x548f54){_0x548f54[_0x3fea('0x61')]=_0x56463c[_0x3fea('0x4b')]['id'];return _0x548f54;});return db[_0x3fea('0x5b')][_0x3fea('0x70')](_0x515fab,{'raw':!![],'transaction':_0x5af93d});});}})['catch'](handleError(_0x575f71,null));});}})[_0x3fea('0x2d')](function(_0x140a2d){var _0xd4182c=_[_0x3fea('0x36')](_0x140a2d,function(_0x165d4b){return _0x165d4b[_0x3fea('0x53')]({'plain':!![]});});})[_0x3fea('0x2d')](respondWithResult(_0x575f71,null))[_0x3fea('0x49')](handleError(_0x575f71,null));};exports[_0x3fea('0x71')]=function(_0x7227a3,_0x3db043,_0x1b7d09){return db[_0x3fea('0x31')][_0x3fea('0x4f')]({'where':{'id':_0x7227a3[_0x3fea('0x4b')]['id']}})[_0x3fea('0x2d')](handleEntityNotFound(_0x3db043,null))['then'](function(_0x57b4e9){if(_0x57b4e9){return _0x57b4e9[_0x3fea('0x71')](_0x7227a3[_0x3fea('0x37')][_0x3fea('0x65')]);}})['then'](respondWithStatusCode(_0x3db043,null))[_0x3fea('0x49')](handleError(_0x3db043,null));};exports[_0x3fea('0x72')]=function(_0x26cd3d,_0x4c56fa){var _0x906ad7={};if(!_0x26cd3d[_0x3fea('0x37')][_0x3fea('0x73')])throw new Error(_0x3fea('0x74'));if(!_0x26cd3d[_0x3fea('0x37')]['hasOwnProperty'](_0x3fea('0x3e'))){_0x906ad7['limit']=qs['limit'](_0x26cd3d[_0x3fea('0x37')][_0x3fea('0x24')]);_0x906ad7[_0x3fea('0x22')]=qs['offset'](_0x26cd3d[_0x3fea('0x37')][_0x3fea('0x22')]);}return db[_0x3fea('0x31')][_0x3fea('0x4f')]({'where':{'id':_0x26cd3d['params']['id']}})[_0x3fea('0x2d')](function(_0x2b34ab){if(!_0x2b34ab)throw new Error('No\x20User\x20Profile\x20found\x20for\x20id\x20'+_0x26cd3d[_0x3fea('0x4b')]['id']);return db[_0x3fea('0x31')][_0x3fea('0x72')](_0x26cd3d);})[_0x3fea('0x2d')](respondWithFilteredResult(_0x4c56fa,_0x906ad7))['catch'](handleError(_0x4c56fa,null));};