Built motion from commit ddca4d0d.|2.5.47
[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 _0xcac5=['format','SIP/%s','all','removeAgents','emit','Queue:remove','getAgents','eml-format','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','path','sox','to-csv','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/license/util','redis','localhost','socket.io-emitter','./team.socket','sendStatus','status','end','offset','limit','undefined','count','set','reject','save','update','then','error','stack','name','send','index','Team','rawAttributes','fieldName','type','key','model','map','query','keys','filters','intersection','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','VIRTUAL','options','includeAll','include','rows','catch','show','params','fields','find','create','user','Teams','UserProfileSection','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','sequelize','transaction','Sequelize','UserId','QueryTypes','SELECT','UserVoiceQueue','destroy','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','UserMailQueue','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','TeamVoicePrefix','UserVoicePrefix','VoicePrefixId','getQueues','isValidChannel','channel','Unknown\x20channel','get','capitalize','toLowerCase','Queues','ids','removeQueues','findOne','remove','addAgents','isArray','Voice','Chat','Mail','Sms','Fax','Openchannel','through','penalty','QueueId','defaults','TeamVoiceQueue','User','Queue','findOrCreate','Queue:save','findAll','online','voicePause','interface','UserVoiceQueueRt','upsert','isNil'];(function(_0x4913a0,_0x4cdb6c){var _0x5bc429=function(_0x21ce01){while(--_0x21ce01){_0x4913a0['push'](_0x4913a0['shift']());}};_0x5bc429(++_0x4cdb6c);}(_0xcac5,0x133));var _0x5cac=function(_0xedd760,_0x589ff4){_0xedd760=_0xedd760-0x0;var _0x401d70=_0xcac5[_0xedd760];return _0x401d70;};'use strict';var emlformat=require(_0x5cac('0x0'));var rimraf=require(_0x5cac('0x1'));var zipdir=require(_0x5cac('0x2'));var jsonpatch=require(_0x5cac('0x3'));var rp=require(_0x5cac('0x4'));var moment=require('moment');var BPromise=require(_0x5cac('0x5'));var Mustache=require(_0x5cac('0x6'));var util=require('util');var path=require(_0x5cac('0x7'));var sox=require(_0x5cac('0x8'));var csv=require(_0x5cac('0x9'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x5cac('0xa'));var _=require(_0x5cac('0xb'));var squel=require(_0x5cac('0xc'));var crypto=require(_0x5cac('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x5cac('0xe'));var toCsv=require(_0x5cac('0x9'));var querystring=require(_0x5cac('0xf'));var Papa=require(_0x5cac('0x10'));var Redis=require('ioredis');var authService=require(_0x5cac('0x11'));var qs=require(_0x5cac('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x5cac('0x13'))('api');var utils=require(_0x5cac('0x14'));var config=require('../../config/environment');var licenseUtil=require(_0x5cac('0x15'));var db=require('../../mysqldb')['db'];config[_0x5cac('0x16')]=_['defaults'](config['redis'],{'host':_0x5cac('0x17'),'port':0x18eb});var socket=require(_0x5cac('0x18'))(new Redis(config['redis']));require(_0x5cac('0x19'))['register'](socket);function respondWithStatusCode(_0x4155c9,_0x12e844){_0x12e844=_0x12e844||0xcc;return function(_0x2110fd){if(_0x2110fd){return _0x4155c9[_0x5cac('0x1a')](_0x12e844);}return _0x4155c9[_0x5cac('0x1b')](_0x12e844)[_0x5cac('0x1c')]();};}function respondWithResult(_0xa450b1,_0xc1aa78){_0xc1aa78=_0xc1aa78||0xc8;return function(_0x11d362){if(_0x11d362){return _0xa450b1[_0x5cac('0x1b')](_0xc1aa78)['json'](_0x11d362);}};}function respondWithFilteredResult(_0x2a33ac,_0x4ea03c){return function(_0x41ebc2){if(_0x41ebc2){var _0x5a0e3f=typeof _0x4ea03c[_0x5cac('0x1d')]==='undefined'&&typeof _0x4ea03c[_0x5cac('0x1e')]===_0x5cac('0x1f');var _0x27d7e8=_0x41ebc2[_0x5cac('0x20')];var _0x19d1ac=_0x5a0e3f?0x0:_0x4ea03c[_0x5cac('0x1d')];var _0x7098c9=_0x5a0e3f?_0x41ebc2[_0x5cac('0x20')]:_0x4ea03c[_0x5cac('0x1d')]+_0x4ea03c[_0x5cac('0x1e')];var _0x5cbc70;if(_0x7098c9>=_0x27d7e8){_0x7098c9=_0x27d7e8;_0x5cbc70=0xc8;}else{_0x5cbc70=0xce;}_0x2a33ac[_0x5cac('0x1b')](_0x5cbc70);return _0x2a33ac[_0x5cac('0x21')]('Content-Range',_0x19d1ac+'-'+_0x7098c9+'/'+_0x27d7e8)['json'](_0x41ebc2);}return null;};}function patchUpdates(_0x626b07){return function(_0x475784){try{jsonpatch['apply'](_0x475784,_0x626b07,!![]);}catch(_0x3757ab){return BPromise[_0x5cac('0x22')](_0x3757ab);}return _0x475784[_0x5cac('0x23')]();};}function saveUpdates(_0x2ee014,_0x4db434){return function(_0x57292f){if(_0x57292f){return _0x57292f[_0x5cac('0x24')](_0x2ee014)[_0x5cac('0x25')](function(_0x34c4ad){return _0x34c4ad;});}return null;};}function handleEntityNotFound(_0x133c3c,_0x13c01d){return function(_0x35201a){if(!_0x35201a){_0x133c3c[_0x5cac('0x1a')](0x194);}return _0x35201a;};}function handleError(_0xee7b8e,_0x383eb5){_0x383eb5=_0x383eb5||0x1f4;return function(_0x203b3e){logger[_0x5cac('0x26')](_0x203b3e[_0x5cac('0x27')]);if(_0x203b3e[_0x5cac('0x28')]){delete _0x203b3e[_0x5cac('0x28')];}_0xee7b8e[_0x5cac('0x1b')](_0x383eb5)[_0x5cac('0x29')](_0x203b3e);};}exports[_0x5cac('0x2a')]=function(_0x2f9d23,_0x2dffaf){var _0x1af058={},_0x255bda={},_0x433f79={'count':0x0,'rows':[]};var _0x40ff95=_['map'](db[_0x5cac('0x2b')][_0x5cac('0x2c')],function(_0x231c24){return{'name':_0x231c24[_0x5cac('0x2d')],'type':_0x231c24[_0x5cac('0x2e')][_0x5cac('0x2f')]};});_0x255bda[_0x5cac('0x30')]=_[_0x5cac('0x31')](_0x40ff95,_0x5cac('0x28'));_0x255bda[_0x5cac('0x32')]=_[_0x5cac('0x33')](_0x2f9d23['query']);_0x255bda[_0x5cac('0x34')]=_[_0x5cac('0x35')](_0x255bda[_0x5cac('0x30')],_0x255bda[_0x5cac('0x32')]);_0x1af058['attributes']=_[_0x5cac('0x35')](_0x255bda[_0x5cac('0x30')],qs['fields'](_0x2f9d23[_0x5cac('0x32')]['fields']));_0x1af058[_0x5cac('0x36')]=_0x1af058[_0x5cac('0x36')][_0x5cac('0x37')]?_0x1af058[_0x5cac('0x36')]:_0x255bda[_0x5cac('0x30')];if(!_0x2f9d23[_0x5cac('0x32')][_0x5cac('0x38')](_0x5cac('0x39'))){_0x1af058['limit']=qs['limit'](_0x2f9d23[_0x5cac('0x32')][_0x5cac('0x1e')]);_0x1af058['offset']=qs['offset'](_0x2f9d23[_0x5cac('0x32')]['offset']);}_0x1af058[_0x5cac('0x3a')]=qs[_0x5cac('0x3b')](_0x2f9d23[_0x5cac('0x32')][_0x5cac('0x3b')]);_0x1af058[_0x5cac('0x3c')]=qs[_0x5cac('0x34')](_[_0x5cac('0x3d')](_0x2f9d23[_0x5cac('0x32')],_0x255bda[_0x5cac('0x34')]),_0x40ff95);if(_0x2f9d23[_0x5cac('0x32')][_0x5cac('0x3e')]){_0x1af058[_0x5cac('0x3c')]=_[_0x5cac('0x3f')](_0x1af058[_0x5cac('0x3c')],{'$or':_['map'](_0x40ff95,function(_0x46ed41){if(_0x46ed41['type']!==_0x5cac('0x40')){var _0x29036d={};_0x29036d[_0x46ed41['name']]={'$like':'%'+_0x2f9d23['query'][_0x5cac('0x3e')]+'%'};return _0x29036d;}})});}_0x1af058=_['merge']({},_0x1af058,_0x2f9d23[_0x5cac('0x41')]);var _0x5d2be6={'where':_0x1af058['where']};return db[_0x5cac('0x2b')]['count'](_0x5d2be6)['then'](function(_0x5a1f54){_0x433f79[_0x5cac('0x20')]=_0x5a1f54;if(_0x2f9d23[_0x5cac('0x32')][_0x5cac('0x42')]){_0x1af058[_0x5cac('0x43')]=[{'all':!![]}];}return db['Team']['findAll'](_0x1af058);})[_0x5cac('0x25')](function(_0x42bb6d){_0x433f79[_0x5cac('0x44')]=_0x42bb6d;return _0x433f79;})[_0x5cac('0x25')](respondWithFilteredResult(_0x2dffaf,_0x1af058))[_0x5cac('0x45')](handleError(_0x2dffaf,null));};exports[_0x5cac('0x46')]=function(_0x2eead5,_0x103d49){var _0x11f4ca={'raw':![],'where':{'id':_0x2eead5[_0x5cac('0x47')]['id']}},_0x2f1d2a={};_0x2f1d2a[_0x5cac('0x30')]=_[_0x5cac('0x33')](db[_0x5cac('0x2b')][_0x5cac('0x2c')]);_0x2f1d2a[_0x5cac('0x32')]=_[_0x5cac('0x33')](_0x2eead5[_0x5cac('0x32')]);_0x2f1d2a[_0x5cac('0x34')]=_[_0x5cac('0x35')](_0x2f1d2a[_0x5cac('0x30')],_0x2f1d2a[_0x5cac('0x32')]);_0x11f4ca[_0x5cac('0x36')]=_['intersection'](_0x2f1d2a[_0x5cac('0x30')],qs[_0x5cac('0x48')](_0x2eead5[_0x5cac('0x32')][_0x5cac('0x48')]));_0x11f4ca[_0x5cac('0x36')]=_0x11f4ca[_0x5cac('0x36')][_0x5cac('0x37')]?_0x11f4ca[_0x5cac('0x36')]:_0x2f1d2a[_0x5cac('0x30')];if(_0x2eead5[_0x5cac('0x32')][_0x5cac('0x42')]){_0x11f4ca['include']=[{'all':!![]}];}_0x11f4ca=_[_0x5cac('0x3f')]({},_0x11f4ca,_0x2eead5[_0x5cac('0x41')]);return db['Team'][_0x5cac('0x49')](_0x11f4ca)[_0x5cac('0x25')](handleEntityNotFound(_0x103d49,null))[_0x5cac('0x25')](respondWithResult(_0x103d49,null))[_0x5cac('0x45')](handleError(_0x103d49,null));};exports[_0x5cac('0x4a')]=function(_0x28284d,_0x373e0d){return db['Team']['create'](_0x28284d['body'],{})[_0x5cac('0x25')](function(_0x3bc8f3){var _0xfb3b6f=_0x28284d[_0x5cac('0x4b')]['get']({'plain':!![]});if(!_0xfb3b6f)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0xfb3b6f['role']===_0x5cac('0x4b')){var _0x5569ec=_0x3bc8f3['get']({'plain':!![]});var _0x7c564c=_0x5cac('0x4c');return db[_0x5cac('0x4d')][_0x5cac('0x49')]({'where':{'name':_0x7c564c,'userProfileId':_0xfb3b6f['userProfileId']},'raw':!![]})[_0x5cac('0x25')](function(_0x36ed78){if(_0x36ed78&&_0x36ed78[_0x5cac('0x4e')]===0x0){return db[_0x5cac('0x4f')][_0x5cac('0x4a')]({'name':_0x5569ec[_0x5cac('0x28')],'resourceId':_0x5569ec['id'],'type':_0x36ed78[_0x5cac('0x28')],'sectionId':_0x36ed78['id']},{})['then'](function(){return _0x3bc8f3;});}else{return _0x3bc8f3;}})[_0x5cac('0x45')](function(_0x4a517b){logger[_0x5cac('0x26')](_0x5cac('0x50'),_0x4a517b);throw _0x4a517b;});}return _0x3bc8f3;})[_0x5cac('0x25')](respondWithResult(_0x373e0d,0xc9))[_0x5cac('0x45')](handleError(_0x373e0d,null));};exports['update']=function(_0x202589,_0x3571cc){if(_0x202589[_0x5cac('0x51')]['id']){delete _0x202589[_0x5cac('0x51')]['id'];}return db[_0x5cac('0x2b')][_0x5cac('0x49')]({'where':{'id':_0x202589[_0x5cac('0x47')]['id']}})[_0x5cac('0x25')](handleEntityNotFound(_0x3571cc,null))[_0x5cac('0x25')](saveUpdates(_0x202589[_0x5cac('0x51')],null))[_0x5cac('0x25')](respondWithResult(_0x3571cc,null))[_0x5cac('0x45')](handleError(_0x3571cc,null));};exports['destroy']=function(_0x50554f,_0x1a67f4){var _0x1844e9=_0x50554f[_0x5cac('0x47')]['id'];var _0x5ccef5=[];return db[_0x5cac('0x52')][_0x5cac('0x53')](function(_0x118aef){var _0x1b71a1='SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20'+_0x1844e9;return db[_0x5cac('0x52')]['query'](_0x1b71a1,{'type':db[_0x5cac('0x54')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x118aef})[_0x5cac('0x25')](function(_0x223115){_0x5ccef5=_[_0x5cac('0x31')](_0x223115,function(_0x5dfa9c){return Number(_0x5dfa9c[_0x5cac('0x55')]);});})[_0x5cac('0x25')](function(){var _0x31cf13='SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20'+_0x1844e9;return db[_0x5cac('0x52')]['query'](_0x31cf13,{'type':db[_0x5cac('0x54')][_0x5cac('0x56')][_0x5cac('0x57')],'raw':!![],'transaction':_0x118aef});})[_0x5cac('0x25')](function(_0x4692e6){var _0x2e2b59=_[_0x5cac('0x31')](_0x4692e6,function(_0x131e5f){return Number(_0x131e5f['VoiceQueueId']);});return db[_0x5cac('0x58')][_0x5cac('0x59')]({'where':{'UserId':{'$in':_0x5ccef5},'VoiceQueueId':{'$in':_0x2e2b59}},'transaction':_0x118aef});})[_0x5cac('0x25')](function(){var _0x2f9e69=_0x5cac('0x5a')+_0x1844e9;return db[_0x5cac('0x52')]['query'](_0x2f9e69,{'type':db[_0x5cac('0x54')]['QueryTypes'][_0x5cac('0x57')],'raw':!![],'transaction':_0x118aef});})[_0x5cac('0x25')](function(_0x437531){var _0x5e999a=_[_0x5cac('0x31')](_0x437531,function(_0x163d5d){return Number(_0x163d5d['MailQueueId']);});return db[_0x5cac('0x5b')][_0x5cac('0x59')]({'where':{'UserId':{'$in':_0x5ccef5},'MailQueueId':{'$in':_0x5e999a}},'transaction':_0x118aef});})[_0x5cac('0x25')](function(){var _0x50385f='SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20'+_0x1844e9;return db['sequelize'][_0x5cac('0x32')](_0x50385f,{'type':db[_0x5cac('0x54')][_0x5cac('0x56')][_0x5cac('0x57')],'raw':!![],'transaction':_0x118aef});})[_0x5cac('0x25')](function(_0x1beb23){var _0x1d3f4b=_[_0x5cac('0x31')](_0x1beb23,function(_0x4fd906){return Number(_0x4fd906['SmsQueueId']);});return db[_0x5cac('0x5c')][_0x5cac('0x59')]({'where':{'UserId':{'$in':_0x5ccef5},'SmsQueueId':{'$in':_0x1d3f4b}},'transaction':_0x118aef});})['then'](function(){var _0x379113=_0x5cac('0x5d')+_0x1844e9;return db[_0x5cac('0x52')][_0x5cac('0x32')](_0x379113,{'type':db[_0x5cac('0x54')][_0x5cac('0x56')]['SELECT'],'raw':!![],'transaction':_0x118aef});})['then'](function(_0x1d6a80){var _0x363c57=_['map'](_0x1d6a80,function(_0x2b097a){return Number(_0x2b097a[_0x5cac('0x5e')]);});return db[_0x5cac('0x5f')][_0x5cac('0x59')]({'where':{'UserId':{'$in':_0x5ccef5},'ChatQueueId':{'$in':_0x363c57}},'transaction':_0x118aef});})[_0x5cac('0x25')](function(){var _0x4b09d6=_0x5cac('0x60')+_0x1844e9;return db['sequelize'][_0x5cac('0x32')](_0x4b09d6,{'type':db[_0x5cac('0x54')][_0x5cac('0x56')][_0x5cac('0x57')],'raw':!![],'transaction':_0x118aef});})['then'](function(_0x19a266){var _0x2b16d4=_['map'](_0x19a266,function(_0x198312){return Number(_0x198312[_0x5cac('0x61')]);});return db[_0x5cac('0x62')][_0x5cac('0x59')]({'where':{'UserId':{'$in':_0x5ccef5},'FaxQueueId':{'$in':_0x2b16d4}},'transaction':_0x118aef});})[_0x5cac('0x25')](function(){var _0xbd9f26=_0x5cac('0x63')+_0x1844e9;return db[_0x5cac('0x52')][_0x5cac('0x32')](_0xbd9f26,{'type':db[_0x5cac('0x54')][_0x5cac('0x56')][_0x5cac('0x57')],'raw':!![],'transaction':_0x118aef});})[_0x5cac('0x25')](function(_0x392229){var _0x3329dd=_[_0x5cac('0x31')](_0x392229,function(_0x331221){return Number(_0x331221[_0x5cac('0x64')]);});return db[_0x5cac('0x65')][_0x5cac('0x59')]({'where':{'UserId':{'$in':_0x5ccef5},'OpenchannelQueueId':{'$in':_0x3329dd}},'transaction':_0x118aef});})['then'](function(){var _0x1bf7a6=_0x5cac('0x66')+_0x1844e9;return db['sequelize'][_0x5cac('0x32')](_0x1bf7a6,{'type':db[_0x5cac('0x54')][_0x5cac('0x56')][_0x5cac('0x57')],'raw':!![],'transaction':_0x118aef});})['then'](function(_0x1a42d8){var _0x2bfdab=_['map'](_0x1a42d8,function(_0x308d9c){return Number(_0x308d9c[_0x5cac('0x67')]);});return db['UserWhatsappQueue']['destroy']({'where':{'UserId':{'$in':_0x5ccef5},'WhatsappQueueId':{'$in':_0x2bfdab}},'transaction':_0x118aef});})[_0x5cac('0x25')](function(){return db[_0x5cac('0x68')][_0x5cac('0x49')]({'where':{'TeamId':_0x1844e9}});})[_0x5cac('0x25')](function(_0x39dc0c){if(_0x39dc0c===null){return;}return db[_0x5cac('0x69')][_0x5cac('0x59')]({'where':{'UserId':{'$in':_0x5ccef5},'VoicePrefixId':_0x39dc0c[_0x5cac('0x6a')]},'transaction':_0x118aef});})['then'](function(){return db['Team']['destroy']({'where':{'id':_0x1844e9},'cascade':!![],'transaction':_0x118aef});})[_0x5cac('0x25')](function(_0x52fbfc){if(_0x52fbfc===0x0){_0x1a67f4['sendStatus'](0x194);}else{return db[_0x5cac('0x4f')]['destroy']({'where':{'type':_0x5cac('0x4c'),'resourceId':_0x1844e9},'cascade':!![],'transaction':_0x118aef})[_0x5cac('0x25')](function(){_0x1a67f4[_0x5cac('0x1b')](0xcc)[_0x5cac('0x1c')]();});}})['catch'](function(_0x35ea35){_0x1a67f4[_0x5cac('0x1b')](0x1f4)[_0x5cac('0x29')](_0x35ea35);});});};exports[_0x5cac('0x6b')]=function(_0x1ce6b7,_0x3c96de,_0x35ae9d){return db[_0x5cac('0x2b')]['findOne']({'where':{'id':_0x1ce6b7[_0x5cac('0x47')]['id']}})['then'](handleEntityNotFound(_0x3c96de,null))[_0x5cac('0x25')](function(_0x5baef4){if(!_0x1ce6b7['query']['channel']||!utils[_0x5cac('0x6c')](_0x1ce6b7[_0x5cac('0x32')][_0x5cac('0x6d')])){throw new db[(_0x5cac('0x54'))]['ValidationError'](_0x5cac('0x6e'));}var _0x1d6540={};var _0xe7f01e={};_0xe7f01e[_0x5cac('0x30')]=_['keys'](db[_['capitalize'](_0x1ce6b7[_0x5cac('0x32')][_0x5cac('0x6d')]['toLowerCase']())+'Queue'][_0x5cac('0x2c')]);_0xe7f01e[_0x5cac('0x32')]=_[_0x5cac('0x33')](_0x1ce6b7['query']);_0xe7f01e['filters']=_[_0x5cac('0x35')](_0xe7f01e[_0x5cac('0x30')],_0xe7f01e[_0x5cac('0x32')]);_0x1d6540[_0x5cac('0x36')]=_[_0x5cac('0x35')](_0xe7f01e[_0x5cac('0x30')],qs['fields'](_0x1ce6b7[_0x5cac('0x32')][_0x5cac('0x48')]));_0x1d6540[_0x5cac('0x36')]=_0x1d6540[_0x5cac('0x36')][_0x5cac('0x37')]?_0x1d6540[_0x5cac('0x36')]:_0xe7f01e['model'];_0x1d6540['limit']=qs[_0x5cac('0x1e')](_0x1ce6b7[_0x5cac('0x32')][_0x5cac('0x1e')]);_0x1d6540['offset']=qs[_0x5cac('0x1d')](_0x1ce6b7[_0x5cac('0x32')][_0x5cac('0x1d')]);_0x1d6540[_0x5cac('0x3a')]=qs[_0x5cac('0x3b')](_0x1ce6b7[_0x5cac('0x32')][_0x5cac('0x3b')]);_0x1d6540[_0x5cac('0x3c')]=qs[_0x5cac('0x34')](_['pick'](_0x1ce6b7[_0x5cac('0x32')],_0xe7f01e['filters']));_0x1d6540=_[_0x5cac('0x3f')]({},_0x1d6540,_0x1ce6b7['options']);return _0x5baef4[_0x5cac('0x6f')+_[_0x5cac('0x70')](_0x1ce6b7[_0x5cac('0x32')][_0x5cac('0x6d')][_0x5cac('0x71')]())+_0x5cac('0x72')](_0x1d6540);})[_0x5cac('0x25')](respondWithResult(_0x3c96de,null))['catch'](handleError(_0x3c96de,null));};exports['addQueues']=function(_0x55380c,_0x3efd4f,_0x343991){return db[_0x5cac('0x2b')]['findOne']({'where':{'id':_0x55380c[_0x5cac('0x47')]['id']}})['then'](function(_0x4e1646){if(_0x4e1646){if(!_0x55380c['body']['channel']||!utils[_0x5cac('0x6c')](_0x55380c[_0x5cac('0x51')]['channel'])){throw new db['Sequelize']['ValidationError'](_0x5cac('0x6e'));}return _0x4e1646['add'+_[_0x5cac('0x70')](_0x55380c[_0x5cac('0x51')][_0x5cac('0x6d')]['toLowerCase']())+'Queues'](_0x55380c[_0x5cac('0x51')][_0x5cac('0x73')]);}return null;})['then'](handleEntityNotFound(_0x3efd4f,null))['then'](respondWithStatusCode(_0x3efd4f,null))[_0x5cac('0x45')](handleError(_0x3efd4f,null));};exports[_0x5cac('0x74')]=function(_0x1b402b,_0x59188e,_0x39a710){return db['Team'][_0x5cac('0x75')]({'where':{'id':_0x1b402b['params']['id']}})[_0x5cac('0x25')](function(_0x300cdf){if(_0x300cdf){if(!_0x1b402b[_0x5cac('0x32')][_0x5cac('0x6d')]||!utils[_0x5cac('0x6c')](_0x1b402b[_0x5cac('0x32')]['channel'])){throw new db[(_0x5cac('0x54'))]['ValidationError'](_0x5cac('0x6e'));}return _0x300cdf[_0x5cac('0x76')+_[_0x5cac('0x70')](_0x1b402b['query'][_0x5cac('0x6d')][_0x5cac('0x71')]())+_0x5cac('0x72')](_0x1b402b['query']['ids']);}return null;})[_0x5cac('0x25')](handleEntityNotFound(_0x59188e,null))[_0x5cac('0x25')](respondWithStatusCode(_0x59188e,null))[_0x5cac('0x45')](handleError(_0x59188e,null));};exports[_0x5cac('0x77')]=function(_0x29df13,_0x428109){var _0x278e17=_[_0x5cac('0x78')](_0x29df13[_0x5cac('0x51')][_0x5cac('0x73')])?_0x29df13[_0x5cac('0x51')][_0x5cac('0x73')]:[_0x29df13['body'][_0x5cac('0x73')]];var _0xee81c7=_0x29df13['params']['id'];return db['Team'][_0x5cac('0x49')]({'where':{'id':_0xee81c7}})[_0x5cac('0x25')](handleEntityNotFound(_0x428109,null))['then'](function(_0x2ef028){if(_0x2ef028){var _0x5b9fb5=[_0x5cac('0x79'),_0x5cac('0x7a'),_0x5cac('0x7b'),_0x5cac('0x7c'),_0x5cac('0x7d'),_0x5cac('0x7e'),'Whatsapp'];return db[_0x5cac('0x52')]['transaction'](function(_0x321729){var _0x4cf5f1=_[_0x5cac('0x31')](_0x5b9fb5,function(_0x119e8f){var _0x48e660={'attributes':['id',_0x5cac('0x28')]};if(_0x119e8f===_0x5cac('0x79')){_0x48e660[_0x5cac('0x7f')]={'attributes':[_0x5cac('0x80')]};}return _0x2ef028['get'+_0x119e8f+_0x5cac('0x72')](_0x48e660)[_0x5cac('0x25')](function(_0x5b2f66){var _0x5046b0=_['map'](_0x5b2f66,function(_0x258255){var _0x408624=_[_0x5cac('0x31')](_0x278e17,function(_0x123323){var _0x359198={'where':{'UserId':_0x123323,[_0x119e8f+_0x5cac('0x81')]:_0x258255['id']},'transaction':_0x321729};if(_0x119e8f===_0x5cac('0x79')){_0x359198[_0x5cac('0x82')]={'penalty':_0x258255[_0x5cac('0x83')][_0x5cac('0x80')]};}return db[_0x5cac('0x84')+_0x119e8f+_0x5cac('0x85')][_0x5cac('0x86')](_0x359198)[_0x5cac('0x25')](function(){socket['emit'](_0x5cac('0x4b')+_0x119e8f+_0x5cac('0x87'),{'UserId':_0x123323,[_0x119e8f+_0x5cac('0x81')]:_0x258255['id']});if(_0x119e8f!==_0x5cac('0x79')){return;}return db['User'][_0x5cac('0x88')]({'where':{'id':_0x278e17,'online':0x1},'attributes':['id',_0x5cac('0x28'),_0x5cac('0x89'),_0x5cac('0x8a'),_0x5cac('0x8b')],'raw':!![]})[_0x5cac('0x25')](function(_0x498834){var _0x14b9e8=_[_0x5cac('0x31')](_0x498834,function(_0x5a1562){return db[_0x5cac('0x8c')][_0x5cac('0x8d')]({'membername':_0x5a1562['name'],'UserId':_0x5a1562['id'],'queue_name':_0x258255[_0x5cac('0x28')],'VoiceQueueId':_0x258255['id'],'interface':_[_0x5cac('0x8e')](_0x5a1562['interface'])?util[_0x5cac('0x8f')](_0x5cac('0x90'),_0x5a1562[_0x5cac('0x28')]):_0x5a1562[_0x5cac('0x8b')],'paused':_0x5a1562[_0x5cac('0x8a')]||![],'penalty':_0x258255[_0x5cac('0x83')]['penalty']},{'transaction':_0x321729});});return Promise[_0x5cac('0x91')](_0x14b9e8);});});});return Promise[_0x5cac('0x91')](_0x408624);});return Promise[_0x5cac('0x91')](_0x5046b0);})[_0x5cac('0x25')](function(){return db[_0x5cac('0x68')][_0x5cac('0x75')]({'where':{'teamId':_0xee81c7}})[_0x5cac('0x25')](function(_0x373f82){if(_0x373f82){var _0x20ab29=_[_0x5cac('0x31')](_0x278e17,function(_0x2e4f7c){db['UserVoicePrefix'][_0x5cac('0x8d')]({'UserId':_0x2e4f7c,'VoicePrefixId':_0x373f82[_0x5cac('0x6a')]});});return Promise['all'](_0x20ab29);}});});});return Promise[_0x5cac('0x91')](_0x4cf5f1)['then'](function(){return _0x2ef028[_0x5cac('0x77')](_0x278e17,{'transaction':_0x321729})['spread'](function(_0x655d56){return _0x655d56;});});});}})['then'](respondWithResult(_0x428109,null))[_0x5cac('0x45')](handleError(_0x428109,null));};exports[_0x5cac('0x92')]=function(_0x5a9e04,_0x209e7f){var _0x2664ba=_['isArray'](_0x5a9e04[_0x5cac('0x32')][_0x5cac('0x73')])?_0x5a9e04[_0x5cac('0x32')]['ids']:[_0x5a9e04[_0x5cac('0x32')]['ids']];var _0x5a554d=_0x5a9e04[_0x5cac('0x47')]['id'];return db[_0x5cac('0x2b')][_0x5cac('0x49')]({'where':{'id':_0x5a554d}})[_0x5cac('0x25')](handleEntityNotFound(_0x209e7f,null))['then'](function(_0x69666){if(_0x69666){var _0x4e2915=['Voice',_0x5cac('0x7a'),'Mail',_0x5cac('0x7c'),_0x5cac('0x7d'),_0x5cac('0x7e'),'Whatsapp'];return db['sequelize'][_0x5cac('0x53')](function(_0x3a4a82){var _0x1eeedf=_[_0x5cac('0x31')](_0x4e2915,function(_0x352703){var _0x5e5e10={'attributes':['id',_0x5cac('0x28')]};return _0x69666[_0x5cac('0x6f')+_0x352703+_0x5cac('0x72')](_0x5e5e10)[_0x5cac('0x25')](function(_0x3ddc60){var _0x1cc6be=_[_0x5cac('0x31')](_0x3ddc60,function(_0x274154){return _0x274154[_0x5cac('0x92')](_0x2664ba,{'transaction':_0x3a4a82})[_0x5cac('0x25')](function(){var _0x2e0ee0=_[_0x5cac('0x31')](_0x2664ba,function(_0x121775){socket[_0x5cac('0x93')]('user'+_0x352703+_0x5cac('0x94'),{'UserId':Number(_0x121775),[_0x352703+'QueueId']:_0x274154['id']});if(_0x352703!==_0x5cac('0x79')){return;}return db[_0x5cac('0x8c')]['destroy']({'where':{'VoiceQueueId':_0x274154['id'],'UserId':_0x121775},'transaction':_0x3a4a82});});return Promise['all'](_0x2e0ee0);});});return Promise[_0x5cac('0x91')](_0x1cc6be);});});return Promise['all'](_0x1eeedf)[_0x5cac('0x25')](function(){return _0x69666[_0x5cac('0x92')](_0x2664ba,{'transaction':_0x3a4a82});})[_0x5cac('0x25')](function(){return db[_0x5cac('0x68')][_0x5cac('0x75')]({'where':{'teamId':_0x5a554d}})[_0x5cac('0x25')](function(_0xe20bcb){if(_0xe20bcb){var _0xb98be=_[_0x5cac('0x31')](_0x2664ba,function(_0x4bfa20){db['UserVoicePrefix']['destroy']({'where':{'UserId':_0x4bfa20,'VoicePrefixId':_0xe20bcb[_0x5cac('0x6a')]}});});return Promise[_0x5cac('0x91')](_0xb98be);}});});});}})[_0x5cac('0x25')](respondWithStatusCode(_0x209e7f,null))[_0x5cac('0x45')](handleError(_0x209e7f,null));};exports['getAgents']=function(_0x760ca6,_0x5ac5ac,_0x43ae9d){var _0x452883={};var _0x52f06c={};var _0x2a02b2;var _0x3c812f;return db[_0x5cac('0x2b')][_0x5cac('0x75')]({'where':{'id':_0x760ca6[_0x5cac('0x47')]['id']}})[_0x5cac('0x25')](handleEntityNotFound(_0x5ac5ac,null))[_0x5cac('0x25')](function(_0x4be4d7){if(_0x4be4d7){_0x2a02b2=_0x4be4d7;_0x52f06c[_0x5cac('0x30')]=_['keys'](db['User'][_0x5cac('0x2c')]);_0x52f06c[_0x5cac('0x32')]=_[_0x5cac('0x33')](_0x760ca6[_0x5cac('0x32')]);_0x52f06c[_0x5cac('0x34')]=_[_0x5cac('0x35')](_0x52f06c[_0x5cac('0x30')],_0x52f06c[_0x5cac('0x32')]);_0x452883[_0x5cac('0x36')]=_[_0x5cac('0x35')](_0x52f06c[_0x5cac('0x30')],qs[_0x5cac('0x48')](_0x760ca6[_0x5cac('0x32')]['fields']));_0x452883[_0x5cac('0x36')]=_0x452883[_0x5cac('0x36')][_0x5cac('0x37')]?_0x452883[_0x5cac('0x36')]:_0x52f06c[_0x5cac('0x30')];_0x452883[_0x5cac('0x3a')]=qs[_0x5cac('0x3b')](_0x760ca6[_0x5cac('0x32')][_0x5cac('0x3b')]);_0x452883['where']=qs[_0x5cac('0x34')](_[_0x5cac('0x3d')](_0x760ca6['query'],_0x52f06c[_0x5cac('0x34')]));if(_0x760ca6[_0x5cac('0x32')]['filter']){_0x452883[_0x5cac('0x3c')]=_['merge'](_0x452883['where'],{'$or':_[_0x5cac('0x31')](_0x452883[_0x5cac('0x36')],function(_0x35757b){var _0xa5ee92={};_0xa5ee92[_0x35757b]={'$like':'%'+_0x760ca6[_0x5cac('0x32')][_0x5cac('0x3e')]+'%'};return _0xa5ee92;})});}_0x452883=_[_0x5cac('0x3f')]({},_0x452883,_0x760ca6[_0x5cac('0x41')]);return _0x2a02b2[_0x5cac('0x95')](_0x452883);}})['then'](function(_0x26bf1f){if(_0x26bf1f){_0x3c812f=_0x26bf1f[_0x5cac('0x37')];if(!_0x760ca6[_0x5cac('0x32')]['hasOwnProperty']('nolimit')){_0x452883[_0x5cac('0x1e')]=qs['limit'](_0x760ca6[_0x5cac('0x32')][_0x5cac('0x1e')]);_0x452883[_0x5cac('0x1d')]=qs[_0x5cac('0x1d')](_0x760ca6['query'][_0x5cac('0x1d')]);}return _0x2a02b2[_0x5cac('0x95')](_0x452883);}})['then'](function(_0x105c6b){if(_0x105c6b){return _0x105c6b?{'count':_0x3c812f,'rows':_0x105c6b}:null;}})[_0x5cac('0x25')](respondWithResult(_0x5ac5ac,null))[_0x5cac('0x45')](handleError(_0x5ac5ac,null));};