Built motion from commit fade34fd.|2.5.41
[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 _0x3266=['sox','ejs','fs-extra','lodash','crypto','desk.js','to-csv','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./userProfile.socket','sendStatus','status','end','offset','undefined','count','set','Content-Range','json','apply','reject','save','update','then','error','stack','name','send','index','UserProfile','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','fields','hasOwnProperty','limit','order','sort','where','pick','filter','merge','VIRTUAL','options','include','findAll','rows','catch','show','params','rawAttributes','length','find','create','body','clone','includeAll','omit','createdAt','updatedAt','crudPermissions','transaction','get','UserProfileSection','each','autoAssociation','UserProfileResource','userProfileId','Resources','destroy','describe','sequelize','push','ids','getSections','sectionId','subsections','includes','enabled','findOne','Dashboard','forEach','Plugin','bulkCreate','getResources','nolimit','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util'];(function(_0x31ec78,_0x314079){var _0x136a8d=function(_0x4ad725){while(--_0x4ad725){_0x31ec78['push'](_0x31ec78['shift']());}};_0x136a8d(++_0x314079);}(_0x3266,0x6a));var _0x6326=function(_0x1a0daa,_0x2a4634){_0x1a0daa=_0x1a0daa-0x0;var _0x1dbe15=_0x3266[_0x1a0daa];return _0x1dbe15;};'use strict';var emlformat=require(_0x6326('0x0'));var rimraf=require(_0x6326('0x1'));var zipdir=require(_0x6326('0x2'));var jsonpatch=require(_0x6326('0x3'));var rp=require(_0x6326('0x4'));var moment=require(_0x6326('0x5'));var BPromise=require(_0x6326('0x6'));var Mustache=require(_0x6326('0x7'));var util=require(_0x6326('0x8'));var path=require('path');var sox=require(_0x6326('0x9'));var csv=require('to-csv');var ejs=require(_0x6326('0xa'));var fs=require('fs');var fs_extra=require(_0x6326('0xb'));var _=require(_0x6326('0xc'));var squel=require('squel');var crypto=require(_0x6326('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x6326('0xe'));var toCsv=require(_0x6326('0xf'));var querystring=require(_0x6326('0x10'));var Papa=require(_0x6326('0x11'));var Redis=require(_0x6326('0x12'));var authService=require('../../components/auth/service');var qs=require(_0x6326('0x13'));var as=require(_0x6326('0x14'));var hardwareService=require(_0x6326('0x15'));var logger=require(_0x6326('0x16'))(_0x6326('0x17'));var utils=require(_0x6326('0x18'));var config=require(_0x6326('0x19'));var licenseUtil=require(_0x6326('0x1a'));var db=require(_0x6326('0x1b'))['db'];config[_0x6326('0x1c')]=_['defaults'](config['redis'],{'host':_0x6326('0x1d'),'port':0x18eb});var socket=require(_0x6326('0x1e'))(new Redis(config['redis']));require(_0x6326('0x1f'))['register'](socket);function respondWithStatusCode(_0x2d2d9b,_0x20dcc6){_0x20dcc6=_0x20dcc6||0xcc;return function(_0x3d6ac0){if(_0x3d6ac0){return _0x2d2d9b[_0x6326('0x20')](_0x20dcc6);}return _0x2d2d9b[_0x6326('0x21')](_0x20dcc6)[_0x6326('0x22')]();};}function respondWithResult(_0x55923a,_0x1104c5){_0x1104c5=_0x1104c5||0xc8;return function(_0x518e6f){if(_0x518e6f){return _0x55923a['status'](_0x1104c5)['json'](_0x518e6f);}};}function respondWithFilteredResult(_0x51e7b9,_0x5d402d){return function(_0x58e960){if(_0x58e960){var _0xdf5ced=typeof _0x5d402d[_0x6326('0x23')]===_0x6326('0x24')&&typeof _0x5d402d['limit']==='undefined';var _0x954ed5=_0x58e960[_0x6326('0x25')];var _0x272b5c=_0xdf5ced?0x0:_0x5d402d[_0x6326('0x23')];var _0x3c08db=_0xdf5ced?_0x58e960[_0x6326('0x25')]:_0x5d402d[_0x6326('0x23')]+_0x5d402d['limit'];var _0x22307f;if(_0x3c08db>=_0x954ed5){_0x3c08db=_0x954ed5;_0x22307f=0xc8;}else{_0x22307f=0xce;}_0x51e7b9['status'](_0x22307f);return _0x51e7b9[_0x6326('0x26')](_0x6326('0x27'),_0x272b5c+'-'+_0x3c08db+'/'+_0x954ed5)[_0x6326('0x28')](_0x58e960);}return null;};}function patchUpdates(_0x24fb78){return function(_0x43cdfc){try{jsonpatch[_0x6326('0x29')](_0x43cdfc,_0x24fb78,!![]);}catch(_0x225555){return BPromise[_0x6326('0x2a')](_0x225555);}return _0x43cdfc[_0x6326('0x2b')]();};}function saveUpdates(_0x2d0d00,_0x34954b){return function(_0x4933e1){if(_0x4933e1){return _0x4933e1[_0x6326('0x2c')](_0x2d0d00)[_0x6326('0x2d')](function(_0x575701){return _0x575701;});}return null;};}function removeEntity(_0x4e272b,_0x4d28fd){return function(_0x405474){if(_0x405474){return _0x405474['destroy']()[_0x6326('0x2d')](function(){_0x4e272b[_0x6326('0x21')](0xcc)['end']();});}};}function handleEntityNotFound(_0x15e33d,_0x21ec69){return function(_0xb68fec){if(!_0xb68fec){_0x15e33d[_0x6326('0x20')](0x194);}return _0xb68fec;};}function handleError(_0x2d2180,_0x45d037){_0x45d037=_0x45d037||0x1f4;return function(_0x40e036){logger[_0x6326('0x2e')](_0x40e036[_0x6326('0x2f')]);if(_0x40e036[_0x6326('0x30')]){delete _0x40e036[_0x6326('0x30')];}_0x2d2180[_0x6326('0x21')](_0x45d037)[_0x6326('0x31')](_0x40e036);};}exports[_0x6326('0x32')]=function(_0x2e0445,_0x20c5ab){var _0x520e57={},_0x2bf5ef={},_0x47303c={'count':0x0,'rows':[]};var _0x1f8982=_['map'](db[_0x6326('0x33')]['rawAttributes'],function(_0x4e703a){return{'name':_0x4e703a[_0x6326('0x34')],'type':_0x4e703a[_0x6326('0x35')][_0x6326('0x36')]};});_0x2bf5ef[_0x6326('0x37')]=_[_0x6326('0x38')](_0x1f8982,_0x6326('0x30'));_0x2bf5ef[_0x6326('0x39')]=_[_0x6326('0x3a')](_0x2e0445[_0x6326('0x39')]);_0x2bf5ef[_0x6326('0x3b')]=_[_0x6326('0x3c')](_0x2bf5ef[_0x6326('0x37')],_0x2bf5ef['query']);_0x520e57[_0x6326('0x3d')]=_[_0x6326('0x3c')](_0x2bf5ef['model'],qs[_0x6326('0x3e')](_0x2e0445[_0x6326('0x39')][_0x6326('0x3e')]));_0x520e57['attributes']=_0x520e57[_0x6326('0x3d')]['length']?_0x520e57['attributes']:_0x2bf5ef[_0x6326('0x37')];if(!_0x2e0445[_0x6326('0x39')][_0x6326('0x3f')]('nolimit')){_0x520e57[_0x6326('0x40')]=qs['limit'](_0x2e0445[_0x6326('0x39')]['limit']);_0x520e57[_0x6326('0x23')]=qs[_0x6326('0x23')](_0x2e0445[_0x6326('0x39')][_0x6326('0x23')]);}_0x520e57[_0x6326('0x41')]=qs[_0x6326('0x42')](_0x2e0445['query'][_0x6326('0x42')]);_0x520e57[_0x6326('0x43')]=qs['filters'](_[_0x6326('0x44')](_0x2e0445['query'],_0x2bf5ef['filters']),_0x1f8982);if(_0x2e0445[_0x6326('0x39')][_0x6326('0x45')]){_0x520e57[_0x6326('0x43')]=_[_0x6326('0x46')](_0x520e57[_0x6326('0x43')],{'$or':_[_0x6326('0x38')](_0x1f8982,function(_0x5de1c3){if(_0x5de1c3['type']!==_0x6326('0x47')){var _0x5b68af={};_0x5b68af[_0x5de1c3[_0x6326('0x30')]]={'$like':'%'+_0x2e0445['query'][_0x6326('0x45')]+'%'};return _0x5b68af;}})});}_0x520e57=_[_0x6326('0x46')]({},_0x520e57,_0x2e0445[_0x6326('0x48')]);var _0x1da798={'where':_0x520e57[_0x6326('0x43')]};return db[_0x6326('0x33')][_0x6326('0x25')](_0x1da798)[_0x6326('0x2d')](function(_0x3b089b){_0x47303c[_0x6326('0x25')]=_0x3b089b;if(_0x2e0445[_0x6326('0x39')]['includeAll']){_0x520e57[_0x6326('0x49')]=[{'all':!![]}];}return db['UserProfile'][_0x6326('0x4a')](_0x520e57);})[_0x6326('0x2d')](function(_0x16fc33){_0x47303c[_0x6326('0x4b')]=_0x16fc33;return _0x47303c;})['then'](respondWithFilteredResult(_0x20c5ab,_0x520e57))[_0x6326('0x4c')](handleError(_0x20c5ab,null));};exports[_0x6326('0x4d')]=function(_0x562d5f,_0x12703d){var _0xe6a992={'raw':![],'where':{'id':_0x562d5f[_0x6326('0x4e')]['id']}},_0x7a5057={};_0x7a5057['model']=_[_0x6326('0x3a')](db[_0x6326('0x33')][_0x6326('0x4f')]);_0x7a5057[_0x6326('0x39')]=_[_0x6326('0x3a')](_0x562d5f[_0x6326('0x39')]);_0x7a5057[_0x6326('0x3b')]=_['intersection'](_0x7a5057[_0x6326('0x37')],_0x7a5057[_0x6326('0x39')]);_0xe6a992[_0x6326('0x3d')]=_[_0x6326('0x3c')](_0x7a5057['model'],qs[_0x6326('0x3e')](_0x562d5f['query'][_0x6326('0x3e')]));_0xe6a992[_0x6326('0x3d')]=_0xe6a992[_0x6326('0x3d')][_0x6326('0x50')]?_0xe6a992[_0x6326('0x3d')]:_0x7a5057['model'];if(_0x562d5f[_0x6326('0x39')]['includeAll']){_0xe6a992['include']=[{'all':!![]}];}_0xe6a992=_[_0x6326('0x46')]({},_0xe6a992,_0x562d5f[_0x6326('0x48')]);return db['UserProfile'][_0x6326('0x51')](_0xe6a992)[_0x6326('0x2d')](handleEntityNotFound(_0x12703d,null))[_0x6326('0x2d')](respondWithResult(_0x12703d,null))[_0x6326('0x4c')](handleError(_0x12703d,null));};exports[_0x6326('0x52')]=function(_0x4f8dc0,_0x4af0ee){return db[_0x6326('0x33')][_0x6326('0x52')](_0x4f8dc0[_0x6326('0x53')],{})[_0x6326('0x2d')](respondWithResult(_0x4af0ee,0xc9))[_0x6326('0x4c')](handleError(_0x4af0ee,null));};exports[_0x6326('0x54')]=function(_0xdc4522,_0x55bcd6){var _0x1b5f5b={'where':{'id':_0xdc4522[_0x6326('0x4e')]['id']}},_0xff802c={};_0xff802c[_0x6326('0x37')]=_[_0x6326('0x3a')](db['UserProfile'][_0x6326('0x4f')]);_0x1b5f5b['attributes']=_[_0x6326('0x3c')](_0xff802c[_0x6326('0x37')],qs['fields'](_0xdc4522[_0x6326('0x39')]['fields']));_0x1b5f5b[_0x6326('0x3d')]=_0x1b5f5b[_0x6326('0x3d')][_0x6326('0x50')]?_0x1b5f5b[_0x6326('0x3d')]:_0xff802c['model'];if(_0xdc4522[_0x6326('0x39')][_0x6326('0x55')]){_0x1b5f5b['include']=[{'all':!![]}];}_0x1b5f5b=_[_0x6326('0x46')]({},_0x1b5f5b,_0xdc4522[_0x6326('0x48')]);return db[_0x6326('0x33')]['find'](_0x1b5f5b)[_0x6326('0x2d')](handleEntityNotFound(_0x55bcd6,null))[_0x6326('0x2d')](function(_0x59a167){if(_0x59a167){var _0x16e606=_0x59a167['get']({'plain':!![]});_0x16e606=qs[_0x6326('0x56')](_0x16e606,['id',_0x6326('0x57'),_0x6326('0x58'),_0x6326('0x59')]);_0xdc4522[_0x6326('0x53')]=_[_0x6326('0x56')](_0xdc4522[_0x6326('0x53')],['id','createdAt','updatedAt']);return db['sequelize'][_0x6326('0x5a')](function(_0x4e986e){return db[_0x6326('0x33')][_0x6326('0x52')](_[_0x6326('0x46')](_0x16e606,_0xdc4522[_0x6326('0x53')]),{'include':_0xdc4522[_0x6326('0x39')]['includeAll']?[{'all':!![]}]:undefined,'transaction':_0x4e986e})[_0x6326('0x2d')](function(_0x2e4244){var _0x5f3a74=_0x2e4244[_0x6326('0x5b')]({'plain':!![]});return db[_0x6326('0x5c')][_0x6326('0x4a')]({'where':{'userProfileId':_0xdc4522[_0x6326('0x4e')]['id']},'raw':!![]})[_0x6326('0x2d')](function(_0x36f2f5){if(_0x36f2f5){return BPromise[_0x6326('0x5d')](_0x36f2f5,function(_0x2f624f){return new BPromise(function(_0x2c7a8d,_0x37506f){if(_0x2f624f['autoAssociation']===null||_0x2f624f[_0x6326('0x5e')]===0x1)_0x2c7a8d(null);return db[_0x6326('0x5f')][_0x6326('0x4a')]({'where':{'sectionId':_0x2f624f['id']},'raw':!![]})[_0x6326('0x2d')](function(_0x493dd8){var _0x540177=_[_0x6326('0x38')](_0x493dd8,function(_0x4740eb){return qs[_0x6326('0x56')](_0x4740eb,['id',_0x6326('0x57'),_0x6326('0x58'),'sectionId']);});_0x2c7a8d(_0x540177);})['catch'](function(_0x13fc10){_0x37506f(_0x13fc10);});})[_0x6326('0x2d')](function(_0x437be2){var _0x300b1a=qs['omit'](_0x2f624f,['id',_0x6326('0x57'),_0x6326('0x58')]);_0x300b1a[_0x6326('0x60')]=_0x5f3a74['id'];if(_0x437be2)_0x300b1a[_0x6326('0x61')]=_0x437be2;return _0x300b1a;})[_0x6326('0x2d')](function(_0xc8f404){return db['UserProfileSection'][_0x6326('0x52')](_0xc8f404,{'include':[{'model':db['UserProfileResource'],'as':_0x6326('0x61')}],'raw':!![],'transaction':_0x4e986e});});})[_0x6326('0x2d')](function(){return _0x5f3a74;});}});});});}})['then'](respondWithResult(_0x55bcd6,0xc9))[_0x6326('0x4c')](handleError(_0x55bcd6,null));};exports[_0x6326('0x2c')]=function(_0x222e39,_0x3b6de7){if(_0x222e39[_0x6326('0x53')]['id']){delete _0x222e39[_0x6326('0x53')]['id'];}return db[_0x6326('0x33')][_0x6326('0x51')]({'where':{'id':_0x222e39[_0x6326('0x4e')]['id']}})[_0x6326('0x2d')](handleEntityNotFound(_0x3b6de7,null))['then'](saveUpdates(_0x222e39[_0x6326('0x53')],null))[_0x6326('0x2d')](respondWithResult(_0x3b6de7,null))[_0x6326('0x4c')](handleError(_0x3b6de7,null));};exports[_0x6326('0x62')]=function(_0x26b86b,_0x5599da){return db[_0x6326('0x33')][_0x6326('0x51')]({'where':{'id':_0x26b86b[_0x6326('0x4e')]['id']}})[_0x6326('0x2d')](handleEntityNotFound(_0x5599da,null))[_0x6326('0x2d')](removeEntity(_0x5599da,null))['catch'](handleError(_0x5599da,null));};exports[_0x6326('0x63')]=function(_0x564332,_0x4ae3a9){return db[_0x6326('0x33')][_0x6326('0x63')]()[_0x6326('0x2d')](respondWithResult(_0x4ae3a9,null))[_0x6326('0x4c')](handleError(_0x4ae3a9,null));};exports['addSections']=function(_0x4fbede,_0x5cadb2){var _0x51b189=_0x4fbede[_0x6326('0x53')];return db['UserProfile'][_0x6326('0x51')]({'where':{'id':_0x4fbede[_0x6326('0x4e')]['id']}})['then'](handleEntityNotFound(_0x5cadb2,null))[_0x6326('0x2d')](function(_0x5401cf){if(_0x5401cf){return db[_0x6326('0x64')]['transaction'](function(_0x22cae7){return db['UserProfileSection']['destroy']({'where':{'userProfileId':_0x4fbede['params']['id'],'sectionId':_['map'](_0x51b189,function(_0x19916e){return _0x19916e['sectionId'];})},'transaction':_0x22cae7})[_0x6326('0x2d')](function(){var _0x7966ee=_['map'](_0x51b189,function(_0xf064eb){_0xf064eb['userProfileId']=_0x4fbede[_0x6326('0x4e')]['id'];return _0xf064eb;});var _0x1dda23=[];return BPromise[_0x6326('0x5d')](_0x7966ee,function(_0x1e5aaa){return db[_0x6326('0x5c')][_0x6326('0x52')](_0x1e5aaa,{'include':[{'model':db[_0x6326('0x5f')],'as':_0x6326('0x61')}],'raw':!![],'transaction':_0x22cae7})[_0x6326('0x2d')](function(_0xf5ede0){_0x1dda23[_0x6326('0x65')](_0xf5ede0[_0x6326('0x5b')]({'plain':!![]}));});})[_0x6326('0x2d')](function(){return _0x1dda23;});});});}})[_0x6326('0x2d')](function(_0x34e30f){return _0x34e30f;})[_0x6326('0x2d')](respondWithResult(_0x5cadb2,null))[_0x6326('0x4c')](handleError(_0x5cadb2,null));};exports['removeSections']=function(_0x5a7e91,_0x543792){var _0x4839bf;return db[_0x6326('0x33')]['find']({'where':{'id':_0x5a7e91['params']['id']},'attributes':['id','name']})['then'](handleEntityNotFound(_0x543792,null))['then'](function(_0x5a1a9f){if(_0x5a1a9f){_0x4839bf=_0x5a1a9f;return db[_0x6326('0x5c')][_0x6326('0x62')]({'where':{'userProfileId':_0x5a7e91['params']['id'],'sectionId':_0x5a7e91[_0x6326('0x39')][_0x6326('0x66')]}});}})[_0x6326('0x2d')](function(){return _0x4839bf;})['then'](respondWithStatusCode(_0x543792,null))[_0x6326('0x4c')](handleError(_0x543792,null));};exports[_0x6326('0x67')]=function(_0x3b1848,_0x396cbf){var _0x3e9477=[];var _0x483813=[];return db[_0x6326('0x5c')]['findAll']({'where':{'userProfileId':_0x3b1848['params']['id']},'raw':!![]})[_0x6326('0x2d')](function(_0x4fa150){_0x3e9477=_['filter'](_0x4fa150,function(_0x52a91d){return _0x52a91d['enabled']===0x1||_['includes']([0x3eb,0x709],_0x52a91d['sectionId']);});if(!_['isEmpty'](_0x3e9477)){return _[_0x6326('0x38')](_0x3e9477,function(_0x393c82){return _0x393c82[_0x6326('0x68')];});}else{return;}})[_0x6326('0x2d')](function(_0x590e06){if(_0x590e06)_0x483813=_0x590e06;if(_['includes'](_0x483813,0x64)){var _0x4b61c4=_[_0x6326('0x51')](_0x3e9477,{'sectionId':0x64});return hasDefaultDashboard(_0x4b61c4)[_0x6326('0x2d')](function(_0x482231){return _[_0x6326('0x38')](_0x3e9477,function(_0x511f4f){if(_0x511f4f['sectionId']===0x64){_0x511f4f[_0x6326('0x69')]=_0x482231;}return _0x511f4f;});});}else{return;}})[_0x6326('0x2d')](function(_0x2d81b0){if(_0x2d81b0)_0x3e9477=_0x2d81b0;if(_[_0x6326('0x6a')](_0x483813,0x3eb)){var _0x2da14d=_[_0x6326('0x51')](_0x3e9477,{'sectionId':0x3eb});return getCustomDashboards(_0x2da14d)[_0x6326('0x2d')](function(_0x580cdf){return _['map'](_0x3e9477,function(_0x4c8bde){if(_0x2da14d[_0x6326('0x6b')]){if(_0x4c8bde['sectionId']===0x3eb){_0x4c8bde['subsections']=_0x580cdf;}}else{if(_0x4c8bde[_0x6326('0x68')]===0x64){_0x4c8bde[_0x6326('0x69')]=_0x580cdf;}}return _0x4c8bde;});});}else{return;}})['then'](function(_0x1fa91d){if(_0x1fa91d)_0x3e9477=_0x1fa91d;if(_['includes'](_0x483813,0x709)){var _0x5a7481=_[_0x6326('0x51')](_0x3e9477,{'sectionId':0x709});return getPlugins(_0x5a7481)[_0x6326('0x2d')](function(_0x492483){if(_0x5a7481['enabled']){return _[_0x6326('0x38')](_0x3e9477,function(_0x26166a){if(_0x26166a[_0x6326('0x68')]===0x709){_0x26166a[_0x6326('0x69')]=_0x492483;}return _0x26166a;});}else{var _0x4fe1bd={'sectionId':0x76c,'enabled':0x1,'subsections':_0x492483};var _0x5897ad=_[_0x6326('0x38')](_0x3e9477);_0x5897ad[_0x6326('0x65')](_0x4fe1bd);return _0x5897ad;}});}else{return;}})[_0x6326('0x2d')](function(_0x2893a4){if(_0x2893a4)_0x3e9477=_0x2893a4;return _[_0x6326('0x45')](_0x3e9477,[_0x6326('0x6b'),0x1]);})[_0x6326('0x2d')](respondWithResult(_0x396cbf,null))[_0x6326('0x4c')](handleError(_0x396cbf,null));};function hasDefaultDashboard(_0x4c0716){var _0x27d306=[0x65];return new BPromise(function(_0x5597ec,_0x417c65){try{if(_0x4c0716[_0x6326('0x5e')]){_0x5597ec(_0x27d306);}else{return db[_0x6326('0x5f')][_0x6326('0x6c')]({'where':{'sectionId':_0x4c0716['id']},'raw':!![]})[_0x6326('0x2d')](function(_0x8a118a){_0x8a118a?_0x5597ec(_0x27d306):_0x5597ec();});}}catch(_0x5597e1){_0x417c65(_0x5597e1);}});}function getCustomDashboards(_0x280590){var _0x308bcf=[];return new BPromise(function(_0x57a135,_0x2d891a){try{if(_0x280590[_0x6326('0x5e')]){return db[_0x6326('0x6d')][_0x6326('0x4a')]({'raw':!![]})[_0x6326('0x2d')](function(_0x283a6b){_0x283a6b[_0x6326('0x6e')](function(_0x59b0e8){_0x308bcf[_0x6326('0x65')](_0x59b0e8['id']+0x1869f);});_0x57a135(_0x308bcf);});}else{return db[_0x6326('0x5f')][_0x6326('0x4a')]({'where':{'sectionId':_0x280590['id']},'raw':!![]})[_0x6326('0x2d')](function(_0x24d8d){_0x24d8d['forEach'](function(_0x21fc05){_0x308bcf[_0x6326('0x65')](_0x21fc05['resourceId']+0x1869f);});_0x57a135(_0x308bcf);});}}catch(_0x411fe5){_0x2d891a(_0x411fe5);}});}function getPlugins(_0x2bf6b1){var _0x3f2d43=[];return new BPromise(function(_0x6fe87e,_0x29b3fe){try{if(_0x2bf6b1[_0x6326('0x5e')]){return db[_0x6326('0x6f')][_0x6326('0x4a')]({'raw':!![]})['then'](function(_0x20ce09){_0x20ce09[_0x6326('0x6e')](function(_0x911a32){_0x3f2d43[_0x6326('0x65')](_0x911a32['id']+0x15b38);});_0x6fe87e(_0x3f2d43);});}else{return db[_0x6326('0x5f')][_0x6326('0x4a')]({'where':{'sectionId':_0x2bf6b1['id']},'raw':!![]})[_0x6326('0x2d')](function(_0x562929){_0x562929[_0x6326('0x6e')](function(_0x5df7da){_0x3f2d43[_0x6326('0x65')](_0x5df7da['resourceId']+0x15b38);});_0x6fe87e(_0x3f2d43);});}}catch(_0x3a9312){_0x29b3fe(_0x3a9312);}});}exports['addResources']=function(_0x2b885b,_0xda3005){return db[_0x6326('0x33')][_0x6326('0x51')]({'where':{'id':_0x2b885b[_0x6326('0x4e')]['id']}})[_0x6326('0x2d')](handleEntityNotFound(_0xda3005,null))[_0x6326('0x2d')](function(_0x48d6e8){if(_0x48d6e8){return db[_0x6326('0x64')][_0x6326('0x5a')](function(_0x3093d0){return db['UserProfileSection'][_0x6326('0x4a')]({'where':{'userProfileId':_0x2b885b['params']['id']},'attributes':['id'],'raw':!![]})[_0x6326('0x2d')](function(_0x3f1367){if(_0x3f1367){return db[_0x6326('0x5c')][_0x6326('0x62')]({'where':{'userProfileId':_0x2b885b[_0x6326('0x4e')]['id'],'id':_[_0x6326('0x38')](_0x3f1367,function(_0x6448af){return _0x6448af['id'];})},'transaction':_0x3093d0});}})['then'](function(_0x2bc5a4){var _0x48dffe=_[_0x6326('0x38')](_0x2b885b[_0x6326('0x53')],function(_0x1f5816){_0x1f5816[_0x6326('0x60')]=_0x2b885b['params']['id'];return _0x1f5816;});return db['UserProfileSection'][_0x6326('0x70')](_0x48dffe,{'raw':!![],'transaction':_0x3093d0});})[_0x6326('0x2d')](function(_0x168ba6){var _0x4718a2=_['filter'](_[_0x6326('0x38')](_0x168ba6,function(_0x4a69bb){return _0x4a69bb['get']({'plain':!![]});}),{'includeAll':![]});if(_0x4718a2){return db[_0x6326('0x5c')][_0x6326('0x4a')]({'where':{'userProfileId':_0x2b885b[_0x6326('0x4e')]['id'],'sectionId':_[_0x6326('0x38')](_0x4718a2,function(_0x1736ea){return _0x1736ea[_0x6326('0x68')];})},'attributes':['id',_0x6326('0x68')],'raw':!![]})[_0x6326('0x2d')](function(_0x2f060d){var _0x3884db=_['map'](_0x2b885b['body'],function(_0x142283){_0x142283['userProfileId']=_0x2b885b[_0x6326('0x4e')]['id'];return _0x142283;});return db['UserProfileResource']['bulkCreate'](_0x3884db,{'raw':!![],'transaction':_0x3093d0});});}})[_0x6326('0x4c')](handleError(_0xda3005,null));});}})[_0x6326('0x2d')](function(_0x3f1a63){var _0x2ddee8=_[_0x6326('0x38')](_0x3f1a63,function(_0x126a47){return _0x126a47[_0x6326('0x5b')]({'plain':!![]});});})[_0x6326('0x2d')](respondWithResult(_0xda3005,null))['catch'](handleError(_0xda3005,null));};exports['removeResources']=function(_0xe3aa38,_0x47b0e0,_0x2a1a9c){return db[_0x6326('0x33')]['find']({'where':{'id':_0xe3aa38['params']['id']}})[_0x6326('0x2d')](handleEntityNotFound(_0x47b0e0,null))['then'](function(_0x5718ed){if(_0x5718ed){return _0x5718ed['removeResources'](_0xe3aa38[_0x6326('0x39')][_0x6326('0x66')]);}})[_0x6326('0x2d')](respondWithStatusCode(_0x47b0e0,null))[_0x6326('0x4c')](handleError(_0x47b0e0,null));};exports[_0x6326('0x71')]=function(_0x26f784,_0x435898){var _0x505879={};if(!_0x26f784['query']['section'])throw new Error('Missing\x20section\x20parameter');if(!_0x26f784['query']['hasOwnProperty'](_0x6326('0x72'))){_0x505879[_0x6326('0x40')]=qs[_0x6326('0x40')](_0x26f784[_0x6326('0x39')]['limit']);_0x505879[_0x6326('0x23')]=qs[_0x6326('0x23')](_0x26f784['query'][_0x6326('0x23')]);}return db['UserProfile'][_0x6326('0x51')]({'where':{'id':_0x26f784[_0x6326('0x4e')]['id']}})[_0x6326('0x2d')](function(_0x5d4b0a){if(!_0x5d4b0a)throw new Error('No\x20User\x20Profile\x20found\x20for\x20id\x20'+_0x26f784[_0x6326('0x4e')]['id']);return db[_0x6326('0x33')][_0x6326('0x71')](_0x26f784);})['then'](respondWithFilteredResult(_0x435898,_0x505879))[_0x6326('0x4c')](handleError(_0x435898,null));};