0d8a9461e404509ef9b99f847fd4e5ce20ab55a5
[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 _0x202a=['redis','localhost','socket.io-emitter','./userProfile.socket','sendStatus','status','json','offset','limit','undefined','count','set','Content-Range','apply','update','destroy','then','error','stack','name','send','index','map','UserProfile','rawAttributes','fieldName','type','key','model','keys','query','intersection','fields','attributes','length','hasOwnProperty','sort','where','filters','pick','filter','merge','VIRTUAL','options','include','rows','catch','show','params','includeAll','find','create','body','clone','get','omit','createdAt','updatedAt','crudPermissions','sequelize','transaction','UserProfileSection','findAll','each','autoAssociation','UserProfileResource','Resources','describe','addSections','sectionId','userProfileId','push','removeSections','ids','getSections','enabled','includes','isEmpty','subsections','forEach','resourceId','addResources','bulkCreate','removeResources','getResources','Missing\x20section\x20parameter','rimraf','zip-dir','fast-json-patch','moment','path','sox','fs-extra','jsforce','desk.js','to-csv','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','defaults'];(function(_0x3bf83f,_0x181cac){var _0x22c4a9=function(_0xb3ff0d){while(--_0xb3ff0d){_0x3bf83f['push'](_0x3bf83f['shift']());}};_0x22c4a9(++_0x181cac);}(_0x202a,0xc0));var _0xa202=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x202a[_0x321bb2];return _0x9c12ed;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xa202('0x0'));var zipdir=require(_0xa202('0x1'));var jsonpatch=require(_0xa202('0x2'));var rp=require('request-promise');var moment=require(_0xa202('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0xa202('0x4'));var sox=require(_0xa202('0x5'));var csv=require('to-csv');var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xa202('0x6'));var _=require('lodash');var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0xa202('0x7'));var deskjs=require(_0xa202('0x8'));var toCsv=require(_0xa202('0x9'));var querystring=require(_0xa202('0xa'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xa202('0xb'));var qs=require(_0xa202('0xc'));var as=require(_0xa202('0xd'));var hardwareService=require(_0xa202('0xe'));var logger=require('../../config/logger')(_0xa202('0xf'));var utils=require('../../config/utils');var config=require(_0xa202('0x10'));var licenseUtil=require(_0xa202('0x11'));var db=require(_0xa202('0x12'))['db'];config['redis']=_[_0xa202('0x13')](config[_0xa202('0x14')],{'host':_0xa202('0x15'),'port':0x18eb});var socket=require(_0xa202('0x16'))(new Redis(config[_0xa202('0x14')]));require(_0xa202('0x17'))['register'](socket);function respondWithStatusCode(_0x13510c,_0x3b3ec9){_0x3b3ec9=_0x3b3ec9||0xcc;return function(_0x3880ad){if(_0x3880ad){return _0x13510c[_0xa202('0x18')](_0x3b3ec9);}return _0x13510c[_0xa202('0x19')](_0x3b3ec9)['end']();};}function respondWithResult(_0x331df8,_0x30b18b){_0x30b18b=_0x30b18b||0xc8;return function(_0x1221a2){if(_0x1221a2){return _0x331df8[_0xa202('0x19')](_0x30b18b)[_0xa202('0x1a')](_0x1221a2);}};}function respondWithFilteredResult(_0x214a08,_0x5d348c){return function(_0x44a1b6){if(_0x44a1b6){var _0x53ff78=typeof _0x5d348c[_0xa202('0x1b')]==='undefined'&&typeof _0x5d348c[_0xa202('0x1c')]===_0xa202('0x1d');var _0x130c45=_0x44a1b6[_0xa202('0x1e')];var _0x391e82=_0x53ff78?0x0:_0x5d348c['offset'];var _0x1da0e2=_0x53ff78?_0x44a1b6[_0xa202('0x1e')]:_0x5d348c[_0xa202('0x1b')]+_0x5d348c[_0xa202('0x1c')];var _0x188195;if(_0x1da0e2>=_0x130c45){_0x1da0e2=_0x130c45;_0x188195=0xc8;}else{_0x188195=0xce;}_0x214a08['status'](_0x188195);return _0x214a08[_0xa202('0x1f')](_0xa202('0x20'),_0x391e82+'-'+_0x1da0e2+'/'+_0x130c45)[_0xa202('0x1a')](_0x44a1b6);}return null;};}function patchUpdates(_0x44801a){return function(_0x5845f5){try{jsonpatch[_0xa202('0x21')](_0x5845f5,_0x44801a,!![]);}catch(_0x192d3c){return BPromise['reject'](_0x192d3c);}return _0x5845f5['save']();};}function saveUpdates(_0x7991c7,_0x2f5714){return function(_0x47ceb1){if(_0x47ceb1){return _0x47ceb1[_0xa202('0x22')](_0x7991c7)['then'](function(_0x5373b6){return _0x5373b6;});}return null;};}function removeEntity(_0x72fe3e,_0x268ee9){return function(_0x397553){if(_0x397553){return _0x397553[_0xa202('0x23')]()[_0xa202('0x24')](function(){_0x72fe3e[_0xa202('0x19')](0xcc)['end']();});}};}function handleEntityNotFound(_0x571571,_0x55f478){return function(_0x4d33fe){if(!_0x4d33fe){_0x571571[_0xa202('0x18')](0x194);}return _0x4d33fe;};}function handleError(_0x23d7cd,_0x3db218){_0x3db218=_0x3db218||0x1f4;return function(_0x57f049){logger[_0xa202('0x25')](_0x57f049[_0xa202('0x26')]);if(_0x57f049[_0xa202('0x27')]){delete _0x57f049[_0xa202('0x27')];}_0x23d7cd[_0xa202('0x19')](_0x3db218)[_0xa202('0x28')](_0x57f049);};}exports[_0xa202('0x29')]=function(_0x9382a7,_0x22ba67){var _0x106b89={},_0x213749={},_0x144afd={'count':0x0,'rows':[]};var _0xb0fda6=_[_0xa202('0x2a')](db[_0xa202('0x2b')][_0xa202('0x2c')],function(_0x5b3b40){return{'name':_0x5b3b40[_0xa202('0x2d')],'type':_0x5b3b40[_0xa202('0x2e')][_0xa202('0x2f')]};});_0x213749[_0xa202('0x30')]=_[_0xa202('0x2a')](_0xb0fda6,_0xa202('0x27'));_0x213749['query']=_[_0xa202('0x31')](_0x9382a7[_0xa202('0x32')]);_0x213749['filters']=_[_0xa202('0x33')](_0x213749[_0xa202('0x30')],_0x213749['query']);_0x106b89['attributes']=_['intersection'](_0x213749[_0xa202('0x30')],qs[_0xa202('0x34')](_0x9382a7[_0xa202('0x32')][_0xa202('0x34')]));_0x106b89[_0xa202('0x35')]=_0x106b89['attributes'][_0xa202('0x36')]?_0x106b89['attributes']:_0x213749[_0xa202('0x30')];if(!_0x9382a7[_0xa202('0x32')][_0xa202('0x37')]('nolimit')){_0x106b89[_0xa202('0x1c')]=qs['limit'](_0x9382a7['query'][_0xa202('0x1c')]);_0x106b89[_0xa202('0x1b')]=qs['offset'](_0x9382a7[_0xa202('0x32')]['offset']);}_0x106b89['order']=qs[_0xa202('0x38')](_0x9382a7[_0xa202('0x32')]['sort']);_0x106b89[_0xa202('0x39')]=qs[_0xa202('0x3a')](_[_0xa202('0x3b')](_0x9382a7['query'],_0x213749[_0xa202('0x3a')]),_0xb0fda6);if(_0x9382a7[_0xa202('0x32')][_0xa202('0x3c')]){_0x106b89[_0xa202('0x39')]=_[_0xa202('0x3d')](_0x106b89[_0xa202('0x39')],{'$or':_[_0xa202('0x2a')](_0xb0fda6,function(_0x3c480f){if(_0x3c480f[_0xa202('0x2e')]!==_0xa202('0x3e')){var _0x387764={};_0x387764[_0x3c480f[_0xa202('0x27')]]={'$like':'%'+_0x9382a7['query']['filter']+'%'};return _0x387764;}})});}_0x106b89=_[_0xa202('0x3d')]({},_0x106b89,_0x9382a7[_0xa202('0x3f')]);var _0x24d2ae={'where':_0x106b89[_0xa202('0x39')]};return db[_0xa202('0x2b')][_0xa202('0x1e')](_0x24d2ae)[_0xa202('0x24')](function(_0x3bca66){_0x144afd[_0xa202('0x1e')]=_0x3bca66;if(_0x9382a7[_0xa202('0x32')]['includeAll']){_0x106b89[_0xa202('0x40')]=[{'all':!![]}];}return db[_0xa202('0x2b')]['findAll'](_0x106b89);})['then'](function(_0x4f783c){_0x144afd[_0xa202('0x41')]=_0x4f783c;return _0x144afd;})[_0xa202('0x24')](respondWithFilteredResult(_0x22ba67,_0x106b89))[_0xa202('0x42')](handleError(_0x22ba67,null));};exports[_0xa202('0x43')]=function(_0x5035e2,_0x211c1b){var _0x220888={'raw':![],'where':{'id':_0x5035e2[_0xa202('0x44')]['id']}},_0x19714b={};_0x19714b['model']=_[_0xa202('0x31')](db[_0xa202('0x2b')][_0xa202('0x2c')]);_0x19714b['query']=_[_0xa202('0x31')](_0x5035e2[_0xa202('0x32')]);_0x19714b[_0xa202('0x3a')]=_[_0xa202('0x33')](_0x19714b[_0xa202('0x30')],_0x19714b[_0xa202('0x32')]);_0x220888[_0xa202('0x35')]=_[_0xa202('0x33')](_0x19714b[_0xa202('0x30')],qs[_0xa202('0x34')](_0x5035e2[_0xa202('0x32')][_0xa202('0x34')]));_0x220888['attributes']=_0x220888[_0xa202('0x35')][_0xa202('0x36')]?_0x220888[_0xa202('0x35')]:_0x19714b[_0xa202('0x30')];if(_0x5035e2[_0xa202('0x32')][_0xa202('0x45')]){_0x220888[_0xa202('0x40')]=[{'all':!![]}];}_0x220888=_[_0xa202('0x3d')]({},_0x220888,_0x5035e2['options']);return db[_0xa202('0x2b')][_0xa202('0x46')](_0x220888)[_0xa202('0x24')](handleEntityNotFound(_0x211c1b,null))['then'](respondWithResult(_0x211c1b,null))[_0xa202('0x42')](handleError(_0x211c1b,null));};exports[_0xa202('0x47')]=function(_0xc72f62,_0x55cfc5){return db[_0xa202('0x2b')][_0xa202('0x47')](_0xc72f62[_0xa202('0x48')],{})[_0xa202('0x24')](respondWithResult(_0x55cfc5,0xc9))[_0xa202('0x42')](handleError(_0x55cfc5,null));};exports[_0xa202('0x49')]=function(_0x1d118b,_0x3f972b){var _0x2bf061={'where':{'id':_0x1d118b[_0xa202('0x44')]['id']}},_0x17407e={};_0x17407e['model']=_[_0xa202('0x31')](db[_0xa202('0x2b')][_0xa202('0x2c')]);_0x2bf061['attributes']=_['intersection'](_0x17407e[_0xa202('0x30')],qs[_0xa202('0x34')](_0x1d118b['query'][_0xa202('0x34')]));_0x2bf061[_0xa202('0x35')]=_0x2bf061['attributes'][_0xa202('0x36')]?_0x2bf061[_0xa202('0x35')]:_0x17407e[_0xa202('0x30')];if(_0x1d118b[_0xa202('0x32')]['includeAll']){_0x2bf061[_0xa202('0x40')]=[{'all':!![]}];}_0x2bf061=_['merge']({},_0x2bf061,_0x1d118b['options']);return db[_0xa202('0x2b')]['find'](_0x2bf061)['then'](handleEntityNotFound(_0x3f972b,null))[_0xa202('0x24')](function(_0x51953a){if(_0x51953a){var _0x56da5b=_0x51953a[_0xa202('0x4a')]({'plain':!![]});_0x56da5b=qs[_0xa202('0x4b')](_0x56da5b,['id',_0xa202('0x4c'),_0xa202('0x4d'),_0xa202('0x4e')]);_0x1d118b[_0xa202('0x48')]=_[_0xa202('0x4b')](_0x1d118b['body'],['id',_0xa202('0x4c'),_0xa202('0x4d')]);return db[_0xa202('0x4f')][_0xa202('0x50')](function(_0x188480){return db[_0xa202('0x2b')][_0xa202('0x47')](_['merge'](_0x56da5b,_0x1d118b[_0xa202('0x48')]),{'include':_0x1d118b[_0xa202('0x32')][_0xa202('0x45')]?[{'all':!![]}]:undefined,'transaction':_0x188480})['then'](function(_0x511033){var _0x5ba827=_0x511033[_0xa202('0x4a')]({'plain':!![]});return db[_0xa202('0x51')][_0xa202('0x52')]({'where':{'userProfileId':_0x1d118b[_0xa202('0x44')]['id']},'raw':!![]})[_0xa202('0x24')](function(_0x1bc9bc){if(_0x1bc9bc){return BPromise[_0xa202('0x53')](_0x1bc9bc,function(_0x1f3677){return new BPromise(function(_0x42bb2f,_0x590ebe){if(_0x1f3677[_0xa202('0x54')]===null||_0x1f3677['autoAssociation']===0x1)_0x42bb2f(null);return db[_0xa202('0x55')][_0xa202('0x52')]({'where':{'sectionId':_0x1f3677['id']},'raw':!![]})[_0xa202('0x24')](function(_0x1893bf){var _0x30fc65=_['map'](_0x1893bf,function(_0xa742bf){return qs[_0xa202('0x4b')](_0xa742bf,['id','createdAt',_0xa202('0x4d'),'sectionId']);});_0x42bb2f(_0x30fc65);})[_0xa202('0x42')](function(_0x530b90){_0x590ebe(_0x530b90);});})['then'](function(_0x248d1c){var _0x24e526=qs[_0xa202('0x4b')](_0x1f3677,['id',_0xa202('0x4c'),_0xa202('0x4d')]);_0x24e526['userProfileId']=_0x5ba827['id'];if(_0x248d1c)_0x24e526['Resources']=_0x248d1c;return _0x24e526;})['then'](function(_0x584072){return db[_0xa202('0x51')][_0xa202('0x47')](_0x584072,{'include':[{'model':db[_0xa202('0x55')],'as':_0xa202('0x56')}],'raw':!![],'transaction':_0x188480});});})['then'](function(){return _0x5ba827;});}});});});}})['then'](respondWithResult(_0x3f972b,0xc9))['catch'](handleError(_0x3f972b,null));};exports[_0xa202('0x22')]=function(_0x34eab8,_0x4c0fa7){if(_0x34eab8[_0xa202('0x48')]['id']){delete _0x34eab8[_0xa202('0x48')]['id'];}return db['UserProfile']['find']({'where':{'id':_0x34eab8[_0xa202('0x44')]['id']}})['then'](handleEntityNotFound(_0x4c0fa7,null))[_0xa202('0x24')](saveUpdates(_0x34eab8[_0xa202('0x48')],null))[_0xa202('0x24')](respondWithResult(_0x4c0fa7,null))['catch'](handleError(_0x4c0fa7,null));};exports[_0xa202('0x23')]=function(_0xa51569,_0xe7e475){return db['UserProfile'][_0xa202('0x46')]({'where':{'id':_0xa51569[_0xa202('0x44')]['id']}})[_0xa202('0x24')](handleEntityNotFound(_0xe7e475,null))[_0xa202('0x24')](removeEntity(_0xe7e475,null))['catch'](handleError(_0xe7e475,null));};exports[_0xa202('0x57')]=function(_0x588f96,_0x4794e2){return db[_0xa202('0x2b')][_0xa202('0x57')]()['then'](respondWithResult(_0x4794e2,null))['catch'](handleError(_0x4794e2,null));};exports[_0xa202('0x58')]=function(_0x771f2e,_0x5496b7){var _0x5ac40c=_0x771f2e['body'];return db[_0xa202('0x2b')]['find']({'where':{'id':_0x771f2e[_0xa202('0x44')]['id']}})[_0xa202('0x24')](handleEntityNotFound(_0x5496b7,null))[_0xa202('0x24')](function(_0x14d17d){if(_0x14d17d){return db[_0xa202('0x4f')][_0xa202('0x50')](function(_0x3c731c){return db[_0xa202('0x51')][_0xa202('0x23')]({'where':{'userProfileId':_0x771f2e[_0xa202('0x44')]['id'],'sectionId':_[_0xa202('0x2a')](_0x5ac40c,function(_0x2ba7d9){return _0x2ba7d9[_0xa202('0x59')];})},'transaction':_0x3c731c})[_0xa202('0x24')](function(){var _0x9fc61a=_[_0xa202('0x2a')](_0x5ac40c,function(_0x282fc5){_0x282fc5[_0xa202('0x5a')]=_0x771f2e['params']['id'];return _0x282fc5;});var _0x369061=[];return BPromise[_0xa202('0x53')](_0x9fc61a,function(_0x105c94){return db['UserProfileSection']['create'](_0x105c94,{'include':[{'model':db[_0xa202('0x55')],'as':_0xa202('0x56')}],'raw':!![],'transaction':_0x3c731c})[_0xa202('0x24')](function(_0x2e42d9){_0x369061[_0xa202('0x5b')](_0x2e42d9[_0xa202('0x4a')]({'plain':!![]}));});})[_0xa202('0x24')](function(){return _0x369061;});});});}})[_0xa202('0x24')](function(_0x245b2a){return _0x245b2a;})[_0xa202('0x24')](respondWithResult(_0x5496b7,null))[_0xa202('0x42')](handleError(_0x5496b7,null));};exports[_0xa202('0x5c')]=function(_0x874371,_0x268914){var _0x573bd8;return db[_0xa202('0x2b')][_0xa202('0x46')]({'where':{'id':_0x874371['params']['id']},'attributes':['id',_0xa202('0x27')]})[_0xa202('0x24')](handleEntityNotFound(_0x268914,null))['then'](function(_0x4afce1){if(_0x4afce1){_0x573bd8=_0x4afce1;return db[_0xa202('0x51')][_0xa202('0x23')]({'where':{'userProfileId':_0x874371['params']['id'],'sectionId':_0x874371[_0xa202('0x32')][_0xa202('0x5d')]}});}})['then'](function(){return _0x573bd8;})['then'](respondWithStatusCode(_0x268914,null))[_0xa202('0x42')](handleError(_0x268914,null));};exports[_0xa202('0x5e')]=function(_0x4dad05,_0x23ade2){var _0x52cfc2=[];var _0x3990c9=[];return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x4dad05['params']['id']},'raw':!![]})[_0xa202('0x24')](function(_0x5c7a71){_0x52cfc2=_[_0xa202('0x3c')](_0x5c7a71,function(_0x5080e1){return _0x5080e1[_0xa202('0x5f')]===0x1||_[_0xa202('0x60')]([0x3eb,0x709],_0x5080e1[_0xa202('0x59')]);});if(!_[_0xa202('0x61')](_0x52cfc2)){return _[_0xa202('0x2a')](_0x52cfc2,function(_0x3009e6){return _0x3009e6['sectionId'];});}else{return;}})[_0xa202('0x24')](function(_0x28bb11){if(_0x28bb11)_0x3990c9=_0x28bb11;if(_[_0xa202('0x60')](_0x3990c9,0x64)){var _0x1ee182=_[_0xa202('0x46')](_0x52cfc2,{'sectionId':0x64});return hasDefaultDashboard(_0x1ee182)[_0xa202('0x24')](function(_0x20e056){return _[_0xa202('0x2a')](_0x52cfc2,function(_0x4e2851){if(_0x4e2851['sectionId']===0x64){_0x4e2851[_0xa202('0x62')]=_0x20e056;}return _0x4e2851;});});}else{return;}})[_0xa202('0x24')](function(_0x31f58c){if(_0x31f58c)_0x52cfc2=_0x31f58c;if(_['includes'](_0x3990c9,0x3eb)){var _0x6316df=_[_0xa202('0x46')](_0x52cfc2,{'sectionId':0x3eb});return getCustomDashboards(_0x6316df)['then'](function(_0x123a12){return _[_0xa202('0x2a')](_0x52cfc2,function(_0x37c633){if(_0x6316df['enabled']){if(_0x37c633[_0xa202('0x59')]===0x3eb){_0x37c633['subsections']=_0x123a12;}}else{if(_0x37c633['sectionId']===0x64){_0x37c633[_0xa202('0x62')]=_0x123a12;}}return _0x37c633;});});}else{return;}})['then'](function(_0x211521){if(_0x211521)_0x52cfc2=_0x211521;if(_[_0xa202('0x60')](_0x3990c9,0x709)){var _0x40c2a7=_['find'](_0x52cfc2,{'sectionId':0x709});return getPlugins(_0x40c2a7)[_0xa202('0x24')](function(_0x51d20b){if(_0x40c2a7['enabled']){return _[_0xa202('0x2a')](_0x52cfc2,function(_0x3f8607){if(_0x3f8607['sectionId']===0x709){_0x3f8607[_0xa202('0x62')]=_0x51d20b;}return _0x3f8607;});}else{var _0x33d43d={'sectionId':0x76c,'enabled':0x1,'subsections':_0x51d20b};var _0x204b0d=_['map'](_0x52cfc2);_0x204b0d[_0xa202('0x5b')](_0x33d43d);return _0x204b0d;}});}else{return;}})[_0xa202('0x24')](function(_0x46b74d){if(_0x46b74d)_0x52cfc2=_0x46b74d;return _[_0xa202('0x3c')](_0x52cfc2,[_0xa202('0x5f'),0x1]);})[_0xa202('0x24')](respondWithResult(_0x23ade2,null))[_0xa202('0x42')](handleError(_0x23ade2,null));};function hasDefaultDashboard(_0x446cdb){var _0x5b1a30=[0x65];return new BPromise(function(_0x14a5db,_0x57a47a){try{if(_0x446cdb['autoAssociation']){_0x14a5db(_0x5b1a30);}else{return db[_0xa202('0x55')]['findOne']({'where':{'sectionId':_0x446cdb['id']},'raw':!![]})['then'](function(_0x490881){_0x490881?_0x14a5db(_0x5b1a30):_0x14a5db();});}}catch(_0x207191){_0x57a47a(_0x207191);}});}function getCustomDashboards(_0x18a0a4){var _0x406805=[];return new BPromise(function(_0x5c5aee,_0x1c397e){try{if(_0x18a0a4[_0xa202('0x54')]){return db['Dashboard'][_0xa202('0x52')]({'raw':!![]})[_0xa202('0x24')](function(_0x526805){_0x526805[_0xa202('0x63')](function(_0x41c54f){_0x406805['push'](_0x41c54f['id']+0x1869f);});_0x5c5aee(_0x406805);});}else{return db['UserProfileResource'][_0xa202('0x52')]({'where':{'sectionId':_0x18a0a4['id']},'raw':!![]})[_0xa202('0x24')](function(_0x3b0664){_0x3b0664['forEach'](function(_0x451059){_0x406805[_0xa202('0x5b')](_0x451059['resourceId']+0x1869f);});_0x5c5aee(_0x406805);});}}catch(_0x1c2c22){_0x1c397e(_0x1c2c22);}});}function getPlugins(_0x1d1898){var _0x3c4e2d=[];return new BPromise(function(_0x25fb32,_0x346d6a){try{if(_0x1d1898[_0xa202('0x54')]){return db['Plugin']['findAll']({'raw':!![]})[_0xa202('0x24')](function(_0x25352c){_0x25352c['forEach'](function(_0x490054){_0x3c4e2d[_0xa202('0x5b')](_0x490054['id']+0x15b38);});_0x25fb32(_0x3c4e2d);});}else{return db[_0xa202('0x55')][_0xa202('0x52')]({'where':{'sectionId':_0x1d1898['id']},'raw':!![]})[_0xa202('0x24')](function(_0x48ebc3){_0x48ebc3[_0xa202('0x63')](function(_0x41f18c){_0x3c4e2d[_0xa202('0x5b')](_0x41f18c[_0xa202('0x64')]+0x15b38);});_0x25fb32(_0x3c4e2d);});}}catch(_0x1806f9){_0x346d6a(_0x1806f9);}});}exports[_0xa202('0x65')]=function(_0x3f3dca,_0x3adb2c){return db['UserProfile']['find']({'where':{'id':_0x3f3dca[_0xa202('0x44')]['id']}})[_0xa202('0x24')](handleEntityNotFound(_0x3adb2c,null))['then'](function(_0x5a5d3f){if(_0x5a5d3f){return db['sequelize']['transaction'](function(_0x312b7b){return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x3f3dca['params']['id']},'attributes':['id'],'raw':!![]})[_0xa202('0x24')](function(_0x571b78){if(_0x571b78){return db[_0xa202('0x51')][_0xa202('0x23')]({'where':{'userProfileId':_0x3f3dca[_0xa202('0x44')]['id'],'id':_[_0xa202('0x2a')](_0x571b78,function(_0x2e4c31){return _0x2e4c31['id'];})},'transaction':_0x312b7b});}})[_0xa202('0x24')](function(_0x20d7f0){var _0xb640e2=_['map'](_0x3f3dca[_0xa202('0x48')],function(_0x3329ef){_0x3329ef[_0xa202('0x5a')]=_0x3f3dca[_0xa202('0x44')]['id'];return _0x3329ef;});return db[_0xa202('0x51')][_0xa202('0x66')](_0xb640e2,{'raw':!![],'transaction':_0x312b7b});})[_0xa202('0x24')](function(_0x5426ee){var _0x34e925=_[_0xa202('0x3c')](_['map'](_0x5426ee,function(_0x138203){return _0x138203[_0xa202('0x4a')]({'plain':!![]});}),{'includeAll':![]});if(_0x34e925){return db[_0xa202('0x51')][_0xa202('0x52')]({'where':{'userProfileId':_0x3f3dca[_0xa202('0x44')]['id'],'sectionId':_[_0xa202('0x2a')](_0x34e925,function(_0x258b46){return _0x258b46[_0xa202('0x59')];})},'attributes':['id',_0xa202('0x59')],'raw':!![]})['then'](function(_0x23a649){var _0x1a2d95=_['map'](_0x3f3dca['body'],function(_0x12ee5c){_0x12ee5c[_0xa202('0x5a')]=_0x3f3dca[_0xa202('0x44')]['id'];return _0x12ee5c;});return db['UserProfileResource']['bulkCreate'](_0x1a2d95,{'raw':!![],'transaction':_0x312b7b});});}})[_0xa202('0x42')](handleError(_0x3adb2c,null));});}})[_0xa202('0x24')](function(_0x2b8e79){var _0xc4a75=_['map'](_0x2b8e79,function(_0x564e39){return _0x564e39[_0xa202('0x4a')]({'plain':!![]});});})[_0xa202('0x24')](respondWithResult(_0x3adb2c,null))[_0xa202('0x42')](handleError(_0x3adb2c,null));};exports[_0xa202('0x67')]=function(_0x144a30,_0x1e26f0,_0x5c0b2f){return db[_0xa202('0x2b')][_0xa202('0x46')]({'where':{'id':_0x144a30[_0xa202('0x44')]['id']}})[_0xa202('0x24')](handleEntityNotFound(_0x1e26f0,null))[_0xa202('0x24')](function(_0x868a4e){if(_0x868a4e){return _0x868a4e['removeResources'](_0x144a30[_0xa202('0x32')][_0xa202('0x5d')]);}})[_0xa202('0x24')](respondWithStatusCode(_0x1e26f0,null))[_0xa202('0x42')](handleError(_0x1e26f0,null));};exports[_0xa202('0x68')]=function(_0x5c52a7,_0x46cd39){var _0x3b18a5={};if(!_0x5c52a7[_0xa202('0x32')]['section'])throw new Error(_0xa202('0x69'));if(!_0x5c52a7['query']['hasOwnProperty']('nolimit')){_0x3b18a5[_0xa202('0x1c')]=qs[_0xa202('0x1c')](_0x5c52a7[_0xa202('0x32')][_0xa202('0x1c')]);_0x3b18a5[_0xa202('0x1b')]=qs[_0xa202('0x1b')](_0x5c52a7[_0xa202('0x32')]['offset']);}return db['UserProfile'][_0xa202('0x46')]({'where':{'id':_0x5c52a7[_0xa202('0x44')]['id']}})[_0xa202('0x24')](function(_0x166ab7){if(!_0x166ab7)throw new Error('No\x20User\x20Profile\x20found\x20for\x20id\x20'+_0x5c52a7[_0xa202('0x44')]['id']);return db[_0xa202('0x2b')][_0xa202('0x68')](_0x5c52a7);})[_0xa202('0x24')](respondWithFilteredResult(_0x46cd39,_0x3b18a5))[_0xa202('0x42')](handleError(_0x46cd39,null));};