Built motion from commit e6806ed6.|2.6.0
[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 _0xca3e=['emit','getAgents','filter','rimraf','moment','bluebird','mustache','util','path','sox','to-csv','ejs','squel','crypto','jsforce','desk.js','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./team.socket','register','sendStatus','status','end','json','undefined','limit','offset','count','set','apply','reject','save','update','then','stack','name','send','index','map','Team','type','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','rawAttributes','options','find','create','body','user','get','Teams','UserProfileSection','userProfileId','UserProfileResource','error','destroy','sequelize','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','UserId','QueryTypes','SELECT','UserVoiceQueue','MailQueueId','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','ChatQueueId','UserChatQueue','FaxQueueId','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','getQueues','findOne','isValidChannel','channel','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','Queues','add','ids','removeQueues','remove','addAgents','Voice','Chat','Mail','Sms','Openchannel','Whatsapp','transaction','through','penalty','QueueId','TeamVoiceQueue','User','findOrCreate','Queue:save','online','UserVoiceQueueRt','upsert','isNil','interface','format','SIP/%s','all','VoicePrefixId','spread','removeAgents','isArray','Fax'];(function(_0x5b561d,_0x422b7c){var _0x431060=function(_0x401409){while(--_0x401409){_0x5b561d['push'](_0x5b561d['shift']());}};_0x431060(++_0x422b7c);}(_0xca3e,0x133));var _0xeca3=function(_0x2dafbe,_0x5d04de){_0x2dafbe=_0x2dafbe-0x0;var _0x58a45a=_0xca3e[_0x2dafbe];return _0x58a45a;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xeca3('0x0'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xeca3('0x1'));var BPromise=require(_0xeca3('0x2'));var Mustache=require(_0xeca3('0x3'));var util=require(_0xeca3('0x4'));var path=require(_0xeca3('0x5'));var sox=require(_0xeca3('0x6'));var csv=require(_0xeca3('0x7'));var ejs=require(_0xeca3('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require('lodash');var squel=require(_0xeca3('0x9'));var crypto=require(_0xeca3('0xa'));var jsforce=require(_0xeca3('0xb'));var deskjs=require(_0xeca3('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require('papaparse');var Redis=require(_0xeca3('0xd'));var authService=require(_0xeca3('0xe'));var qs=require('../../components/parsers/qs');var as=require(_0xeca3('0xf'));var hardwareService=require(_0xeca3('0x10'));var logger=require(_0xeca3('0x11'))(_0xeca3('0x12'));var utils=require(_0xeca3('0x13'));var config=require(_0xeca3('0x14'));var licenseUtil=require('../../config/license/util');var db=require(_0xeca3('0x15'))['db'];config['redis']=_[_0xeca3('0x16')](config[_0xeca3('0x17')],{'host':_0xeca3('0x18'),'port':0x18eb});var socket=require(_0xeca3('0x19'))(new Redis(config['redis']));require(_0xeca3('0x1a'))[_0xeca3('0x1b')](socket);function respondWithStatusCode(_0xf96d34,_0x4856c1){_0x4856c1=_0x4856c1||0xcc;return function(_0x911107){if(_0x911107){return _0xf96d34[_0xeca3('0x1c')](_0x4856c1);}return _0xf96d34[_0xeca3('0x1d')](_0x4856c1)[_0xeca3('0x1e')]();};}function respondWithResult(_0x5dd2d0,_0x259751){_0x259751=_0x259751||0xc8;return function(_0x5dd0fc){if(_0x5dd0fc){return _0x5dd2d0[_0xeca3('0x1d')](_0x259751)[_0xeca3('0x1f')](_0x5dd0fc);}};}function respondWithFilteredResult(_0x46f3a7,_0x2bde3a){return function(_0x457377){if(_0x457377){var _0x5e7f98=typeof _0x2bde3a['offset']===_0xeca3('0x20')&&typeof _0x2bde3a[_0xeca3('0x21')]===_0xeca3('0x20');var _0x55e95d=_0x457377['count'];var _0x3574dc=_0x5e7f98?0x0:_0x2bde3a[_0xeca3('0x22')];var _0x2cf216=_0x5e7f98?_0x457377[_0xeca3('0x23')]:_0x2bde3a['offset']+_0x2bde3a[_0xeca3('0x21')];var _0x48edfd;if(_0x2cf216>=_0x55e95d){_0x2cf216=_0x55e95d;_0x48edfd=0xc8;}else{_0x48edfd=0xce;}_0x46f3a7['status'](_0x48edfd);return _0x46f3a7[_0xeca3('0x24')]('Content-Range',_0x3574dc+'-'+_0x2cf216+'/'+_0x55e95d)['json'](_0x457377);}return null;};}function patchUpdates(_0x587a9b){return function(_0x328a0a){try{jsonpatch[_0xeca3('0x25')](_0x328a0a,_0x587a9b,!![]);}catch(_0x56323d){return BPromise[_0xeca3('0x26')](_0x56323d);}return _0x328a0a[_0xeca3('0x27')]();};}function saveUpdates(_0x598315,_0x129d50){return function(_0x23e0c2){if(_0x23e0c2){return _0x23e0c2[_0xeca3('0x28')](_0x598315)[_0xeca3('0x29')](function(_0x158b4b){return _0x158b4b;});}return null;};}function handleEntityNotFound(_0x3bb303,_0x4ccbc9){return function(_0x32d391){if(!_0x32d391){_0x3bb303[_0xeca3('0x1c')](0x194);}return _0x32d391;};}function handleError(_0x5419f7,_0x395882){_0x395882=_0x395882||0x1f4;return function(_0x25a838){logger['error'](_0x25a838[_0xeca3('0x2a')]);if(_0x25a838[_0xeca3('0x2b')]){delete _0x25a838['name'];}_0x5419f7[_0xeca3('0x1d')](_0x395882)[_0xeca3('0x2c')](_0x25a838);};}exports[_0xeca3('0x2d')]=function(_0x5515f9,_0x30358e){var _0x2017ca={},_0x3f6443={},_0xdbdeb1={'count':0x0,'rows':[]};var _0x1d984f=_[_0xeca3('0x2e')](db[_0xeca3('0x2f')]['rawAttributes'],function(_0x49817b){return{'name':_0x49817b['fieldName'],'type':_0x49817b[_0xeca3('0x30')]['key']};});_0x3f6443[_0xeca3('0x31')]=_['map'](_0x1d984f,'name');_0x3f6443[_0xeca3('0x32')]=_[_0xeca3('0x33')](_0x5515f9['query']);_0x3f6443[_0xeca3('0x34')]=_['intersection'](_0x3f6443[_0xeca3('0x31')],_0x3f6443[_0xeca3('0x32')]);_0x2017ca[_0xeca3('0x35')]=_[_0xeca3('0x36')](_0x3f6443[_0xeca3('0x31')],qs[_0xeca3('0x37')](_0x5515f9[_0xeca3('0x32')][_0xeca3('0x37')]));_0x2017ca[_0xeca3('0x35')]=_0x2017ca['attributes'][_0xeca3('0x38')]?_0x2017ca[_0xeca3('0x35')]:_0x3f6443[_0xeca3('0x31')];if(!_0x5515f9[_0xeca3('0x32')][_0xeca3('0x39')](_0xeca3('0x3a'))){_0x2017ca['limit']=qs['limit'](_0x5515f9[_0xeca3('0x32')]['limit']);_0x2017ca['offset']=qs[_0xeca3('0x22')](_0x5515f9['query'][_0xeca3('0x22')]);}_0x2017ca[_0xeca3('0x3b')]=qs[_0xeca3('0x3c')](_0x5515f9['query'][_0xeca3('0x3c')]);_0x2017ca[_0xeca3('0x3d')]=qs[_0xeca3('0x34')](_[_0xeca3('0x3e')](_0x5515f9['query'],_0x3f6443[_0xeca3('0x34')]),_0x1d984f);if(_0x5515f9['query']['filter']){_0x2017ca[_0xeca3('0x3d')]=_[_0xeca3('0x3f')](_0x2017ca[_0xeca3('0x3d')],{'$or':_[_0xeca3('0x2e')](_0x1d984f,function(_0x2d4e91){if(_0x2d4e91[_0xeca3('0x30')]!==_0xeca3('0x40')){var _0x489bf2={};_0x489bf2[_0x2d4e91['name']]={'$like':'%'+_0x5515f9['query']['filter']+'%'};return _0x489bf2;}})});}_0x2017ca=_[_0xeca3('0x3f')]({},_0x2017ca,_0x5515f9['options']);var _0x4c8a90={'where':_0x2017ca[_0xeca3('0x3d')]};return db[_0xeca3('0x2f')][_0xeca3('0x23')](_0x4c8a90)['then'](function(_0x356b83){_0xdbdeb1[_0xeca3('0x23')]=_0x356b83;if(_0x5515f9[_0xeca3('0x32')][_0xeca3('0x41')]){_0x2017ca[_0xeca3('0x42')]=[{'all':!![]}];}return db[_0xeca3('0x2f')][_0xeca3('0x43')](_0x2017ca);})[_0xeca3('0x29')](function(_0x6495e3){_0xdbdeb1[_0xeca3('0x44')]=_0x6495e3;return _0xdbdeb1;})[_0xeca3('0x29')](respondWithFilteredResult(_0x30358e,_0x2017ca))[_0xeca3('0x45')](handleError(_0x30358e,null));};exports[_0xeca3('0x46')]=function(_0x593dc7,_0x3be1ce){var _0xad4d12={'raw':![],'where':{'id':_0x593dc7[_0xeca3('0x47')]['id']}},_0x4e8b71={};_0x4e8b71[_0xeca3('0x31')]=_[_0xeca3('0x33')](db[_0xeca3('0x2f')][_0xeca3('0x48')]);_0x4e8b71[_0xeca3('0x32')]=_[_0xeca3('0x33')](_0x593dc7['query']);_0x4e8b71[_0xeca3('0x34')]=_[_0xeca3('0x36')](_0x4e8b71[_0xeca3('0x31')],_0x4e8b71[_0xeca3('0x32')]);_0xad4d12[_0xeca3('0x35')]=_['intersection'](_0x4e8b71['model'],qs[_0xeca3('0x37')](_0x593dc7[_0xeca3('0x32')][_0xeca3('0x37')]));_0xad4d12[_0xeca3('0x35')]=_0xad4d12[_0xeca3('0x35')][_0xeca3('0x38')]?_0xad4d12[_0xeca3('0x35')]:_0x4e8b71[_0xeca3('0x31')];if(_0x593dc7[_0xeca3('0x32')][_0xeca3('0x41')]){_0xad4d12[_0xeca3('0x42')]=[{'all':!![]}];}_0xad4d12=_['merge']({},_0xad4d12,_0x593dc7[_0xeca3('0x49')]);return db[_0xeca3('0x2f')][_0xeca3('0x4a')](_0xad4d12)['then'](handleEntityNotFound(_0x3be1ce,null))[_0xeca3('0x29')](respondWithResult(_0x3be1ce,null))['catch'](handleError(_0x3be1ce,null));};exports['create']=function(_0x60c3bf,_0x2304c8){return db[_0xeca3('0x2f')][_0xeca3('0x4b')](_0x60c3bf[_0xeca3('0x4c')],{})[_0xeca3('0x29')](function(_0x30cfd6){var _0x3c4446=_0x60c3bf['user']['get']({'plain':!![]});if(!_0x3c4446)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3c4446['role']===_0xeca3('0x4d')){var _0x1d523a=_0x30cfd6[_0xeca3('0x4e')]({'plain':!![]});var _0x23b013=_0xeca3('0x4f');return db[_0xeca3('0x50')]['find']({'where':{'name':_0x23b013,'userProfileId':_0x3c4446[_0xeca3('0x51')]},'raw':!![]})[_0xeca3('0x29')](function(_0x111ca8){if(_0x111ca8&&_0x111ca8['autoAssociation']===0x0){return db[_0xeca3('0x52')][_0xeca3('0x4b')]({'name':_0x1d523a[_0xeca3('0x2b')],'resourceId':_0x1d523a['id'],'type':_0x111ca8[_0xeca3('0x2b')],'sectionId':_0x111ca8['id']},{})['then'](function(){return _0x30cfd6;});}else{return _0x30cfd6;}})[_0xeca3('0x45')](function(_0x348480){logger[_0xeca3('0x53')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x348480);throw _0x348480;});}return _0x30cfd6;})[_0xeca3('0x29')](respondWithResult(_0x2304c8,0xc9))['catch'](handleError(_0x2304c8,null));};exports[_0xeca3('0x28')]=function(_0xafc90b,_0x9632d0){if(_0xafc90b[_0xeca3('0x4c')]['id']){delete _0xafc90b[_0xeca3('0x4c')]['id'];}return db[_0xeca3('0x2f')][_0xeca3('0x4a')]({'where':{'id':_0xafc90b[_0xeca3('0x47')]['id']}})[_0xeca3('0x29')](handleEntityNotFound(_0x9632d0,null))[_0xeca3('0x29')](saveUpdates(_0xafc90b[_0xeca3('0x4c')],null))[_0xeca3('0x29')](respondWithResult(_0x9632d0,null))[_0xeca3('0x45')](handleError(_0x9632d0,null));};exports[_0xeca3('0x54')]=function(_0xd30da1,_0x5e0740){var _0x259775=_0xd30da1[_0xeca3('0x47')]['id'];var _0x8bc14b=[];return db[_0xeca3('0x55')]['transaction'](function(_0x38d80b){var _0xa0cb40=_0xeca3('0x56')+_0x259775;return db[_0xeca3('0x55')][_0xeca3('0x32')](_0xa0cb40,{'type':db[_0xeca3('0x57')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x38d80b})[_0xeca3('0x29')](function(_0x3729a3){_0x8bc14b=_[_0xeca3('0x2e')](_0x3729a3,function(_0x3018c1){return Number(_0x3018c1[_0xeca3('0x58')]);});})[_0xeca3('0x29')](function(){var _0x5b0f22='SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20'+_0x259775;return db[_0xeca3('0x55')]['query'](_0x5b0f22,{'type':db[_0xeca3('0x57')][_0xeca3('0x59')][_0xeca3('0x5a')],'raw':!![],'transaction':_0x38d80b});})[_0xeca3('0x29')](function(_0x4686a1){var _0x30d2c1=_[_0xeca3('0x2e')](_0x4686a1,function(_0x3aa789){return Number(_0x3aa789['VoiceQueueId']);});return db[_0xeca3('0x5b')][_0xeca3('0x54')]({'where':{'UserId':{'$in':_0x8bc14b},'VoiceQueueId':{'$in':_0x30d2c1}},'transaction':_0x38d80b});})[_0xeca3('0x29')](function(){var _0xb3df1d='SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20'+_0x259775;return db[_0xeca3('0x55')]['query'](_0xb3df1d,{'type':db[_0xeca3('0x57')][_0xeca3('0x59')]['SELECT'],'raw':!![],'transaction':_0x38d80b});})[_0xeca3('0x29')](function(_0x3f7016){var _0x294c80=_['map'](_0x3f7016,function(_0x2eaff3){return Number(_0x2eaff3[_0xeca3('0x5c')]);});return db[_0xeca3('0x5d')]['destroy']({'where':{'UserId':{'$in':_0x8bc14b},'MailQueueId':{'$in':_0x294c80}},'transaction':_0x38d80b});})[_0xeca3('0x29')](function(){var _0x31866e=_0xeca3('0x5e')+_0x259775;return db[_0xeca3('0x55')][_0xeca3('0x32')](_0x31866e,{'type':db['Sequelize'][_0xeca3('0x59')][_0xeca3('0x5a')],'raw':!![],'transaction':_0x38d80b});})[_0xeca3('0x29')](function(_0xce9cfb){var _0x5821f2=_[_0xeca3('0x2e')](_0xce9cfb,function(_0x2ec355){return Number(_0x2ec355[_0xeca3('0x5f')]);});return db[_0xeca3('0x60')][_0xeca3('0x54')]({'where':{'UserId':{'$in':_0x8bc14b},'SmsQueueId':{'$in':_0x5821f2}},'transaction':_0x38d80b});})[_0xeca3('0x29')](function(){var _0x2aa23a='SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20'+_0x259775;return db[_0xeca3('0x55')][_0xeca3('0x32')](_0x2aa23a,{'type':db[_0xeca3('0x57')][_0xeca3('0x59')]['SELECT'],'raw':!![],'transaction':_0x38d80b});})['then'](function(_0x207e77){var _0x44992a=_[_0xeca3('0x2e')](_0x207e77,function(_0x43f554){return Number(_0x43f554[_0xeca3('0x61')]);});return db[_0xeca3('0x62')]['destroy']({'where':{'UserId':{'$in':_0x8bc14b},'ChatQueueId':{'$in':_0x44992a}},'transaction':_0x38d80b});})[_0xeca3('0x29')](function(){var _0x56f1ef='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0x259775;return db[_0xeca3('0x55')][_0xeca3('0x32')](_0x56f1ef,{'type':db['Sequelize'][_0xeca3('0x59')][_0xeca3('0x5a')],'raw':!![],'transaction':_0x38d80b});})[_0xeca3('0x29')](function(_0x4cd93c){var _0x60b7e0=_[_0xeca3('0x2e')](_0x4cd93c,function(_0x25bbae){return Number(_0x25bbae[_0xeca3('0x63')]);});return db['UserFaxQueue']['destroy']({'where':{'UserId':{'$in':_0x8bc14b},'FaxQueueId':{'$in':_0x60b7e0}},'transaction':_0x38d80b});})['then'](function(){var _0x14cb87=_0xeca3('0x64')+_0x259775;return db[_0xeca3('0x55')]['query'](_0x14cb87,{'type':db[_0xeca3('0x57')][_0xeca3('0x59')][_0xeca3('0x5a')],'raw':!![],'transaction':_0x38d80b});})[_0xeca3('0x29')](function(_0x1c5db7){var _0x5ed313=_[_0xeca3('0x2e')](_0x1c5db7,function(_0x5564e0){return Number(_0x5564e0[_0xeca3('0x65')]);});return db[_0xeca3('0x66')][_0xeca3('0x54')]({'where':{'UserId':{'$in':_0x8bc14b},'OpenchannelQueueId':{'$in':_0x5ed313}},'transaction':_0x38d80b});})[_0xeca3('0x29')](function(){var _0x2102db=_0xeca3('0x67')+_0x259775;return db[_0xeca3('0x55')][_0xeca3('0x32')](_0x2102db,{'type':db[_0xeca3('0x57')][_0xeca3('0x59')][_0xeca3('0x5a')],'raw':!![],'transaction':_0x38d80b});})[_0xeca3('0x29')](function(_0x3a1a91){var _0xbe6470=_[_0xeca3('0x2e')](_0x3a1a91,function(_0x4bcbcb){return Number(_0x4bcbcb[_0xeca3('0x68')]);});return db['UserWhatsappQueue']['destroy']({'where':{'UserId':{'$in':_0x8bc14b},'WhatsappQueueId':{'$in':_0xbe6470}},'transaction':_0x38d80b});})[_0xeca3('0x29')](function(){return db[_0xeca3('0x69')][_0xeca3('0x4a')]({'where':{'TeamId':_0x259775}});})[_0xeca3('0x29')](function(_0x5238f1){if(_0x5238f1===null){return;}return db[_0xeca3('0x6a')]['destroy']({'where':{'UserId':{'$in':_0x8bc14b},'VoicePrefixId':_0x5238f1['VoicePrefixId']},'transaction':_0x38d80b});})[_0xeca3('0x29')](function(){return db[_0xeca3('0x2f')]['destroy']({'where':{'id':_0x259775},'cascade':!![],'transaction':_0x38d80b});})[_0xeca3('0x29')](function(_0x5c76d1){if(_0x5c76d1===0x0){_0x5e0740[_0xeca3('0x1c')](0x194);}else{return db[_0xeca3('0x52')]['destroy']({'where':{'type':_0xeca3('0x4f'),'resourceId':_0x259775},'cascade':!![],'transaction':_0x38d80b})[_0xeca3('0x29')](function(){_0x5e0740[_0xeca3('0x1d')](0xcc)[_0xeca3('0x1e')]();});}})[_0xeca3('0x45')](function(_0x10b0cf){_0x5e0740[_0xeca3('0x1d')](0x1f4)[_0xeca3('0x2c')](_0x10b0cf);});});};exports[_0xeca3('0x6b')]=function(_0x3a6c7c,_0x1e5b88,_0x479f9b){return db[_0xeca3('0x2f')][_0xeca3('0x6c')]({'where':{'id':_0x3a6c7c[_0xeca3('0x47')]['id']}})[_0xeca3('0x29')](handleEntityNotFound(_0x1e5b88,null))[_0xeca3('0x29')](function(_0x33ff03){if(!_0x3a6c7c[_0xeca3('0x32')]['channel']||!utils[_0xeca3('0x6d')](_0x3a6c7c[_0xeca3('0x32')][_0xeca3('0x6e')])){throw new db['Sequelize'][(_0xeca3('0x6f'))](_0xeca3('0x70'));}var _0x237ffe={};var _0x542c82={};_0x542c82['model']=_['keys'](db[_[_0xeca3('0x71')](_0x3a6c7c[_0xeca3('0x32')]['channel'][_0xeca3('0x72')]())+_0xeca3('0x73')][_0xeca3('0x48')]);_0x542c82[_0xeca3('0x32')]=_['keys'](_0x3a6c7c[_0xeca3('0x32')]);_0x542c82[_0xeca3('0x34')]=_['intersection'](_0x542c82[_0xeca3('0x31')],_0x542c82[_0xeca3('0x32')]);_0x237ffe[_0xeca3('0x35')]=_[_0xeca3('0x36')](_0x542c82['model'],qs[_0xeca3('0x37')](_0x3a6c7c['query']['fields']));_0x237ffe[_0xeca3('0x35')]=_0x237ffe[_0xeca3('0x35')][_0xeca3('0x38')]?_0x237ffe[_0xeca3('0x35')]:_0x542c82[_0xeca3('0x31')];_0x237ffe['limit']=qs['limit'](_0x3a6c7c[_0xeca3('0x32')][_0xeca3('0x21')]);_0x237ffe['offset']=qs[_0xeca3('0x22')](_0x3a6c7c['query']['offset']);_0x237ffe[_0xeca3('0x3b')]=qs[_0xeca3('0x3c')](_0x3a6c7c[_0xeca3('0x32')][_0xeca3('0x3c')]);_0x237ffe[_0xeca3('0x3d')]=qs[_0xeca3('0x34')](_[_0xeca3('0x3e')](_0x3a6c7c['query'],_0x542c82['filters']));_0x237ffe=_[_0xeca3('0x3f')]({},_0x237ffe,_0x3a6c7c[_0xeca3('0x49')]);return _0x33ff03[_0xeca3('0x4e')+_[_0xeca3('0x71')](_0x3a6c7c[_0xeca3('0x32')][_0xeca3('0x6e')][_0xeca3('0x72')]())+_0xeca3('0x74')](_0x237ffe);})['then'](respondWithResult(_0x1e5b88,null))[_0xeca3('0x45')](handleError(_0x1e5b88,null));};exports['addQueues']=function(_0xe3c005,_0x465da4,_0x35dba6){return db[_0xeca3('0x2f')][_0xeca3('0x6c')]({'where':{'id':_0xe3c005[_0xeca3('0x47')]['id']}})[_0xeca3('0x29')](function(_0x2d9433){if(_0x2d9433){if(!_0xe3c005['body'][_0xeca3('0x6e')]||!utils['isValidChannel'](_0xe3c005[_0xeca3('0x4c')][_0xeca3('0x6e')])){throw new db[(_0xeca3('0x57'))][(_0xeca3('0x6f'))]('Unknown\x20channel');}return _0x2d9433[_0xeca3('0x75')+_[_0xeca3('0x71')](_0xe3c005[_0xeca3('0x4c')]['channel'][_0xeca3('0x72')]())+_0xeca3('0x74')](_0xe3c005[_0xeca3('0x4c')][_0xeca3('0x76')]);}return null;})['then'](handleEntityNotFound(_0x465da4,null))[_0xeca3('0x29')](respondWithStatusCode(_0x465da4,null))[_0xeca3('0x45')](handleError(_0x465da4,null));};exports[_0xeca3('0x77')]=function(_0x1bffc7,_0x16c54a,_0x2562cc){return db[_0xeca3('0x2f')][_0xeca3('0x6c')]({'where':{'id':_0x1bffc7['params']['id']}})[_0xeca3('0x29')](function(_0x3f0818){if(_0x3f0818){if(!_0x1bffc7['query'][_0xeca3('0x6e')]||!utils[_0xeca3('0x6d')](_0x1bffc7['query'][_0xeca3('0x6e')])){throw new db[(_0xeca3('0x57'))][(_0xeca3('0x6f'))](_0xeca3('0x70'));}return _0x3f0818[_0xeca3('0x78')+_[_0xeca3('0x71')](_0x1bffc7['query'][_0xeca3('0x6e')]['toLowerCase']())+_0xeca3('0x74')](_0x1bffc7[_0xeca3('0x32')][_0xeca3('0x76')]);}return null;})[_0xeca3('0x29')](handleEntityNotFound(_0x16c54a,null))[_0xeca3('0x29')](respondWithStatusCode(_0x16c54a,null))[_0xeca3('0x45')](handleError(_0x16c54a,null));};exports[_0xeca3('0x79')]=function(_0x40bf69,_0x536337){var _0x37b05c=_['isArray'](_0x40bf69[_0xeca3('0x4c')][_0xeca3('0x76')])?_0x40bf69[_0xeca3('0x4c')]['ids']:[_0x40bf69[_0xeca3('0x4c')][_0xeca3('0x76')]];var _0x57d8f2=_0x40bf69[_0xeca3('0x47')]['id'];return db['Team'][_0xeca3('0x4a')]({'where':{'id':_0x57d8f2}})[_0xeca3('0x29')](handleEntityNotFound(_0x536337,null))[_0xeca3('0x29')](function(_0x169172){if(_0x169172){var _0x42dfba=[_0xeca3('0x7a'),_0xeca3('0x7b'),_0xeca3('0x7c'),_0xeca3('0x7d'),'Fax',_0xeca3('0x7e'),_0xeca3('0x7f')];return db[_0xeca3('0x55')][_0xeca3('0x80')](function(_0x3e7c4d){var _0x4f136c=_['map'](_0x42dfba,function(_0x357158){var _0x135717={'attributes':['id',_0xeca3('0x2b')]};if(_0x357158===_0xeca3('0x7a')){_0x135717[_0xeca3('0x81')]={'attributes':[_0xeca3('0x82')]};}return _0x169172['get'+_0x357158+'Queues'](_0x135717)[_0xeca3('0x29')](function(_0x57afa7){var _0x19efb6=_[_0xeca3('0x2e')](_0x57afa7,function(_0x38d4d7){var _0x6e1fd4=_[_0xeca3('0x2e')](_0x37b05c,function(_0x7f2ffc){var _0x35ec35={'where':{'UserId':_0x7f2ffc,[_0x357158+_0xeca3('0x83')]:_0x38d4d7['id']},'transaction':_0x3e7c4d};if(_0x357158===_0xeca3('0x7a')){_0x35ec35['defaults']={'penalty':_0x38d4d7[_0xeca3('0x84')]['penalty']};}return db[_0xeca3('0x85')+_0x357158+_0xeca3('0x73')][_0xeca3('0x86')](_0x35ec35)[_0xeca3('0x29')](function(){socket['emit'](_0xeca3('0x4d')+_0x357158+_0xeca3('0x87'),{'UserId':_0x7f2ffc,[_0x357158+_0xeca3('0x83')]:_0x38d4d7['id']});if(_0x357158!=='Voice'){return;}return db['User'][_0xeca3('0x43')]({'where':{'id':_0x37b05c,'online':0x1},'attributes':['id',_0xeca3('0x2b'),_0xeca3('0x88'),'voicePause','interface'],'raw':!![]})[_0xeca3('0x29')](function(_0x163745){var _0x5b76fc=_[_0xeca3('0x2e')](_0x163745,function(_0x581230){return db[_0xeca3('0x89')][_0xeca3('0x8a')]({'membername':_0x581230['name'],'UserId':_0x581230['id'],'queue_name':_0x38d4d7[_0xeca3('0x2b')],'VoiceQueueId':_0x38d4d7['id'],'interface':_[_0xeca3('0x8b')](_0x581230[_0xeca3('0x8c')])?util[_0xeca3('0x8d')](_0xeca3('0x8e'),_0x581230[_0xeca3('0x2b')]):_0x581230[_0xeca3('0x8c')],'paused':_0x581230['voicePause']||![],'penalty':_0x38d4d7[_0xeca3('0x84')][_0xeca3('0x82')]},{'transaction':_0x3e7c4d});});return Promise[_0xeca3('0x8f')](_0x5b76fc);});});});return Promise[_0xeca3('0x8f')](_0x6e1fd4);});return Promise[_0xeca3('0x8f')](_0x19efb6);})[_0xeca3('0x29')](function(){return db[_0xeca3('0x69')]['findOne']({'where':{'teamId':_0x57d8f2}})[_0xeca3('0x29')](function(_0x469a07){if(_0x469a07){var _0x76bf18=_[_0xeca3('0x2e')](_0x37b05c,function(_0x566d11){db[_0xeca3('0x6a')]['upsert']({'UserId':_0x566d11,'VoicePrefixId':_0x469a07[_0xeca3('0x90')]});});return Promise[_0xeca3('0x8f')](_0x76bf18);}});});});return Promise[_0xeca3('0x8f')](_0x4f136c)['then'](function(){return _0x169172[_0xeca3('0x79')](_0x37b05c,{'transaction':_0x3e7c4d})[_0xeca3('0x91')](function(_0x3d0915){return _0x3d0915;});});});}})[_0xeca3('0x29')](respondWithResult(_0x536337,null))[_0xeca3('0x45')](handleError(_0x536337,null));};exports[_0xeca3('0x92')]=function(_0x3f5921,_0xc62994){var _0x46ee4c=_[_0xeca3('0x93')](_0x3f5921[_0xeca3('0x32')][_0xeca3('0x76')])?_0x3f5921[_0xeca3('0x32')][_0xeca3('0x76')]:[_0x3f5921[_0xeca3('0x32')][_0xeca3('0x76')]];var _0x3c5fe9=_0x3f5921[_0xeca3('0x47')]['id'];return db['Team'][_0xeca3('0x4a')]({'where':{'id':_0x3c5fe9}})[_0xeca3('0x29')](handleEntityNotFound(_0xc62994,null))[_0xeca3('0x29')](function(_0xa96c2e){if(_0xa96c2e){var _0x4cadaf=[_0xeca3('0x7a'),_0xeca3('0x7b'),_0xeca3('0x7c'),'Sms',_0xeca3('0x94'),_0xeca3('0x7e'),_0xeca3('0x7f')];return db['sequelize'][_0xeca3('0x80')](function(_0x91d0b8){var _0x359a9c=_[_0xeca3('0x2e')](_0x4cadaf,function(_0x2cc24a){var _0x2fcc1e={'attributes':['id','name']};return _0xa96c2e['get'+_0x2cc24a+_0xeca3('0x74')](_0x2fcc1e)[_0xeca3('0x29')](function(_0x3b1303){var _0x1fad89=_[_0xeca3('0x2e')](_0x3b1303,function(_0x3cd188){return _0x3cd188[_0xeca3('0x92')](_0x46ee4c,{'transaction':_0x91d0b8})[_0xeca3('0x29')](function(){var _0x3c6696=_[_0xeca3('0x2e')](_0x46ee4c,function(_0x3579d1){socket[_0xeca3('0x95')](_0xeca3('0x4d')+_0x2cc24a+'Queue:remove',{'UserId':Number(_0x3579d1),[_0x2cc24a+_0xeca3('0x83')]:_0x3cd188['id']});if(_0x2cc24a!==_0xeca3('0x7a')){return;}return db['UserVoiceQueueRt'][_0xeca3('0x54')]({'where':{'VoiceQueueId':_0x3cd188['id'],'UserId':_0x3579d1},'transaction':_0x91d0b8});});return Promise[_0xeca3('0x8f')](_0x3c6696);});});return Promise[_0xeca3('0x8f')](_0x1fad89);});});return Promise['all'](_0x359a9c)[_0xeca3('0x29')](function(){return _0xa96c2e[_0xeca3('0x92')](_0x46ee4c,{'transaction':_0x91d0b8});})[_0xeca3('0x29')](function(){return db['TeamVoicePrefix'][_0xeca3('0x6c')]({'where':{'teamId':_0x3c5fe9}})[_0xeca3('0x29')](function(_0x3c339c){if(_0x3c339c){var _0x1b95ce=_[_0xeca3('0x2e')](_0x46ee4c,function(_0x55618e){db[_0xeca3('0x6a')][_0xeca3('0x54')]({'where':{'UserId':_0x55618e,'VoicePrefixId':_0x3c339c[_0xeca3('0x90')]}});});return Promise['all'](_0x1b95ce);}});});});}})[_0xeca3('0x29')](respondWithStatusCode(_0xc62994,null))[_0xeca3('0x45')](handleError(_0xc62994,null));};exports[_0xeca3('0x96')]=function(_0x318c5e,_0x476f48,_0x56b3b9){var _0x6fcd40={};var _0x2eae1c={};var _0x458d40;var _0x177e66;return db[_0xeca3('0x2f')][_0xeca3('0x6c')]({'where':{'id':_0x318c5e['params']['id']}})[_0xeca3('0x29')](handleEntityNotFound(_0x476f48,null))[_0xeca3('0x29')](function(_0x35f36f){if(_0x35f36f){_0x458d40=_0x35f36f;_0x2eae1c[_0xeca3('0x31')]=_[_0xeca3('0x33')](db[_0xeca3('0x85')][_0xeca3('0x48')]);_0x2eae1c['query']=_[_0xeca3('0x33')](_0x318c5e[_0xeca3('0x32')]);_0x2eae1c[_0xeca3('0x34')]=_[_0xeca3('0x36')](_0x2eae1c['model'],_0x2eae1c[_0xeca3('0x32')]);_0x6fcd40['attributes']=_['intersection'](_0x2eae1c[_0xeca3('0x31')],qs[_0xeca3('0x37')](_0x318c5e[_0xeca3('0x32')][_0xeca3('0x37')]));_0x6fcd40[_0xeca3('0x35')]=_0x6fcd40['attributes'][_0xeca3('0x38')]?_0x6fcd40[_0xeca3('0x35')]:_0x2eae1c[_0xeca3('0x31')];_0x6fcd40[_0xeca3('0x3b')]=qs['sort'](_0x318c5e['query'][_0xeca3('0x3c')]);_0x6fcd40[_0xeca3('0x3d')]=qs[_0xeca3('0x34')](_['pick'](_0x318c5e[_0xeca3('0x32')],_0x2eae1c[_0xeca3('0x34')]));if(_0x318c5e[_0xeca3('0x32')][_0xeca3('0x97')]){_0x6fcd40[_0xeca3('0x3d')]=_[_0xeca3('0x3f')](_0x6fcd40[_0xeca3('0x3d')],{'$or':_[_0xeca3('0x2e')](_0x6fcd40[_0xeca3('0x35')],function(_0x34eb16){var _0x4a8544={};_0x4a8544[_0x34eb16]={'$like':'%'+_0x318c5e[_0xeca3('0x32')]['filter']+'%'};return _0x4a8544;})});}_0x6fcd40=_[_0xeca3('0x3f')]({},_0x6fcd40,_0x318c5e['options']);return _0x458d40['getAgents'](_0x6fcd40);}})[_0xeca3('0x29')](function(_0x447f92){if(_0x447f92){_0x177e66=_0x447f92['length'];if(!_0x318c5e['query']['hasOwnProperty'](_0xeca3('0x3a'))){_0x6fcd40['limit']=qs[_0xeca3('0x21')](_0x318c5e[_0xeca3('0x32')][_0xeca3('0x21')]);_0x6fcd40[_0xeca3('0x22')]=qs[_0xeca3('0x22')](_0x318c5e[_0xeca3('0x32')][_0xeca3('0x22')]);}return _0x458d40[_0xeca3('0x96')](_0x6fcd40);}})[_0xeca3('0x29')](function(_0x73a26c){if(_0x73a26c){return _0x73a26c?{'count':_0x177e66,'rows':_0x73a26c}:null;}})[_0xeca3('0x29')](respondWithResult(_0x476f48,null))['catch'](handleError(_0x476f48,null));};