Built motion from commit 85328c08.|2.5.50
[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 _0x5324=['sox','to-csv','ejs','fs-extra','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../mysqldb','redis','defaults','socket.io-emitter','./userProfile.socket','register','status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','update','then','destroy','sendStatus','error','stack','name','send','index','map','UserProfile','rawAttributes','fieldName','model','query','keys','filters','intersection','attributes','fields','length','nolimit','order','sort','filter','where','merge','VIRTUAL','options','includeAll','findAll','catch','show','params','include','find','create','clone','get','omit','createdAt','updatedAt','crudPermissions','body','sequelize','transaction','UserProfileSection','each','autoAssociation','UserProfileResource','sectionId','userProfileId','Resources','describe','addSections','push','removeSections','getSections','enabled','includes','isEmpty','subsections','findOne','Dashboard','forEach','resourceId','Plugin','addResources','bulkCreate','removeResources','ids','getResources','Missing\x20section\x20parameter','hasOwnProperty','No\x20User\x20Profile\x20found\x20for\x20id\x20','eml-format','rimraf','zip-dir','fast-json-patch','moment','mustache','util','path'];(function(_0x175a55,_0x4082fd){var _0x167adf=function(_0x18ef07){while(--_0x18ef07){_0x175a55['push'](_0x175a55['shift']());}};_0x167adf(++_0x4082fd);}(_0x5324,0x154));var _0x4532=function(_0x3743c2,_0xe49a28){_0x3743c2=_0x3743c2-0x0;var _0x3b9000=_0x5324[_0x3743c2];return _0x3b9000;};'use strict';var emlformat=require(_0x4532('0x0'));var rimraf=require(_0x4532('0x1'));var zipdir=require(_0x4532('0x2'));var jsonpatch=require(_0x4532('0x3'));var rp=require('request-promise');var moment=require(_0x4532('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x4532('0x5'));var util=require(_0x4532('0x6'));var path=require(_0x4532('0x7'));var sox=require(_0x4532('0x8'));var csv=require(_0x4532('0x9'));var ejs=require(_0x4532('0xa'));var fs=require('fs');var fs_extra=require(_0x4532('0xb'));var _=require(_0x4532('0xc'));var squel=require('squel');var crypto=require(_0x4532('0xd'));var jsforce=require(_0x4532('0xe'));var deskjs=require(_0x4532('0xf'));var toCsv=require(_0x4532('0x9'));var querystring=require(_0x4532('0x10'));var Papa=require(_0x4532('0x11'));var Redis=require(_0x4532('0x12'));var authService=require(_0x4532('0x13'));var qs=require(_0x4532('0x14'));var as=require(_0x4532('0x15'));var hardwareService=require(_0x4532('0x16'));var logger=require(_0x4532('0x17'))('api');var utils=require('../../config/utils');var config=require(_0x4532('0x18'));var licenseUtil=require('../../config/license/util');var db=require(_0x4532('0x19'))['db'];config[_0x4532('0x1a')]=_[_0x4532('0x1b')](config[_0x4532('0x1a')],{'host':'localhost','port':0x18eb});var socket=require(_0x4532('0x1c'))(new Redis(config[_0x4532('0x1a')]));require(_0x4532('0x1d'))[_0x4532('0x1e')](socket);function respondWithStatusCode(_0x19eaf3,_0x525f96){_0x525f96=_0x525f96||0xcc;return function(_0x59075c){if(_0x59075c){return _0x19eaf3['sendStatus'](_0x525f96);}return _0x19eaf3[_0x4532('0x1f')](_0x525f96)[_0x4532('0x20')]();};}function respondWithResult(_0x2dedca,_0x3b97ee){_0x3b97ee=_0x3b97ee||0xc8;return function(_0x17512a){if(_0x17512a){return _0x2dedca[_0x4532('0x1f')](_0x3b97ee)[_0x4532('0x21')](_0x17512a);}};}function respondWithFilteredResult(_0x4036b6,_0xd479a9){return function(_0x4db2a1){if(_0x4db2a1){var _0x281ab6=typeof _0xd479a9[_0x4532('0x22')]===_0x4532('0x23')&&typeof _0xd479a9['limit']===_0x4532('0x23');var _0x3734e3=_0x4db2a1['count'];var _0x20a30c=_0x281ab6?0x0:_0xd479a9[_0x4532('0x22')];var _0xf37fc8=_0x281ab6?_0x4db2a1[_0x4532('0x24')]:_0xd479a9[_0x4532('0x22')]+_0xd479a9[_0x4532('0x25')];var _0x6a669f;if(_0xf37fc8>=_0x3734e3){_0xf37fc8=_0x3734e3;_0x6a669f=0xc8;}else{_0x6a669f=0xce;}_0x4036b6[_0x4532('0x1f')](_0x6a669f);return _0x4036b6['set'](_0x4532('0x26'),_0x20a30c+'-'+_0xf37fc8+'/'+_0x3734e3)[_0x4532('0x21')](_0x4db2a1);}return null;};}function patchUpdates(_0x481c26){return function(_0x1c383c){try{jsonpatch[_0x4532('0x27')](_0x1c383c,_0x481c26,!![]);}catch(_0x472d0d){return BPromise[_0x4532('0x28')](_0x472d0d);}return _0x1c383c['save']();};}function saveUpdates(_0xbf825a,_0x571e56){return function(_0x2828ca){if(_0x2828ca){return _0x2828ca[_0x4532('0x29')](_0xbf825a)[_0x4532('0x2a')](function(_0x12ee78){return _0x12ee78;});}return null;};}function removeEntity(_0x40e42f,_0x278b04){return function(_0x105338){if(_0x105338){return _0x105338[_0x4532('0x2b')]()['then'](function(){_0x40e42f['status'](0xcc)[_0x4532('0x20')]();});}};}function handleEntityNotFound(_0x401f3b,_0x60203f){return function(_0x19f85c){if(!_0x19f85c){_0x401f3b[_0x4532('0x2c')](0x194);}return _0x19f85c;};}function handleError(_0x79e5a4,_0x4a810d){_0x4a810d=_0x4a810d||0x1f4;return function(_0x3de0ee){logger[_0x4532('0x2d')](_0x3de0ee[_0x4532('0x2e')]);if(_0x3de0ee[_0x4532('0x2f')]){delete _0x3de0ee[_0x4532('0x2f')];}_0x79e5a4['status'](_0x4a810d)[_0x4532('0x30')](_0x3de0ee);};}exports[_0x4532('0x31')]=function(_0xb2d129,_0x523f96){var _0x58602d={},_0x5b1bab={},_0x3e4c89={'count':0x0,'rows':[]};var _0x24ab08=_[_0x4532('0x32')](db[_0x4532('0x33')][_0x4532('0x34')],function(_0x400646){return{'name':_0x400646[_0x4532('0x35')],'type':_0x400646['type']['key']};});_0x5b1bab[_0x4532('0x36')]=_[_0x4532('0x32')](_0x24ab08,'name');_0x5b1bab[_0x4532('0x37')]=_[_0x4532('0x38')](_0xb2d129[_0x4532('0x37')]);_0x5b1bab[_0x4532('0x39')]=_[_0x4532('0x3a')](_0x5b1bab[_0x4532('0x36')],_0x5b1bab[_0x4532('0x37')]);_0x58602d[_0x4532('0x3b')]=_['intersection'](_0x5b1bab['model'],qs[_0x4532('0x3c')](_0xb2d129[_0x4532('0x37')]['fields']));_0x58602d[_0x4532('0x3b')]=_0x58602d[_0x4532('0x3b')][_0x4532('0x3d')]?_0x58602d[_0x4532('0x3b')]:_0x5b1bab['model'];if(!_0xb2d129[_0x4532('0x37')]['hasOwnProperty'](_0x4532('0x3e'))){_0x58602d['limit']=qs[_0x4532('0x25')](_0xb2d129[_0x4532('0x37')][_0x4532('0x25')]);_0x58602d[_0x4532('0x22')]=qs[_0x4532('0x22')](_0xb2d129[_0x4532('0x37')][_0x4532('0x22')]);}_0x58602d[_0x4532('0x3f')]=qs[_0x4532('0x40')](_0xb2d129[_0x4532('0x37')][_0x4532('0x40')]);_0x58602d['where']=qs[_0x4532('0x39')](_['pick'](_0xb2d129['query'],_0x5b1bab[_0x4532('0x39')]),_0x24ab08);if(_0xb2d129['query'][_0x4532('0x41')]){_0x58602d[_0x4532('0x42')]=_[_0x4532('0x43')](_0x58602d[_0x4532('0x42')],{'$or':_[_0x4532('0x32')](_0x24ab08,function(_0x56dd14){if(_0x56dd14['type']!==_0x4532('0x44')){var _0x1187d8={};_0x1187d8[_0x56dd14['name']]={'$like':'%'+_0xb2d129[_0x4532('0x37')]['filter']+'%'};return _0x1187d8;}})});}_0x58602d=_[_0x4532('0x43')]({},_0x58602d,_0xb2d129[_0x4532('0x45')]);var _0x54f868={'where':_0x58602d['where']};return db[_0x4532('0x33')][_0x4532('0x24')](_0x54f868)[_0x4532('0x2a')](function(_0x56f3d6){_0x3e4c89[_0x4532('0x24')]=_0x56f3d6;if(_0xb2d129[_0x4532('0x37')][_0x4532('0x46')]){_0x58602d['include']=[{'all':!![]}];}return db['UserProfile'][_0x4532('0x47')](_0x58602d);})[_0x4532('0x2a')](function(_0x2b39c8){_0x3e4c89['rows']=_0x2b39c8;return _0x3e4c89;})[_0x4532('0x2a')](respondWithFilteredResult(_0x523f96,_0x58602d))[_0x4532('0x48')](handleError(_0x523f96,null));};exports[_0x4532('0x49')]=function(_0x321304,_0x5c75ff){var _0x4ced14={'raw':![],'where':{'id':_0x321304[_0x4532('0x4a')]['id']}},_0x3326cf={};_0x3326cf[_0x4532('0x36')]=_[_0x4532('0x38')](db['UserProfile'][_0x4532('0x34')]);_0x3326cf[_0x4532('0x37')]=_[_0x4532('0x38')](_0x321304[_0x4532('0x37')]);_0x3326cf[_0x4532('0x39')]=_['intersection'](_0x3326cf[_0x4532('0x36')],_0x3326cf[_0x4532('0x37')]);_0x4ced14[_0x4532('0x3b')]=_[_0x4532('0x3a')](_0x3326cf[_0x4532('0x36')],qs[_0x4532('0x3c')](_0x321304[_0x4532('0x37')]['fields']));_0x4ced14[_0x4532('0x3b')]=_0x4ced14['attributes']['length']?_0x4ced14[_0x4532('0x3b')]:_0x3326cf[_0x4532('0x36')];if(_0x321304['query']['includeAll']){_0x4ced14[_0x4532('0x4b')]=[{'all':!![]}];}_0x4ced14=_['merge']({},_0x4ced14,_0x321304[_0x4532('0x45')]);return db[_0x4532('0x33')][_0x4532('0x4c')](_0x4ced14)[_0x4532('0x2a')](handleEntityNotFound(_0x5c75ff,null))[_0x4532('0x2a')](respondWithResult(_0x5c75ff,null))['catch'](handleError(_0x5c75ff,null));};exports[_0x4532('0x4d')]=function(_0x388583,_0x31501d){return db['UserProfile'][_0x4532('0x4d')](_0x388583['body'],{})[_0x4532('0x2a')](respondWithResult(_0x31501d,0xc9))['catch'](handleError(_0x31501d,null));};exports[_0x4532('0x4e')]=function(_0x1cfb76,_0x2d8109){var _0x16f869={'where':{'id':_0x1cfb76[_0x4532('0x4a')]['id']}},_0x2862b0={};_0x2862b0[_0x4532('0x36')]=_['keys'](db[_0x4532('0x33')][_0x4532('0x34')]);_0x16f869[_0x4532('0x3b')]=_[_0x4532('0x3a')](_0x2862b0[_0x4532('0x36')],qs[_0x4532('0x3c')](_0x1cfb76['query'][_0x4532('0x3c')]));_0x16f869[_0x4532('0x3b')]=_0x16f869[_0x4532('0x3b')][_0x4532('0x3d')]?_0x16f869[_0x4532('0x3b')]:_0x2862b0[_0x4532('0x36')];if(_0x1cfb76['query']['includeAll']){_0x16f869['include']=[{'all':!![]}];}_0x16f869=_[_0x4532('0x43')]({},_0x16f869,_0x1cfb76[_0x4532('0x45')]);return db[_0x4532('0x33')][_0x4532('0x4c')](_0x16f869)['then'](handleEntityNotFound(_0x2d8109,null))[_0x4532('0x2a')](function(_0x463ed6){if(_0x463ed6){var _0x299815=_0x463ed6[_0x4532('0x4f')]({'plain':!![]});_0x299815=qs[_0x4532('0x50')](_0x299815,['id',_0x4532('0x51'),_0x4532('0x52'),_0x4532('0x53')]);_0x1cfb76[_0x4532('0x54')]=_[_0x4532('0x50')](_0x1cfb76[_0x4532('0x54')],['id',_0x4532('0x51'),_0x4532('0x52')]);return db[_0x4532('0x55')][_0x4532('0x56')](function(_0x25109a){return db[_0x4532('0x33')]['create'](_[_0x4532('0x43')](_0x299815,_0x1cfb76[_0x4532('0x54')]),{'include':_0x1cfb76['query'][_0x4532('0x46')]?[{'all':!![]}]:undefined,'transaction':_0x25109a})[_0x4532('0x2a')](function(_0x585437){var _0x2f22a4=_0x585437[_0x4532('0x4f')]({'plain':!![]});return db[_0x4532('0x57')]['findAll']({'where':{'userProfileId':_0x1cfb76[_0x4532('0x4a')]['id']},'raw':!![]})['then'](function(_0x1913cd){if(_0x1913cd){return BPromise[_0x4532('0x58')](_0x1913cd,function(_0x4fb50f){return new BPromise(function(_0x428e46,_0x466c32){if(_0x4fb50f[_0x4532('0x59')]===null||_0x4fb50f[_0x4532('0x59')]===0x1)_0x428e46(null);return db[_0x4532('0x5a')]['findAll']({'where':{'sectionId':_0x4fb50f['id']},'raw':!![]})[_0x4532('0x2a')](function(_0x39da10){var _0x23cc08=_['map'](_0x39da10,function(_0x480da3){return qs['omit'](_0x480da3,['id',_0x4532('0x51'),'updatedAt',_0x4532('0x5b')]);});_0x428e46(_0x23cc08);})[_0x4532('0x48')](function(_0x5c1232){_0x466c32(_0x5c1232);});})[_0x4532('0x2a')](function(_0x278d52){var _0x1ec96e=qs[_0x4532('0x50')](_0x4fb50f,['id',_0x4532('0x51'),_0x4532('0x52')]);_0x1ec96e[_0x4532('0x5c')]=_0x2f22a4['id'];if(_0x278d52)_0x1ec96e[_0x4532('0x5d')]=_0x278d52;return _0x1ec96e;})[_0x4532('0x2a')](function(_0x3c4759){return db['UserProfileSection'][_0x4532('0x4d')](_0x3c4759,{'include':[{'model':db['UserProfileResource'],'as':'Resources'}],'raw':!![],'transaction':_0x25109a});});})['then'](function(){return _0x2f22a4;});}});});});}})[_0x4532('0x2a')](respondWithResult(_0x2d8109,0xc9))[_0x4532('0x48')](handleError(_0x2d8109,null));};exports[_0x4532('0x29')]=function(_0x438fb3,_0x5874ed){if(_0x438fb3[_0x4532('0x54')]['id']){delete _0x438fb3['body']['id'];}return db[_0x4532('0x33')][_0x4532('0x4c')]({'where':{'id':_0x438fb3[_0x4532('0x4a')]['id']}})[_0x4532('0x2a')](handleEntityNotFound(_0x5874ed,null))[_0x4532('0x2a')](saveUpdates(_0x438fb3[_0x4532('0x54')],null))[_0x4532('0x2a')](respondWithResult(_0x5874ed,null))['catch'](handleError(_0x5874ed,null));};exports[_0x4532('0x2b')]=function(_0x439a7b,_0x3c925d){return db[_0x4532('0x33')]['find']({'where':{'id':_0x439a7b[_0x4532('0x4a')]['id']}})[_0x4532('0x2a')](handleEntityNotFound(_0x3c925d,null))['then'](removeEntity(_0x3c925d,null))[_0x4532('0x48')](handleError(_0x3c925d,null));};exports['describe']=function(_0x46da6f,_0x301696){return db[_0x4532('0x33')][_0x4532('0x5e')]()[_0x4532('0x2a')](respondWithResult(_0x301696,null))[_0x4532('0x48')](handleError(_0x301696,null));};exports[_0x4532('0x5f')]=function(_0x48c899,_0x57b1f6){var _0x16a14c=_0x48c899[_0x4532('0x54')];return db[_0x4532('0x33')]['find']({'where':{'id':_0x48c899[_0x4532('0x4a')]['id']}})[_0x4532('0x2a')](handleEntityNotFound(_0x57b1f6,null))[_0x4532('0x2a')](function(_0x3b2c5d){if(_0x3b2c5d){return db['sequelize'][_0x4532('0x56')](function(_0x524812){return db[_0x4532('0x57')][_0x4532('0x2b')]({'where':{'userProfileId':_0x48c899['params']['id'],'sectionId':_[_0x4532('0x32')](_0x16a14c,function(_0x352b28){return _0x352b28['sectionId'];})},'transaction':_0x524812})[_0x4532('0x2a')](function(){var _0x242e03=_['map'](_0x16a14c,function(_0x37e645){_0x37e645['userProfileId']=_0x48c899[_0x4532('0x4a')]['id'];return _0x37e645;});var _0xf5a0ef=[];return BPromise[_0x4532('0x58')](_0x242e03,function(_0x336d7a){return db['UserProfileSection']['create'](_0x336d7a,{'include':[{'model':db[_0x4532('0x5a')],'as':'Resources'}],'raw':!![],'transaction':_0x524812})['then'](function(_0x3013c8){_0xf5a0ef[_0x4532('0x60')](_0x3013c8[_0x4532('0x4f')]({'plain':!![]}));});})[_0x4532('0x2a')](function(){return _0xf5a0ef;});});});}})[_0x4532('0x2a')](function(_0x3be620){return _0x3be620;})[_0x4532('0x2a')](respondWithResult(_0x57b1f6,null))[_0x4532('0x48')](handleError(_0x57b1f6,null));};exports[_0x4532('0x61')]=function(_0x354812,_0x1ed9a2){var _0x3af4b8;return db[_0x4532('0x33')]['find']({'where':{'id':_0x354812[_0x4532('0x4a')]['id']},'attributes':['id',_0x4532('0x2f')]})['then'](handleEntityNotFound(_0x1ed9a2,null))[_0x4532('0x2a')](function(_0x3fc432){if(_0x3fc432){_0x3af4b8=_0x3fc432;return db[_0x4532('0x57')]['destroy']({'where':{'userProfileId':_0x354812[_0x4532('0x4a')]['id'],'sectionId':_0x354812['query']['ids']}});}})['then'](function(){return _0x3af4b8;})['then'](respondWithStatusCode(_0x1ed9a2,null))[_0x4532('0x48')](handleError(_0x1ed9a2,null));};exports[_0x4532('0x62')]=function(_0x840d09,_0x5c7331){var _0x231ebe=[];var _0x2a8030=[];return db[_0x4532('0x57')][_0x4532('0x47')]({'where':{'userProfileId':_0x840d09[_0x4532('0x4a')]['id']},'raw':!![]})[_0x4532('0x2a')](function(_0x51d187){_0x231ebe=_['filter'](_0x51d187,function(_0xc4f236){return _0xc4f236[_0x4532('0x63')]===0x1||_[_0x4532('0x64')]([0x3eb,0x709],_0xc4f236[_0x4532('0x5b')]);});if(!_[_0x4532('0x65')](_0x231ebe)){return _[_0x4532('0x32')](_0x231ebe,function(_0x38a7b3){return _0x38a7b3[_0x4532('0x5b')];});}else{return;}})['then'](function(_0x583c59){if(_0x583c59)_0x2a8030=_0x583c59;if(_[_0x4532('0x64')](_0x2a8030,0x64)){var _0x414601=_[_0x4532('0x4c')](_0x231ebe,{'sectionId':0x64});return hasDefaultDashboard(_0x414601)[_0x4532('0x2a')](function(_0x3d76e6){return _[_0x4532('0x32')](_0x231ebe,function(_0x119352){if(_0x119352['sectionId']===0x64){_0x119352[_0x4532('0x66')]=_0x3d76e6;}return _0x119352;});});}else{return;}})[_0x4532('0x2a')](function(_0x522237){if(_0x522237)_0x231ebe=_0x522237;if(_[_0x4532('0x64')](_0x2a8030,0x3eb)){var _0x1c19b0=_[_0x4532('0x4c')](_0x231ebe,{'sectionId':0x3eb});return getCustomDashboards(_0x1c19b0)[_0x4532('0x2a')](function(_0x4dcca6){return _[_0x4532('0x32')](_0x231ebe,function(_0x152413){if(_0x1c19b0[_0x4532('0x63')]){if(_0x152413[_0x4532('0x5b')]===0x3eb){_0x152413[_0x4532('0x66')]=_0x4dcca6;}}else{if(_0x152413[_0x4532('0x5b')]===0x64){_0x152413['subsections']=_0x4dcca6;}}return _0x152413;});});}else{return;}})[_0x4532('0x2a')](function(_0x4c7c62){if(_0x4c7c62)_0x231ebe=_0x4c7c62;if(_[_0x4532('0x64')](_0x2a8030,0x709)){var _0x1cd202=_[_0x4532('0x4c')](_0x231ebe,{'sectionId':0x709});return getPlugins(_0x1cd202)[_0x4532('0x2a')](function(_0x3e9d5a){if(_0x1cd202['enabled']){return _[_0x4532('0x32')](_0x231ebe,function(_0x8194e1){if(_0x8194e1[_0x4532('0x5b')]===0x709){_0x8194e1[_0x4532('0x66')]=_0x3e9d5a;}return _0x8194e1;});}else{var _0x338ed3={'sectionId':0x76c,'enabled':0x1,'subsections':_0x3e9d5a};var _0xe6a86d=_['map'](_0x231ebe);_0xe6a86d['push'](_0x338ed3);return _0xe6a86d;}});}else{return;}})[_0x4532('0x2a')](function(_0x57095d){if(_0x57095d)_0x231ebe=_0x57095d;return _[_0x4532('0x41')](_0x231ebe,[_0x4532('0x63'),0x1]);})[_0x4532('0x2a')](respondWithResult(_0x5c7331,null))[_0x4532('0x48')](handleError(_0x5c7331,null));};function hasDefaultDashboard(_0xc8c74d){var _0x29d8ae=[0x65];return new BPromise(function(_0x3feed7,_0x4b828f){try{if(_0xc8c74d[_0x4532('0x59')]){_0x3feed7(_0x29d8ae);}else{return db[_0x4532('0x5a')][_0x4532('0x67')]({'where':{'sectionId':_0xc8c74d['id']},'raw':!![]})['then'](function(_0x53d6e9){_0x53d6e9?_0x3feed7(_0x29d8ae):_0x3feed7();});}}catch(_0x1226d6){_0x4b828f(_0x1226d6);}});}function getCustomDashboards(_0x9e9ec1){var _0x26b03c=[];return new BPromise(function(_0x79365b,_0x23c6f8){try{if(_0x9e9ec1[_0x4532('0x59')]){return db[_0x4532('0x68')]['findAll']({'raw':!![]})[_0x4532('0x2a')](function(_0xfee512){_0xfee512[_0x4532('0x69')](function(_0x236a15){_0x26b03c[_0x4532('0x60')](_0x236a15['id']+0x1869f);});_0x79365b(_0x26b03c);});}else{return db[_0x4532('0x5a')]['findAll']({'where':{'sectionId':_0x9e9ec1['id']},'raw':!![]})[_0x4532('0x2a')](function(_0x149171){_0x149171['forEach'](function(_0x2644e1){_0x26b03c['push'](_0x2644e1[_0x4532('0x6a')]+0x1869f);});_0x79365b(_0x26b03c);});}}catch(_0x1d4064){_0x23c6f8(_0x1d4064);}});}function getPlugins(_0x4f079d){var _0x3a5cb3=[];return new BPromise(function(_0x5f1fa1,_0x3e8dd5){try{if(_0x4f079d['autoAssociation']){return db[_0x4532('0x6b')][_0x4532('0x47')]({'raw':!![]})[_0x4532('0x2a')](function(_0x22e978){_0x22e978[_0x4532('0x69')](function(_0x415e0a){_0x3a5cb3[_0x4532('0x60')](_0x415e0a['id']+0x15b38);});_0x5f1fa1(_0x3a5cb3);});}else{return db['UserProfileResource'][_0x4532('0x47')]({'where':{'sectionId':_0x4f079d['id']},'raw':!![]})['then'](function(_0x160a22){_0x160a22['forEach'](function(_0x15428f){_0x3a5cb3[_0x4532('0x60')](_0x15428f[_0x4532('0x6a')]+0x15b38);});_0x5f1fa1(_0x3a5cb3);});}}catch(_0xd234bf){_0x3e8dd5(_0xd234bf);}});}exports[_0x4532('0x6c')]=function(_0x99967,_0x198ce9){return db[_0x4532('0x33')]['find']({'where':{'id':_0x99967[_0x4532('0x4a')]['id']}})[_0x4532('0x2a')](handleEntityNotFound(_0x198ce9,null))[_0x4532('0x2a')](function(_0x15e45f){if(_0x15e45f){return db[_0x4532('0x55')][_0x4532('0x56')](function(_0x912200){return db[_0x4532('0x57')]['findAll']({'where':{'userProfileId':_0x99967[_0x4532('0x4a')]['id']},'attributes':['id'],'raw':!![]})[_0x4532('0x2a')](function(_0x1ad1e2){if(_0x1ad1e2){return db['UserProfileSection'][_0x4532('0x2b')]({'where':{'userProfileId':_0x99967[_0x4532('0x4a')]['id'],'id':_[_0x4532('0x32')](_0x1ad1e2,function(_0x39339c){return _0x39339c['id'];})},'transaction':_0x912200});}})[_0x4532('0x2a')](function(_0x3d6974){var _0x5e83f3=_[_0x4532('0x32')](_0x99967[_0x4532('0x54')],function(_0xdf35af){_0xdf35af[_0x4532('0x5c')]=_0x99967[_0x4532('0x4a')]['id'];return _0xdf35af;});return db[_0x4532('0x57')][_0x4532('0x6d')](_0x5e83f3,{'raw':!![],'transaction':_0x912200});})[_0x4532('0x2a')](function(_0x580926){var _0x1995fa=_[_0x4532('0x41')](_['map'](_0x580926,function(_0x1fb527){return _0x1fb527['get']({'plain':!![]});}),{'includeAll':![]});if(_0x1995fa){return db[_0x4532('0x57')]['findAll']({'where':{'userProfileId':_0x99967[_0x4532('0x4a')]['id'],'sectionId':_[_0x4532('0x32')](_0x1995fa,function(_0x2457ce){return _0x2457ce[_0x4532('0x5b')];})},'attributes':['id',_0x4532('0x5b')],'raw':!![]})[_0x4532('0x2a')](function(_0x29a4fc){var _0x458f4e=_[_0x4532('0x32')](_0x99967['body'],function(_0x1a759c){_0x1a759c[_0x4532('0x5c')]=_0x99967[_0x4532('0x4a')]['id'];return _0x1a759c;});return db[_0x4532('0x5a')][_0x4532('0x6d')](_0x458f4e,{'raw':!![],'transaction':_0x912200});});}})[_0x4532('0x48')](handleError(_0x198ce9,null));});}})['then'](function(_0x260cb0){var _0x2e6744=_[_0x4532('0x32')](_0x260cb0,function(_0x33523a){return _0x33523a[_0x4532('0x4f')]({'plain':!![]});});})[_0x4532('0x2a')](respondWithResult(_0x198ce9,null))['catch'](handleError(_0x198ce9,null));};exports[_0x4532('0x6e')]=function(_0x4a4542,_0x1e6a1d,_0x7c6011){return db[_0x4532('0x33')][_0x4532('0x4c')]({'where':{'id':_0x4a4542[_0x4532('0x4a')]['id']}})[_0x4532('0x2a')](handleEntityNotFound(_0x1e6a1d,null))[_0x4532('0x2a')](function(_0x4da3a7){if(_0x4da3a7){return _0x4da3a7['removeResources'](_0x4a4542[_0x4532('0x37')][_0x4532('0x6f')]);}})[_0x4532('0x2a')](respondWithStatusCode(_0x1e6a1d,null))['catch'](handleError(_0x1e6a1d,null));};exports[_0x4532('0x70')]=function(_0x1954f2,_0x1d3421){var _0x3faa71={};if(!_0x1954f2['query']['section'])throw new Error(_0x4532('0x71'));if(!_0x1954f2[_0x4532('0x37')][_0x4532('0x72')](_0x4532('0x3e'))){_0x3faa71[_0x4532('0x25')]=qs[_0x4532('0x25')](_0x1954f2['query'][_0x4532('0x25')]);_0x3faa71[_0x4532('0x22')]=qs[_0x4532('0x22')](_0x1954f2[_0x4532('0x37')][_0x4532('0x22')]);}return db[_0x4532('0x33')]['find']({'where':{'id':_0x1954f2[_0x4532('0x4a')]['id']}})['then'](function(_0x48a685){if(!_0x48a685)throw new Error(_0x4532('0x73')+_0x1954f2[_0x4532('0x4a')]['id']);return db['UserProfile'][_0x4532('0x70')](_0x1954f2);})[_0x4532('0x2a')](respondWithFilteredResult(_0x1d3421,_0x3faa71))[_0x4532('0x48')](handleError(_0x1d3421,null));};