Built motion from commit 746c7d2a.|2.5.35
[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 _0xca2c=['../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./team.socket','register','sendStatus','offset','undefined','count','limit','status','set','Content-Range','json','reject','save','update','then','stack','name','send','index','map','Team','query','keys','intersection','attributes','model','fields','length','order','where','filters','filter','merge','type','VIRTUAL','includeAll','findAll','rows','catch','show','params','rawAttributes','include','find','create','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','user','Teams','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','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','UserVoiceQueue','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','UserMailQueue','SmsQueueId','UserSmsQueue','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','ChatQueueId','SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20','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','UserProfileResource','end','findOne','channel','isValidChannel','ValidationError','Unknown\x20channel','toLowerCase','Queue','sort','pick','capitalize','Queues','add','ids','removeQueues','remove','isArray','Voice','Chat','Mail','Sms','Fax','Openchannel','through','User','findOrCreate','emit','Queue:save','QueueId','interface','UserVoiceQueueRt','upsert','isNil','format','voicePause','all','TeamVoicePrefix','VoicePrefixId','addAgents','removeAgents','Queue:remove','UserVoicePrefix','getAgents','hasOwnProperty','eml-format','zip-dir','fast-json-patch','request-promise','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment'];(function(_0x188832,_0x49101d){var _0x2b990f=function(_0x231635){while(--_0x231635){_0x188832['push'](_0x188832['shift']());}};_0x2b990f(++_0x49101d);}(_0xca2c,0x1b8));var _0xcca2=function(_0x6131cd,_0x4c26a1){_0x6131cd=_0x6131cd-0x0;var _0x47e916=_0xca2c[_0x6131cd];return _0x47e916;};'use strict';var emlformat=require(_0xcca2('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xcca2('0x1'));var jsonpatch=require(_0xcca2('0x2'));var rp=require(_0xcca2('0x3'));var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0xcca2('0x4'));var util=require(_0xcca2('0x5'));var path=require(_0xcca2('0x6'));var sox=require(_0xcca2('0x7'));var csv=require(_0xcca2('0x8'));var ejs=require(_0xcca2('0x9'));var fs=require('fs');var fs_extra=require(_0xcca2('0xa'));var _=require(_0xcca2('0xb'));var squel=require(_0xcca2('0xc'));var crypto=require(_0xcca2('0xd'));var jsforce=require(_0xcca2('0xe'));var deskjs=require(_0xcca2('0xf'));var toCsv=require(_0xcca2('0x8'));var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xcca2('0x10'));var authService=require(_0xcca2('0x11'));var qs=require(_0xcca2('0x12'));var as=require(_0xcca2('0x13'));var hardwareService=require(_0xcca2('0x14'));var logger=require(_0xcca2('0x15'))(_0xcca2('0x16'));var utils=require(_0xcca2('0x17'));var config=require(_0xcca2('0x18'));var licenseUtil=require(_0xcca2('0x19'));var db=require(_0xcca2('0x1a'))['db'];config[_0xcca2('0x1b')]=_[_0xcca2('0x1c')](config[_0xcca2('0x1b')],{'host':_0xcca2('0x1d'),'port':0x18eb});var socket=require(_0xcca2('0x1e'))(new Redis(config[_0xcca2('0x1b')]));require(_0xcca2('0x1f'))[_0xcca2('0x20')](socket);function respondWithStatusCode(_0x5a698c,_0x4fd2b3){_0x4fd2b3=_0x4fd2b3||0xcc;return function(_0x5788e7){if(_0x5788e7){return _0x5a698c[_0xcca2('0x21')](_0x4fd2b3);}return _0x5a698c['status'](_0x4fd2b3)['end']();};}function respondWithResult(_0x2f0e4f,_0x3d338a){_0x3d338a=_0x3d338a||0xc8;return function(_0x1c47d1){if(_0x1c47d1){return _0x2f0e4f['status'](_0x3d338a)['json'](_0x1c47d1);}};}function respondWithFilteredResult(_0x8646cf,_0xa75796){return function(_0x3709ff){if(_0x3709ff){var _0x27c661=typeof _0xa75796[_0xcca2('0x22')]==='undefined'&&typeof _0xa75796['limit']===_0xcca2('0x23');var _0x2c610f=_0x3709ff[_0xcca2('0x24')];var _0x26de32=_0x27c661?0x0:_0xa75796[_0xcca2('0x22')];var _0x1b8727=_0x27c661?_0x3709ff['count']:_0xa75796[_0xcca2('0x22')]+_0xa75796[_0xcca2('0x25')];var _0x184818;if(_0x1b8727>=_0x2c610f){_0x1b8727=_0x2c610f;_0x184818=0xc8;}else{_0x184818=0xce;}_0x8646cf[_0xcca2('0x26')](_0x184818);return _0x8646cf[_0xcca2('0x27')](_0xcca2('0x28'),_0x26de32+'-'+_0x1b8727+'/'+_0x2c610f)[_0xcca2('0x29')](_0x3709ff);}return null;};}function patchUpdates(_0x3e9c4c){return function(_0x58c25c){try{jsonpatch['apply'](_0x58c25c,_0x3e9c4c,!![]);}catch(_0x39b2fa){return BPromise[_0xcca2('0x2a')](_0x39b2fa);}return _0x58c25c[_0xcca2('0x2b')]();};}function saveUpdates(_0x5ef2f9,_0x10d777){return function(_0x307c23){if(_0x307c23){return _0x307c23[_0xcca2('0x2c')](_0x5ef2f9)[_0xcca2('0x2d')](function(_0x3923f9){return _0x3923f9;});}return null;};}function handleEntityNotFound(_0x13f433,_0x2702a5){return function(_0xffd383){if(!_0xffd383){_0x13f433[_0xcca2('0x21')](0x194);}return _0xffd383;};}function handleError(_0x5509a6,_0x4901ec){_0x4901ec=_0x4901ec||0x1f4;return function(_0x39033f){logger['error'](_0x39033f[_0xcca2('0x2e')]);if(_0x39033f[_0xcca2('0x2f')]){delete _0x39033f[_0xcca2('0x2f')];}_0x5509a6[_0xcca2('0x26')](_0x4901ec)[_0xcca2('0x30')](_0x39033f);};}exports[_0xcca2('0x31')]=function(_0x45d012,_0x178f67){var _0x3f9f8e={},_0x3908d5={},_0x1acf0b={'count':0x0,'rows':[]};var _0x1b1d02=_[_0xcca2('0x32')](db[_0xcca2('0x33')]['rawAttributes'],function(_0x20db54){return{'name':_0x20db54['fieldName'],'type':_0x20db54['type']['key']};});_0x3908d5['model']=_[_0xcca2('0x32')](_0x1b1d02,'name');_0x3908d5[_0xcca2('0x34')]=_[_0xcca2('0x35')](_0x45d012[_0xcca2('0x34')]);_0x3908d5['filters']=_[_0xcca2('0x36')](_0x3908d5['model'],_0x3908d5[_0xcca2('0x34')]);_0x3f9f8e[_0xcca2('0x37')]=_[_0xcca2('0x36')](_0x3908d5[_0xcca2('0x38')],qs[_0xcca2('0x39')](_0x45d012[_0xcca2('0x34')][_0xcca2('0x39')]));_0x3f9f8e['attributes']=_0x3f9f8e[_0xcca2('0x37')][_0xcca2('0x3a')]?_0x3f9f8e[_0xcca2('0x37')]:_0x3908d5[_0xcca2('0x38')];if(!_0x45d012[_0xcca2('0x34')]['hasOwnProperty']('nolimit')){_0x3f9f8e[_0xcca2('0x25')]=qs[_0xcca2('0x25')](_0x45d012[_0xcca2('0x34')][_0xcca2('0x25')]);_0x3f9f8e[_0xcca2('0x22')]=qs[_0xcca2('0x22')](_0x45d012[_0xcca2('0x34')][_0xcca2('0x22')]);}_0x3f9f8e[_0xcca2('0x3b')]=qs['sort'](_0x45d012[_0xcca2('0x34')]['sort']);_0x3f9f8e[_0xcca2('0x3c')]=qs[_0xcca2('0x3d')](_['pick'](_0x45d012['query'],_0x3908d5[_0xcca2('0x3d')]),_0x1b1d02);if(_0x45d012[_0xcca2('0x34')][_0xcca2('0x3e')]){_0x3f9f8e[_0xcca2('0x3c')]=_[_0xcca2('0x3f')](_0x3f9f8e[_0xcca2('0x3c')],{'$or':_['map'](_0x1b1d02,function(_0x46ac88){if(_0x46ac88[_0xcca2('0x40')]!==_0xcca2('0x41')){var _0x5338f7={};_0x5338f7[_0x46ac88['name']]={'$like':'%'+_0x45d012[_0xcca2('0x34')][_0xcca2('0x3e')]+'%'};return _0x5338f7;}})});}_0x3f9f8e=_[_0xcca2('0x3f')]({},_0x3f9f8e,_0x45d012['options']);var _0x4b2f10={'where':_0x3f9f8e[_0xcca2('0x3c')]};return db[_0xcca2('0x33')]['count'](_0x4b2f10)[_0xcca2('0x2d')](function(_0x423a30){_0x1acf0b[_0xcca2('0x24')]=_0x423a30;if(_0x45d012[_0xcca2('0x34')][_0xcca2('0x42')]){_0x3f9f8e['include']=[{'all':!![]}];}return db[_0xcca2('0x33')][_0xcca2('0x43')](_0x3f9f8e);})[_0xcca2('0x2d')](function(_0x23c217){_0x1acf0b[_0xcca2('0x44')]=_0x23c217;return _0x1acf0b;})[_0xcca2('0x2d')](respondWithFilteredResult(_0x178f67,_0x3f9f8e))[_0xcca2('0x45')](handleError(_0x178f67,null));};exports[_0xcca2('0x46')]=function(_0x9615,_0x174c4b){var _0x130ad0={'raw':![],'where':{'id':_0x9615[_0xcca2('0x47')]['id']}},_0x47f6d5={};_0x47f6d5[_0xcca2('0x38')]=_[_0xcca2('0x35')](db[_0xcca2('0x33')][_0xcca2('0x48')]);_0x47f6d5[_0xcca2('0x34')]=_[_0xcca2('0x35')](_0x9615['query']);_0x47f6d5[_0xcca2('0x3d')]=_[_0xcca2('0x36')](_0x47f6d5[_0xcca2('0x38')],_0x47f6d5[_0xcca2('0x34')]);_0x130ad0[_0xcca2('0x37')]=_[_0xcca2('0x36')](_0x47f6d5[_0xcca2('0x38')],qs[_0xcca2('0x39')](_0x9615[_0xcca2('0x34')][_0xcca2('0x39')]));_0x130ad0[_0xcca2('0x37')]=_0x130ad0[_0xcca2('0x37')][_0xcca2('0x3a')]?_0x130ad0[_0xcca2('0x37')]:_0x47f6d5[_0xcca2('0x38')];if(_0x9615[_0xcca2('0x34')][_0xcca2('0x42')]){_0x130ad0[_0xcca2('0x49')]=[{'all':!![]}];}_0x130ad0=_['merge']({},_0x130ad0,_0x9615['options']);return db['Team'][_0xcca2('0x4a')](_0x130ad0)[_0xcca2('0x2d')](handleEntityNotFound(_0x174c4b,null))[_0xcca2('0x2d')](respondWithResult(_0x174c4b,null))[_0xcca2('0x45')](handleError(_0x174c4b,null));};exports[_0xcca2('0x4b')]=function(_0x54e69d,_0x5c2031){return db['Team'][_0xcca2('0x4b')](_0x54e69d['body'],{})['then'](function(_0xb7e644){var _0x58dd38=_0x54e69d['user'][_0xcca2('0x4c')]({'plain':!![]});if(!_0x58dd38)throw new Error(_0xcca2('0x4d'));if(_0x58dd38['role']===_0xcca2('0x4e')){var _0x4ac20e=_0xb7e644[_0xcca2('0x4c')]({'plain':!![]});var _0x5bcb67=_0xcca2('0x4f');return db[_0xcca2('0x50')][_0xcca2('0x4a')]({'where':{'name':_0x5bcb67,'userProfileId':_0x58dd38[_0xcca2('0x51')]},'raw':!![]})[_0xcca2('0x2d')](function(_0x5b1d88){if(_0x5b1d88&&_0x5b1d88[_0xcca2('0x52')]===0x0){return db['UserProfileResource'][_0xcca2('0x4b')]({'name':_0x4ac20e[_0xcca2('0x2f')],'resourceId':_0x4ac20e['id'],'type':_0x5b1d88[_0xcca2('0x2f')],'sectionId':_0x5b1d88['id']},{})[_0xcca2('0x2d')](function(){return _0xb7e644;});}else{return _0xb7e644;}})[_0xcca2('0x45')](function(_0x27f067){logger[_0xcca2('0x53')](_0xcca2('0x54'),_0x27f067);throw _0x27f067;});}return _0xb7e644;})[_0xcca2('0x2d')](respondWithResult(_0x5c2031,0xc9))[_0xcca2('0x45')](handleError(_0x5c2031,null));};exports['update']=function(_0x444ef0,_0x184ef1){if(_0x444ef0[_0xcca2('0x55')]['id']){delete _0x444ef0[_0xcca2('0x55')]['id'];}return db['Team'][_0xcca2('0x4a')]({'where':{'id':_0x444ef0['params']['id']}})[_0xcca2('0x2d')](handleEntityNotFound(_0x184ef1,null))[_0xcca2('0x2d')](saveUpdates(_0x444ef0['body'],null))['then'](respondWithResult(_0x184ef1,null))[_0xcca2('0x45')](handleError(_0x184ef1,null));};exports[_0xcca2('0x56')]=function(_0x1cdac3,_0x182856){var _0x218759=_0x1cdac3[_0xcca2('0x47')]['id'];var _0x24ef41=[];return db[_0xcca2('0x57')][_0xcca2('0x58')](function(_0x51471c){var _0x1e951e=_0xcca2('0x59')+_0x218759;return db[_0xcca2('0x57')][_0xcca2('0x34')](_0x1e951e,{'type':db[_0xcca2('0x5a')][_0xcca2('0x5b')][_0xcca2('0x5c')],'raw':!![],'transaction':_0x51471c})['then'](function(_0x583b95){_0x24ef41=_[_0xcca2('0x32')](_0x583b95,function(_0xc7a72d){return Number(_0xc7a72d[_0xcca2('0x5d')]);});})['then'](function(){var _0x344e1b=_0xcca2('0x5e')+_0x218759;return db[_0xcca2('0x57')][_0xcca2('0x34')](_0x344e1b,{'type':db[_0xcca2('0x5a')][_0xcca2('0x5b')][_0xcca2('0x5c')],'raw':!![],'transaction':_0x51471c});})[_0xcca2('0x2d')](function(_0x2f2962){var _0x1aaf14=_[_0xcca2('0x32')](_0x2f2962,function(_0x17576d){return Number(_0x17576d[_0xcca2('0x5f')]);});return db[_0xcca2('0x60')][_0xcca2('0x56')]({'where':{'UserId':{'$in':_0x24ef41},'VoiceQueueId':{'$in':_0x1aaf14}},'transaction':_0x51471c});})[_0xcca2('0x2d')](function(){var _0x3bcb23=_0xcca2('0x61')+_0x218759;return db[_0xcca2('0x57')]['query'](_0x3bcb23,{'type':db[_0xcca2('0x5a')]['QueryTypes'][_0xcca2('0x5c')],'raw':!![],'transaction':_0x51471c});})['then'](function(_0x218de8){var _0x564819=_[_0xcca2('0x32')](_0x218de8,function(_0x6518f2){return Number(_0x6518f2[_0xcca2('0x62')]);});return db[_0xcca2('0x63')][_0xcca2('0x56')]({'where':{'UserId':{'$in':_0x24ef41},'MailQueueId':{'$in':_0x564819}},'transaction':_0x51471c});})[_0xcca2('0x2d')](function(){var _0x47079e='SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20'+_0x218759;return db[_0xcca2('0x57')][_0xcca2('0x34')](_0x47079e,{'type':db[_0xcca2('0x5a')][_0xcca2('0x5b')]['SELECT'],'raw':!![],'transaction':_0x51471c});})[_0xcca2('0x2d')](function(_0x18cd15){var _0x54bb17=_[_0xcca2('0x32')](_0x18cd15,function(_0x5549af){return Number(_0x5549af[_0xcca2('0x64')]);});return db[_0xcca2('0x65')][_0xcca2('0x56')]({'where':{'UserId':{'$in':_0x24ef41},'SmsQueueId':{'$in':_0x54bb17}},'transaction':_0x51471c});})['then'](function(){var _0x56f128=_0xcca2('0x66')+_0x218759;return db[_0xcca2('0x57')]['query'](_0x56f128,{'type':db[_0xcca2('0x5a')][_0xcca2('0x5b')][_0xcca2('0x5c')],'raw':!![],'transaction':_0x51471c});})['then'](function(_0x265c19){var _0x1b5e6e=_['map'](_0x265c19,function(_0x5a2c21){return Number(_0x5a2c21[_0xcca2('0x67')]);});return db['UserChatQueue'][_0xcca2('0x56')]({'where':{'UserId':{'$in':_0x24ef41},'ChatQueueId':{'$in':_0x1b5e6e}},'transaction':_0x51471c});})['then'](function(){var _0x51b1d7=_0xcca2('0x68')+_0x218759;return db[_0xcca2('0x57')][_0xcca2('0x34')](_0x51b1d7,{'type':db[_0xcca2('0x5a')][_0xcca2('0x5b')][_0xcca2('0x5c')],'raw':!![],'transaction':_0x51471c});})[_0xcca2('0x2d')](function(_0x28d743){var _0x77310c=_[_0xcca2('0x32')](_0x28d743,function(_0x6eea66){return Number(_0x6eea66['FaxQueueId']);});return db[_0xcca2('0x69')]['destroy']({'where':{'UserId':{'$in':_0x24ef41},'FaxQueueId':{'$in':_0x77310c}},'transaction':_0x51471c});})[_0xcca2('0x2d')](function(){var _0x6cf565=_0xcca2('0x6a')+_0x218759;return db[_0xcca2('0x57')][_0xcca2('0x34')](_0x6cf565,{'type':db[_0xcca2('0x5a')][_0xcca2('0x5b')][_0xcca2('0x5c')],'raw':!![],'transaction':_0x51471c});})[_0xcca2('0x2d')](function(_0x148afe){var _0x4b289d=_[_0xcca2('0x32')](_0x148afe,function(_0xf811a){return Number(_0xf811a[_0xcca2('0x6b')]);});return db[_0xcca2('0x6c')][_0xcca2('0x56')]({'where':{'UserId':{'$in':_0x24ef41},'OpenchannelQueueId':{'$in':_0x4b289d}},'transaction':_0x51471c});})[_0xcca2('0x2d')](function(){var _0xf79c16=_0xcca2('0x6d')+_0x218759;return db[_0xcca2('0x57')][_0xcca2('0x34')](_0xf79c16,{'type':db[_0xcca2('0x5a')]['QueryTypes'][_0xcca2('0x5c')],'raw':!![],'transaction':_0x51471c});})[_0xcca2('0x2d')](function(_0x539f42){var _0x502459=_[_0xcca2('0x32')](_0x539f42,function(_0x313344){return Number(_0x313344['WhatsappQueueId']);});return db['UserWhatsappQueue'][_0xcca2('0x56')]({'where':{'UserId':{'$in':_0x24ef41},'WhatsappQueueId':{'$in':_0x502459}},'transaction':_0x51471c});})[_0xcca2('0x2d')](function(){return db['TeamVoicePrefix']['find']({'where':{'TeamId':_0x218759}});})[_0xcca2('0x2d')](function(_0x139dec){if(_0x139dec===null){return;}return db['UserVoicePrefix'][_0xcca2('0x56')]({'where':{'UserId':{'$in':_0x24ef41},'VoicePrefixId':_0x139dec['VoicePrefixId']},'transaction':_0x51471c});})[_0xcca2('0x2d')](function(){return db[_0xcca2('0x33')][_0xcca2('0x56')]({'where':{'id':_0x218759},'cascade':!![],'transaction':_0x51471c});})[_0xcca2('0x2d')](function(_0x37f1e2){if(_0x37f1e2===0x0){_0x182856[_0xcca2('0x21')](0x194);}else{return db[_0xcca2('0x6e')][_0xcca2('0x56')]({'where':{'type':_0xcca2('0x4f'),'resourceId':_0x218759},'cascade':!![],'transaction':_0x51471c})[_0xcca2('0x2d')](function(){_0x182856[_0xcca2('0x26')](0xcc)[_0xcca2('0x6f')]();});}})[_0xcca2('0x45')](function(_0x536d1a){_0x182856[_0xcca2('0x26')](0x1f4)[_0xcca2('0x30')](_0x536d1a);});});};exports['getQueues']=function(_0x7dc47d,_0x343efc,_0x1c811a){return db['Team'][_0xcca2('0x70')]({'where':{'id':_0x7dc47d['params']['id']}})[_0xcca2('0x2d')](handleEntityNotFound(_0x343efc,null))['then'](function(_0x2a6f2c){if(!_0x7dc47d[_0xcca2('0x34')][_0xcca2('0x71')]||!utils[_0xcca2('0x72')](_0x7dc47d[_0xcca2('0x34')][_0xcca2('0x71')])){throw new db[(_0xcca2('0x5a'))][(_0xcca2('0x73'))](_0xcca2('0x74'));}var _0x157fbf={};var _0x3a6e57={};_0x3a6e57[_0xcca2('0x38')]=_[_0xcca2('0x35')](db[_['capitalize'](_0x7dc47d[_0xcca2('0x34')][_0xcca2('0x71')][_0xcca2('0x75')]())+_0xcca2('0x76')]['rawAttributes']);_0x3a6e57['query']=_[_0xcca2('0x35')](_0x7dc47d[_0xcca2('0x34')]);_0x3a6e57[_0xcca2('0x3d')]=_[_0xcca2('0x36')](_0x3a6e57['model'],_0x3a6e57['query']);_0x157fbf['attributes']=_[_0xcca2('0x36')](_0x3a6e57['model'],qs[_0xcca2('0x39')](_0x7dc47d['query'][_0xcca2('0x39')]));_0x157fbf[_0xcca2('0x37')]=_0x157fbf[_0xcca2('0x37')][_0xcca2('0x3a')]?_0x157fbf[_0xcca2('0x37')]:_0x3a6e57[_0xcca2('0x38')];_0x157fbf[_0xcca2('0x25')]=qs['limit'](_0x7dc47d[_0xcca2('0x34')][_0xcca2('0x25')]);_0x157fbf['offset']=qs[_0xcca2('0x22')](_0x7dc47d[_0xcca2('0x34')][_0xcca2('0x22')]);_0x157fbf['order']=qs[_0xcca2('0x77')](_0x7dc47d[_0xcca2('0x34')][_0xcca2('0x77')]);_0x157fbf[_0xcca2('0x3c')]=qs[_0xcca2('0x3d')](_[_0xcca2('0x78')](_0x7dc47d[_0xcca2('0x34')],_0x3a6e57[_0xcca2('0x3d')]));_0x157fbf=_[_0xcca2('0x3f')]({},_0x157fbf,_0x7dc47d['options']);return _0x2a6f2c[_0xcca2('0x4c')+_[_0xcca2('0x79')](_0x7dc47d[_0xcca2('0x34')]['channel'][_0xcca2('0x75')]())+_0xcca2('0x7a')](_0x157fbf);})[_0xcca2('0x2d')](respondWithResult(_0x343efc,null))[_0xcca2('0x45')](handleError(_0x343efc,null));};exports['addQueues']=function(_0x22a6fa,_0x250732,_0x1dab05){return db[_0xcca2('0x33')][_0xcca2('0x70')]({'where':{'id':_0x22a6fa[_0xcca2('0x47')]['id']}})[_0xcca2('0x2d')](function(_0x11cd72){if(_0x11cd72){if(!_0x22a6fa[_0xcca2('0x55')]['channel']||!utils['isValidChannel'](_0x22a6fa['body'][_0xcca2('0x71')])){throw new db[(_0xcca2('0x5a'))][(_0xcca2('0x73'))](_0xcca2('0x74'));}return _0x11cd72[_0xcca2('0x7b')+_['capitalize'](_0x22a6fa['body'][_0xcca2('0x71')][_0xcca2('0x75')]())+'Queues'](_0x22a6fa[_0xcca2('0x55')][_0xcca2('0x7c')]);}return null;})[_0xcca2('0x2d')](handleEntityNotFound(_0x250732,null))[_0xcca2('0x2d')](respondWithStatusCode(_0x250732,null))[_0xcca2('0x45')](handleError(_0x250732,null));};exports[_0xcca2('0x7d')]=function(_0x4599fd,_0x1f30c0,_0x112bd6){return db[_0xcca2('0x33')][_0xcca2('0x70')]({'where':{'id':_0x4599fd['params']['id']}})[_0xcca2('0x2d')](function(_0x45cd36){if(_0x45cd36){if(!_0x4599fd[_0xcca2('0x34')][_0xcca2('0x71')]||!utils['isValidChannel'](_0x4599fd['query'][_0xcca2('0x71')])){throw new db['Sequelize'][(_0xcca2('0x73'))](_0xcca2('0x74'));}return _0x45cd36[_0xcca2('0x7e')+_[_0xcca2('0x79')](_0x4599fd[_0xcca2('0x34')]['channel'][_0xcca2('0x75')]())+_0xcca2('0x7a')](_0x4599fd['query'][_0xcca2('0x7c')]);}return null;})[_0xcca2('0x2d')](handleEntityNotFound(_0x1f30c0,null))['then'](respondWithStatusCode(_0x1f30c0,null))[_0xcca2('0x45')](handleError(_0x1f30c0,null));};exports['addAgents']=function(_0xf0f85c,_0x1950ac){var _0x2b458f=_[_0xcca2('0x7f')](_0xf0f85c[_0xcca2('0x55')]['ids'])?_0xf0f85c['body'][_0xcca2('0x7c')]:[_0xf0f85c[_0xcca2('0x55')]['ids']];var _0x1dff7c=_0xf0f85c[_0xcca2('0x47')]['id'];return db[_0xcca2('0x33')][_0xcca2('0x4a')]({'where':{'id':_0x1dff7c}})[_0xcca2('0x2d')](handleEntityNotFound(_0x1950ac,null))[_0xcca2('0x2d')](function(_0x4a79c7){if(_0x4a79c7){var _0x29f0b3=[_0xcca2('0x80'),_0xcca2('0x81'),_0xcca2('0x82'),_0xcca2('0x83'),_0xcca2('0x84'),_0xcca2('0x85'),'Whatsapp'];return db[_0xcca2('0x57')][_0xcca2('0x58')](function(_0x193fcf){var _0x367396=_[_0xcca2('0x32')](_0x29f0b3,function(_0x2e2cf4){var _0x5e103c={'attributes':['id',_0xcca2('0x2f')]};if(_0x2e2cf4===_0xcca2('0x80')){_0x5e103c[_0xcca2('0x86')]={'attributes':['penalty']};}return _0x4a79c7['get'+_0x2e2cf4+'Queues'](_0x5e103c)[_0xcca2('0x2d')](function(_0x4c8d17){var _0x41d344=_[_0xcca2('0x32')](_0x4c8d17,function(_0x322e82){var _0x195bd1=_[_0xcca2('0x32')](_0x2b458f,function(_0x5b3c9c){var _0x37bae8={'where':{'UserId':_0x5b3c9c,[_0x2e2cf4+'QueueId']:_0x322e82['id']},'transaction':_0x193fcf};if(_0x2e2cf4===_0xcca2('0x80')){_0x37bae8[_0xcca2('0x1c')]={'penalty':_0x322e82['TeamVoiceQueue']['penalty']};}return db[_0xcca2('0x87')+_0x2e2cf4+_0xcca2('0x76')][_0xcca2('0x88')](_0x37bae8)[_0xcca2('0x2d')](function(){socket[_0xcca2('0x89')](_0xcca2('0x4e')+_0x2e2cf4+_0xcca2('0x8a'),{'UserId':_0x5b3c9c,[_0x2e2cf4+_0xcca2('0x8b')]:_0x322e82['id']});if(_0x2e2cf4!==_0xcca2('0x80')){return;}return db['User'][_0xcca2('0x43')]({'where':{'id':_0x2b458f,'online':0x1},'attributes':['id',_0xcca2('0x2f'),'online','voicePause',_0xcca2('0x8c')],'raw':!![]})['then'](function(_0x42635c){var _0x1b4571=_[_0xcca2('0x32')](_0x42635c,function(_0x38d848){return db[_0xcca2('0x8d')][_0xcca2('0x8e')]({'membername':_0x38d848['name'],'UserId':_0x38d848['id'],'queue_name':_0x322e82['name'],'VoiceQueueId':_0x322e82['id'],'interface':_[_0xcca2('0x8f')](_0x38d848[_0xcca2('0x8c')])?util[_0xcca2('0x90')]('SIP/%s',_0x38d848[_0xcca2('0x2f')]):_0x38d848[_0xcca2('0x8c')],'paused':_0x38d848[_0xcca2('0x91')]||![],'penalty':_0x322e82['TeamVoiceQueue']['penalty']},{'transaction':_0x193fcf});});return Promise['all'](_0x1b4571);});});});return Promise[_0xcca2('0x92')](_0x195bd1);});return Promise[_0xcca2('0x92')](_0x41d344);})[_0xcca2('0x2d')](function(){return db[_0xcca2('0x93')][_0xcca2('0x70')]({'where':{'teamId':_0x1dff7c}})['then'](function(_0x2abf8d){if(_0x2abf8d){var _0x323be3=_[_0xcca2('0x32')](_0x2b458f,function(_0x551bd0){db['UserVoicePrefix'][_0xcca2('0x8e')]({'UserId':_0x551bd0,'VoicePrefixId':_0x2abf8d[_0xcca2('0x94')]});});return Promise[_0xcca2('0x92')](_0x323be3);}});});});return Promise[_0xcca2('0x92')](_0x367396)['then'](function(){return _0x4a79c7[_0xcca2('0x95')](_0x2b458f,{'transaction':_0x193fcf})['spread'](function(_0x645ad3){return _0x645ad3;});});});}})[_0xcca2('0x2d')](respondWithResult(_0x1950ac,null))[_0xcca2('0x45')](handleError(_0x1950ac,null));};exports[_0xcca2('0x96')]=function(_0x584947,_0x449059){var _0xa64f0d=_[_0xcca2('0x7f')](_0x584947[_0xcca2('0x34')]['ids'])?_0x584947[_0xcca2('0x34')][_0xcca2('0x7c')]:[_0x584947[_0xcca2('0x34')][_0xcca2('0x7c')]];var _0x3a2db4=_0x584947['params']['id'];return db[_0xcca2('0x33')][_0xcca2('0x4a')]({'where':{'id':_0x3a2db4}})['then'](handleEntityNotFound(_0x449059,null))[_0xcca2('0x2d')](function(_0x5d4259){if(_0x5d4259){var _0x1c2051=[_0xcca2('0x80'),_0xcca2('0x81'),_0xcca2('0x82'),_0xcca2('0x83'),_0xcca2('0x84'),_0xcca2('0x85'),'Whatsapp'];return db[_0xcca2('0x57')]['transaction'](function(_0x1b16e5){var _0x24bdd3=_[_0xcca2('0x32')](_0x1c2051,function(_0x3e9e12){var _0x44f219={'attributes':['id',_0xcca2('0x2f')]};return _0x5d4259[_0xcca2('0x4c')+_0x3e9e12+'Queues'](_0x44f219)[_0xcca2('0x2d')](function(_0x5021d6){var _0x424e3a=_[_0xcca2('0x32')](_0x5021d6,function(_0x47870e){return _0x47870e['removeAgents'](_0xa64f0d,{'transaction':_0x1b16e5})[_0xcca2('0x2d')](function(){var _0x23faae=_[_0xcca2('0x32')](_0xa64f0d,function(_0x3d0e8d){socket[_0xcca2('0x89')](_0xcca2('0x4e')+_0x3e9e12+_0xcca2('0x97'),{'UserId':Number(_0x3d0e8d),[_0x3e9e12+_0xcca2('0x8b')]:_0x47870e['id']});if(_0x3e9e12!==_0xcca2('0x80')){return;}return db[_0xcca2('0x8d')]['destroy']({'where':{'VoiceQueueId':_0x47870e['id'],'UserId':_0x3d0e8d},'transaction':_0x1b16e5});});return Promise[_0xcca2('0x92')](_0x23faae);});});return Promise[_0xcca2('0x92')](_0x424e3a);});});return Promise['all'](_0x24bdd3)['then'](function(){return _0x5d4259['removeAgents'](_0xa64f0d,{'transaction':_0x1b16e5});})[_0xcca2('0x2d')](function(){return db['TeamVoicePrefix']['findOne']({'where':{'teamId':_0x3a2db4}})['then'](function(_0x322e84){if(_0x322e84){var _0x55b6f5=_[_0xcca2('0x32')](_0xa64f0d,function(_0x50df9b){db[_0xcca2('0x98')][_0xcca2('0x56')]({'where':{'UserId':_0x50df9b,'VoicePrefixId':_0x322e84[_0xcca2('0x94')]}});});return Promise['all'](_0x55b6f5);}});});});}})['then'](respondWithStatusCode(_0x449059,null))[_0xcca2('0x45')](handleError(_0x449059,null));};exports['getAgents']=function(_0x4a7e4e,_0x5c62d0,_0x31312a){var _0x20b74e={};var _0x58cb3b={};var _0x2d5153;var _0x23f424;return db['Team'][_0xcca2('0x70')]({'where':{'id':_0x4a7e4e[_0xcca2('0x47')]['id']}})['then'](handleEntityNotFound(_0x5c62d0,null))['then'](function(_0x1bfc59){if(_0x1bfc59){_0x2d5153=_0x1bfc59;_0x58cb3b[_0xcca2('0x38')]=_['keys'](db[_0xcca2('0x87')][_0xcca2('0x48')]);_0x58cb3b['query']=_[_0xcca2('0x35')](_0x4a7e4e['query']);_0x58cb3b[_0xcca2('0x3d')]=_[_0xcca2('0x36')](_0x58cb3b[_0xcca2('0x38')],_0x58cb3b[_0xcca2('0x34')]);_0x20b74e[_0xcca2('0x37')]=_[_0xcca2('0x36')](_0x58cb3b[_0xcca2('0x38')],qs['fields'](_0x4a7e4e[_0xcca2('0x34')][_0xcca2('0x39')]));_0x20b74e[_0xcca2('0x37')]=_0x20b74e['attributes'][_0xcca2('0x3a')]?_0x20b74e[_0xcca2('0x37')]:_0x58cb3b[_0xcca2('0x38')];_0x20b74e[_0xcca2('0x3b')]=qs[_0xcca2('0x77')](_0x4a7e4e[_0xcca2('0x34')][_0xcca2('0x77')]);_0x20b74e['where']=qs[_0xcca2('0x3d')](_[_0xcca2('0x78')](_0x4a7e4e[_0xcca2('0x34')],_0x58cb3b[_0xcca2('0x3d')]));if(_0x4a7e4e[_0xcca2('0x34')][_0xcca2('0x3e')]){_0x20b74e[_0xcca2('0x3c')]=_['merge'](_0x20b74e[_0xcca2('0x3c')],{'$or':_['map'](_0x20b74e[_0xcca2('0x37')],function(_0x41d5d9){var _0x5c7e5a={};_0x5c7e5a[_0x41d5d9]={'$like':'%'+_0x4a7e4e['query']['filter']+'%'};return _0x5c7e5a;})});}_0x20b74e=_[_0xcca2('0x3f')]({},_0x20b74e,_0x4a7e4e['options']);return _0x2d5153[_0xcca2('0x99')](_0x20b74e);}})['then'](function(_0x2fdca4){if(_0x2fdca4){_0x23f424=_0x2fdca4[_0xcca2('0x3a')];if(!_0x4a7e4e[_0xcca2('0x34')][_0xcca2('0x9a')]('nolimit')){_0x20b74e[_0xcca2('0x25')]=qs['limit'](_0x4a7e4e[_0xcca2('0x34')][_0xcca2('0x25')]);_0x20b74e[_0xcca2('0x22')]=qs[_0xcca2('0x22')](_0x4a7e4e[_0xcca2('0x34')][_0xcca2('0x22')]);}return _0x2d5153[_0xcca2('0x99')](_0x20b74e);}})[_0xcca2('0x2d')](function(_0x2ed941){if(_0x2ed941){return _0x2ed941?{'count':_0x23f424,'rows':_0x2ed941}:null;}})[_0xcca2('0x2d')](respondWithResult(_0x5c62d0,null))[_0xcca2('0x45')](handleError(_0x5c62d0,null));};