Built motion from commit 9d0783e6.|2.6.13
[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 _0x9321=['fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','register','status','end','json','undefined','offset','count','limit','set','Content-Range','apply','reject','then','error','stack','name','map','UserProfile','fieldName','type','key','keys','query','intersection','model','attributes','fields','length','nolimit','sort','where','filters','filter','merge','VIRTUAL','options','includeAll','include','findAll','rows','catch','params','rawAttributes','find','body','clone','get','omit','createdAt','updatedAt','sequelize','transaction','create','UserProfileSection','each','autoAssociation','UserProfileResource','sectionId','userProfileId','Resources','update','destroy','describe','addSections','push','enabled','includes','subsections','concat','forEach','resourceId','Plugin','addResources','bulkCreate','removeResources','ids','Missing\x20section\x20parameter','hasOwnProperty','No\x20User\x20Profile\x20found\x20for\x20id\x20','getResources','eml-format','rimraf'];(function(_0x35f969,_0x2c03bd){var _0x373c46=function(_0x480568){while(--_0x480568){_0x35f969['push'](_0x35f969['shift']());}};_0x373c46(++_0x2c03bd);}(_0x9321,0x69));var _0x1932=function(_0x2988d6,_0xc91bab){_0x2988d6=_0x2988d6-0x0;var _0x17db09=_0x9321[_0x2988d6];return _0x17db09;};'use strict';var emlformat=require(_0x1932('0x0'));var rimraf=require(_0x1932('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0x1932('0x2'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x1932('0x3'));var Mustache=require(_0x1932('0x4'));var util=require(_0x1932('0x5'));var path=require(_0x1932('0x6'));var sox=require(_0x1932('0x7'));var csv=require(_0x1932('0x8'));var ejs=require(_0x1932('0x9'));var fs=require('fs');var fs_extra=require(_0x1932('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0x1932('0xb'));var jsforce=require(_0x1932('0xc'));var deskjs=require(_0x1932('0xd'));var toCsv=require('to-csv');var querystring=require(_0x1932('0xe'));var Papa=require(_0x1932('0xf'));var Redis=require('ioredis');var authService=require(_0x1932('0x10'));var qs=require(_0x1932('0x11'));var as=require(_0x1932('0x12'));var hardwareService=require(_0x1932('0x13'));var logger=require(_0x1932('0x14'))('api');var utils=require('../../config/utils');var config=require(_0x1932('0x15'));var licenseUtil=require(_0x1932('0x16'));var db=require(_0x1932('0x17'))['db'];config[_0x1932('0x18')]=_['defaults'](config[_0x1932('0x18')],{'host':_0x1932('0x19'),'port':0x18eb});var socket=require(_0x1932('0x1a'))(new Redis(config[_0x1932('0x18')]));require('./userProfile.socket')[_0x1932('0x1b')](socket);function respondWithStatusCode(_0x139f13,_0x508c7b){_0x508c7b=_0x508c7b||0xcc;return function(_0x13ff1d){if(_0x13ff1d){return _0x139f13['sendStatus'](_0x508c7b);}return _0x139f13[_0x1932('0x1c')](_0x508c7b)[_0x1932('0x1d')]();};}function respondWithResult(_0x55a15a,_0x573a44){_0x573a44=_0x573a44||0xc8;return function(_0x32f449){if(_0x32f449){return _0x55a15a[_0x1932('0x1c')](_0x573a44)[_0x1932('0x1e')](_0x32f449);}};}function respondWithFilteredResult(_0x337272,_0x35315a){return function(_0x3bdcf2){if(_0x3bdcf2){var _0x228553=typeof _0x35315a['offset']===_0x1932('0x1f')&&typeof _0x35315a['limit']===_0x1932('0x1f');var _0x55d00c=_0x3bdcf2['count'];var _0x47a224=_0x228553?0x0:_0x35315a[_0x1932('0x20')];var _0x4b8632=_0x228553?_0x3bdcf2[_0x1932('0x21')]:_0x35315a['offset']+_0x35315a[_0x1932('0x22')];var _0x5ec8a1;if(_0x4b8632>=_0x55d00c){_0x4b8632=_0x55d00c;_0x5ec8a1=0xc8;}else{_0x5ec8a1=0xce;}_0x337272[_0x1932('0x1c')](_0x5ec8a1);return _0x337272[_0x1932('0x23')](_0x1932('0x24'),_0x47a224+'-'+_0x4b8632+'/'+_0x55d00c)[_0x1932('0x1e')](_0x3bdcf2);}return null;};}function patchUpdates(_0x46878c){return function(_0xefc049){try{jsonpatch[_0x1932('0x25')](_0xefc049,_0x46878c,!![]);}catch(_0x1e9dfc){return BPromise[_0x1932('0x26')](_0x1e9dfc);}return _0xefc049['save']();};}function saveUpdates(_0x4ef5c6,_0x1e52c2){return function(_0x3c582f){if(_0x3c582f){return _0x3c582f['update'](_0x4ef5c6)[_0x1932('0x27')](function(_0x499675){return _0x499675;});}return null;};}function removeEntity(_0x519bec,_0x4bf7d1){return function(_0x4e0ea1){if(_0x4e0ea1){return _0x4e0ea1['destroy']()[_0x1932('0x27')](function(){_0x519bec['status'](0xcc)[_0x1932('0x1d')]();});}};}function handleEntityNotFound(_0x1ace00,_0xe5bb67){return function(_0x440914){if(!_0x440914){_0x1ace00['sendStatus'](0x194);}return _0x440914;};}function handleError(_0x427e92,_0x46227d){_0x46227d=_0x46227d||0x1f4;return function(_0x262449){logger[_0x1932('0x28')](_0x262449[_0x1932('0x29')]);if(_0x262449['name']){delete _0x262449[_0x1932('0x2a')];}_0x427e92[_0x1932('0x1c')](_0x46227d)['send'](_0x262449);};}exports['index']=function(_0xcbfea2,_0x11313b){var _0x11d7bd={},_0x510680={},_0x125fa6={'count':0x0,'rows':[]};var _0x3fa0f6=_[_0x1932('0x2b')](db[_0x1932('0x2c')]['rawAttributes'],function(_0x3e2ce2){return{'name':_0x3e2ce2[_0x1932('0x2d')],'type':_0x3e2ce2[_0x1932('0x2e')][_0x1932('0x2f')]};});_0x510680['model']=_['map'](_0x3fa0f6,'name');_0x510680['query']=_[_0x1932('0x30')](_0xcbfea2[_0x1932('0x31')]);_0x510680['filters']=_[_0x1932('0x32')](_0x510680[_0x1932('0x33')],_0x510680['query']);_0x11d7bd[_0x1932('0x34')]=_[_0x1932('0x32')](_0x510680[_0x1932('0x33')],qs[_0x1932('0x35')](_0xcbfea2[_0x1932('0x31')]['fields']));_0x11d7bd['attributes']=_0x11d7bd[_0x1932('0x34')][_0x1932('0x36')]?_0x11d7bd['attributes']:_0x510680[_0x1932('0x33')];if(!_0xcbfea2[_0x1932('0x31')]['hasOwnProperty'](_0x1932('0x37'))){_0x11d7bd[_0x1932('0x22')]=qs[_0x1932('0x22')](_0xcbfea2[_0x1932('0x31')]['limit']);_0x11d7bd[_0x1932('0x20')]=qs[_0x1932('0x20')](_0xcbfea2[_0x1932('0x31')][_0x1932('0x20')]);}_0x11d7bd['order']=qs[_0x1932('0x38')](_0xcbfea2[_0x1932('0x31')][_0x1932('0x38')]);_0x11d7bd[_0x1932('0x39')]=qs[_0x1932('0x3a')](_['pick'](_0xcbfea2['query'],_0x510680[_0x1932('0x3a')]),_0x3fa0f6);if(_0xcbfea2[_0x1932('0x31')][_0x1932('0x3b')]){_0x11d7bd[_0x1932('0x39')]=_[_0x1932('0x3c')](_0x11d7bd['where'],{'$or':_[_0x1932('0x2b')](_0x3fa0f6,function(_0x116442){if(_0x116442['type']!==_0x1932('0x3d')){var _0x1c2419={};_0x1c2419[_0x116442['name']]={'$like':'%'+_0xcbfea2[_0x1932('0x31')][_0x1932('0x3b')]+'%'};return _0x1c2419;}})});}_0x11d7bd=_['merge']({},_0x11d7bd,_0xcbfea2[_0x1932('0x3e')]);var _0x150b69={'where':_0x11d7bd[_0x1932('0x39')]};return db[_0x1932('0x2c')][_0x1932('0x21')](_0x150b69)[_0x1932('0x27')](function(_0x4740f8){_0x125fa6[_0x1932('0x21')]=_0x4740f8;if(_0xcbfea2[_0x1932('0x31')][_0x1932('0x3f')]){_0x11d7bd[_0x1932('0x40')]=[{'all':!![]}];}return db[_0x1932('0x2c')][_0x1932('0x41')](_0x11d7bd);})['then'](function(_0x483319){_0x125fa6[_0x1932('0x42')]=_0x483319;return _0x125fa6;})[_0x1932('0x27')](respondWithFilteredResult(_0x11313b,_0x11d7bd))[_0x1932('0x43')](handleError(_0x11313b,null));};exports['show']=function(_0x50aa72,_0x544925){var _0x2c4107={'raw':![],'where':{'id':_0x50aa72[_0x1932('0x44')]['id']}},_0x257166={};_0x257166[_0x1932('0x33')]=_['keys'](db['UserProfile'][_0x1932('0x45')]);_0x257166[_0x1932('0x31')]=_[_0x1932('0x30')](_0x50aa72[_0x1932('0x31')]);_0x257166[_0x1932('0x3a')]=_['intersection'](_0x257166[_0x1932('0x33')],_0x257166[_0x1932('0x31')]);_0x2c4107[_0x1932('0x34')]=_[_0x1932('0x32')](_0x257166[_0x1932('0x33')],qs[_0x1932('0x35')](_0x50aa72['query']['fields']));_0x2c4107[_0x1932('0x34')]=_0x2c4107[_0x1932('0x34')]['length']?_0x2c4107[_0x1932('0x34')]:_0x257166[_0x1932('0x33')];if(_0x50aa72[_0x1932('0x31')][_0x1932('0x3f')]){_0x2c4107['include']=[{'all':!![]}];}_0x2c4107=_[_0x1932('0x3c')]({},_0x2c4107,_0x50aa72[_0x1932('0x3e')]);return db[_0x1932('0x2c')][_0x1932('0x46')](_0x2c4107)[_0x1932('0x27')](handleEntityNotFound(_0x544925,null))[_0x1932('0x27')](respondWithResult(_0x544925,null))[_0x1932('0x43')](handleError(_0x544925,null));};exports['create']=function(_0x4c6f89,_0x1333ee){return db[_0x1932('0x2c')]['create'](_0x4c6f89[_0x1932('0x47')],{})[_0x1932('0x27')](respondWithResult(_0x1333ee,0xc9))[_0x1932('0x43')](handleError(_0x1333ee,null));};exports[_0x1932('0x48')]=function(_0x59337b,_0x23becd){var _0x1911a3={'where':{'id':_0x59337b[_0x1932('0x44')]['id']}},_0x73ef04={};_0x73ef04['model']=_[_0x1932('0x30')](db[_0x1932('0x2c')][_0x1932('0x45')]);_0x1911a3['attributes']=_['intersection'](_0x73ef04['model'],qs[_0x1932('0x35')](_0x59337b['query'][_0x1932('0x35')]));_0x1911a3['attributes']=_0x1911a3[_0x1932('0x34')][_0x1932('0x36')]?_0x1911a3['attributes']:_0x73ef04['model'];if(_0x59337b[_0x1932('0x31')][_0x1932('0x3f')]){_0x1911a3['include']=[{'all':!![]}];}_0x1911a3=_['merge']({},_0x1911a3,_0x59337b[_0x1932('0x3e')]);return db[_0x1932('0x2c')][_0x1932('0x46')](_0x1911a3)[_0x1932('0x27')](handleEntityNotFound(_0x23becd,null))[_0x1932('0x27')](function(_0x3c2a8f){if(_0x3c2a8f){var _0x2ee1ec=_0x3c2a8f[_0x1932('0x49')]({'plain':!![]});_0x2ee1ec=qs[_0x1932('0x4a')](_0x2ee1ec,['id',_0x1932('0x4b'),_0x1932('0x4c'),'crudPermissions']);_0x59337b[_0x1932('0x47')]=_['omit'](_0x59337b[_0x1932('0x47')],['id',_0x1932('0x4b'),'updatedAt']);return db[_0x1932('0x4d')][_0x1932('0x4e')](function(_0x589560){return db[_0x1932('0x2c')][_0x1932('0x4f')](_[_0x1932('0x3c')](_0x2ee1ec,_0x59337b[_0x1932('0x47')]),{'include':_0x59337b['query']['includeAll']?[{'all':!![]}]:undefined,'transaction':_0x589560})[_0x1932('0x27')](function(_0x1f6a8b){var _0x3b1557=_0x1f6a8b[_0x1932('0x49')]({'plain':!![]});return db[_0x1932('0x50')]['findAll']({'where':{'userProfileId':_0x59337b[_0x1932('0x44')]['id']},'raw':!![]})[_0x1932('0x27')](function(_0x9f1be7){if(_0x9f1be7){return BPromise[_0x1932('0x51')](_0x9f1be7,function(_0x1ac7e7){return new BPromise(function(_0x361e12,_0x14e890){if(_0x1ac7e7[_0x1932('0x52')]===null||_0x1ac7e7['autoAssociation']===0x1)_0x361e12(null);return db[_0x1932('0x53')][_0x1932('0x41')]({'where':{'sectionId':_0x1ac7e7['id']},'raw':!![]})[_0x1932('0x27')](function(_0x25a1ac){var _0x337235=_['map'](_0x25a1ac,function(_0x1ea6c2){return qs[_0x1932('0x4a')](_0x1ea6c2,['id',_0x1932('0x4b'),_0x1932('0x4c'),_0x1932('0x54')]);});_0x361e12(_0x337235);})[_0x1932('0x43')](function(_0x546380){_0x14e890(_0x546380);});})['then'](function(_0x34721d){var _0xee1f05=qs[_0x1932('0x4a')](_0x1ac7e7,['id',_0x1932('0x4b'),_0x1932('0x4c')]);_0xee1f05[_0x1932('0x55')]=_0x3b1557['id'];if(_0x34721d)_0xee1f05['Resources']=_0x34721d;return _0xee1f05;})[_0x1932('0x27')](function(_0x43b070){return db[_0x1932('0x50')][_0x1932('0x4f')](_0x43b070,{'include':[{'model':db['UserProfileResource'],'as':_0x1932('0x56')}],'raw':!![],'transaction':_0x589560});});})[_0x1932('0x27')](function(){return _0x3b1557;});}});});});}})[_0x1932('0x27')](respondWithResult(_0x23becd,0xc9))[_0x1932('0x43')](handleError(_0x23becd,null));};exports[_0x1932('0x57')]=function(_0x1485dd,_0x49fbd8){if(_0x1485dd[_0x1932('0x47')]['id']){delete _0x1485dd[_0x1932('0x47')]['id'];}return db['UserProfile'][_0x1932('0x46')]({'where':{'id':_0x1485dd['params']['id']}})[_0x1932('0x27')](handleEntityNotFound(_0x49fbd8,null))[_0x1932('0x27')](saveUpdates(_0x1485dd[_0x1932('0x47')],null))[_0x1932('0x27')](respondWithResult(_0x49fbd8,null))[_0x1932('0x43')](handleError(_0x49fbd8,null));};exports[_0x1932('0x58')]=function(_0x519d1d,_0x2f1699){return db[_0x1932('0x2c')][_0x1932('0x46')]({'where':{'id':_0x519d1d['params']['id']}})['then'](handleEntityNotFound(_0x2f1699,null))[_0x1932('0x27')](removeEntity(_0x2f1699,null))['catch'](handleError(_0x2f1699,null));};exports[_0x1932('0x59')]=function(_0x5c6334,_0x3cd48d){return db['UserProfile']['describe']()[_0x1932('0x27')](respondWithResult(_0x3cd48d,null))[_0x1932('0x43')](handleError(_0x3cd48d,null));};exports[_0x1932('0x5a')]=function(_0x5f2019,_0x11770f){var _0xca7092=_0x5f2019[_0x1932('0x47')];return db['UserProfile'][_0x1932('0x46')]({'where':{'id':_0x5f2019[_0x1932('0x44')]['id']}})['then'](handleEntityNotFound(_0x11770f,null))[_0x1932('0x27')](function(_0x4667c7){if(_0x4667c7){return db['sequelize']['transaction'](function(_0x576305){return db[_0x1932('0x50')][_0x1932('0x58')]({'where':{'userProfileId':_0x5f2019[_0x1932('0x44')]['id'],'sectionId':_[_0x1932('0x2b')](_0xca7092,function(_0x976bd7){return _0x976bd7[_0x1932('0x54')];})},'transaction':_0x576305})[_0x1932('0x27')](function(){var _0x8f732=_[_0x1932('0x2b')](_0xca7092,function(_0x3d8df1){_0x3d8df1[_0x1932('0x55')]=_0x5f2019[_0x1932('0x44')]['id'];return _0x3d8df1;});var _0x5bb235=[];return BPromise[_0x1932('0x51')](_0x8f732,function(_0x407173){return db[_0x1932('0x50')]['create'](_0x407173,{'include':[{'model':db[_0x1932('0x53')],'as':_0x1932('0x56')}],'raw':!![],'transaction':_0x576305})['then'](function(_0x203682){_0x5bb235[_0x1932('0x5b')](_0x203682[_0x1932('0x49')]({'plain':!![]}));});})[_0x1932('0x27')](function(){return _0x5bb235;});});});}})[_0x1932('0x27')](function(_0x585673){return _0x585673;})[_0x1932('0x27')](respondWithResult(_0x11770f,null))[_0x1932('0x43')](handleError(_0x11770f,null));};exports['removeSections']=function(_0x33ac39,_0x51f697){var _0x418226;return db['UserProfile']['find']({'where':{'id':_0x33ac39[_0x1932('0x44')]['id']},'attributes':['id',_0x1932('0x2a')]})[_0x1932('0x27')](handleEntityNotFound(_0x51f697,null))['then'](function(_0x4fc700){if(_0x4fc700){_0x418226=_0x4fc700;return db['UserProfileSection'][_0x1932('0x58')]({'where':{'userProfileId':_0x33ac39[_0x1932('0x44')]['id'],'sectionId':_0x33ac39[_0x1932('0x31')]['ids']}});}})['then'](function(){return _0x418226;})[_0x1932('0x27')](respondWithStatusCode(_0x51f697,null))[_0x1932('0x43')](handleError(_0x51f697,null));};exports['getSections']=function(_0x41690e,_0x5dedc5){var _0xebdcbf=[];var _0x2abde9=[];return db[_0x1932('0x50')][_0x1932('0x41')]({'where':{'userProfileId':_0x41690e['params']['id']},'raw':!![]})['then'](function(_0x164179){_0xebdcbf=_[_0x1932('0x3b')](_0x164179,function(_0xc03ba5){return _0xc03ba5[_0x1932('0x5c')]===0x1||_[_0x1932('0x5d')]([0x3eb,0x709],_0xc03ba5['sectionId']);});if(!_['isEmpty'](_0xebdcbf)){return _[_0x1932('0x2b')](_0xebdcbf,function(_0x48cf87){return _0x48cf87[_0x1932('0x54')];});}else{return;}})[_0x1932('0x27')](function(_0x528f87){if(_0x528f87)_0x2abde9=_0x528f87;if(_[_0x1932('0x5d')](_0x2abde9,0x64)){var _0x18e763=_[_0x1932('0x46')](_0xebdcbf,{'sectionId':0x64});return hasDefaultDashboard(_0x18e763)[_0x1932('0x27')](function(_0x5c91de){return _[_0x1932('0x2b')](_0xebdcbf,function(_0x53298b){if(_0x53298b['sectionId']===0x64){_0x53298b[_0x1932('0x5e')]=_0x5c91de;}return _0x53298b;});});}else{return;}})[_0x1932('0x27')](function(_0x2ae945){if(_0x2ae945)_0xebdcbf=_0x2ae945;if(_[_0x1932('0x5d')](_0x2abde9,0x3eb)){var _0x458191=_[_0x1932('0x46')](_0xebdcbf,{'sectionId':0x3eb});return getCustomDashboards(_0x458191)[_0x1932('0x27')](function(_0x1ada3f){return _[_0x1932('0x2b')](_0xebdcbf,function(_0x1241e6){if(_0x458191[_0x1932('0x5c')]){if(_0x1241e6[_0x1932('0x54')]===0x3eb){_0x1241e6[_0x1932('0x5e')]=_0x1ada3f;}}else{if(_0x1241e6['sectionId']===0x64){if(!_0x1241e6[_0x1932('0x5e')]){_0x1241e6['subsections']=[];}_0x1241e6[_0x1932('0x5e')]=_0x1241e6[_0x1932('0x5e')][_0x1932('0x5f')](_0x1ada3f);}}return _0x1241e6;});});}else{return;}})[_0x1932('0x27')](function(_0xd3f803){if(_0xd3f803)_0xebdcbf=_0xd3f803;if(_['includes'](_0x2abde9,0x709)){var _0x47e50c=_[_0x1932('0x46')](_0xebdcbf,{'sectionId':0x709});return getPlugins(_0x47e50c)[_0x1932('0x27')](function(_0x5d3fd5){if(_0x47e50c['enabled']){return _[_0x1932('0x2b')](_0xebdcbf,function(_0x1dfe9b){if(_0x1dfe9b['sectionId']===0x709){_0x1dfe9b[_0x1932('0x5e')]=_0x5d3fd5;}return _0x1dfe9b;});}else{var _0x55aac5={'sectionId':0x76c,'enabled':0x1,'subsections':_0x5d3fd5};var _0x2b11b5=_[_0x1932('0x2b')](_0xebdcbf);_0x2b11b5['push'](_0x55aac5);return _0x2b11b5;}});}else{return;}})[_0x1932('0x27')](function(_0x6be419){if(_0x6be419)_0xebdcbf=_0x6be419;return _['filter'](_0xebdcbf,[_0x1932('0x5c'),0x1]);})[_0x1932('0x27')](respondWithResult(_0x5dedc5,null))[_0x1932('0x43')](handleError(_0x5dedc5,null));};function hasDefaultDashboard(_0x96dca9){var _0x49621d=[0x65];return new BPromise(function(_0x546db6,_0x3da89e){try{if(_0x96dca9[_0x1932('0x52')]){_0x546db6(_0x49621d);}else{return db['UserProfileResource']['findOne']({'where':{'sectionId':_0x96dca9['id']},'raw':!![]})[_0x1932('0x27')](function(_0x1622f4){_0x1622f4?_0x546db6(_0x49621d):_0x546db6();});}}catch(_0x3fa6bf){_0x3da89e(_0x3fa6bf);}});}function getCustomDashboards(_0x58e73f){var _0x50f264=[];return new BPromise(function(_0x1f316e,_0x22fe18){try{if(_0x58e73f['autoAssociation']){return db['Dashboard'][_0x1932('0x41')]({'raw':!![]})[_0x1932('0x27')](function(_0xa34d0d){_0xa34d0d[_0x1932('0x60')](function(_0x2f77e8){_0x50f264['push'](_0x2f77e8['id']+0x1869f);});_0x1f316e(_0x50f264);});}else{return db[_0x1932('0x53')][_0x1932('0x41')]({'where':{'sectionId':_0x58e73f['id']},'raw':!![]})['then'](function(_0x410e8){_0x410e8[_0x1932('0x60')](function(_0x3a834c){_0x50f264[_0x1932('0x5b')](_0x3a834c[_0x1932('0x61')]+0x1869f);});_0x1f316e(_0x50f264);});}}catch(_0x5bee47){_0x22fe18(_0x5bee47);}});}function getPlugins(_0x5a92b5){var _0x4e4adb=[];return new BPromise(function(_0x8a6d28,_0x262015){try{if(_0x5a92b5['autoAssociation']){return db[_0x1932('0x62')][_0x1932('0x41')]({'raw':!![]})[_0x1932('0x27')](function(_0x4190bb){_0x4190bb['forEach'](function(_0x2531e5){_0x4e4adb[_0x1932('0x5b')](_0x2531e5['id']+0x15b38);});_0x8a6d28(_0x4e4adb);});}else{return db[_0x1932('0x53')]['findAll']({'where':{'sectionId':_0x5a92b5['id']},'raw':!![]})[_0x1932('0x27')](function(_0x366b8c){_0x366b8c[_0x1932('0x60')](function(_0xbf205f){_0x4e4adb[_0x1932('0x5b')](_0xbf205f[_0x1932('0x61')]+0x15b38);});_0x8a6d28(_0x4e4adb);});}}catch(_0x517df8){_0x262015(_0x517df8);}});}exports[_0x1932('0x63')]=function(_0x5f3a0c,_0x4ad0a4){return db[_0x1932('0x2c')][_0x1932('0x46')]({'where':{'id':_0x5f3a0c['params']['id']}})['then'](handleEntityNotFound(_0x4ad0a4,null))[_0x1932('0x27')](function(_0x1513dd){if(_0x1513dd){return db['sequelize'][_0x1932('0x4e')](function(_0x5145d8){return db[_0x1932('0x50')]['findAll']({'where':{'userProfileId':_0x5f3a0c['params']['id']},'attributes':['id'],'raw':!![]})[_0x1932('0x27')](function(_0x552d26){if(_0x552d26){return db[_0x1932('0x50')][_0x1932('0x58')]({'where':{'userProfileId':_0x5f3a0c[_0x1932('0x44')]['id'],'id':_[_0x1932('0x2b')](_0x552d26,function(_0x4a99bd){return _0x4a99bd['id'];})},'transaction':_0x5145d8});}})['then'](function(_0x3c90ea){var _0x43ccae=_[_0x1932('0x2b')](_0x5f3a0c['body'],function(_0xda0ea2){_0xda0ea2['userProfileId']=_0x5f3a0c[_0x1932('0x44')]['id'];return _0xda0ea2;});return db['UserProfileSection'][_0x1932('0x64')](_0x43ccae,{'raw':!![],'transaction':_0x5145d8});})[_0x1932('0x27')](function(_0xf865a2){var _0x38904c=_['filter'](_[_0x1932('0x2b')](_0xf865a2,function(_0x211a33){return _0x211a33[_0x1932('0x49')]({'plain':!![]});}),{'includeAll':![]});if(_0x38904c){return db['UserProfileSection'][_0x1932('0x41')]({'where':{'userProfileId':_0x5f3a0c[_0x1932('0x44')]['id'],'sectionId':_['map'](_0x38904c,function(_0x507714){return _0x507714[_0x1932('0x54')];})},'attributes':['id','sectionId'],'raw':!![]})[_0x1932('0x27')](function(_0x367d33){var _0x20abe6=_[_0x1932('0x2b')](_0x5f3a0c[_0x1932('0x47')],function(_0x26d8b3){_0x26d8b3[_0x1932('0x55')]=_0x5f3a0c[_0x1932('0x44')]['id'];return _0x26d8b3;});return db['UserProfileResource'][_0x1932('0x64')](_0x20abe6,{'raw':!![],'transaction':_0x5145d8});});}})[_0x1932('0x43')](handleError(_0x4ad0a4,null));});}})[_0x1932('0x27')](function(_0x2122ab){var _0x5c8784=_[_0x1932('0x2b')](_0x2122ab,function(_0x4a9e3b){return _0x4a9e3b['get']({'plain':!![]});});})[_0x1932('0x27')](respondWithResult(_0x4ad0a4,null))[_0x1932('0x43')](handleError(_0x4ad0a4,null));};exports[_0x1932('0x65')]=function(_0x951044,_0x1fce21,_0x4d02c3){return db[_0x1932('0x2c')][_0x1932('0x46')]({'where':{'id':_0x951044[_0x1932('0x44')]['id']}})[_0x1932('0x27')](handleEntityNotFound(_0x1fce21,null))[_0x1932('0x27')](function(_0x511d5d){if(_0x511d5d){return _0x511d5d['removeResources'](_0x951044[_0x1932('0x31')][_0x1932('0x66')]);}})[_0x1932('0x27')](respondWithStatusCode(_0x1fce21,null))['catch'](handleError(_0x1fce21,null));};exports['getResources']=function(_0xae03dc,_0x7951a5){var _0x57e8c8={};if(!_0xae03dc[_0x1932('0x31')]['section'])throw new Error(_0x1932('0x67'));if(!_0xae03dc[_0x1932('0x31')][_0x1932('0x68')](_0x1932('0x37'))){_0x57e8c8[_0x1932('0x22')]=qs['limit'](_0xae03dc[_0x1932('0x31')][_0x1932('0x22')]);_0x57e8c8[_0x1932('0x20')]=qs[_0x1932('0x20')](_0xae03dc['query']['offset']);}return db[_0x1932('0x2c')][_0x1932('0x46')]({'where':{'id':_0xae03dc[_0x1932('0x44')]['id']}})[_0x1932('0x27')](function(_0x23faba){if(!_0x23faba)throw new Error(_0x1932('0x69')+_0xae03dc[_0x1932('0x44')]['id']);return db[_0x1932('0x2c')][_0x1932('0x6a')](_0xae03dc);})[_0x1932('0x27')](respondWithFilteredResult(_0x7951a5,_0x57e8c8))['catch'](handleError(_0x7951a5,null));};