Built motion from commit 7158bc59.|2.5.42
[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 _0x6267=['voicePause','all','removeAgents','Openchannel','Whatsapp','Queue:remove','getAgents','hasOwnProperty','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','register','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','reject','save','stack','name','send','index','map','Team','fieldName','key','model','query','keys','filters','attributes','intersection','fields','length','nolimit','order','sort','where','pick','type','VIRTUAL','filter','options','then','rows','catch','params','rawAttributes','includeAll','include','merge','get','role','user','Teams','UserProfileSection','find','autoAssociation','UserProfileResource','create','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','sequelize','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','QueryTypes','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','Sequelize','SELECT','VoiceQueueId','UserVoiceQueue','destroy','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','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','WhatsappQueueId','UserWhatsappQueue','TeamVoicePrefix','UserVoicePrefix','VoicePrefixId','getQueues','channel','Unknown\x20channel','toLowerCase','capitalize','Queues','addQueues','ValidationError','add','ids','removeQueues','findOne','remove','addAgents','isArray','Voice','Chat','Mail','Sms','Fax','through','penalty','QueueId','TeamVoiceQueue','User','Queue','findOrCreate','emit','Queue:save','findAll','interface','UserVoiceQueueRt','upsert','isNil','format','SIP/%s'];(function(_0x1cc009,_0x5fdc4d){var _0x5dd236=function(_0x4e5563){while(--_0x4e5563){_0x1cc009['push'](_0x1cc009['shift']());}};_0x5dd236(++_0x5fdc4d);}(_0x6267,0xa3));var _0x7626=function(_0x43d2db,_0x5cc3f6){_0x43d2db=_0x43d2db-0x0;var _0x151e07=_0x6267[_0x43d2db];return _0x151e07;};'use strict';var emlformat=require('eml-format');var rimraf=require('rimraf');var zipdir=require(_0x7626('0x0'));var jsonpatch=require(_0x7626('0x1'));var rp=require(_0x7626('0x2'));var moment=require(_0x7626('0x3'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0x7626('0x4'));var path=require(_0x7626('0x5'));var sox=require(_0x7626('0x6'));var csv=require(_0x7626('0x7'));var ejs=require(_0x7626('0x8'));var fs=require('fs');var fs_extra=require(_0x7626('0x9'));var _=require(_0x7626('0xa'));var squel=require(_0x7626('0xb'));var crypto=require(_0x7626('0xc'));var jsforce=require(_0x7626('0xd'));var deskjs=require('desk.js');var toCsv=require(_0x7626('0x7'));var querystring=require('querystring');var Papa=require(_0x7626('0xe'));var Redis=require(_0x7626('0xf'));var authService=require(_0x7626('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0x7626('0x11'));var hardwareService=require(_0x7626('0x12'));var logger=require(_0x7626('0x13'))(_0x7626('0x14'));var utils=require(_0x7626('0x15'));var config=require(_0x7626('0x16'));var licenseUtil=require(_0x7626('0x17'));var db=require(_0x7626('0x18'))['db'];config[_0x7626('0x19')]=_[_0x7626('0x1a')](config[_0x7626('0x19')],{'host':_0x7626('0x1b'),'port':0x18eb});var socket=require(_0x7626('0x1c'))(new Redis(config['redis']));require('./team.socket')[_0x7626('0x1d')](socket);function respondWithStatusCode(_0x673edf,_0x1569bf){_0x1569bf=_0x1569bf||0xcc;return function(_0x4ece13){if(_0x4ece13){return _0x673edf[_0x7626('0x1e')](_0x1569bf);}return _0x673edf[_0x7626('0x1f')](_0x1569bf)[_0x7626('0x20')]();};}function respondWithResult(_0x102d14,_0x5af88e){_0x5af88e=_0x5af88e||0xc8;return function(_0x1a3b95){if(_0x1a3b95){return _0x102d14['status'](_0x5af88e)[_0x7626('0x21')](_0x1a3b95);}};}function respondWithFilteredResult(_0x2d1535,_0x5a1380){return function(_0x52cadc){if(_0x52cadc){var _0x5fcf4a=typeof _0x5a1380[_0x7626('0x22')]===_0x7626('0x23')&&typeof _0x5a1380['limit']===_0x7626('0x23');var _0x5b5ded=_0x52cadc[_0x7626('0x24')];var _0x3ad0b2=_0x5fcf4a?0x0:_0x5a1380[_0x7626('0x22')];var _0x23a030=_0x5fcf4a?_0x52cadc['count']:_0x5a1380['offset']+_0x5a1380[_0x7626('0x25')];var _0x1f923d;if(_0x23a030>=_0x5b5ded){_0x23a030=_0x5b5ded;_0x1f923d=0xc8;}else{_0x1f923d=0xce;}_0x2d1535[_0x7626('0x1f')](_0x1f923d);return _0x2d1535['set'](_0x7626('0x26'),_0x3ad0b2+'-'+_0x23a030+'/'+_0x5b5ded)['json'](_0x52cadc);}return null;};}function patchUpdates(_0x212c2a){return function(_0x47660e){try{jsonpatch['apply'](_0x47660e,_0x212c2a,!![]);}catch(_0x1e389e){return BPromise[_0x7626('0x27')](_0x1e389e);}return _0x47660e[_0x7626('0x28')]();};}function saveUpdates(_0x515ea1,_0x2e04c7){return function(_0x5d6a35){if(_0x5d6a35){return _0x5d6a35['update'](_0x515ea1)['then'](function(_0x485f46){return _0x485f46;});}return null;};}function handleEntityNotFound(_0x227ac2,_0xa92e94){return function(_0xe8257b){if(!_0xe8257b){_0x227ac2['sendStatus'](0x194);}return _0xe8257b;};}function handleError(_0x4e3394,_0xdff12d){_0xdff12d=_0xdff12d||0x1f4;return function(_0x16e043){logger['error'](_0x16e043[_0x7626('0x29')]);if(_0x16e043['name']){delete _0x16e043[_0x7626('0x2a')];}_0x4e3394[_0x7626('0x1f')](_0xdff12d)[_0x7626('0x2b')](_0x16e043);};}exports[_0x7626('0x2c')]=function(_0x22f0e1,_0x515410){var _0x1a9db8={},_0x245e34={},_0x52238f={'count':0x0,'rows':[]};var _0x559958=_[_0x7626('0x2d')](db[_0x7626('0x2e')]['rawAttributes'],function(_0x89f314){return{'name':_0x89f314[_0x7626('0x2f')],'type':_0x89f314['type'][_0x7626('0x30')]};});_0x245e34[_0x7626('0x31')]=_[_0x7626('0x2d')](_0x559958,'name');_0x245e34[_0x7626('0x32')]=_[_0x7626('0x33')](_0x22f0e1[_0x7626('0x32')]);_0x245e34[_0x7626('0x34')]=_['intersection'](_0x245e34['model'],_0x245e34[_0x7626('0x32')]);_0x1a9db8[_0x7626('0x35')]=_[_0x7626('0x36')](_0x245e34[_0x7626('0x31')],qs['fields'](_0x22f0e1[_0x7626('0x32')][_0x7626('0x37')]));_0x1a9db8[_0x7626('0x35')]=_0x1a9db8[_0x7626('0x35')][_0x7626('0x38')]?_0x1a9db8[_0x7626('0x35')]:_0x245e34[_0x7626('0x31')];if(!_0x22f0e1[_0x7626('0x32')]['hasOwnProperty'](_0x7626('0x39'))){_0x1a9db8[_0x7626('0x25')]=qs[_0x7626('0x25')](_0x22f0e1['query'][_0x7626('0x25')]);_0x1a9db8[_0x7626('0x22')]=qs['offset'](_0x22f0e1[_0x7626('0x32')]['offset']);}_0x1a9db8[_0x7626('0x3a')]=qs[_0x7626('0x3b')](_0x22f0e1[_0x7626('0x32')][_0x7626('0x3b')]);_0x1a9db8[_0x7626('0x3c')]=qs[_0x7626('0x34')](_[_0x7626('0x3d')](_0x22f0e1[_0x7626('0x32')],_0x245e34[_0x7626('0x34')]),_0x559958);if(_0x22f0e1[_0x7626('0x32')]['filter']){_0x1a9db8[_0x7626('0x3c')]=_['merge'](_0x1a9db8['where'],{'$or':_[_0x7626('0x2d')](_0x559958,function(_0x294000){if(_0x294000[_0x7626('0x3e')]!==_0x7626('0x3f')){var _0x4dc2e8={};_0x4dc2e8[_0x294000[_0x7626('0x2a')]]={'$like':'%'+_0x22f0e1[_0x7626('0x32')][_0x7626('0x40')]+'%'};return _0x4dc2e8;}})});}_0x1a9db8=_['merge']({},_0x1a9db8,_0x22f0e1[_0x7626('0x41')]);var _0x591466={'where':_0x1a9db8['where']};return db['Team'][_0x7626('0x24')](_0x591466)[_0x7626('0x42')](function(_0x184cd3){_0x52238f[_0x7626('0x24')]=_0x184cd3;if(_0x22f0e1[_0x7626('0x32')]['includeAll']){_0x1a9db8['include']=[{'all':!![]}];}return db[_0x7626('0x2e')]['findAll'](_0x1a9db8);})['then'](function(_0x6e356f){_0x52238f[_0x7626('0x43')]=_0x6e356f;return _0x52238f;})[_0x7626('0x42')](respondWithFilteredResult(_0x515410,_0x1a9db8))[_0x7626('0x44')](handleError(_0x515410,null));};exports['show']=function(_0x5e1acd,_0x1179e2){var _0x17bf44={'raw':![],'where':{'id':_0x5e1acd[_0x7626('0x45')]['id']}},_0x59e725={};_0x59e725[_0x7626('0x31')]=_[_0x7626('0x33')](db['Team'][_0x7626('0x46')]);_0x59e725[_0x7626('0x32')]=_[_0x7626('0x33')](_0x5e1acd[_0x7626('0x32')]);_0x59e725['filters']=_[_0x7626('0x36')](_0x59e725[_0x7626('0x31')],_0x59e725[_0x7626('0x32')]);_0x17bf44['attributes']=_[_0x7626('0x36')](_0x59e725[_0x7626('0x31')],qs[_0x7626('0x37')](_0x5e1acd[_0x7626('0x32')]['fields']));_0x17bf44[_0x7626('0x35')]=_0x17bf44[_0x7626('0x35')][_0x7626('0x38')]?_0x17bf44['attributes']:_0x59e725[_0x7626('0x31')];if(_0x5e1acd[_0x7626('0x32')][_0x7626('0x47')]){_0x17bf44[_0x7626('0x48')]=[{'all':!![]}];}_0x17bf44=_[_0x7626('0x49')]({},_0x17bf44,_0x5e1acd[_0x7626('0x41')]);return db[_0x7626('0x2e')]['find'](_0x17bf44)[_0x7626('0x42')](handleEntityNotFound(_0x1179e2,null))[_0x7626('0x42')](respondWithResult(_0x1179e2,null))[_0x7626('0x44')](handleError(_0x1179e2,null));};exports['create']=function(_0x2e8929,_0x3137f4){return db[_0x7626('0x2e')]['create'](_0x2e8929['body'],{})[_0x7626('0x42')](function(_0x2ed480){var _0x46662b=_0x2e8929['user'][_0x7626('0x4a')]({'plain':!![]});if(!_0x46662b)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x46662b[_0x7626('0x4b')]===_0x7626('0x4c')){var _0x150c86=_0x2ed480[_0x7626('0x4a')]({'plain':!![]});var _0x44b969=_0x7626('0x4d');return db[_0x7626('0x4e')][_0x7626('0x4f')]({'where':{'name':_0x44b969,'userProfileId':_0x46662b['userProfileId']},'raw':!![]})[_0x7626('0x42')](function(_0x493dc6){if(_0x493dc6&&_0x493dc6[_0x7626('0x50')]===0x0){return db[_0x7626('0x51')][_0x7626('0x52')]({'name':_0x150c86[_0x7626('0x2a')],'resourceId':_0x150c86['id'],'type':_0x493dc6[_0x7626('0x2a')],'sectionId':_0x493dc6['id']},{})[_0x7626('0x42')](function(){return _0x2ed480;});}else{return _0x2ed480;}})[_0x7626('0x44')](function(_0x3dddd3){logger[_0x7626('0x53')](_0x7626('0x54'),_0x3dddd3);throw _0x3dddd3;});}return _0x2ed480;})[_0x7626('0x42')](respondWithResult(_0x3137f4,0xc9))[_0x7626('0x44')](handleError(_0x3137f4,null));};exports['update']=function(_0x873336,_0xb4912f){if(_0x873336[_0x7626('0x55')]['id']){delete _0x873336[_0x7626('0x55')]['id'];}return db[_0x7626('0x2e')][_0x7626('0x4f')]({'where':{'id':_0x873336[_0x7626('0x45')]['id']}})[_0x7626('0x42')](handleEntityNotFound(_0xb4912f,null))['then'](saveUpdates(_0x873336['body'],null))[_0x7626('0x42')](respondWithResult(_0xb4912f,null))['catch'](handleError(_0xb4912f,null));};exports['destroy']=function(_0x331216,_0xf42161){var _0x512aa5=_0x331216[_0x7626('0x45')]['id'];var _0x1bef08=[];return db[_0x7626('0x56')][_0x7626('0x57')](function(_0x3ff084){var _0x4c0b8e=_0x7626('0x58')+_0x512aa5;return db[_0x7626('0x56')]['query'](_0x4c0b8e,{'type':db['Sequelize'][_0x7626('0x59')]['SELECT'],'raw':!![],'transaction':_0x3ff084})[_0x7626('0x42')](function(_0x59f51e){_0x1bef08=_[_0x7626('0x2d')](_0x59f51e,function(_0x36f515){return Number(_0x36f515['UserId']);});})[_0x7626('0x42')](function(){var _0x7e50ea=_0x7626('0x5a')+_0x512aa5;return db[_0x7626('0x56')][_0x7626('0x32')](_0x7e50ea,{'type':db[_0x7626('0x5b')][_0x7626('0x59')][_0x7626('0x5c')],'raw':!![],'transaction':_0x3ff084});})[_0x7626('0x42')](function(_0x6af2d){var _0x4b11c2=_[_0x7626('0x2d')](_0x6af2d,function(_0x3f691f){return Number(_0x3f691f[_0x7626('0x5d')]);});return db[_0x7626('0x5e')][_0x7626('0x5f')]({'where':{'UserId':{'$in':_0x1bef08},'VoiceQueueId':{'$in':_0x4b11c2}},'transaction':_0x3ff084});})[_0x7626('0x42')](function(){var _0xcd1c07=_0x7626('0x60')+_0x512aa5;return db['sequelize'][_0x7626('0x32')](_0xcd1c07,{'type':db['Sequelize'][_0x7626('0x59')][_0x7626('0x5c')],'raw':!![],'transaction':_0x3ff084});})[_0x7626('0x42')](function(_0x1ed280){var _0xb02a0=_[_0x7626('0x2d')](_0x1ed280,function(_0x5db92e){return Number(_0x5db92e[_0x7626('0x61')]);});return db[_0x7626('0x62')][_0x7626('0x5f')]({'where':{'UserId':{'$in':_0x1bef08},'MailQueueId':{'$in':_0xb02a0}},'transaction':_0x3ff084});})[_0x7626('0x42')](function(){var _0x41f45b=_0x7626('0x63')+_0x512aa5;return db['sequelize'][_0x7626('0x32')](_0x41f45b,{'type':db[_0x7626('0x5b')][_0x7626('0x59')]['SELECT'],'raw':!![],'transaction':_0x3ff084});})['then'](function(_0x28fa83){var _0x3c4317=_[_0x7626('0x2d')](_0x28fa83,function(_0x269dc1){return Number(_0x269dc1['SmsQueueId']);});return db['UserSmsQueue']['destroy']({'where':{'UserId':{'$in':_0x1bef08},'SmsQueueId':{'$in':_0x3c4317}},'transaction':_0x3ff084});})[_0x7626('0x42')](function(){var _0x2d6e91='SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20'+_0x512aa5;return db['sequelize']['query'](_0x2d6e91,{'type':db[_0x7626('0x5b')][_0x7626('0x59')][_0x7626('0x5c')],'raw':!![],'transaction':_0x3ff084});})[_0x7626('0x42')](function(_0x271460){var _0x400f3a=_[_0x7626('0x2d')](_0x271460,function(_0x49d9cb){return Number(_0x49d9cb['ChatQueueId']);});return db['UserChatQueue'][_0x7626('0x5f')]({'where':{'UserId':{'$in':_0x1bef08},'ChatQueueId':{'$in':_0x400f3a}},'transaction':_0x3ff084});})[_0x7626('0x42')](function(){var _0x4f073e=_0x7626('0x64')+_0x512aa5;return db['sequelize'][_0x7626('0x32')](_0x4f073e,{'type':db[_0x7626('0x5b')][_0x7626('0x59')]['SELECT'],'raw':!![],'transaction':_0x3ff084});})[_0x7626('0x42')](function(_0x7925c5){var _0x43ec2b=_[_0x7626('0x2d')](_0x7925c5,function(_0x391553){return Number(_0x391553[_0x7626('0x65')]);});return db[_0x7626('0x66')][_0x7626('0x5f')]({'where':{'UserId':{'$in':_0x1bef08},'FaxQueueId':{'$in':_0x43ec2b}},'transaction':_0x3ff084});})[_0x7626('0x42')](function(){var _0x84b768=_0x7626('0x67')+_0x512aa5;return db[_0x7626('0x56')]['query'](_0x84b768,{'type':db['Sequelize'][_0x7626('0x59')][_0x7626('0x5c')],'raw':!![],'transaction':_0x3ff084});})[_0x7626('0x42')](function(_0x4de12b){var _0x20199a=_[_0x7626('0x2d')](_0x4de12b,function(_0x1dd35a){return Number(_0x1dd35a[_0x7626('0x68')]);});return db[_0x7626('0x69')][_0x7626('0x5f')]({'where':{'UserId':{'$in':_0x1bef08},'OpenchannelQueueId':{'$in':_0x20199a}},'transaction':_0x3ff084});})[_0x7626('0x42')](function(){var _0xdfbbd0='SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20'+_0x512aa5;return db[_0x7626('0x56')][_0x7626('0x32')](_0xdfbbd0,{'type':db['Sequelize'][_0x7626('0x59')]['SELECT'],'raw':!![],'transaction':_0x3ff084});})[_0x7626('0x42')](function(_0x49f748){var _0x2caf3d=_['map'](_0x49f748,function(_0x183674){return Number(_0x183674[_0x7626('0x6a')]);});return db[_0x7626('0x6b')]['destroy']({'where':{'UserId':{'$in':_0x1bef08},'WhatsappQueueId':{'$in':_0x2caf3d}},'transaction':_0x3ff084});})['then'](function(){return db[_0x7626('0x6c')][_0x7626('0x4f')]({'where':{'TeamId':_0x512aa5}});})[_0x7626('0x42')](function(_0x13ef9f){if(_0x13ef9f===null){return;}return db[_0x7626('0x6d')][_0x7626('0x5f')]({'where':{'UserId':{'$in':_0x1bef08},'VoicePrefixId':_0x13ef9f[_0x7626('0x6e')]},'transaction':_0x3ff084});})[_0x7626('0x42')](function(){return db['Team'][_0x7626('0x5f')]({'where':{'id':_0x512aa5},'cascade':!![],'transaction':_0x3ff084});})[_0x7626('0x42')](function(_0x3aeb97){if(_0x3aeb97===0x0){_0xf42161[_0x7626('0x1e')](0x194);}else{return db[_0x7626('0x51')]['destroy']({'where':{'type':_0x7626('0x4d'),'resourceId':_0x512aa5},'cascade':!![],'transaction':_0x3ff084})[_0x7626('0x42')](function(){_0xf42161['status'](0xcc)[_0x7626('0x20')]();});}})[_0x7626('0x44')](function(_0x17cd47){_0xf42161['status'](0x1f4)[_0x7626('0x2b')](_0x17cd47);});});};exports[_0x7626('0x6f')]=function(_0x2dd97f,_0x557fac,_0x3e7b4b){return db[_0x7626('0x2e')]['findOne']({'where':{'id':_0x2dd97f[_0x7626('0x45')]['id']}})[_0x7626('0x42')](handleEntityNotFound(_0x557fac,null))[_0x7626('0x42')](function(_0x4d2ef4){if(!_0x2dd97f[_0x7626('0x32')]['channel']||!utils['isValidChannel'](_0x2dd97f[_0x7626('0x32')][_0x7626('0x70')])){throw new db['Sequelize']['ValidationError'](_0x7626('0x71'));}var _0x1dd19f={};var _0x57aada={};_0x57aada[_0x7626('0x31')]=_[_0x7626('0x33')](db[_['capitalize'](_0x2dd97f['query'][_0x7626('0x70')][_0x7626('0x72')]())+'Queue'][_0x7626('0x46')]);_0x57aada[_0x7626('0x32')]=_[_0x7626('0x33')](_0x2dd97f[_0x7626('0x32')]);_0x57aada[_0x7626('0x34')]=_[_0x7626('0x36')](_0x57aada[_0x7626('0x31')],_0x57aada[_0x7626('0x32')]);_0x1dd19f['attributes']=_[_0x7626('0x36')](_0x57aada['model'],qs['fields'](_0x2dd97f[_0x7626('0x32')][_0x7626('0x37')]));_0x1dd19f[_0x7626('0x35')]=_0x1dd19f['attributes']['length']?_0x1dd19f[_0x7626('0x35')]:_0x57aada[_0x7626('0x31')];_0x1dd19f[_0x7626('0x25')]=qs[_0x7626('0x25')](_0x2dd97f[_0x7626('0x32')]['limit']);_0x1dd19f[_0x7626('0x22')]=qs[_0x7626('0x22')](_0x2dd97f['query'][_0x7626('0x22')]);_0x1dd19f[_0x7626('0x3a')]=qs[_0x7626('0x3b')](_0x2dd97f[_0x7626('0x32')]['sort']);_0x1dd19f['where']=qs[_0x7626('0x34')](_['pick'](_0x2dd97f[_0x7626('0x32')],_0x57aada[_0x7626('0x34')]));_0x1dd19f=_[_0x7626('0x49')]({},_0x1dd19f,_0x2dd97f[_0x7626('0x41')]);return _0x4d2ef4[_0x7626('0x4a')+_[_0x7626('0x73')](_0x2dd97f['query'][_0x7626('0x70')]['toLowerCase']())+_0x7626('0x74')](_0x1dd19f);})[_0x7626('0x42')](respondWithResult(_0x557fac,null))[_0x7626('0x44')](handleError(_0x557fac,null));};exports[_0x7626('0x75')]=function(_0x414d99,_0x598b44,_0x51e94e){return db['Team']['findOne']({'where':{'id':_0x414d99[_0x7626('0x45')]['id']}})['then'](function(_0x370c1e){if(_0x370c1e){if(!_0x414d99[_0x7626('0x55')][_0x7626('0x70')]||!utils['isValidChannel'](_0x414d99[_0x7626('0x55')]['channel'])){throw new db['Sequelize'][(_0x7626('0x76'))](_0x7626('0x71'));}return _0x370c1e[_0x7626('0x77')+_[_0x7626('0x73')](_0x414d99[_0x7626('0x55')][_0x7626('0x70')][_0x7626('0x72')]())+_0x7626('0x74')](_0x414d99[_0x7626('0x55')][_0x7626('0x78')]);}return null;})[_0x7626('0x42')](handleEntityNotFound(_0x598b44,null))['then'](respondWithStatusCode(_0x598b44,null))[_0x7626('0x44')](handleError(_0x598b44,null));};exports[_0x7626('0x79')]=function(_0x27031f,_0x20d587,_0x192c86){return db[_0x7626('0x2e')][_0x7626('0x7a')]({'where':{'id':_0x27031f[_0x7626('0x45')]['id']}})[_0x7626('0x42')](function(_0x4ef8f0){if(_0x4ef8f0){if(!_0x27031f[_0x7626('0x32')]['channel']||!utils['isValidChannel'](_0x27031f[_0x7626('0x32')][_0x7626('0x70')])){throw new db[(_0x7626('0x5b'))]['ValidationError'](_0x7626('0x71'));}return _0x4ef8f0[_0x7626('0x7b')+_[_0x7626('0x73')](_0x27031f[_0x7626('0x32')][_0x7626('0x70')][_0x7626('0x72')]())+_0x7626('0x74')](_0x27031f[_0x7626('0x32')]['ids']);}return null;})[_0x7626('0x42')](handleEntityNotFound(_0x20d587,null))[_0x7626('0x42')](respondWithStatusCode(_0x20d587,null))['catch'](handleError(_0x20d587,null));};exports[_0x7626('0x7c')]=function(_0x398924,_0x4c4b1a){var _0x17590b=_[_0x7626('0x7d')](_0x398924['body'][_0x7626('0x78')])?_0x398924[_0x7626('0x55')]['ids']:[_0x398924[_0x7626('0x55')][_0x7626('0x78')]];var _0x124d7b=_0x398924[_0x7626('0x45')]['id'];return db[_0x7626('0x2e')]['find']({'where':{'id':_0x124d7b}})[_0x7626('0x42')](handleEntityNotFound(_0x4c4b1a,null))[_0x7626('0x42')](function(_0x4fb6ca){if(_0x4fb6ca){var _0x3c1981=[_0x7626('0x7e'),_0x7626('0x7f'),_0x7626('0x80'),_0x7626('0x81'),_0x7626('0x82'),'Openchannel','Whatsapp'];return db[_0x7626('0x56')][_0x7626('0x57')](function(_0x2c22ec){var _0x3d11c3=_[_0x7626('0x2d')](_0x3c1981,function(_0xdb1d3a){var _0x365a96={'attributes':['id',_0x7626('0x2a')]};if(_0xdb1d3a===_0x7626('0x7e')){_0x365a96[_0x7626('0x83')]={'attributes':[_0x7626('0x84')]};}return _0x4fb6ca[_0x7626('0x4a')+_0xdb1d3a+_0x7626('0x74')](_0x365a96)[_0x7626('0x42')](function(_0x58ad93){var _0x2af66d=_[_0x7626('0x2d')](_0x58ad93,function(_0x5f3fe9){var _0x411d90=_[_0x7626('0x2d')](_0x17590b,function(_0x5ba5f4){var _0x177a28={'where':{'UserId':_0x5ba5f4,[_0xdb1d3a+_0x7626('0x85')]:_0x5f3fe9['id']},'transaction':_0x2c22ec};if(_0xdb1d3a==='Voice'){_0x177a28[_0x7626('0x1a')]={'penalty':_0x5f3fe9[_0x7626('0x86')][_0x7626('0x84')]};}return db[_0x7626('0x87')+_0xdb1d3a+_0x7626('0x88')][_0x7626('0x89')](_0x177a28)[_0x7626('0x42')](function(){socket[_0x7626('0x8a')](_0x7626('0x4c')+_0xdb1d3a+_0x7626('0x8b'),{'UserId':_0x5ba5f4,[_0xdb1d3a+_0x7626('0x85')]:_0x5f3fe9['id']});if(_0xdb1d3a!==_0x7626('0x7e')){return;}return db[_0x7626('0x87')][_0x7626('0x8c')]({'where':{'id':_0x17590b,'online':0x1},'attributes':['id',_0x7626('0x2a'),'online','voicePause',_0x7626('0x8d')],'raw':!![]})[_0x7626('0x42')](function(_0x160827){var _0x10211d=_['map'](_0x160827,function(_0x505375){return db[_0x7626('0x8e')][_0x7626('0x8f')]({'membername':_0x505375[_0x7626('0x2a')],'UserId':_0x505375['id'],'queue_name':_0x5f3fe9[_0x7626('0x2a')],'VoiceQueueId':_0x5f3fe9['id'],'interface':_[_0x7626('0x90')](_0x505375[_0x7626('0x8d')])?util[_0x7626('0x91')](_0x7626('0x92'),_0x505375[_0x7626('0x2a')]):_0x505375[_0x7626('0x8d')],'paused':_0x505375[_0x7626('0x93')]||![],'penalty':_0x5f3fe9[_0x7626('0x86')][_0x7626('0x84')]},{'transaction':_0x2c22ec});});return Promise[_0x7626('0x94')](_0x10211d);});});});return Promise[_0x7626('0x94')](_0x411d90);});return Promise[_0x7626('0x94')](_0x2af66d);})[_0x7626('0x42')](function(){return db[_0x7626('0x6c')]['findOne']({'where':{'teamId':_0x124d7b}})[_0x7626('0x42')](function(_0x1a17d4){if(_0x1a17d4){var _0x9afe2c=_[_0x7626('0x2d')](_0x17590b,function(_0x5a1841){db['UserVoicePrefix'][_0x7626('0x8f')]({'UserId':_0x5a1841,'VoicePrefixId':_0x1a17d4[_0x7626('0x6e')]});});return Promise[_0x7626('0x94')](_0x9afe2c);}});});});return Promise[_0x7626('0x94')](_0x3d11c3)[_0x7626('0x42')](function(){return _0x4fb6ca[_0x7626('0x7c')](_0x17590b,{'transaction':_0x2c22ec})['spread'](function(_0x455246){return _0x455246;});});});}})[_0x7626('0x42')](respondWithResult(_0x4c4b1a,null))[_0x7626('0x44')](handleError(_0x4c4b1a,null));};exports[_0x7626('0x95')]=function(_0x2d7aeb,_0x5df801){var _0x44f8d1=_[_0x7626('0x7d')](_0x2d7aeb[_0x7626('0x32')][_0x7626('0x78')])?_0x2d7aeb[_0x7626('0x32')][_0x7626('0x78')]:[_0x2d7aeb[_0x7626('0x32')][_0x7626('0x78')]];var _0x19d36e=_0x2d7aeb[_0x7626('0x45')]['id'];return db[_0x7626('0x2e')]['find']({'where':{'id':_0x19d36e}})[_0x7626('0x42')](handleEntityNotFound(_0x5df801,null))[_0x7626('0x42')](function(_0x10ecf2){if(_0x10ecf2){var _0x20d574=[_0x7626('0x7e'),_0x7626('0x7f'),_0x7626('0x80'),_0x7626('0x81'),'Fax',_0x7626('0x96'),_0x7626('0x97')];return db[_0x7626('0x56')][_0x7626('0x57')](function(_0x45f36a){var _0x95794e=_[_0x7626('0x2d')](_0x20d574,function(_0x498a13){var _0x5db6c5={'attributes':['id',_0x7626('0x2a')]};return _0x10ecf2['get'+_0x498a13+_0x7626('0x74')](_0x5db6c5)[_0x7626('0x42')](function(_0x37acbc){var _0x1dfdaf=_[_0x7626('0x2d')](_0x37acbc,function(_0x154231){return _0x154231[_0x7626('0x95')](_0x44f8d1,{'transaction':_0x45f36a})['then'](function(){var _0xb2b60f=_[_0x7626('0x2d')](_0x44f8d1,function(_0x4539ee){socket[_0x7626('0x8a')](_0x7626('0x4c')+_0x498a13+_0x7626('0x98'),{'UserId':Number(_0x4539ee),[_0x498a13+_0x7626('0x85')]:_0x154231['id']});if(_0x498a13!==_0x7626('0x7e')){return;}return db[_0x7626('0x8e')][_0x7626('0x5f')]({'where':{'VoiceQueueId':_0x154231['id'],'UserId':_0x4539ee},'transaction':_0x45f36a});});return Promise[_0x7626('0x94')](_0xb2b60f);});});return Promise[_0x7626('0x94')](_0x1dfdaf);});});return Promise[_0x7626('0x94')](_0x95794e)[_0x7626('0x42')](function(){return _0x10ecf2['removeAgents'](_0x44f8d1,{'transaction':_0x45f36a});})[_0x7626('0x42')](function(){return db[_0x7626('0x6c')]['findOne']({'where':{'teamId':_0x19d36e}})[_0x7626('0x42')](function(_0x44379e){if(_0x44379e){var _0xd2a22c=_[_0x7626('0x2d')](_0x44f8d1,function(_0xc36b16){db[_0x7626('0x6d')]['destroy']({'where':{'UserId':_0xc36b16,'VoicePrefixId':_0x44379e['VoicePrefixId']}});});return Promise[_0x7626('0x94')](_0xd2a22c);}});});});}})[_0x7626('0x42')](respondWithStatusCode(_0x5df801,null))[_0x7626('0x44')](handleError(_0x5df801,null));};exports[_0x7626('0x99')]=function(_0x43f218,_0x543557,_0x2758cf){var _0x58a1d7={};var _0x440490={};var _0x82d64;var _0xd2f2f5;return db[_0x7626('0x2e')][_0x7626('0x7a')]({'where':{'id':_0x43f218[_0x7626('0x45')]['id']}})['then'](handleEntityNotFound(_0x543557,null))['then'](function(_0x2d955f){if(_0x2d955f){_0x82d64=_0x2d955f;_0x440490['model']=_[_0x7626('0x33')](db[_0x7626('0x87')][_0x7626('0x46')]);_0x440490[_0x7626('0x32')]=_[_0x7626('0x33')](_0x43f218[_0x7626('0x32')]);_0x440490[_0x7626('0x34')]=_['intersection'](_0x440490['model'],_0x440490[_0x7626('0x32')]);_0x58a1d7[_0x7626('0x35')]=_[_0x7626('0x36')](_0x440490[_0x7626('0x31')],qs[_0x7626('0x37')](_0x43f218[_0x7626('0x32')][_0x7626('0x37')]));_0x58a1d7['attributes']=_0x58a1d7['attributes'][_0x7626('0x38')]?_0x58a1d7[_0x7626('0x35')]:_0x440490[_0x7626('0x31')];_0x58a1d7[_0x7626('0x3a')]=qs[_0x7626('0x3b')](_0x43f218[_0x7626('0x32')][_0x7626('0x3b')]);_0x58a1d7[_0x7626('0x3c')]=qs[_0x7626('0x34')](_['pick'](_0x43f218['query'],_0x440490[_0x7626('0x34')]));if(_0x43f218['query'][_0x7626('0x40')]){_0x58a1d7[_0x7626('0x3c')]=_[_0x7626('0x49')](_0x58a1d7[_0x7626('0x3c')],{'$or':_[_0x7626('0x2d')](_0x58a1d7['attributes'],function(_0x34bdef){var _0x5c32a7={};_0x5c32a7[_0x34bdef]={'$like':'%'+_0x43f218['query'][_0x7626('0x40')]+'%'};return _0x5c32a7;})});}_0x58a1d7=_[_0x7626('0x49')]({},_0x58a1d7,_0x43f218[_0x7626('0x41')]);return _0x82d64[_0x7626('0x99')](_0x58a1d7);}})['then'](function(_0x554b87){if(_0x554b87){_0xd2f2f5=_0x554b87[_0x7626('0x38')];if(!_0x43f218[_0x7626('0x32')][_0x7626('0x9a')](_0x7626('0x39'))){_0x58a1d7[_0x7626('0x25')]=qs['limit'](_0x43f218['query'][_0x7626('0x25')]);_0x58a1d7[_0x7626('0x22')]=qs[_0x7626('0x22')](_0x43f218['query'][_0x7626('0x22')]);}return _0x82d64['getAgents'](_0x58a1d7);}})[_0x7626('0x42')](function(_0x493287){if(_0x493287){return _0x493287?{'count':_0xd2f2f5,'rows':_0x493287}:null;}})['then'](respondWithResult(_0x543557,null))[_0x7626('0x44')](handleError(_0x543557,null));};