2029323ab81bdd075e7fa8800e89ec460c52ac3c
[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 _0x2015=['update','then','destroy','name','send','UserProfile','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','include','findAll','catch','show','params','options','find','create','body','length','includeAll','get','omit','createdAt','updatedAt','sequelize','transaction','each','autoAssociation','UserProfileResource','Resources','UserProfileSection','describe','addSections','map','sectionId','userProfileId','push','ids','getSections','includes','isEmpty','subsections','enabled','forEach','Plugin','resourceId','bulkCreate','removeResources','getResources','section','Missing\x20section\x20parameter','No\x20User\x20Profile\x20found\x20for\x20id\x20','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','end','json','offset','undefined','limit','count','Content-Range','apply','reject'];(function(_0x1fa198,_0x568701){var _0x136560=function(_0x50815a){while(--_0x50815a){_0x1fa198['push'](_0x1fa198['shift']());}};_0x136560(++_0x568701);}(_0x2015,0x193));var _0x5201=function(_0x1d9f78,_0xb14dcf){_0x1d9f78=_0x1d9f78-0x0;var _0xd009ca=_0x2015[_0x1d9f78];return _0xd009ca;};'use strict';var emlformat=require(_0x5201('0x0'));var rimraf=require(_0x5201('0x1'));var zipdir=require(_0x5201('0x2'));var jsonpatch=require(_0x5201('0x3'));var rp=require(_0x5201('0x4'));var moment=require(_0x5201('0x5'));var BPromise=require(_0x5201('0x6'));var Mustache=require(_0x5201('0x7'));var util=require('util');var path=require(_0x5201('0x8'));var sox=require(_0x5201('0x9'));var csv=require(_0x5201('0xa'));var ejs=require(_0x5201('0xb'));var fs=require('fs');var fs_extra=require(_0x5201('0xc'));var _=require(_0x5201('0xd'));var squel=require(_0x5201('0xe'));var crypto=require(_0x5201('0xf'));var jsforce=require(_0x5201('0x10'));var deskjs=require(_0x5201('0x11'));var toCsv=require('to-csv');var querystring=require(_0x5201('0x12'));var Papa=require(_0x5201('0x13'));var Redis=require('ioredis');var authService=require(_0x5201('0x14'));var qs=require(_0x5201('0x15'));var as=require(_0x5201('0x16'));var hardwareService=require('../../config/license/hardware');var logger=require(_0x5201('0x17'))(_0x5201('0x18'));var utils=require(_0x5201('0x19'));var config=require(_0x5201('0x1a'));var licenseUtil=require(_0x5201('0x1b'));var db=require(_0x5201('0x1c'))['db'];config[_0x5201('0x1d')]=_[_0x5201('0x1e')](config[_0x5201('0x1d')],{'host':_0x5201('0x1f'),'port':0x18eb});var socket=require(_0x5201('0x20'))(new Redis(config[_0x5201('0x1d')]));require('./userProfile.socket')[_0x5201('0x21')](socket);function respondWithStatusCode(_0x30a34e,_0x578325){_0x578325=_0x578325||0xcc;return function(_0x55562c){if(_0x55562c){return _0x30a34e[_0x5201('0x22')](_0x578325);}return _0x30a34e[_0x5201('0x23')](_0x578325)[_0x5201('0x24')]();};}function respondWithResult(_0x5b3184,_0x4c6d67){_0x4c6d67=_0x4c6d67||0xc8;return function(_0x26856f){if(_0x26856f){return _0x5b3184['status'](_0x4c6d67)[_0x5201('0x25')](_0x26856f);}};}function respondWithFilteredResult(_0x54810d,_0xa0f76f){return function(_0x4d44d8){if(_0x4d44d8){var _0x2a5643=typeof _0xa0f76f[_0x5201('0x26')]===_0x5201('0x27')&&typeof _0xa0f76f[_0x5201('0x28')]==='undefined';var _0x510942=_0x4d44d8[_0x5201('0x29')];var _0x261975=_0x2a5643?0x0:_0xa0f76f[_0x5201('0x26')];var _0x54a901=_0x2a5643?_0x4d44d8[_0x5201('0x29')]:_0xa0f76f[_0x5201('0x26')]+_0xa0f76f[_0x5201('0x28')];var _0x446bee;if(_0x54a901>=_0x510942){_0x54a901=_0x510942;_0x446bee=0xc8;}else{_0x446bee=0xce;}_0x54810d[_0x5201('0x23')](_0x446bee);return _0x54810d['set'](_0x5201('0x2a'),_0x261975+'-'+_0x54a901+'/'+_0x510942)[_0x5201('0x25')](_0x4d44d8);}return null;};}function patchUpdates(_0x33c2bb){return function(_0x2fefd6){try{jsonpatch[_0x5201('0x2b')](_0x2fefd6,_0x33c2bb,!![]);}catch(_0x6d5e04){return BPromise[_0x5201('0x2c')](_0x6d5e04);}return _0x2fefd6['save']();};}function saveUpdates(_0x4a3040,_0x428ce9){return function(_0x338bf1){if(_0x338bf1){return _0x338bf1[_0x5201('0x2d')](_0x4a3040)[_0x5201('0x2e')](function(_0x1258a7){return _0x1258a7;});}return null;};}function removeEntity(_0x219e8,_0x43ca02){return function(_0x171d20){if(_0x171d20){return _0x171d20[_0x5201('0x2f')]()['then'](function(){_0x219e8[_0x5201('0x23')](0xcc)[_0x5201('0x24')]();});}};}function handleEntityNotFound(_0x48404e,_0x4c82ff){return function(_0x5bc174){if(!_0x5bc174){_0x48404e['sendStatus'](0x194);}return _0x5bc174;};}function handleError(_0x13d4f0,_0x1707f5){_0x1707f5=_0x1707f5||0x1f4;return function(_0x33eecd){logger['error'](_0x33eecd['stack']);if(_0x33eecd[_0x5201('0x30')]){delete _0x33eecd[_0x5201('0x30')];}_0x13d4f0[_0x5201('0x23')](_0x1707f5)[_0x5201('0x31')](_0x33eecd);};}exports['index']=function(_0x462212,_0x153720){var _0x19c352={},_0x3dcada={},_0x380107={'count':0x0,'rows':[]};var _0x4bd170=_['map'](db[_0x5201('0x32')][_0x5201('0x33')],function(_0xc4d73c){return{'name':_0xc4d73c[_0x5201('0x34')],'type':_0xc4d73c[_0x5201('0x35')][_0x5201('0x36')]};});_0x3dcada[_0x5201('0x37')]=_['map'](_0x4bd170,_0x5201('0x30'));_0x3dcada[_0x5201('0x38')]=_[_0x5201('0x39')](_0x462212['query']);_0x3dcada[_0x5201('0x3a')]=_[_0x5201('0x3b')](_0x3dcada[_0x5201('0x37')],_0x3dcada[_0x5201('0x38')]);_0x19c352[_0x5201('0x3c')]=_[_0x5201('0x3b')](_0x3dcada[_0x5201('0x37')],qs[_0x5201('0x3d')](_0x462212[_0x5201('0x38')][_0x5201('0x3d')]));_0x19c352[_0x5201('0x3c')]=_0x19c352[_0x5201('0x3c')]['length']?_0x19c352['attributes']:_0x3dcada[_0x5201('0x37')];if(!_0x462212[_0x5201('0x38')][_0x5201('0x3e')](_0x5201('0x3f'))){_0x19c352[_0x5201('0x28')]=qs[_0x5201('0x28')](_0x462212[_0x5201('0x38')]['limit']);_0x19c352[_0x5201('0x26')]=qs[_0x5201('0x26')](_0x462212[_0x5201('0x38')]['offset']);}_0x19c352[_0x5201('0x40')]=qs[_0x5201('0x41')](_0x462212[_0x5201('0x38')]['sort']);_0x19c352[_0x5201('0x42')]=qs[_0x5201('0x3a')](_['pick'](_0x462212['query'],_0x3dcada[_0x5201('0x3a')]),_0x4bd170);if(_0x462212[_0x5201('0x38')][_0x5201('0x43')]){_0x19c352[_0x5201('0x42')]=_[_0x5201('0x44')](_0x19c352[_0x5201('0x42')],{'$or':_['map'](_0x4bd170,function(_0x98890d){if(_0x98890d['type']!=='VIRTUAL'){var _0x14bc22={};_0x14bc22[_0x98890d[_0x5201('0x30')]]={'$like':'%'+_0x462212[_0x5201('0x38')][_0x5201('0x43')]+'%'};return _0x14bc22;}})});}_0x19c352=_[_0x5201('0x44')]({},_0x19c352,_0x462212['options']);var _0x21d83a={'where':_0x19c352[_0x5201('0x42')]};return db[_0x5201('0x32')][_0x5201('0x29')](_0x21d83a)[_0x5201('0x2e')](function(_0x62a2a4){_0x380107[_0x5201('0x29')]=_0x62a2a4;if(_0x462212['query']['includeAll']){_0x19c352[_0x5201('0x45')]=[{'all':!![]}];}return db[_0x5201('0x32')][_0x5201('0x46')](_0x19c352);})[_0x5201('0x2e')](function(_0x3bf92c){_0x380107['rows']=_0x3bf92c;return _0x380107;})['then'](respondWithFilteredResult(_0x153720,_0x19c352))[_0x5201('0x47')](handleError(_0x153720,null));};exports[_0x5201('0x48')]=function(_0x45886c,_0xfd55f8){var _0x134c43={'raw':![],'where':{'id':_0x45886c[_0x5201('0x49')]['id']}},_0x3b54a9={};_0x3b54a9[_0x5201('0x37')]=_[_0x5201('0x39')](db[_0x5201('0x32')][_0x5201('0x33')]);_0x3b54a9['query']=_['keys'](_0x45886c[_0x5201('0x38')]);_0x3b54a9[_0x5201('0x3a')]=_[_0x5201('0x3b')](_0x3b54a9[_0x5201('0x37')],_0x3b54a9[_0x5201('0x38')]);_0x134c43['attributes']=_['intersection'](_0x3b54a9[_0x5201('0x37')],qs[_0x5201('0x3d')](_0x45886c[_0x5201('0x38')][_0x5201('0x3d')]));_0x134c43[_0x5201('0x3c')]=_0x134c43[_0x5201('0x3c')]['length']?_0x134c43['attributes']:_0x3b54a9['model'];if(_0x45886c[_0x5201('0x38')]['includeAll']){_0x134c43[_0x5201('0x45')]=[{'all':!![]}];}_0x134c43=_[_0x5201('0x44')]({},_0x134c43,_0x45886c[_0x5201('0x4a')]);return db[_0x5201('0x32')][_0x5201('0x4b')](_0x134c43)['then'](handleEntityNotFound(_0xfd55f8,null))[_0x5201('0x2e')](respondWithResult(_0xfd55f8,null))[_0x5201('0x47')](handleError(_0xfd55f8,null));};exports[_0x5201('0x4c')]=function(_0x14e692,_0x3eeea1){return db[_0x5201('0x32')][_0x5201('0x4c')](_0x14e692[_0x5201('0x4d')],{})[_0x5201('0x2e')](respondWithResult(_0x3eeea1,0xc9))[_0x5201('0x47')](handleError(_0x3eeea1,null));};exports['clone']=function(_0x12bc51,_0x4f79b4){var _0x36340d={'where':{'id':_0x12bc51['params']['id']}},_0x2be3f9={};_0x2be3f9[_0x5201('0x37')]=_[_0x5201('0x39')](db['UserProfile'][_0x5201('0x33')]);_0x36340d['attributes']=_[_0x5201('0x3b')](_0x2be3f9[_0x5201('0x37')],qs[_0x5201('0x3d')](_0x12bc51[_0x5201('0x38')][_0x5201('0x3d')]));_0x36340d['attributes']=_0x36340d[_0x5201('0x3c')][_0x5201('0x4e')]?_0x36340d[_0x5201('0x3c')]:_0x2be3f9[_0x5201('0x37')];if(_0x12bc51[_0x5201('0x38')][_0x5201('0x4f')]){_0x36340d[_0x5201('0x45')]=[{'all':!![]}];}_0x36340d=_[_0x5201('0x44')]({},_0x36340d,_0x12bc51[_0x5201('0x4a')]);return db[_0x5201('0x32')][_0x5201('0x4b')](_0x36340d)[_0x5201('0x2e')](handleEntityNotFound(_0x4f79b4,null))['then'](function(_0x468c0d){if(_0x468c0d){var _0x41486e=_0x468c0d[_0x5201('0x50')]({'plain':!![]});_0x41486e=qs[_0x5201('0x51')](_0x41486e,['id',_0x5201('0x52'),_0x5201('0x53'),'crudPermissions']);_0x12bc51[_0x5201('0x4d')]=_[_0x5201('0x51')](_0x12bc51[_0x5201('0x4d')],['id',_0x5201('0x52'),_0x5201('0x53')]);return db[_0x5201('0x54')][_0x5201('0x55')](function(_0x5befec){return db['UserProfile'][_0x5201('0x4c')](_[_0x5201('0x44')](_0x41486e,_0x12bc51[_0x5201('0x4d')]),{'include':_0x12bc51[_0x5201('0x38')][_0x5201('0x4f')]?[{'all':!![]}]:undefined,'transaction':_0x5befec})['then'](function(_0x1011d3){var _0x458731=_0x1011d3[_0x5201('0x50')]({'plain':!![]});return db['UserProfileSection'][_0x5201('0x46')]({'where':{'userProfileId':_0x12bc51[_0x5201('0x49')]['id']},'raw':!![]})[_0x5201('0x2e')](function(_0x224358){if(_0x224358){return BPromise[_0x5201('0x56')](_0x224358,function(_0x5d3501){return new BPromise(function(_0x27ef3c,_0x4a3477){if(_0x5d3501[_0x5201('0x57')]===null||_0x5d3501[_0x5201('0x57')]===0x1)_0x27ef3c(null);return db[_0x5201('0x58')][_0x5201('0x46')]({'where':{'sectionId':_0x5d3501['id']},'raw':!![]})[_0x5201('0x2e')](function(_0x5a10bc){var _0x3d8671=_['map'](_0x5a10bc,function(_0x791e5){return qs[_0x5201('0x51')](_0x791e5,['id',_0x5201('0x52'),_0x5201('0x53'),'sectionId']);});_0x27ef3c(_0x3d8671);})[_0x5201('0x47')](function(_0x1f33af){_0x4a3477(_0x1f33af);});})['then'](function(_0x428a4d){var _0xa46f75=qs[_0x5201('0x51')](_0x5d3501,['id',_0x5201('0x52'),_0x5201('0x53')]);_0xa46f75['userProfileId']=_0x458731['id'];if(_0x428a4d)_0xa46f75[_0x5201('0x59')]=_0x428a4d;return _0xa46f75;})[_0x5201('0x2e')](function(_0x4b5e75){return db[_0x5201('0x5a')][_0x5201('0x4c')](_0x4b5e75,{'include':[{'model':db['UserProfileResource'],'as':_0x5201('0x59')}],'raw':!![],'transaction':_0x5befec});});})[_0x5201('0x2e')](function(){return _0x458731;});}});});});}})[_0x5201('0x2e')](respondWithResult(_0x4f79b4,0xc9))['catch'](handleError(_0x4f79b4,null));};exports['update']=function(_0xe0a257,_0x207b6a){if(_0xe0a257['body']['id']){delete _0xe0a257['body']['id'];}return db['UserProfile'][_0x5201('0x4b')]({'where':{'id':_0xe0a257['params']['id']}})[_0x5201('0x2e')](handleEntityNotFound(_0x207b6a,null))[_0x5201('0x2e')](saveUpdates(_0xe0a257[_0x5201('0x4d')],null))[_0x5201('0x2e')](respondWithResult(_0x207b6a,null))['catch'](handleError(_0x207b6a,null));};exports[_0x5201('0x2f')]=function(_0x157997,_0x3e490b){return db[_0x5201('0x32')][_0x5201('0x4b')]({'where':{'id':_0x157997[_0x5201('0x49')]['id']}})[_0x5201('0x2e')](handleEntityNotFound(_0x3e490b,null))[_0x5201('0x2e')](removeEntity(_0x3e490b,null))['catch'](handleError(_0x3e490b,null));};exports[_0x5201('0x5b')]=function(_0x2cf56f,_0x506501){return db[_0x5201('0x32')]['describe']()[_0x5201('0x2e')](respondWithResult(_0x506501,null))['catch'](handleError(_0x506501,null));};exports[_0x5201('0x5c')]=function(_0x5f1fa1,_0x5b275f){var _0x532c34=_0x5f1fa1[_0x5201('0x4d')];return db['UserProfile'][_0x5201('0x4b')]({'where':{'id':_0x5f1fa1[_0x5201('0x49')]['id']}})['then'](handleEntityNotFound(_0x5b275f,null))[_0x5201('0x2e')](function(_0x31ef44){if(_0x31ef44){return db[_0x5201('0x54')]['transaction'](function(_0x3a4d8a){return db['UserProfileSection'][_0x5201('0x2f')]({'where':{'userProfileId':_0x5f1fa1[_0x5201('0x49')]['id'],'sectionId':_[_0x5201('0x5d')](_0x532c34,function(_0x271947){return _0x271947[_0x5201('0x5e')];})},'transaction':_0x3a4d8a})['then'](function(){var _0x545f09=_['map'](_0x532c34,function(_0x20dfe7){_0x20dfe7[_0x5201('0x5f')]=_0x5f1fa1[_0x5201('0x49')]['id'];return _0x20dfe7;});var _0x3cf036=[];return BPromise[_0x5201('0x56')](_0x545f09,function(_0x568f0f){return db[_0x5201('0x5a')][_0x5201('0x4c')](_0x568f0f,{'include':[{'model':db[_0x5201('0x58')],'as':_0x5201('0x59')}],'raw':!![],'transaction':_0x3a4d8a})[_0x5201('0x2e')](function(_0x1bf511){_0x3cf036[_0x5201('0x60')](_0x1bf511[_0x5201('0x50')]({'plain':!![]}));});})[_0x5201('0x2e')](function(){return _0x3cf036;});});});}})[_0x5201('0x2e')](function(_0x11c5f7){return _0x11c5f7;})['then'](respondWithResult(_0x5b275f,null))[_0x5201('0x47')](handleError(_0x5b275f,null));};exports['removeSections']=function(_0x22001f,_0x2d3860){var _0x5588c8;return db[_0x5201('0x32')][_0x5201('0x4b')]({'where':{'id':_0x22001f[_0x5201('0x49')]['id']},'attributes':['id',_0x5201('0x30')]})[_0x5201('0x2e')](handleEntityNotFound(_0x2d3860,null))[_0x5201('0x2e')](function(_0x160586){if(_0x160586){_0x5588c8=_0x160586;return db['UserProfileSection'][_0x5201('0x2f')]({'where':{'userProfileId':_0x22001f[_0x5201('0x49')]['id'],'sectionId':_0x22001f['query'][_0x5201('0x61')]}});}})[_0x5201('0x2e')](function(){return _0x5588c8;})[_0x5201('0x2e')](respondWithStatusCode(_0x2d3860,null))[_0x5201('0x47')](handleError(_0x2d3860,null));};exports[_0x5201('0x62')]=function(_0x3177b4,_0x16fec0){var _0x33bae9=[];var _0x21d208=[];return db[_0x5201('0x5a')][_0x5201('0x46')]({'where':{'userProfileId':_0x3177b4[_0x5201('0x49')]['id']},'raw':!![]})[_0x5201('0x2e')](function(_0x1e682d){_0x33bae9=_['filter'](_0x1e682d,function(_0x5eb19d){return _0x5eb19d['enabled']===0x1||_[_0x5201('0x63')]([0x3eb,0x709],_0x5eb19d[_0x5201('0x5e')]);});if(!_[_0x5201('0x64')](_0x33bae9)){return _['map'](_0x33bae9,function(_0x32904c){return _0x32904c[_0x5201('0x5e')];});}else{return;}})[_0x5201('0x2e')](function(_0x28c2b8){if(_0x28c2b8)_0x21d208=_0x28c2b8;if(_['includes'](_0x21d208,0x64)){var _0x38080d=_[_0x5201('0x4b')](_0x33bae9,{'sectionId':0x64});return hasDefaultDashboard(_0x38080d)[_0x5201('0x2e')](function(_0x3a533a){return _[_0x5201('0x5d')](_0x33bae9,function(_0x15a4c9){if(_0x15a4c9[_0x5201('0x5e')]===0x64){_0x15a4c9[_0x5201('0x65')]=_0x3a533a;}return _0x15a4c9;});});}else{return;}})[_0x5201('0x2e')](function(_0x4c1e85){if(_0x4c1e85)_0x33bae9=_0x4c1e85;if(_['includes'](_0x21d208,0x3eb)){var _0x5c62e6=_[_0x5201('0x4b')](_0x33bae9,{'sectionId':0x3eb});return getCustomDashboards(_0x5c62e6)[_0x5201('0x2e')](function(_0x584719){return _['map'](_0x33bae9,function(_0x426a08){if(_0x5c62e6['enabled']){if(_0x426a08['sectionId']===0x3eb){_0x426a08[_0x5201('0x65')]=_0x584719;}}else{if(_0x426a08[_0x5201('0x5e')]===0x64){_0x426a08[_0x5201('0x65')]=_0x584719;}}return _0x426a08;});});}else{return;}})['then'](function(_0x2d5763){if(_0x2d5763)_0x33bae9=_0x2d5763;if(_[_0x5201('0x63')](_0x21d208,0x709)){var _0x48bd67=_[_0x5201('0x4b')](_0x33bae9,{'sectionId':0x709});return getPlugins(_0x48bd67)[_0x5201('0x2e')](function(_0x532984){if(_0x48bd67[_0x5201('0x66')]){return _['map'](_0x33bae9,function(_0x26a8fc){if(_0x26a8fc[_0x5201('0x5e')]===0x709){_0x26a8fc['subsections']=_0x532984;}return _0x26a8fc;});}else{var _0x6a4c18={'sectionId':0x76c,'enabled':0x1,'subsections':_0x532984};var _0x52fae4=_[_0x5201('0x5d')](_0x33bae9);_0x52fae4[_0x5201('0x60')](_0x6a4c18);return _0x52fae4;}});}else{return;}})[_0x5201('0x2e')](function(_0x1a47dc){if(_0x1a47dc)_0x33bae9=_0x1a47dc;return _[_0x5201('0x43')](_0x33bae9,['enabled',0x1]);})['then'](respondWithResult(_0x16fec0,null))[_0x5201('0x47')](handleError(_0x16fec0,null));};function hasDefaultDashboard(_0x273e1d){var _0x26827b=[0x65];return new BPromise(function(_0x38dd17,_0x58edab){try{if(_0x273e1d[_0x5201('0x57')]){_0x38dd17(_0x26827b);}else{return db['UserProfileResource']['findOne']({'where':{'sectionId':_0x273e1d['id']},'raw':!![]})[_0x5201('0x2e')](function(_0x436767){_0x436767?_0x38dd17(_0x26827b):_0x38dd17();});}}catch(_0x25e148){_0x58edab(_0x25e148);}});}function getCustomDashboards(_0x66467b){var _0x4afdea=[];return new BPromise(function(_0x524801,_0x39b24e){try{if(_0x66467b[_0x5201('0x57')]){return db['Dashboard']['findAll']({'raw':!![]})['then'](function(_0x16ad55){_0x16ad55[_0x5201('0x67')](function(_0x3b2476){_0x4afdea[_0x5201('0x60')](_0x3b2476['id']+0x1869f);});_0x524801(_0x4afdea);});}else{return db[_0x5201('0x58')][_0x5201('0x46')]({'where':{'sectionId':_0x66467b['id']},'raw':!![]})[_0x5201('0x2e')](function(_0x240130){_0x240130[_0x5201('0x67')](function(_0x3871d7){_0x4afdea[_0x5201('0x60')](_0x3871d7['resourceId']+0x1869f);});_0x524801(_0x4afdea);});}}catch(_0x48e5d0){_0x39b24e(_0x48e5d0);}});}function getPlugins(_0x3814ee){var _0x4582b5=[];return new BPromise(function(_0x25c930,_0x3f6f5a){try{if(_0x3814ee['autoAssociation']){return db[_0x5201('0x68')][_0x5201('0x46')]({'raw':!![]})[_0x5201('0x2e')](function(_0x57637f){_0x57637f['forEach'](function(_0x5f0821){_0x4582b5[_0x5201('0x60')](_0x5f0821['id']+0x15b38);});_0x25c930(_0x4582b5);});}else{return db['UserProfileResource'][_0x5201('0x46')]({'where':{'sectionId':_0x3814ee['id']},'raw':!![]})[_0x5201('0x2e')](function(_0x34d21b){_0x34d21b[_0x5201('0x67')](function(_0x52a6a0){_0x4582b5[_0x5201('0x60')](_0x52a6a0[_0x5201('0x69')]+0x15b38);});_0x25c930(_0x4582b5);});}}catch(_0x25b13a){_0x3f6f5a(_0x25b13a);}});}exports['addResources']=function(_0x4cc4e9,_0x1ee912){return db[_0x5201('0x32')]['find']({'where':{'id':_0x4cc4e9['params']['id']}})[_0x5201('0x2e')](handleEntityNotFound(_0x1ee912,null))[_0x5201('0x2e')](function(_0x583b9e){if(_0x583b9e){return db[_0x5201('0x54')]['transaction'](function(_0x316824){return db[_0x5201('0x5a')]['findAll']({'where':{'userProfileId':_0x4cc4e9['params']['id']},'attributes':['id'],'raw':!![]})[_0x5201('0x2e')](function(_0x5a026f){if(_0x5a026f){return db[_0x5201('0x5a')]['destroy']({'where':{'userProfileId':_0x4cc4e9[_0x5201('0x49')]['id'],'id':_[_0x5201('0x5d')](_0x5a026f,function(_0x4ade05){return _0x4ade05['id'];})},'transaction':_0x316824});}})[_0x5201('0x2e')](function(_0x2cedb8){var _0x324511=_[_0x5201('0x5d')](_0x4cc4e9[_0x5201('0x4d')],function(_0x42fe26){_0x42fe26['userProfileId']=_0x4cc4e9[_0x5201('0x49')]['id'];return _0x42fe26;});return db['UserProfileSection'][_0x5201('0x6a')](_0x324511,{'raw':!![],'transaction':_0x316824});})[_0x5201('0x2e')](function(_0x56d6d0){var _0x56d6cd=_['filter'](_[_0x5201('0x5d')](_0x56d6d0,function(_0x575f12){return _0x575f12[_0x5201('0x50')]({'plain':!![]});}),{'includeAll':![]});if(_0x56d6cd){return db[_0x5201('0x5a')][_0x5201('0x46')]({'where':{'userProfileId':_0x4cc4e9[_0x5201('0x49')]['id'],'sectionId':_['map'](_0x56d6cd,function(_0x371185){return _0x371185[_0x5201('0x5e')];})},'attributes':['id',_0x5201('0x5e')],'raw':!![]})[_0x5201('0x2e')](function(_0x4db50c){var _0x33bc81=_['map'](_0x4cc4e9[_0x5201('0x4d')],function(_0x561a88){_0x561a88[_0x5201('0x5f')]=_0x4cc4e9['params']['id'];return _0x561a88;});return db[_0x5201('0x58')]['bulkCreate'](_0x33bc81,{'raw':!![],'transaction':_0x316824});});}})['catch'](handleError(_0x1ee912,null));});}})[_0x5201('0x2e')](function(_0x1849e5){var _0x42885f=_[_0x5201('0x5d')](_0x1849e5,function(_0x1d6ff1){return _0x1d6ff1[_0x5201('0x50')]({'plain':!![]});});})['then'](respondWithResult(_0x1ee912,null))['catch'](handleError(_0x1ee912,null));};exports[_0x5201('0x6b')]=function(_0x111719,_0x4ae252,_0x5d0ea9){return db[_0x5201('0x32')][_0x5201('0x4b')]({'where':{'id':_0x111719['params']['id']}})[_0x5201('0x2e')](handleEntityNotFound(_0x4ae252,null))[_0x5201('0x2e')](function(_0x1729f4){if(_0x1729f4){return _0x1729f4['removeResources'](_0x111719['query']['ids']);}})[_0x5201('0x2e')](respondWithStatusCode(_0x4ae252,null))['catch'](handleError(_0x4ae252,null));};exports[_0x5201('0x6c')]=function(_0x37b6cc,_0x5a7dee){var _0x4e0672={};if(!_0x37b6cc[_0x5201('0x38')][_0x5201('0x6d')])throw new Error(_0x5201('0x6e'));if(!_0x37b6cc[_0x5201('0x38')]['hasOwnProperty'](_0x5201('0x3f'))){_0x4e0672[_0x5201('0x28')]=qs[_0x5201('0x28')](_0x37b6cc[_0x5201('0x38')][_0x5201('0x28')]);_0x4e0672[_0x5201('0x26')]=qs[_0x5201('0x26')](_0x37b6cc['query'][_0x5201('0x26')]);}return db['UserProfile'][_0x5201('0x4b')]({'where':{'id':_0x37b6cc[_0x5201('0x49')]['id']}})['then'](function(_0x3ff7f5){if(!_0x3ff7f5)throw new Error(_0x5201('0x6f')+_0x37b6cc[_0x5201('0x49')]['id']);return db[_0x5201('0x32')][_0x5201('0x6c')](_0x37b6cc);})[_0x5201('0x2e')](respondWithFilteredResult(_0x5a7dee,_0x4e0672))[_0x5201('0x47')](handleError(_0x5a7dee,null));};