ac1c1e51f539c796b477e620354715e54d1fcd75
[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 _0xa01c=['fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','includeAll','include','findAll','catch','show','keys','create','body','clone','find','get','omit','createdAt','updatedAt','sequelize','each','autoAssociation','UserProfileResource','Resources','UserProfileSection','params','describe','addSections','transaction','sectionId','userProfileId','push','removeSections','getSections','enabled','includes','isEmpty','subsections','concat','Dashboard','forEach','resourceId','Plugin','addResources','bulkCreate','removeResources','ids','getResources','section','Missing\x20section\x20parameter','No\x20User\x20Profile\x20found\x20for\x20id\x20','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','redis','defaults','localhost','socket.io-emitter','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','update','destroy','then','error','stack','name','send','index','map','UserProfile','rawAttributes','key','model','query','filters','attributes','intersection'];(function(_0x3c50c1,_0x5b10d3){var _0x2aab9b=function(_0x45c212){while(--_0x45c212){_0x3c50c1['push'](_0x3c50c1['shift']());}};_0x2aab9b(++_0x5b10d3);}(_0xa01c,0x1f1));var _0xca01=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xa01c[_0x14add3];return _0x4a174f;};'use strict';var emlformat=require(_0xca01('0x0'));var rimraf=require(_0xca01('0x1'));var zipdir=require(_0xca01('0x2'));var jsonpatch=require(_0xca01('0x3'));var rp=require('request-promise');var moment=require(_0xca01('0x4'));var BPromise=require(_0xca01('0x5'));var Mustache=require(_0xca01('0x6'));var util=require(_0xca01('0x7'));var path=require(_0xca01('0x8'));var sox=require(_0xca01('0x9'));var csv=require(_0xca01('0xa'));var ejs=require(_0xca01('0xb'));var fs=require('fs');var fs_extra=require(_0xca01('0xc'));var _=require(_0xca01('0xd'));var squel=require('squel');var crypto=require(_0xca01('0xe'));var jsforce=require(_0xca01('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xca01('0xa'));var querystring=require(_0xca01('0x10'));var Papa=require('papaparse');var Redis=require(_0xca01('0x11'));var authService=require(_0xca01('0x12'));var qs=require(_0xca01('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xca01('0x14'));var logger=require(_0xca01('0x15'))('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0xca01('0x16')]=_[_0xca01('0x17')](config[_0xca01('0x16')],{'host':_0xca01('0x18'),'port':0x18eb});var socket=require(_0xca01('0x19'))(new Redis(config[_0xca01('0x16')]));require('./userProfile.socket')['register'](socket);function respondWithStatusCode(_0x43664f,_0x8e3060){_0x8e3060=_0x8e3060||0xcc;return function(_0x1833b1){if(_0x1833b1){return _0x43664f[_0xca01('0x1a')](_0x8e3060);}return _0x43664f[_0xca01('0x1b')](_0x8e3060)[_0xca01('0x1c')]();};}function respondWithResult(_0x55fbf4,_0x6f7df7){_0x6f7df7=_0x6f7df7||0xc8;return function(_0x117d5f){if(_0x117d5f){return _0x55fbf4[_0xca01('0x1b')](_0x6f7df7)[_0xca01('0x1d')](_0x117d5f);}};}function respondWithFilteredResult(_0x278a76,_0x598a30){return function(_0x16303c){if(_0x16303c){var _0x393d02=typeof _0x598a30[_0xca01('0x1e')]==='undefined'&&typeof _0x598a30[_0xca01('0x1f')]===_0xca01('0x20');var _0x664687=_0x16303c[_0xca01('0x21')];var _0x489245=_0x393d02?0x0:_0x598a30[_0xca01('0x1e')];var _0x190ba1=_0x393d02?_0x16303c[_0xca01('0x21')]:_0x598a30['offset']+_0x598a30[_0xca01('0x1f')];var _0x263356;if(_0x190ba1>=_0x664687){_0x190ba1=_0x664687;_0x263356=0xc8;}else{_0x263356=0xce;}_0x278a76[_0xca01('0x1b')](_0x263356);return _0x278a76[_0xca01('0x22')](_0xca01('0x23'),_0x489245+'-'+_0x190ba1+'/'+_0x664687)[_0xca01('0x1d')](_0x16303c);}return null;};}function patchUpdates(_0x56a0f3){return function(_0x2c435d){try{jsonpatch['apply'](_0x2c435d,_0x56a0f3,!![]);}catch(_0x34c48e){return BPromise['reject'](_0x34c48e);}return _0x2c435d['save']();};}function saveUpdates(_0x341d73,_0xdbb500){return function(_0x3e6b86){if(_0x3e6b86){return _0x3e6b86[_0xca01('0x24')](_0x341d73)['then'](function(_0x3da7fe){return _0x3da7fe;});}return null;};}function removeEntity(_0x1adcc8,_0x3d075a){return function(_0x5f08d8){if(_0x5f08d8){return _0x5f08d8[_0xca01('0x25')]()[_0xca01('0x26')](function(){_0x1adcc8['status'](0xcc)[_0xca01('0x1c')]();});}};}function handleEntityNotFound(_0xdeae48,_0x1c01f5){return function(_0x1403ad){if(!_0x1403ad){_0xdeae48['sendStatus'](0x194);}return _0x1403ad;};}function handleError(_0x3229bb,_0x19138f){_0x19138f=_0x19138f||0x1f4;return function(_0x384df6){logger[_0xca01('0x27')](_0x384df6[_0xca01('0x28')]);if(_0x384df6[_0xca01('0x29')]){delete _0x384df6[_0xca01('0x29')];}_0x3229bb[_0xca01('0x1b')](_0x19138f)[_0xca01('0x2a')](_0x384df6);};}exports[_0xca01('0x2b')]=function(_0x536432,_0x3675ce){var _0x250a5d={},_0x3190c5={},_0x5e1ea0={'count':0x0,'rows':[]};var _0x244451=_[_0xca01('0x2c')](db[_0xca01('0x2d')][_0xca01('0x2e')],function(_0x46e946){return{'name':_0x46e946['fieldName'],'type':_0x46e946['type'][_0xca01('0x2f')]};});_0x3190c5[_0xca01('0x30')]=_[_0xca01('0x2c')](_0x244451,_0xca01('0x29'));_0x3190c5[_0xca01('0x31')]=_['keys'](_0x536432[_0xca01('0x31')]);_0x3190c5[_0xca01('0x32')]=_['intersection'](_0x3190c5[_0xca01('0x30')],_0x3190c5['query']);_0x250a5d[_0xca01('0x33')]=_[_0xca01('0x34')](_0x3190c5[_0xca01('0x30')],qs[_0xca01('0x35')](_0x536432[_0xca01('0x31')][_0xca01('0x35')]));_0x250a5d[_0xca01('0x33')]=_0x250a5d['attributes'][_0xca01('0x36')]?_0x250a5d[_0xca01('0x33')]:_0x3190c5[_0xca01('0x30')];if(!_0x536432[_0xca01('0x31')][_0xca01('0x37')](_0xca01('0x38'))){_0x250a5d[_0xca01('0x1f')]=qs[_0xca01('0x1f')](_0x536432[_0xca01('0x31')][_0xca01('0x1f')]);_0x250a5d[_0xca01('0x1e')]=qs[_0xca01('0x1e')](_0x536432[_0xca01('0x31')][_0xca01('0x1e')]);}_0x250a5d[_0xca01('0x39')]=qs[_0xca01('0x3a')](_0x536432[_0xca01('0x31')][_0xca01('0x3a')]);_0x250a5d[_0xca01('0x3b')]=qs[_0xca01('0x32')](_[_0xca01('0x3c')](_0x536432[_0xca01('0x31')],_0x3190c5[_0xca01('0x32')]),_0x244451);if(_0x536432[_0xca01('0x31')][_0xca01('0x3d')]){_0x250a5d[_0xca01('0x3b')]=_[_0xca01('0x3e')](_0x250a5d[_0xca01('0x3b')],{'$or':_[_0xca01('0x2c')](_0x244451,function(_0x152847){if(_0x152847['type']!=='VIRTUAL'){var _0x4eeba4={};_0x4eeba4[_0x152847['name']]={'$like':'%'+_0x536432[_0xca01('0x31')]['filter']+'%'};return _0x4eeba4;}})});}_0x250a5d=_[_0xca01('0x3e')]({},_0x250a5d,_0x536432[_0xca01('0x3f')]);var _0x107fca={'where':_0x250a5d['where']};return db[_0xca01('0x2d')]['count'](_0x107fca)[_0xca01('0x26')](function(_0x1ea22c){_0x5e1ea0[_0xca01('0x21')]=_0x1ea22c;if(_0x536432[_0xca01('0x31')][_0xca01('0x40')]){_0x250a5d[_0xca01('0x41')]=[{'all':!![]}];}return db['UserProfile'][_0xca01('0x42')](_0x250a5d);})['then'](function(_0x3b3131){_0x5e1ea0['rows']=_0x3b3131;return _0x5e1ea0;})[_0xca01('0x26')](respondWithFilteredResult(_0x3675ce,_0x250a5d))[_0xca01('0x43')](handleError(_0x3675ce,null));};exports[_0xca01('0x44')]=function(_0x160b5e,_0x9a0e7f){var _0x31470c={'raw':![],'where':{'id':_0x160b5e['params']['id']}},_0x552ae5={};_0x552ae5[_0xca01('0x30')]=_['keys'](db[_0xca01('0x2d')][_0xca01('0x2e')]);_0x552ae5[_0xca01('0x31')]=_[_0xca01('0x45')](_0x160b5e[_0xca01('0x31')]);_0x552ae5[_0xca01('0x32')]=_[_0xca01('0x34')](_0x552ae5[_0xca01('0x30')],_0x552ae5[_0xca01('0x31')]);_0x31470c[_0xca01('0x33')]=_[_0xca01('0x34')](_0x552ae5['model'],qs['fields'](_0x160b5e[_0xca01('0x31')][_0xca01('0x35')]));_0x31470c[_0xca01('0x33')]=_0x31470c['attributes'][_0xca01('0x36')]?_0x31470c[_0xca01('0x33')]:_0x552ae5[_0xca01('0x30')];if(_0x160b5e['query']['includeAll']){_0x31470c[_0xca01('0x41')]=[{'all':!![]}];}_0x31470c=_['merge']({},_0x31470c,_0x160b5e[_0xca01('0x3f')]);return db[_0xca01('0x2d')]['find'](_0x31470c)[_0xca01('0x26')](handleEntityNotFound(_0x9a0e7f,null))[_0xca01('0x26')](respondWithResult(_0x9a0e7f,null))[_0xca01('0x43')](handleError(_0x9a0e7f,null));};exports['create']=function(_0x2455b6,_0x872631){return db[_0xca01('0x2d')][_0xca01('0x46')](_0x2455b6[_0xca01('0x47')],{})[_0xca01('0x26')](respondWithResult(_0x872631,0xc9))[_0xca01('0x43')](handleError(_0x872631,null));};exports[_0xca01('0x48')]=function(_0xc18680,_0x18ef96){var _0x194be0={'where':{'id':_0xc18680['params']['id']}},_0x502bbe={};_0x502bbe[_0xca01('0x30')]=_['keys'](db[_0xca01('0x2d')][_0xca01('0x2e')]);_0x194be0[_0xca01('0x33')]=_['intersection'](_0x502bbe[_0xca01('0x30')],qs[_0xca01('0x35')](_0xc18680[_0xca01('0x31')][_0xca01('0x35')]));_0x194be0[_0xca01('0x33')]=_0x194be0[_0xca01('0x33')][_0xca01('0x36')]?_0x194be0[_0xca01('0x33')]:_0x502bbe['model'];if(_0xc18680[_0xca01('0x31')][_0xca01('0x40')]){_0x194be0['include']=[{'all':!![]}];}_0x194be0=_[_0xca01('0x3e')]({},_0x194be0,_0xc18680[_0xca01('0x3f')]);return db[_0xca01('0x2d')][_0xca01('0x49')](_0x194be0)[_0xca01('0x26')](handleEntityNotFound(_0x18ef96,null))['then'](function(_0x541a4f){if(_0x541a4f){var _0x5d2d69=_0x541a4f[_0xca01('0x4a')]({'plain':!![]});_0x5d2d69=qs[_0xca01('0x4b')](_0x5d2d69,['id',_0xca01('0x4c'),'updatedAt','crudPermissions']);_0xc18680[_0xca01('0x47')]=_[_0xca01('0x4b')](_0xc18680[_0xca01('0x47')],['id','createdAt',_0xca01('0x4d')]);return db[_0xca01('0x4e')]['transaction'](function(_0x4abc10){return db[_0xca01('0x2d')][_0xca01('0x46')](_[_0xca01('0x3e')](_0x5d2d69,_0xc18680[_0xca01('0x47')]),{'include':_0xc18680[_0xca01('0x31')]['includeAll']?[{'all':!![]}]:undefined,'transaction':_0x4abc10})['then'](function(_0x32e2e3){var _0x538e63=_0x32e2e3[_0xca01('0x4a')]({'plain':!![]});return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0xc18680['params']['id']},'raw':!![]})[_0xca01('0x26')](function(_0x510507){if(_0x510507){return BPromise[_0xca01('0x4f')](_0x510507,function(_0x1d6240){return new BPromise(function(_0x580155,_0x83a1cf){if(_0x1d6240[_0xca01('0x50')]===null||_0x1d6240[_0xca01('0x50')]===0x1)_0x580155(null);return db[_0xca01('0x51')]['findAll']({'where':{'sectionId':_0x1d6240['id']},'raw':!![]})[_0xca01('0x26')](function(_0x306ccb){var _0x13a751=_[_0xca01('0x2c')](_0x306ccb,function(_0x19b3af){return qs[_0xca01('0x4b')](_0x19b3af,['id',_0xca01('0x4c'),_0xca01('0x4d'),'sectionId']);});_0x580155(_0x13a751);})[_0xca01('0x43')](function(_0x240633){_0x83a1cf(_0x240633);});})['then'](function(_0x43e007){var _0x4b03d3=qs[_0xca01('0x4b')](_0x1d6240,['id',_0xca01('0x4c'),_0xca01('0x4d')]);_0x4b03d3['userProfileId']=_0x538e63['id'];if(_0x43e007)_0x4b03d3[_0xca01('0x52')]=_0x43e007;return _0x4b03d3;})[_0xca01('0x26')](function(_0x7a399){return db[_0xca01('0x53')][_0xca01('0x46')](_0x7a399,{'include':[{'model':db[_0xca01('0x51')],'as':_0xca01('0x52')}],'raw':!![],'transaction':_0x4abc10});});})[_0xca01('0x26')](function(){return _0x538e63;});}});});});}})[_0xca01('0x26')](respondWithResult(_0x18ef96,0xc9))[_0xca01('0x43')](handleError(_0x18ef96,null));};exports['update']=function(_0x29bff9,_0x1406c8){if(_0x29bff9[_0xca01('0x47')]['id']){delete _0x29bff9[_0xca01('0x47')]['id'];}return db[_0xca01('0x2d')][_0xca01('0x49')]({'where':{'id':_0x29bff9[_0xca01('0x54')]['id']}})[_0xca01('0x26')](handleEntityNotFound(_0x1406c8,null))[_0xca01('0x26')](saveUpdates(_0x29bff9[_0xca01('0x47')],null))[_0xca01('0x26')](respondWithResult(_0x1406c8,null))[_0xca01('0x43')](handleError(_0x1406c8,null));};exports[_0xca01('0x25')]=function(_0x465b77,_0x446be4){return db[_0xca01('0x2d')]['find']({'where':{'id':_0x465b77['params']['id']}})[_0xca01('0x26')](handleEntityNotFound(_0x446be4,null))[_0xca01('0x26')](removeEntity(_0x446be4,null))[_0xca01('0x43')](handleError(_0x446be4,null));};exports[_0xca01('0x55')]=function(_0x2c5ae2,_0x5258fd){return db[_0xca01('0x2d')]['describe']()[_0xca01('0x26')](respondWithResult(_0x5258fd,null))[_0xca01('0x43')](handleError(_0x5258fd,null));};exports[_0xca01('0x56')]=function(_0x292062,_0x449457){var _0x4aba40=_0x292062[_0xca01('0x47')];return db[_0xca01('0x2d')][_0xca01('0x49')]({'where':{'id':_0x292062[_0xca01('0x54')]['id']}})[_0xca01('0x26')](handleEntityNotFound(_0x449457,null))['then'](function(_0x4f378e){if(_0x4f378e){return db['sequelize'][_0xca01('0x57')](function(_0x39ebc0){return db['UserProfileSection'][_0xca01('0x25')]({'where':{'userProfileId':_0x292062[_0xca01('0x54')]['id'],'sectionId':_[_0xca01('0x2c')](_0x4aba40,function(_0x49ba4f){return _0x49ba4f[_0xca01('0x58')];})},'transaction':_0x39ebc0})['then'](function(){var _0x706873=_['map'](_0x4aba40,function(_0x3f2c26){_0x3f2c26[_0xca01('0x59')]=_0x292062[_0xca01('0x54')]['id'];return _0x3f2c26;});var _0x2d0064=[];return BPromise['each'](_0x706873,function(_0x12ee85){return db[_0xca01('0x53')]['create'](_0x12ee85,{'include':[{'model':db['UserProfileResource'],'as':_0xca01('0x52')}],'raw':!![],'transaction':_0x39ebc0})['then'](function(_0xfc12c5){_0x2d0064[_0xca01('0x5a')](_0xfc12c5[_0xca01('0x4a')]({'plain':!![]}));});})['then'](function(){return _0x2d0064;});});});}})[_0xca01('0x26')](function(_0x5b211a){return _0x5b211a;})[_0xca01('0x26')](respondWithResult(_0x449457,null))[_0xca01('0x43')](handleError(_0x449457,null));};exports[_0xca01('0x5b')]=function(_0x117db8,_0x173335){var _0x4cfbe8;return db[_0xca01('0x2d')][_0xca01('0x49')]({'where':{'id':_0x117db8[_0xca01('0x54')]['id']},'attributes':['id',_0xca01('0x29')]})[_0xca01('0x26')](handleEntityNotFound(_0x173335,null))[_0xca01('0x26')](function(_0x5d50dd){if(_0x5d50dd){_0x4cfbe8=_0x5d50dd;return db[_0xca01('0x53')][_0xca01('0x25')]({'where':{'userProfileId':_0x117db8[_0xca01('0x54')]['id'],'sectionId':_0x117db8[_0xca01('0x31')]['ids']}});}})[_0xca01('0x26')](function(){return _0x4cfbe8;})['then'](respondWithStatusCode(_0x173335,null))[_0xca01('0x43')](handleError(_0x173335,null));};exports[_0xca01('0x5c')]=function(_0x2c7b22,_0x527ee1){var _0x4332cc=[];var _0x29251f=[];return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x2c7b22[_0xca01('0x54')]['id']},'raw':!![]})[_0xca01('0x26')](function(_0x37aa47){_0x4332cc=_[_0xca01('0x3d')](_0x37aa47,function(_0x3fa7bb){return _0x3fa7bb[_0xca01('0x5d')]===0x1||_[_0xca01('0x5e')]([0x3eb,0x709],_0x3fa7bb[_0xca01('0x58')]);});if(!_[_0xca01('0x5f')](_0x4332cc)){return _[_0xca01('0x2c')](_0x4332cc,function(_0x547240){return _0x547240['sectionId'];});}else{return;}})['then'](function(_0x8e49ee){if(_0x8e49ee)_0x29251f=_0x8e49ee;if(_[_0xca01('0x5e')](_0x29251f,0x64)){var _0x8ceb98=_[_0xca01('0x49')](_0x4332cc,{'sectionId':0x64});return hasDefaultDashboard(_0x8ceb98)[_0xca01('0x26')](function(_0x3e841f){return _['map'](_0x4332cc,function(_0x552658){if(_0x552658['sectionId']===0x64){_0x552658[_0xca01('0x60')]=_0x3e841f;}return _0x552658;});});}else{return;}})['then'](function(_0x4b4e7e){if(_0x4b4e7e)_0x4332cc=_0x4b4e7e;if(_[_0xca01('0x5e')](_0x29251f,0x3eb)){var _0x34ac5f=_[_0xca01('0x49')](_0x4332cc,{'sectionId':0x3eb});return getCustomDashboards(_0x34ac5f)[_0xca01('0x26')](function(_0x5ede93){return _[_0xca01('0x2c')](_0x4332cc,function(_0xdc7ef9){if(_0x34ac5f[_0xca01('0x5d')]){if(_0xdc7ef9[_0xca01('0x58')]===0x3eb){_0xdc7ef9[_0xca01('0x60')]=_0x5ede93;}}else{if(_0xdc7ef9[_0xca01('0x58')]===0x64){if(!_0xdc7ef9[_0xca01('0x60')]){_0xdc7ef9[_0xca01('0x60')]=[];}_0xdc7ef9['subsections']=_0xdc7ef9[_0xca01('0x60')][_0xca01('0x61')](_0x5ede93);}}return _0xdc7ef9;});});}else{return;}})['then'](function(_0x586be0){if(_0x586be0)_0x4332cc=_0x586be0;if(_[_0xca01('0x5e')](_0x29251f,0x709)){var _0x35ddef=_['find'](_0x4332cc,{'sectionId':0x709});return getPlugins(_0x35ddef)['then'](function(_0x322749){if(_0x35ddef[_0xca01('0x5d')]){return _['map'](_0x4332cc,function(_0x3331ab){if(_0x3331ab[_0xca01('0x58')]===0x709){_0x3331ab[_0xca01('0x60')]=_0x322749;}return _0x3331ab;});}else{var _0x1eeeb2={'sectionId':0x76c,'enabled':0x1,'subsections':_0x322749};var _0x465045=_[_0xca01('0x2c')](_0x4332cc);_0x465045[_0xca01('0x5a')](_0x1eeeb2);return _0x465045;}});}else{return;}})[_0xca01('0x26')](function(_0x57c524){if(_0x57c524)_0x4332cc=_0x57c524;return _['filter'](_0x4332cc,[_0xca01('0x5d'),0x1]);})[_0xca01('0x26')](respondWithResult(_0x527ee1,null))[_0xca01('0x43')](handleError(_0x527ee1,null));};function hasDefaultDashboard(_0x31cbb3){var _0x1530a7=[0x65];return new BPromise(function(_0x28b452,_0x1e6e6a){try{if(_0x31cbb3[_0xca01('0x50')]){_0x28b452(_0x1530a7);}else{return db[_0xca01('0x51')]['findOne']({'where':{'sectionId':_0x31cbb3['id']},'raw':!![]})[_0xca01('0x26')](function(_0x43d6d2){_0x43d6d2?_0x28b452(_0x1530a7):_0x28b452();});}}catch(_0x1cfd27){_0x1e6e6a(_0x1cfd27);}});}function getCustomDashboards(_0x4da35f){var _0x5a94ac=[];return new BPromise(function(_0x2f54ef,_0x363919){try{if(_0x4da35f['autoAssociation']){return db[_0xca01('0x62')][_0xca01('0x42')]({'raw':!![]})[_0xca01('0x26')](function(_0x28bb53){_0x28bb53[_0xca01('0x63')](function(_0x62c925){_0x5a94ac[_0xca01('0x5a')](_0x62c925['id']+0x1869f);});_0x2f54ef(_0x5a94ac);});}else{return db[_0xca01('0x51')][_0xca01('0x42')]({'where':{'sectionId':_0x4da35f['id']},'raw':!![]})['then'](function(_0x48f542){_0x48f542[_0xca01('0x63')](function(_0x332246){_0x5a94ac[_0xca01('0x5a')](_0x332246[_0xca01('0x64')]+0x1869f);});_0x2f54ef(_0x5a94ac);});}}catch(_0x27490e){_0x363919(_0x27490e);}});}function getPlugins(_0x1b0fc0){var _0x46e0a7=[];return new BPromise(function(_0x11bab3,_0x10ec5f){try{if(_0x1b0fc0[_0xca01('0x50')]){return db[_0xca01('0x65')][_0xca01('0x42')]({'raw':!![]})[_0xca01('0x26')](function(_0xee7aa3){_0xee7aa3[_0xca01('0x63')](function(_0x2a6ffd){_0x46e0a7[_0xca01('0x5a')](_0x2a6ffd['id']+0x15b38);});_0x11bab3(_0x46e0a7);});}else{return db[_0xca01('0x51')][_0xca01('0x42')]({'where':{'sectionId':_0x1b0fc0['id']},'raw':!![]})[_0xca01('0x26')](function(_0x536cb8){_0x536cb8['forEach'](function(_0x296f89){_0x46e0a7[_0xca01('0x5a')](_0x296f89[_0xca01('0x64')]+0x15b38);});_0x11bab3(_0x46e0a7);});}}catch(_0x447d7b){_0x10ec5f(_0x447d7b);}});}exports[_0xca01('0x66')]=function(_0x54b394,_0x4b4018){return db[_0xca01('0x2d')]['find']({'where':{'id':_0x54b394[_0xca01('0x54')]['id']}})[_0xca01('0x26')](handleEntityNotFound(_0x4b4018,null))[_0xca01('0x26')](function(_0x49d620){if(_0x49d620){return db[_0xca01('0x4e')]['transaction'](function(_0x20e176){return db[_0xca01('0x53')]['findAll']({'where':{'userProfileId':_0x54b394[_0xca01('0x54')]['id']},'attributes':['id'],'raw':!![]})[_0xca01('0x26')](function(_0xb50b17){if(_0xb50b17){return db[_0xca01('0x53')]['destroy']({'where':{'userProfileId':_0x54b394[_0xca01('0x54')]['id'],'id':_[_0xca01('0x2c')](_0xb50b17,function(_0x483241){return _0x483241['id'];})},'transaction':_0x20e176});}})['then'](function(_0x37e8af){var _0x4fc012=_['map'](_0x54b394[_0xca01('0x47')],function(_0x4382d1){_0x4382d1['userProfileId']=_0x54b394[_0xca01('0x54')]['id'];return _0x4382d1;});return db[_0xca01('0x53')][_0xca01('0x67')](_0x4fc012,{'raw':!![],'transaction':_0x20e176});})['then'](function(_0x5bdeb1){var _0x450650=_[_0xca01('0x3d')](_[_0xca01('0x2c')](_0x5bdeb1,function(_0x25cf22){return _0x25cf22[_0xca01('0x4a')]({'plain':!![]});}),{'includeAll':![]});if(_0x450650){return db[_0xca01('0x53')][_0xca01('0x42')]({'where':{'userProfileId':_0x54b394[_0xca01('0x54')]['id'],'sectionId':_['map'](_0x450650,function(_0x228127){return _0x228127[_0xca01('0x58')];})},'attributes':['id',_0xca01('0x58')],'raw':!![]})['then'](function(_0x2306b3){var _0x43f805=_['map'](_0x54b394[_0xca01('0x47')],function(_0xefb8b5){_0xefb8b5[_0xca01('0x59')]=_0x54b394['params']['id'];return _0xefb8b5;});return db['UserProfileResource'][_0xca01('0x67')](_0x43f805,{'raw':!![],'transaction':_0x20e176});});}})[_0xca01('0x43')](handleError(_0x4b4018,null));});}})[_0xca01('0x26')](function(_0x2f377c){var _0x38fe9f=_[_0xca01('0x2c')](_0x2f377c,function(_0x433818){return _0x433818['get']({'plain':!![]});});})[_0xca01('0x26')](respondWithResult(_0x4b4018,null))[_0xca01('0x43')](handleError(_0x4b4018,null));};exports[_0xca01('0x68')]=function(_0x5981e3,_0x42369d,_0x161cce){return db[_0xca01('0x2d')][_0xca01('0x49')]({'where':{'id':_0x5981e3['params']['id']}})[_0xca01('0x26')](handleEntityNotFound(_0x42369d,null))[_0xca01('0x26')](function(_0x48bdf9){if(_0x48bdf9){return _0x48bdf9[_0xca01('0x68')](_0x5981e3[_0xca01('0x31')][_0xca01('0x69')]);}})[_0xca01('0x26')](respondWithStatusCode(_0x42369d,null))[_0xca01('0x43')](handleError(_0x42369d,null));};exports[_0xca01('0x6a')]=function(_0x32a52f,_0x5753cc){var _0x39a8ef={};if(!_0x32a52f['query'][_0xca01('0x6b')])throw new Error(_0xca01('0x6c'));if(!_0x32a52f[_0xca01('0x31')]['hasOwnProperty']('nolimit')){_0x39a8ef[_0xca01('0x1f')]=qs['limit'](_0x32a52f['query'][_0xca01('0x1f')]);_0x39a8ef['offset']=qs[_0xca01('0x1e')](_0x32a52f[_0xca01('0x31')][_0xca01('0x1e')]);}return db['UserProfile'][_0xca01('0x49')]({'where':{'id':_0x32a52f[_0xca01('0x54')]['id']}})[_0xca01('0x26')](function(_0x30c527){if(!_0x30c527)throw new Error(_0xca01('0x6d')+_0x32a52f['params']['id']);return db[_0xca01('0x2d')][_0xca01('0x6a')](_0x32a52f);})[_0xca01('0x26')](respondWithFilteredResult(_0x5753cc,_0x39a8ef))['catch'](handleError(_0x5753cc,null));};