Built motion from commit a679711e.|2.6.15
[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 _0x779c=['Dashboard','forEach','resourceId','addResources','transaction','userProfileId','bulkCreate','removeResources','getResources','section','Missing\x20section\x20parameter','No\x20User\x20Profile\x20found\x20for\x20id\x20','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','to-csv','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./userProfile.socket','register','sendStatus','end','status','json','offset','limit','undefined','count','set','Content-Range','update','destroy','then','error','stack','send','map','UserProfile','rawAttributes','key','model','name','query','keys','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','filters','pick','filter','type','options','include','rows','catch','show','params','merge','find','create','body','clone','includeAll','omit','createdAt','updatedAt','crudPermissions','get','UserProfileSection','findAll','each','autoAssociation','sectionId','UserProfileResource','Resources','describe','sequelize','push','ids','enabled','subsections','includes','concat','findOne'];(function(_0x1d470a,_0x4ef470){var _0x5cde4e=function(_0x1e96aa){while(--_0x1e96aa){_0x1d470a['push'](_0x1d470a['shift']());}};_0x5cde4e(++_0x4ef470);}(_0x779c,0x159));var _0xc779=function(_0x38e054,_0x5cced7){_0x38e054=_0x38e054-0x0;var _0x118961=_0x779c[_0x38e054];return _0x118961;};'use strict';var emlformat=require(_0xc779('0x0'));var rimraf=require(_0xc779('0x1'));var zipdir=require(_0xc779('0x2'));var jsonpatch=require(_0xc779('0x3'));var rp=require(_0xc779('0x4'));var moment=require(_0xc779('0x5'));var BPromise=require(_0xc779('0x6'));var Mustache=require(_0xc779('0x7'));var util=require(_0xc779('0x8'));var path=require(_0xc779('0x9'));var sox=require('sox');var csv=require(_0xc779('0xa'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xc779('0xb'));var _=require(_0xc779('0xc'));var squel=require(_0xc779('0xd'));var crypto=require(_0xc779('0xe'));var jsforce=require(_0xc779('0xf'));var deskjs=require(_0xc779('0x10'));var toCsv=require('to-csv');var querystring=require(_0xc779('0x11'));var Papa=require('papaparse');var Redis=require(_0xc779('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xc779('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xc779('0x14'));var logger=require('../../config/logger')(_0xc779('0x15'));var utils=require('../../config/utils');var config=require(_0xc779('0x16'));var licenseUtil=require(_0xc779('0x17'));var db=require(_0xc779('0x18'))['db'];config[_0xc779('0x19')]=_['defaults'](config['redis'],{'host':_0xc779('0x1a'),'port':0x18eb});var socket=require(_0xc779('0x1b'))(new Redis(config[_0xc779('0x19')]));require(_0xc779('0x1c'))[_0xc779('0x1d')](socket);function respondWithStatusCode(_0x40d158,_0x1ae41a){_0x1ae41a=_0x1ae41a||0xcc;return function(_0x4e1316){if(_0x4e1316){return _0x40d158[_0xc779('0x1e')](_0x1ae41a);}return _0x40d158['status'](_0x1ae41a)[_0xc779('0x1f')]();};}function respondWithResult(_0x36850c,_0x539739){_0x539739=_0x539739||0xc8;return function(_0x598af0){if(_0x598af0){return _0x36850c[_0xc779('0x20')](_0x539739)[_0xc779('0x21')](_0x598af0);}};}function respondWithFilteredResult(_0x318796,_0x1f82e9){return function(_0x1cd964){if(_0x1cd964){var _0xbe72d6=typeof _0x1f82e9[_0xc779('0x22')]==='undefined'&&typeof _0x1f82e9[_0xc779('0x23')]===_0xc779('0x24');var _0x2e2f9e=_0x1cd964[_0xc779('0x25')];var _0x4af88a=_0xbe72d6?0x0:_0x1f82e9[_0xc779('0x22')];var _0x1055e9=_0xbe72d6?_0x1cd964[_0xc779('0x25')]:_0x1f82e9[_0xc779('0x22')]+_0x1f82e9['limit'];var _0x993084;if(_0x1055e9>=_0x2e2f9e){_0x1055e9=_0x2e2f9e;_0x993084=0xc8;}else{_0x993084=0xce;}_0x318796[_0xc779('0x20')](_0x993084);return _0x318796[_0xc779('0x26')](_0xc779('0x27'),_0x4af88a+'-'+_0x1055e9+'/'+_0x2e2f9e)[_0xc779('0x21')](_0x1cd964);}return null;};}function patchUpdates(_0x249c60){return function(_0x5f299a){try{jsonpatch['apply'](_0x5f299a,_0x249c60,!![]);}catch(_0x58da44){return BPromise['reject'](_0x58da44);}return _0x5f299a['save']();};}function saveUpdates(_0x56652c,_0x3a185f){return function(_0x1a82cc){if(_0x1a82cc){return _0x1a82cc[_0xc779('0x28')](_0x56652c)['then'](function(_0x47f66d){return _0x47f66d;});}return null;};}function removeEntity(_0x1c394f,_0x1c67f5){return function(_0x5df11c){if(_0x5df11c){return _0x5df11c[_0xc779('0x29')]()[_0xc779('0x2a')](function(){_0x1c394f[_0xc779('0x20')](0xcc)[_0xc779('0x1f')]();});}};}function handleEntityNotFound(_0x418da1,_0x512d99){return function(_0x3c0f54){if(!_0x3c0f54){_0x418da1['sendStatus'](0x194);}return _0x3c0f54;};}function handleError(_0x2eaa24,_0xa13393){_0xa13393=_0xa13393||0x1f4;return function(_0x171dd5){logger[_0xc779('0x2b')](_0x171dd5[_0xc779('0x2c')]);if(_0x171dd5['name']){delete _0x171dd5['name'];}_0x2eaa24['status'](_0xa13393)[_0xc779('0x2d')](_0x171dd5);};}exports['index']=function(_0xa39996,_0x51d9bf){var _0xdf7f70={},_0x2cbf7e={},_0x448273={'count':0x0,'rows':[]};var _0x2695b0=_[_0xc779('0x2e')](db[_0xc779('0x2f')][_0xc779('0x30')],function(_0x5e98d8){return{'name':_0x5e98d8['fieldName'],'type':_0x5e98d8['type'][_0xc779('0x31')]};});_0x2cbf7e[_0xc779('0x32')]=_[_0xc779('0x2e')](_0x2695b0,_0xc779('0x33'));_0x2cbf7e[_0xc779('0x34')]=_[_0xc779('0x35')](_0xa39996[_0xc779('0x34')]);_0x2cbf7e['filters']=_[_0xc779('0x36')](_0x2cbf7e[_0xc779('0x32')],_0x2cbf7e['query']);_0xdf7f70['attributes']=_['intersection'](_0x2cbf7e[_0xc779('0x32')],qs[_0xc779('0x37')](_0xa39996['query'][_0xc779('0x37')]));_0xdf7f70[_0xc779('0x38')]=_0xdf7f70[_0xc779('0x38')][_0xc779('0x39')]?_0xdf7f70[_0xc779('0x38')]:_0x2cbf7e['model'];if(!_0xa39996['query'][_0xc779('0x3a')]('nolimit')){_0xdf7f70['limit']=qs[_0xc779('0x23')](_0xa39996[_0xc779('0x34')][_0xc779('0x23')]);_0xdf7f70[_0xc779('0x22')]=qs[_0xc779('0x22')](_0xa39996['query'][_0xc779('0x22')]);}_0xdf7f70[_0xc779('0x3b')]=qs['sort'](_0xa39996['query'][_0xc779('0x3c')]);_0xdf7f70[_0xc779('0x3d')]=qs[_0xc779('0x3e')](_[_0xc779('0x3f')](_0xa39996[_0xc779('0x34')],_0x2cbf7e[_0xc779('0x3e')]),_0x2695b0);if(_0xa39996['query'][_0xc779('0x40')]){_0xdf7f70[_0xc779('0x3d')]=_['merge'](_0xdf7f70[_0xc779('0x3d')],{'$or':_[_0xc779('0x2e')](_0x2695b0,function(_0x59cf1c){if(_0x59cf1c[_0xc779('0x41')]!=='VIRTUAL'){var _0x2ecfc9={};_0x2ecfc9[_0x59cf1c[_0xc779('0x33')]]={'$like':'%'+_0xa39996[_0xc779('0x34')]['filter']+'%'};return _0x2ecfc9;}})});}_0xdf7f70=_['merge']({},_0xdf7f70,_0xa39996[_0xc779('0x42')]);var _0x538701={'where':_0xdf7f70['where']};return db['UserProfile']['count'](_0x538701)[_0xc779('0x2a')](function(_0x3091bd){_0x448273[_0xc779('0x25')]=_0x3091bd;if(_0xa39996[_0xc779('0x34')]['includeAll']){_0xdf7f70[_0xc779('0x43')]=[{'all':!![]}];}return db[_0xc779('0x2f')]['findAll'](_0xdf7f70);})[_0xc779('0x2a')](function(_0x5f2352){_0x448273[_0xc779('0x44')]=_0x5f2352;return _0x448273;})['then'](respondWithFilteredResult(_0x51d9bf,_0xdf7f70))[_0xc779('0x45')](handleError(_0x51d9bf,null));};exports[_0xc779('0x46')]=function(_0xb74b23,_0x3fcf18){var _0x57ee3c={'raw':![],'where':{'id':_0xb74b23[_0xc779('0x47')]['id']}},_0x283b07={};_0x283b07['model']=_[_0xc779('0x35')](db[_0xc779('0x2f')][_0xc779('0x30')]);_0x283b07['query']=_[_0xc779('0x35')](_0xb74b23[_0xc779('0x34')]);_0x283b07[_0xc779('0x3e')]=_[_0xc779('0x36')](_0x283b07[_0xc779('0x32')],_0x283b07[_0xc779('0x34')]);_0x57ee3c['attributes']=_[_0xc779('0x36')](_0x283b07[_0xc779('0x32')],qs[_0xc779('0x37')](_0xb74b23[_0xc779('0x34')][_0xc779('0x37')]));_0x57ee3c[_0xc779('0x38')]=_0x57ee3c['attributes'][_0xc779('0x39')]?_0x57ee3c[_0xc779('0x38')]:_0x283b07['model'];if(_0xb74b23['query']['includeAll']){_0x57ee3c[_0xc779('0x43')]=[{'all':!![]}];}_0x57ee3c=_[_0xc779('0x48')]({},_0x57ee3c,_0xb74b23['options']);return db[_0xc779('0x2f')][_0xc779('0x49')](_0x57ee3c)['then'](handleEntityNotFound(_0x3fcf18,null))[_0xc779('0x2a')](respondWithResult(_0x3fcf18,null))[_0xc779('0x45')](handleError(_0x3fcf18,null));};exports[_0xc779('0x4a')]=function(_0xf6df7e,_0x4d68a5){return db['UserProfile'][_0xc779('0x4a')](_0xf6df7e[_0xc779('0x4b')],{})[_0xc779('0x2a')](respondWithResult(_0x4d68a5,0xc9))['catch'](handleError(_0x4d68a5,null));};exports[_0xc779('0x4c')]=function(_0x584c6f,_0x285150){var _0x438004={'where':{'id':_0x584c6f[_0xc779('0x47')]['id']}},_0x14a459={};_0x14a459[_0xc779('0x32')]=_[_0xc779('0x35')](db['UserProfile'][_0xc779('0x30')]);_0x438004[_0xc779('0x38')]=_[_0xc779('0x36')](_0x14a459[_0xc779('0x32')],qs[_0xc779('0x37')](_0x584c6f[_0xc779('0x34')][_0xc779('0x37')]));_0x438004[_0xc779('0x38')]=_0x438004['attributes'][_0xc779('0x39')]?_0x438004[_0xc779('0x38')]:_0x14a459[_0xc779('0x32')];if(_0x584c6f[_0xc779('0x34')][_0xc779('0x4d')]){_0x438004[_0xc779('0x43')]=[{'all':!![]}];}_0x438004=_['merge']({},_0x438004,_0x584c6f[_0xc779('0x42')]);return db[_0xc779('0x2f')][_0xc779('0x49')](_0x438004)['then'](handleEntityNotFound(_0x285150,null))[_0xc779('0x2a')](function(_0x25c412){if(_0x25c412){var _0x147fdc=_0x25c412['get']({'plain':!![]});_0x147fdc=qs[_0xc779('0x4e')](_0x147fdc,['id',_0xc779('0x4f'),_0xc779('0x50'),_0xc779('0x51')]);_0x584c6f[_0xc779('0x4b')]=_['omit'](_0x584c6f[_0xc779('0x4b')],['id',_0xc779('0x4f'),_0xc779('0x50')]);return db['sequelize']['transaction'](function(_0x5bf921){return db[_0xc779('0x2f')][_0xc779('0x4a')](_[_0xc779('0x48')](_0x147fdc,_0x584c6f['body']),{'include':_0x584c6f[_0xc779('0x34')]['includeAll']?[{'all':!![]}]:undefined,'transaction':_0x5bf921})[_0xc779('0x2a')](function(_0x16031c){var _0x301622=_0x16031c[_0xc779('0x52')]({'plain':!![]});return db[_0xc779('0x53')][_0xc779('0x54')]({'where':{'userProfileId':_0x584c6f[_0xc779('0x47')]['id']},'raw':!![]})[_0xc779('0x2a')](function(_0x57a573){if(_0x57a573){return BPromise[_0xc779('0x55')](_0x57a573,function(_0x4e6a3a){return new BPromise(function(_0x5f1619,_0x3323c8){if(_0x4e6a3a[_0xc779('0x56')]===null||_0x4e6a3a[_0xc779('0x56')]===0x1)_0x5f1619(null);return db['UserProfileResource'][_0xc779('0x54')]({'where':{'sectionId':_0x4e6a3a['id']},'raw':!![]})['then'](function(_0x3768f0){var _0x53d475=_['map'](_0x3768f0,function(_0x9d27df){return qs[_0xc779('0x4e')](_0x9d27df,['id',_0xc779('0x4f'),'updatedAt',_0xc779('0x57')]);});_0x5f1619(_0x53d475);})['catch'](function(_0x28da26){_0x3323c8(_0x28da26);});})[_0xc779('0x2a')](function(_0x2a9bf9){var _0x53e571=qs[_0xc779('0x4e')](_0x4e6a3a,['id',_0xc779('0x4f'),_0xc779('0x50')]);_0x53e571['userProfileId']=_0x301622['id'];if(_0x2a9bf9)_0x53e571['Resources']=_0x2a9bf9;return _0x53e571;})[_0xc779('0x2a')](function(_0x190b3a){return db['UserProfileSection'][_0xc779('0x4a')](_0x190b3a,{'include':[{'model':db[_0xc779('0x58')],'as':_0xc779('0x59')}],'raw':!![],'transaction':_0x5bf921});});})[_0xc779('0x2a')](function(){return _0x301622;});}});});});}})['then'](respondWithResult(_0x285150,0xc9))[_0xc779('0x45')](handleError(_0x285150,null));};exports[_0xc779('0x28')]=function(_0x296246,_0x1f64b3){if(_0x296246[_0xc779('0x4b')]['id']){delete _0x296246[_0xc779('0x4b')]['id'];}return db['UserProfile'][_0xc779('0x49')]({'where':{'id':_0x296246[_0xc779('0x47')]['id']}})[_0xc779('0x2a')](handleEntityNotFound(_0x1f64b3,null))[_0xc779('0x2a')](saveUpdates(_0x296246[_0xc779('0x4b')],null))[_0xc779('0x2a')](respondWithResult(_0x1f64b3,null))[_0xc779('0x45')](handleError(_0x1f64b3,null));};exports[_0xc779('0x29')]=function(_0x3dabd5,_0x36fba0){return db[_0xc779('0x2f')][_0xc779('0x49')]({'where':{'id':_0x3dabd5[_0xc779('0x47')]['id']}})[_0xc779('0x2a')](handleEntityNotFound(_0x36fba0,null))['then'](removeEntity(_0x36fba0,null))[_0xc779('0x45')](handleError(_0x36fba0,null));};exports[_0xc779('0x5a')]=function(_0x44f3df,_0x321b6c){return db['UserProfile'][_0xc779('0x5a')]()[_0xc779('0x2a')](respondWithResult(_0x321b6c,null))[_0xc779('0x45')](handleError(_0x321b6c,null));};exports['addSections']=function(_0x4a64c0,_0x478480){var _0x135d5f=_0x4a64c0[_0xc779('0x4b')];return db[_0xc779('0x2f')][_0xc779('0x49')]({'where':{'id':_0x4a64c0[_0xc779('0x47')]['id']}})[_0xc779('0x2a')](handleEntityNotFound(_0x478480,null))[_0xc779('0x2a')](function(_0x44057e){if(_0x44057e){return db[_0xc779('0x5b')]['transaction'](function(_0x51fe5b){return db[_0xc779('0x53')][_0xc779('0x29')]({'where':{'userProfileId':_0x4a64c0['params']['id'],'sectionId':_[_0xc779('0x2e')](_0x135d5f,function(_0x1d0e7e){return _0x1d0e7e['sectionId'];})},'transaction':_0x51fe5b})['then'](function(){var _0x36d915=_[_0xc779('0x2e')](_0x135d5f,function(_0x383a2b){_0x383a2b['userProfileId']=_0x4a64c0[_0xc779('0x47')]['id'];return _0x383a2b;});var _0x30219f=[];return BPromise[_0xc779('0x55')](_0x36d915,function(_0x2f03ea){return db[_0xc779('0x53')][_0xc779('0x4a')](_0x2f03ea,{'include':[{'model':db['UserProfileResource'],'as':_0xc779('0x59')}],'raw':!![],'transaction':_0x51fe5b})[_0xc779('0x2a')](function(_0x2ef7f3){_0x30219f[_0xc779('0x5c')](_0x2ef7f3[_0xc779('0x52')]({'plain':!![]}));});})[_0xc779('0x2a')](function(){return _0x30219f;});});});}})['then'](function(_0x24b8c2){return _0x24b8c2;})[_0xc779('0x2a')](respondWithResult(_0x478480,null))['catch'](handleError(_0x478480,null));};exports['removeSections']=function(_0x4e5fb9,_0x25144a){var _0x1fc825;return db[_0xc779('0x2f')][_0xc779('0x49')]({'where':{'id':_0x4e5fb9[_0xc779('0x47')]['id']},'attributes':['id',_0xc779('0x33')]})[_0xc779('0x2a')](handleEntityNotFound(_0x25144a,null))['then'](function(_0x76b747){if(_0x76b747){_0x1fc825=_0x76b747;return db['UserProfileSection'][_0xc779('0x29')]({'where':{'userProfileId':_0x4e5fb9[_0xc779('0x47')]['id'],'sectionId':_0x4e5fb9[_0xc779('0x34')][_0xc779('0x5d')]}});}})[_0xc779('0x2a')](function(){return _0x1fc825;})[_0xc779('0x2a')](respondWithStatusCode(_0x25144a,null))[_0xc779('0x45')](handleError(_0x25144a,null));};exports['getSections']=function(_0x7f4173,_0xe62a50){var _0x57286d=[];var _0x2f91e0=[];return db[_0xc779('0x53')][_0xc779('0x54')]({'where':{'userProfileId':_0x7f4173[_0xc779('0x47')]['id']},'raw':!![]})[_0xc779('0x2a')](function(_0x2395c9){_0x57286d=_[_0xc779('0x40')](_0x2395c9,function(_0x39afc4){return _0x39afc4[_0xc779('0x5e')]===0x1||_['includes']([0x3eb,0x709],_0x39afc4[_0xc779('0x57')]);});if(!_['isEmpty'](_0x57286d)){return _[_0xc779('0x2e')](_0x57286d,function(_0x598e87){return _0x598e87[_0xc779('0x57')];});}else{return;}})[_0xc779('0x2a')](function(_0x2e37e1){if(_0x2e37e1)_0x2f91e0=_0x2e37e1;if(_['includes'](_0x2f91e0,0x64)){var _0x4f57dc=_['find'](_0x57286d,{'sectionId':0x64});return hasDefaultDashboard(_0x4f57dc)[_0xc779('0x2a')](function(_0x567943){return _[_0xc779('0x2e')](_0x57286d,function(_0x45101b){if(_0x45101b[_0xc779('0x57')]===0x64){_0x45101b[_0xc779('0x5f')]=_0x567943;}return _0x45101b;});});}else{return;}})[_0xc779('0x2a')](function(_0x546299){if(_0x546299)_0x57286d=_0x546299;if(_[_0xc779('0x60')](_0x2f91e0,0x3eb)){var _0x2e5c98=_['find'](_0x57286d,{'sectionId':0x3eb});return getCustomDashboards(_0x2e5c98)[_0xc779('0x2a')](function(_0x5128e1){return _[_0xc779('0x2e')](_0x57286d,function(_0x29638f){if(_0x2e5c98['enabled']){if(_0x29638f[_0xc779('0x57')]===0x3eb){_0x29638f[_0xc779('0x5f')]=_0x5128e1;}}else{if(_0x29638f['sectionId']===0x64){if(!_0x29638f['subsections']){_0x29638f['subsections']=[];}_0x29638f[_0xc779('0x5f')]=_0x29638f[_0xc779('0x5f')][_0xc779('0x61')](_0x5128e1);}}return _0x29638f;});});}else{return;}})['then'](function(_0x2ee409){if(_0x2ee409)_0x57286d=_0x2ee409;if(_[_0xc779('0x60')](_0x2f91e0,0x709)){var _0x238030=_[_0xc779('0x49')](_0x57286d,{'sectionId':0x709});return getPlugins(_0x238030)['then'](function(_0x395c9e){if(_0x238030[_0xc779('0x5e')]){return _['map'](_0x57286d,function(_0x2b08a6){if(_0x2b08a6[_0xc779('0x57')]===0x709){_0x2b08a6[_0xc779('0x5f')]=_0x395c9e;}return _0x2b08a6;});}else{var _0x114638={'sectionId':0x76c,'enabled':0x1,'subsections':_0x395c9e};var _0x21b80c=_['map'](_0x57286d);_0x21b80c[_0xc779('0x5c')](_0x114638);return _0x21b80c;}});}else{return;}})[_0xc779('0x2a')](function(_0x2db4cb){if(_0x2db4cb)_0x57286d=_0x2db4cb;return _[_0xc779('0x40')](_0x57286d,[_0xc779('0x5e'),0x1]);})[_0xc779('0x2a')](respondWithResult(_0xe62a50,null))[_0xc779('0x45')](handleError(_0xe62a50,null));};function hasDefaultDashboard(_0x3535d9){var _0x167ce0=[0x65];return new BPromise(function(_0x3be12a,_0x248bdc){try{if(_0x3535d9[_0xc779('0x56')]){_0x3be12a(_0x167ce0);}else{return db['UserProfileResource'][_0xc779('0x62')]({'where':{'sectionId':_0x3535d9['id']},'raw':!![]})[_0xc779('0x2a')](function(_0x1337f3){_0x1337f3?_0x3be12a(_0x167ce0):_0x3be12a();});}}catch(_0x3daaf8){_0x248bdc(_0x3daaf8);}});}function getCustomDashboards(_0x2a36bf){var _0x25f8cb=[];return new BPromise(function(_0x418c12,_0x49f0bc){try{if(_0x2a36bf['autoAssociation']){return db[_0xc779('0x63')][_0xc779('0x54')]({'raw':!![]})[_0xc779('0x2a')](function(_0x233bd4){_0x233bd4[_0xc779('0x64')](function(_0xed8e3){_0x25f8cb['push'](_0xed8e3['id']+0x1869f);});_0x418c12(_0x25f8cb);});}else{return db[_0xc779('0x58')][_0xc779('0x54')]({'where':{'sectionId':_0x2a36bf['id']},'raw':!![]})['then'](function(_0x6e37d7){_0x6e37d7[_0xc779('0x64')](function(_0x5706be){_0x25f8cb[_0xc779('0x5c')](_0x5706be[_0xc779('0x65')]+0x1869f);});_0x418c12(_0x25f8cb);});}}catch(_0x253f47){_0x49f0bc(_0x253f47);}});}function getPlugins(_0x22c2d8){var _0x4f6690=[];return new BPromise(function(_0x2f1963,_0x15ce0e){try{if(_0x22c2d8[_0xc779('0x56')]){return db['Plugin'][_0xc779('0x54')]({'raw':!![]})[_0xc779('0x2a')](function(_0x206f4c){_0x206f4c['forEach'](function(_0x7fe2a1){_0x4f6690['push'](_0x7fe2a1['id']+0x15b38);});_0x2f1963(_0x4f6690);});}else{return db[_0xc779('0x58')][_0xc779('0x54')]({'where':{'sectionId':_0x22c2d8['id']},'raw':!![]})[_0xc779('0x2a')](function(_0x4d3eb6){_0x4d3eb6['forEach'](function(_0x161a60){_0x4f6690[_0xc779('0x5c')](_0x161a60[_0xc779('0x65')]+0x15b38);});_0x2f1963(_0x4f6690);});}}catch(_0xa8777c){_0x15ce0e(_0xa8777c);}});}exports[_0xc779('0x66')]=function(_0x1be9c0,_0x389c8f){return db[_0xc779('0x2f')][_0xc779('0x49')]({'where':{'id':_0x1be9c0[_0xc779('0x47')]['id']}})[_0xc779('0x2a')](handleEntityNotFound(_0x389c8f,null))[_0xc779('0x2a')](function(_0x4fd050){if(_0x4fd050){return db[_0xc779('0x5b')][_0xc779('0x67')](function(_0x3195a0){return db[_0xc779('0x53')][_0xc779('0x54')]({'where':{'userProfileId':_0x1be9c0[_0xc779('0x47')]['id']},'attributes':['id'],'raw':!![]})[_0xc779('0x2a')](function(_0x2d3460){if(_0x2d3460){return db[_0xc779('0x53')][_0xc779('0x29')]({'where':{'userProfileId':_0x1be9c0[_0xc779('0x47')]['id'],'id':_[_0xc779('0x2e')](_0x2d3460,function(_0x5337d8){return _0x5337d8['id'];})},'transaction':_0x3195a0});}})[_0xc779('0x2a')](function(_0x1e927a){var _0x36f919=_[_0xc779('0x2e')](_0x1be9c0[_0xc779('0x4b')],function(_0x40b2b8){_0x40b2b8[_0xc779('0x68')]=_0x1be9c0['params']['id'];return _0x40b2b8;});return db[_0xc779('0x53')][_0xc779('0x69')](_0x36f919,{'raw':!![],'transaction':_0x3195a0});})[_0xc779('0x2a')](function(_0x412730){var _0x32c237=_[_0xc779('0x40')](_[_0xc779('0x2e')](_0x412730,function(_0x34bbca){return _0x34bbca[_0xc779('0x52')]({'plain':!![]});}),{'includeAll':![]});if(_0x32c237){return db['UserProfileSection'][_0xc779('0x54')]({'where':{'userProfileId':_0x1be9c0[_0xc779('0x47')]['id'],'sectionId':_[_0xc779('0x2e')](_0x32c237,function(_0x24b77d){return _0x24b77d[_0xc779('0x57')];})},'attributes':['id',_0xc779('0x57')],'raw':!![]})['then'](function(_0x5c7227){var _0x54957b=_['map'](_0x1be9c0[_0xc779('0x4b')],function(_0x415d90){_0x415d90[_0xc779('0x68')]=_0x1be9c0[_0xc779('0x47')]['id'];return _0x415d90;});return db[_0xc779('0x58')]['bulkCreate'](_0x54957b,{'raw':!![],'transaction':_0x3195a0});});}})[_0xc779('0x45')](handleError(_0x389c8f,null));});}})[_0xc779('0x2a')](function(_0x4b92aa){var _0x7cb765=_[_0xc779('0x2e')](_0x4b92aa,function(_0x3912f8){return _0x3912f8[_0xc779('0x52')]({'plain':!![]});});})[_0xc779('0x2a')](respondWithResult(_0x389c8f,null))[_0xc779('0x45')](handleError(_0x389c8f,null));};exports[_0xc779('0x6a')]=function(_0x401154,_0x20e36a,_0x3f173b){return db[_0xc779('0x2f')]['find']({'where':{'id':_0x401154[_0xc779('0x47')]['id']}})[_0xc779('0x2a')](handleEntityNotFound(_0x20e36a,null))[_0xc779('0x2a')](function(_0xbb9966){if(_0xbb9966){return _0xbb9966[_0xc779('0x6a')](_0x401154[_0xc779('0x34')][_0xc779('0x5d')]);}})[_0xc779('0x2a')](respondWithStatusCode(_0x20e36a,null))['catch'](handleError(_0x20e36a,null));};exports[_0xc779('0x6b')]=function(_0x5327a1,_0x34e6a9){var _0x35230f={};if(!_0x5327a1[_0xc779('0x34')][_0xc779('0x6c')])throw new Error(_0xc779('0x6d'));if(!_0x5327a1[_0xc779('0x34')][_0xc779('0x3a')]('nolimit')){_0x35230f[_0xc779('0x23')]=qs[_0xc779('0x23')](_0x5327a1[_0xc779('0x34')][_0xc779('0x23')]);_0x35230f[_0xc779('0x22')]=qs[_0xc779('0x22')](_0x5327a1[_0xc779('0x34')][_0xc779('0x22')]);}return db[_0xc779('0x2f')][_0xc779('0x49')]({'where':{'id':_0x5327a1[_0xc779('0x47')]['id']}})[_0xc779('0x2a')](function(_0x141376){if(!_0x141376)throw new Error(_0xc779('0x6e')+_0x5327a1[_0xc779('0x47')]['id']);return db[_0xc779('0x2f')][_0xc779('0x6b')](_0x5327a1);})['then'](respondWithFilteredResult(_0x34e6a9,_0x35230f))[_0xc779('0x45')](handleError(_0x34e6a9,null));};