d4f4f288b51427e8c7c4b02fa7d3e407a1e16d4c
[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 _0x28a9=['userProfileId','Resources','UserProfileSection','create','UserProfileResource','describe','addSections','transaction','get','removeSections','ids','getSections','includes','subsections','enabled','concat','findOne','Dashboard','forEach','push','resourceId','Plugin','addResources','bulkCreate','removeResources','getResources','Missing\x20section\x20parameter','eml-format','request-promise','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','lodash','squel','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./userProfile.socket','register','status','offset','undefined','limit','count','set','Content-Range','json','apply','reject','then','destroy','end','sendStatus','error','stack','name','send','index','map','UserProfile','rawAttributes','fieldName','type','key','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','sort','where','filter','merge','VIRTUAL','options','includeAll','include','findAll','show','find','catch','body','clone','params','omit','updatedAt','crudPermissions','createdAt','sequelize','each','autoAssociation','sectionId'];(function(_0x425755,_0x16e311){var _0x38c60b=function(_0x22a7fa){while(--_0x22a7fa){_0x425755['push'](_0x425755['shift']());}};_0x38c60b(++_0x16e311);}(_0x28a9,0x1e3));var _0x928a=function(_0x119769,_0x32865d){_0x119769=_0x119769-0x0;var _0x105c19=_0x28a9[_0x119769];return _0x105c19;};'use strict';var emlformat=require(_0x928a('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0x928a('0x1'));var moment=require(_0x928a('0x2'));var BPromise=require(_0x928a('0x3'));var Mustache=require(_0x928a('0x4'));var util=require(_0x928a('0x5'));var path=require(_0x928a('0x6'));var sox=require('sox');var csv=require(_0x928a('0x7'));var ejs=require(_0x928a('0x8'));var fs=require('fs');var fs_extra=require(_0x928a('0x9'));var _=require(_0x928a('0xa'));var squel=require(_0x928a('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x928a('0x7'));var querystring=require(_0x928a('0xc'));var Papa=require(_0x928a('0xd'));var Redis=require(_0x928a('0xe'));var authService=require(_0x928a('0xf'));var qs=require(_0x928a('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x928a('0x11'));var logger=require(_0x928a('0x12'))(_0x928a('0x13'));var utils=require(_0x928a('0x14'));var config=require(_0x928a('0x15'));var licenseUtil=require(_0x928a('0x16'));var db=require(_0x928a('0x17'))['db'];config['redis']=_['defaults'](config[_0x928a('0x18')],{'host':_0x928a('0x19'),'port':0x18eb});var socket=require(_0x928a('0x1a'))(new Redis(config[_0x928a('0x18')]));require(_0x928a('0x1b'))[_0x928a('0x1c')](socket);function respondWithStatusCode(_0x2e0f4d,_0x715070){_0x715070=_0x715070||0xcc;return function(_0x4ae189){if(_0x4ae189){return _0x2e0f4d['sendStatus'](_0x715070);}return _0x2e0f4d[_0x928a('0x1d')](_0x715070)['end']();};}function respondWithResult(_0x246477,_0x11b6ee){_0x11b6ee=_0x11b6ee||0xc8;return function(_0x5dedf7){if(_0x5dedf7){return _0x246477[_0x928a('0x1d')](_0x11b6ee)['json'](_0x5dedf7);}};}function respondWithFilteredResult(_0x1dad51,_0x2921fe){return function(_0x5b271f){if(_0x5b271f){var _0x1352b4=typeof _0x2921fe[_0x928a('0x1e')]===_0x928a('0x1f')&&typeof _0x2921fe[_0x928a('0x20')]===_0x928a('0x1f');var _0x38b8b4=_0x5b271f[_0x928a('0x21')];var _0x413d32=_0x1352b4?0x0:_0x2921fe[_0x928a('0x1e')];var _0x160665=_0x1352b4?_0x5b271f['count']:_0x2921fe['offset']+_0x2921fe[_0x928a('0x20')];var _0x43e0b5;if(_0x160665>=_0x38b8b4){_0x160665=_0x38b8b4;_0x43e0b5=0xc8;}else{_0x43e0b5=0xce;}_0x1dad51[_0x928a('0x1d')](_0x43e0b5);return _0x1dad51[_0x928a('0x22')](_0x928a('0x23'),_0x413d32+'-'+_0x160665+'/'+_0x38b8b4)[_0x928a('0x24')](_0x5b271f);}return null;};}function patchUpdates(_0x25d8de){return function(_0x5ebaa6){try{jsonpatch[_0x928a('0x25')](_0x5ebaa6,_0x25d8de,!![]);}catch(_0x199ff1){return BPromise[_0x928a('0x26')](_0x199ff1);}return _0x5ebaa6['save']();};}function saveUpdates(_0xc2d8a7,_0x5d108a){return function(_0x2cae96){if(_0x2cae96){return _0x2cae96['update'](_0xc2d8a7)[_0x928a('0x27')](function(_0xc28766){return _0xc28766;});}return null;};}function removeEntity(_0xf3923f,_0x3d638a){return function(_0x14767c){if(_0x14767c){return _0x14767c[_0x928a('0x28')]()[_0x928a('0x27')](function(){_0xf3923f['status'](0xcc)[_0x928a('0x29')]();});}};}function handleEntityNotFound(_0x187ce0,_0x455312){return function(_0x17baaf){if(!_0x17baaf){_0x187ce0[_0x928a('0x2a')](0x194);}return _0x17baaf;};}function handleError(_0x2d59f4,_0x4a2a7d){_0x4a2a7d=_0x4a2a7d||0x1f4;return function(_0x38442f){logger[_0x928a('0x2b')](_0x38442f[_0x928a('0x2c')]);if(_0x38442f[_0x928a('0x2d')]){delete _0x38442f[_0x928a('0x2d')];}_0x2d59f4[_0x928a('0x1d')](_0x4a2a7d)[_0x928a('0x2e')](_0x38442f);};}exports[_0x928a('0x2f')]=function(_0x2f9333,_0x569153){var _0x3a308e={},_0x5eb21d={},_0x5c4c62={'count':0x0,'rows':[]};var _0x464738=_[_0x928a('0x30')](db[_0x928a('0x31')][_0x928a('0x32')],function(_0x5e45fc){return{'name':_0x5e45fc[_0x928a('0x33')],'type':_0x5e45fc[_0x928a('0x34')][_0x928a('0x35')]};});_0x5eb21d[_0x928a('0x36')]=_[_0x928a('0x30')](_0x464738,'name');_0x5eb21d['query']=_[_0x928a('0x37')](_0x2f9333[_0x928a('0x38')]);_0x5eb21d[_0x928a('0x39')]=_['intersection'](_0x5eb21d[_0x928a('0x36')],_0x5eb21d[_0x928a('0x38')]);_0x3a308e[_0x928a('0x3a')]=_[_0x928a('0x3b')](_0x5eb21d[_0x928a('0x36')],qs[_0x928a('0x3c')](_0x2f9333[_0x928a('0x38')][_0x928a('0x3c')]));_0x3a308e[_0x928a('0x3a')]=_0x3a308e[_0x928a('0x3a')][_0x928a('0x3d')]?_0x3a308e[_0x928a('0x3a')]:_0x5eb21d[_0x928a('0x36')];if(!_0x2f9333[_0x928a('0x38')][_0x928a('0x3e')](_0x928a('0x3f'))){_0x3a308e[_0x928a('0x20')]=qs[_0x928a('0x20')](_0x2f9333['query'][_0x928a('0x20')]);_0x3a308e['offset']=qs[_0x928a('0x1e')](_0x2f9333[_0x928a('0x38')][_0x928a('0x1e')]);}_0x3a308e['order']=qs[_0x928a('0x40')](_0x2f9333[_0x928a('0x38')]['sort']);_0x3a308e[_0x928a('0x41')]=qs[_0x928a('0x39')](_['pick'](_0x2f9333[_0x928a('0x38')],_0x5eb21d[_0x928a('0x39')]),_0x464738);if(_0x2f9333[_0x928a('0x38')][_0x928a('0x42')]){_0x3a308e[_0x928a('0x41')]=_[_0x928a('0x43')](_0x3a308e[_0x928a('0x41')],{'$or':_[_0x928a('0x30')](_0x464738,function(_0x9ba83d){if(_0x9ba83d['type']!==_0x928a('0x44')){var _0x42c73f={};_0x42c73f[_0x9ba83d[_0x928a('0x2d')]]={'$like':'%'+_0x2f9333[_0x928a('0x38')][_0x928a('0x42')]+'%'};return _0x42c73f;}})});}_0x3a308e=_[_0x928a('0x43')]({},_0x3a308e,_0x2f9333[_0x928a('0x45')]);var _0x563811={'where':_0x3a308e[_0x928a('0x41')]};return db[_0x928a('0x31')][_0x928a('0x21')](_0x563811)[_0x928a('0x27')](function(_0x1b0b83){_0x5c4c62[_0x928a('0x21')]=_0x1b0b83;if(_0x2f9333[_0x928a('0x38')][_0x928a('0x46')]){_0x3a308e[_0x928a('0x47')]=[{'all':!![]}];}return db[_0x928a('0x31')][_0x928a('0x48')](_0x3a308e);})[_0x928a('0x27')](function(_0x4f79e8){_0x5c4c62['rows']=_0x4f79e8;return _0x5c4c62;})['then'](respondWithFilteredResult(_0x569153,_0x3a308e))['catch'](handleError(_0x569153,null));};exports[_0x928a('0x49')]=function(_0x9f7cd1,_0x2193b5){var _0x1428c3={'raw':![],'where':{'id':_0x9f7cd1['params']['id']}},_0x53634a={};_0x53634a[_0x928a('0x36')]=_[_0x928a('0x37')](db[_0x928a('0x31')]['rawAttributes']);_0x53634a['query']=_[_0x928a('0x37')](_0x9f7cd1[_0x928a('0x38')]);_0x53634a['filters']=_['intersection'](_0x53634a[_0x928a('0x36')],_0x53634a[_0x928a('0x38')]);_0x1428c3[_0x928a('0x3a')]=_[_0x928a('0x3b')](_0x53634a['model'],qs[_0x928a('0x3c')](_0x9f7cd1[_0x928a('0x38')][_0x928a('0x3c')]));_0x1428c3['attributes']=_0x1428c3[_0x928a('0x3a')]['length']?_0x1428c3[_0x928a('0x3a')]:_0x53634a[_0x928a('0x36')];if(_0x9f7cd1['query'][_0x928a('0x46')]){_0x1428c3[_0x928a('0x47')]=[{'all':!![]}];}_0x1428c3=_[_0x928a('0x43')]({},_0x1428c3,_0x9f7cd1[_0x928a('0x45')]);return db['UserProfile'][_0x928a('0x4a')](_0x1428c3)[_0x928a('0x27')](handleEntityNotFound(_0x2193b5,null))[_0x928a('0x27')](respondWithResult(_0x2193b5,null))[_0x928a('0x4b')](handleError(_0x2193b5,null));};exports['create']=function(_0x231de3,_0x45e4ef){return db[_0x928a('0x31')]['create'](_0x231de3[_0x928a('0x4c')],{})[_0x928a('0x27')](respondWithResult(_0x45e4ef,0xc9))[_0x928a('0x4b')](handleError(_0x45e4ef,null));};exports[_0x928a('0x4d')]=function(_0x3ea446,_0x48d64c){var _0xfdd182={'where':{'id':_0x3ea446[_0x928a('0x4e')]['id']}},_0xff744d={};_0xff744d[_0x928a('0x36')]=_[_0x928a('0x37')](db[_0x928a('0x31')]['rawAttributes']);_0xfdd182[_0x928a('0x3a')]=_[_0x928a('0x3b')](_0xff744d['model'],qs[_0x928a('0x3c')](_0x3ea446[_0x928a('0x38')][_0x928a('0x3c')]));_0xfdd182[_0x928a('0x3a')]=_0xfdd182[_0x928a('0x3a')][_0x928a('0x3d')]?_0xfdd182[_0x928a('0x3a')]:_0xff744d[_0x928a('0x36')];if(_0x3ea446[_0x928a('0x38')][_0x928a('0x46')]){_0xfdd182[_0x928a('0x47')]=[{'all':!![]}];}_0xfdd182=_[_0x928a('0x43')]({},_0xfdd182,_0x3ea446['options']);return db[_0x928a('0x31')]['find'](_0xfdd182)[_0x928a('0x27')](handleEntityNotFound(_0x48d64c,null))[_0x928a('0x27')](function(_0x3a2381){if(_0x3a2381){var _0x3ecf50=_0x3a2381['get']({'plain':!![]});_0x3ecf50=qs[_0x928a('0x4f')](_0x3ecf50,['id','createdAt',_0x928a('0x50'),_0x928a('0x51')]);_0x3ea446[_0x928a('0x4c')]=_['omit'](_0x3ea446[_0x928a('0x4c')],['id',_0x928a('0x52'),'updatedAt']);return db[_0x928a('0x53')]['transaction'](function(_0x374a9c){return db[_0x928a('0x31')]['create'](_[_0x928a('0x43')](_0x3ecf50,_0x3ea446[_0x928a('0x4c')]),{'include':_0x3ea446[_0x928a('0x38')]['includeAll']?[{'all':!![]}]:undefined,'transaction':_0x374a9c})[_0x928a('0x27')](function(_0x43e193){var _0x3dbc9c=_0x43e193['get']({'plain':!![]});return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x3ea446[_0x928a('0x4e')]['id']},'raw':!![]})[_0x928a('0x27')](function(_0x4a4301){if(_0x4a4301){return BPromise[_0x928a('0x54')](_0x4a4301,function(_0x282a55){return new BPromise(function(_0x24f6e6,_0x9d2036){if(_0x282a55[_0x928a('0x55')]===null||_0x282a55['autoAssociation']===0x1)_0x24f6e6(null);return db['UserProfileResource'][_0x928a('0x48')]({'where':{'sectionId':_0x282a55['id']},'raw':!![]})[_0x928a('0x27')](function(_0xd0791a){var _0x8cc268=_['map'](_0xd0791a,function(_0x214e6b){return qs[_0x928a('0x4f')](_0x214e6b,['id',_0x928a('0x52'),_0x928a('0x50'),_0x928a('0x56')]);});_0x24f6e6(_0x8cc268);})['catch'](function(_0x5a24ad){_0x9d2036(_0x5a24ad);});})[_0x928a('0x27')](function(_0x2cd512){var _0xc18845=qs[_0x928a('0x4f')](_0x282a55,['id',_0x928a('0x52'),_0x928a('0x50')]);_0xc18845[_0x928a('0x57')]=_0x3dbc9c['id'];if(_0x2cd512)_0xc18845[_0x928a('0x58')]=_0x2cd512;return _0xc18845;})[_0x928a('0x27')](function(_0x37f4cf){return db[_0x928a('0x59')][_0x928a('0x5a')](_0x37f4cf,{'include':[{'model':db[_0x928a('0x5b')],'as':_0x928a('0x58')}],'raw':!![],'transaction':_0x374a9c});});})[_0x928a('0x27')](function(){return _0x3dbc9c;});}});});});}})['then'](respondWithResult(_0x48d64c,0xc9))[_0x928a('0x4b')](handleError(_0x48d64c,null));};exports['update']=function(_0x55f05f,_0x3731a0){if(_0x55f05f['body']['id']){delete _0x55f05f[_0x928a('0x4c')]['id'];}return db[_0x928a('0x31')][_0x928a('0x4a')]({'where':{'id':_0x55f05f[_0x928a('0x4e')]['id']}})[_0x928a('0x27')](handleEntityNotFound(_0x3731a0,null))[_0x928a('0x27')](saveUpdates(_0x55f05f[_0x928a('0x4c')],null))[_0x928a('0x27')](respondWithResult(_0x3731a0,null))[_0x928a('0x4b')](handleError(_0x3731a0,null));};exports[_0x928a('0x28')]=function(_0x18fc9c,_0x4f3535){return db[_0x928a('0x31')][_0x928a('0x4a')]({'where':{'id':_0x18fc9c['params']['id']}})[_0x928a('0x27')](handleEntityNotFound(_0x4f3535,null))[_0x928a('0x27')](removeEntity(_0x4f3535,null))[_0x928a('0x4b')](handleError(_0x4f3535,null));};exports[_0x928a('0x5c')]=function(_0x3de37d,_0xc55cb7){return db['UserProfile']['describe']()['then'](respondWithResult(_0xc55cb7,null))['catch'](handleError(_0xc55cb7,null));};exports[_0x928a('0x5d')]=function(_0x22b0c2,_0x26c606){var _0x58a592=_0x22b0c2[_0x928a('0x4c')];return db[_0x928a('0x31')]['find']({'where':{'id':_0x22b0c2['params']['id']}})[_0x928a('0x27')](handleEntityNotFound(_0x26c606,null))[_0x928a('0x27')](function(_0x1348de){if(_0x1348de){return db[_0x928a('0x53')][_0x928a('0x5e')](function(_0x3c3daa){return db[_0x928a('0x59')][_0x928a('0x28')]({'where':{'userProfileId':_0x22b0c2[_0x928a('0x4e')]['id'],'sectionId':_['map'](_0x58a592,function(_0x26185a){return _0x26185a[_0x928a('0x56')];})},'transaction':_0x3c3daa})[_0x928a('0x27')](function(){var _0x50d1ac=_[_0x928a('0x30')](_0x58a592,function(_0x2104ce){_0x2104ce['userProfileId']=_0x22b0c2[_0x928a('0x4e')]['id'];return _0x2104ce;});var _0x52a724=[];return BPromise[_0x928a('0x54')](_0x50d1ac,function(_0x2da690){return db[_0x928a('0x59')][_0x928a('0x5a')](_0x2da690,{'include':[{'model':db[_0x928a('0x5b')],'as':'Resources'}],'raw':!![],'transaction':_0x3c3daa})['then'](function(_0xe2e7d0){_0x52a724['push'](_0xe2e7d0[_0x928a('0x5f')]({'plain':!![]}));});})[_0x928a('0x27')](function(){return _0x52a724;});});});}})[_0x928a('0x27')](function(_0x3a9893){return _0x3a9893;})[_0x928a('0x27')](respondWithResult(_0x26c606,null))[_0x928a('0x4b')](handleError(_0x26c606,null));};exports[_0x928a('0x60')]=function(_0x30833b,_0x45216e){var _0x5ce004;return db[_0x928a('0x31')][_0x928a('0x4a')]({'where':{'id':_0x30833b[_0x928a('0x4e')]['id']},'attributes':['id',_0x928a('0x2d')]})[_0x928a('0x27')](handleEntityNotFound(_0x45216e,null))[_0x928a('0x27')](function(_0x2b6c54){if(_0x2b6c54){_0x5ce004=_0x2b6c54;return db['UserProfileSection']['destroy']({'where':{'userProfileId':_0x30833b[_0x928a('0x4e')]['id'],'sectionId':_0x30833b[_0x928a('0x38')][_0x928a('0x61')]}});}})['then'](function(){return _0x5ce004;})['then'](respondWithStatusCode(_0x45216e,null))['catch'](handleError(_0x45216e,null));};exports[_0x928a('0x62')]=function(_0x114505,_0x55e376){var _0x58b245=[];var _0x4d2c36=[];return db[_0x928a('0x59')][_0x928a('0x48')]({'where':{'userProfileId':_0x114505[_0x928a('0x4e')]['id']},'raw':!![]})[_0x928a('0x27')](function(_0x5ee68c){_0x58b245=_[_0x928a('0x42')](_0x5ee68c,function(_0x117e24){return _0x117e24['enabled']===0x1||_[_0x928a('0x63')]([0x3eb,0x709],_0x117e24[_0x928a('0x56')]);});if(!_['isEmpty'](_0x58b245)){return _[_0x928a('0x30')](_0x58b245,function(_0x2140e9){return _0x2140e9[_0x928a('0x56')];});}else{return;}})[_0x928a('0x27')](function(_0x5a7eae){if(_0x5a7eae)_0x4d2c36=_0x5a7eae;if(_[_0x928a('0x63')](_0x4d2c36,0x64)){var _0x171da1=_['find'](_0x58b245,{'sectionId':0x64});return hasDefaultDashboard(_0x171da1)[_0x928a('0x27')](function(_0x3dff20){return _[_0x928a('0x30')](_0x58b245,function(_0x586fb2){if(_0x586fb2[_0x928a('0x56')]===0x64){_0x586fb2[_0x928a('0x64')]=_0x3dff20;}return _0x586fb2;});});}else{return;}})[_0x928a('0x27')](function(_0x504c33){if(_0x504c33)_0x58b245=_0x504c33;if(_[_0x928a('0x63')](_0x4d2c36,0x3eb)){var _0x1f2d69=_[_0x928a('0x4a')](_0x58b245,{'sectionId':0x3eb});return getCustomDashboards(_0x1f2d69)[_0x928a('0x27')](function(_0x4ac5ed){return _['map'](_0x58b245,function(_0x56c354){if(_0x1f2d69[_0x928a('0x65')]){if(_0x56c354[_0x928a('0x56')]===0x3eb){_0x56c354[_0x928a('0x64')]=_0x4ac5ed;}}else{if(_0x56c354[_0x928a('0x56')]===0x64){if(!_0x56c354['subsections']){_0x56c354[_0x928a('0x64')]=[];}_0x56c354[_0x928a('0x64')]=_0x56c354[_0x928a('0x64')][_0x928a('0x66')](_0x4ac5ed);}}return _0x56c354;});});}else{return;}})[_0x928a('0x27')](function(_0x182219){if(_0x182219)_0x58b245=_0x182219;if(_[_0x928a('0x63')](_0x4d2c36,0x709)){var _0x505f4c=_['find'](_0x58b245,{'sectionId':0x709});return getPlugins(_0x505f4c)[_0x928a('0x27')](function(_0x348d63){if(_0x505f4c['enabled']){return _[_0x928a('0x30')](_0x58b245,function(_0x723e7d){if(_0x723e7d['sectionId']===0x709){_0x723e7d[_0x928a('0x64')]=_0x348d63;}return _0x723e7d;});}else{var _0x103c4c={'sectionId':0x76c,'enabled':0x1,'subsections':_0x348d63};var _0x5c80f5=_[_0x928a('0x30')](_0x58b245);_0x5c80f5['push'](_0x103c4c);return _0x5c80f5;}});}else{return;}})[_0x928a('0x27')](function(_0x18d49e){if(_0x18d49e)_0x58b245=_0x18d49e;return _[_0x928a('0x42')](_0x58b245,[_0x928a('0x65'),0x1]);})[_0x928a('0x27')](respondWithResult(_0x55e376,null))[_0x928a('0x4b')](handleError(_0x55e376,null));};function hasDefaultDashboard(_0x336df6){var _0x24f468=[0x65];return new BPromise(function(_0x525d07,_0x4f6566){try{if(_0x336df6['autoAssociation']){_0x525d07(_0x24f468);}else{return db['UserProfileResource'][_0x928a('0x67')]({'where':{'sectionId':_0x336df6['id']},'raw':!![]})[_0x928a('0x27')](function(_0x294999){_0x294999?_0x525d07(_0x24f468):_0x525d07();});}}catch(_0x164291){_0x4f6566(_0x164291);}});}function getCustomDashboards(_0x15e016){var _0x4c05c0=[];return new BPromise(function(_0x37946e,_0x21da41){try{if(_0x15e016[_0x928a('0x55')]){return db[_0x928a('0x68')][_0x928a('0x48')]({'raw':!![]})[_0x928a('0x27')](function(_0x1aa0b6){_0x1aa0b6[_0x928a('0x69')](function(_0x1e263e){_0x4c05c0[_0x928a('0x6a')](_0x1e263e['id']+0x1869f);});_0x37946e(_0x4c05c0);});}else{return db['UserProfileResource'][_0x928a('0x48')]({'where':{'sectionId':_0x15e016['id']},'raw':!![]})[_0x928a('0x27')](function(_0x5bb77a){_0x5bb77a[_0x928a('0x69')](function(_0x33a2a6){_0x4c05c0[_0x928a('0x6a')](_0x33a2a6[_0x928a('0x6b')]+0x1869f);});_0x37946e(_0x4c05c0);});}}catch(_0x3c0ccc){_0x21da41(_0x3c0ccc);}});}function getPlugins(_0x5deaba){var _0x5a88bb=[];return new BPromise(function(_0x8e4fdf,_0x1b4ed2){try{if(_0x5deaba[_0x928a('0x55')]){return db[_0x928a('0x6c')][_0x928a('0x48')]({'raw':!![]})[_0x928a('0x27')](function(_0x23ef6e){_0x23ef6e[_0x928a('0x69')](function(_0x4fe41d){_0x5a88bb[_0x928a('0x6a')](_0x4fe41d['id']+0x15b38);});_0x8e4fdf(_0x5a88bb);});}else{return db['UserProfileResource'][_0x928a('0x48')]({'where':{'sectionId':_0x5deaba['id']},'raw':!![]})['then'](function(_0x2218b3){_0x2218b3['forEach'](function(_0x2ffcca){_0x5a88bb[_0x928a('0x6a')](_0x2ffcca[_0x928a('0x6b')]+0x15b38);});_0x8e4fdf(_0x5a88bb);});}}catch(_0x25c85c){_0x1b4ed2(_0x25c85c);}});}exports[_0x928a('0x6d')]=function(_0x53c479,_0x4c0fb8){return db[_0x928a('0x31')][_0x928a('0x4a')]({'where':{'id':_0x53c479['params']['id']}})[_0x928a('0x27')](handleEntityNotFound(_0x4c0fb8,null))[_0x928a('0x27')](function(_0x261317){if(_0x261317){return db['sequelize'][_0x928a('0x5e')](function(_0xdcde27){return db[_0x928a('0x59')]['findAll']({'where':{'userProfileId':_0x53c479[_0x928a('0x4e')]['id']},'attributes':['id'],'raw':!![]})['then'](function(_0x2295e2){if(_0x2295e2){return db[_0x928a('0x59')]['destroy']({'where':{'userProfileId':_0x53c479[_0x928a('0x4e')]['id'],'id':_[_0x928a('0x30')](_0x2295e2,function(_0x38e73d){return _0x38e73d['id'];})},'transaction':_0xdcde27});}})['then'](function(_0x3af273){var _0x44ae0b=_[_0x928a('0x30')](_0x53c479['body'],function(_0xa980df){_0xa980df[_0x928a('0x57')]=_0x53c479['params']['id'];return _0xa980df;});return db[_0x928a('0x59')][_0x928a('0x6e')](_0x44ae0b,{'raw':!![],'transaction':_0xdcde27});})[_0x928a('0x27')](function(_0x2a6ba0){var _0x78e28a=_['filter'](_[_0x928a('0x30')](_0x2a6ba0,function(_0x5bae0b){return _0x5bae0b[_0x928a('0x5f')]({'plain':!![]});}),{'includeAll':![]});if(_0x78e28a){return db[_0x928a('0x59')][_0x928a('0x48')]({'where':{'userProfileId':_0x53c479[_0x928a('0x4e')]['id'],'sectionId':_['map'](_0x78e28a,function(_0x40cecd){return _0x40cecd['sectionId'];})},'attributes':['id',_0x928a('0x56')],'raw':!![]})[_0x928a('0x27')](function(_0x137b6c){var _0x819c77=_[_0x928a('0x30')](_0x53c479['body'],function(_0xa37440){_0xa37440['userProfileId']=_0x53c479['params']['id'];return _0xa37440;});return db[_0x928a('0x5b')][_0x928a('0x6e')](_0x819c77,{'raw':!![],'transaction':_0xdcde27});});}})[_0x928a('0x4b')](handleError(_0x4c0fb8,null));});}})[_0x928a('0x27')](function(_0x3ff817){var _0x503321=_[_0x928a('0x30')](_0x3ff817,function(_0x107244){return _0x107244['get']({'plain':!![]});});})[_0x928a('0x27')](respondWithResult(_0x4c0fb8,null))['catch'](handleError(_0x4c0fb8,null));};exports[_0x928a('0x6f')]=function(_0x137c6a,_0x5f58fe,_0x2ab5d3){return db[_0x928a('0x31')]['find']({'where':{'id':_0x137c6a[_0x928a('0x4e')]['id']}})['then'](handleEntityNotFound(_0x5f58fe,null))[_0x928a('0x27')](function(_0x551124){if(_0x551124){return _0x551124[_0x928a('0x6f')](_0x137c6a[_0x928a('0x38')]['ids']);}})['then'](respondWithStatusCode(_0x5f58fe,null))[_0x928a('0x4b')](handleError(_0x5f58fe,null));};exports[_0x928a('0x70')]=function(_0x184b76,_0x152109){var _0x2bbe92={};if(!_0x184b76[_0x928a('0x38')]['section'])throw new Error(_0x928a('0x71'));if(!_0x184b76['query']['hasOwnProperty'](_0x928a('0x3f'))){_0x2bbe92['limit']=qs['limit'](_0x184b76['query'][_0x928a('0x20')]);_0x2bbe92['offset']=qs[_0x928a('0x1e')](_0x184b76[_0x928a('0x38')][_0x928a('0x1e')]);}return db[_0x928a('0x31')][_0x928a('0x4a')]({'where':{'id':_0x184b76[_0x928a('0x4e')]['id']}})[_0x928a('0x27')](function(_0x264cc1){if(!_0x264cc1)throw new Error('No\x20User\x20Profile\x20found\x20for\x20id\x20'+_0x184b76[_0x928a('0x4e')]['id']);return db[_0x928a('0x31')][_0x928a('0x70')](_0x184b76);})[_0x928a('0x27')](respondWithFilteredResult(_0x152109,_0x2bbe92))[_0x928a('0x4b')](handleError(_0x152109,null));};