Built motion from commit 25580385.|2.6.2
[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 _0x8603=['attributes','fields','length','hasOwnProperty','nolimit','order','sort','pick','filter','merge','VIRTUAL','options','where','UserProfile','includeAll','include','findAll','rows','params','find','catch','create','clone','get','omit','createdAt','updatedAt','crudPermissions','body','transaction','UserProfileSection','each','autoAssociation','sectionId','userProfileId','Resources','UserProfileResource','update','destroy','addSections','sequelize','push','ids','getSections','enabled','isEmpty','subsections','includes','Dashboard','forEach','resourceId','addResources','bulkCreate','removeResources','section','Missing\x20section\x20parameter','No\x20User\x20Profile\x20found\x20for\x20id\x20','getResources','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','sox','ejs','fs-extra','lodash','squel','crypto','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./userProfile.socket','register','sendStatus','status','end','json','undefined','limit','count','offset','set','Content-Range','apply','reject','save','then','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','keys','filters','intersection','model','query'];(function(_0x316ac6,_0x2cfb83){var _0x5908b9=function(_0x7e4951){while(--_0x7e4951){_0x316ac6['push'](_0x316ac6['shift']());}};_0x5908b9(++_0x2cfb83);}(_0x8603,0x190));var _0x3860=function(_0x542ce3,_0x4e833a){_0x542ce3=_0x542ce3-0x0;var _0x29b3f7=_0x8603[_0x542ce3];return _0x29b3f7;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x3860('0x0'));var zipdir=require(_0x3860('0x1'));var jsonpatch=require(_0x3860('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x3860('0x3'));var Mustache=require(_0x3860('0x4'));var util=require(_0x3860('0x5'));var path=require('path');var sox=require(_0x3860('0x6'));var csv=require('to-csv');var ejs=require(_0x3860('0x7'));var fs=require('fs');var fs_extra=require(_0x3860('0x8'));var _=require(_0x3860('0x9'));var squel=require(_0x3860('0xa'));var crypto=require(_0x3860('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x3860('0xc'));var Papa=require(_0x3860('0xd'));var Redis=require('ioredis');var authService=require(_0x3860('0xe'));var qs=require(_0x3860('0xf'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x3860('0x10'));var logger=require(_0x3860('0x11'))('api');var utils=require(_0x3860('0x12'));var config=require(_0x3860('0x13'));var licenseUtil=require('../../config/license/util');var db=require(_0x3860('0x14'))['db'];config[_0x3860('0x15')]=_[_0x3860('0x16')](config[_0x3860('0x15')],{'host':_0x3860('0x17'),'port':0x18eb});var socket=require(_0x3860('0x18'))(new Redis(config[_0x3860('0x15')]));require(_0x3860('0x19'))[_0x3860('0x1a')](socket);function respondWithStatusCode(_0x46264d,_0x54dbc3){_0x54dbc3=_0x54dbc3||0xcc;return function(_0x3d861d){if(_0x3d861d){return _0x46264d[_0x3860('0x1b')](_0x54dbc3);}return _0x46264d[_0x3860('0x1c')](_0x54dbc3)[_0x3860('0x1d')]();};}function respondWithResult(_0x1055b3,_0xfa0c9a){_0xfa0c9a=_0xfa0c9a||0xc8;return function(_0x2d8a3a){if(_0x2d8a3a){return _0x1055b3[_0x3860('0x1c')](_0xfa0c9a)[_0x3860('0x1e')](_0x2d8a3a);}};}function respondWithFilteredResult(_0x3c0d91,_0x3e51b4){return function(_0x45b799){if(_0x45b799){var _0x4b6b15=typeof _0x3e51b4['offset']===_0x3860('0x1f')&&typeof _0x3e51b4[_0x3860('0x20')]===_0x3860('0x1f');var _0x53fc63=_0x45b799[_0x3860('0x21')];var _0x145b26=_0x4b6b15?0x0:_0x3e51b4[_0x3860('0x22')];var _0x3af33a=_0x4b6b15?_0x45b799[_0x3860('0x21')]:_0x3e51b4[_0x3860('0x22')]+_0x3e51b4[_0x3860('0x20')];var _0x1f8891;if(_0x3af33a>=_0x53fc63){_0x3af33a=_0x53fc63;_0x1f8891=0xc8;}else{_0x1f8891=0xce;}_0x3c0d91[_0x3860('0x1c')](_0x1f8891);return _0x3c0d91[_0x3860('0x23')](_0x3860('0x24'),_0x145b26+'-'+_0x3af33a+'/'+_0x53fc63)[_0x3860('0x1e')](_0x45b799);}return null;};}function patchUpdates(_0x280ea9){return function(_0x9eaaa1){try{jsonpatch[_0x3860('0x25')](_0x9eaaa1,_0x280ea9,!![]);}catch(_0x564efd){return BPromise[_0x3860('0x26')](_0x564efd);}return _0x9eaaa1[_0x3860('0x27')]();};}function saveUpdates(_0x2b91f2,_0x301e03){return function(_0x20bb1e){if(_0x20bb1e){return _0x20bb1e['update'](_0x2b91f2)[_0x3860('0x28')](function(_0x568515){return _0x568515;});}return null;};}function removeEntity(_0x577750,_0xfa9705){return function(_0x1c4bbc){if(_0x1c4bbc){return _0x1c4bbc['destroy']()['then'](function(){_0x577750['status'](0xcc)[_0x3860('0x1d')]();});}};}function handleEntityNotFound(_0x3ebc5b,_0xb25cc2){return function(_0x371f3a){if(!_0x371f3a){_0x3ebc5b[_0x3860('0x1b')](0x194);}return _0x371f3a;};}function handleError(_0x228d34,_0x544b9a){_0x544b9a=_0x544b9a||0x1f4;return function(_0x4c4314){logger[_0x3860('0x29')](_0x4c4314[_0x3860('0x2a')]);if(_0x4c4314['name']){delete _0x4c4314[_0x3860('0x2b')];}_0x228d34[_0x3860('0x1c')](_0x544b9a)[_0x3860('0x2c')](_0x4c4314);};}exports[_0x3860('0x2d')]=function(_0x3628f7,_0x4bbae9){var _0x36ae2b={},_0xf624ba={},_0x367b14={'count':0x0,'rows':[]};var _0x4bd90c=_[_0x3860('0x2e')](db['UserProfile'][_0x3860('0x2f')],function(_0x4825f0){return{'name':_0x4825f0[_0x3860('0x30')],'type':_0x4825f0[_0x3860('0x31')][_0x3860('0x32')]};});_0xf624ba['model']=_[_0x3860('0x2e')](_0x4bd90c,_0x3860('0x2b'));_0xf624ba['query']=_[_0x3860('0x33')](_0x3628f7['query']);_0xf624ba[_0x3860('0x34')]=_[_0x3860('0x35')](_0xf624ba[_0x3860('0x36')],_0xf624ba[_0x3860('0x37')]);_0x36ae2b[_0x3860('0x38')]=_[_0x3860('0x35')](_0xf624ba[_0x3860('0x36')],qs['fields'](_0x3628f7[_0x3860('0x37')][_0x3860('0x39')]));_0x36ae2b['attributes']=_0x36ae2b[_0x3860('0x38')][_0x3860('0x3a')]?_0x36ae2b[_0x3860('0x38')]:_0xf624ba['model'];if(!_0x3628f7['query'][_0x3860('0x3b')](_0x3860('0x3c'))){_0x36ae2b[_0x3860('0x20')]=qs[_0x3860('0x20')](_0x3628f7['query']['limit']);_0x36ae2b[_0x3860('0x22')]=qs[_0x3860('0x22')](_0x3628f7[_0x3860('0x37')][_0x3860('0x22')]);}_0x36ae2b[_0x3860('0x3d')]=qs['sort'](_0x3628f7[_0x3860('0x37')][_0x3860('0x3e')]);_0x36ae2b['where']=qs['filters'](_[_0x3860('0x3f')](_0x3628f7[_0x3860('0x37')],_0xf624ba[_0x3860('0x34')]),_0x4bd90c);if(_0x3628f7[_0x3860('0x37')][_0x3860('0x40')]){_0x36ae2b['where']=_[_0x3860('0x41')](_0x36ae2b['where'],{'$or':_[_0x3860('0x2e')](_0x4bd90c,function(_0x35bf7a){if(_0x35bf7a['type']!==_0x3860('0x42')){var _0x162e65={};_0x162e65[_0x35bf7a['name']]={'$like':'%'+_0x3628f7[_0x3860('0x37')][_0x3860('0x40')]+'%'};return _0x162e65;}})});}_0x36ae2b=_[_0x3860('0x41')]({},_0x36ae2b,_0x3628f7[_0x3860('0x43')]);var _0x4f486e={'where':_0x36ae2b[_0x3860('0x44')]};return db[_0x3860('0x45')][_0x3860('0x21')](_0x4f486e)['then'](function(_0x3a87e5){_0x367b14['count']=_0x3a87e5;if(_0x3628f7[_0x3860('0x37')][_0x3860('0x46')]){_0x36ae2b[_0x3860('0x47')]=[{'all':!![]}];}return db[_0x3860('0x45')][_0x3860('0x48')](_0x36ae2b);})[_0x3860('0x28')](function(_0x4e0a44){_0x367b14[_0x3860('0x49')]=_0x4e0a44;return _0x367b14;})[_0x3860('0x28')](respondWithFilteredResult(_0x4bbae9,_0x36ae2b))['catch'](handleError(_0x4bbae9,null));};exports['show']=function(_0x2938d4,_0x5840f7){var _0x4f2f53={'raw':![],'where':{'id':_0x2938d4[_0x3860('0x4a')]['id']}},_0x164a77={};_0x164a77['model']=_[_0x3860('0x33')](db[_0x3860('0x45')][_0x3860('0x2f')]);_0x164a77[_0x3860('0x37')]=_[_0x3860('0x33')](_0x2938d4[_0x3860('0x37')]);_0x164a77[_0x3860('0x34')]=_[_0x3860('0x35')](_0x164a77[_0x3860('0x36')],_0x164a77[_0x3860('0x37')]);_0x4f2f53[_0x3860('0x38')]=_[_0x3860('0x35')](_0x164a77[_0x3860('0x36')],qs['fields'](_0x2938d4[_0x3860('0x37')]['fields']));_0x4f2f53[_0x3860('0x38')]=_0x4f2f53[_0x3860('0x38')][_0x3860('0x3a')]?_0x4f2f53[_0x3860('0x38')]:_0x164a77[_0x3860('0x36')];if(_0x2938d4[_0x3860('0x37')][_0x3860('0x46')]){_0x4f2f53[_0x3860('0x47')]=[{'all':!![]}];}_0x4f2f53=_['merge']({},_0x4f2f53,_0x2938d4[_0x3860('0x43')]);return db[_0x3860('0x45')][_0x3860('0x4b')](_0x4f2f53)['then'](handleEntityNotFound(_0x5840f7,null))[_0x3860('0x28')](respondWithResult(_0x5840f7,null))[_0x3860('0x4c')](handleError(_0x5840f7,null));};exports[_0x3860('0x4d')]=function(_0x3dc957,_0x5ed2db){return db['UserProfile'][_0x3860('0x4d')](_0x3dc957['body'],{})[_0x3860('0x28')](respondWithResult(_0x5ed2db,0xc9))[_0x3860('0x4c')](handleError(_0x5ed2db,null));};exports[_0x3860('0x4e')]=function(_0x52456e,_0x29c52d){var _0x5a019a={'where':{'id':_0x52456e['params']['id']}},_0x3e87d1={};_0x3e87d1[_0x3860('0x36')]=_[_0x3860('0x33')](db[_0x3860('0x45')]['rawAttributes']);_0x5a019a['attributes']=_[_0x3860('0x35')](_0x3e87d1[_0x3860('0x36')],qs['fields'](_0x52456e[_0x3860('0x37')]['fields']));_0x5a019a[_0x3860('0x38')]=_0x5a019a[_0x3860('0x38')][_0x3860('0x3a')]?_0x5a019a[_0x3860('0x38')]:_0x3e87d1[_0x3860('0x36')];if(_0x52456e[_0x3860('0x37')][_0x3860('0x46')]){_0x5a019a['include']=[{'all':!![]}];}_0x5a019a=_[_0x3860('0x41')]({},_0x5a019a,_0x52456e[_0x3860('0x43')]);return db[_0x3860('0x45')][_0x3860('0x4b')](_0x5a019a)[_0x3860('0x28')](handleEntityNotFound(_0x29c52d,null))[_0x3860('0x28')](function(_0x47ff99){if(_0x47ff99){var _0x2cf48c=_0x47ff99[_0x3860('0x4f')]({'plain':!![]});_0x2cf48c=qs[_0x3860('0x50')](_0x2cf48c,['id',_0x3860('0x51'),_0x3860('0x52'),_0x3860('0x53')]);_0x52456e[_0x3860('0x54')]=_[_0x3860('0x50')](_0x52456e['body'],['id',_0x3860('0x51'),_0x3860('0x52')]);return db['sequelize'][_0x3860('0x55')](function(_0x275df2){return db[_0x3860('0x45')]['create'](_[_0x3860('0x41')](_0x2cf48c,_0x52456e['body']),{'include':_0x52456e[_0x3860('0x37')][_0x3860('0x46')]?[{'all':!![]}]:undefined,'transaction':_0x275df2})[_0x3860('0x28')](function(_0x2cc119){var _0x27a853=_0x2cc119[_0x3860('0x4f')]({'plain':!![]});return db[_0x3860('0x56')][_0x3860('0x48')]({'where':{'userProfileId':_0x52456e[_0x3860('0x4a')]['id']},'raw':!![]})[_0x3860('0x28')](function(_0x3ba9a1){if(_0x3ba9a1){return BPromise[_0x3860('0x57')](_0x3ba9a1,function(_0x58147d){return new BPromise(function(_0x5ce9a4,_0x5111e0){if(_0x58147d[_0x3860('0x58')]===null||_0x58147d['autoAssociation']===0x1)_0x5ce9a4(null);return db['UserProfileResource'][_0x3860('0x48')]({'where':{'sectionId':_0x58147d['id']},'raw':!![]})[_0x3860('0x28')](function(_0x2ff440){var _0x2fd966=_[_0x3860('0x2e')](_0x2ff440,function(_0x2e5cf0){return qs['omit'](_0x2e5cf0,['id','createdAt','updatedAt',_0x3860('0x59')]);});_0x5ce9a4(_0x2fd966);})[_0x3860('0x4c')](function(_0x2d1646){_0x5111e0(_0x2d1646);});})['then'](function(_0xf875e4){var _0x59a0bd=qs[_0x3860('0x50')](_0x58147d,['id',_0x3860('0x51'),'updatedAt']);_0x59a0bd[_0x3860('0x5a')]=_0x27a853['id'];if(_0xf875e4)_0x59a0bd[_0x3860('0x5b')]=_0xf875e4;return _0x59a0bd;})[_0x3860('0x28')](function(_0x27f817){return db['UserProfileSection'][_0x3860('0x4d')](_0x27f817,{'include':[{'model':db[_0x3860('0x5c')],'as':_0x3860('0x5b')}],'raw':!![],'transaction':_0x275df2});});})['then'](function(){return _0x27a853;});}});});});}})['then'](respondWithResult(_0x29c52d,0xc9))[_0x3860('0x4c')](handleError(_0x29c52d,null));};exports[_0x3860('0x5d')]=function(_0xe67023,_0x1ca0e7){if(_0xe67023[_0x3860('0x54')]['id']){delete _0xe67023[_0x3860('0x54')]['id'];}return db['UserProfile'][_0x3860('0x4b')]({'where':{'id':_0xe67023[_0x3860('0x4a')]['id']}})['then'](handleEntityNotFound(_0x1ca0e7,null))[_0x3860('0x28')](saveUpdates(_0xe67023[_0x3860('0x54')],null))[_0x3860('0x28')](respondWithResult(_0x1ca0e7,null))[_0x3860('0x4c')](handleError(_0x1ca0e7,null));};exports[_0x3860('0x5e')]=function(_0x2ee555,_0x5b9a7b){return db[_0x3860('0x45')][_0x3860('0x4b')]({'where':{'id':_0x2ee555[_0x3860('0x4a')]['id']}})[_0x3860('0x28')](handleEntityNotFound(_0x5b9a7b,null))[_0x3860('0x28')](removeEntity(_0x5b9a7b,null))[_0x3860('0x4c')](handleError(_0x5b9a7b,null));};exports['describe']=function(_0x1ae31b,_0x81010b){return db[_0x3860('0x45')]['describe']()['then'](respondWithResult(_0x81010b,null))[_0x3860('0x4c')](handleError(_0x81010b,null));};exports[_0x3860('0x5f')]=function(_0x11c2c8,_0x3b7a76){var _0x3fe275=_0x11c2c8['body'];return db['UserProfile'][_0x3860('0x4b')]({'where':{'id':_0x11c2c8[_0x3860('0x4a')]['id']}})['then'](handleEntityNotFound(_0x3b7a76,null))['then'](function(_0x2fd2ec){if(_0x2fd2ec){return db[_0x3860('0x60')]['transaction'](function(_0x304b18){return db[_0x3860('0x56')][_0x3860('0x5e')]({'where':{'userProfileId':_0x11c2c8[_0x3860('0x4a')]['id'],'sectionId':_['map'](_0x3fe275,function(_0x1e8c5c){return _0x1e8c5c[_0x3860('0x59')];})},'transaction':_0x304b18})['then'](function(){var _0x57e944=_[_0x3860('0x2e')](_0x3fe275,function(_0x3427a5){_0x3427a5['userProfileId']=_0x11c2c8[_0x3860('0x4a')]['id'];return _0x3427a5;});var _0x5a20de=[];return BPromise[_0x3860('0x57')](_0x57e944,function(_0x552435){return db['UserProfileSection'][_0x3860('0x4d')](_0x552435,{'include':[{'model':db['UserProfileResource'],'as':_0x3860('0x5b')}],'raw':!![],'transaction':_0x304b18})[_0x3860('0x28')](function(_0x29eb2c){_0x5a20de[_0x3860('0x61')](_0x29eb2c[_0x3860('0x4f')]({'plain':!![]}));});})[_0x3860('0x28')](function(){return _0x5a20de;});});});}})['then'](function(_0x3756b3){return _0x3756b3;})[_0x3860('0x28')](respondWithResult(_0x3b7a76,null))[_0x3860('0x4c')](handleError(_0x3b7a76,null));};exports['removeSections']=function(_0x352a44,_0x55661a){var _0x30e093;return db[_0x3860('0x45')]['find']({'where':{'id':_0x352a44[_0x3860('0x4a')]['id']},'attributes':['id',_0x3860('0x2b')]})[_0x3860('0x28')](handleEntityNotFound(_0x55661a,null))['then'](function(_0x572707){if(_0x572707){_0x30e093=_0x572707;return db['UserProfileSection']['destroy']({'where':{'userProfileId':_0x352a44[_0x3860('0x4a')]['id'],'sectionId':_0x352a44[_0x3860('0x37')][_0x3860('0x62')]}});}})[_0x3860('0x28')](function(){return _0x30e093;})['then'](respondWithStatusCode(_0x55661a,null))['catch'](handleError(_0x55661a,null));};exports[_0x3860('0x63')]=function(_0x32e503,_0x1b0e46){var _0x61798b=[];var _0x4b0652=[];return db[_0x3860('0x56')][_0x3860('0x48')]({'where':{'userProfileId':_0x32e503['params']['id']},'raw':!![]})['then'](function(_0x32cbe8){_0x61798b=_[_0x3860('0x40')](_0x32cbe8,function(_0x4742ae){return _0x4742ae[_0x3860('0x64')]===0x1||_['includes']([0x3eb,0x709],_0x4742ae['sectionId']);});if(!_[_0x3860('0x65')](_0x61798b)){return _['map'](_0x61798b,function(_0x466d90){return _0x466d90[_0x3860('0x59')];});}else{return;}})['then'](function(_0x4e7713){if(_0x4e7713)_0x4b0652=_0x4e7713;if(_['includes'](_0x4b0652,0x64)){var _0x2d6eab=_[_0x3860('0x4b')](_0x61798b,{'sectionId':0x64});return hasDefaultDashboard(_0x2d6eab)['then'](function(_0x22177b){return _[_0x3860('0x2e')](_0x61798b,function(_0x2351fe){if(_0x2351fe[_0x3860('0x59')]===0x64){_0x2351fe[_0x3860('0x66')]=_0x22177b;}return _0x2351fe;});});}else{return;}})['then'](function(_0x1426c4){if(_0x1426c4)_0x61798b=_0x1426c4;if(_[_0x3860('0x67')](_0x4b0652,0x3eb)){var _0x3359cf=_[_0x3860('0x4b')](_0x61798b,{'sectionId':0x3eb});return getCustomDashboards(_0x3359cf)[_0x3860('0x28')](function(_0x4a98a0){return _[_0x3860('0x2e')](_0x61798b,function(_0xf57e80){if(_0x3359cf[_0x3860('0x64')]){if(_0xf57e80[_0x3860('0x59')]===0x3eb){_0xf57e80[_0x3860('0x66')]=_0x4a98a0;}}else{if(_0xf57e80['sectionId']===0x64){_0xf57e80['subsections']=_0x4a98a0;}}return _0xf57e80;});});}else{return;}})[_0x3860('0x28')](function(_0x2f3eb6){if(_0x2f3eb6)_0x61798b=_0x2f3eb6;if(_[_0x3860('0x67')](_0x4b0652,0x709)){var _0xf950d8=_[_0x3860('0x4b')](_0x61798b,{'sectionId':0x709});return getPlugins(_0xf950d8)[_0x3860('0x28')](function(_0x182292){if(_0xf950d8['enabled']){return _[_0x3860('0x2e')](_0x61798b,function(_0x3eb292){if(_0x3eb292['sectionId']===0x709){_0x3eb292[_0x3860('0x66')]=_0x182292;}return _0x3eb292;});}else{var _0x2f70fa={'sectionId':0x76c,'enabled':0x1,'subsections':_0x182292};var _0x292704=_['map'](_0x61798b);_0x292704[_0x3860('0x61')](_0x2f70fa);return _0x292704;}});}else{return;}})[_0x3860('0x28')](function(_0x5f11ca){if(_0x5f11ca)_0x61798b=_0x5f11ca;return _[_0x3860('0x40')](_0x61798b,['enabled',0x1]);})[_0x3860('0x28')](respondWithResult(_0x1b0e46,null))[_0x3860('0x4c')](handleError(_0x1b0e46,null));};function hasDefaultDashboard(_0x479d65){var _0x330fd0=[0x65];return new BPromise(function(_0x2dc788,_0x361113){try{if(_0x479d65[_0x3860('0x58')]){_0x2dc788(_0x330fd0);}else{return db[_0x3860('0x5c')]['findOne']({'where':{'sectionId':_0x479d65['id']},'raw':!![]})[_0x3860('0x28')](function(_0x15b0b0){_0x15b0b0?_0x2dc788(_0x330fd0):_0x2dc788();});}}catch(_0x43aa44){_0x361113(_0x43aa44);}});}function getCustomDashboards(_0x6e6513){var _0x3c9837=[];return new BPromise(function(_0x5c6bbe,_0x490359){try{if(_0x6e6513[_0x3860('0x58')]){return db[_0x3860('0x68')]['findAll']({'raw':!![]})[_0x3860('0x28')](function(_0x27ef52){_0x27ef52[_0x3860('0x69')](function(_0x9d8eca){_0x3c9837['push'](_0x9d8eca['id']+0x1869f);});_0x5c6bbe(_0x3c9837);});}else{return db[_0x3860('0x5c')]['findAll']({'where':{'sectionId':_0x6e6513['id']},'raw':!![]})[_0x3860('0x28')](function(_0xac70c6){_0xac70c6[_0x3860('0x69')](function(_0x315b44){_0x3c9837[_0x3860('0x61')](_0x315b44[_0x3860('0x6a')]+0x1869f);});_0x5c6bbe(_0x3c9837);});}}catch(_0x467b1b){_0x490359(_0x467b1b);}});}function getPlugins(_0x4936e7){var _0x277aba=[];return new BPromise(function(_0x47396d,_0x4ae542){try{if(_0x4936e7['autoAssociation']){return db['Plugin']['findAll']({'raw':!![]})[_0x3860('0x28')](function(_0x2f0210){_0x2f0210[_0x3860('0x69')](function(_0x1482cd){_0x277aba[_0x3860('0x61')](_0x1482cd['id']+0x15b38);});_0x47396d(_0x277aba);});}else{return db[_0x3860('0x5c')]['findAll']({'where':{'sectionId':_0x4936e7['id']},'raw':!![]})[_0x3860('0x28')](function(_0x5e2959){_0x5e2959[_0x3860('0x69')](function(_0x3b1683){_0x277aba[_0x3860('0x61')](_0x3b1683[_0x3860('0x6a')]+0x15b38);});_0x47396d(_0x277aba);});}}catch(_0x459b6c){_0x4ae542(_0x459b6c);}});}exports[_0x3860('0x6b')]=function(_0x23d7f0,_0x52987a){return db[_0x3860('0x45')][_0x3860('0x4b')]({'where':{'id':_0x23d7f0[_0x3860('0x4a')]['id']}})['then'](handleEntityNotFound(_0x52987a,null))[_0x3860('0x28')](function(_0x304c95){if(_0x304c95){return db[_0x3860('0x60')]['transaction'](function(_0xf370f9){return db[_0x3860('0x56')][_0x3860('0x48')]({'where':{'userProfileId':_0x23d7f0[_0x3860('0x4a')]['id']},'attributes':['id'],'raw':!![]})['then'](function(_0x16a462){if(_0x16a462){return db[_0x3860('0x56')][_0x3860('0x5e')]({'where':{'userProfileId':_0x23d7f0['params']['id'],'id':_[_0x3860('0x2e')](_0x16a462,function(_0x30272a){return _0x30272a['id'];})},'transaction':_0xf370f9});}})[_0x3860('0x28')](function(_0x59123c){var _0x2f9470=_[_0x3860('0x2e')](_0x23d7f0[_0x3860('0x54')],function(_0x4907c5){_0x4907c5[_0x3860('0x5a')]=_0x23d7f0[_0x3860('0x4a')]['id'];return _0x4907c5;});return db[_0x3860('0x56')]['bulkCreate'](_0x2f9470,{'raw':!![],'transaction':_0xf370f9});})[_0x3860('0x28')](function(_0x2a6eb5){var _0x1b8060=_['filter'](_[_0x3860('0x2e')](_0x2a6eb5,function(_0x59a7c5){return _0x59a7c5[_0x3860('0x4f')]({'plain':!![]});}),{'includeAll':![]});if(_0x1b8060){return db['UserProfileSection'][_0x3860('0x48')]({'where':{'userProfileId':_0x23d7f0[_0x3860('0x4a')]['id'],'sectionId':_[_0x3860('0x2e')](_0x1b8060,function(_0x37ee7e){return _0x37ee7e[_0x3860('0x59')];})},'attributes':['id',_0x3860('0x59')],'raw':!![]})[_0x3860('0x28')](function(_0x3c9ccc){var _0x3f808c=_[_0x3860('0x2e')](_0x23d7f0[_0x3860('0x54')],function(_0x33fed2){_0x33fed2[_0x3860('0x5a')]=_0x23d7f0[_0x3860('0x4a')]['id'];return _0x33fed2;});return db[_0x3860('0x5c')][_0x3860('0x6c')](_0x3f808c,{'raw':!![],'transaction':_0xf370f9});});}})[_0x3860('0x4c')](handleError(_0x52987a,null));});}})[_0x3860('0x28')](function(_0x47ebbd){var _0x37575b=_[_0x3860('0x2e')](_0x47ebbd,function(_0x394a84){return _0x394a84[_0x3860('0x4f')]({'plain':!![]});});})[_0x3860('0x28')](respondWithResult(_0x52987a,null))[_0x3860('0x4c')](handleError(_0x52987a,null));};exports[_0x3860('0x6d')]=function(_0x130249,_0x222e5a,_0x11a80c){return db[_0x3860('0x45')]['find']({'where':{'id':_0x130249[_0x3860('0x4a')]['id']}})[_0x3860('0x28')](handleEntityNotFound(_0x222e5a,null))[_0x3860('0x28')](function(_0x6334ca){if(_0x6334ca){return _0x6334ca['removeResources'](_0x130249[_0x3860('0x37')][_0x3860('0x62')]);}})[_0x3860('0x28')](respondWithStatusCode(_0x222e5a,null))[_0x3860('0x4c')](handleError(_0x222e5a,null));};exports['getResources']=function(_0x280747,_0x5d7415){var _0x5450e2={};if(!_0x280747[_0x3860('0x37')][_0x3860('0x6e')])throw new Error(_0x3860('0x6f'));if(!_0x280747[_0x3860('0x37')][_0x3860('0x3b')](_0x3860('0x3c'))){_0x5450e2[_0x3860('0x20')]=qs[_0x3860('0x20')](_0x280747[_0x3860('0x37')][_0x3860('0x20')]);_0x5450e2[_0x3860('0x22')]=qs[_0x3860('0x22')](_0x280747[_0x3860('0x37')]['offset']);}return db[_0x3860('0x45')]['find']({'where':{'id':_0x280747[_0x3860('0x4a')]['id']}})[_0x3860('0x28')](function(_0x5891d8){if(!_0x5891d8)throw new Error(_0x3860('0x70')+_0x280747[_0x3860('0x4a')]['id']);return db[_0x3860('0x45')][_0x3860('0x71')](_0x280747);})[_0x3860('0x28')](respondWithFilteredResult(_0x5d7415,_0x5450e2))[_0x3860('0x4c')](handleError(_0x5d7415,null));};