a1f5b256eae72b9e8f62f8d85873b0183f104ab3
[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 _0x534e=['concat','autoAssociation','findOne','Dashboard','forEach','resourceId','Plugin','userProfileId','bulkCreate','get','removeResources','getResources','section','nolimit','No\x20User\x20Profile\x20found\x20for\x20id\x20','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','crypto','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','register','sendStatus','status','offset','limit','undefined','count','set','Content-Range','json','apply','reject','then','destroy','end','error','stack','name','send','index','map','UserProfile','rawAttributes','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','order','sort','filters','pick','filter','where','merge','VIRTUAL','findAll','rows','catch','show','include','options','find','create','body','clone','includeAll','updatedAt','crudPermissions','omit','sequelize','transaction','UserProfileSection','each','UserProfileResource','createdAt','Resources','update','params','describe','sectionId','push','removeSections','ids','getSections','enabled','includes','subsections'];(function(_0x339dd4,_0x4c1563){var _0x10992f=function(_0x44a770){while(--_0x44a770){_0x339dd4['push'](_0x339dd4['shift']());}};_0x10992f(++_0x4c1563);}(_0x534e,0x16e));var _0xe534=function(_0x296897,_0x4d23ea){_0x296897=_0x296897-0x0;var _0x2b44ab=_0x534e[_0x296897];return _0x2b44ab;};'use strict';var emlformat=require(_0xe534('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe534('0x1'));var jsonpatch=require(_0xe534('0x2'));var rp=require(_0xe534('0x3'));var moment=require(_0xe534('0x4'));var BPromise=require(_0xe534('0x5'));var Mustache=require(_0xe534('0x6'));var util=require(_0xe534('0x7'));var path=require(_0xe534('0x8'));var sox=require('sox');var csv=require(_0xe534('0x9'));var ejs=require(_0xe534('0xa'));var fs=require('fs');var fs_extra=require(_0xe534('0xb'));var _=require(_0xe534('0xc'));var squel=require('squel');var crypto=require(_0xe534('0xd'));var jsforce=require('jsforce');var deskjs=require(_0xe534('0xe'));var toCsv=require(_0xe534('0x9'));var querystring=require('querystring');var Papa=require(_0xe534('0xf'));var Redis=require(_0xe534('0x10'));var authService=require(_0xe534('0x11'));var qs=require(_0xe534('0x12'));var as=require(_0xe534('0x13'));var hardwareService=require(_0xe534('0x14'));var logger=require(_0xe534('0x15'))(_0xe534('0x16'));var utils=require('../../config/utils');var config=require(_0xe534('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xe534('0x18'))['db'];config[_0xe534('0x19')]=_['defaults'](config[_0xe534('0x19')],{'host':_0xe534('0x1a'),'port':0x18eb});var socket=require(_0xe534('0x1b'))(new Redis(config[_0xe534('0x19')]));require('./userProfile.socket')[_0xe534('0x1c')](socket);function respondWithStatusCode(_0x3f0c50,_0x4eea54){_0x4eea54=_0x4eea54||0xcc;return function(_0x4693da){if(_0x4693da){return _0x3f0c50[_0xe534('0x1d')](_0x4eea54);}return _0x3f0c50[_0xe534('0x1e')](_0x4eea54)['end']();};}function respondWithResult(_0x256adf,_0x4d99b8){_0x4d99b8=_0x4d99b8||0xc8;return function(_0xcc1066){if(_0xcc1066){return _0x256adf['status'](_0x4d99b8)['json'](_0xcc1066);}};}function respondWithFilteredResult(_0x3cf0ce,_0x46c7bf){return function(_0x1f7bc5){if(_0x1f7bc5){var _0x2c5fd3=typeof _0x46c7bf[_0xe534('0x1f')]==='undefined'&&typeof _0x46c7bf[_0xe534('0x20')]===_0xe534('0x21');var _0x469db9=_0x1f7bc5[_0xe534('0x22')];var _0xa0f42c=_0x2c5fd3?0x0:_0x46c7bf['offset'];var _0x49bf5f=_0x2c5fd3?_0x1f7bc5['count']:_0x46c7bf[_0xe534('0x1f')]+_0x46c7bf[_0xe534('0x20')];var _0x5be0a2;if(_0x49bf5f>=_0x469db9){_0x49bf5f=_0x469db9;_0x5be0a2=0xc8;}else{_0x5be0a2=0xce;}_0x3cf0ce[_0xe534('0x1e')](_0x5be0a2);return _0x3cf0ce[_0xe534('0x23')](_0xe534('0x24'),_0xa0f42c+'-'+_0x49bf5f+'/'+_0x469db9)[_0xe534('0x25')](_0x1f7bc5);}return null;};}function patchUpdates(_0x5bd5a9){return function(_0x45f4a4){try{jsonpatch[_0xe534('0x26')](_0x45f4a4,_0x5bd5a9,!![]);}catch(_0x1136f8){return BPromise[_0xe534('0x27')](_0x1136f8);}return _0x45f4a4['save']();};}function saveUpdates(_0x54c39c,_0x50cf6f){return function(_0x563246){if(_0x563246){return _0x563246['update'](_0x54c39c)[_0xe534('0x28')](function(_0x4042b3){return _0x4042b3;});}return null;};}function removeEntity(_0x34129f,_0x386347){return function(_0x17c270){if(_0x17c270){return _0x17c270[_0xe534('0x29')]()['then'](function(){_0x34129f[_0xe534('0x1e')](0xcc)[_0xe534('0x2a')]();});}};}function handleEntityNotFound(_0x2020b0,_0x51401c){return function(_0x219e29){if(!_0x219e29){_0x2020b0[_0xe534('0x1d')](0x194);}return _0x219e29;};}function handleError(_0x1c449c,_0x3c172a){_0x3c172a=_0x3c172a||0x1f4;return function(_0x7cc7ea){logger[_0xe534('0x2b')](_0x7cc7ea[_0xe534('0x2c')]);if(_0x7cc7ea[_0xe534('0x2d')]){delete _0x7cc7ea[_0xe534('0x2d')];}_0x1c449c[_0xe534('0x1e')](_0x3c172a)[_0xe534('0x2e')](_0x7cc7ea);};}exports[_0xe534('0x2f')]=function(_0x2d4f6d,_0x550fee){var _0x55b9ab={},_0x542581={},_0x30355e={'count':0x0,'rows':[]};var _0x1375d3=_[_0xe534('0x30')](db[_0xe534('0x31')][_0xe534('0x32')],function(_0x417631){return{'name':_0x417631[_0xe534('0x33')],'type':_0x417631[_0xe534('0x34')][_0xe534('0x35')]};});_0x542581[_0xe534('0x36')]=_[_0xe534('0x30')](_0x1375d3,_0xe534('0x2d'));_0x542581[_0xe534('0x37')]=_[_0xe534('0x38')](_0x2d4f6d['query']);_0x542581['filters']=_[_0xe534('0x39')](_0x542581[_0xe534('0x36')],_0x542581[_0xe534('0x37')]);_0x55b9ab[_0xe534('0x3a')]=_[_0xe534('0x39')](_0x542581[_0xe534('0x36')],qs[_0xe534('0x3b')](_0x2d4f6d[_0xe534('0x37')][_0xe534('0x3b')]));_0x55b9ab[_0xe534('0x3a')]=_0x55b9ab[_0xe534('0x3a')][_0xe534('0x3c')]?_0x55b9ab['attributes']:_0x542581[_0xe534('0x36')];if(!_0x2d4f6d['query'][_0xe534('0x3d')]('nolimit')){_0x55b9ab[_0xe534('0x20')]=qs['limit'](_0x2d4f6d['query'][_0xe534('0x20')]);_0x55b9ab[_0xe534('0x1f')]=qs[_0xe534('0x1f')](_0x2d4f6d[_0xe534('0x37')][_0xe534('0x1f')]);}_0x55b9ab[_0xe534('0x3e')]=qs['sort'](_0x2d4f6d[_0xe534('0x37')][_0xe534('0x3f')]);_0x55b9ab['where']=qs[_0xe534('0x40')](_[_0xe534('0x41')](_0x2d4f6d[_0xe534('0x37')],_0x542581[_0xe534('0x40')]),_0x1375d3);if(_0x2d4f6d[_0xe534('0x37')][_0xe534('0x42')]){_0x55b9ab[_0xe534('0x43')]=_[_0xe534('0x44')](_0x55b9ab[_0xe534('0x43')],{'$or':_['map'](_0x1375d3,function(_0x58ef6e){if(_0x58ef6e[_0xe534('0x34')]!==_0xe534('0x45')){var _0x5e35cb={};_0x5e35cb[_0x58ef6e['name']]={'$like':'%'+_0x2d4f6d[_0xe534('0x37')][_0xe534('0x42')]+'%'};return _0x5e35cb;}})});}_0x55b9ab=_[_0xe534('0x44')]({},_0x55b9ab,_0x2d4f6d['options']);var _0x5b8273={'where':_0x55b9ab[_0xe534('0x43')]};return db[_0xe534('0x31')][_0xe534('0x22')](_0x5b8273)[_0xe534('0x28')](function(_0x5955eb){_0x30355e[_0xe534('0x22')]=_0x5955eb;if(_0x2d4f6d[_0xe534('0x37')]['includeAll']){_0x55b9ab['include']=[{'all':!![]}];}return db[_0xe534('0x31')][_0xe534('0x46')](_0x55b9ab);})['then'](function(_0x43bc28){_0x30355e[_0xe534('0x47')]=_0x43bc28;return _0x30355e;})[_0xe534('0x28')](respondWithFilteredResult(_0x550fee,_0x55b9ab))[_0xe534('0x48')](handleError(_0x550fee,null));};exports[_0xe534('0x49')]=function(_0x135ae8,_0x9d5623){var _0x58ba26={'raw':![],'where':{'id':_0x135ae8['params']['id']}},_0x22d51b={};_0x22d51b[_0xe534('0x36')]=_['keys'](db['UserProfile']['rawAttributes']);_0x22d51b[_0xe534('0x37')]=_[_0xe534('0x38')](_0x135ae8[_0xe534('0x37')]);_0x22d51b[_0xe534('0x40')]=_['intersection'](_0x22d51b[_0xe534('0x36')],_0x22d51b[_0xe534('0x37')]);_0x58ba26[_0xe534('0x3a')]=_['intersection'](_0x22d51b['model'],qs[_0xe534('0x3b')](_0x135ae8[_0xe534('0x37')][_0xe534('0x3b')]));_0x58ba26[_0xe534('0x3a')]=_0x58ba26[_0xe534('0x3a')][_0xe534('0x3c')]?_0x58ba26[_0xe534('0x3a')]:_0x22d51b[_0xe534('0x36')];if(_0x135ae8[_0xe534('0x37')]['includeAll']){_0x58ba26[_0xe534('0x4a')]=[{'all':!![]}];}_0x58ba26=_[_0xe534('0x44')]({},_0x58ba26,_0x135ae8[_0xe534('0x4b')]);return db['UserProfile'][_0xe534('0x4c')](_0x58ba26)[_0xe534('0x28')](handleEntityNotFound(_0x9d5623,null))['then'](respondWithResult(_0x9d5623,null))[_0xe534('0x48')](handleError(_0x9d5623,null));};exports[_0xe534('0x4d')]=function(_0x3748d0,_0xf98979){return db[_0xe534('0x31')]['create'](_0x3748d0[_0xe534('0x4e')],{})['then'](respondWithResult(_0xf98979,0xc9))['catch'](handleError(_0xf98979,null));};exports[_0xe534('0x4f')]=function(_0x290594,_0x4aa3ef){var _0x68dcc4={'where':{'id':_0x290594['params']['id']}},_0x199161={};_0x199161[_0xe534('0x36')]=_[_0xe534('0x38')](db[_0xe534('0x31')]['rawAttributes']);_0x68dcc4[_0xe534('0x3a')]=_['intersection'](_0x199161[_0xe534('0x36')],qs[_0xe534('0x3b')](_0x290594['query'][_0xe534('0x3b')]));_0x68dcc4[_0xe534('0x3a')]=_0x68dcc4['attributes'][_0xe534('0x3c')]?_0x68dcc4[_0xe534('0x3a')]:_0x199161['model'];if(_0x290594[_0xe534('0x37')][_0xe534('0x50')]){_0x68dcc4[_0xe534('0x4a')]=[{'all':!![]}];}_0x68dcc4=_['merge']({},_0x68dcc4,_0x290594[_0xe534('0x4b')]);return db[_0xe534('0x31')][_0xe534('0x4c')](_0x68dcc4)[_0xe534('0x28')](handleEntityNotFound(_0x4aa3ef,null))['then'](function(_0x411b6b){if(_0x411b6b){var _0x1d8abc=_0x411b6b['get']({'plain':!![]});_0x1d8abc=qs['omit'](_0x1d8abc,['id','createdAt',_0xe534('0x51'),_0xe534('0x52')]);_0x290594[_0xe534('0x4e')]=_[_0xe534('0x53')](_0x290594['body'],['id','createdAt',_0xe534('0x51')]);return db[_0xe534('0x54')][_0xe534('0x55')](function(_0x3be7f0){return db[_0xe534('0x31')][_0xe534('0x4d')](_[_0xe534('0x44')](_0x1d8abc,_0x290594[_0xe534('0x4e')]),{'include':_0x290594[_0xe534('0x37')][_0xe534('0x50')]?[{'all':!![]}]:undefined,'transaction':_0x3be7f0})[_0xe534('0x28')](function(_0x80da06){var _0x391372=_0x80da06['get']({'plain':!![]});return db[_0xe534('0x56')][_0xe534('0x46')]({'where':{'userProfileId':_0x290594['params']['id']},'raw':!![]})[_0xe534('0x28')](function(_0x47b3d6){if(_0x47b3d6){return BPromise[_0xe534('0x57')](_0x47b3d6,function(_0x28fbf9){return new BPromise(function(_0xa9a285,_0x2f912b){if(_0x28fbf9['autoAssociation']===null||_0x28fbf9['autoAssociation']===0x1)_0xa9a285(null);return db[_0xe534('0x58')][_0xe534('0x46')]({'where':{'sectionId':_0x28fbf9['id']},'raw':!![]})['then'](function(_0x55ddec){var _0x508e83=_[_0xe534('0x30')](_0x55ddec,function(_0x3bb9ab){return qs['omit'](_0x3bb9ab,['id','createdAt',_0xe534('0x51'),'sectionId']);});_0xa9a285(_0x508e83);})[_0xe534('0x48')](function(_0x52ecb7){_0x2f912b(_0x52ecb7);});})['then'](function(_0x260a6f){var _0x1960c3=qs[_0xe534('0x53')](_0x28fbf9,['id',_0xe534('0x59'),_0xe534('0x51')]);_0x1960c3['userProfileId']=_0x391372['id'];if(_0x260a6f)_0x1960c3[_0xe534('0x5a')]=_0x260a6f;return _0x1960c3;})[_0xe534('0x28')](function(_0x23ccd8){return db[_0xe534('0x56')]['create'](_0x23ccd8,{'include':[{'model':db[_0xe534('0x58')],'as':'Resources'}],'raw':!![],'transaction':_0x3be7f0});});})[_0xe534('0x28')](function(){return _0x391372;});}});});});}})[_0xe534('0x28')](respondWithResult(_0x4aa3ef,0xc9))['catch'](handleError(_0x4aa3ef,null));};exports[_0xe534('0x5b')]=function(_0x579d38,_0x2dee37){if(_0x579d38[_0xe534('0x4e')]['id']){delete _0x579d38['body']['id'];}return db[_0xe534('0x31')][_0xe534('0x4c')]({'where':{'id':_0x579d38['params']['id']}})['then'](handleEntityNotFound(_0x2dee37,null))[_0xe534('0x28')](saveUpdates(_0x579d38[_0xe534('0x4e')],null))[_0xe534('0x28')](respondWithResult(_0x2dee37,null))[_0xe534('0x48')](handleError(_0x2dee37,null));};exports[_0xe534('0x29')]=function(_0x26d90b,_0x2b20e4){return db['UserProfile'][_0xe534('0x4c')]({'where':{'id':_0x26d90b[_0xe534('0x5c')]['id']}})[_0xe534('0x28')](handleEntityNotFound(_0x2b20e4,null))[_0xe534('0x28')](removeEntity(_0x2b20e4,null))[_0xe534('0x48')](handleError(_0x2b20e4,null));};exports['describe']=function(_0x2df5d9,_0x5101bc){return db[_0xe534('0x31')][_0xe534('0x5d')]()[_0xe534('0x28')](respondWithResult(_0x5101bc,null))['catch'](handleError(_0x5101bc,null));};exports['addSections']=function(_0x3869e4,_0x43971e){var _0x32facc=_0x3869e4['body'];return db[_0xe534('0x31')][_0xe534('0x4c')]({'where':{'id':_0x3869e4[_0xe534('0x5c')]['id']}})[_0xe534('0x28')](handleEntityNotFound(_0x43971e,null))[_0xe534('0x28')](function(_0x7a001b){if(_0x7a001b){return db['sequelize'][_0xe534('0x55')](function(_0x370acb){return db[_0xe534('0x56')][_0xe534('0x29')]({'where':{'userProfileId':_0x3869e4['params']['id'],'sectionId':_['map'](_0x32facc,function(_0x343876){return _0x343876[_0xe534('0x5e')];})},'transaction':_0x370acb})['then'](function(){var _0x5901cc=_[_0xe534('0x30')](_0x32facc,function(_0x20d5df){_0x20d5df['userProfileId']=_0x3869e4[_0xe534('0x5c')]['id'];return _0x20d5df;});var _0x3a49e0=[];return BPromise[_0xe534('0x57')](_0x5901cc,function(_0x32f7ef){return db[_0xe534('0x56')][_0xe534('0x4d')](_0x32f7ef,{'include':[{'model':db['UserProfileResource'],'as':_0xe534('0x5a')}],'raw':!![],'transaction':_0x370acb})[_0xe534('0x28')](function(_0x1e480d){_0x3a49e0[_0xe534('0x5f')](_0x1e480d['get']({'plain':!![]}));});})[_0xe534('0x28')](function(){return _0x3a49e0;});});});}})['then'](function(_0x1afa9e){return _0x1afa9e;})[_0xe534('0x28')](respondWithResult(_0x43971e,null))[_0xe534('0x48')](handleError(_0x43971e,null));};exports[_0xe534('0x60')]=function(_0x46880f,_0x33e402){var _0x422baa;return db[_0xe534('0x31')][_0xe534('0x4c')]({'where':{'id':_0x46880f['params']['id']},'attributes':['id',_0xe534('0x2d')]})['then'](handleEntityNotFound(_0x33e402,null))[_0xe534('0x28')](function(_0x4ac967){if(_0x4ac967){_0x422baa=_0x4ac967;return db[_0xe534('0x56')]['destroy']({'where':{'userProfileId':_0x46880f['params']['id'],'sectionId':_0x46880f[_0xe534('0x37')][_0xe534('0x61')]}});}})[_0xe534('0x28')](function(){return _0x422baa;})[_0xe534('0x28')](respondWithStatusCode(_0x33e402,null))[_0xe534('0x48')](handleError(_0x33e402,null));};exports[_0xe534('0x62')]=function(_0x21985b,_0x4e0d4f){var _0x12d9eb=[];var _0x2dcc9d=[];return db[_0xe534('0x56')][_0xe534('0x46')]({'where':{'userProfileId':_0x21985b['params']['id']},'raw':!![]})[_0xe534('0x28')](function(_0x179995){_0x12d9eb=_[_0xe534('0x42')](_0x179995,function(_0x202bcd){return _0x202bcd[_0xe534('0x63')]===0x1||_[_0xe534('0x64')]([0x3eb,0x709],_0x202bcd[_0xe534('0x5e')]);});if(!_['isEmpty'](_0x12d9eb)){return _['map'](_0x12d9eb,function(_0x37e80d){return _0x37e80d['sectionId'];});}else{return;}})[_0xe534('0x28')](function(_0x59d0ac){if(_0x59d0ac)_0x2dcc9d=_0x59d0ac;if(_[_0xe534('0x64')](_0x2dcc9d,0x64)){var _0x834b4e=_['find'](_0x12d9eb,{'sectionId':0x64});return hasDefaultDashboard(_0x834b4e)[_0xe534('0x28')](function(_0x198feb){return _[_0xe534('0x30')](_0x12d9eb,function(_0xc786dd){if(_0xc786dd['sectionId']===0x64){_0xc786dd[_0xe534('0x65')]=_0x198feb;}return _0xc786dd;});});}else{return;}})['then'](function(_0x9521d8){if(_0x9521d8)_0x12d9eb=_0x9521d8;if(_[_0xe534('0x64')](_0x2dcc9d,0x3eb)){var _0x42640d=_[_0xe534('0x4c')](_0x12d9eb,{'sectionId':0x3eb});return getCustomDashboards(_0x42640d)[_0xe534('0x28')](function(_0x51d385){return _[_0xe534('0x30')](_0x12d9eb,function(_0xbf889e){if(_0x42640d['enabled']){if(_0xbf889e[_0xe534('0x5e')]===0x3eb){_0xbf889e[_0xe534('0x65')]=_0x51d385;}}else{if(_0xbf889e[_0xe534('0x5e')]===0x64){if(!_0xbf889e[_0xe534('0x65')]){_0xbf889e['subsections']=[];}_0xbf889e[_0xe534('0x65')]=_0xbf889e[_0xe534('0x65')][_0xe534('0x66')](_0x51d385);}}return _0xbf889e;});});}else{return;}})[_0xe534('0x28')](function(_0x2ce4c2){if(_0x2ce4c2)_0x12d9eb=_0x2ce4c2;if(_[_0xe534('0x64')](_0x2dcc9d,0x709)){var _0x130eb3=_[_0xe534('0x4c')](_0x12d9eb,{'sectionId':0x709});return getPlugins(_0x130eb3)['then'](function(_0x33b08e){if(_0x130eb3[_0xe534('0x63')]){return _['map'](_0x12d9eb,function(_0x1772a7){if(_0x1772a7[_0xe534('0x5e')]===0x709){_0x1772a7[_0xe534('0x65')]=_0x33b08e;}return _0x1772a7;});}else{var _0x23ca56={'sectionId':0x76c,'enabled':0x1,'subsections':_0x33b08e};var _0xe5aac2=_[_0xe534('0x30')](_0x12d9eb);_0xe5aac2[_0xe534('0x5f')](_0x23ca56);return _0xe5aac2;}});}else{return;}})[_0xe534('0x28')](function(_0x5b6bdd){if(_0x5b6bdd)_0x12d9eb=_0x5b6bdd;return _[_0xe534('0x42')](_0x12d9eb,[_0xe534('0x63'),0x1]);})[_0xe534('0x28')](respondWithResult(_0x4e0d4f,null))[_0xe534('0x48')](handleError(_0x4e0d4f,null));};function hasDefaultDashboard(_0x421122){var _0x5603d7=[0x65];return new BPromise(function(_0x478210,_0x229fa3){try{if(_0x421122[_0xe534('0x67')]){_0x478210(_0x5603d7);}else{return db[_0xe534('0x58')][_0xe534('0x68')]({'where':{'sectionId':_0x421122['id']},'raw':!![]})[_0xe534('0x28')](function(_0x24ae27){_0x24ae27?_0x478210(_0x5603d7):_0x478210();});}}catch(_0x214414){_0x229fa3(_0x214414);}});}function getCustomDashboards(_0x4f5a48){var _0x5787d1=[];return new BPromise(function(_0x41cad8,_0x41efe6){try{if(_0x4f5a48[_0xe534('0x67')]){return db[_0xe534('0x69')]['findAll']({'raw':!![]})[_0xe534('0x28')](function(_0x4affdd){_0x4affdd['forEach'](function(_0x2c4ca6){_0x5787d1[_0xe534('0x5f')](_0x2c4ca6['id']+0x1869f);});_0x41cad8(_0x5787d1);});}else{return db[_0xe534('0x58')]['findAll']({'where':{'sectionId':_0x4f5a48['id']},'raw':!![]})[_0xe534('0x28')](function(_0x388baf){_0x388baf[_0xe534('0x6a')](function(_0x442ba1){_0x5787d1[_0xe534('0x5f')](_0x442ba1[_0xe534('0x6b')]+0x1869f);});_0x41cad8(_0x5787d1);});}}catch(_0x1a24e2){_0x41efe6(_0x1a24e2);}});}function getPlugins(_0xca2c14){var _0x1d0887=[];return new BPromise(function(_0x453f07,_0x9fadd2){try{if(_0xca2c14['autoAssociation']){return db[_0xe534('0x6c')][_0xe534('0x46')]({'raw':!![]})[_0xe534('0x28')](function(_0x3f64c3){_0x3f64c3[_0xe534('0x6a')](function(_0x2ef2a3){_0x1d0887['push'](_0x2ef2a3['id']+0x15b38);});_0x453f07(_0x1d0887);});}else{return db[_0xe534('0x58')]['findAll']({'where':{'sectionId':_0xca2c14['id']},'raw':!![]})['then'](function(_0x511fa6){_0x511fa6[_0xe534('0x6a')](function(_0x56b3f6){_0x1d0887[_0xe534('0x5f')](_0x56b3f6[_0xe534('0x6b')]+0x15b38);});_0x453f07(_0x1d0887);});}}catch(_0x11b3b4){_0x9fadd2(_0x11b3b4);}});}exports['addResources']=function(_0x75e522,_0x5c3cf1){return db[_0xe534('0x31')][_0xe534('0x4c')]({'where':{'id':_0x75e522[_0xe534('0x5c')]['id']}})['then'](handleEntityNotFound(_0x5c3cf1,null))[_0xe534('0x28')](function(_0x442448){if(_0x442448){return db[_0xe534('0x54')][_0xe534('0x55')](function(_0x3bfe76){return db[_0xe534('0x56')]['findAll']({'where':{'userProfileId':_0x75e522[_0xe534('0x5c')]['id']},'attributes':['id'],'raw':!![]})['then'](function(_0x3b142c){if(_0x3b142c){return db[_0xe534('0x56')][_0xe534('0x29')]({'where':{'userProfileId':_0x75e522['params']['id'],'id':_[_0xe534('0x30')](_0x3b142c,function(_0x51fae3){return _0x51fae3['id'];})},'transaction':_0x3bfe76});}})['then'](function(_0x52798a){var _0x1b2ee7=_[_0xe534('0x30')](_0x75e522[_0xe534('0x4e')],function(_0x47ef99){_0x47ef99[_0xe534('0x6d')]=_0x75e522['params']['id'];return _0x47ef99;});return db[_0xe534('0x56')][_0xe534('0x6e')](_0x1b2ee7,{'raw':!![],'transaction':_0x3bfe76});})['then'](function(_0x5381bb){var _0x56a7f8=_[_0xe534('0x42')](_[_0xe534('0x30')](_0x5381bb,function(_0x57f504){return _0x57f504[_0xe534('0x6f')]({'plain':!![]});}),{'includeAll':![]});if(_0x56a7f8){return db[_0xe534('0x56')][_0xe534('0x46')]({'where':{'userProfileId':_0x75e522[_0xe534('0x5c')]['id'],'sectionId':_[_0xe534('0x30')](_0x56a7f8,function(_0x44b8c0){return _0x44b8c0['sectionId'];})},'attributes':['id','sectionId'],'raw':!![]})[_0xe534('0x28')](function(_0x1760cb){var _0x10a266=_[_0xe534('0x30')](_0x75e522['body'],function(_0x3704f8){_0x3704f8[_0xe534('0x6d')]=_0x75e522[_0xe534('0x5c')]['id'];return _0x3704f8;});return db[_0xe534('0x58')]['bulkCreate'](_0x10a266,{'raw':!![],'transaction':_0x3bfe76});});}})[_0xe534('0x48')](handleError(_0x5c3cf1,null));});}})[_0xe534('0x28')](function(_0xb7207a){var _0x126a59=_[_0xe534('0x30')](_0xb7207a,function(_0x4a7e1b){return _0x4a7e1b[_0xe534('0x6f')]({'plain':!![]});});})[_0xe534('0x28')](respondWithResult(_0x5c3cf1,null))[_0xe534('0x48')](handleError(_0x5c3cf1,null));};exports[_0xe534('0x70')]=function(_0x231186,_0xa94642,_0x194a6a){return db[_0xe534('0x31')][_0xe534('0x4c')]({'where':{'id':_0x231186[_0xe534('0x5c')]['id']}})['then'](handleEntityNotFound(_0xa94642,null))[_0xe534('0x28')](function(_0x5385fe){if(_0x5385fe){return _0x5385fe[_0xe534('0x70')](_0x231186[_0xe534('0x37')][_0xe534('0x61')]);}})[_0xe534('0x28')](respondWithStatusCode(_0xa94642,null))[_0xe534('0x48')](handleError(_0xa94642,null));};exports[_0xe534('0x71')]=function(_0xb633c8,_0x415c30){var _0x5b3510={};if(!_0xb633c8['query'][_0xe534('0x72')])throw new Error('Missing\x20section\x20parameter');if(!_0xb633c8[_0xe534('0x37')][_0xe534('0x3d')](_0xe534('0x73'))){_0x5b3510[_0xe534('0x20')]=qs[_0xe534('0x20')](_0xb633c8['query'][_0xe534('0x20')]);_0x5b3510[_0xe534('0x1f')]=qs[_0xe534('0x1f')](_0xb633c8[_0xe534('0x37')][_0xe534('0x1f')]);}return db['UserProfile'][_0xe534('0x4c')]({'where':{'id':_0xb633c8['params']['id']}})[_0xe534('0x28')](function(_0x4a93e1){if(!_0x4a93e1)throw new Error(_0xe534('0x74')+_0xb633c8[_0xe534('0x5c')]['id']);return db[_0xe534('0x31')][_0xe534('0x71')](_0xb633c8);})[_0xe534('0x28')](respondWithFilteredResult(_0x415c30,_0x5b3510))[_0xe534('0x48')](handleError(_0x415c30,null));};