a156860a1bfeb11a472396df2327877ca336a56c
[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 _0xab67=['limit','count','set','Content-Range','apply','save','error','stack','name','send','index','Team','rawAttributes','fieldName','type','key','model','map','keys','query','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','sort','pick','filter','where','merge','VIRTUAL','options','then','includeAll','include','findAll','rows','catch','show','params','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','sequelize','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','QueryTypes','SELECT','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','VoiceQueueId','destroy','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','FaxQueueId','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','UserOpenchannelQueue','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','TeamVoicePrefix','UserVoicePrefix','UserProfileResource','findOne','channel','isValidChannel','ValidationError','capitalize','toLowerCase','Queue','order','addQueues','Unknown\x20channel','add','Queues','ids','remove','addAgents','isArray','find','Voice','Chat','Sms','Fax','Openchannel','Whatsapp','through','penalty','QueueId','TeamVoiceQueue','User','emit','Queue:save','upsert','isNil','interface','format','SIP/%s','voicePause','all','removeAgents','Mail','Queue:remove','VoicePrefixId','getAgents','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','sox','to-csv','lodash','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','redis','defaults','localhost','./team.socket','register','sendStatus','status','end','json','offset','undefined'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0xab67,0x109));var _0x7ab6=function(_0x2a8860,_0x2da926){_0x2a8860=_0x2a8860-0x0;var _0x2f47a4=_0xab67[_0x2a8860];return _0x2f47a4;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x7ab6('0x0'));var zipdir=require(_0x7ab6('0x1'));var jsonpatch=require(_0x7ab6('0x2'));var rp=require(_0x7ab6('0x3'));var moment=require('moment');var BPromise=require(_0x7ab6('0x4'));var Mustache=require(_0x7ab6('0x5'));var util=require(_0x7ab6('0x6'));var path=require('path');var sox=require(_0x7ab6('0x7'));var csv=require(_0x7ab6('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0x7ab6('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require(_0x7ab6('0xa'));var deskjs=require(_0x7ab6('0xb'));var toCsv=require(_0x7ab6('0x8'));var querystring=require(_0x7ab6('0xc'));var Papa=require(_0x7ab6('0xd'));var Redis=require(_0x7ab6('0xe'));var authService=require(_0x7ab6('0xf'));var qs=require(_0x7ab6('0x10'));var as=require(_0x7ab6('0x11'));var hardwareService=require(_0x7ab6('0x12'));var logger=require(_0x7ab6('0x13'))(_0x7ab6('0x14'));var utils=require('../../config/utils');var config=require(_0x7ab6('0x15'));var licenseUtil=require('../../config/license/util');var db=require('../../mysqldb')['db'];config[_0x7ab6('0x16')]=_[_0x7ab6('0x17')](config['redis'],{'host':_0x7ab6('0x18'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x7ab6('0x16')]));require(_0x7ab6('0x19'))[_0x7ab6('0x1a')](socket);function respondWithStatusCode(_0x23f9e3,_0x578f5e){_0x578f5e=_0x578f5e||0xcc;return function(_0x4b1b38){if(_0x4b1b38){return _0x23f9e3[_0x7ab6('0x1b')](_0x578f5e);}return _0x23f9e3[_0x7ab6('0x1c')](_0x578f5e)[_0x7ab6('0x1d')]();};}function respondWithResult(_0x586ef1,_0x1174ad){_0x1174ad=_0x1174ad||0xc8;return function(_0x57f5a9){if(_0x57f5a9){return _0x586ef1[_0x7ab6('0x1c')](_0x1174ad)[_0x7ab6('0x1e')](_0x57f5a9);}};}function respondWithFilteredResult(_0xef6f8d,_0xa54680){return function(_0x3a1260){if(_0x3a1260){var _0x58f66d=typeof _0xa54680[_0x7ab6('0x1f')]===_0x7ab6('0x20')&&typeof _0xa54680[_0x7ab6('0x21')]===_0x7ab6('0x20');var _0x1a023f=_0x3a1260['count'];var _0x4cf672=_0x58f66d?0x0:_0xa54680[_0x7ab6('0x1f')];var _0x1a2f3b=_0x58f66d?_0x3a1260[_0x7ab6('0x22')]:_0xa54680[_0x7ab6('0x1f')]+_0xa54680[_0x7ab6('0x21')];var _0x52a9bc;if(_0x1a2f3b>=_0x1a023f){_0x1a2f3b=_0x1a023f;_0x52a9bc=0xc8;}else{_0x52a9bc=0xce;}_0xef6f8d[_0x7ab6('0x1c')](_0x52a9bc);return _0xef6f8d[_0x7ab6('0x23')](_0x7ab6('0x24'),_0x4cf672+'-'+_0x1a2f3b+'/'+_0x1a023f)['json'](_0x3a1260);}return null;};}function patchUpdates(_0x54b522){return function(_0x14c993){try{jsonpatch[_0x7ab6('0x25')](_0x14c993,_0x54b522,!![]);}catch(_0xfc80b3){return BPromise['reject'](_0xfc80b3);}return _0x14c993[_0x7ab6('0x26')]();};}function saveUpdates(_0x50777f,_0x336bdf){return function(_0x2c2f2f){if(_0x2c2f2f){return _0x2c2f2f['update'](_0x50777f)['then'](function(_0x1aef87){return _0x1aef87;});}return null;};}function handleEntityNotFound(_0x522757,_0x215129){return function(_0x36d371){if(!_0x36d371){_0x522757[_0x7ab6('0x1b')](0x194);}return _0x36d371;};}function handleError(_0x4436d4,_0x355313){_0x355313=_0x355313||0x1f4;return function(_0x1d6496){logger[_0x7ab6('0x27')](_0x1d6496[_0x7ab6('0x28')]);if(_0x1d6496[_0x7ab6('0x29')]){delete _0x1d6496[_0x7ab6('0x29')];}_0x4436d4[_0x7ab6('0x1c')](_0x355313)[_0x7ab6('0x2a')](_0x1d6496);};}exports[_0x7ab6('0x2b')]=function(_0x413889,_0x55b07b){var _0x39cd8e={},_0x5f4087={},_0x11e29a={'count':0x0,'rows':[]};var _0x45d33e=_['map'](db[_0x7ab6('0x2c')][_0x7ab6('0x2d')],function(_0x591428){return{'name':_0x591428[_0x7ab6('0x2e')],'type':_0x591428[_0x7ab6('0x2f')][_0x7ab6('0x30')]};});_0x5f4087[_0x7ab6('0x31')]=_[_0x7ab6('0x32')](_0x45d33e,_0x7ab6('0x29'));_0x5f4087['query']=_[_0x7ab6('0x33')](_0x413889[_0x7ab6('0x34')]);_0x5f4087[_0x7ab6('0x35')]=_[_0x7ab6('0x36')](_0x5f4087['model'],_0x5f4087[_0x7ab6('0x34')]);_0x39cd8e[_0x7ab6('0x37')]=_['intersection'](_0x5f4087[_0x7ab6('0x31')],qs['fields'](_0x413889[_0x7ab6('0x34')][_0x7ab6('0x38')]));_0x39cd8e['attributes']=_0x39cd8e['attributes'][_0x7ab6('0x39')]?_0x39cd8e['attributes']:_0x5f4087['model'];if(!_0x413889[_0x7ab6('0x34')][_0x7ab6('0x3a')](_0x7ab6('0x3b'))){_0x39cd8e[_0x7ab6('0x21')]=qs[_0x7ab6('0x21')](_0x413889[_0x7ab6('0x34')]['limit']);_0x39cd8e[_0x7ab6('0x1f')]=qs[_0x7ab6('0x1f')](_0x413889[_0x7ab6('0x34')][_0x7ab6('0x1f')]);}_0x39cd8e['order']=qs[_0x7ab6('0x3c')](_0x413889['query'][_0x7ab6('0x3c')]);_0x39cd8e['where']=qs['filters'](_[_0x7ab6('0x3d')](_0x413889[_0x7ab6('0x34')],_0x5f4087[_0x7ab6('0x35')]),_0x45d33e);if(_0x413889['query'][_0x7ab6('0x3e')]){_0x39cd8e[_0x7ab6('0x3f')]=_[_0x7ab6('0x40')](_0x39cd8e[_0x7ab6('0x3f')],{'$or':_[_0x7ab6('0x32')](_0x45d33e,function(_0x2c7552){if(_0x2c7552[_0x7ab6('0x2f')]!==_0x7ab6('0x41')){var _0x5a775c={};_0x5a775c[_0x2c7552[_0x7ab6('0x29')]]={'$like':'%'+_0x413889[_0x7ab6('0x34')][_0x7ab6('0x3e')]+'%'};return _0x5a775c;}})});}_0x39cd8e=_['merge']({},_0x39cd8e,_0x413889[_0x7ab6('0x42')]);var _0x422672={'where':_0x39cd8e[_0x7ab6('0x3f')]};return db[_0x7ab6('0x2c')][_0x7ab6('0x22')](_0x422672)[_0x7ab6('0x43')](function(_0x1dedbc){_0x11e29a[_0x7ab6('0x22')]=_0x1dedbc;if(_0x413889[_0x7ab6('0x34')][_0x7ab6('0x44')]){_0x39cd8e[_0x7ab6('0x45')]=[{'all':!![]}];}return db['Team'][_0x7ab6('0x46')](_0x39cd8e);})[_0x7ab6('0x43')](function(_0x1cef89){_0x11e29a[_0x7ab6('0x47')]=_0x1cef89;return _0x11e29a;})[_0x7ab6('0x43')](respondWithFilteredResult(_0x55b07b,_0x39cd8e))[_0x7ab6('0x48')](handleError(_0x55b07b,null));};exports[_0x7ab6('0x49')]=function(_0x44aba8,_0x26d45d){var _0x4de9c3={'raw':![],'where':{'id':_0x44aba8[_0x7ab6('0x4a')]['id']}},_0x44b5fe={};_0x44b5fe[_0x7ab6('0x31')]=_[_0x7ab6('0x33')](db[_0x7ab6('0x2c')][_0x7ab6('0x2d')]);_0x44b5fe['query']=_[_0x7ab6('0x33')](_0x44aba8[_0x7ab6('0x34')]);_0x44b5fe[_0x7ab6('0x35')]=_[_0x7ab6('0x36')](_0x44b5fe[_0x7ab6('0x31')],_0x44b5fe[_0x7ab6('0x34')]);_0x4de9c3[_0x7ab6('0x37')]=_['intersection'](_0x44b5fe['model'],qs[_0x7ab6('0x38')](_0x44aba8['query']['fields']));_0x4de9c3[_0x7ab6('0x37')]=_0x4de9c3[_0x7ab6('0x37')]['length']?_0x4de9c3[_0x7ab6('0x37')]:_0x44b5fe[_0x7ab6('0x31')];if(_0x44aba8[_0x7ab6('0x34')][_0x7ab6('0x44')]){_0x4de9c3['include']=[{'all':!![]}];}_0x4de9c3=_['merge']({},_0x4de9c3,_0x44aba8[_0x7ab6('0x42')]);return db[_0x7ab6('0x2c')]['find'](_0x4de9c3)['then'](handleEntityNotFound(_0x26d45d,null))[_0x7ab6('0x43')](respondWithResult(_0x26d45d,null))[_0x7ab6('0x48')](handleError(_0x26d45d,null));};exports[_0x7ab6('0x4b')]=function(_0x77f98c,_0x4bf980){return db[_0x7ab6('0x2c')]['create'](_0x77f98c[_0x7ab6('0x4c')],{})['then'](function(_0x4fc689){var _0x4671bd=_0x77f98c[_0x7ab6('0x4d')][_0x7ab6('0x4e')]({'plain':!![]});if(!_0x4671bd)throw new Error(_0x7ab6('0x4f'));if(_0x4671bd['role']==='user'){var _0x37145a=_0x4fc689['get']({'plain':!![]});var _0x1d1458='Teams';return db[_0x7ab6('0x50')]['find']({'where':{'name':_0x1d1458,'userProfileId':_0x4671bd[_0x7ab6('0x51')]},'raw':!![]})[_0x7ab6('0x43')](function(_0x100bc3){if(_0x100bc3&&_0x100bc3[_0x7ab6('0x52')]===0x0){return db['UserProfileResource']['create']({'name':_0x37145a['name'],'resourceId':_0x37145a['id'],'type':_0x100bc3[_0x7ab6('0x29')],'sectionId':_0x100bc3['id']},{})[_0x7ab6('0x43')](function(){return _0x4fc689;});}else{return _0x4fc689;}})[_0x7ab6('0x48')](function(_0x48671c){logger[_0x7ab6('0x27')](_0x7ab6('0x53'),_0x48671c);throw _0x48671c;});}return _0x4fc689;})[_0x7ab6('0x43')](respondWithResult(_0x4bf980,0xc9))[_0x7ab6('0x48')](handleError(_0x4bf980,null));};exports[_0x7ab6('0x54')]=function(_0x30131a,_0x2ecd3c){if(_0x30131a[_0x7ab6('0x4c')]['id']){delete _0x30131a[_0x7ab6('0x4c')]['id'];}return db[_0x7ab6('0x2c')]['find']({'where':{'id':_0x30131a['params']['id']}})[_0x7ab6('0x43')](handleEntityNotFound(_0x2ecd3c,null))['then'](saveUpdates(_0x30131a['body'],null))[_0x7ab6('0x43')](respondWithResult(_0x2ecd3c,null))[_0x7ab6('0x48')](handleError(_0x2ecd3c,null));};exports['destroy']=function(_0x8150b1,_0x1a0eb7){var _0x1d608a=_0x8150b1[_0x7ab6('0x4a')]['id'];var _0x4fd2cf=[];return db[_0x7ab6('0x55')][_0x7ab6('0x56')](function(_0x525419){var _0x226985=_0x7ab6('0x57')+_0x1d608a;return db[_0x7ab6('0x55')][_0x7ab6('0x34')](_0x226985,{'type':db[_0x7ab6('0x58')][_0x7ab6('0x59')][_0x7ab6('0x5a')],'raw':!![],'transaction':_0x525419})[_0x7ab6('0x43')](function(_0x5dfe03){_0x4fd2cf=_['map'](_0x5dfe03,function(_0x448499){return Number(_0x448499['UserId']);});})['then'](function(){var _0x51a7a3=_0x7ab6('0x5b')+_0x1d608a;return db[_0x7ab6('0x55')][_0x7ab6('0x34')](_0x51a7a3,{'type':db[_0x7ab6('0x58')]['QueryTypes'][_0x7ab6('0x5a')],'raw':!![],'transaction':_0x525419});})[_0x7ab6('0x43')](function(_0x4b87f3){var _0x28f09d=_[_0x7ab6('0x32')](_0x4b87f3,function(_0x28ce04){return Number(_0x28ce04[_0x7ab6('0x5c')]);});return db['UserVoiceQueue'][_0x7ab6('0x5d')]({'where':{'UserId':{'$in':_0x4fd2cf},'VoiceQueueId':{'$in':_0x28f09d}},'transaction':_0x525419});})[_0x7ab6('0x43')](function(){var _0x1e67a7='SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20'+_0x1d608a;return db[_0x7ab6('0x55')][_0x7ab6('0x34')](_0x1e67a7,{'type':db['Sequelize'][_0x7ab6('0x59')][_0x7ab6('0x5a')],'raw':!![],'transaction':_0x525419});})[_0x7ab6('0x43')](function(_0x536461){var _0x3885b6=_[_0x7ab6('0x32')](_0x536461,function(_0x51db66){return Number(_0x51db66['MailQueueId']);});return db[_0x7ab6('0x5e')][_0x7ab6('0x5d')]({'where':{'UserId':{'$in':_0x4fd2cf},'MailQueueId':{'$in':_0x3885b6}},'transaction':_0x525419});})['then'](function(){var _0x56e325=_0x7ab6('0x5f')+_0x1d608a;return db[_0x7ab6('0x55')][_0x7ab6('0x34')](_0x56e325,{'type':db[_0x7ab6('0x58')][_0x7ab6('0x59')][_0x7ab6('0x5a')],'raw':!![],'transaction':_0x525419});})[_0x7ab6('0x43')](function(_0x39ee8c){var _0x33311e=_[_0x7ab6('0x32')](_0x39ee8c,function(_0x156a47){return Number(_0x156a47['SmsQueueId']);});return db[_0x7ab6('0x60')][_0x7ab6('0x5d')]({'where':{'UserId':{'$in':_0x4fd2cf},'SmsQueueId':{'$in':_0x33311e}},'transaction':_0x525419});})['then'](function(){var _0x16eb50=_0x7ab6('0x61')+_0x1d608a;return db['sequelize']['query'](_0x16eb50,{'type':db[_0x7ab6('0x58')][_0x7ab6('0x59')][_0x7ab6('0x5a')],'raw':!![],'transaction':_0x525419});})[_0x7ab6('0x43')](function(_0xbdad0e){var _0x3987f2=_[_0x7ab6('0x32')](_0xbdad0e,function(_0x455baf){return Number(_0x455baf[_0x7ab6('0x62')]);});return db['UserChatQueue'][_0x7ab6('0x5d')]({'where':{'UserId':{'$in':_0x4fd2cf},'ChatQueueId':{'$in':_0x3987f2}},'transaction':_0x525419});})[_0x7ab6('0x43')](function(){var _0x32d1c8='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0x1d608a;return db['sequelize']['query'](_0x32d1c8,{'type':db[_0x7ab6('0x58')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x525419});})['then'](function(_0x1864fa){var _0x3deaed=_[_0x7ab6('0x32')](_0x1864fa,function(_0x258cef){return Number(_0x258cef[_0x7ab6('0x63')]);});return db['UserFaxQueue'][_0x7ab6('0x5d')]({'where':{'UserId':{'$in':_0x4fd2cf},'FaxQueueId':{'$in':_0x3deaed}},'transaction':_0x525419});})['then'](function(){var _0xd096e9=_0x7ab6('0x64')+_0x1d608a;return db[_0x7ab6('0x55')][_0x7ab6('0x34')](_0xd096e9,{'type':db['Sequelize'][_0x7ab6('0x59')][_0x7ab6('0x5a')],'raw':!![],'transaction':_0x525419});})[_0x7ab6('0x43')](function(_0x53aeb6){var _0x30ac87=_[_0x7ab6('0x32')](_0x53aeb6,function(_0xcea99f){return Number(_0xcea99f['OpenchannelQueueId']);});return db[_0x7ab6('0x65')][_0x7ab6('0x5d')]({'where':{'UserId':{'$in':_0x4fd2cf},'OpenchannelQueueId':{'$in':_0x30ac87}},'transaction':_0x525419});})[_0x7ab6('0x43')](function(){var _0x3fabd3=_0x7ab6('0x66')+_0x1d608a;return db[_0x7ab6('0x55')][_0x7ab6('0x34')](_0x3fabd3,{'type':db[_0x7ab6('0x58')][_0x7ab6('0x59')]['SELECT'],'raw':!![],'transaction':_0x525419});})[_0x7ab6('0x43')](function(_0x5cc694){var _0xee3b68=_[_0x7ab6('0x32')](_0x5cc694,function(_0x53759c){return Number(_0x53759c[_0x7ab6('0x67')]);});return db['UserWhatsappQueue'][_0x7ab6('0x5d')]({'where':{'UserId':{'$in':_0x4fd2cf},'WhatsappQueueId':{'$in':_0xee3b68}},'transaction':_0x525419});})['then'](function(){return db[_0x7ab6('0x68')]['find']({'where':{'TeamId':_0x1d608a}});})[_0x7ab6('0x43')](function(_0x10a7b0){if(_0x10a7b0===null){return;}return db[_0x7ab6('0x69')][_0x7ab6('0x5d')]({'where':{'UserId':{'$in':_0x4fd2cf},'VoicePrefixId':_0x10a7b0['VoicePrefixId']},'transaction':_0x525419});})[_0x7ab6('0x43')](function(){return db[_0x7ab6('0x2c')][_0x7ab6('0x5d')]({'where':{'id':_0x1d608a},'cascade':!![],'transaction':_0x525419});})['then'](function(_0x542fbf){if(_0x542fbf===0x0){_0x1a0eb7[_0x7ab6('0x1b')](0x194);}else{return db[_0x7ab6('0x6a')][_0x7ab6('0x5d')]({'where':{'type':'Teams','resourceId':_0x1d608a},'cascade':!![],'transaction':_0x525419})[_0x7ab6('0x43')](function(){_0x1a0eb7[_0x7ab6('0x1c')](0xcc)[_0x7ab6('0x1d')]();});}})['catch'](function(_0x565ecb){_0x1a0eb7[_0x7ab6('0x1c')](0x1f4)['send'](_0x565ecb);});});};exports['getQueues']=function(_0x1c352e,_0x422243,_0x426d33){return db[_0x7ab6('0x2c')][_0x7ab6('0x6b')]({'where':{'id':_0x1c352e[_0x7ab6('0x4a')]['id']}})[_0x7ab6('0x43')](handleEntityNotFound(_0x422243,null))[_0x7ab6('0x43')](function(_0x551e0d){if(!_0x1c352e[_0x7ab6('0x34')][_0x7ab6('0x6c')]||!utils[_0x7ab6('0x6d')](_0x1c352e[_0x7ab6('0x34')][_0x7ab6('0x6c')])){throw new db[(_0x7ab6('0x58'))][(_0x7ab6('0x6e'))]('Unknown\x20channel');}var _0xe32ae3={};var _0x4533da={};_0x4533da[_0x7ab6('0x31')]=_[_0x7ab6('0x33')](db[_[_0x7ab6('0x6f')](_0x1c352e[_0x7ab6('0x34')][_0x7ab6('0x6c')][_0x7ab6('0x70')]())+_0x7ab6('0x71')][_0x7ab6('0x2d')]);_0x4533da['query']=_[_0x7ab6('0x33')](_0x1c352e[_0x7ab6('0x34')]);_0x4533da[_0x7ab6('0x35')]=_[_0x7ab6('0x36')](_0x4533da['model'],_0x4533da[_0x7ab6('0x34')]);_0xe32ae3[_0x7ab6('0x37')]=_[_0x7ab6('0x36')](_0x4533da[_0x7ab6('0x31')],qs[_0x7ab6('0x38')](_0x1c352e['query']['fields']));_0xe32ae3['attributes']=_0xe32ae3[_0x7ab6('0x37')][_0x7ab6('0x39')]?_0xe32ae3[_0x7ab6('0x37')]:_0x4533da['model'];_0xe32ae3['limit']=qs[_0x7ab6('0x21')](_0x1c352e['query']['limit']);_0xe32ae3[_0x7ab6('0x1f')]=qs[_0x7ab6('0x1f')](_0x1c352e[_0x7ab6('0x34')][_0x7ab6('0x1f')]);_0xe32ae3[_0x7ab6('0x72')]=qs[_0x7ab6('0x3c')](_0x1c352e[_0x7ab6('0x34')][_0x7ab6('0x3c')]);_0xe32ae3[_0x7ab6('0x3f')]=qs[_0x7ab6('0x35')](_[_0x7ab6('0x3d')](_0x1c352e[_0x7ab6('0x34')],_0x4533da['filters']));_0xe32ae3=_[_0x7ab6('0x40')]({},_0xe32ae3,_0x1c352e[_0x7ab6('0x42')]);return _0x551e0d['get'+_[_0x7ab6('0x6f')](_0x1c352e[_0x7ab6('0x34')][_0x7ab6('0x6c')][_0x7ab6('0x70')]())+'Queues'](_0xe32ae3);})[_0x7ab6('0x43')](respondWithResult(_0x422243,null))['catch'](handleError(_0x422243,null));};exports[_0x7ab6('0x73')]=function(_0x3313ca,_0x339de8,_0x48a5e1){return db[_0x7ab6('0x2c')][_0x7ab6('0x6b')]({'where':{'id':_0x3313ca[_0x7ab6('0x4a')]['id']}})['then'](function(_0x45118c){if(_0x45118c){if(!_0x3313ca[_0x7ab6('0x4c')]['channel']||!utils['isValidChannel'](_0x3313ca[_0x7ab6('0x4c')][_0x7ab6('0x6c')])){throw new db[(_0x7ab6('0x58'))][(_0x7ab6('0x6e'))](_0x7ab6('0x74'));}return _0x45118c[_0x7ab6('0x75')+_[_0x7ab6('0x6f')](_0x3313ca[_0x7ab6('0x4c')][_0x7ab6('0x6c')]['toLowerCase']())+_0x7ab6('0x76')](_0x3313ca[_0x7ab6('0x4c')][_0x7ab6('0x77')]);}return null;})[_0x7ab6('0x43')](handleEntityNotFound(_0x339de8,null))[_0x7ab6('0x43')](respondWithStatusCode(_0x339de8,null))[_0x7ab6('0x48')](handleError(_0x339de8,null));};exports['removeQueues']=function(_0x247f8c,_0x3de7d5,_0x2aa213){return db[_0x7ab6('0x2c')][_0x7ab6('0x6b')]({'where':{'id':_0x247f8c['params']['id']}})[_0x7ab6('0x43')](function(_0x359fe8){if(_0x359fe8){if(!_0x247f8c[_0x7ab6('0x34')]['channel']||!utils[_0x7ab6('0x6d')](_0x247f8c[_0x7ab6('0x34')][_0x7ab6('0x6c')])){throw new db[(_0x7ab6('0x58'))][(_0x7ab6('0x6e'))]('Unknown\x20channel');}return _0x359fe8[_0x7ab6('0x78')+_[_0x7ab6('0x6f')](_0x247f8c[_0x7ab6('0x34')]['channel'][_0x7ab6('0x70')]())+_0x7ab6('0x76')](_0x247f8c[_0x7ab6('0x34')][_0x7ab6('0x77')]);}return null;})[_0x7ab6('0x43')](handleEntityNotFound(_0x3de7d5,null))['then'](respondWithStatusCode(_0x3de7d5,null))[_0x7ab6('0x48')](handleError(_0x3de7d5,null));};exports[_0x7ab6('0x79')]=function(_0x44e63f,_0x2a4a7e){var _0x159bcc=_[_0x7ab6('0x7a')](_0x44e63f['body']['ids'])?_0x44e63f[_0x7ab6('0x4c')][_0x7ab6('0x77')]:[_0x44e63f[_0x7ab6('0x4c')][_0x7ab6('0x77')]];var _0x5d9d4c=_0x44e63f[_0x7ab6('0x4a')]['id'];return db[_0x7ab6('0x2c')][_0x7ab6('0x7b')]({'where':{'id':_0x5d9d4c}})['then'](handleEntityNotFound(_0x2a4a7e,null))[_0x7ab6('0x43')](function(_0x1c7dcb){if(_0x1c7dcb){var _0x3974a0=[_0x7ab6('0x7c'),_0x7ab6('0x7d'),'Mail',_0x7ab6('0x7e'),_0x7ab6('0x7f'),_0x7ab6('0x80'),_0x7ab6('0x81')];return db[_0x7ab6('0x55')][_0x7ab6('0x56')](function(_0xa87161){var _0x54014c=_[_0x7ab6('0x32')](_0x3974a0,function(_0x319927){var _0x22e730={'attributes':['id','name']};if(_0x319927===_0x7ab6('0x7c')){_0x22e730[_0x7ab6('0x82')]={'attributes':[_0x7ab6('0x83')]};}return _0x1c7dcb[_0x7ab6('0x4e')+_0x319927+_0x7ab6('0x76')](_0x22e730)[_0x7ab6('0x43')](function(_0x142152){var _0xda7cd0=_['map'](_0x142152,function(_0x287ae8){var _0x445162=_[_0x7ab6('0x32')](_0x159bcc,function(_0x4a27fe){var _0x523cdc={'where':{'UserId':_0x4a27fe,[_0x319927+_0x7ab6('0x84')]:_0x287ae8['id']},'transaction':_0xa87161};if(_0x319927===_0x7ab6('0x7c')){_0x523cdc[_0x7ab6('0x17')]={'penalty':_0x287ae8[_0x7ab6('0x85')][_0x7ab6('0x83')]};}return db[_0x7ab6('0x86')+_0x319927+'Queue']['findOrCreate'](_0x523cdc)[_0x7ab6('0x43')](function(){socket[_0x7ab6('0x87')](_0x7ab6('0x4d')+_0x319927+_0x7ab6('0x88'),{'UserId':_0x4a27fe,[_0x319927+'QueueId']:_0x287ae8['id']});if(_0x319927!==_0x7ab6('0x7c')){return;}return db[_0x7ab6('0x86')][_0x7ab6('0x46')]({'where':{'id':_0x159bcc,'online':0x1},'attributes':['id',_0x7ab6('0x29'),'online','voicePause','interface'],'raw':!![]})[_0x7ab6('0x43')](function(_0x2b745d){var _0x5c7770=_['map'](_0x2b745d,function(_0x4528d8){return db['UserVoiceQueueRt'][_0x7ab6('0x89')]({'membername':_0x4528d8[_0x7ab6('0x29')],'UserId':_0x4528d8['id'],'queue_name':_0x287ae8[_0x7ab6('0x29')],'VoiceQueueId':_0x287ae8['id'],'interface':_[_0x7ab6('0x8a')](_0x4528d8[_0x7ab6('0x8b')])?util[_0x7ab6('0x8c')](_0x7ab6('0x8d'),_0x4528d8[_0x7ab6('0x29')]):_0x4528d8['interface'],'paused':_0x4528d8[_0x7ab6('0x8e')]||![],'penalty':_0x287ae8[_0x7ab6('0x85')]['penalty']},{'transaction':_0xa87161});});return Promise['all'](_0x5c7770);});});});return Promise['all'](_0x445162);});return Promise[_0x7ab6('0x8f')](_0xda7cd0);})['then'](function(){return db[_0x7ab6('0x68')][_0x7ab6('0x6b')]({'where':{'teamId':_0x5d9d4c}})[_0x7ab6('0x43')](function(_0x224b7f){if(_0x224b7f){var _0x1e5056=_['map'](_0x159bcc,function(_0x5e2703){db[_0x7ab6('0x69')][_0x7ab6('0x89')]({'UserId':_0x5e2703,'VoicePrefixId':_0x224b7f['VoicePrefixId']});});return Promise[_0x7ab6('0x8f')](_0x1e5056);}});});});return Promise[_0x7ab6('0x8f')](_0x54014c)[_0x7ab6('0x43')](function(){return _0x1c7dcb['addAgents'](_0x159bcc,{'transaction':_0xa87161})['spread'](function(_0x33f9a6){return _0x33f9a6;});});});}})['then'](respondWithResult(_0x2a4a7e,null))[_0x7ab6('0x48')](handleError(_0x2a4a7e,null));};exports[_0x7ab6('0x90')]=function(_0x2aa7fc,_0x29380e){var _0x4f5dbd=_['isArray'](_0x2aa7fc[_0x7ab6('0x34')][_0x7ab6('0x77')])?_0x2aa7fc[_0x7ab6('0x34')][_0x7ab6('0x77')]:[_0x2aa7fc['query'][_0x7ab6('0x77')]];var _0x15aa65=_0x2aa7fc['params']['id'];return db['Team'][_0x7ab6('0x7b')]({'where':{'id':_0x15aa65}})[_0x7ab6('0x43')](handleEntityNotFound(_0x29380e,null))['then'](function(_0x15247c){if(_0x15247c){var _0x9dfa27=['Voice',_0x7ab6('0x7d'),_0x7ab6('0x91'),_0x7ab6('0x7e'),_0x7ab6('0x7f'),_0x7ab6('0x80'),'Whatsapp'];return db[_0x7ab6('0x55')]['transaction'](function(_0x5ce201){var _0x7b6f98=_[_0x7ab6('0x32')](_0x9dfa27,function(_0x373388){var _0x284de4={'attributes':['id',_0x7ab6('0x29')]};return _0x15247c['get'+_0x373388+_0x7ab6('0x76')](_0x284de4)[_0x7ab6('0x43')](function(_0x3bbfea){var _0x522eaf=_[_0x7ab6('0x32')](_0x3bbfea,function(_0x4bb9ee){return _0x4bb9ee[_0x7ab6('0x90')](_0x4f5dbd,{'transaction':_0x5ce201})[_0x7ab6('0x43')](function(){var _0x46838b=_[_0x7ab6('0x32')](_0x4f5dbd,function(_0x45b001){socket[_0x7ab6('0x87')](_0x7ab6('0x4d')+_0x373388+_0x7ab6('0x92'),{'UserId':Number(_0x45b001),[_0x373388+_0x7ab6('0x84')]:_0x4bb9ee['id']});if(_0x373388!==_0x7ab6('0x7c')){return;}return db['UserVoiceQueueRt']['destroy']({'where':{'VoiceQueueId':_0x4bb9ee['id'],'UserId':_0x45b001},'transaction':_0x5ce201});});return Promise[_0x7ab6('0x8f')](_0x46838b);});});return Promise[_0x7ab6('0x8f')](_0x522eaf);});});return Promise[_0x7ab6('0x8f')](_0x7b6f98)[_0x7ab6('0x43')](function(){return _0x15247c[_0x7ab6('0x90')](_0x4f5dbd,{'transaction':_0x5ce201});})[_0x7ab6('0x43')](function(){return db[_0x7ab6('0x68')][_0x7ab6('0x6b')]({'where':{'teamId':_0x15aa65}})[_0x7ab6('0x43')](function(_0xa5fbdb){if(_0xa5fbdb){var _0xa21718=_[_0x7ab6('0x32')](_0x4f5dbd,function(_0x5b56bb){db['UserVoicePrefix'][_0x7ab6('0x5d')]({'where':{'UserId':_0x5b56bb,'VoicePrefixId':_0xa5fbdb[_0x7ab6('0x93')]}});});return Promise[_0x7ab6('0x8f')](_0xa21718);}});});});}})[_0x7ab6('0x43')](respondWithStatusCode(_0x29380e,null))[_0x7ab6('0x48')](handleError(_0x29380e,null));};exports['getAgents']=function(_0x2523ae,_0x46cde6,_0xec1aec){var _0x200285={};var _0x2bb2af={};var _0x583266;var _0x42db23;return db[_0x7ab6('0x2c')][_0x7ab6('0x6b')]({'where':{'id':_0x2523ae[_0x7ab6('0x4a')]['id']}})[_0x7ab6('0x43')](handleEntityNotFound(_0x46cde6,null))['then'](function(_0x4a4e86){if(_0x4a4e86){_0x583266=_0x4a4e86;_0x2bb2af[_0x7ab6('0x31')]=_['keys'](db[_0x7ab6('0x86')][_0x7ab6('0x2d')]);_0x2bb2af['query']=_[_0x7ab6('0x33')](_0x2523ae[_0x7ab6('0x34')]);_0x2bb2af[_0x7ab6('0x35')]=_['intersection'](_0x2bb2af['model'],_0x2bb2af[_0x7ab6('0x34')]);_0x200285[_0x7ab6('0x37')]=_[_0x7ab6('0x36')](_0x2bb2af[_0x7ab6('0x31')],qs[_0x7ab6('0x38')](_0x2523ae[_0x7ab6('0x34')][_0x7ab6('0x38')]));_0x200285['attributes']=_0x200285['attributes'][_0x7ab6('0x39')]?_0x200285[_0x7ab6('0x37')]:_0x2bb2af[_0x7ab6('0x31')];_0x200285[_0x7ab6('0x72')]=qs[_0x7ab6('0x3c')](_0x2523ae[_0x7ab6('0x34')][_0x7ab6('0x3c')]);_0x200285[_0x7ab6('0x3f')]=qs[_0x7ab6('0x35')](_[_0x7ab6('0x3d')](_0x2523ae[_0x7ab6('0x34')],_0x2bb2af['filters']));if(_0x2523ae['query'][_0x7ab6('0x3e')]){_0x200285[_0x7ab6('0x3f')]=_['merge'](_0x200285[_0x7ab6('0x3f')],{'$or':_[_0x7ab6('0x32')](_0x200285['attributes'],function(_0x21cd30){var _0x54ef68={};_0x54ef68[_0x21cd30]={'$like':'%'+_0x2523ae[_0x7ab6('0x34')][_0x7ab6('0x3e')]+'%'};return _0x54ef68;})});}_0x200285=_[_0x7ab6('0x40')]({},_0x200285,_0x2523ae[_0x7ab6('0x42')]);return _0x583266[_0x7ab6('0x94')](_0x200285);}})[_0x7ab6('0x43')](function(_0x45481b){if(_0x45481b){_0x42db23=_0x45481b['length'];if(!_0x2523ae['query'][_0x7ab6('0x3a')]('nolimit')){_0x200285[_0x7ab6('0x21')]=qs[_0x7ab6('0x21')](_0x2523ae[_0x7ab6('0x34')][_0x7ab6('0x21')]);_0x200285[_0x7ab6('0x1f')]=qs['offset'](_0x2523ae[_0x7ab6('0x34')][_0x7ab6('0x1f')]);}return _0x583266['getAgents'](_0x200285);}})[_0x7ab6('0x43')](function(_0x10e7b2){if(_0x10e7b2){return _0x10e7b2?{'count':_0x42db23,'rows':_0x10e7b2}:null;}})[_0x7ab6('0x43')](respondWithResult(_0x46cde6,null))[_0x7ab6('0x48')](handleError(_0x46cde6,null));};