Built motion from commit (unavailable).|2.2.0
[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 _0xd66f=['end','json','count','offset','limit','set','Content-Range','apply','save','update','then','sendStatus','error','stack','name','index','UserProfile','rawAttributes','model','keys','query','dateStart','dateEnd','filters','intersection','attributes','fields','length','nolimit','order','sort','where','pick','day','add','merge','filter','map','type','key','VIRTUAL','include','findAll','catch','show','params','options','find','create','body','clone','omit','createdAt','updatedAt','crudPermissions','sequelize','transaction','includeAll','get','UserProfileSection','each','autoAssociation','UserProfileResource','userProfileId','Resources','destroy','describe','addSections','sectionId','push','ids','addResources','removeResources','getResources','section','undefined','Sequelize','childModel','ValidationError','isEmpty','findOne','ignore','union','all','hasOwnProperty','foreignKey','resourceIds','field','resourceFields','forEach','reportType','default','reportId','custom','CustomReports','rows','CmContact','Tag','color','tag','ThroughTags','resourceId','SquareProject','odbc','SquareOdbc','squarerecordings','SquareRecording','parentSections','projectName','projects','contacts','Lists','lists','CmList','CmCompany','globalcustomfields','CmCustomField','chatqueues','ChatQueue','chatwebsites','ChatWebsite','faxaccounts','FaxAccount','inboundroutes','internalroutes','VoiceExtension','VoiceContext','voicemails','VoiceMail','voicerecordings','Agents','membername','User','role','agent','Telephones','telephone','VoiceQueues','queue','VoiceQueue','musiconholds','VoiceMusicOnHold','VoiceChanSpy','voiceprefixes','Campaign','mailqueues','mailaccounts','MailAccount','mailsubstatuses','MailSubstatus','openchannelqueues','OpenchannelQueue','openchannelaccounts','smsqueues','smsaccounts','teams','Team','voicequeues','queuecampaigns','QueueCampaigns','agents','telephones','Users','zendeskaccounts','salesforceaccounts','FreshdeskAccount','sugarcrmaccounts','SugarcrmAccount','DeskAccount','ZohoAccount','vtigeraccounts','cannedanswers','dispositions','Disposition','customdashboards','Dashboard','intervals','Interval','pauses','scheduler','Schedule','sounds','Sound','tags','Template','triggers','trunks','Trunk','Variable','Plugin','extractedreports','AnalyticExtractedReport','metrics','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','papaparse','ioredis','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./userProfile.socket','register','status'];(function(_0x5e5bd,_0x37d1c7){var _0x2eae5e=function(_0x51e140){while(--_0x51e140){_0x5e5bd['push'](_0x5e5bd['shift']());}};_0x2eae5e(++_0x37d1c7);}(_0xd66f,0x19d));var _0xfd66=function(_0x65b808,_0x15791a){_0x65b808=_0x65b808-0x0;var _0x2d704b=_0xd66f[_0x65b808];return _0x2d704b;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xfd66('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xfd66('0x1'));var jsonpatch=require(_0xfd66('0x2'));var rp=require('request-promise');var moment=require(_0xfd66('0x3'));var BPromise=require(_0xfd66('0x4'));var Mustache=require(_0xfd66('0x5'));var util=require(_0xfd66('0x6'));var path=require(_0xfd66('0x7'));var sox=require(_0xfd66('0x8'));var csv=require(_0xfd66('0x9'));var ejs=require(_0xfd66('0xa'));var fs=require('fs');var _=require(_0xfd66('0xb'));var squel=require('squel');var crypto=require(_0xfd66('0xc'));var jsforce=require(_0xfd66('0xd'));var deskjs=require(_0xfd66('0xe'));var toCsv=require(_0xfd66('0x9'));var querystring=require('querystring');var Papa=require(_0xfd66('0xf'));var Redis=require(_0xfd66('0x10'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')('api');var utils=require(_0xfd66('0x11'));var config=require(_0xfd66('0x12'));var db=require(_0xfd66('0x13'))['db'];config[_0xfd66('0x14')]=_[_0xfd66('0x15')](config[_0xfd66('0x14')],{'host':_0xfd66('0x16'),'port':0x18eb});var socket=require(_0xfd66('0x17'))(new Redis(config[_0xfd66('0x14')]));require(_0xfd66('0x18'))[_0xfd66('0x19')](socket);function respondWithStatusCode(_0x33b953,_0x2f1c15){_0x2f1c15=_0x2f1c15||0xcc;return function(_0x2fc584){if(_0x2fc584){return _0x33b953['sendStatus'](_0x2f1c15);}return _0x33b953[_0xfd66('0x1a')](_0x2f1c15)[_0xfd66('0x1b')]();};}function respondWithResult(_0x30c91c,_0x5cc5ff){_0x5cc5ff=_0x5cc5ff||0xc8;return function(_0x72f130){if(_0x72f130){return _0x30c91c['status'](_0x5cc5ff)[_0xfd66('0x1c')](_0x72f130);}};}function respondWithFilteredResult(_0x54375d,_0xb559ab){return function(_0x27e2d0){if(_0x27e2d0){var _0x5e67bf=_0x27e2d0[_0xfd66('0x1d')],_0x485a5d=_0xb559ab[_0xfd66('0x1e')],_0x5b2a47=_0xb559ab[_0xfd66('0x1e')]+_0xb559ab[_0xfd66('0x1f')],_0x4d2093;if(_0x5b2a47>=_0x5e67bf){_0x5b2a47=_0x5e67bf;_0x4d2093=0xc8;}else{_0x4d2093=0xce;}_0x54375d['status'](_0x4d2093);return _0x54375d[_0xfd66('0x20')](_0xfd66('0x21'),_0x485a5d+'-'+_0x5b2a47+'/'+_0x5e67bf)[_0xfd66('0x1c')](_0x27e2d0);}return null;};}function patchUpdates(_0x5846fb){return function(_0x2b1a4d){try{jsonpatch[_0xfd66('0x22')](_0x2b1a4d,_0x5846fb,!![]);}catch(_0x2185d5){return BPromise['reject'](_0x2185d5);}return _0x2b1a4d[_0xfd66('0x23')]();};}function saveUpdates(_0x3e76ff,_0x1e804b){return function(_0x3e8c36){if(_0x3e8c36){return _0x3e8c36[_0xfd66('0x24')](_0x3e76ff)['then'](function(_0x27453a){return _0x27453a;});}return null;};}function removeEntity(_0x5259d1,_0x57844c){return function(_0x59649a){if(_0x59649a){return _0x59649a['destroy']()[_0xfd66('0x25')](function(){_0x5259d1[_0xfd66('0x1a')](0xcc)[_0xfd66('0x1b')]();});}};}function handleEntityNotFound(_0x136160,_0x3d32fe){return function(_0x1ebf32){if(!_0x1ebf32){_0x136160[_0xfd66('0x26')](0x194);}return _0x1ebf32;};}function handleError(_0x1da341,_0x200372){_0x200372=_0x200372||0x1f4;return function(_0x381d6d){logger[_0xfd66('0x27')](_0x381d6d[_0xfd66('0x28')]);if(_0x381d6d[_0xfd66('0x29')]){delete _0x381d6d[_0xfd66('0x29')];}_0x1da341['status'](_0x200372)['send'](_0x381d6d);};}exports[_0xfd66('0x2a')]=function(_0x5e9489,_0x365b84){var _0x1df9e1={},_0x2ab500={},_0x4444c3={'count':0x0,'rows':[]};var _0x5ea841=db[_0xfd66('0x2b')][_0xfd66('0x2c')];_0x2ab500[_0xfd66('0x2d')]=_[_0xfd66('0x2e')](_0x5ea841);var _0x3ea490={'dateStart':_0x5e9489[_0xfd66('0x2f')][_0xfd66('0x30')],'dateEnd':_0x5e9489['query'][_0xfd66('0x31')]};delete _0x5e9489[_0xfd66('0x2f')][_0xfd66('0x30')];delete _0x5e9489[_0xfd66('0x2f')][_0xfd66('0x31')];_0x2ab500[_0xfd66('0x2f')]=_[_0xfd66('0x2e')](_0x5e9489['query']);_0x2ab500[_0xfd66('0x32')]=_[_0xfd66('0x33')](_0x2ab500[_0xfd66('0x2d')],_0x2ab500[_0xfd66('0x2f')]);_0x1df9e1[_0xfd66('0x34')]=_[_0xfd66('0x33')](_0x2ab500[_0xfd66('0x2d')],qs[_0xfd66('0x35')](_0x5e9489[_0xfd66('0x2f')][_0xfd66('0x35')]));_0x1df9e1['attributes']=_0x1df9e1['attributes'][_0xfd66('0x36')]?_0x1df9e1['attributes']:_0x2ab500[_0xfd66('0x2d')];if(!_0x5e9489[_0xfd66('0x2f')]['hasOwnProperty'](_0xfd66('0x37'))){_0x1df9e1['limit']=qs[_0xfd66('0x1f')](_0x5e9489[_0xfd66('0x2f')][_0xfd66('0x1f')]);_0x1df9e1[_0xfd66('0x1e')]=qs[_0xfd66('0x1e')](_0x5e9489[_0xfd66('0x2f')][_0xfd66('0x1e')]);}_0x1df9e1[_0xfd66('0x38')]=qs[_0xfd66('0x39')](_0x5e9489[_0xfd66('0x2f')]['sort']);_0x1df9e1[_0xfd66('0x3a')]=qs[_0xfd66('0x32')](_[_0xfd66('0x3b')](_0x5e9489[_0xfd66('0x2f')],_0x2ab500['filters']));if(_0x3ea490['dateStart']){if(_0x3ea490[_0xfd66('0x31')]){_0x3ea490['dateEnd']=moment(_0x3ea490[_0xfd66('0x31')])['add'](0x1,_0xfd66('0x3c'));}else{_0x3ea490[_0xfd66('0x31')]=moment(_0x3ea490['dateStart'])[_0xfd66('0x3d')](0x1,_0xfd66('0x3c'));}_[_0xfd66('0x3e')](_0x1df9e1[_0xfd66('0x3a')],{'createdAt':{'$gte':_0x3ea490[_0xfd66('0x30')],'$lte':_0x3ea490[_0xfd66('0x31')]}});}if(_0x5e9489[_0xfd66('0x2f')][_0xfd66('0x3f')]){_0x1df9e1[_0xfd66('0x3a')]=_[_0xfd66('0x3e')](_0x1df9e1[_0xfd66('0x3a')],{'$or':_[_0xfd66('0x40')](_0x5ea841,function(_0x440642){if(_0x440642[_0xfd66('0x41')][_0xfd66('0x42')]!==_0xfd66('0x43')){var _0x988844={};_0x988844[_0x440642['field']]={'$like':'%'+_0x5e9489[_0xfd66('0x2f')][_0xfd66('0x3f')]+'%'};return _0x988844;}})});}_0x1df9e1=_['merge']({},_0x1df9e1,_0x5e9489['options']);var _0x11bb4e={'where':_0x1df9e1['where']};return db['UserProfile'][_0xfd66('0x1d')](_0x11bb4e)[_0xfd66('0x25')](function(_0x821bf0){_0x4444c3['count']=_0x821bf0;if(_0x5e9489[_0xfd66('0x2f')]['includeAll']){_0x1df9e1[_0xfd66('0x44')]=[{'all':!![]}];}return db[_0xfd66('0x2b')][_0xfd66('0x45')](_0x1df9e1);})['then'](function(_0x2500ca){_0x4444c3['rows']=_0x2500ca;return _0x4444c3;})[_0xfd66('0x25')](respondWithFilteredResult(_0x365b84,_0x1df9e1))[_0xfd66('0x46')](handleError(_0x365b84,null));};exports[_0xfd66('0x47')]=function(_0x4aa6d8,_0x5c0b8e){var _0x3f6b6b={'raw':![],'where':{'id':_0x4aa6d8[_0xfd66('0x48')]['id']}},_0x238d4f={};_0x238d4f['model']=_[_0xfd66('0x2e')](db['UserProfile']['rawAttributes']);_0x238d4f[_0xfd66('0x2f')]=_[_0xfd66('0x2e')](_0x4aa6d8[_0xfd66('0x2f')]);_0x238d4f['filters']=_[_0xfd66('0x33')](_0x238d4f[_0xfd66('0x2d')],_0x238d4f[_0xfd66('0x2f')]);_0x3f6b6b[_0xfd66('0x34')]=_[_0xfd66('0x33')](_0x238d4f[_0xfd66('0x2d')],qs[_0xfd66('0x35')](_0x4aa6d8[_0xfd66('0x2f')]['fields']));_0x3f6b6b[_0xfd66('0x34')]=_0x3f6b6b['attributes'][_0xfd66('0x36')]?_0x3f6b6b[_0xfd66('0x34')]:_0x238d4f['model'];if(_0x4aa6d8[_0xfd66('0x2f')]['includeAll']){_0x3f6b6b['include']=[{'all':!![]}];}_0x3f6b6b=_[_0xfd66('0x3e')]({},_0x3f6b6b,_0x4aa6d8[_0xfd66('0x49')]);return db['UserProfile'][_0xfd66('0x4a')](_0x3f6b6b)[_0xfd66('0x25')](handleEntityNotFound(_0x5c0b8e,null))[_0xfd66('0x25')](respondWithResult(_0x5c0b8e,null))[_0xfd66('0x46')](handleError(_0x5c0b8e,null));};exports[_0xfd66('0x4b')]=function(_0x5284ac,_0x9a494b){return db[_0xfd66('0x2b')][_0xfd66('0x4b')](_0x5284ac[_0xfd66('0x4c')],{})[_0xfd66('0x25')](respondWithResult(_0x9a494b,0xc9))[_0xfd66('0x46')](handleError(_0x9a494b,null));};exports[_0xfd66('0x4d')]=function(_0x3aa8e3,_0x3c951f){var _0x40ce4c={'raw':![],'where':{'id':_0x3aa8e3[_0xfd66('0x48')]['id']}},_0x1dc347={};_0x1dc347['model']=_['keys'](db[_0xfd66('0x2b')][_0xfd66('0x2c')]);_0x40ce4c['attributes']=_[_0xfd66('0x33')](_0x1dc347[_0xfd66('0x2d')],qs[_0xfd66('0x35')](_0x3aa8e3[_0xfd66('0x2f')][_0xfd66('0x35')]));_0x40ce4c[_0xfd66('0x34')]=_0x40ce4c[_0xfd66('0x34')]['length']?_0x40ce4c['attributes']:_0x1dc347[_0xfd66('0x2d')];if(_0x3aa8e3['query']['includeAll']){_0x40ce4c[_0xfd66('0x44')]=[{'all':!![]}];}_0x40ce4c=_['merge']({},_0x40ce4c,_0x3aa8e3[_0xfd66('0x49')]);return db[_0xfd66('0x2b')][_0xfd66('0x4a')](_0x40ce4c)[_0xfd66('0x25')](handleEntityNotFound(_0x3c951f,null))['then'](function(_0x47dd0f){if(_0x47dd0f){var _0x4f1046=_0x47dd0f['get']({'plain':!![]});_0x4f1046=qs[_0xfd66('0x4e')](_0x4f1046,['id',_0xfd66('0x4f'),_0xfd66('0x50'),_0xfd66('0x51')]);_0x3aa8e3[_0xfd66('0x4c')]=_['omit'](_0x3aa8e3[_0xfd66('0x4c')],['id',_0xfd66('0x4f'),_0xfd66('0x50')]);return db[_0xfd66('0x52')][_0xfd66('0x53')](function(_0x2b0610){return db['UserProfile'][_0xfd66('0x4b')](_[_0xfd66('0x3e')](_0x4f1046,_0x3aa8e3[_0xfd66('0x4c')]),{'include':_0x3aa8e3[_0xfd66('0x2f')][_0xfd66('0x54')]?[{'all':!![]}]:undefined,'transaction':_0x2b0610})[_0xfd66('0x25')](function(_0x442e11){var _0x2230bf=_0x442e11[_0xfd66('0x55')]({'plain':!![]});return db[_0xfd66('0x56')]['findAll']({'where':{'userProfileId':_0x3aa8e3[_0xfd66('0x48')]['id']},'raw':!![]})[_0xfd66('0x25')](function(_0x19477a){if(_0x19477a){return BPromise[_0xfd66('0x57')](_0x19477a,function(_0x404e64){return new BPromise(function(_0x56fa40,_0x415f98){if(_0x404e64[_0xfd66('0x58')]===null||_0x404e64[_0xfd66('0x58')]===0x1)_0x56fa40(null);return db[_0xfd66('0x59')][_0xfd66('0x45')]({'where':{'sectionId':_0x404e64['id']},'raw':!![]})[_0xfd66('0x25')](function(_0x2b2106){var _0x2f26f5=_[_0xfd66('0x40')](_0x2b2106,function(_0x1a3658){return qs[_0xfd66('0x4e')](_0x1a3658,['id','createdAt',_0xfd66('0x50'),'sectionId']);});_0x56fa40(_0x2f26f5);})[_0xfd66('0x46')](function(_0x5b6f88){_0x415f98(_0x5b6f88);});})['then'](function(_0x5a8f27){var _0x3bebb2=qs[_0xfd66('0x4e')](_0x404e64,['id',_0xfd66('0x4f'),'updatedAt']);_0x3bebb2[_0xfd66('0x5a')]=_0x2230bf['id'];if(_0x5a8f27)_0x3bebb2[_0xfd66('0x5b')]=_0x5a8f27;return _0x3bebb2;})['then'](function(_0x1422d0){return db[_0xfd66('0x56')][_0xfd66('0x4b')](_0x1422d0,{'include':[{'model':db['UserProfileResource'],'as':'Resources'}],'raw':!![],'transaction':_0x2b0610});});})[_0xfd66('0x25')](function(){return _0x2230bf;});}});});});}})[_0xfd66('0x25')](respondWithResult(_0x3c951f,0xc9))[_0xfd66('0x46')](handleError(_0x3c951f,null));};exports[_0xfd66('0x24')]=function(_0x409fb0,_0x4628e6){if(_0x409fb0[_0xfd66('0x4c')]['id']){delete _0x409fb0[_0xfd66('0x4c')]['id'];}return db[_0xfd66('0x2b')]['find']({'where':{'id':_0x409fb0['params']['id']}})[_0xfd66('0x25')](handleEntityNotFound(_0x4628e6,null))[_0xfd66('0x25')](saveUpdates(_0x409fb0[_0xfd66('0x4c')],null))[_0xfd66('0x25')](respondWithResult(_0x4628e6,null))['catch'](handleError(_0x4628e6,null));};exports[_0xfd66('0x5c')]=function(_0x4a2d22,_0x579585){return db[_0xfd66('0x2b')][_0xfd66('0x4a')]({'where':{'id':_0x4a2d22[_0xfd66('0x48')]['id']}})[_0xfd66('0x25')](handleEntityNotFound(_0x579585,null))[_0xfd66('0x25')](removeEntity(_0x579585,null))[_0xfd66('0x46')](handleError(_0x579585,null));};exports[_0xfd66('0x5d')]=function(_0x4a565c,_0x5e2655){return db['UserProfile'][_0xfd66('0x5d')]()[_0xfd66('0x25')](respondWithResult(_0x5e2655,null))[_0xfd66('0x46')](handleError(_0x5e2655,null));};exports[_0xfd66('0x5e')]=function(_0x40e962,_0xcda627){var _0x15a2bd=_0x40e962['body'];return db['UserProfile'][_0xfd66('0x4a')]({'where':{'id':_0x40e962['params']['id']}})[_0xfd66('0x25')](handleEntityNotFound(_0xcda627,null))[_0xfd66('0x25')](function(_0x116ed1){if(_0x116ed1){return db[_0xfd66('0x52')][_0xfd66('0x53')](function(_0x563bcb){return db[_0xfd66('0x56')]['destroy']({'where':{'userProfileId':_0x40e962[_0xfd66('0x48')]['id'],'sectionId':_[_0xfd66('0x40')](_0x15a2bd,function(_0x1ef663){return _0x1ef663[_0xfd66('0x5f')];})},'transaction':_0x563bcb})[_0xfd66('0x25')](function(){var _0x188f76=_[_0xfd66('0x40')](_0x15a2bd,function(_0x10ac60){_0x10ac60[_0xfd66('0x5a')]=_0x40e962['params']['id'];return _0x10ac60;});var _0x86cf2c=[];return BPromise[_0xfd66('0x57')](_0x188f76,function(_0x1dcf27){return db[_0xfd66('0x56')][_0xfd66('0x4b')](_0x1dcf27,{'include':[{'model':db['UserProfileResource'],'as':_0xfd66('0x5b')}],'raw':!![],'transaction':_0x563bcb})['then'](function(_0x3e6c88){_0x86cf2c[_0xfd66('0x60')](_0x3e6c88[_0xfd66('0x55')]({'plain':!![]}));});})[_0xfd66('0x25')](function(){return _0x86cf2c;});});});}})[_0xfd66('0x25')](function(_0x5e711d){return _0x5e711d;})[_0xfd66('0x25')](respondWithResult(_0xcda627,null))[_0xfd66('0x46')](handleError(_0xcda627,null));};exports['removeSections']=function(_0x505e35,_0x1cc78d){var _0x12514d;return db['UserProfile'][_0xfd66('0x4a')]({'where':{'id':_0x505e35[_0xfd66('0x48')]['id']},'attributes':['id','name']})[_0xfd66('0x25')](handleEntityNotFound(_0x1cc78d,null))[_0xfd66('0x25')](function(_0x42ab61){if(_0x42ab61){_0x12514d=_0x42ab61;return db[_0xfd66('0x56')][_0xfd66('0x5c')]({'where':{'userProfileId':_0x505e35[_0xfd66('0x48')]['id'],'sectionId':_0x505e35[_0xfd66('0x2f')][_0xfd66('0x61')]}});}})[_0xfd66('0x25')](function(){return _0x12514d;})['then'](respondWithStatusCode(_0x1cc78d,null))['catch'](handleError(_0x1cc78d,null));};exports[_0xfd66('0x62')]=function(_0x4110db,_0x190e4c){return db[_0xfd66('0x2b')][_0xfd66('0x4a')]({'where':{'id':_0x4110db[_0xfd66('0x48')]['id']}})[_0xfd66('0x25')](handleEntityNotFound(_0x190e4c,null))[_0xfd66('0x25')](function(_0x5812f7){if(_0x5812f7){return db[_0xfd66('0x52')][_0xfd66('0x53')](function(_0x4576cc){return db[_0xfd66('0x56')][_0xfd66('0x45')]({'where':{'userProfileId':_0x4110db['params']['id']},'attributes':['id'],'raw':!![]})[_0xfd66('0x25')](function(_0x40d1d0){if(_0x40d1d0){return db[_0xfd66('0x56')]['destroy']({'where':{'userProfileId':_0x4110db[_0xfd66('0x48')]['id'],'id':_[_0xfd66('0x40')](_0x40d1d0,function(_0x4dd4e1){return _0x4dd4e1['id'];})},'transaction':_0x4576cc});}})[_0xfd66('0x25')](function(_0x573010){var _0xffcb5=_[_0xfd66('0x40')](_0x4110db['body'],function(_0x229ad4){_0x229ad4['userProfileId']=_0x4110db[_0xfd66('0x48')]['id'];return _0x229ad4;});return db[_0xfd66('0x56')]['bulkCreate'](_0xffcb5,{'raw':!![],'transaction':_0x4576cc});})[_0xfd66('0x25')](function(_0x57a80c){var _0x214620=_['filter'](_['map'](_0x57a80c,function(_0x27e6ed){return _0x27e6ed[_0xfd66('0x55')]({'plain':!![]});}),{'includeAll':![]});if(_0x214620){return db[_0xfd66('0x56')]['findAll']({'where':{'userProfileId':_0x4110db[_0xfd66('0x48')]['id'],'sectionId':_[_0xfd66('0x40')](_0x214620,function(_0xf462c6){return _0xf462c6[_0xfd66('0x5f')];})},'attributes':['id','sectionId'],'raw':!![]})[_0xfd66('0x25')](function(_0x5cc79f){var _0x205361=_[_0xfd66('0x40')](_0x4110db[_0xfd66('0x4c')],function(_0x243fdd){_0x243fdd[_0xfd66('0x5a')]=_0x4110db['params']['id'];return _0x243fdd;});return db['UserProfileResource']['bulkCreate'](_0x205361,{'raw':!![],'transaction':_0x4576cc});});}})[_0xfd66('0x46')](handleError(_0x190e4c,null));});}})[_0xfd66('0x25')](function(_0x59ca73){var _0x2807ab=_[_0xfd66('0x40')](_0x59ca73,function(_0x445bf3){return _0x445bf3[_0xfd66('0x55')]({'plain':!![]});});})[_0xfd66('0x25')](respondWithResult(_0x190e4c,null))[_0xfd66('0x46')](handleError(_0x190e4c,null));};exports[_0xfd66('0x63')]=function(_0x219032,_0x361ecb,_0x1ea0c0){var _0xfa3023;return db[_0xfd66('0x2b')][_0xfd66('0x4a')]({'where':{'id':_0x219032[_0xfd66('0x48')]['id']}})[_0xfd66('0x25')](handleEntityNotFound(_0x361ecb,null))[_0xfd66('0x25')](function(_0x281cf1){if(_0x281cf1){return _0x281cf1['removeResources'](_0x219032[_0xfd66('0x2f')]['ids']);}})[_0xfd66('0x25')](respondWithStatusCode(_0x361ecb,null))[_0xfd66('0x46')](handleError(_0x361ecb,null));};exports[_0xfd66('0x64')]=function(_0x269edd,_0x197967){var _0x38e474={'raw':![],'where':{}};var _0x22421c={};var _0x58cd27={'count':0x0,'rows':[]};var _0x3e2f33=_0x269edd[_0xfd66('0x2f')][_0xfd66('0x65')];if(typeof _0x3e2f33===_0xfd66('0x66')){throw new db[(_0xfd66('0x67'))]['ValidationError']('Unknown\x20section');}var _0x77b16a=_0x269edd[_0xfd66('0x2f')]['mergeResources']||![];var _0x567996=getQueryModels(_0x3e2f33,_0x77b16a);if(typeof _0x567996[_0xfd66('0x68')]===_0xfd66('0x66')){throw new db[(_0xfd66('0x67'))][(_0xfd66('0x69'))]('Invalid\x20section\x20\x27'+_0x3e2f33+'\x27');}var _0x393e86=[];if(!_[_0xfd66('0x6a')](_0x567996['parentSections'])){_0x393e86=_0x567996['parentSections'];}else{_0x393e86=[{'name':_0x3e2f33}];}return db[_0xfd66('0x2b')][_0xfd66('0x6b')]({'where':{'id':_0x269edd['params']['id']}})[_0xfd66('0x25')](handleEntityNotFound(_0x197967,null))[_0xfd66('0x25')](function(_0x1d5052){if(_0x1d5052){var _0x5a5918=[];for(var _0x20a95d=0x0;_0x20a95d<_0x393e86[_0xfd66('0x36')];_0x20a95d++){_0x5a5918[_0xfd66('0x60')](db[_0xfd66('0x56')][_0xfd66('0x6b')]({'where':{'userProfileId':_0x1d5052['id'],'name':_0x393e86[_0x20a95d][_0xfd66('0x29')]},'raw':!![]}));}return BPromise['all'](_0x5a5918);}})[_0xfd66('0x25')](function(_0x17e0b2){var _0x5e8a5d=_[_0xfd66('0x3f')](_0x17e0b2,function(_0x50b6ed){return _0x50b6ed?_0x50b6ed:undefined;});var _0x44b3eb=_[_0xfd66('0x3f')](_0x393e86,[_0xfd66('0x6c'),!![]]);var _0xd270ee=_[_0xfd66('0x6a')](_0x5e8a5d)&&_[_0xfd66('0x6a')](_0x44b3eb)?null:_[_0xfd66('0x6d')](_0x44b3eb,_0x5e8a5d);if(_0xd270ee){var _0x3a384e=[];for(var _0xba7f83=0x0;_0xba7f83<_0xd270ee[_0xfd66('0x36')];_0xba7f83++){var _0x4e50eb=_[_0xfd66('0x4a')](_0x393e86,function(_0x248110){return _0xd270ee[_0xba7f83]?_0x248110['name']===_0xd270ee[_0xba7f83]['name']:null;});if(_0x4e50eb){if(_0xd270ee[_0xba7f83][_0xfd66('0x6c')]){_0x3a384e['push'](getAllResources(_0x567996[_0xfd66('0x68')],_0xd270ee[_0xba7f83]));}else{if(!_0xd270ee[_0xba7f83][_0xfd66('0x58')]){_0x3a384e['push'](getAllowedResources(_0x4e50eb,_0xd270ee[_0xba7f83]));}else{if(_0x4e50eb[_0xfd66('0x2d')]){_0x3a384e['push'](getAllFilteredResources(_0x4e50eb,_0xd270ee[_0xba7f83]));}}}}}return BPromise[_0xfd66('0x6e')](_0x3a384e);}else{return null;}})[_0xfd66('0x25')](function(_0x3dd372){var _0x1c22b7=_0x3dd372;var _0x3b99d9=null;if(_0x1c22b7){_0x3b99d9=_0x1c22b7['length']===0x1?_0x1c22b7[0x0]:null;}if(_0x3b99d9||_0x1c22b7){_0x22421c[_0xfd66('0x2d')]=_[_0xfd66('0x2e')](db[_0x567996[_0xfd66('0x68')]][_0xfd66('0x2c')]);_0x22421c[_0xfd66('0x2f')]=_[_0xfd66('0x2e')](_0x269edd[_0xfd66('0x2f')]);_0x22421c[_0xfd66('0x32')]=_['intersection'](_0x22421c[_0xfd66('0x2d')],_0x22421c[_0xfd66('0x2f')]);_0x38e474[_0xfd66('0x34')]=_['intersection'](_0x22421c[_0xfd66('0x2d')],qs[_0xfd66('0x35')](_0x269edd[_0xfd66('0x2f')]['fields']));_0x38e474['attributes']=_0x38e474[_0xfd66('0x34')][_0xfd66('0x36')]?_0x38e474[_0xfd66('0x34')]:_0x22421c[_0xfd66('0x2d')];if(!_0x269edd[_0xfd66('0x2f')][_0xfd66('0x6f')](_0xfd66('0x37'))){_0x38e474[_0xfd66('0x1f')]=qs['limit'](_0x269edd[_0xfd66('0x2f')][_0xfd66('0x1f')]);_0x38e474['offset']=qs[_0xfd66('0x1e')](_0x269edd[_0xfd66('0x2f')][_0xfd66('0x1e')]);}_0x38e474[_0xfd66('0x38')]=qs[_0xfd66('0x39')](_0x269edd[_0xfd66('0x2f')]['sort']);_0x38e474['where']=qs[_0xfd66('0x32')](_['pick'](_0x269edd['query'],_0x22421c[_0xfd66('0x32')]));var _0x215d5b=[];if(_0x3b99d9){var _0x9ca00e=_[_0xfd66('0x4a')](_0x393e86,[_0xfd66('0x29'),_0x3b99d9[_0xfd66('0x29')]]);if(_0x9ca00e['field']){var _0x59cffd={};_0x59cffd[_0x9ca00e[_0xfd66('0x70')]]=_0x3b99d9['resourceIds'];_0x215d5b[_0xfd66('0x60')](_0x59cffd);}else{_0x38e474[_0xfd66('0x3a')]['id']=_0x3b99d9[_0xfd66('0x71')];}}else{var _0x215d5b=[];for(var _0x4f7e6b=0x0;_0x4f7e6b<_0x1c22b7[_0xfd66('0x36')];_0x4f7e6b++){var _0x9ca00e=_[_0xfd66('0x4a')](_0x393e86,[_0xfd66('0x29'),_0x1c22b7[_0x4f7e6b]['name']]);if(_0x9ca00e[_0xfd66('0x72')]){var _0x59cffd={};if(_0x9ca00e[_0xfd66('0x72')]==='id'){_0x59cffd[_0x9ca00e['foreignKey']]=_0x1c22b7[_0x4f7e6b]['resourceIds'];}else{_0x59cffd[_0x9ca00e[_0xfd66('0x70')]]=_0x1c22b7[_0x4f7e6b][_0xfd66('0x73')];}}else{if(!_0x38e474['where']['id'])_0x38e474['where']['id']=[];_0x1c22b7[_0x4f7e6b][_0xfd66('0x71')][_0xfd66('0x74')](function(_0x740c5c){_0x38e474[_0xfd66('0x3a')]['id']['push'](_0x740c5c);});}}}if(!_['isEmpty'](_0x215d5b)){_0x38e474[_0xfd66('0x3a')]=_[_0xfd66('0x3e')](_0x38e474[_0xfd66('0x3a')],{'$or':_0x215d5b});}if(_0x269edd['query'][_0xfd66('0x3f')]){_0x38e474['where']=_[_0xfd66('0x3e')](_0x38e474[_0xfd66('0x3a')],{'$or':_['map'](_0x38e474[_0xfd66('0x34')],function(_0x1d56c7){var _0x37ffa2={};_0x37ffa2[_0x1d56c7]={'$like':'%'+_0x269edd[_0xfd66('0x2f')][_0xfd66('0x3f')]+'%'};return _0x37ffa2;})});}_0x38e474=_[_0xfd66('0x3e')]({},_0x38e474,_0x269edd['options']);if(_0x3b99d9&&!_0x3b99d9['autoAssociation']&&_0x567996['childModel']==='AnalyticExtractedReport'){if(_0x269edd['query'][_0xfd66('0x54')]){_0x38e474['include']=[{'all':!![]}];}return db[_0x567996[_0xfd66('0x68')]][_0xfd66('0x45')](_0x38e474)['then'](function(_0x3daf5a){var _0x4d8388=[];_0x3daf5a['forEach'](function(_0x58f95c){var _0x4c3524;switch(_0x58f95c[_0xfd66('0x75')]){case _0xfd66('0x76'):_0x4c3524=_[_0xfd66('0x4a')](_0x3b99d9[_0xfd66('0x71')],function(_0x3730fe){return _0x3730fe['id']===_0x58f95c[_0xfd66('0x77')]&&_0x3730fe[_0xfd66('0x41')]==='DefaultReports';});break;case _0xfd66('0x78'):_0x4c3524=_[_0xfd66('0x4a')](_0x3b99d9[_0xfd66('0x71')],function(_0x54ac27){return _0x54ac27['id']===_0x58f95c[_0xfd66('0x77')]&&_0x54ac27[_0xfd66('0x41')]===_0xfd66('0x79');});break;}if(_0x4c3524)_0x4d8388['push'](_0x58f95c);});_0x58cd27['count']=_0x4d8388['length'];_0x58cd27[_0xfd66('0x7a')]=_0x4d8388;return _0x58cd27;});}else{return db[_0x567996[_0xfd66('0x68')]]['count']({'where':_0x38e474[_0xfd66('0x3a')]})[_0xfd66('0x25')](function(_0x51fe79){_0x58cd27[_0xfd66('0x1d')]=_0x51fe79;if(_0x269edd['query'][_0xfd66('0x54')]){if(_0x567996[_0xfd66('0x68')]===_0xfd66('0x7b')){_0x38e474[_0xfd66('0x44')]=[{'model':db[_0xfd66('0x7c')],'as':'Tags','attributes':['id',_0xfd66('0x29'),_0xfd66('0x7d')],'required':_0x269edd['query'][_0xfd66('0x7e')]?!![]:![]},{'model':db[_0xfd66('0x7c')],'as':_0xfd66('0x7f'),'attributes':['id',_0xfd66('0x29'),_0xfd66('0x7d')],'through':_0x269edd[_0xfd66('0x2f')][_0xfd66('0x7e')]?{'attributes':[],'where':{'TagId':_0x269edd[_0xfd66('0x2f')][_0xfd66('0x7e')]||undefined}}:{},'required':_0x269edd['query'][_0xfd66('0x7e')]?!![]:![]}];}else{_0x38e474[_0xfd66('0x44')]=[{'all':!![]}];}}return db[_0x567996[_0xfd66('0x68')]][_0xfd66('0x45')](_0x38e474);})[_0xfd66('0x25')](function(_0x37fab1){_0x58cd27[_0xfd66('0x7a')]=_0x37fab1;return _0x58cd27;});}}else{return _0x58cd27;}})[_0xfd66('0x25')](respondWithFilteredResult(_0x197967,_0x38e474))[_0xfd66('0x46')](handleError(_0x197967,null));};function getAllResources(_0x2c765c,_0x33623){return new BPromise(function(_0x48ce0c,_0x93a338){if(_0x33623){var _0x57c985=_0x33623['filter']?{[_0x33623[_0xfd66('0x3f')][_0xfd66('0x72')]]:_0x33623[_0xfd66('0x3f')]['value']}:undefined;return db[_0x2c765c][_0xfd66('0x45')]({'where':_0x57c985,'raw':!![]})[_0xfd66('0x25')](function(_0x5502fb){_0x33623[_0xfd66('0x71')]=_[_0xfd66('0x40')](_0x5502fb,'id');_0x48ce0c(_0x33623);})[_0xfd66('0x46')](function(_0x3d4001){_0x93a338(_0x3d4001);});}else{_0x48ce0c(null);}});}function getAllFilteredResources(_0x5ad859,_0x4c5d23){return new BPromise(function(_0x262db8,_0x2474c4){var _0x29eb9b=_0x5ad859[_0xfd66('0x3f')]?{[_0x5ad859[_0xfd66('0x3f')][_0xfd66('0x72')]]:_0x5ad859[_0xfd66('0x3f')]['value']}:undefined;return db[_0x5ad859[_0xfd66('0x2d')]][_0xfd66('0x45')]({'where':_0x29eb9b,'raw':!![]})[_0xfd66('0x25')](function(_0x404846){_0x4c5d23[_0xfd66('0x73')]=_['map'](_0x404846,function(_0x2990fb){return _0x2990fb[_0xfd66('0x29')];});_0x262db8(_0x4c5d23);})['catch'](function(_0x58db83){_0x2474c4(_0x58db83);});});}function getAllowedResources(_0x3dc22f,_0x1df0f1){return new BPromise(function(_0x381668,_0xfd8b22){if(_0x1df0f1){return db['UserProfileResource']['findAll']({'where':{'sectionId':_0x1df0f1['id']},'raw':!![]})[_0xfd66('0x25')](function(_0x57f6ed){if(_0x3dc22f[_0xfd66('0x72')]&&_0x3dc22f['field']!=='id'){_0x1df0f1[_0xfd66('0x73')]=_[_0xfd66('0x40')](_0x57f6ed,function(_0x438178){return _0x438178[_0x3dc22f[_0xfd66('0x72')]];});}else{if(_0x3dc22f[_0xfd66('0x68')]==='AnalyticExtractedReport'){_0x1df0f1[_0xfd66('0x71')]=_[_0xfd66('0x40')](_0x57f6ed,function(_0x3aa285){return{'id':_0x3aa285['resourceId'],'type':_0x3aa285[_0xfd66('0x41')]};});}else{_0x1df0f1[_0xfd66('0x71')]=_['map'](_0x57f6ed,function(_0x55f3fa){return _0x55f3fa[_0xfd66('0x80')];});}}_0x381668(_0x1df0f1);})['catch'](function(_0x34e54d){_0xfd8b22(_0x34e54d);});}else{_0x381668(null);}});}function getQueryModels(_0x151db1,_0x26919b){var _0x320bea=_0x151db1['toLowerCase']();var _0x241c3e={'childModel':undefined,'parentSections':[]};switch(_0x320bea){case'squareprojects':_0x241c3e['childModel']=_0xfd66('0x81');break;case _0xfd66('0x82'):_0x241c3e['childModel']=_0xfd66('0x83');break;case _0xfd66('0x84'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0x85');_0x241c3e[_0xfd66('0x86')]=[{'name':'SquareProjects','field':_0xfd66('0x29'),'foreignKey':_0xfd66('0x87')}];break;case _0xfd66('0x88'):_0x241c3e[_0xfd66('0x68')]='JscriptyProject';break;case _0xfd66('0x89'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0x7b');_0x241c3e[_0xfd66('0x86')]=[{'name':_0xfd66('0x8a'),'field':'id','foreignKey':'ListId','model':'CmList'}];break;case _0xfd66('0x8b'):_0x241c3e['childModel']=_0xfd66('0x8c');break;case'companies':_0x241c3e[_0xfd66('0x68')]=_0xfd66('0x8d');break;case _0xfd66('0x8e'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0x8f');break;case _0xfd66('0x90'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0x91');break;case _0xfd66('0x92'):_0x241c3e['childModel']=_0xfd66('0x93');break;case'faxqueues':_0x241c3e['childModel']='FaxQueue';break;case _0xfd66('0x94'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0x95');break;case _0xfd66('0x96'):case _0xfd66('0x97'):case'outboundroutes':_0x241c3e['childModel']=_0xfd66('0x98');break;case'contexts':_0x241c3e[_0xfd66('0x68')]=_0xfd66('0x99');break;case _0xfd66('0x9a'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0x9b');break;case _0xfd66('0x9c'):_0x241c3e[_0xfd66('0x68')]='VoiceRecording';_0x241c3e['parentSections']=[{'name':_0xfd66('0x9d'),'field':_0xfd66('0x29'),'foreignKey':_0xfd66('0x9e'),'model':_0xfd66('0x9f'),'filter':{'field':_0xfd66('0xa0'),'value':[_0xfd66('0xa1')]}},{'name':_0xfd66('0xa2'),'field':_0xfd66('0x29'),'foreignKey':_0xfd66('0x9e'),'model':_0xfd66('0x9f'),'filter':{'field':_0xfd66('0xa0'),'value':[_0xfd66('0xa3')]}},{'name':_0xfd66('0xa4'),'field':_0xfd66('0x29'),'foreignKey':_0xfd66('0xa5'),'model':_0xfd66('0xa6')}];break;case _0xfd66('0xa7'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xa8');break;case'chanspies':_0x241c3e['childModel']=_0xfd66('0xa9');break;case _0xfd66('0xaa'):_0x241c3e[_0xfd66('0x68')]='VoicePrefix';break;case'ivrcampaigns':_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xab');break;case _0xfd66('0xac'):_0x241c3e[_0xfd66('0x68')]='MailQueue';break;case _0xfd66('0xad'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xae');break;case _0xfd66('0xaf'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xb0');break;case _0xfd66('0xb1'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xb2');break;case _0xfd66('0xb3'):_0x241c3e[_0xfd66('0x68')]='OpenchannelAccount';break;case _0xfd66('0xb4'):_0x241c3e[_0xfd66('0x68')]='SmsQueue';break;case _0xfd66('0xb5'):_0x241c3e['childModel']='SmsAccount';break;case _0xfd66('0xb6'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xb7');break;case _0xfd66('0xb8'):case _0xfd66('0xb9'):_0x241c3e[_0xfd66('0x68')]='VoiceQueue';if(_0x26919b){_0x241c3e['parentSections']=[{'name':_0xfd66('0xa4')},{'name':_0xfd66('0xba')}];}break;case'users':case _0xfd66('0xbb'):case _0xfd66('0xbc'):_0x241c3e['childModel']=_0xfd66('0x9f');if(_0x26919b){_0x241c3e['parentSections']=[{'name':_0xfd66('0xbd'),'filter':{'field':'role','value':['admin','user']},'ignore':!![]},{'name':_0xfd66('0x9d')},{'name':_0xfd66('0xa2')}];}break;case _0xfd66('0xbe'):_0x241c3e[_0xfd66('0x68')]='ZendeskAccount';break;case _0xfd66('0xbf'):_0x241c3e[_0xfd66('0x68')]='SalesforceAccount';break;case'freshdeskaccounts':_0x241c3e['childModel']=_0xfd66('0xc0');break;case _0xfd66('0xc1'):_0x241c3e['childModel']=_0xfd66('0xc2');break;case'deskaccounts':_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xc3');break;case'zohoaccounts':_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xc4');break;case _0xfd66('0xc5'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0x9f');break;case _0xfd66('0xc6'):_0x241c3e[_0xfd66('0x68')]='CannedAnswer';break;case _0xfd66('0xc7'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xc8');break;case _0xfd66('0xc9'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xca');break;case _0xfd66('0xcb'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xcc');break;case _0xfd66('0xcd'):_0x241c3e[_0xfd66('0x68')]='Pause';break;case _0xfd66('0xce'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xcf');break;case _0xfd66('0xd0'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xd1');break;case _0xfd66('0xd2'):_0x241c3e['childModel']=_0xfd66('0x7c');break;case'templates':_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xd3');break;case _0xfd66('0xd4'):_0x241c3e[_0xfd66('0x68')]='Trigger';break;case _0xfd66('0xd5'):_0x241c3e['childModel']=_0xfd66('0xd6');break;case'variables':_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xd7');break;case'plugins':_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xd8');break;case _0xfd66('0xd9'):_0x241c3e[_0xfd66('0x68')]=_0xfd66('0xda');_0x241c3e[_0xfd66('0x86')]=[{'name':'Reports','field':'id','foreignKey':_0xfd66('0x77')}];break;case _0xfd66('0xdb'):_0x241c3e[_0xfd66('0x68')]='AnalyticMetric';break;default:return _0x241c3e;}return _0x241c3e;}