Built motion from commit (unavailable).|2.3.91
[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 _0xd73e=['Plugin','extractedreports','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','lodash','squel','crypto','jsforce','../../components/auth/service','../../config/license/hardware','ioredis','../../components/parsers/qs','api','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./userProfile.socket','register','sendStatus','status','end','json','offset','limit','set','Content-Range','apply','reject','save','then','destroy','error','stack','name','send','index','rawAttributes','model','keys','query','filters','intersection','attributes','fields','hasOwnProperty','nolimit','order','sort','where','filter','merge','type','VIRTUAL','field','options','UserProfile','count','includeAll','include','findAll','rows','catch','length','find','create','body','params','omit','createdAt','updatedAt','sequelize','get','UserProfileSection','each','autoAssociation','UserProfileResource','map','userProfileId','update','describe','addSections','transaction','sectionId','Resources','push','removeSections','addResources','bulkCreate','removeResources','ids','section','Sequelize','ValidationError','Unknown\x20section','mergeResources','undefined','isEmpty','parentSections','findOne','all','ignore','childModel','foreignKey','resourceFields','resourceIds','AnalyticExtractedReport','forEach','default','DefaultReports','reportId','CmContact','Tag','Tags','color','tag','value','resourceId','toLowerCase','squareprojects','SquareOdbc','SquareProjects','projectName','projects','JscriptyProject','contacts','Lists','ListId','lists','CmList','companies','CmCompany','globalcustomfields','CmCustomField','chatqueues','ChatQueue','chatwebsites','ChatWebsite','inboundroutes','outboundroutes','VoiceExtension','contexts','VoiceContext','voicemails','VoiceMail','voicerecordings','VoiceRecording','membername','User','role','agent','VoiceQueues','queue','inbound','QueueCampaigns','VoiceQueue','outbound','musiconholds','chanspies','VoiceChanSpy','voiceprefixes','VoicePrefix','ivrcampaigns','Campaign','MailQueue','mailsubstatuses','MailSubstatus','openchannelaccounts','smsqueues','smsaccounts','SmsAccount','teams','Team','voicequeues','queuecampaigns','users','agents','telephones','admin','user','Agents','zendeskaccounts','ZendeskAccount','SalesforceAccount','freshdeskaccounts','FreshdeskAccount','sugarcrmaccounts','SugarcrmAccount','deskaccounts','DeskAccount','zohoaccounts','ZohoAccount','cannedanswers','CannedAnswer','dispositions','customdashboards','intervals','Interval','pauses','Pause','scheduler','Schedule','sounds','Sound','tags','Template','triggers','Trigger','trunks','Trunk','variables','Variable','plugins'];(function(_0x5b5c47,_0x4578d9){var _0x1d9304=function(_0x4ebb63){while(--_0x4ebb63){_0x5b5c47['push'](_0x5b5c47['shift']());}};_0x1d9304(++_0x4578d9);}(_0xd73e,0x1c4));var _0xed73=function(_0x14add3,_0x13ce8d){_0x14add3=_0x14add3-0x0;var _0x4a174f=_0xd73e[_0x14add3];return _0x4a174f;};'use strict';var pdf=require(_0xed73('0x0'));var emlformat=require(_0xed73('0x1'));var rimraf=require(_0xed73('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xed73('0x3'));var rp=require(_0xed73('0x4'));var moment=require(_0xed73('0x5'));var BPromise=require(_0xed73('0x6'));var Mustache=require(_0xed73('0x7'));var util=require(_0xed73('0x8'));var path=require(_0xed73('0x9'));var sox=require(_0xed73('0xa'));var csv=require(_0xed73('0xb'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xed73('0xc'));var squel=require(_0xed73('0xd'));var crypto=require(_0xed73('0xe'));var jsforce=require(_0xed73('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xed73('0xb'));var querystring=require('querystring');var Papa=require('papaparse');var authService=require(_0xed73('0x10'));var hardwareService=require(_0xed73('0x11'));var Redis=require(_0xed73('0x12'));var qs=require(_0xed73('0x13'));var logger=require('../../config/logger')(_0xed73('0x14'));var utils=require('../../config/utils');var config=require(_0xed73('0x15'));var db=require(_0xed73('0x16'))['db'];config[_0xed73('0x17')]=_[_0xed73('0x18')](config[_0xed73('0x17')],{'host':_0xed73('0x19'),'port':0x18eb});var socket=require(_0xed73('0x1a'))(new Redis(config[_0xed73('0x17')]));require(_0xed73('0x1b'))[_0xed73('0x1c')](socket);function respondWithStatusCode(_0xde9a54,_0x2cceba){_0x2cceba=_0x2cceba||0xcc;return function(_0x56cd86){if(_0x56cd86){return _0xde9a54[_0xed73('0x1d')](_0x2cceba);}return _0xde9a54[_0xed73('0x1e')](_0x2cceba)[_0xed73('0x1f')]();};}function respondWithResult(_0xc61340,_0x38e65c){_0x38e65c=_0x38e65c||0xc8;return function(_0x173bbf){if(_0x173bbf){return _0xc61340['status'](_0x38e65c)[_0xed73('0x20')](_0x173bbf);}};}function respondWithFilteredResult(_0x410b65,_0x518cab){return function(_0x2d96e8){if(_0x2d96e8){var _0x49a2eb=_0x2d96e8['count'],_0x44e8e2=_0x518cab[_0xed73('0x21')],_0x5637c4=_0x518cab[_0xed73('0x21')]+_0x518cab[_0xed73('0x22')],_0x6f374a;if(_0x5637c4>=_0x49a2eb){_0x5637c4=_0x49a2eb;_0x6f374a=0xc8;}else{_0x6f374a=0xce;}_0x410b65[_0xed73('0x1e')](_0x6f374a);return _0x410b65[_0xed73('0x23')](_0xed73('0x24'),_0x44e8e2+'-'+_0x5637c4+'/'+_0x49a2eb)[_0xed73('0x20')](_0x2d96e8);}return null;};}function patchUpdates(_0xbc8bff){return function(_0xe0b49a){try{jsonpatch[_0xed73('0x25')](_0xe0b49a,_0xbc8bff,!![]);}catch(_0x332af9){return BPromise[_0xed73('0x26')](_0x332af9);}return _0xe0b49a[_0xed73('0x27')]();};}function saveUpdates(_0x32f4d9,_0x558bc5){return function(_0x59d849){if(_0x59d849){return _0x59d849['update'](_0x32f4d9)[_0xed73('0x28')](function(_0x34a5f0){return _0x34a5f0;});}return null;};}function removeEntity(_0x1dbcb5,_0x5d798d){return function(_0x2604a3){if(_0x2604a3){return _0x2604a3[_0xed73('0x29')]()[_0xed73('0x28')](function(){_0x1dbcb5['status'](0xcc)[_0xed73('0x1f')]();});}};}function handleEntityNotFound(_0x4adfa1,_0x15d912){return function(_0x110899){if(!_0x110899){_0x4adfa1[_0xed73('0x1d')](0x194);}return _0x110899;};}function handleError(_0x340ae8,_0x4d99fb){_0x4d99fb=_0x4d99fb||0x1f4;return function(_0x56ad1c){logger[_0xed73('0x2a')](_0x56ad1c[_0xed73('0x2b')]);if(_0x56ad1c[_0xed73('0x2c')]){delete _0x56ad1c[_0xed73('0x2c')];}_0x340ae8[_0xed73('0x1e')](_0x4d99fb)[_0xed73('0x2d')](_0x56ad1c);};}exports[_0xed73('0x2e')]=function(_0x5d07d5,_0x1dac1a){var _0x113692={},_0x53b8fa={},_0x48977a={'count':0x0,'rows':[]};var _0x57f927=db['UserProfile'][_0xed73('0x2f')];_0x53b8fa[_0xed73('0x30')]=_[_0xed73('0x31')](_0x57f927);_0x53b8fa['query']=_[_0xed73('0x31')](_0x5d07d5[_0xed73('0x32')]);_0x53b8fa[_0xed73('0x33')]=_[_0xed73('0x34')](_0x53b8fa[_0xed73('0x30')],_0x53b8fa[_0xed73('0x32')]);_0x113692[_0xed73('0x35')]=_['intersection'](_0x53b8fa[_0xed73('0x30')],qs[_0xed73('0x36')](_0x5d07d5[_0xed73('0x32')][_0xed73('0x36')]));_0x113692[_0xed73('0x35')]=_0x113692[_0xed73('0x35')]['length']?_0x113692[_0xed73('0x35')]:_0x53b8fa[_0xed73('0x30')];if(!_0x5d07d5[_0xed73('0x32')][_0xed73('0x37')](_0xed73('0x38'))){_0x113692['limit']=qs[_0xed73('0x22')](_0x5d07d5[_0xed73('0x32')][_0xed73('0x22')]);_0x113692[_0xed73('0x21')]=qs[_0xed73('0x21')](_0x5d07d5['query'][_0xed73('0x21')]);}_0x113692[_0xed73('0x39')]=qs['sort'](_0x5d07d5[_0xed73('0x32')][_0xed73('0x3a')]);_0x113692[_0xed73('0x3b')]=qs[_0xed73('0x33')](_['pick'](_0x5d07d5[_0xed73('0x32')],_0x53b8fa[_0xed73('0x33')]));if(_0x5d07d5[_0xed73('0x32')][_0xed73('0x3c')]){_0x113692[_0xed73('0x3b')]=_[_0xed73('0x3d')](_0x113692[_0xed73('0x3b')],{'$or':_['map'](_0x57f927,function(_0x5bc3f5){if(_0x5bc3f5[_0xed73('0x3e')]['key']!==_0xed73('0x3f')){var _0x3c321b={};_0x3c321b[_0x5bc3f5[_0xed73('0x40')]]={'$like':'%'+_0x5d07d5['query'][_0xed73('0x3c')]+'%'};return _0x3c321b;}})});}_0x113692=_['merge']({},_0x113692,_0x5d07d5[_0xed73('0x41')]);var _0x2e4055={'where':_0x113692[_0xed73('0x3b')]};return db[_0xed73('0x42')][_0xed73('0x43')](_0x2e4055)[_0xed73('0x28')](function(_0x44b00d){_0x48977a[_0xed73('0x43')]=_0x44b00d;if(_0x5d07d5['query'][_0xed73('0x44')]){_0x113692[_0xed73('0x45')]=[{'all':!![]}];}return db[_0xed73('0x42')][_0xed73('0x46')](_0x113692);})['then'](function(_0x9ddd36){_0x48977a[_0xed73('0x47')]=_0x9ddd36;return _0x48977a;})['then'](respondWithFilteredResult(_0x1dac1a,_0x113692))[_0xed73('0x48')](handleError(_0x1dac1a,null));};exports['show']=function(_0x28e6a6,_0x294090){var _0x1ce5ff={'raw':![],'where':{'id':_0x28e6a6['params']['id']}},_0x467979={};_0x467979['model']=_['keys'](db[_0xed73('0x42')][_0xed73('0x2f')]);_0x467979['query']=_['keys'](_0x28e6a6[_0xed73('0x32')]);_0x467979[_0xed73('0x33')]=_[_0xed73('0x34')](_0x467979['model'],_0x467979[_0xed73('0x32')]);_0x1ce5ff[_0xed73('0x35')]=_[_0xed73('0x34')](_0x467979[_0xed73('0x30')],qs[_0xed73('0x36')](_0x28e6a6[_0xed73('0x32')][_0xed73('0x36')]));_0x1ce5ff['attributes']=_0x1ce5ff[_0xed73('0x35')][_0xed73('0x49')]?_0x1ce5ff[_0xed73('0x35')]:_0x467979[_0xed73('0x30')];if(_0x28e6a6[_0xed73('0x32')][_0xed73('0x44')]){_0x1ce5ff[_0xed73('0x45')]=[{'all':!![]}];}_0x1ce5ff=_[_0xed73('0x3d')]({},_0x1ce5ff,_0x28e6a6[_0xed73('0x41')]);return db[_0xed73('0x42')][_0xed73('0x4a')](_0x1ce5ff)[_0xed73('0x28')](handleEntityNotFound(_0x294090,null))[_0xed73('0x28')](respondWithResult(_0x294090,null))[_0xed73('0x48')](handleError(_0x294090,null));};exports['create']=function(_0x147ddd,_0x225a47){return db[_0xed73('0x42')][_0xed73('0x4b')](_0x147ddd[_0xed73('0x4c')],{})['then'](respondWithResult(_0x225a47,0xc9))[_0xed73('0x48')](handleError(_0x225a47,null));};exports['clone']=function(_0x58b31f,_0x33b240){var _0x3fccd3={'raw':![],'where':{'id':_0x58b31f[_0xed73('0x4d')]['id']}},_0x1d9354={};_0x1d9354[_0xed73('0x30')]=_['keys'](db['UserProfile'][_0xed73('0x2f')]);_0x3fccd3['attributes']=_['intersection'](_0x1d9354[_0xed73('0x30')],qs[_0xed73('0x36')](_0x58b31f[_0xed73('0x32')][_0xed73('0x36')]));_0x3fccd3[_0xed73('0x35')]=_0x3fccd3[_0xed73('0x35')][_0xed73('0x49')]?_0x3fccd3[_0xed73('0x35')]:_0x1d9354[_0xed73('0x30')];if(_0x58b31f[_0xed73('0x32')][_0xed73('0x44')]){_0x3fccd3[_0xed73('0x45')]=[{'all':!![]}];}_0x3fccd3=_[_0xed73('0x3d')]({},_0x3fccd3,_0x58b31f[_0xed73('0x41')]);return db[_0xed73('0x42')][_0xed73('0x4a')](_0x3fccd3)[_0xed73('0x28')](handleEntityNotFound(_0x33b240,null))[_0xed73('0x28')](function(_0x15270a){if(_0x15270a){var _0x30d910=_0x15270a['get']({'plain':!![]});_0x30d910=qs[_0xed73('0x4e')](_0x30d910,['id',_0xed73('0x4f'),_0xed73('0x50'),'crudPermissions']);_0x58b31f[_0xed73('0x4c')]=_[_0xed73('0x4e')](_0x58b31f[_0xed73('0x4c')],['id',_0xed73('0x4f'),_0xed73('0x50')]);return db[_0xed73('0x51')]['transaction'](function(_0x126acb){return db[_0xed73('0x42')]['create'](_[_0xed73('0x3d')](_0x30d910,_0x58b31f[_0xed73('0x4c')]),{'include':_0x58b31f[_0xed73('0x32')][_0xed73('0x44')]?[{'all':!![]}]:undefined,'transaction':_0x126acb})['then'](function(_0x5a08b1){var _0x21830f=_0x5a08b1[_0xed73('0x52')]({'plain':!![]});return db[_0xed73('0x53')][_0xed73('0x46')]({'where':{'userProfileId':_0x58b31f[_0xed73('0x4d')]['id']},'raw':!![]})['then'](function(_0x13ebc4){if(_0x13ebc4){return BPromise[_0xed73('0x54')](_0x13ebc4,function(_0x26c8c6){return new BPromise(function(_0x519fd7,_0x32e0df){if(_0x26c8c6['autoAssociation']===null||_0x26c8c6[_0xed73('0x55')]===0x1)_0x519fd7(null);return db[_0xed73('0x56')]['findAll']({'where':{'sectionId':_0x26c8c6['id']},'raw':!![]})[_0xed73('0x28')](function(_0x832a33){var _0xe9ad28=_[_0xed73('0x57')](_0x832a33,function(_0x3ac9a9){return qs[_0xed73('0x4e')](_0x3ac9a9,['id',_0xed73('0x4f'),_0xed73('0x50'),'sectionId']);});_0x519fd7(_0xe9ad28);})[_0xed73('0x48')](function(_0x31dd46){_0x32e0df(_0x31dd46);});})[_0xed73('0x28')](function(_0x2b27e6){var _0x591759=qs[_0xed73('0x4e')](_0x26c8c6,['id',_0xed73('0x4f'),'updatedAt']);_0x591759[_0xed73('0x58')]=_0x21830f['id'];if(_0x2b27e6)_0x591759['Resources']=_0x2b27e6;return _0x591759;})[_0xed73('0x28')](function(_0x20ff8d){return db[_0xed73('0x53')][_0xed73('0x4b')](_0x20ff8d,{'include':[{'model':db[_0xed73('0x56')],'as':'Resources'}],'raw':!![],'transaction':_0x126acb});});})[_0xed73('0x28')](function(){return _0x21830f;});}});});});}})[_0xed73('0x28')](respondWithResult(_0x33b240,0xc9))[_0xed73('0x48')](handleError(_0x33b240,null));};exports[_0xed73('0x59')]=function(_0x5a6419,_0x4d388e){if(_0x5a6419[_0xed73('0x4c')]['id']){delete _0x5a6419[_0xed73('0x4c')]['id'];}return db[_0xed73('0x42')]['find']({'where':{'id':_0x5a6419[_0xed73('0x4d')]['id']}})[_0xed73('0x28')](handleEntityNotFound(_0x4d388e,null))['then'](saveUpdates(_0x5a6419[_0xed73('0x4c')],null))[_0xed73('0x28')](respondWithResult(_0x4d388e,null))['catch'](handleError(_0x4d388e,null));};exports[_0xed73('0x29')]=function(_0x2160ec,_0x196386){return db[_0xed73('0x42')][_0xed73('0x4a')]({'where':{'id':_0x2160ec[_0xed73('0x4d')]['id']}})['then'](handleEntityNotFound(_0x196386,null))[_0xed73('0x28')](removeEntity(_0x196386,null))[_0xed73('0x48')](handleError(_0x196386,null));};exports[_0xed73('0x5a')]=function(_0x4e5a17,_0x2913bf){return db[_0xed73('0x42')][_0xed73('0x5a')]()[_0xed73('0x28')](respondWithResult(_0x2913bf,null))[_0xed73('0x48')](handleError(_0x2913bf,null));};exports[_0xed73('0x5b')]=function(_0x5ca08e,_0x198037){var _0x115c71=_0x5ca08e['body'];return db['UserProfile'][_0xed73('0x4a')]({'where':{'id':_0x5ca08e['params']['id']}})[_0xed73('0x28')](handleEntityNotFound(_0x198037,null))['then'](function(_0x2ec30a){if(_0x2ec30a){return db[_0xed73('0x51')][_0xed73('0x5c')](function(_0x3ffa1f){return db[_0xed73('0x53')][_0xed73('0x29')]({'where':{'userProfileId':_0x5ca08e['params']['id'],'sectionId':_[_0xed73('0x57')](_0x115c71,function(_0x14fdc2){return _0x14fdc2[_0xed73('0x5d')];})},'transaction':_0x3ffa1f})[_0xed73('0x28')](function(){var _0x183983=_[_0xed73('0x57')](_0x115c71,function(_0x5c65c2){_0x5c65c2[_0xed73('0x58')]=_0x5ca08e[_0xed73('0x4d')]['id'];return _0x5c65c2;});var _0x550549=[];return BPromise[_0xed73('0x54')](_0x183983,function(_0x101300){return db['UserProfileSection'][_0xed73('0x4b')](_0x101300,{'include':[{'model':db[_0xed73('0x56')],'as':_0xed73('0x5e')}],'raw':!![],'transaction':_0x3ffa1f})[_0xed73('0x28')](function(_0x532dfe){_0x550549[_0xed73('0x5f')](_0x532dfe[_0xed73('0x52')]({'plain':!![]}));});})[_0xed73('0x28')](function(){return _0x550549;});});});}})['then'](function(_0xc0c29b){return _0xc0c29b;})[_0xed73('0x28')](respondWithResult(_0x198037,null))['catch'](handleError(_0x198037,null));};exports[_0xed73('0x60')]=function(_0x968892,_0x3e1785){var _0x24748c;return db[_0xed73('0x42')][_0xed73('0x4a')]({'where':{'id':_0x968892[_0xed73('0x4d')]['id']},'attributes':['id',_0xed73('0x2c')]})['then'](handleEntityNotFound(_0x3e1785,null))[_0xed73('0x28')](function(_0x5e283f){if(_0x5e283f){_0x24748c=_0x5e283f;return db[_0xed73('0x53')][_0xed73('0x29')]({'where':{'userProfileId':_0x968892[_0xed73('0x4d')]['id'],'sectionId':_0x968892['query']['ids']}});}})[_0xed73('0x28')](function(){return _0x24748c;})['then'](respondWithStatusCode(_0x3e1785,null))[_0xed73('0x48')](handleError(_0x3e1785,null));};exports[_0xed73('0x61')]=function(_0x448ae9,_0x5e5d0a){return db[_0xed73('0x42')][_0xed73('0x4a')]({'where':{'id':_0x448ae9['params']['id']}})[_0xed73('0x28')](handleEntityNotFound(_0x5e5d0a,null))[_0xed73('0x28')](function(_0x8b7778){if(_0x8b7778){return db[_0xed73('0x51')][_0xed73('0x5c')](function(_0x5ed858){return db[_0xed73('0x53')][_0xed73('0x46')]({'where':{'userProfileId':_0x448ae9[_0xed73('0x4d')]['id']},'attributes':['id'],'raw':!![]})[_0xed73('0x28')](function(_0x13cf5c){if(_0x13cf5c){return db[_0xed73('0x53')][_0xed73('0x29')]({'where':{'userProfileId':_0x448ae9['params']['id'],'id':_[_0xed73('0x57')](_0x13cf5c,function(_0x16d5bf){return _0x16d5bf['id'];})},'transaction':_0x5ed858});}})['then'](function(_0x239aa0){var _0x14a348=_[_0xed73('0x57')](_0x448ae9[_0xed73('0x4c')],function(_0x5c0bda){_0x5c0bda[_0xed73('0x58')]=_0x448ae9[_0xed73('0x4d')]['id'];return _0x5c0bda;});return db[_0xed73('0x53')][_0xed73('0x62')](_0x14a348,{'raw':!![],'transaction':_0x5ed858});})['then'](function(_0x352c72){var _0x328cdd=_[_0xed73('0x3c')](_['map'](_0x352c72,function(_0x968a4e){return _0x968a4e[_0xed73('0x52')]({'plain':!![]});}),{'includeAll':![]});if(_0x328cdd){return db['UserProfileSection'][_0xed73('0x46')]({'where':{'userProfileId':_0x448ae9[_0xed73('0x4d')]['id'],'sectionId':_[_0xed73('0x57')](_0x328cdd,function(_0x1e5db6){return _0x1e5db6[_0xed73('0x5d')];})},'attributes':['id',_0xed73('0x5d')],'raw':!![]})[_0xed73('0x28')](function(_0x38d216){var _0x362d55=_['map'](_0x448ae9[_0xed73('0x4c')],function(_0x29bd63){_0x29bd63[_0xed73('0x58')]=_0x448ae9[_0xed73('0x4d')]['id'];return _0x29bd63;});return db[_0xed73('0x56')][_0xed73('0x62')](_0x362d55,{'raw':!![],'transaction':_0x5ed858});});}})[_0xed73('0x48')](handleError(_0x5e5d0a,null));});}})[_0xed73('0x28')](function(_0x4faea8){var _0x10c9aa=_[_0xed73('0x57')](_0x4faea8,function(_0x35448d){return _0x35448d[_0xed73('0x52')]({'plain':!![]});});})[_0xed73('0x28')](respondWithResult(_0x5e5d0a,null))[_0xed73('0x48')](handleError(_0x5e5d0a,null));};exports[_0xed73('0x63')]=function(_0x2713a6,_0x16b972,_0x1c381c){var _0x5d2c76;return db[_0xed73('0x42')][_0xed73('0x4a')]({'where':{'id':_0x2713a6['params']['id']}})[_0xed73('0x28')](handleEntityNotFound(_0x16b972,null))[_0xed73('0x28')](function(_0x4449e3){if(_0x4449e3){return _0x4449e3[_0xed73('0x63')](_0x2713a6['query'][_0xed73('0x64')]);}})[_0xed73('0x28')](respondWithStatusCode(_0x16b972,null))[_0xed73('0x48')](handleError(_0x16b972,null));};exports['getResources']=function(_0x1d92b3,_0x272ce7){var _0x279fe6={'raw':![],'where':{}};var _0x51ae84={};var _0x160e5f={'count':0x0,'rows':[]};var _0x4baf7c=_0x1d92b3['query'][_0xed73('0x65')];if(typeof _0x4baf7c==='undefined'){throw new db[(_0xed73('0x66'))][(_0xed73('0x67'))](_0xed73('0x68'));}var _0x112a82=_0x1d92b3[_0xed73('0x32')][_0xed73('0x69')]||![];var _0x4c45e4=getQueryModels(_0x4baf7c,_0x112a82);if(typeof _0x4c45e4['childModel']===_0xed73('0x6a')){throw new db[(_0xed73('0x66'))]['ValidationError']('Invalid\x20section\x20\x27'+_0x4baf7c+'\x27');}var _0x9e1a07=[];if(!_[_0xed73('0x6b')](_0x4c45e4[_0xed73('0x6c')])){_0x9e1a07=_0x4c45e4[_0xed73('0x6c')];}else{_0x9e1a07=[{'name':_0x4baf7c}];}return db[_0xed73('0x42')][_0xed73('0x6d')]({'where':{'id':_0x1d92b3['params']['id']}})[_0xed73('0x28')](handleEntityNotFound(_0x272ce7,null))['then'](function(_0x393c13){if(_0x393c13){var _0x6ef368=[];for(var _0x115c99=0x0;_0x115c99<_0x9e1a07['length'];_0x115c99++){_0x6ef368['push'](db[_0xed73('0x53')][_0xed73('0x6d')]({'where':{'userProfileId':_0x393c13['id'],'name':_0x9e1a07[_0x115c99][_0xed73('0x2c')]},'raw':!![]}));}return BPromise[_0xed73('0x6e')](_0x6ef368);}})[_0xed73('0x28')](function(_0x526a4b){var _0x466d2c=_[_0xed73('0x3c')](_0x526a4b,function(_0xc8c62e){return _0xc8c62e?_0xc8c62e:undefined;});var _0x5b09f5=_['filter'](_0x9e1a07,['ignore',!![]]);var _0x49b308=_[_0xed73('0x6b')](_0x466d2c)&&_[_0xed73('0x6b')](_0x5b09f5)?null:_['union'](_0x5b09f5,_0x466d2c);if(_0x49b308){var _0x5e4bc9=[];for(var _0x10e6e7=0x0;_0x10e6e7<_0x49b308['length'];_0x10e6e7++){var _0x276c3b=_[_0xed73('0x4a')](_0x9e1a07,function(_0x2896d2){return _0x49b308[_0x10e6e7]?_0x2896d2[_0xed73('0x2c')]===_0x49b308[_0x10e6e7][_0xed73('0x2c')]:null;});if(_0x276c3b){if(_0x49b308[_0x10e6e7][_0xed73('0x6f')]){_0x5e4bc9[_0xed73('0x5f')](getAllResources(_0x4c45e4[_0xed73('0x70')],_0x49b308[_0x10e6e7]));}else{if(!_0x49b308[_0x10e6e7][_0xed73('0x55')]){_0x5e4bc9['push'](getAllowedResources(_0x276c3b,_0x49b308[_0x10e6e7]));}else{if(_0x276c3b[_0xed73('0x30')]){_0x5e4bc9['push'](getAllFilteredResources(_0x276c3b,_0x49b308[_0x10e6e7]));}}}}}return BPromise[_0xed73('0x6e')](_0x5e4bc9);}else{return null;}})['then'](function(_0x4d61c4){var _0x168ee3=_0x4d61c4;var _0x40218c=null;if(_0x168ee3){_0x40218c=_0x168ee3[_0xed73('0x49')]===0x1?_0x168ee3[0x0]:null;}if(_0x40218c||_0x168ee3){var _0x432c32=db[_0x4c45e4[_0xed73('0x70')]][_0xed73('0x2f')];_0x51ae84[_0xed73('0x30')]=_[_0xed73('0x31')](_0x432c32);_0x51ae84[_0xed73('0x32')]=_[_0xed73('0x31')](_0x1d92b3[_0xed73('0x32')]);_0x51ae84[_0xed73('0x33')]=_[_0xed73('0x34')](_0x51ae84[_0xed73('0x30')],_0x51ae84[_0xed73('0x32')]);_0x279fe6['attributes']=_[_0xed73('0x34')](_0x51ae84['model'],qs[_0xed73('0x36')](_0x1d92b3[_0xed73('0x32')][_0xed73('0x36')]));_0x279fe6['attributes']=_0x279fe6['attributes'][_0xed73('0x49')]?_0x279fe6['attributes']:_0x51ae84[_0xed73('0x30')];if(!_0x1d92b3[_0xed73('0x32')][_0xed73('0x37')](_0xed73('0x38'))){_0x279fe6[_0xed73('0x22')]=qs[_0xed73('0x22')](_0x1d92b3['query'][_0xed73('0x22')]);_0x279fe6[_0xed73('0x21')]=qs[_0xed73('0x21')](_0x1d92b3[_0xed73('0x32')][_0xed73('0x21')]);}_0x279fe6[_0xed73('0x39')]=qs[_0xed73('0x3a')](_0x1d92b3['query'][_0xed73('0x3a')]);_0x279fe6[_0xed73('0x3b')]=qs['filters'](_['pick'](_0x1d92b3[_0xed73('0x32')],_0x51ae84[_0xed73('0x33')]));var _0x4ac90a=[];if(_0x40218c){var _0x173945=_['find'](_0x9e1a07,['name',_0x40218c[_0xed73('0x2c')]]);if(_0x173945[_0xed73('0x40')]){var _0xf514d1={};_0xf514d1[_0x173945[_0xed73('0x71')]]=_0x40218c[_0xed73('0x72')];_0x4ac90a['push'](_0xf514d1);}else{_0x279fe6[_0xed73('0x3b')]['id']=_0x40218c['resourceIds'];}}else{var _0x4ac90a=[];for(var _0x51b3fe=0x0;_0x51b3fe<_0x168ee3[_0xed73('0x49')];_0x51b3fe++){var _0x173945=_[_0xed73('0x4a')](_0x9e1a07,[_0xed73('0x2c'),_0x168ee3[_0x51b3fe][_0xed73('0x2c')]]);if(_0x173945[_0xed73('0x40')]){var _0xf514d1={};if(_0x173945[_0xed73('0x40')]==='id'){_0xf514d1[_0x173945['foreignKey']]=_0x168ee3[_0x51b3fe][_0xed73('0x73')];}else{_0xf514d1[_0x173945[_0xed73('0x71')]]=_0x168ee3[_0x51b3fe][_0xed73('0x72')];}_0x4ac90a[_0xed73('0x5f')](_0xf514d1);}else{if(!_0x279fe6['where']['id'])_0x279fe6['where']['id']=[];_0x168ee3[_0x51b3fe][_0xed73('0x73')]['forEach'](function(_0xea6f50){_0x279fe6[_0xed73('0x3b')]['id'][_0xed73('0x5f')](_0xea6f50);});}}}if(!_['isEmpty'](_0x4ac90a)){_0x279fe6[_0xed73('0x3b')]=_['merge'](_0x279fe6[_0xed73('0x3b')],{'$or':_0x4ac90a});}if(_0x1d92b3[_0xed73('0x32')][_0xed73('0x3c')]){_0x279fe6[_0xed73('0x3b')]=_[_0xed73('0x3d')](_0x279fe6[_0xed73('0x3b')],{'$or':_['map'](_0x432c32,function(_0x1a17da){if(_0x1a17da[_0xed73('0x3e')]['key']!=='VIRTUAL'){var _0x10b817={};_0x10b817[_0x1a17da[_0xed73('0x40')]]={'$like':'%'+_0x1d92b3['query']['filter']+'%'};return _0x10b817;}})});}_0x279fe6=_[_0xed73('0x3d')]({},_0x279fe6,_0x1d92b3[_0xed73('0x41')]);if(_0x40218c&&!_0x40218c[_0xed73('0x55')]&&_0x4c45e4['childModel']===_0xed73('0x74')){if(_0x1d92b3['query'][_0xed73('0x44')]){_0x279fe6[_0xed73('0x45')]=[{'all':!![]}];}return db[_0x4c45e4[_0xed73('0x70')]][_0xed73('0x46')](_0x279fe6)['then'](function(_0x50ebff){var _0x26f75f=[];_0x50ebff[_0xed73('0x75')](function(_0x1ac63a){var _0x11551f;switch(_0x1ac63a['reportType']){case _0xed73('0x76'):_0x11551f=_[_0xed73('0x4a')](_0x40218c[_0xed73('0x73')],function(_0x20f66f){return _0x20f66f['id']===_0x1ac63a['reportId']&&_0x20f66f[_0xed73('0x3e')]===_0xed73('0x77');});break;case'custom':_0x11551f=_[_0xed73('0x4a')](_0x40218c[_0xed73('0x73')],function(_0x53b81c){return _0x53b81c['id']===_0x1ac63a[_0xed73('0x78')]&&_0x53b81c[_0xed73('0x3e')]==='CustomReports';});break;}if(_0x11551f)_0x26f75f[_0xed73('0x5f')](_0x1ac63a);});_0x160e5f[_0xed73('0x43')]=_0x26f75f[_0xed73('0x49')];_0x160e5f[_0xed73('0x47')]=_0x26f75f;return _0x160e5f;});}else{return db[_0x4c45e4['childModel']]['count']({'where':_0x279fe6['where']})[_0xed73('0x28')](function(_0x1022ef){_0x160e5f['count']=_0x1022ef;if(_0x1d92b3['query'][_0xed73('0x44')]){if(_0x4c45e4[_0xed73('0x70')]===_0xed73('0x79')){_0x279fe6[_0xed73('0x45')]=[{'model':db[_0xed73('0x7a')],'as':_0xed73('0x7b'),'attributes':['id','name',_0xed73('0x7c')],'required':_0x1d92b3[_0xed73('0x32')][_0xed73('0x7d')]?!![]:![]},{'model':db[_0xed73('0x7a')],'as':'ThroughTags','attributes':['id','name','color'],'through':_0x1d92b3[_0xed73('0x32')][_0xed73('0x7d')]?{'attributes':[],'where':{'TagId':_0x1d92b3[_0xed73('0x32')][_0xed73('0x7d')]||undefined}}:{},'required':_0x1d92b3[_0xed73('0x32')][_0xed73('0x7d')]?!![]:![]}];}else{_0x279fe6[_0xed73('0x45')]=[{'all':!![]}];}}return db[_0x4c45e4['childModel']][_0xed73('0x46')](_0x279fe6);})[_0xed73('0x28')](function(_0x3637eb){_0x160e5f[_0xed73('0x47')]=_0x3637eb;return _0x160e5f;});}}else{return _0x160e5f;}})['then'](respondWithFilteredResult(_0x272ce7,_0x279fe6))['catch'](handleError(_0x272ce7,null));};function getAllResources(_0x12157d,_0x32385f){return new BPromise(function(_0x2cf504,_0x37911d){if(_0x32385f){var _0x17e359=_0x32385f[_0xed73('0x3c')]?{[_0x32385f[_0xed73('0x3c')]['field']]:_0x32385f[_0xed73('0x3c')][_0xed73('0x7e')]}:undefined;return db[_0x12157d]['findAll']({'where':_0x17e359,'raw':!![]})[_0xed73('0x28')](function(_0xdd29eb){_0x32385f['resourceIds']=_[_0xed73('0x57')](_0xdd29eb,'id');_0x2cf504(_0x32385f);})[_0xed73('0x48')](function(_0x71eb3b){_0x37911d(_0x71eb3b);});}else{_0x2cf504(null);}});}function getAllFilteredResources(_0x4119d4,_0x54269b){return new BPromise(function(_0x5bef81,_0x3ce3eb){var _0x383876=_0x4119d4['filter']?{[_0x4119d4[_0xed73('0x3c')][_0xed73('0x40')]]:_0x4119d4[_0xed73('0x3c')][_0xed73('0x7e')]}:undefined;return db[_0x4119d4[_0xed73('0x30')]][_0xed73('0x46')]({'where':_0x383876,'raw':!![]})[_0xed73('0x28')](function(_0x11f1fa){_0x54269b[_0xed73('0x72')]=_[_0xed73('0x57')](_0x11f1fa,function(_0x2e111c){return _0x2e111c[_0xed73('0x2c')];});_0x5bef81(_0x54269b);})[_0xed73('0x48')](function(_0xd3737f){_0x3ce3eb(_0xd3737f);});});}function getAllowedResources(_0x6df47d,_0x1be846){return new BPromise(function(_0x5646eb,_0x4fead7){if(_0x1be846){return db[_0xed73('0x56')][_0xed73('0x46')]({'where':{'sectionId':_0x1be846['id']},'raw':!![]})['then'](function(_0x1426fa){if(_0x6df47d['field']&&_0x6df47d[_0xed73('0x40')]!=='id'){_0x1be846['resourceFields']=_['map'](_0x1426fa,function(_0x9b166d){return _0x9b166d[_0x6df47d[_0xed73('0x40')]];});}else{if(_0x6df47d[_0xed73('0x70')]===_0xed73('0x74')){_0x1be846[_0xed73('0x73')]=_['map'](_0x1426fa,function(_0x237baf){return{'id':_0x237baf[_0xed73('0x7f')],'type':_0x237baf['type']};});}else{_0x1be846[_0xed73('0x73')]=_[_0xed73('0x57')](_0x1426fa,function(_0x50cf3e){return _0x50cf3e[_0xed73('0x7f')];});}}_0x5646eb(_0x1be846);})[_0xed73('0x48')](function(_0x2373fc){_0x4fead7(_0x2373fc);});}else{_0x5646eb(null);}});}function getQueryModels(_0x2c221c,_0x31abdb){var _0x54c719=_0x2c221c[_0xed73('0x80')]();var _0x21a5c4={'childModel':undefined,'parentSections':[]};switch(_0x54c719){case _0xed73('0x81'):_0x21a5c4['childModel']='SquareProject';break;case'odbc':_0x21a5c4[_0xed73('0x70')]=_0xed73('0x82');break;case'squarerecordings':_0x21a5c4['childModel']='SquareRecording';_0x21a5c4[_0xed73('0x6c')]=[{'name':_0xed73('0x83'),'field':'name','foreignKey':_0xed73('0x84')}];break;case _0xed73('0x85'):_0x21a5c4['childModel']=_0xed73('0x86');break;case _0xed73('0x87'):_0x21a5c4['childModel']='CmContact';_0x21a5c4['parentSections']=[{'name':_0xed73('0x88'),'field':'id','foreignKey':_0xed73('0x89')}];break;case _0xed73('0x8a'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0x8b');break;case _0xed73('0x8c'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0x8d');break;case _0xed73('0x8e'):_0x21a5c4['childModel']=_0xed73('0x8f');break;case _0xed73('0x90'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0x91');break;case _0xed73('0x92'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0x93');break;case'faxqueues':_0x21a5c4[_0xed73('0x70')]='FaxQueue';break;case'faxaccounts':_0x21a5c4['childModel']='FaxAccount';break;case _0xed73('0x94'):case'internalroutes':case _0xed73('0x95'):_0x21a5c4['childModel']=_0xed73('0x96');break;case _0xed73('0x97'):_0x21a5c4['childModel']=_0xed73('0x98');break;case _0xed73('0x99'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0x9a');break;case _0xed73('0x9b'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0x9c');_0x21a5c4[_0xed73('0x6c')]=[{'name':'Agents','field':_0xed73('0x2c'),'foreignKey':_0xed73('0x9d'),'model':_0xed73('0x9e'),'filter':{'field':_0xed73('0x9f'),'value':[_0xed73('0xa0')]}},{'name':'Telephones','field':_0xed73('0x2c'),'foreignKey':'membername','model':_0xed73('0x9e'),'filter':{'field':_0xed73('0x9f'),'value':['telephone']}},{'name':_0xed73('0xa1'),'field':_0xed73('0x2c'),'foreignKey':_0xed73('0xa2'),'model':'VoiceQueue','filter':{'field':_0xed73('0x3e'),'value':[_0xed73('0xa3')]}},{'name':_0xed73('0xa4'),'field':'name','foreignKey':_0xed73('0xa2'),'model':_0xed73('0xa5'),'filter':{'field':_0xed73('0x3e'),'value':[_0xed73('0xa6')]}}];break;case _0xed73('0xa7'):_0x21a5c4[_0xed73('0x70')]='VoiceMusicOnHold';break;case _0xed73('0xa8'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xa9');break;case _0xed73('0xaa'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xab');break;case _0xed73('0xac'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xad');break;case'mailqueues':_0x21a5c4['childModel']=_0xed73('0xae');break;case'mailaccounts':_0x21a5c4[_0xed73('0x70')]='MailAccount';break;case _0xed73('0xaf'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xb0');break;case'openchannelqueues':_0x21a5c4[_0xed73('0x70')]='OpenchannelQueue';break;case _0xed73('0xb1'):_0x21a5c4[_0xed73('0x70')]='OpenchannelAccount';break;case _0xed73('0xb2'):_0x21a5c4[_0xed73('0x70')]='SmsQueue';break;case _0xed73('0xb3'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xb4');break;case _0xed73('0xb5'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xb6');break;case _0xed73('0xb7'):case _0xed73('0xb8'):_0x21a5c4[_0xed73('0x70')]='VoiceQueue';if(_0x31abdb){_0x21a5c4[_0xed73('0x6c')]=[{'name':_0xed73('0xa1')},{'name':'QueueCampaigns'}];}break;case _0xed73('0xb9'):case _0xed73('0xba'):case _0xed73('0xbb'):_0x21a5c4['childModel']=_0xed73('0x9e');if(_0x31abdb){_0x21a5c4[_0xed73('0x6c')]=[{'name':'Users','filter':{'field':_0xed73('0x9f'),'value':[_0xed73('0xbc'),_0xed73('0xbd')]},'ignore':!![]},{'name':_0xed73('0xbe')},{'name':'Telephones'}];}break;case _0xed73('0xbf'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xc0');break;case'salesforceaccounts':_0x21a5c4['childModel']=_0xed73('0xc1');break;case _0xed73('0xc2'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xc3');break;case _0xed73('0xc4'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xc5');break;case _0xed73('0xc6'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xc7');break;case _0xed73('0xc8'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xc9');break;case'vtigeraccounts':_0x21a5c4[_0xed73('0x70')]='User';break;case _0xed73('0xca'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xcb');break;case _0xed73('0xcc'):_0x21a5c4[_0xed73('0x70')]='Disposition';break;case _0xed73('0xcd'):_0x21a5c4[_0xed73('0x70')]='Dashboard';break;case _0xed73('0xce'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xcf');break;case _0xed73('0xd0'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xd1');break;case _0xed73('0xd2'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xd3');break;case _0xed73('0xd4'):_0x21a5c4['childModel']=_0xed73('0xd5');break;case _0xed73('0xd6'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0x7a');break;case'templates':_0x21a5c4['childModel']=_0xed73('0xd7');break;case _0xed73('0xd8'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xd9');break;case _0xed73('0xda'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xdb');break;case _0xed73('0xdc'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xdd');break;case _0xed73('0xde'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0xdf');break;case _0xed73('0xe0'):_0x21a5c4[_0xed73('0x70')]=_0xed73('0x74');_0x21a5c4[_0xed73('0x6c')]=[{'name':'Reports','field':'id','foreignKey':_0xed73('0x78')}];break;case'metrics':_0x21a5c4[_0xed73('0x70')]='AnalyticMetric';break;default:return _0x21a5c4;}return _0x21a5c4;}