Built motion from commit 42801a18.|2.6.28
[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 _0x87e8=['all','removeAgents','Fax','Openchannel','Queue:remove','getAgents','rawAttributes','merge','nolimit','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/environment','../../config/license/util','redis','localhost','./team.socket','register','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','then','error','name','index','map','fieldName','type','key','model','query','keys','filters','attributes','intersection','length','hasOwnProperty','sort','where','pick','filter','VIRTUAL','options','Team','includeAll','findAll','rows','catch','show','params','fields','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','destroy','sequelize','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','QueryTypes','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','VoiceQueueId','MailQueueId','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','ChatQueueId','UserChatQueue','SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20','FaxQueueId','UserFaxQueue','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','UserVoicePrefix','VoicePrefixId','sendStatus','Teams','send','getQueues','findOne','channel','isValidChannel','ValidationError','Unknown\x20channel','capitalize','Queue','order','toLowerCase','Queues','addQueues','add','ids','removeQueues','remove','addAgents','isArray','Chat','Mail','Sms','Whatsapp','Voice','penalty','QueueId','TeamVoiceQueue','User','findOrCreate','emit','Queue:save','online','interface','UserVoiceQueueRt','upsert','isNil','voicePause'];(function(_0x95626e,_0x27ae45){var _0x22b689=function(_0x468311){while(--_0x468311){_0x95626e['push'](_0x95626e['shift']());}};_0x22b689(++_0x27ae45);}(_0x87e8,0x13f));var _0x887e=function(_0x1cc66c,_0x11162c){_0x1cc66c=_0x1cc66c-0x0;var _0x19b537=_0x87e8[_0x1cc66c];return _0x19b537;};'use strict';var emlformat=require(_0x887e('0x0'));var rimraf=require(_0x887e('0x1'));var zipdir=require(_0x887e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x887e('0x3'));var moment=require(_0x887e('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x887e('0x5'));var util=require(_0x887e('0x6'));var path=require(_0x887e('0x7'));var sox=require('sox');var csv=require('to-csv');var ejs=require(_0x887e('0x8'));var fs=require('fs');var fs_extra=require(_0x887e('0x9'));var _=require(_0x887e('0xa'));var squel=require(_0x887e('0xb'));var crypto=require(_0x887e('0xc'));var jsforce=require(_0x887e('0xd'));var deskjs=require(_0x887e('0xe'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x887e('0xf'));var Redis=require(_0x887e('0x10'));var authService=require(_0x887e('0x11'));var qs=require('../../components/parsers/qs');var as=require(_0x887e('0x12'));var hardwareService=require('../../config/license/hardware');var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require(_0x887e('0x13'));var licenseUtil=require(_0x887e('0x14'));var db=require('../../mysqldb')['db'];config[_0x887e('0x15')]=_['defaults'](config[_0x887e('0x15')],{'host':_0x887e('0x16'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x887e('0x15')]));require(_0x887e('0x17'))[_0x887e('0x18')](socket);function respondWithStatusCode(_0x1c280d,_0x4f42ba){_0x4f42ba=_0x4f42ba||0xcc;return function(_0x557ae6){if(_0x557ae6){return _0x1c280d['sendStatus'](_0x4f42ba);}return _0x1c280d[_0x887e('0x19')](_0x4f42ba)[_0x887e('0x1a')]();};}function respondWithResult(_0x3af381,_0x481d5a){_0x481d5a=_0x481d5a||0xc8;return function(_0x5b5557){if(_0x5b5557){return _0x3af381[_0x887e('0x19')](_0x481d5a)[_0x887e('0x1b')](_0x5b5557);}};}function respondWithFilteredResult(_0x27a71b,_0x580300){return function(_0x2d6b3f){if(_0x2d6b3f){var _0x59f598=typeof _0x580300[_0x887e('0x1c')]==='undefined'&&typeof _0x580300[_0x887e('0x1d')]===_0x887e('0x1e');var _0x4fc9ea=_0x2d6b3f[_0x887e('0x1f')];var _0x56e053=_0x59f598?0x0:_0x580300[_0x887e('0x1c')];var _0x26b693=_0x59f598?_0x2d6b3f[_0x887e('0x1f')]:_0x580300['offset']+_0x580300[_0x887e('0x1d')];var _0x728da5;if(_0x26b693>=_0x4fc9ea){_0x26b693=_0x4fc9ea;_0x728da5=0xc8;}else{_0x728da5=0xce;}_0x27a71b['status'](_0x728da5);return _0x27a71b[_0x887e('0x20')](_0x887e('0x21'),_0x56e053+'-'+_0x26b693+'/'+_0x4fc9ea)['json'](_0x2d6b3f);}return null;};}function patchUpdates(_0x47e242){return function(_0x1ed051){try{jsonpatch[_0x887e('0x22')](_0x1ed051,_0x47e242,!![]);}catch(_0x5394e5){return BPromise[_0x887e('0x23')](_0x5394e5);}return _0x1ed051[_0x887e('0x24')]();};}function saveUpdates(_0x15928e,_0x2fd36d){return function(_0xeb5aa3){if(_0xeb5aa3){return _0xeb5aa3['update'](_0x15928e)[_0x887e('0x25')](function(_0x345a5a){return _0x345a5a;});}return null;};}function handleEntityNotFound(_0x2c316e,_0x28c61e){return function(_0x54b624){if(!_0x54b624){_0x2c316e['sendStatus'](0x194);}return _0x54b624;};}function handleError(_0x190123,_0x4d2fa2){_0x4d2fa2=_0x4d2fa2||0x1f4;return function(_0x57efdf){logger[_0x887e('0x26')](_0x57efdf['stack']);if(_0x57efdf[_0x887e('0x27')]){delete _0x57efdf[_0x887e('0x27')];}_0x190123[_0x887e('0x19')](_0x4d2fa2)['send'](_0x57efdf);};}exports[_0x887e('0x28')]=function(_0x416081,_0x342de9){var _0x92f2a={},_0x46e7ac={},_0x6e553d={'count':0x0,'rows':[]};var _0x5d2cd3=_[_0x887e('0x29')](db['Team']['rawAttributes'],function(_0x947cb6){return{'name':_0x947cb6[_0x887e('0x2a')],'type':_0x947cb6[_0x887e('0x2b')][_0x887e('0x2c')]};});_0x46e7ac[_0x887e('0x2d')]=_[_0x887e('0x29')](_0x5d2cd3,_0x887e('0x27'));_0x46e7ac[_0x887e('0x2e')]=_[_0x887e('0x2f')](_0x416081[_0x887e('0x2e')]);_0x46e7ac[_0x887e('0x30')]=_['intersection'](_0x46e7ac[_0x887e('0x2d')],_0x46e7ac[_0x887e('0x2e')]);_0x92f2a[_0x887e('0x31')]=_[_0x887e('0x32')](_0x46e7ac[_0x887e('0x2d')],qs['fields'](_0x416081[_0x887e('0x2e')]['fields']));_0x92f2a[_0x887e('0x31')]=_0x92f2a['attributes'][_0x887e('0x33')]?_0x92f2a['attributes']:_0x46e7ac[_0x887e('0x2d')];if(!_0x416081['query'][_0x887e('0x34')]('nolimit')){_0x92f2a[_0x887e('0x1d')]=qs[_0x887e('0x1d')](_0x416081['query'][_0x887e('0x1d')]);_0x92f2a['offset']=qs['offset'](_0x416081[_0x887e('0x2e')][_0x887e('0x1c')]);}_0x92f2a['order']=qs[_0x887e('0x35')](_0x416081[_0x887e('0x2e')][_0x887e('0x35')]);_0x92f2a[_0x887e('0x36')]=qs[_0x887e('0x30')](_[_0x887e('0x37')](_0x416081['query'],_0x46e7ac[_0x887e('0x30')]),_0x5d2cd3);if(_0x416081[_0x887e('0x2e')][_0x887e('0x38')]){_0x92f2a['where']=_['merge'](_0x92f2a[_0x887e('0x36')],{'$or':_[_0x887e('0x29')](_0x5d2cd3,function(_0x186163){if(_0x186163['type']!==_0x887e('0x39')){var _0x200b6a={};_0x200b6a[_0x186163[_0x887e('0x27')]]={'$like':'%'+_0x416081[_0x887e('0x2e')]['filter']+'%'};return _0x200b6a;}})});}_0x92f2a=_['merge']({},_0x92f2a,_0x416081[_0x887e('0x3a')]);var _0x255cf6={'where':_0x92f2a[_0x887e('0x36')]};return db[_0x887e('0x3b')][_0x887e('0x1f')](_0x255cf6)[_0x887e('0x25')](function(_0x1ea414){_0x6e553d[_0x887e('0x1f')]=_0x1ea414;if(_0x416081['query'][_0x887e('0x3c')]){_0x92f2a['include']=[{'all':!![]}];}return db[_0x887e('0x3b')][_0x887e('0x3d')](_0x92f2a);})[_0x887e('0x25')](function(_0x5bfcd4){_0x6e553d[_0x887e('0x3e')]=_0x5bfcd4;return _0x6e553d;})[_0x887e('0x25')](respondWithFilteredResult(_0x342de9,_0x92f2a))[_0x887e('0x3f')](handleError(_0x342de9,null));};exports[_0x887e('0x40')]=function(_0x5e0bbb,_0x363e12){var _0x403b0f={'raw':![],'where':{'id':_0x5e0bbb[_0x887e('0x41')]['id']}},_0x30d911={};_0x30d911[_0x887e('0x2d')]=_[_0x887e('0x2f')](db[_0x887e('0x3b')]['rawAttributes']);_0x30d911['query']=_[_0x887e('0x2f')](_0x5e0bbb[_0x887e('0x2e')]);_0x30d911[_0x887e('0x30')]=_[_0x887e('0x32')](_0x30d911[_0x887e('0x2d')],_0x30d911['query']);_0x403b0f[_0x887e('0x31')]=_[_0x887e('0x32')](_0x30d911[_0x887e('0x2d')],qs['fields'](_0x5e0bbb[_0x887e('0x2e')][_0x887e('0x42')]));_0x403b0f[_0x887e('0x31')]=_0x403b0f['attributes'][_0x887e('0x33')]?_0x403b0f['attributes']:_0x30d911[_0x887e('0x2d')];if(_0x5e0bbb[_0x887e('0x2e')][_0x887e('0x3c')]){_0x403b0f['include']=[{'all':!![]}];}_0x403b0f=_['merge']({},_0x403b0f,_0x5e0bbb[_0x887e('0x3a')]);return db[_0x887e('0x3b')][_0x887e('0x43')](_0x403b0f)['then'](handleEntityNotFound(_0x363e12,null))['then'](respondWithResult(_0x363e12,null))[_0x887e('0x3f')](handleError(_0x363e12,null));};exports[_0x887e('0x44')]=function(_0x748e8c,_0x449f58){return db[_0x887e('0x3b')][_0x887e('0x44')](_0x748e8c[_0x887e('0x45')],{})[_0x887e('0x25')](function(_0x1ef9fa){var _0x48d64d=_0x748e8c[_0x887e('0x46')][_0x887e('0x47')]({'plain':!![]});if(!_0x48d64d)throw new Error(_0x887e('0x48'));if(_0x48d64d[_0x887e('0x49')]==='user'){var _0x56c16b=_0x1ef9fa[_0x887e('0x47')]({'plain':!![]});var _0x4c2910='Teams';return db[_0x887e('0x4a')]['find']({'where':{'name':_0x4c2910,'userProfileId':_0x48d64d[_0x887e('0x4b')]},'raw':!![]})[_0x887e('0x25')](function(_0x2010eb){if(_0x2010eb&&_0x2010eb['autoAssociation']===0x0){return db['UserProfileResource'][_0x887e('0x44')]({'name':_0x56c16b['name'],'resourceId':_0x56c16b['id'],'type':_0x2010eb[_0x887e('0x27')],'sectionId':_0x2010eb['id']},{})[_0x887e('0x25')](function(){return _0x1ef9fa;});}else{return _0x1ef9fa;}})[_0x887e('0x3f')](function(_0x34e6ff){logger[_0x887e('0x26')](_0x887e('0x4c'),_0x34e6ff);throw _0x34e6ff;});}return _0x1ef9fa;})['then'](respondWithResult(_0x449f58,0xc9))[_0x887e('0x3f')](handleError(_0x449f58,null));};exports[_0x887e('0x4d')]=function(_0x4bb1a9,_0x387951){if(_0x4bb1a9[_0x887e('0x45')]['id']){delete _0x4bb1a9['body']['id'];}return db[_0x887e('0x3b')][_0x887e('0x43')]({'where':{'id':_0x4bb1a9[_0x887e('0x41')]['id']}})['then'](handleEntityNotFound(_0x387951,null))[_0x887e('0x25')](saveUpdates(_0x4bb1a9['body'],null))['then'](respondWithResult(_0x387951,null))[_0x887e('0x3f')](handleError(_0x387951,null));};exports[_0x887e('0x4e')]=function(_0x4cf6ff,_0x3d82b0){var _0x5567ff=_0x4cf6ff[_0x887e('0x41')]['id'];var _0xf6b658=[];return db[_0x887e('0x4f')][_0x887e('0x50')](function(_0x1f606a){var _0x266875=_0x887e('0x51')+_0x5567ff;return db[_0x887e('0x4f')][_0x887e('0x2e')](_0x266875,{'type':db[_0x887e('0x52')][_0x887e('0x53')][_0x887e('0x54')],'raw':!![],'transaction':_0x1f606a})[_0x887e('0x25')](function(_0x26a6ed){_0xf6b658=_[_0x887e('0x29')](_0x26a6ed,function(_0x218f22){return Number(_0x218f22[_0x887e('0x55')]);});})[_0x887e('0x25')](function(){var _0x302caf=_0x887e('0x56')+_0x5567ff;return db[_0x887e('0x4f')][_0x887e('0x2e')](_0x302caf,{'type':db[_0x887e('0x52')]['QueryTypes'][_0x887e('0x54')],'raw':!![],'transaction':_0x1f606a});})['then'](function(_0x134aa4){var _0x589a99=_[_0x887e('0x29')](_0x134aa4,function(_0x4cbf0c){return Number(_0x4cbf0c[_0x887e('0x57')]);});return db['UserVoiceQueue'][_0x887e('0x4e')]({'where':{'UserId':{'$in':_0xf6b658},'VoiceQueueId':{'$in':_0x589a99}},'transaction':_0x1f606a});})['then'](function(){var _0x3d36a9='SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20'+_0x5567ff;return db[_0x887e('0x4f')][_0x887e('0x2e')](_0x3d36a9,{'type':db['Sequelize']['QueryTypes'][_0x887e('0x54')],'raw':!![],'transaction':_0x1f606a});})[_0x887e('0x25')](function(_0x1c0353){var _0x398b49=_[_0x887e('0x29')](_0x1c0353,function(_0x1eefb1){return Number(_0x1eefb1[_0x887e('0x58')]);});return db['UserMailQueue']['destroy']({'where':{'UserId':{'$in':_0xf6b658},'MailQueueId':{'$in':_0x398b49}},'transaction':_0x1f606a});})[_0x887e('0x25')](function(){var _0xfaa250=_0x887e('0x59')+_0x5567ff;return db[_0x887e('0x4f')]['query'](_0xfaa250,{'type':db[_0x887e('0x52')][_0x887e('0x53')][_0x887e('0x54')],'raw':!![],'transaction':_0x1f606a});})[_0x887e('0x25')](function(_0x54f04d){var _0x5efe39=_[_0x887e('0x29')](_0x54f04d,function(_0x48d102){return Number(_0x48d102[_0x887e('0x5a')]);});return db[_0x887e('0x5b')][_0x887e('0x4e')]({'where':{'UserId':{'$in':_0xf6b658},'SmsQueueId':{'$in':_0x5efe39}},'transaction':_0x1f606a});})[_0x887e('0x25')](function(){var _0x41efa3=_0x887e('0x5c')+_0x5567ff;return db[_0x887e('0x4f')]['query'](_0x41efa3,{'type':db[_0x887e('0x52')][_0x887e('0x53')][_0x887e('0x54')],'raw':!![],'transaction':_0x1f606a});})[_0x887e('0x25')](function(_0x590189){var _0x3abb73=_[_0x887e('0x29')](_0x590189,function(_0x215336){return Number(_0x215336[_0x887e('0x5d')]);});return db[_0x887e('0x5e')][_0x887e('0x4e')]({'where':{'UserId':{'$in':_0xf6b658},'ChatQueueId':{'$in':_0x3abb73}},'transaction':_0x1f606a});})['then'](function(){var _0x2e3813=_0x887e('0x5f')+_0x5567ff;return db[_0x887e('0x4f')]['query'](_0x2e3813,{'type':db[_0x887e('0x52')]['QueryTypes'][_0x887e('0x54')],'raw':!![],'transaction':_0x1f606a});})[_0x887e('0x25')](function(_0x33a045){var _0x442634=_['map'](_0x33a045,function(_0x5c4d56){return Number(_0x5c4d56[_0x887e('0x60')]);});return db[_0x887e('0x61')][_0x887e('0x4e')]({'where':{'UserId':{'$in':_0xf6b658},'FaxQueueId':{'$in':_0x442634}},'transaction':_0x1f606a});})['then'](function(){var _0x5e3b76=_0x887e('0x62')+_0x5567ff;return db[_0x887e('0x4f')]['query'](_0x5e3b76,{'type':db['Sequelize'][_0x887e('0x53')][_0x887e('0x54')],'raw':!![],'transaction':_0x1f606a});})[_0x887e('0x25')](function(_0x5bcd8d){var _0xc742ca=_[_0x887e('0x29')](_0x5bcd8d,function(_0xa9b655){return Number(_0xa9b655[_0x887e('0x63')]);});return db[_0x887e('0x64')][_0x887e('0x4e')]({'where':{'UserId':{'$in':_0xf6b658},'OpenchannelQueueId':{'$in':_0xc742ca}},'transaction':_0x1f606a});})[_0x887e('0x25')](function(){var _0x4d1a57=_0x887e('0x65')+_0x5567ff;return db['sequelize'][_0x887e('0x2e')](_0x4d1a57,{'type':db[_0x887e('0x52')][_0x887e('0x53')][_0x887e('0x54')],'raw':!![],'transaction':_0x1f606a});})['then'](function(_0x559ff3){var _0x99a913=_[_0x887e('0x29')](_0x559ff3,function(_0x22d714){return Number(_0x22d714[_0x887e('0x66')]);});return db[_0x887e('0x67')][_0x887e('0x4e')]({'where':{'UserId':{'$in':_0xf6b658},'WhatsappQueueId':{'$in':_0x99a913}},'transaction':_0x1f606a});})[_0x887e('0x25')](function(){return db[_0x887e('0x68')][_0x887e('0x43')]({'where':{'TeamId':_0x5567ff}});})[_0x887e('0x25')](function(_0x4a6c7f){if(_0x4a6c7f===null){return;}return db[_0x887e('0x69')][_0x887e('0x4e')]({'where':{'UserId':{'$in':_0xf6b658},'VoicePrefixId':_0x4a6c7f[_0x887e('0x6a')]},'transaction':_0x1f606a});})[_0x887e('0x25')](function(){return db[_0x887e('0x3b')]['destroy']({'where':{'id':_0x5567ff},'cascade':!![],'transaction':_0x1f606a});})['then'](function(_0x384644){if(_0x384644===0x0){_0x3d82b0[_0x887e('0x6b')](0x194);}else{return db['UserProfileResource'][_0x887e('0x4e')]({'where':{'type':_0x887e('0x6c'),'resourceId':_0x5567ff},'cascade':!![],'transaction':_0x1f606a})['then'](function(){_0x3d82b0[_0x887e('0x19')](0xcc)['end']();});}})['catch'](function(_0x4dc98f){_0x3d82b0[_0x887e('0x19')](0x1f4)[_0x887e('0x6d')](_0x4dc98f);});});};exports[_0x887e('0x6e')]=function(_0xf1d11,_0x30671b,_0x2f55d3){return db[_0x887e('0x3b')][_0x887e('0x6f')]({'where':{'id':_0xf1d11[_0x887e('0x41')]['id']}})[_0x887e('0x25')](handleEntityNotFound(_0x30671b,null))[_0x887e('0x25')](function(_0x5acac1){if(!_0xf1d11[_0x887e('0x2e')][_0x887e('0x70')]||!utils[_0x887e('0x71')](_0xf1d11['query'][_0x887e('0x70')])){throw new db[(_0x887e('0x52'))][(_0x887e('0x72'))](_0x887e('0x73'));}var _0x1427a1={};var _0x972f57={};_0x972f57[_0x887e('0x2d')]=_['keys'](db[_[_0x887e('0x74')](_0xf1d11[_0x887e('0x2e')]['channel']['toLowerCase']())+_0x887e('0x75')]['rawAttributes']);_0x972f57['query']=_['keys'](_0xf1d11[_0x887e('0x2e')]);_0x972f57[_0x887e('0x30')]=_[_0x887e('0x32')](_0x972f57['model'],_0x972f57[_0x887e('0x2e')]);_0x1427a1[_0x887e('0x31')]=_[_0x887e('0x32')](_0x972f57[_0x887e('0x2d')],qs['fields'](_0xf1d11['query'][_0x887e('0x42')]));_0x1427a1[_0x887e('0x31')]=_0x1427a1[_0x887e('0x31')][_0x887e('0x33')]?_0x1427a1[_0x887e('0x31')]:_0x972f57[_0x887e('0x2d')];_0x1427a1[_0x887e('0x1d')]=qs[_0x887e('0x1d')](_0xf1d11[_0x887e('0x2e')]['limit']);_0x1427a1[_0x887e('0x1c')]=qs['offset'](_0xf1d11['query'][_0x887e('0x1c')]);_0x1427a1[_0x887e('0x76')]=qs['sort'](_0xf1d11[_0x887e('0x2e')][_0x887e('0x35')]);_0x1427a1['where']=qs[_0x887e('0x30')](_['pick'](_0xf1d11[_0x887e('0x2e')],_0x972f57[_0x887e('0x30')]));_0x1427a1=_['merge']({},_0x1427a1,_0xf1d11[_0x887e('0x3a')]);return _0x5acac1[_0x887e('0x47')+_[_0x887e('0x74')](_0xf1d11['query']['channel'][_0x887e('0x77')]())+_0x887e('0x78')](_0x1427a1);})[_0x887e('0x25')](respondWithResult(_0x30671b,null))[_0x887e('0x3f')](handleError(_0x30671b,null));};exports[_0x887e('0x79')]=function(_0x20250d,_0x14b5c9,_0x2ad6a0){return db[_0x887e('0x3b')][_0x887e('0x6f')]({'where':{'id':_0x20250d[_0x887e('0x41')]['id']}})['then'](function(_0x46e014){if(_0x46e014){if(!_0x20250d['body'][_0x887e('0x70')]||!utils[_0x887e('0x71')](_0x20250d[_0x887e('0x45')][_0x887e('0x70')])){throw new db['Sequelize'][(_0x887e('0x72'))](_0x887e('0x73'));}return _0x46e014[_0x887e('0x7a')+_[_0x887e('0x74')](_0x20250d[_0x887e('0x45')][_0x887e('0x70')][_0x887e('0x77')]())+'Queues'](_0x20250d['body'][_0x887e('0x7b')]);}return null;})[_0x887e('0x25')](handleEntityNotFound(_0x14b5c9,null))[_0x887e('0x25')](respondWithStatusCode(_0x14b5c9,null))['catch'](handleError(_0x14b5c9,null));};exports[_0x887e('0x7c')]=function(_0xcade64,_0x14b937,_0x27a74b){return db['Team'][_0x887e('0x6f')]({'where':{'id':_0xcade64[_0x887e('0x41')]['id']}})[_0x887e('0x25')](function(_0x10a693){if(_0x10a693){if(!_0xcade64['query'][_0x887e('0x70')]||!utils[_0x887e('0x71')](_0xcade64[_0x887e('0x2e')][_0x887e('0x70')])){throw new db[(_0x887e('0x52'))][(_0x887e('0x72'))](_0x887e('0x73'));}return _0x10a693[_0x887e('0x7d')+_['capitalize'](_0xcade64['query'][_0x887e('0x70')]['toLowerCase']())+_0x887e('0x78')](_0xcade64[_0x887e('0x2e')][_0x887e('0x7b')]);}return null;})['then'](handleEntityNotFound(_0x14b937,null))[_0x887e('0x25')](respondWithStatusCode(_0x14b937,null))[_0x887e('0x3f')](handleError(_0x14b937,null));};exports[_0x887e('0x7e')]=function(_0xc67de4,_0x134279){var _0x44ca1a=_[_0x887e('0x7f')](_0xc67de4['body']['ids'])?_0xc67de4[_0x887e('0x45')][_0x887e('0x7b')]:[_0xc67de4[_0x887e('0x45')][_0x887e('0x7b')]];var _0x2adf96=_0xc67de4[_0x887e('0x41')]['id'];return db[_0x887e('0x3b')][_0x887e('0x43')]({'where':{'id':_0x2adf96}})[_0x887e('0x25')](handleEntityNotFound(_0x134279,null))[_0x887e('0x25')](function(_0x30ac00){if(_0x30ac00){var _0x598725=['Voice',_0x887e('0x80'),_0x887e('0x81'),_0x887e('0x82'),'Fax','Openchannel',_0x887e('0x83')];return db[_0x887e('0x4f')][_0x887e('0x50')](function(_0x577999){var _0xee2d0d=_['map'](_0x598725,function(_0x4fce36){var _0x17b31b={'attributes':['id',_0x887e('0x27')]};if(_0x4fce36===_0x887e('0x84')){_0x17b31b['through']={'attributes':[_0x887e('0x85')]};}return _0x30ac00['get'+_0x4fce36+_0x887e('0x78')](_0x17b31b)['then'](function(_0x38c6b0){var _0x3efd8a=_[_0x887e('0x29')](_0x38c6b0,function(_0x261627){var _0x1bc1f9=_[_0x887e('0x29')](_0x44ca1a,function(_0x467e76){var _0x499e7={'where':{'UserId':_0x467e76,[_0x4fce36+_0x887e('0x86')]:_0x261627['id']},'transaction':_0x577999};if(_0x4fce36===_0x887e('0x84')){_0x499e7['defaults']={'penalty':_0x261627[_0x887e('0x87')]['penalty']};}return db[_0x887e('0x88')+_0x4fce36+'Queue'][_0x887e('0x89')](_0x499e7)['then'](function(){socket[_0x887e('0x8a')](_0x887e('0x46')+_0x4fce36+_0x887e('0x8b'),{'UserId':_0x467e76,[_0x4fce36+_0x887e('0x86')]:_0x261627['id']});if(_0x4fce36!==_0x887e('0x84')){return;}return db[_0x887e('0x88')][_0x887e('0x3d')]({'where':{'id':_0x44ca1a,'online':0x1},'attributes':['id',_0x887e('0x27'),_0x887e('0x8c'),'voicePause',_0x887e('0x8d')],'raw':!![]})[_0x887e('0x25')](function(_0x3cfac3){var _0x4ce0a3=_[_0x887e('0x29')](_0x3cfac3,function(_0x4d9d45){return db[_0x887e('0x8e')][_0x887e('0x8f')]({'membername':_0x4d9d45[_0x887e('0x27')],'UserId':_0x4d9d45['id'],'queue_name':_0x261627[_0x887e('0x27')],'VoiceQueueId':_0x261627['id'],'interface':_[_0x887e('0x90')](_0x4d9d45[_0x887e('0x8d')])?util['format']('SIP/%s',_0x4d9d45[_0x887e('0x27')]):_0x4d9d45['interface'],'paused':_0x4d9d45[_0x887e('0x91')]||![],'penalty':_0x261627[_0x887e('0x87')][_0x887e('0x85')]},{'transaction':_0x577999});});return Promise[_0x887e('0x92')](_0x4ce0a3);});});});return Promise['all'](_0x1bc1f9);});return Promise[_0x887e('0x92')](_0x3efd8a);})[_0x887e('0x25')](function(){return db[_0x887e('0x68')]['findOne']({'where':{'teamId':_0x2adf96}})['then'](function(_0x486793){if(_0x486793){var _0x3fb910=_[_0x887e('0x29')](_0x44ca1a,function(_0x370e0c){db['UserVoicePrefix'][_0x887e('0x8f')]({'UserId':_0x370e0c,'VoicePrefixId':_0x486793[_0x887e('0x6a')]});});return Promise[_0x887e('0x92')](_0x3fb910);}});});});return Promise[_0x887e('0x92')](_0xee2d0d)[_0x887e('0x25')](function(){return _0x30ac00[_0x887e('0x7e')](_0x44ca1a,{'transaction':_0x577999})['spread'](function(_0x6bb421){return _0x6bb421;});});});}})[_0x887e('0x25')](respondWithResult(_0x134279,null))[_0x887e('0x3f')](handleError(_0x134279,null));};exports[_0x887e('0x93')]=function(_0x1a0b11,_0x7f2acf){var _0x1ada6e=_[_0x887e('0x7f')](_0x1a0b11['query'][_0x887e('0x7b')])?_0x1a0b11['query'][_0x887e('0x7b')]:[_0x1a0b11[_0x887e('0x2e')]['ids']];var _0xfb8d3a=_0x1a0b11[_0x887e('0x41')]['id'];return db[_0x887e('0x3b')][_0x887e('0x43')]({'where':{'id':_0xfb8d3a}})[_0x887e('0x25')](handleEntityNotFound(_0x7f2acf,null))[_0x887e('0x25')](function(_0x419029){if(_0x419029){var _0x43c81b=[_0x887e('0x84'),_0x887e('0x80'),_0x887e('0x81'),'Sms',_0x887e('0x94'),_0x887e('0x95'),_0x887e('0x83')];return db['sequelize'][_0x887e('0x50')](function(_0x321963){var _0x37cf80=_['map'](_0x43c81b,function(_0x2bb1c4){var _0x11e1dc={'attributes':['id',_0x887e('0x27')]};return _0x419029[_0x887e('0x47')+_0x2bb1c4+_0x887e('0x78')](_0x11e1dc)['then'](function(_0x4d0fd1){var _0x4608a2=_[_0x887e('0x29')](_0x4d0fd1,function(_0x1f4825){return _0x1f4825[_0x887e('0x93')](_0x1ada6e,{'transaction':_0x321963})[_0x887e('0x25')](function(){var _0x193ab3=_[_0x887e('0x29')](_0x1ada6e,function(_0x2db282){socket[_0x887e('0x8a')](_0x887e('0x46')+_0x2bb1c4+_0x887e('0x96'),{'UserId':Number(_0x2db282),[_0x2bb1c4+'QueueId']:_0x1f4825['id']});if(_0x2bb1c4!==_0x887e('0x84')){return;}return db[_0x887e('0x8e')][_0x887e('0x4e')]({'where':{'VoiceQueueId':_0x1f4825['id'],'UserId':_0x2db282},'transaction':_0x321963});});return Promise[_0x887e('0x92')](_0x193ab3);});});return Promise['all'](_0x4608a2);});});return Promise[_0x887e('0x92')](_0x37cf80)[_0x887e('0x25')](function(){return _0x419029[_0x887e('0x93')](_0x1ada6e,{'transaction':_0x321963});})[_0x887e('0x25')](function(){return db['TeamVoicePrefix'][_0x887e('0x6f')]({'where':{'teamId':_0xfb8d3a}})[_0x887e('0x25')](function(_0x12d134){if(_0x12d134){var _0xa2806c=_[_0x887e('0x29')](_0x1ada6e,function(_0x3a7dfb){db[_0x887e('0x69')][_0x887e('0x4e')]({'where':{'UserId':_0x3a7dfb,'VoicePrefixId':_0x12d134[_0x887e('0x6a')]}});});return Promise[_0x887e('0x92')](_0xa2806c);}});});});}})[_0x887e('0x25')](respondWithStatusCode(_0x7f2acf,null))[_0x887e('0x3f')](handleError(_0x7f2acf,null));};exports[_0x887e('0x97')]=function(_0x3cfdb9,_0x4c0e2c,_0x1267d9){var _0x2bacf3={};var _0x39f7cb={};var _0x40048b;var _0x3f2ed6;return db[_0x887e('0x3b')][_0x887e('0x6f')]({'where':{'id':_0x3cfdb9[_0x887e('0x41')]['id']}})[_0x887e('0x25')](handleEntityNotFound(_0x4c0e2c,null))[_0x887e('0x25')](function(_0x4b4f76){if(_0x4b4f76){_0x40048b=_0x4b4f76;_0x39f7cb[_0x887e('0x2d')]=_[_0x887e('0x2f')](db[_0x887e('0x88')][_0x887e('0x98')]);_0x39f7cb[_0x887e('0x2e')]=_['keys'](_0x3cfdb9[_0x887e('0x2e')]);_0x39f7cb[_0x887e('0x30')]=_['intersection'](_0x39f7cb['model'],_0x39f7cb['query']);_0x2bacf3[_0x887e('0x31')]=_[_0x887e('0x32')](_0x39f7cb['model'],qs[_0x887e('0x42')](_0x3cfdb9[_0x887e('0x2e')][_0x887e('0x42')]));_0x2bacf3[_0x887e('0x31')]=_0x2bacf3[_0x887e('0x31')]['length']?_0x2bacf3['attributes']:_0x39f7cb['model'];_0x2bacf3[_0x887e('0x76')]=qs[_0x887e('0x35')](_0x3cfdb9[_0x887e('0x2e')][_0x887e('0x35')]);_0x2bacf3[_0x887e('0x36')]=qs['filters'](_[_0x887e('0x37')](_0x3cfdb9[_0x887e('0x2e')],_0x39f7cb['filters']));if(_0x3cfdb9[_0x887e('0x2e')]['filter']){_0x2bacf3[_0x887e('0x36')]=_[_0x887e('0x99')](_0x2bacf3[_0x887e('0x36')],{'$or':_[_0x887e('0x29')](_0x2bacf3['attributes'],function(_0x22185a){var _0x39df88={};_0x39df88[_0x22185a]={'$like':'%'+_0x3cfdb9['query'][_0x887e('0x38')]+'%'};return _0x39df88;})});}_0x2bacf3=_['merge']({},_0x2bacf3,_0x3cfdb9[_0x887e('0x3a')]);return _0x40048b['getAgents'](_0x2bacf3);}})[_0x887e('0x25')](function(_0xb55356){if(_0xb55356){_0x3f2ed6=_0xb55356['length'];if(!_0x3cfdb9[_0x887e('0x2e')]['hasOwnProperty'](_0x887e('0x9a'))){_0x2bacf3[_0x887e('0x1d')]=qs['limit'](_0x3cfdb9['query'][_0x887e('0x1d')]);_0x2bacf3[_0x887e('0x1c')]=qs[_0x887e('0x1c')](_0x3cfdb9[_0x887e('0x2e')]['offset']);}return _0x40048b[_0x887e('0x97')](_0x2bacf3);}})[_0x887e('0x25')](function(_0x3e4246){if(_0x3e4246){return _0x3e4246?{'count':_0x3f2ed6,'rows':_0x3e4246}:null;}})[_0x887e('0x25')](respondWithResult(_0x4c0e2c,null))['catch'](handleError(_0x4c0e2c,null));};