cbf5fc217d50a7c64635d4a357d6ed592f8a8375
[motion2.git] / server / api / team / team.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 _0xdfde=['user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','destroy','sequelize','transaction','Sequelize','QueryTypes','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','VoiceQueueId','UserVoiceQueue','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','UserSmsQueue','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','ChatQueueId','UserChatQueue','FaxQueueId','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','OpenchannelQueueId','UserOpenchannelQueue','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','UserWhatsappQueue','TeamVoicePrefix','VoicePrefixId','findOne','channel','isValidChannel','Unknown\x20channel','toLowerCase','Queue','get','capitalize','Queues','addQueues','ValidationError','add','ids','removeQueues','addAgents','isArray','Voice','Mail','Fax','Openchannel','through','penalty','findOrCreate','emit','QueueId','User','online','interface','UserVoiceQueueRt','isNil','format','SIP/%s','voicePause','TeamVoiceQueue','all','UserVoicePrefix','spread','removeAgents','Sms','Whatsapp','Queue:remove','getAgents','eml-format','rimraf','zip-dir','request-promise','moment','path','sox','to-csv','ejs','lodash','squel','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','register','sendStatus','status','end','json','undefined','limit','count','offset','apply','reject','update','then','error','stack','name','send','index','map','Team','fieldName','type','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','pick','where','merge','VIRTUAL','filter','options','includeAll','include','findAll','catch','params','rawAttributes','find','create'];(function(_0x4cb254,_0x17e637){var _0x12b042=function(_0x26764d){while(--_0x26764d){_0x4cb254['push'](_0x4cb254['shift']());}};_0x12b042(++_0x17e637);}(_0xdfde,0xe5));var _0xedfd=function(_0x4cfa2e,_0x5752b5){_0x4cfa2e=_0x4cfa2e-0x0;var _0x279b50=_0xdfde[_0x4cfa2e];return _0x279b50;};'use strict';var emlformat=require(_0xedfd('0x0'));var rimraf=require(_0xedfd('0x1'));var zipdir=require(_0xedfd('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xedfd('0x3'));var moment=require(_0xedfd('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require('util');var path=require(_0xedfd('0x5'));var sox=require(_0xedfd('0x6'));var csv=require(_0xedfd('0x7'));var ejs=require(_0xedfd('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xedfd('0x9'));var squel=require(_0xedfd('0xa'));var crypto=require('crypto');var jsforce=require(_0xedfd('0xb'));var deskjs=require(_0xedfd('0xc'));var toCsv=require(_0xedfd('0x7'));var querystring=require(_0xedfd('0xd'));var Papa=require(_0xedfd('0xe'));var Redis=require(_0xedfd('0xf'));var authService=require(_0xedfd('0x10'));var qs=require(_0xedfd('0x11'));var as=require(_0xedfd('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xedfd('0x13'))(_0xedfd('0x14'));var utils=require(_0xedfd('0x15'));var config=require('../../config/environment');var licenseUtil=require(_0xedfd('0x16'));var db=require(_0xedfd('0x17'))['db'];config[_0xedfd('0x18')]=_[_0xedfd('0x19')](config[_0xedfd('0x18')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xedfd('0x18')]));require('./team.socket')[_0xedfd('0x1a')](socket);function respondWithStatusCode(_0x14b5db,_0xcc0bcb){_0xcc0bcb=_0xcc0bcb||0xcc;return function(_0xdcb552){if(_0xdcb552){return _0x14b5db[_0xedfd('0x1b')](_0xcc0bcb);}return _0x14b5db[_0xedfd('0x1c')](_0xcc0bcb)[_0xedfd('0x1d')]();};}function respondWithResult(_0xb1793a,_0x5542ba){_0x5542ba=_0x5542ba||0xc8;return function(_0x54ff51){if(_0x54ff51){return _0xb1793a['status'](_0x5542ba)[_0xedfd('0x1e')](_0x54ff51);}};}function respondWithFilteredResult(_0xf55db8,_0x44a6bd){return function(_0x3712e6){if(_0x3712e6){var _0x2d85ba=typeof _0x44a6bd['offset']===_0xedfd('0x1f')&&typeof _0x44a6bd[_0xedfd('0x20')]===_0xedfd('0x1f');var _0x1ca880=_0x3712e6['count'];var _0x18d34a=_0x2d85ba?0x0:_0x44a6bd['offset'];var _0x5e2d68=_0x2d85ba?_0x3712e6[_0xedfd('0x21')]:_0x44a6bd[_0xedfd('0x22')]+_0x44a6bd[_0xedfd('0x20')];var _0x405b0b;if(_0x5e2d68>=_0x1ca880){_0x5e2d68=_0x1ca880;_0x405b0b=0xc8;}else{_0x405b0b=0xce;}_0xf55db8[_0xedfd('0x1c')](_0x405b0b);return _0xf55db8['set']('Content-Range',_0x18d34a+'-'+_0x5e2d68+'/'+_0x1ca880)[_0xedfd('0x1e')](_0x3712e6);}return null;};}function patchUpdates(_0x3192b4){return function(_0x3147f1){try{jsonpatch[_0xedfd('0x23')](_0x3147f1,_0x3192b4,!![]);}catch(_0x1b2ec8){return BPromise[_0xedfd('0x24')](_0x1b2ec8);}return _0x3147f1['save']();};}function saveUpdates(_0x4e63e0,_0x5f5385){return function(_0x49c95f){if(_0x49c95f){return _0x49c95f[_0xedfd('0x25')](_0x4e63e0)[_0xedfd('0x26')](function(_0x13fdd2){return _0x13fdd2;});}return null;};}function handleEntityNotFound(_0x2ece58,_0x47c633){return function(_0x4d79c5){if(!_0x4d79c5){_0x2ece58[_0xedfd('0x1b')](0x194);}return _0x4d79c5;};}function handleError(_0x4f48dc,_0x535d0c){_0x535d0c=_0x535d0c||0x1f4;return function(_0x529d2e){logger[_0xedfd('0x27')](_0x529d2e[_0xedfd('0x28')]);if(_0x529d2e[_0xedfd('0x29')]){delete _0x529d2e[_0xedfd('0x29')];}_0x4f48dc[_0xedfd('0x1c')](_0x535d0c)[_0xedfd('0x2a')](_0x529d2e);};}exports[_0xedfd('0x2b')]=function(_0x1cf4ec,_0x510c96){var _0x1c1126={},_0x1bec10={},_0x58e49a={'count':0x0,'rows':[]};var _0x1176d3=_[_0xedfd('0x2c')](db[_0xedfd('0x2d')]['rawAttributes'],function(_0x59d3bf){return{'name':_0x59d3bf[_0xedfd('0x2e')],'type':_0x59d3bf[_0xedfd('0x2f')][_0xedfd('0x30')]};});_0x1bec10[_0xedfd('0x31')]=_[_0xedfd('0x2c')](_0x1176d3,_0xedfd('0x29'));_0x1bec10[_0xedfd('0x32')]=_[_0xedfd('0x33')](_0x1cf4ec[_0xedfd('0x32')]);_0x1bec10[_0xedfd('0x34')]=_['intersection'](_0x1bec10[_0xedfd('0x31')],_0x1bec10['query']);_0x1c1126[_0xedfd('0x35')]=_[_0xedfd('0x36')](_0x1bec10[_0xedfd('0x31')],qs[_0xedfd('0x37')](_0x1cf4ec[_0xedfd('0x32')]['fields']));_0x1c1126[_0xedfd('0x35')]=_0x1c1126[_0xedfd('0x35')][_0xedfd('0x38')]?_0x1c1126[_0xedfd('0x35')]:_0x1bec10[_0xedfd('0x31')];if(!_0x1cf4ec['query'][_0xedfd('0x39')](_0xedfd('0x3a'))){_0x1c1126[_0xedfd('0x20')]=qs['limit'](_0x1cf4ec[_0xedfd('0x32')]['limit']);_0x1c1126['offset']=qs['offset'](_0x1cf4ec[_0xedfd('0x32')][_0xedfd('0x22')]);}_0x1c1126[_0xedfd('0x3b')]=qs[_0xedfd('0x3c')](_0x1cf4ec['query'][_0xedfd('0x3c')]);_0x1c1126['where']=qs[_0xedfd('0x34')](_[_0xedfd('0x3d')](_0x1cf4ec['query'],_0x1bec10[_0xedfd('0x34')]),_0x1176d3);if(_0x1cf4ec[_0xedfd('0x32')]['filter']){_0x1c1126[_0xedfd('0x3e')]=_[_0xedfd('0x3f')](_0x1c1126['where'],{'$or':_[_0xedfd('0x2c')](_0x1176d3,function(_0x32eae3){if(_0x32eae3[_0xedfd('0x2f')]!==_0xedfd('0x40')){var _0x5e68d3={};_0x5e68d3[_0x32eae3['name']]={'$like':'%'+_0x1cf4ec['query'][_0xedfd('0x41')]+'%'};return _0x5e68d3;}})});}_0x1c1126=_['merge']({},_0x1c1126,_0x1cf4ec[_0xedfd('0x42')]);var _0x376db0={'where':_0x1c1126[_0xedfd('0x3e')]};return db[_0xedfd('0x2d')]['count'](_0x376db0)[_0xedfd('0x26')](function(_0x4dd77a){_0x58e49a[_0xedfd('0x21')]=_0x4dd77a;if(_0x1cf4ec[_0xedfd('0x32')][_0xedfd('0x43')]){_0x1c1126[_0xedfd('0x44')]=[{'all':!![]}];}return db['Team'][_0xedfd('0x45')](_0x1c1126);})['then'](function(_0x273e87){_0x58e49a['rows']=_0x273e87;return _0x58e49a;})[_0xedfd('0x26')](respondWithFilteredResult(_0x510c96,_0x1c1126))[_0xedfd('0x46')](handleError(_0x510c96,null));};exports['show']=function(_0x1c9688,_0x375b1a){var _0x46051d={'raw':![],'where':{'id':_0x1c9688[_0xedfd('0x47')]['id']}},_0x3bf5db={};_0x3bf5db['model']=_['keys'](db[_0xedfd('0x2d')][_0xedfd('0x48')]);_0x3bf5db[_0xedfd('0x32')]=_[_0xedfd('0x33')](_0x1c9688[_0xedfd('0x32')]);_0x3bf5db['filters']=_['intersection'](_0x3bf5db[_0xedfd('0x31')],_0x3bf5db[_0xedfd('0x32')]);_0x46051d[_0xedfd('0x35')]=_[_0xedfd('0x36')](_0x3bf5db[_0xedfd('0x31')],qs[_0xedfd('0x37')](_0x1c9688[_0xedfd('0x32')][_0xedfd('0x37')]));_0x46051d[_0xedfd('0x35')]=_0x46051d[_0xedfd('0x35')][_0xedfd('0x38')]?_0x46051d['attributes']:_0x3bf5db[_0xedfd('0x31')];if(_0x1c9688['query']['includeAll']){_0x46051d[_0xedfd('0x44')]=[{'all':!![]}];}_0x46051d=_[_0xedfd('0x3f')]({},_0x46051d,_0x1c9688[_0xedfd('0x42')]);return db[_0xedfd('0x2d')][_0xedfd('0x49')](_0x46051d)[_0xedfd('0x26')](handleEntityNotFound(_0x375b1a,null))[_0xedfd('0x26')](respondWithResult(_0x375b1a,null))['catch'](handleError(_0x375b1a,null));};exports[_0xedfd('0x4a')]=function(_0x6dc2e,_0xeca0a4){return db[_0xedfd('0x2d')][_0xedfd('0x4a')](_0x6dc2e['body'],{})[_0xedfd('0x26')](function(_0x19750b){var _0x1d4efd=_0x6dc2e[_0xedfd('0x4b')]['get']({'plain':!![]});if(!_0x1d4efd)throw new Error(_0xedfd('0x4c'));if(_0x1d4efd['role']===_0xedfd('0x4b')){var _0x26ec90=_0x19750b['get']({'plain':!![]});var _0x17fbed='Teams';return db[_0xedfd('0x4d')][_0xedfd('0x49')]({'where':{'name':_0x17fbed,'userProfileId':_0x1d4efd[_0xedfd('0x4e')]},'raw':!![]})['then'](function(_0x787394){if(_0x787394&&_0x787394[_0xedfd('0x4f')]===0x0){return db[_0xedfd('0x50')][_0xedfd('0x4a')]({'name':_0x26ec90[_0xedfd('0x29')],'resourceId':_0x26ec90['id'],'type':_0x787394[_0xedfd('0x29')],'sectionId':_0x787394['id']},{})[_0xedfd('0x26')](function(){return _0x19750b;});}else{return _0x19750b;}})['catch'](function(_0x1e3e66){logger[_0xedfd('0x27')](_0xedfd('0x51'),_0x1e3e66);throw _0x1e3e66;});}return _0x19750b;})[_0xedfd('0x26')](respondWithResult(_0xeca0a4,0xc9))[_0xedfd('0x46')](handleError(_0xeca0a4,null));};exports[_0xedfd('0x25')]=function(_0x1620c0,_0x47962d){if(_0x1620c0[_0xedfd('0x52')]['id']){delete _0x1620c0[_0xedfd('0x52')]['id'];}return db[_0xedfd('0x2d')][_0xedfd('0x49')]({'where':{'id':_0x1620c0['params']['id']}})[_0xedfd('0x26')](handleEntityNotFound(_0x47962d,null))[_0xedfd('0x26')](saveUpdates(_0x1620c0['body'],null))[_0xedfd('0x26')](respondWithResult(_0x47962d,null))['catch'](handleError(_0x47962d,null));};exports[_0xedfd('0x53')]=function(_0x41ccc3,_0x27f3d7){var _0x1efb11=_0x41ccc3[_0xedfd('0x47')]['id'];var _0x3a8067=[];return db[_0xedfd('0x54')][_0xedfd('0x55')](function(_0x2fd2a1){var _0x370841='SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20'+_0x1efb11;return db[_0xedfd('0x54')]['query'](_0x370841,{'type':db[_0xedfd('0x56')][_0xedfd('0x57')][_0xedfd('0x58')],'raw':!![],'transaction':_0x2fd2a1})[_0xedfd('0x26')](function(_0x491e2c){_0x3a8067=_[_0xedfd('0x2c')](_0x491e2c,function(_0x13deb6){return Number(_0x13deb6[_0xedfd('0x59')]);});})[_0xedfd('0x26')](function(){var _0x2d7a7e=_0xedfd('0x5a')+_0x1efb11;return db['sequelize'][_0xedfd('0x32')](_0x2d7a7e,{'type':db[_0xedfd('0x56')][_0xedfd('0x57')][_0xedfd('0x58')],'raw':!![],'transaction':_0x2fd2a1});})['then'](function(_0x56dd3b){var _0x4d4239=_[_0xedfd('0x2c')](_0x56dd3b,function(_0x31dd63){return Number(_0x31dd63[_0xedfd('0x5b')]);});return db[_0xedfd('0x5c')][_0xedfd('0x53')]({'where':{'UserId':{'$in':_0x3a8067},'VoiceQueueId':{'$in':_0x4d4239}},'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(){var _0x331c13=_0xedfd('0x5d')+_0x1efb11;return db['sequelize'][_0xedfd('0x32')](_0x331c13,{'type':db['Sequelize'][_0xedfd('0x57')][_0xedfd('0x58')],'raw':!![],'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(_0x7f3dea){var _0x9b99ec=_[_0xedfd('0x2c')](_0x7f3dea,function(_0x2d9880){return Number(_0x2d9880[_0xedfd('0x5e')]);});return db[_0xedfd('0x5f')][_0xedfd('0x53')]({'where':{'UserId':{'$in':_0x3a8067},'MailQueueId':{'$in':_0x9b99ec}},'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(){var _0x41428a=_0xedfd('0x60')+_0x1efb11;return db[_0xedfd('0x54')]['query'](_0x41428a,{'type':db[_0xedfd('0x56')][_0xedfd('0x57')][_0xedfd('0x58')],'raw':!![],'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(_0xdb5fea){var _0x146e41=_[_0xedfd('0x2c')](_0xdb5fea,function(_0x5c64ce){return Number(_0x5c64ce['SmsQueueId']);});return db[_0xedfd('0x61')][_0xedfd('0x53')]({'where':{'UserId':{'$in':_0x3a8067},'SmsQueueId':{'$in':_0x146e41}},'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(){var _0x61ba7a=_0xedfd('0x62')+_0x1efb11;return db[_0xedfd('0x54')][_0xedfd('0x32')](_0x61ba7a,{'type':db[_0xedfd('0x56')]['QueryTypes'][_0xedfd('0x58')],'raw':!![],'transaction':_0x2fd2a1});})['then'](function(_0x2ad53f){var _0x1558cc=_[_0xedfd('0x2c')](_0x2ad53f,function(_0x532e3a){return Number(_0x532e3a[_0xedfd('0x63')]);});return db[_0xedfd('0x64')][_0xedfd('0x53')]({'where':{'UserId':{'$in':_0x3a8067},'ChatQueueId':{'$in':_0x1558cc}},'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(){var _0x6b07d6='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0x1efb11;return db[_0xedfd('0x54')][_0xedfd('0x32')](_0x6b07d6,{'type':db[_0xedfd('0x56')]['QueryTypes'][_0xedfd('0x58')],'raw':!![],'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(_0x413019){var _0x15c329=_[_0xedfd('0x2c')](_0x413019,function(_0x17fb97){return Number(_0x17fb97[_0xedfd('0x65')]);});return db['UserFaxQueue'][_0xedfd('0x53')]({'where':{'UserId':{'$in':_0x3a8067},'FaxQueueId':{'$in':_0x15c329}},'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(){var _0x2ea740=_0xedfd('0x66')+_0x1efb11;return db['sequelize'][_0xedfd('0x32')](_0x2ea740,{'type':db[_0xedfd('0x56')][_0xedfd('0x57')][_0xedfd('0x58')],'raw':!![],'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(_0x4de8ba){var _0x34b46b=_[_0xedfd('0x2c')](_0x4de8ba,function(_0x284233){return Number(_0x284233[_0xedfd('0x67')]);});return db[_0xedfd('0x68')][_0xedfd('0x53')]({'where':{'UserId':{'$in':_0x3a8067},'OpenchannelQueueId':{'$in':_0x34b46b}},'transaction':_0x2fd2a1});})['then'](function(){var _0x2185dd=_0xedfd('0x69')+_0x1efb11;return db[_0xedfd('0x54')]['query'](_0x2185dd,{'type':db[_0xedfd('0x56')][_0xedfd('0x57')][_0xedfd('0x58')],'raw':!![],'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(_0x28737d){var _0xc54f3c=_['map'](_0x28737d,function(_0xd639e5){return Number(_0xd639e5[_0xedfd('0x6a')]);});return db[_0xedfd('0x6b')][_0xedfd('0x53')]({'where':{'UserId':{'$in':_0x3a8067},'WhatsappQueueId':{'$in':_0xc54f3c}},'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(){return db[_0xedfd('0x6c')][_0xedfd('0x49')]({'where':{'TeamId':_0x1efb11}});})[_0xedfd('0x26')](function(_0x3c39a9){if(_0x3c39a9===null){return;}return db['UserVoicePrefix'][_0xedfd('0x53')]({'where':{'UserId':{'$in':_0x3a8067},'VoicePrefixId':_0x3c39a9[_0xedfd('0x6d')]},'transaction':_0x2fd2a1});})[_0xedfd('0x26')](function(){return db[_0xedfd('0x2d')][_0xedfd('0x53')]({'where':{'id':_0x1efb11},'cascade':!![],'transaction':_0x2fd2a1});})['then'](function(_0x4fd642){if(_0x4fd642===0x0){_0x27f3d7['sendStatus'](0x194);}else{return db[_0xedfd('0x50')][_0xedfd('0x53')]({'where':{'type':'Teams','resourceId':_0x1efb11},'cascade':!![],'transaction':_0x2fd2a1})['then'](function(){_0x27f3d7[_0xedfd('0x1c')](0xcc)['end']();});}})['catch'](function(_0x21bbc3){_0x27f3d7[_0xedfd('0x1c')](0x1f4)['send'](_0x21bbc3);});});};exports['getQueues']=function(_0x5b78dd,_0x4193b0,_0x53e30f){return db[_0xedfd('0x2d')][_0xedfd('0x6e')]({'where':{'id':_0x5b78dd['params']['id']}})[_0xedfd('0x26')](handleEntityNotFound(_0x4193b0,null))[_0xedfd('0x26')](function(_0xbdfa15){if(!_0x5b78dd[_0xedfd('0x32')][_0xedfd('0x6f')]||!utils[_0xedfd('0x70')](_0x5b78dd[_0xedfd('0x32')][_0xedfd('0x6f')])){throw new db[(_0xedfd('0x56'))]['ValidationError'](_0xedfd('0x71'));}var _0x492040={};var _0x52e7b6={};_0x52e7b6[_0xedfd('0x31')]=_[_0xedfd('0x33')](db[_['capitalize'](_0x5b78dd[_0xedfd('0x32')]['channel'][_0xedfd('0x72')]())+_0xedfd('0x73')][_0xedfd('0x48')]);_0x52e7b6[_0xedfd('0x32')]=_[_0xedfd('0x33')](_0x5b78dd[_0xedfd('0x32')]);_0x52e7b6[_0xedfd('0x34')]=_[_0xedfd('0x36')](_0x52e7b6[_0xedfd('0x31')],_0x52e7b6['query']);_0x492040[_0xedfd('0x35')]=_[_0xedfd('0x36')](_0x52e7b6['model'],qs[_0xedfd('0x37')](_0x5b78dd[_0xedfd('0x32')][_0xedfd('0x37')]));_0x492040['attributes']=_0x492040[_0xedfd('0x35')]['length']?_0x492040['attributes']:_0x52e7b6[_0xedfd('0x31')];_0x492040[_0xedfd('0x20')]=qs[_0xedfd('0x20')](_0x5b78dd[_0xedfd('0x32')][_0xedfd('0x20')]);_0x492040['offset']=qs[_0xedfd('0x22')](_0x5b78dd['query'][_0xedfd('0x22')]);_0x492040[_0xedfd('0x3b')]=qs[_0xedfd('0x3c')](_0x5b78dd['query'][_0xedfd('0x3c')]);_0x492040[_0xedfd('0x3e')]=qs[_0xedfd('0x34')](_[_0xedfd('0x3d')](_0x5b78dd[_0xedfd('0x32')],_0x52e7b6[_0xedfd('0x34')]));_0x492040=_['merge']({},_0x492040,_0x5b78dd[_0xedfd('0x42')]);return _0xbdfa15[_0xedfd('0x74')+_[_0xedfd('0x75')](_0x5b78dd['query'][_0xedfd('0x6f')]['toLowerCase']())+_0xedfd('0x76')](_0x492040);})['then'](respondWithResult(_0x4193b0,null))[_0xedfd('0x46')](handleError(_0x4193b0,null));};exports[_0xedfd('0x77')]=function(_0x339d1f,_0x15b7a2,_0xe3cbdf){return db[_0xedfd('0x2d')][_0xedfd('0x6e')]({'where':{'id':_0x339d1f[_0xedfd('0x47')]['id']}})['then'](function(_0x5f2491){if(_0x5f2491){if(!_0x339d1f['body']['channel']||!utils['isValidChannel'](_0x339d1f['body'][_0xedfd('0x6f')])){throw new db[(_0xedfd('0x56'))][(_0xedfd('0x78'))](_0xedfd('0x71'));}return _0x5f2491[_0xedfd('0x79')+_[_0xedfd('0x75')](_0x339d1f[_0xedfd('0x52')][_0xedfd('0x6f')][_0xedfd('0x72')]())+_0xedfd('0x76')](_0x339d1f[_0xedfd('0x52')][_0xedfd('0x7a')]);}return null;})[_0xedfd('0x26')](handleEntityNotFound(_0x15b7a2,null))[_0xedfd('0x26')](respondWithStatusCode(_0x15b7a2,null))[_0xedfd('0x46')](handleError(_0x15b7a2,null));};exports[_0xedfd('0x7b')]=function(_0xc0138e,_0x5885eb,_0x419aac){return db[_0xedfd('0x2d')]['findOne']({'where':{'id':_0xc0138e[_0xedfd('0x47')]['id']}})[_0xedfd('0x26')](function(_0xc4c289){if(_0xc4c289){if(!_0xc0138e['query'][_0xedfd('0x6f')]||!utils['isValidChannel'](_0xc0138e[_0xedfd('0x32')][_0xedfd('0x6f')])){throw new db[(_0xedfd('0x56'))][(_0xedfd('0x78'))]('Unknown\x20channel');}return _0xc4c289['remove'+_['capitalize'](_0xc0138e[_0xedfd('0x32')][_0xedfd('0x6f')][_0xedfd('0x72')]())+_0xedfd('0x76')](_0xc0138e[_0xedfd('0x32')]['ids']);}return null;})[_0xedfd('0x26')](handleEntityNotFound(_0x5885eb,null))[_0xedfd('0x26')](respondWithStatusCode(_0x5885eb,null))['catch'](handleError(_0x5885eb,null));};exports[_0xedfd('0x7c')]=function(_0x119364,_0x46b9cf){var _0x169e9f=_[_0xedfd('0x7d')](_0x119364['body']['ids'])?_0x119364[_0xedfd('0x52')][_0xedfd('0x7a')]:[_0x119364[_0xedfd('0x52')][_0xedfd('0x7a')]];var _0x13fdc4=_0x119364[_0xedfd('0x47')]['id'];return db[_0xedfd('0x2d')][_0xedfd('0x49')]({'where':{'id':_0x13fdc4}})[_0xedfd('0x26')](handleEntityNotFound(_0x46b9cf,null))[_0xedfd('0x26')](function(_0x4026ed){if(_0x4026ed){var _0x255bec=[_0xedfd('0x7e'),'Chat',_0xedfd('0x7f'),'Sms',_0xedfd('0x80'),_0xedfd('0x81'),'Whatsapp'];return db['sequelize'][_0xedfd('0x55')](function(_0x164791){var _0xc383a2=_[_0xedfd('0x2c')](_0x255bec,function(_0x170b2e){var _0x573ead={'attributes':['id',_0xedfd('0x29')]};if(_0x170b2e==='Voice'){_0x573ead[_0xedfd('0x82')]={'attributes':[_0xedfd('0x83')]};}return _0x4026ed[_0xedfd('0x74')+_0x170b2e+_0xedfd('0x76')](_0x573ead)[_0xedfd('0x26')](function(_0xa2005){var _0xb0addf=_[_0xedfd('0x2c')](_0xa2005,function(_0x1d2c7f){var _0x5e6529=_[_0xedfd('0x2c')](_0x169e9f,function(_0x321cab){var _0x1466b7={'where':{'UserId':_0x321cab,[_0x170b2e+'QueueId']:_0x1d2c7f['id']},'transaction':_0x164791};if(_0x170b2e===_0xedfd('0x7e')){_0x1466b7['defaults']={'penalty':_0x1d2c7f['TeamVoiceQueue'][_0xedfd('0x83')]};}return db['User'+_0x170b2e+'Queue'][_0xedfd('0x84')](_0x1466b7)['then'](function(){socket[_0xedfd('0x85')]('user'+_0x170b2e+'Queue:save',{'UserId':_0x321cab,[_0x170b2e+_0xedfd('0x86')]:_0x1d2c7f['id']});if(_0x170b2e!=='Voice'){return;}return db[_0xedfd('0x87')][_0xedfd('0x45')]({'where':{'id':_0x169e9f,'online':0x1},'attributes':['id',_0xedfd('0x29'),_0xedfd('0x88'),'voicePause',_0xedfd('0x89')],'raw':!![]})[_0xedfd('0x26')](function(_0x205870){var _0x1d1046=_[_0xedfd('0x2c')](_0x205870,function(_0x38cbb1){return db[_0xedfd('0x8a')]['upsert']({'membername':_0x38cbb1[_0xedfd('0x29')],'UserId':_0x38cbb1['id'],'queue_name':_0x1d2c7f[_0xedfd('0x29')],'VoiceQueueId':_0x1d2c7f['id'],'interface':_[_0xedfd('0x8b')](_0x38cbb1[_0xedfd('0x89')])?util[_0xedfd('0x8c')](_0xedfd('0x8d'),_0x38cbb1[_0xedfd('0x29')]):_0x38cbb1[_0xedfd('0x89')],'paused':_0x38cbb1[_0xedfd('0x8e')]||![],'penalty':_0x1d2c7f[_0xedfd('0x8f')][_0xedfd('0x83')]},{'transaction':_0x164791});});return Promise['all'](_0x1d1046);});});});return Promise[_0xedfd('0x90')](_0x5e6529);});return Promise[_0xedfd('0x90')](_0xb0addf);})[_0xedfd('0x26')](function(){return db['TeamVoicePrefix'][_0xedfd('0x6e')]({'where':{'teamId':_0x13fdc4}})[_0xedfd('0x26')](function(_0x5a61b8){if(_0x5a61b8){var _0x756931=_[_0xedfd('0x2c')](_0x169e9f,function(_0x1c4fc7){db[_0xedfd('0x91')]['upsert']({'UserId':_0x1c4fc7,'VoicePrefixId':_0x5a61b8[_0xedfd('0x6d')]});});return Promise[_0xedfd('0x90')](_0x756931);}});});});return Promise[_0xedfd('0x90')](_0xc383a2)[_0xedfd('0x26')](function(){return _0x4026ed[_0xedfd('0x7c')](_0x169e9f,{'transaction':_0x164791})[_0xedfd('0x92')](function(_0x1c3d69){return _0x1c3d69;});});});}})['then'](respondWithResult(_0x46b9cf,null))[_0xedfd('0x46')](handleError(_0x46b9cf,null));};exports[_0xedfd('0x93')]=function(_0xbf953c,_0x465ad8){var _0x3d492c=_['isArray'](_0xbf953c['query'][_0xedfd('0x7a')])?_0xbf953c[_0xedfd('0x32')][_0xedfd('0x7a')]:[_0xbf953c['query']['ids']];var _0x2604ff=_0xbf953c[_0xedfd('0x47')]['id'];return db[_0xedfd('0x2d')][_0xedfd('0x49')]({'where':{'id':_0x2604ff}})[_0xedfd('0x26')](handleEntityNotFound(_0x465ad8,null))['then'](function(_0x1b2c7d){if(_0x1b2c7d){var _0x1256eb=[_0xedfd('0x7e'),'Chat',_0xedfd('0x7f'),_0xedfd('0x94'),_0xedfd('0x80'),_0xedfd('0x81'),_0xedfd('0x95')];return db['sequelize'][_0xedfd('0x55')](function(_0x40adac){var _0x458a0b=_[_0xedfd('0x2c')](_0x1256eb,function(_0x5dc278){var _0x48774e={'attributes':['id','name']};return _0x1b2c7d[_0xedfd('0x74')+_0x5dc278+_0xedfd('0x76')](_0x48774e)[_0xedfd('0x26')](function(_0x211069){var _0x4424dc=_[_0xedfd('0x2c')](_0x211069,function(_0x3a6329){return _0x3a6329[_0xedfd('0x93')](_0x3d492c,{'transaction':_0x40adac})[_0xedfd('0x26')](function(){var _0x5bd249=_[_0xedfd('0x2c')](_0x3d492c,function(_0x51678d){socket['emit'](_0xedfd('0x4b')+_0x5dc278+_0xedfd('0x96'),{'UserId':Number(_0x51678d),[_0x5dc278+'QueueId']:_0x3a6329['id']});if(_0x5dc278!==_0xedfd('0x7e')){return;}return db[_0xedfd('0x8a')][_0xedfd('0x53')]({'where':{'VoiceQueueId':_0x3a6329['id'],'UserId':_0x51678d},'transaction':_0x40adac});});return Promise['all'](_0x5bd249);});});return Promise['all'](_0x4424dc);});});return Promise[_0xedfd('0x90')](_0x458a0b)[_0xedfd('0x26')](function(){return _0x1b2c7d[_0xedfd('0x93')](_0x3d492c,{'transaction':_0x40adac});})[_0xedfd('0x26')](function(){return db[_0xedfd('0x6c')][_0xedfd('0x6e')]({'where':{'teamId':_0x2604ff}})[_0xedfd('0x26')](function(_0x50870d){if(_0x50870d){var _0x392678=_[_0xedfd('0x2c')](_0x3d492c,function(_0x3a6c10){db[_0xedfd('0x91')]['destroy']({'where':{'UserId':_0x3a6c10,'VoicePrefixId':_0x50870d[_0xedfd('0x6d')]}});});return Promise[_0xedfd('0x90')](_0x392678);}});});});}})[_0xedfd('0x26')](respondWithStatusCode(_0x465ad8,null))[_0xedfd('0x46')](handleError(_0x465ad8,null));};exports[_0xedfd('0x97')]=function(_0x17eaad,_0x137c18,_0x1d5912){var _0x9f495c={};var _0x1cc0ee={};var _0x4239a9;var _0x509bfe;return db[_0xedfd('0x2d')]['findOne']({'where':{'id':_0x17eaad[_0xedfd('0x47')]['id']}})[_0xedfd('0x26')](handleEntityNotFound(_0x137c18,null))['then'](function(_0x3300f8){if(_0x3300f8){_0x4239a9=_0x3300f8;_0x1cc0ee[_0xedfd('0x31')]=_[_0xedfd('0x33')](db['User']['rawAttributes']);_0x1cc0ee['query']=_[_0xedfd('0x33')](_0x17eaad[_0xedfd('0x32')]);_0x1cc0ee[_0xedfd('0x34')]=_[_0xedfd('0x36')](_0x1cc0ee[_0xedfd('0x31')],_0x1cc0ee[_0xedfd('0x32')]);_0x9f495c[_0xedfd('0x35')]=_[_0xedfd('0x36')](_0x1cc0ee[_0xedfd('0x31')],qs[_0xedfd('0x37')](_0x17eaad['query']['fields']));_0x9f495c[_0xedfd('0x35')]=_0x9f495c[_0xedfd('0x35')]['length']?_0x9f495c[_0xedfd('0x35')]:_0x1cc0ee['model'];_0x9f495c[_0xedfd('0x3b')]=qs[_0xedfd('0x3c')](_0x17eaad[_0xedfd('0x32')][_0xedfd('0x3c')]);_0x9f495c[_0xedfd('0x3e')]=qs[_0xedfd('0x34')](_[_0xedfd('0x3d')](_0x17eaad[_0xedfd('0x32')],_0x1cc0ee[_0xedfd('0x34')]));if(_0x17eaad[_0xedfd('0x32')][_0xedfd('0x41')]){_0x9f495c[_0xedfd('0x3e')]=_['merge'](_0x9f495c[_0xedfd('0x3e')],{'$or':_[_0xedfd('0x2c')](_0x9f495c['attributes'],function(_0x25f719){var _0x38818d={};_0x38818d[_0x25f719]={'$like':'%'+_0x17eaad[_0xedfd('0x32')][_0xedfd('0x41')]+'%'};return _0x38818d;})});}_0x9f495c=_[_0xedfd('0x3f')]({},_0x9f495c,_0x17eaad[_0xedfd('0x42')]);return _0x4239a9['getAgents'](_0x9f495c);}})[_0xedfd('0x26')](function(_0x1eab2a){if(_0x1eab2a){_0x509bfe=_0x1eab2a[_0xedfd('0x38')];if(!_0x17eaad[_0xedfd('0x32')][_0xedfd('0x39')]('nolimit')){_0x9f495c[_0xedfd('0x20')]=qs[_0xedfd('0x20')](_0x17eaad['query'][_0xedfd('0x20')]);_0x9f495c[_0xedfd('0x22')]=qs[_0xedfd('0x22')](_0x17eaad['query'][_0xedfd('0x22')]);}return _0x4239a9['getAgents'](_0x9f495c);}})['then'](function(_0x4ee905){if(_0x4ee905){return _0x4ee905?{'count':_0x509bfe,'rows':_0x4ee905}:null;}})['then'](respondWithResult(_0x137c18,null))[_0xedfd('0x46')](handleError(_0x137c18,null));};