Built motion from commit (unavailable).|2.3.1
[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 _0xc0c3=['intervals','Interval','pauses','Pause','Schedule','sounds','Sound','tags','templates','Template','Trigger','trunks','Variable','plugins','Plugin','Reports','metrics','eml-format','rimraf','zip-dir','fast-json-patch','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','querystring','papaparse','../../components/auth/service','ioredis','api','../../config/utils','redis','localhost','socket.io-emitter','./userProfile.socket','register','sendStatus','status','json','offset','limit','set','Content-Range','reject','update','then','destroy','end','error','stack','name','send','rawAttributes','model','keys','intersection','query','attributes','fields','hasOwnProperty','nolimit','order','sort','filters','filter','where','merge','map','key','VIRTUAL','options','UserProfile','count','include','findAll','rows','catch','params','find','create','body','length','get','omit','updatedAt','crudPermissions','sequelize','transaction','includeAll','UserProfileSection','each','autoAssociation','UserProfileResource','createdAt','sectionId','Resources','describe','addSections','push','removeSections','ids','addResources','userProfileId','bulkCreate','removeResources','getResources','section','undefined','Sequelize','ValidationError','Unknown\x20section','mergeResources','Invalid\x20section\x20\x27','findOne','all','ignore','isEmpty','childModel','pick','field','foreignKey','resourceIds','resourceFields','forEach','type','AnalyticExtractedReport','default','reportId','DefaultReports','custom','CmContact','Tags','tag','Tag','ThroughTags','color','value','resourceId','toLowerCase','squareprojects','SquareProject','odbc','SquareOdbc','squarerecordings','SquareRecording','parentSections','SquareProjects','projectName','projects','ListId','lists','CmList','companies','CmCompany','ChatQueue','chatwebsites','faxqueues','FaxQueue','faxaccounts','FaxAccount','inboundroutes','internalroutes','outboundroutes','VoiceExtension','contexts','VoiceContext','voicemails','VoiceMail','voicerecordings','VoiceRecording','Agents','membername','User','agent','Telephones','role','telephone','VoiceQueues','QueueCampaigns','queue','VoiceQueue','outbound','musiconholds','VoiceMusicOnHold','chanspies','VoiceChanSpy','VoicePrefix','ivrcampaigns','Campaign','mailqueues','MailQueue','mailaccounts','MailAccount','mailsubstatuses','openchannelqueues','OpenchannelQueue','openchannelaccounts','smsqueues','SmsQueue','smsaccounts','SmsAccount','teams','Team','voicequeues','queuecampaigns','users','Users','admin','zendeskaccounts','ZendeskAccount','salesforceaccounts','freshdeskaccounts','sugarcrmaccounts','SugarcrmAccount','deskaccounts','DeskAccount','zohoaccounts','ZohoAccount','vtigeraccounts','dispositions','Disposition','customdashboards','Dashboard'];(function(_0x2823f8,_0x1370e6){var _0x545b48=function(_0xbb753f){while(--_0xbb753f){_0x2823f8['push'](_0x2823f8['shift']());}};_0x545b48(++_0x1370e6);}(_0xc0c3,0xf6));var _0x3c0c=function(_0x473d6e,_0x3e4f2a){_0x473d6e=_0x473d6e-0x0;var _0x54a1db=_0xc0c3[_0x473d6e];return _0x54a1db;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x3c0c('0x0'));var rimraf=require(_0x3c0c('0x1'));var zipdir=require(_0x3c0c('0x2'));var jsonpatch=require(_0x3c0c('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require(_0x3c0c('0x4'));var Mustache=require(_0x3c0c('0x5'));var util=require(_0x3c0c('0x6'));var path=require(_0x3c0c('0x7'));var sox=require(_0x3c0c('0x8'));var csv=require(_0x3c0c('0x9'));var ejs=require(_0x3c0c('0xa'));var fs=require('fs');var _=require(_0x3c0c('0xb'));var squel=require(_0x3c0c('0xc'));var crypto=require(_0x3c0c('0xd'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0x3c0c('0x9'));var querystring=require(_0x3c0c('0xe'));var Papa=require(_0x3c0c('0xf'));var authService=require(_0x3c0c('0x10'));var hardwareService=require('../../config/license/hardware');var Redis=require(_0x3c0c('0x11'));var qs=require('../../components/parsers/qs');var logger=require('../../config/logger')(_0x3c0c('0x12'));var utils=require(_0x3c0c('0x13'));var config=require('../../config/environment');var db=require('../../mysqldb')['db'];config['redis']=_['defaults'](config[_0x3c0c('0x14')],{'host':_0x3c0c('0x15'),'port':0x18eb});var socket=require(_0x3c0c('0x16'))(new Redis(config[_0x3c0c('0x14')]));require(_0x3c0c('0x17'))[_0x3c0c('0x18')](socket);function respondWithStatusCode(_0x6d2c74,_0x437fdf){_0x437fdf=_0x437fdf||0xcc;return function(_0x1a2e12){if(_0x1a2e12){return _0x6d2c74[_0x3c0c('0x19')](_0x437fdf);}return _0x6d2c74[_0x3c0c('0x1a')](_0x437fdf)['end']();};}function respondWithResult(_0x26daf4,_0x222365){_0x222365=_0x222365||0xc8;return function(_0x40b1ca){if(_0x40b1ca){return _0x26daf4[_0x3c0c('0x1a')](_0x222365)[_0x3c0c('0x1b')](_0x40b1ca);}};}function respondWithFilteredResult(_0xb6e50a,_0x379d67){return function(_0x192928){if(_0x192928){var _0x2e0868=_0x192928['count'],_0x2260ed=_0x379d67[_0x3c0c('0x1c')],_0x50b64c=_0x379d67[_0x3c0c('0x1c')]+_0x379d67[_0x3c0c('0x1d')],_0x2fb72f;if(_0x50b64c>=_0x2e0868){_0x50b64c=_0x2e0868;_0x2fb72f=0xc8;}else{_0x2fb72f=0xce;}_0xb6e50a[_0x3c0c('0x1a')](_0x2fb72f);return _0xb6e50a[_0x3c0c('0x1e')](_0x3c0c('0x1f'),_0x2260ed+'-'+_0x50b64c+'/'+_0x2e0868)[_0x3c0c('0x1b')](_0x192928);}return null;};}function patchUpdates(_0x4ca727){return function(_0x38c4fc){try{jsonpatch['apply'](_0x38c4fc,_0x4ca727,!![]);}catch(_0x567f10){return BPromise[_0x3c0c('0x20')](_0x567f10);}return _0x38c4fc['save']();};}function saveUpdates(_0x2aa72d,_0x34bdfb){return function(_0x493359){if(_0x493359){return _0x493359[_0x3c0c('0x21')](_0x2aa72d)[_0x3c0c('0x22')](function(_0x3628af){return _0x3628af;});}return null;};}function removeEntity(_0x286688,_0x1c21d3){return function(_0xc205c6){if(_0xc205c6){return _0xc205c6[_0x3c0c('0x23')]()[_0x3c0c('0x22')](function(){_0x286688[_0x3c0c('0x1a')](0xcc)[_0x3c0c('0x24')]();});}};}function handleEntityNotFound(_0x3e3cab,_0x4b8d4c){return function(_0xce1ef6){if(!_0xce1ef6){_0x3e3cab[_0x3c0c('0x19')](0x194);}return _0xce1ef6;};}function handleError(_0x4a89bf,_0x4abb72){_0x4abb72=_0x4abb72||0x1f4;return function(_0x5c3b0a){logger[_0x3c0c('0x25')](_0x5c3b0a[_0x3c0c('0x26')]);if(_0x5c3b0a[_0x3c0c('0x27')]){delete _0x5c3b0a[_0x3c0c('0x27')];}_0x4a89bf[_0x3c0c('0x1a')](_0x4abb72)[_0x3c0c('0x28')](_0x5c3b0a);};}exports['index']=function(_0x100423,_0x1960bb){var _0x12bd0b={},_0xae22e1={},_0x5bbfcd={'count':0x0,'rows':[]};var _0x11a206=db['UserProfile'][_0x3c0c('0x29')];_0xae22e1[_0x3c0c('0x2a')]=_[_0x3c0c('0x2b')](_0x11a206);_0xae22e1['query']=_[_0x3c0c('0x2b')](_0x100423['query']);_0xae22e1['filters']=_[_0x3c0c('0x2c')](_0xae22e1[_0x3c0c('0x2a')],_0xae22e1[_0x3c0c('0x2d')]);_0x12bd0b[_0x3c0c('0x2e')]=_[_0x3c0c('0x2c')](_0xae22e1[_0x3c0c('0x2a')],qs[_0x3c0c('0x2f')](_0x100423[_0x3c0c('0x2d')]['fields']));_0x12bd0b[_0x3c0c('0x2e')]=_0x12bd0b[_0x3c0c('0x2e')]['length']?_0x12bd0b[_0x3c0c('0x2e')]:_0xae22e1[_0x3c0c('0x2a')];if(!_0x100423[_0x3c0c('0x2d')][_0x3c0c('0x30')](_0x3c0c('0x31'))){_0x12bd0b[_0x3c0c('0x1d')]=qs[_0x3c0c('0x1d')](_0x100423[_0x3c0c('0x2d')][_0x3c0c('0x1d')]);_0x12bd0b['offset']=qs[_0x3c0c('0x1c')](_0x100423[_0x3c0c('0x2d')][_0x3c0c('0x1c')]);}_0x12bd0b[_0x3c0c('0x32')]=qs['sort'](_0x100423[_0x3c0c('0x2d')][_0x3c0c('0x33')]);_0x12bd0b['where']=qs[_0x3c0c('0x34')](_['pick'](_0x100423[_0x3c0c('0x2d')],_0xae22e1[_0x3c0c('0x34')]));if(_0x100423['query'][_0x3c0c('0x35')]){_0x12bd0b[_0x3c0c('0x36')]=_[_0x3c0c('0x37')](_0x12bd0b['where'],{'$or':_[_0x3c0c('0x38')](_0x11a206,function(_0x2e0da3){if(_0x2e0da3['type'][_0x3c0c('0x39')]!==_0x3c0c('0x3a')){var _0x1befe7={};_0x1befe7[_0x2e0da3['field']]={'$like':'%'+_0x100423[_0x3c0c('0x2d')][_0x3c0c('0x35')]+'%'};return _0x1befe7;}})});}_0x12bd0b=_[_0x3c0c('0x37')]({},_0x12bd0b,_0x100423[_0x3c0c('0x3b')]);var _0x5a9395={'where':_0x12bd0b[_0x3c0c('0x36')]};return db[_0x3c0c('0x3c')][_0x3c0c('0x3d')](_0x5a9395)[_0x3c0c('0x22')](function(_0xb2cb1f){_0x5bbfcd[_0x3c0c('0x3d')]=_0xb2cb1f;if(_0x100423[_0x3c0c('0x2d')]['includeAll']){_0x12bd0b[_0x3c0c('0x3e')]=[{'all':!![]}];}return db[_0x3c0c('0x3c')][_0x3c0c('0x3f')](_0x12bd0b);})[_0x3c0c('0x22')](function(_0x10bd22){_0x5bbfcd[_0x3c0c('0x40')]=_0x10bd22;return _0x5bbfcd;})[_0x3c0c('0x22')](respondWithFilteredResult(_0x1960bb,_0x12bd0b))[_0x3c0c('0x41')](handleError(_0x1960bb,null));};exports['show']=function(_0x3510c6,_0x48b582){var _0xce611a={'raw':![],'where':{'id':_0x3510c6[_0x3c0c('0x42')]['id']}},_0x583007={};_0x583007[_0x3c0c('0x2a')]=_[_0x3c0c('0x2b')](db[_0x3c0c('0x3c')][_0x3c0c('0x29')]);_0x583007[_0x3c0c('0x2d')]=_[_0x3c0c('0x2b')](_0x3510c6[_0x3c0c('0x2d')]);_0x583007[_0x3c0c('0x34')]=_[_0x3c0c('0x2c')](_0x583007['model'],_0x583007['query']);_0xce611a[_0x3c0c('0x2e')]=_[_0x3c0c('0x2c')](_0x583007[_0x3c0c('0x2a')],qs[_0x3c0c('0x2f')](_0x3510c6[_0x3c0c('0x2d')][_0x3c0c('0x2f')]));_0xce611a['attributes']=_0xce611a[_0x3c0c('0x2e')]['length']?_0xce611a[_0x3c0c('0x2e')]:_0x583007[_0x3c0c('0x2a')];if(_0x3510c6[_0x3c0c('0x2d')]['includeAll']){_0xce611a['include']=[{'all':!![]}];}_0xce611a=_[_0x3c0c('0x37')]({},_0xce611a,_0x3510c6['options']);return db['UserProfile'][_0x3c0c('0x43')](_0xce611a)[_0x3c0c('0x22')](handleEntityNotFound(_0x48b582,null))['then'](respondWithResult(_0x48b582,null))[_0x3c0c('0x41')](handleError(_0x48b582,null));};exports[_0x3c0c('0x44')]=function(_0x253881,_0xc70e7e){return db[_0x3c0c('0x3c')][_0x3c0c('0x44')](_0x253881[_0x3c0c('0x45')],{})[_0x3c0c('0x22')](respondWithResult(_0xc70e7e,0xc9))[_0x3c0c('0x41')](handleError(_0xc70e7e,null));};exports['clone']=function(_0x35f42b,_0x27f484){var _0x2ba87c={'raw':![],'where':{'id':_0x35f42b[_0x3c0c('0x42')]['id']}},_0x2e0bdd={};_0x2e0bdd[_0x3c0c('0x2a')]=_[_0x3c0c('0x2b')](db[_0x3c0c('0x3c')][_0x3c0c('0x29')]);_0x2ba87c[_0x3c0c('0x2e')]=_[_0x3c0c('0x2c')](_0x2e0bdd[_0x3c0c('0x2a')],qs[_0x3c0c('0x2f')](_0x35f42b[_0x3c0c('0x2d')][_0x3c0c('0x2f')]));_0x2ba87c['attributes']=_0x2ba87c[_0x3c0c('0x2e')][_0x3c0c('0x46')]?_0x2ba87c[_0x3c0c('0x2e')]:_0x2e0bdd[_0x3c0c('0x2a')];if(_0x35f42b['query']['includeAll']){_0x2ba87c[_0x3c0c('0x3e')]=[{'all':!![]}];}_0x2ba87c=_[_0x3c0c('0x37')]({},_0x2ba87c,_0x35f42b[_0x3c0c('0x3b')]);return db[_0x3c0c('0x3c')][_0x3c0c('0x43')](_0x2ba87c)[_0x3c0c('0x22')](handleEntityNotFound(_0x27f484,null))[_0x3c0c('0x22')](function(_0x491826){if(_0x491826){var _0x67e43d=_0x491826[_0x3c0c('0x47')]({'plain':!![]});_0x67e43d=qs[_0x3c0c('0x48')](_0x67e43d,['id','createdAt',_0x3c0c('0x49'),_0x3c0c('0x4a')]);_0x35f42b[_0x3c0c('0x45')]=_['omit'](_0x35f42b[_0x3c0c('0x45')],['id','createdAt',_0x3c0c('0x49')]);return db[_0x3c0c('0x4b')][_0x3c0c('0x4c')](function(_0x3d7ee0){return db[_0x3c0c('0x3c')][_0x3c0c('0x44')](_[_0x3c0c('0x37')](_0x67e43d,_0x35f42b['body']),{'include':_0x35f42b[_0x3c0c('0x2d')][_0x3c0c('0x4d')]?[{'all':!![]}]:undefined,'transaction':_0x3d7ee0})[_0x3c0c('0x22')](function(_0x4303cb){var _0x523de4=_0x4303cb['get']({'plain':!![]});return db[_0x3c0c('0x4e')][_0x3c0c('0x3f')]({'where':{'userProfileId':_0x35f42b['params']['id']},'raw':!![]})['then'](function(_0x91798){if(_0x91798){return BPromise[_0x3c0c('0x4f')](_0x91798,function(_0x5aee8e){return new BPromise(function(_0x18d403,_0x33f015){if(_0x5aee8e[_0x3c0c('0x50')]===null||_0x5aee8e[_0x3c0c('0x50')]===0x1)_0x18d403(null);return db[_0x3c0c('0x51')][_0x3c0c('0x3f')]({'where':{'sectionId':_0x5aee8e['id']},'raw':!![]})[_0x3c0c('0x22')](function(_0x17483f){var _0x5dc4c5=_[_0x3c0c('0x38')](_0x17483f,function(_0x2fa6f6){return qs['omit'](_0x2fa6f6,['id',_0x3c0c('0x52'),'updatedAt',_0x3c0c('0x53')]);});_0x18d403(_0x5dc4c5);})[_0x3c0c('0x41')](function(_0x5f2fc1){_0x33f015(_0x5f2fc1);});})[_0x3c0c('0x22')](function(_0x503584){var _0x450639=qs['omit'](_0x5aee8e,['id',_0x3c0c('0x52'),_0x3c0c('0x49')]);_0x450639['userProfileId']=_0x523de4['id'];if(_0x503584)_0x450639[_0x3c0c('0x54')]=_0x503584;return _0x450639;})[_0x3c0c('0x22')](function(_0x2d2199){return db[_0x3c0c('0x4e')][_0x3c0c('0x44')](_0x2d2199,{'include':[{'model':db['UserProfileResource'],'as':'Resources'}],'raw':!![],'transaction':_0x3d7ee0});});})[_0x3c0c('0x22')](function(){return _0x523de4;});}});});});}})[_0x3c0c('0x22')](respondWithResult(_0x27f484,0xc9))[_0x3c0c('0x41')](handleError(_0x27f484,null));};exports['update']=function(_0x164913,_0x3f9e07){if(_0x164913[_0x3c0c('0x45')]['id']){delete _0x164913[_0x3c0c('0x45')]['id'];}return db[_0x3c0c('0x3c')][_0x3c0c('0x43')]({'where':{'id':_0x164913[_0x3c0c('0x42')]['id']}})[_0x3c0c('0x22')](handleEntityNotFound(_0x3f9e07,null))['then'](saveUpdates(_0x164913[_0x3c0c('0x45')],null))[_0x3c0c('0x22')](respondWithResult(_0x3f9e07,null))['catch'](handleError(_0x3f9e07,null));};exports[_0x3c0c('0x23')]=function(_0x5802f2,_0x92dc22){return db['UserProfile'][_0x3c0c('0x43')]({'where':{'id':_0x5802f2[_0x3c0c('0x42')]['id']}})['then'](handleEntityNotFound(_0x92dc22,null))[_0x3c0c('0x22')](removeEntity(_0x92dc22,null))[_0x3c0c('0x41')](handleError(_0x92dc22,null));};exports[_0x3c0c('0x55')]=function(_0x5b2a60,_0x1363ed){return db[_0x3c0c('0x3c')][_0x3c0c('0x55')]()[_0x3c0c('0x22')](respondWithResult(_0x1363ed,null))['catch'](handleError(_0x1363ed,null));};exports[_0x3c0c('0x56')]=function(_0x104f9f,_0x22a807){var _0x34a4b2=_0x104f9f['body'];return db['UserProfile'][_0x3c0c('0x43')]({'where':{'id':_0x104f9f[_0x3c0c('0x42')]['id']}})[_0x3c0c('0x22')](handleEntityNotFound(_0x22a807,null))[_0x3c0c('0x22')](function(_0x54f72d){if(_0x54f72d){return db[_0x3c0c('0x4b')]['transaction'](function(_0x163440){return db['UserProfileSection']['destroy']({'where':{'userProfileId':_0x104f9f[_0x3c0c('0x42')]['id'],'sectionId':_['map'](_0x34a4b2,function(_0x14fb4b){return _0x14fb4b[_0x3c0c('0x53')];})},'transaction':_0x163440})[_0x3c0c('0x22')](function(){var _0x1169af=_[_0x3c0c('0x38')](_0x34a4b2,function(_0x51bdc8){_0x51bdc8['userProfileId']=_0x104f9f[_0x3c0c('0x42')]['id'];return _0x51bdc8;});var _0x20d94f=[];return BPromise[_0x3c0c('0x4f')](_0x1169af,function(_0x283a69){return db[_0x3c0c('0x4e')][_0x3c0c('0x44')](_0x283a69,{'include':[{'model':db[_0x3c0c('0x51')],'as':_0x3c0c('0x54')}],'raw':!![],'transaction':_0x163440})[_0x3c0c('0x22')](function(_0x146efd){_0x20d94f[_0x3c0c('0x57')](_0x146efd['get']({'plain':!![]}));});})[_0x3c0c('0x22')](function(){return _0x20d94f;});});});}})[_0x3c0c('0x22')](function(_0x2c5974){return _0x2c5974;})[_0x3c0c('0x22')](respondWithResult(_0x22a807,null))[_0x3c0c('0x41')](handleError(_0x22a807,null));};exports[_0x3c0c('0x58')]=function(_0x493741,_0x4f3c7d){var _0x5c3e83;return db[_0x3c0c('0x3c')]['find']({'where':{'id':_0x493741[_0x3c0c('0x42')]['id']},'attributes':['id',_0x3c0c('0x27')]})[_0x3c0c('0x22')](handleEntityNotFound(_0x4f3c7d,null))[_0x3c0c('0x22')](function(_0x597b3d){if(_0x597b3d){_0x5c3e83=_0x597b3d;return db[_0x3c0c('0x4e')][_0x3c0c('0x23')]({'where':{'userProfileId':_0x493741[_0x3c0c('0x42')]['id'],'sectionId':_0x493741['query'][_0x3c0c('0x59')]}});}})['then'](function(){return _0x5c3e83;})[_0x3c0c('0x22')](respondWithStatusCode(_0x4f3c7d,null))[_0x3c0c('0x41')](handleError(_0x4f3c7d,null));};exports[_0x3c0c('0x5a')]=function(_0x3dc342,_0xdf1b83){return db[_0x3c0c('0x3c')]['find']({'where':{'id':_0x3dc342[_0x3c0c('0x42')]['id']}})['then'](handleEntityNotFound(_0xdf1b83,null))[_0x3c0c('0x22')](function(_0x35084e){if(_0x35084e){return db['sequelize'][_0x3c0c('0x4c')](function(_0x4904ff){return db['UserProfileSection']['findAll']({'where':{'userProfileId':_0x3dc342[_0x3c0c('0x42')]['id']},'attributes':['id'],'raw':!![]})[_0x3c0c('0x22')](function(_0x5e51cc){if(_0x5e51cc){return db[_0x3c0c('0x4e')][_0x3c0c('0x23')]({'where':{'userProfileId':_0x3dc342['params']['id'],'id':_[_0x3c0c('0x38')](_0x5e51cc,function(_0x9d1e62){return _0x9d1e62['id'];})},'transaction':_0x4904ff});}})[_0x3c0c('0x22')](function(_0x5d01a8){var _0xa54497=_[_0x3c0c('0x38')](_0x3dc342[_0x3c0c('0x45')],function(_0x5d87f7){_0x5d87f7[_0x3c0c('0x5b')]=_0x3dc342[_0x3c0c('0x42')]['id'];return _0x5d87f7;});return db[_0x3c0c('0x4e')]['bulkCreate'](_0xa54497,{'raw':!![],'transaction':_0x4904ff});})[_0x3c0c('0x22')](function(_0x48473a){var _0x484c7b=_[_0x3c0c('0x35')](_[_0x3c0c('0x38')](_0x48473a,function(_0x5ea94a){return _0x5ea94a[_0x3c0c('0x47')]({'plain':!![]});}),{'includeAll':![]});if(_0x484c7b){return db[_0x3c0c('0x4e')][_0x3c0c('0x3f')]({'where':{'userProfileId':_0x3dc342[_0x3c0c('0x42')]['id'],'sectionId':_[_0x3c0c('0x38')](_0x484c7b,function(_0x54e63b){return _0x54e63b[_0x3c0c('0x53')];})},'attributes':['id',_0x3c0c('0x53')],'raw':!![]})[_0x3c0c('0x22')](function(_0x575156){var _0x1ab756=_[_0x3c0c('0x38')](_0x3dc342[_0x3c0c('0x45')],function(_0x469e10){_0x469e10[_0x3c0c('0x5b')]=_0x3dc342[_0x3c0c('0x42')]['id'];return _0x469e10;});return db[_0x3c0c('0x51')][_0x3c0c('0x5c')](_0x1ab756,{'raw':!![],'transaction':_0x4904ff});});}})[_0x3c0c('0x41')](handleError(_0xdf1b83,null));});}})['then'](function(_0x43ade1){var _0x283b82=_[_0x3c0c('0x38')](_0x43ade1,function(_0x472f28){return _0x472f28[_0x3c0c('0x47')]({'plain':!![]});});})[_0x3c0c('0x22')](respondWithResult(_0xdf1b83,null))['catch'](handleError(_0xdf1b83,null));};exports[_0x3c0c('0x5d')]=function(_0xe9db1f,_0x253a0f,_0x2587b0){var _0x443f6f;return db[_0x3c0c('0x3c')][_0x3c0c('0x43')]({'where':{'id':_0xe9db1f['params']['id']}})[_0x3c0c('0x22')](handleEntityNotFound(_0x253a0f,null))['then'](function(_0x12472c){if(_0x12472c){return _0x12472c[_0x3c0c('0x5d')](_0xe9db1f[_0x3c0c('0x2d')]['ids']);}})['then'](respondWithStatusCode(_0x253a0f,null))['catch'](handleError(_0x253a0f,null));};exports[_0x3c0c('0x5e')]=function(_0x4deb23,_0x512bb7){var _0x5138a3={'raw':![],'where':{}};var _0x4cdbde={};var _0xad9c49={'count':0x0,'rows':[]};var _0x33a9f9=_0x4deb23[_0x3c0c('0x2d')][_0x3c0c('0x5f')];if(typeof _0x33a9f9===_0x3c0c('0x60')){throw new db[(_0x3c0c('0x61'))][(_0x3c0c('0x62'))](_0x3c0c('0x63'));}var _0xacd24e=_0x4deb23[_0x3c0c('0x2d')][_0x3c0c('0x64')]||![];var _0x133deb=getQueryModels(_0x33a9f9,_0xacd24e);if(typeof _0x133deb['childModel']===_0x3c0c('0x60')){throw new db['Sequelize'][(_0x3c0c('0x62'))](_0x3c0c('0x65')+_0x33a9f9+'\x27');}var _0x56897f=[];if(!_['isEmpty'](_0x133deb['parentSections'])){_0x56897f=_0x133deb['parentSections'];}else{_0x56897f=[{'name':_0x33a9f9}];}return db['UserProfile']['findOne']({'where':{'id':_0x4deb23['params']['id']}})['then'](handleEntityNotFound(_0x512bb7,null))[_0x3c0c('0x22')](function(_0x4b86b7){if(_0x4b86b7){var _0xf6a7b7=[];for(var _0x1135aa=0x0;_0x1135aa<_0x56897f[_0x3c0c('0x46')];_0x1135aa++){_0xf6a7b7[_0x3c0c('0x57')](db[_0x3c0c('0x4e')][_0x3c0c('0x66')]({'where':{'userProfileId':_0x4b86b7['id'],'name':_0x56897f[_0x1135aa]['name']},'raw':!![]}));}return BPromise[_0x3c0c('0x67')](_0xf6a7b7);}})[_0x3c0c('0x22')](function(_0x31d4e6){var _0x139416=_[_0x3c0c('0x35')](_0x31d4e6,function(_0x4251bc){return _0x4251bc?_0x4251bc:undefined;});var _0x1619c2=_[_0x3c0c('0x35')](_0x56897f,[_0x3c0c('0x68'),!![]]);var _0x4f0d0d=_[_0x3c0c('0x69')](_0x139416)&&_[_0x3c0c('0x69')](_0x1619c2)?null:_['union'](_0x1619c2,_0x139416);if(_0x4f0d0d){var _0x2a281d=[];for(var _0x168470=0x0;_0x168470<_0x4f0d0d[_0x3c0c('0x46')];_0x168470++){var _0x33349f=_[_0x3c0c('0x43')](_0x56897f,function(_0x5010b7){return _0x4f0d0d[_0x168470]?_0x5010b7[_0x3c0c('0x27')]===_0x4f0d0d[_0x168470][_0x3c0c('0x27')]:null;});if(_0x33349f){if(_0x4f0d0d[_0x168470][_0x3c0c('0x68')]){_0x2a281d['push'](getAllResources(_0x133deb[_0x3c0c('0x6a')],_0x4f0d0d[_0x168470]));}else{if(!_0x4f0d0d[_0x168470][_0x3c0c('0x50')]){_0x2a281d[_0x3c0c('0x57')](getAllowedResources(_0x33349f,_0x4f0d0d[_0x168470]));}else{if(_0x33349f[_0x3c0c('0x2a')]){_0x2a281d[_0x3c0c('0x57')](getAllFilteredResources(_0x33349f,_0x4f0d0d[_0x168470]));}}}}}return BPromise['all'](_0x2a281d);}else{return null;}})[_0x3c0c('0x22')](function(_0x2dfac6){var _0x5b385a=_0x2dfac6;var _0x5da06a=null;if(_0x5b385a){_0x5da06a=_0x5b385a[_0x3c0c('0x46')]===0x1?_0x5b385a[0x0]:null;}if(_0x5da06a||_0x5b385a){var _0x15790a=db[_0x133deb[_0x3c0c('0x6a')]][_0x3c0c('0x29')];_0x4cdbde[_0x3c0c('0x2a')]=_['keys'](_0x15790a);_0x4cdbde[_0x3c0c('0x2d')]=_[_0x3c0c('0x2b')](_0x4deb23['query']);_0x4cdbde[_0x3c0c('0x34')]=_[_0x3c0c('0x2c')](_0x4cdbde[_0x3c0c('0x2a')],_0x4cdbde['query']);_0x5138a3['attributes']=_[_0x3c0c('0x2c')](_0x4cdbde[_0x3c0c('0x2a')],qs[_0x3c0c('0x2f')](_0x4deb23[_0x3c0c('0x2d')][_0x3c0c('0x2f')]));_0x5138a3['attributes']=_0x5138a3[_0x3c0c('0x2e')][_0x3c0c('0x46')]?_0x5138a3['attributes']:_0x4cdbde[_0x3c0c('0x2a')];if(!_0x4deb23['query'][_0x3c0c('0x30')](_0x3c0c('0x31'))){_0x5138a3[_0x3c0c('0x1d')]=qs[_0x3c0c('0x1d')](_0x4deb23[_0x3c0c('0x2d')]['limit']);_0x5138a3[_0x3c0c('0x1c')]=qs[_0x3c0c('0x1c')](_0x4deb23[_0x3c0c('0x2d')]['offset']);}_0x5138a3[_0x3c0c('0x32')]=qs['sort'](_0x4deb23[_0x3c0c('0x2d')][_0x3c0c('0x33')]);_0x5138a3[_0x3c0c('0x36')]=qs[_0x3c0c('0x34')](_[_0x3c0c('0x6b')](_0x4deb23['query'],_0x4cdbde[_0x3c0c('0x34')]));var _0x1ed604=[];if(_0x5da06a){var _0x1d9555=_['find'](_0x56897f,[_0x3c0c('0x27'),_0x5da06a[_0x3c0c('0x27')]]);if(_0x1d9555[_0x3c0c('0x6c')]){var _0x319039={};_0x319039[_0x1d9555[_0x3c0c('0x6d')]]=_0x5da06a['resourceFields'];_0x1ed604[_0x3c0c('0x57')](_0x319039);}else{_0x5138a3['where']['id']=_0x5da06a[_0x3c0c('0x6e')];}}else{var _0x1ed604=[];for(var _0x72cbe2=0x0;_0x72cbe2<_0x5b385a[_0x3c0c('0x46')];_0x72cbe2++){var _0x1d9555=_[_0x3c0c('0x43')](_0x56897f,['name',_0x5b385a[_0x72cbe2][_0x3c0c('0x27')]]);if(_0x1d9555['field']){var _0x319039={};if(_0x1d9555[_0x3c0c('0x6c')]==='id'){_0x319039[_0x1d9555[_0x3c0c('0x6d')]]=_0x5b385a[_0x72cbe2][_0x3c0c('0x6e')];}else{_0x319039[_0x1d9555[_0x3c0c('0x6d')]]=_0x5b385a[_0x72cbe2][_0x3c0c('0x6f')];}_0x1ed604[_0x3c0c('0x57')](_0x319039);}else{if(!_0x5138a3[_0x3c0c('0x36')]['id'])_0x5138a3['where']['id']=[];_0x5b385a[_0x72cbe2][_0x3c0c('0x6e')][_0x3c0c('0x70')](function(_0x5bb145){_0x5138a3[_0x3c0c('0x36')]['id']['push'](_0x5bb145);});}}}if(!_[_0x3c0c('0x69')](_0x1ed604)){_0x5138a3[_0x3c0c('0x36')]=_[_0x3c0c('0x37')](_0x5138a3['where'],{'$or':_0x1ed604});}if(_0x4deb23['query'][_0x3c0c('0x35')]){_0x5138a3[_0x3c0c('0x36')]=_['merge'](_0x5138a3[_0x3c0c('0x36')],{'$or':_[_0x3c0c('0x38')](_0x15790a,function(_0x493341){if(_0x493341[_0x3c0c('0x71')][_0x3c0c('0x39')]!=='VIRTUAL'){var _0x1056f8={};_0x1056f8[_0x493341[_0x3c0c('0x6c')]]={'$like':'%'+_0x4deb23[_0x3c0c('0x2d')][_0x3c0c('0x35')]+'%'};return _0x1056f8;}})});}_0x5138a3=_[_0x3c0c('0x37')]({},_0x5138a3,_0x4deb23[_0x3c0c('0x3b')]);if(_0x5da06a&&!_0x5da06a['autoAssociation']&&_0x133deb['childModel']===_0x3c0c('0x72')){if(_0x4deb23[_0x3c0c('0x2d')]['includeAll']){_0x5138a3[_0x3c0c('0x3e')]=[{'all':!![]}];}return db[_0x133deb[_0x3c0c('0x6a')]]['findAll'](_0x5138a3)[_0x3c0c('0x22')](function(_0x248c19){var _0x39c46=[];_0x248c19[_0x3c0c('0x70')](function(_0x4ba8ed){var _0x192299;switch(_0x4ba8ed['reportType']){case _0x3c0c('0x73'):_0x192299=_[_0x3c0c('0x43')](_0x5da06a['resourceIds'],function(_0x45f88f){return _0x45f88f['id']===_0x4ba8ed[_0x3c0c('0x74')]&&_0x45f88f[_0x3c0c('0x71')]===_0x3c0c('0x75');});break;case _0x3c0c('0x76'):_0x192299=_[_0x3c0c('0x43')](_0x5da06a['resourceIds'],function(_0x3428c2){return _0x3428c2['id']===_0x4ba8ed[_0x3c0c('0x74')]&&_0x3428c2['type']==='CustomReports';});break;}if(_0x192299)_0x39c46[_0x3c0c('0x57')](_0x4ba8ed);});_0xad9c49['count']=_0x39c46[_0x3c0c('0x46')];_0xad9c49[_0x3c0c('0x40')]=_0x39c46;return _0xad9c49;});}else{return db[_0x133deb[_0x3c0c('0x6a')]][_0x3c0c('0x3d')]({'where':_0x5138a3[_0x3c0c('0x36')]})[_0x3c0c('0x22')](function(_0x28d455){_0xad9c49[_0x3c0c('0x3d')]=_0x28d455;if(_0x4deb23[_0x3c0c('0x2d')][_0x3c0c('0x4d')]){if(_0x133deb[_0x3c0c('0x6a')]===_0x3c0c('0x77')){_0x5138a3[_0x3c0c('0x3e')]=[{'model':db['Tag'],'as':_0x3c0c('0x78'),'attributes':['id','name','color'],'required':_0x4deb23[_0x3c0c('0x2d')][_0x3c0c('0x79')]?!![]:![]},{'model':db[_0x3c0c('0x7a')],'as':_0x3c0c('0x7b'),'attributes':['id',_0x3c0c('0x27'),_0x3c0c('0x7c')],'through':_0x4deb23[_0x3c0c('0x2d')]['tag']?{'attributes':[],'where':{'TagId':_0x4deb23[_0x3c0c('0x2d')][_0x3c0c('0x79')]||undefined}}:{},'required':_0x4deb23[_0x3c0c('0x2d')][_0x3c0c('0x79')]?!![]:![]}];}else{_0x5138a3[_0x3c0c('0x3e')]=[{'all':!![]}];}}return db[_0x133deb[_0x3c0c('0x6a')]][_0x3c0c('0x3f')](_0x5138a3);})[_0x3c0c('0x22')](function(_0x1b7fcc){_0xad9c49[_0x3c0c('0x40')]=_0x1b7fcc;return _0xad9c49;});}}else{return _0xad9c49;}})[_0x3c0c('0x22')](respondWithFilteredResult(_0x512bb7,_0x5138a3))[_0x3c0c('0x41')](handleError(_0x512bb7,null));};function getAllResources(_0x31dd2e,_0xdda0e){return new BPromise(function(_0x56c70f,_0x4bafe8){if(_0xdda0e){var _0x4f805b=_0xdda0e[_0x3c0c('0x35')]?{[_0xdda0e[_0x3c0c('0x35')]['field']]:_0xdda0e[_0x3c0c('0x35')][_0x3c0c('0x7d')]}:undefined;return db[_0x31dd2e][_0x3c0c('0x3f')]({'where':_0x4f805b,'raw':!![]})['then'](function(_0x3ea730){_0xdda0e['resourceIds']=_[_0x3c0c('0x38')](_0x3ea730,'id');_0x56c70f(_0xdda0e);})['catch'](function(_0x18930e){_0x4bafe8(_0x18930e);});}else{_0x56c70f(null);}});}function getAllFilteredResources(_0x39540a,_0x31a0fd){return new BPromise(function(_0x2e551a,_0x53e141){var _0x373948=_0x39540a[_0x3c0c('0x35')]?{[_0x39540a[_0x3c0c('0x35')][_0x3c0c('0x6c')]]:_0x39540a['filter']['value']}:undefined;return db[_0x39540a[_0x3c0c('0x2a')]][_0x3c0c('0x3f')]({'where':_0x373948,'raw':!![]})['then'](function(_0x10451b){_0x31a0fd[_0x3c0c('0x6f')]=_[_0x3c0c('0x38')](_0x10451b,function(_0x5a8874){return _0x5a8874[_0x3c0c('0x27')];});_0x2e551a(_0x31a0fd);})[_0x3c0c('0x41')](function(_0x3aa3da){_0x53e141(_0x3aa3da);});});}function getAllowedResources(_0x4f73bc,_0x991cb0){return new BPromise(function(_0x3e1d47,_0x3df8fa){if(_0x991cb0){return db['UserProfileResource'][_0x3c0c('0x3f')]({'where':{'sectionId':_0x991cb0['id']},'raw':!![]})[_0x3c0c('0x22')](function(_0x3d1a19){if(_0x4f73bc[_0x3c0c('0x6c')]&&_0x4f73bc['field']!=='id'){_0x991cb0['resourceFields']=_[_0x3c0c('0x38')](_0x3d1a19,function(_0x1badd0){return _0x1badd0[_0x4f73bc['field']];});}else{if(_0x4f73bc['childModel']===_0x3c0c('0x72')){_0x991cb0[_0x3c0c('0x6e')]=_['map'](_0x3d1a19,function(_0x3d6744){return{'id':_0x3d6744[_0x3c0c('0x7e')],'type':_0x3d6744[_0x3c0c('0x71')]};});}else{_0x991cb0[_0x3c0c('0x6e')]=_[_0x3c0c('0x38')](_0x3d1a19,function(_0x2b2cdb){return _0x2b2cdb[_0x3c0c('0x7e')];});}}_0x3e1d47(_0x991cb0);})[_0x3c0c('0x41')](function(_0x54b5b3){_0x3df8fa(_0x54b5b3);});}else{_0x3e1d47(null);}});}function getQueryModels(_0x260c6d,_0x3afdc8){var _0x4a9354=_0x260c6d[_0x3c0c('0x7f')]();var _0x3ca022={'childModel':undefined,'parentSections':[]};switch(_0x4a9354){case _0x3c0c('0x80'):_0x3ca022['childModel']=_0x3c0c('0x81');break;case _0x3c0c('0x82'):_0x3ca022['childModel']=_0x3c0c('0x83');break;case _0x3c0c('0x84'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x85');_0x3ca022[_0x3c0c('0x86')]=[{'name':_0x3c0c('0x87'),'field':_0x3c0c('0x27'),'foreignKey':_0x3c0c('0x88')}];break;case _0x3c0c('0x89'):_0x3ca022[_0x3c0c('0x6a')]='JscriptyProject';break;case'contacts':_0x3ca022['childModel']=_0x3c0c('0x77');_0x3ca022[_0x3c0c('0x86')]=[{'name':'Lists','field':'id','foreignKey':_0x3c0c('0x8a')}];break;case _0x3c0c('0x8b'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x8c');break;case _0x3c0c('0x8d'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x8e');break;case'globalcustomfields':_0x3ca022[_0x3c0c('0x6a')]='CmCustomField';break;case'chatqueues':_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x8f');break;case _0x3c0c('0x90'):_0x3ca022[_0x3c0c('0x6a')]='ChatWebsite';break;case _0x3c0c('0x91'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x92');break;case _0x3c0c('0x93'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x94');break;case _0x3c0c('0x95'):case _0x3c0c('0x96'):case _0x3c0c('0x97'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x98');break;case _0x3c0c('0x99'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x9a');break;case _0x3c0c('0x9b'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x9c');break;case _0x3c0c('0x9d'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x9e');_0x3ca022[_0x3c0c('0x86')]=[{'name':_0x3c0c('0x9f'),'field':_0x3c0c('0x27'),'foreignKey':_0x3c0c('0xa0'),'model':_0x3c0c('0xa1'),'filter':{'field':'role','value':[_0x3c0c('0xa2')]}},{'name':_0x3c0c('0xa3'),'field':_0x3c0c('0x27'),'foreignKey':_0x3c0c('0xa0'),'model':_0x3c0c('0xa1'),'filter':{'field':_0x3c0c('0xa4'),'value':[_0x3c0c('0xa5')]}},{'name':_0x3c0c('0xa6'),'field':_0x3c0c('0x27'),'foreignKey':'queue','model':'VoiceQueue','filter':{'field':_0x3c0c('0x71'),'value':['inbound']}},{'name':_0x3c0c('0xa7'),'field':'name','foreignKey':_0x3c0c('0xa8'),'model':_0x3c0c('0xa9'),'filter':{'field':_0x3c0c('0x71'),'value':[_0x3c0c('0xaa')]}}];break;case _0x3c0c('0xab'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xac');break;case _0x3c0c('0xad'):_0x3ca022['childModel']=_0x3c0c('0xae');break;case'voiceprefixes':_0x3ca022['childModel']=_0x3c0c('0xaf');break;case _0x3c0c('0xb0'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xb1');break;case _0x3c0c('0xb2'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xb3');break;case _0x3c0c('0xb4'):_0x3ca022['childModel']=_0x3c0c('0xb5');break;case _0x3c0c('0xb6'):_0x3ca022[_0x3c0c('0x6a')]='MailSubstatus';break;case _0x3c0c('0xb7'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xb8');break;case _0x3c0c('0xb9'):_0x3ca022['childModel']='OpenchannelAccount';break;case _0x3c0c('0xba'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xbb');break;case _0x3c0c('0xbc'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xbd');break;case _0x3c0c('0xbe'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xbf');break;case _0x3c0c('0xc0'):case _0x3c0c('0xc1'):_0x3ca022['childModel']='VoiceQueue';if(_0x3afdc8){_0x3ca022[_0x3c0c('0x86')]=[{'name':'VoiceQueues'},{'name':'QueueCampaigns'}];}break;case _0x3c0c('0xc2'):case'agents':case'telephones':_0x3ca022['childModel']=_0x3c0c('0xa1');if(_0x3afdc8){_0x3ca022[_0x3c0c('0x86')]=[{'name':_0x3c0c('0xc3'),'filter':{'field':'role','value':[_0x3c0c('0xc4'),'user']},'ignore':!![]},{'name':_0x3c0c('0x9f')},{'name':_0x3c0c('0xa3')}];}break;case _0x3c0c('0xc5'):_0x3ca022['childModel']=_0x3c0c('0xc6');break;case _0x3c0c('0xc7'):_0x3ca022[_0x3c0c('0x6a')]='SalesforceAccount';break;case _0x3c0c('0xc8'):_0x3ca022[_0x3c0c('0x6a')]='FreshdeskAccount';break;case _0x3c0c('0xc9'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xca');break;case _0x3c0c('0xcb'):_0x3ca022['childModel']=_0x3c0c('0xcc');break;case _0x3c0c('0xcd'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xce');break;case _0x3c0c('0xcf'):_0x3ca022[_0x3c0c('0x6a')]='User';break;case'cannedanswers':_0x3ca022[_0x3c0c('0x6a')]='CannedAnswer';break;case _0x3c0c('0xd0'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xd1');break;case _0x3c0c('0xd2'):_0x3ca022['childModel']=_0x3c0c('0xd3');break;case _0x3c0c('0xd4'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xd5');break;case _0x3c0c('0xd6'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xd7');break;case'scheduler':_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xd8');break;case _0x3c0c('0xd9'):_0x3ca022['childModel']=_0x3c0c('0xda');break;case _0x3c0c('0xdb'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x7a');break;case _0x3c0c('0xdc'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xdd');break;case'triggers':_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xde');break;case _0x3c0c('0xdf'):_0x3ca022[_0x3c0c('0x6a')]='Trunk';break;case'variables':_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xe0');break;case _0x3c0c('0xe1'):_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0xe2');break;case'extractedreports':_0x3ca022[_0x3c0c('0x6a')]=_0x3c0c('0x72');_0x3ca022[_0x3c0c('0x86')]=[{'name':_0x3c0c('0xe3'),'field':'id','foreignKey':_0x3c0c('0x74')}];break;case _0x3c0c('0xe4'):_0x3ca022[_0x3c0c('0x6a')]='AnalyticMetric';break;default:return _0x3ca022;}return _0x3ca022;}