Built motion from commit eddce310.|2.6.12
[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 _0x7e15=['Teams','userProfileId','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','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','VoiceQueueId','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','UserMailQueue','QueryTypes','UserSmsQueue','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','WhatsappQueueId','TeamVoicePrefix','UserVoicePrefix','VoicePrefixId','channel','isValidChannel','ValidationError','capitalize','toLowerCase','Queue','Queues','addQueues','Unknown\x20channel','ids','removeQueues','findOne','remove','addAgents','isArray','Voice','Chat','Sms','Fax','Openchannel','through','penalty','QueueId','TeamVoiceQueue','User','findOrCreate','emit','Queue:save','voicePause','interface','upsert','format','SIP/%s','all','spread','removeAgents','Mail','Queue:remove','UserVoiceQueueRt','getAgents','hasOwnProperty','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','path','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','socket.io-emitter','./team.socket','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','sendStatus','error','stack','name','send','index','map','Team','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','findAll','catch','show','params','include','find','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role'];(function(_0x1c34c5,_0x4c7e70){var _0x5c3e2d=function(_0x4970c1){while(--_0x4970c1){_0x1c34c5['push'](_0x1c34c5['shift']());}};_0x5c3e2d(++_0x4c7e70);}(_0x7e15,0xda));var _0x57e1=function(_0x321bb2,_0x202794){_0x321bb2=_0x321bb2-0x0;var _0x9c12ed=_0x7e15[_0x321bb2];return _0x9c12ed;};'use strict';var emlformat=require(_0x57e1('0x0'));var rimraf=require(_0x57e1('0x1'));var zipdir=require(_0x57e1('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x57e1('0x3'));var moment=require(_0x57e1('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x57e1('0x5'));var util=require(_0x57e1('0x6'));var path=require(_0x57e1('0x7'));var sox=require('sox');var csv=require(_0x57e1('0x8'));var ejs=require(_0x57e1('0x9'));var fs=require('fs');var fs_extra=require(_0x57e1('0xa'));var _=require('lodash');var squel=require(_0x57e1('0xb'));var crypto=require(_0x57e1('0xc'));var jsforce=require(_0x57e1('0xd'));var deskjs=require(_0x57e1('0xe'));var toCsv=require(_0x57e1('0x8'));var querystring=require(_0x57e1('0xf'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0x57e1('0x10'));var qs=require(_0x57e1('0x11'));var as=require(_0x57e1('0x12'));var hardwareService=require(_0x57e1('0x13'));var logger=require(_0x57e1('0x14'))('api');var utils=require(_0x57e1('0x15'));var config=require(_0x57e1('0x16'));var licenseUtil=require(_0x57e1('0x17'));var db=require('../../mysqldb')['db'];config[_0x57e1('0x18')]=_[_0x57e1('0x19')](config[_0x57e1('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0x57e1('0x1a'))(new Redis(config[_0x57e1('0x18')]));require(_0x57e1('0x1b'))['register'](socket);function respondWithStatusCode(_0x1b8aa4,_0x41f67d){_0x41f67d=_0x41f67d||0xcc;return function(_0x53810f){if(_0x53810f){return _0x1b8aa4['sendStatus'](_0x41f67d);}return _0x1b8aa4[_0x57e1('0x1c')](_0x41f67d)[_0x57e1('0x1d')]();};}function respondWithResult(_0x45c8b3,_0x2cea7b){_0x2cea7b=_0x2cea7b||0xc8;return function(_0x300972){if(_0x300972){return _0x45c8b3[_0x57e1('0x1c')](_0x2cea7b)[_0x57e1('0x1e')](_0x300972);}};}function respondWithFilteredResult(_0x1ca975,_0x524457){return function(_0x5a54a4){if(_0x5a54a4){var _0x1236fd=typeof _0x524457[_0x57e1('0x1f')]==='undefined'&&typeof _0x524457[_0x57e1('0x20')]===_0x57e1('0x21');var _0x1f8591=_0x5a54a4[_0x57e1('0x22')];var _0xdb904e=_0x1236fd?0x0:_0x524457['offset'];var _0xdf2857=_0x1236fd?_0x5a54a4[_0x57e1('0x22')]:_0x524457[_0x57e1('0x1f')]+_0x524457[_0x57e1('0x20')];var _0x513156;if(_0xdf2857>=_0x1f8591){_0xdf2857=_0x1f8591;_0x513156=0xc8;}else{_0x513156=0xce;}_0x1ca975[_0x57e1('0x1c')](_0x513156);return _0x1ca975[_0x57e1('0x23')](_0x57e1('0x24'),_0xdb904e+'-'+_0xdf2857+'/'+_0x1f8591)[_0x57e1('0x1e')](_0x5a54a4);}return null;};}function patchUpdates(_0x507ee7){return function(_0x59aeb3){try{jsonpatch[_0x57e1('0x25')](_0x59aeb3,_0x507ee7,!![]);}catch(_0x37df64){return BPromise[_0x57e1('0x26')](_0x37df64);}return _0x59aeb3[_0x57e1('0x27')]();};}function saveUpdates(_0x5430ba,_0x10abb8){return function(_0x50f78c){if(_0x50f78c){return _0x50f78c[_0x57e1('0x28')](_0x5430ba)[_0x57e1('0x29')](function(_0x46bac0){return _0x46bac0;});}return null;};}function handleEntityNotFound(_0x41c5c7,_0x4aa962){return function(_0x398183){if(!_0x398183){_0x41c5c7[_0x57e1('0x2a')](0x194);}return _0x398183;};}function handleError(_0x490e96,_0x1d0bd5){_0x1d0bd5=_0x1d0bd5||0x1f4;return function(_0x26874b){logger[_0x57e1('0x2b')](_0x26874b[_0x57e1('0x2c')]);if(_0x26874b[_0x57e1('0x2d')]){delete _0x26874b[_0x57e1('0x2d')];}_0x490e96[_0x57e1('0x1c')](_0x1d0bd5)[_0x57e1('0x2e')](_0x26874b);};}exports[_0x57e1('0x2f')]=function(_0x1dcc50,_0x356111){var _0x4e5bdc={},_0x24d061={},_0x5001f9={'count':0x0,'rows':[]};var _0x38d426=_[_0x57e1('0x30')](db[_0x57e1('0x31')][_0x57e1('0x32')],function(_0x5658c0){return{'name':_0x5658c0[_0x57e1('0x33')],'type':_0x5658c0[_0x57e1('0x34')][_0x57e1('0x35')]};});_0x24d061['model']=_['map'](_0x38d426,_0x57e1('0x2d'));_0x24d061[_0x57e1('0x36')]=_[_0x57e1('0x37')](_0x1dcc50['query']);_0x24d061[_0x57e1('0x38')]=_[_0x57e1('0x39')](_0x24d061[_0x57e1('0x3a')],_0x24d061['query']);_0x4e5bdc[_0x57e1('0x3b')]=_[_0x57e1('0x39')](_0x24d061['model'],qs[_0x57e1('0x3c')](_0x1dcc50[_0x57e1('0x36')][_0x57e1('0x3c')]));_0x4e5bdc[_0x57e1('0x3b')]=_0x4e5bdc['attributes'][_0x57e1('0x3d')]?_0x4e5bdc[_0x57e1('0x3b')]:_0x24d061[_0x57e1('0x3a')];if(!_0x1dcc50['query']['hasOwnProperty'](_0x57e1('0x3e'))){_0x4e5bdc[_0x57e1('0x20')]=qs[_0x57e1('0x20')](_0x1dcc50[_0x57e1('0x36')][_0x57e1('0x20')]);_0x4e5bdc[_0x57e1('0x1f')]=qs['offset'](_0x1dcc50[_0x57e1('0x36')][_0x57e1('0x1f')]);}_0x4e5bdc[_0x57e1('0x3f')]=qs[_0x57e1('0x40')](_0x1dcc50[_0x57e1('0x36')][_0x57e1('0x40')]);_0x4e5bdc[_0x57e1('0x41')]=qs[_0x57e1('0x38')](_[_0x57e1('0x42')](_0x1dcc50[_0x57e1('0x36')],_0x24d061[_0x57e1('0x38')]),_0x38d426);if(_0x1dcc50[_0x57e1('0x36')][_0x57e1('0x43')]){_0x4e5bdc[_0x57e1('0x41')]=_['merge'](_0x4e5bdc['where'],{'$or':_[_0x57e1('0x30')](_0x38d426,function(_0x21aeac){if(_0x21aeac[_0x57e1('0x34')]!==_0x57e1('0x44')){var _0x2f23c7={};_0x2f23c7[_0x21aeac[_0x57e1('0x2d')]]={'$like':'%'+_0x1dcc50[_0x57e1('0x36')][_0x57e1('0x43')]+'%'};return _0x2f23c7;}})});}_0x4e5bdc=_[_0x57e1('0x45')]({},_0x4e5bdc,_0x1dcc50[_0x57e1('0x46')]);var _0x4be5b8={'where':_0x4e5bdc[_0x57e1('0x41')]};return db['Team']['count'](_0x4be5b8)[_0x57e1('0x29')](function(_0x16b99c){_0x5001f9[_0x57e1('0x22')]=_0x16b99c;if(_0x1dcc50['query']['includeAll']){_0x4e5bdc['include']=[{'all':!![]}];}return db['Team'][_0x57e1('0x47')](_0x4e5bdc);})[_0x57e1('0x29')](function(_0x41d19d){_0x5001f9['rows']=_0x41d19d;return _0x5001f9;})[_0x57e1('0x29')](respondWithFilteredResult(_0x356111,_0x4e5bdc))[_0x57e1('0x48')](handleError(_0x356111,null));};exports[_0x57e1('0x49')]=function(_0x2254b4,_0x14d690){var _0x3fc89c={'raw':![],'where':{'id':_0x2254b4[_0x57e1('0x4a')]['id']}},_0x2b5897={};_0x2b5897[_0x57e1('0x3a')]=_[_0x57e1('0x37')](db[_0x57e1('0x31')]['rawAttributes']);_0x2b5897[_0x57e1('0x36')]=_[_0x57e1('0x37')](_0x2254b4[_0x57e1('0x36')]);_0x2b5897['filters']=_[_0x57e1('0x39')](_0x2b5897[_0x57e1('0x3a')],_0x2b5897[_0x57e1('0x36')]);_0x3fc89c[_0x57e1('0x3b')]=_[_0x57e1('0x39')](_0x2b5897[_0x57e1('0x3a')],qs['fields'](_0x2254b4[_0x57e1('0x36')][_0x57e1('0x3c')]));_0x3fc89c[_0x57e1('0x3b')]=_0x3fc89c['attributes'][_0x57e1('0x3d')]?_0x3fc89c[_0x57e1('0x3b')]:_0x2b5897['model'];if(_0x2254b4[_0x57e1('0x36')]['includeAll']){_0x3fc89c[_0x57e1('0x4b')]=[{'all':!![]}];}_0x3fc89c=_[_0x57e1('0x45')]({},_0x3fc89c,_0x2254b4[_0x57e1('0x46')]);return db[_0x57e1('0x31')][_0x57e1('0x4c')](_0x3fc89c)['then'](handleEntityNotFound(_0x14d690,null))[_0x57e1('0x29')](respondWithResult(_0x14d690,null))[_0x57e1('0x48')](handleError(_0x14d690,null));};exports[_0x57e1('0x4d')]=function(_0x2e6cfa,_0x41999b){return db[_0x57e1('0x31')][_0x57e1('0x4d')](_0x2e6cfa['body'],{})[_0x57e1('0x29')](function(_0x10a773){var _0xe2743c=_0x2e6cfa[_0x57e1('0x4e')][_0x57e1('0x4f')]({'plain':!![]});if(!_0xe2743c)throw new Error(_0x57e1('0x50'));if(_0xe2743c[_0x57e1('0x51')]===_0x57e1('0x4e')){var _0x390d85=_0x10a773['get']({'plain':!![]});var _0x5588a6=_0x57e1('0x52');return db['UserProfileSection'][_0x57e1('0x4c')]({'where':{'name':_0x5588a6,'userProfileId':_0xe2743c[_0x57e1('0x53')]},'raw':!![]})[_0x57e1('0x29')](function(_0x36bb56){if(_0x36bb56&&_0x36bb56['autoAssociation']===0x0){return db['UserProfileResource']['create']({'name':_0x390d85[_0x57e1('0x2d')],'resourceId':_0x390d85['id'],'type':_0x36bb56[_0x57e1('0x2d')],'sectionId':_0x36bb56['id']},{})[_0x57e1('0x29')](function(){return _0x10a773;});}else{return _0x10a773;}})[_0x57e1('0x48')](function(_0xaee0f0){logger[_0x57e1('0x2b')](_0x57e1('0x54'),_0xaee0f0);throw _0xaee0f0;});}return _0x10a773;})[_0x57e1('0x29')](respondWithResult(_0x41999b,0xc9))[_0x57e1('0x48')](handleError(_0x41999b,null));};exports['update']=function(_0x37ab4d,_0x4a41ad){if(_0x37ab4d[_0x57e1('0x55')]['id']){delete _0x37ab4d['body']['id'];}return db[_0x57e1('0x31')]['find']({'where':{'id':_0x37ab4d['params']['id']}})[_0x57e1('0x29')](handleEntityNotFound(_0x4a41ad,null))[_0x57e1('0x29')](saveUpdates(_0x37ab4d[_0x57e1('0x55')],null))[_0x57e1('0x29')](respondWithResult(_0x4a41ad,null))['catch'](handleError(_0x4a41ad,null));};exports[_0x57e1('0x56')]=function(_0x431b3f,_0x2c3e34){var _0x14a45a=_0x431b3f[_0x57e1('0x4a')]['id'];var _0x33c476=[];return db[_0x57e1('0x57')][_0x57e1('0x58')](function(_0x363a9c){var _0x5952e9=_0x57e1('0x59')+_0x14a45a;return db[_0x57e1('0x57')][_0x57e1('0x36')](_0x5952e9,{'type':db[_0x57e1('0x5a')]['QueryTypes'][_0x57e1('0x5b')],'raw':!![],'transaction':_0x363a9c})[_0x57e1('0x29')](function(_0x2bef86){_0x33c476=_['map'](_0x2bef86,function(_0x437427){return Number(_0x437427[_0x57e1('0x5c')]);});})[_0x57e1('0x29')](function(){var _0x566ce9=_0x57e1('0x5d')+_0x14a45a;return db['sequelize'][_0x57e1('0x36')](_0x566ce9,{'type':db[_0x57e1('0x5a')]['QueryTypes'][_0x57e1('0x5b')],'raw':!![],'transaction':_0x363a9c});})['then'](function(_0x335a2c){var _0x41e066=_['map'](_0x335a2c,function(_0x54a8c8){return Number(_0x54a8c8[_0x57e1('0x5e')]);});return db['UserVoiceQueue'][_0x57e1('0x56')]({'where':{'UserId':{'$in':_0x33c476},'VoiceQueueId':{'$in':_0x41e066}},'transaction':_0x363a9c});})[_0x57e1('0x29')](function(){var _0x362165=_0x57e1('0x5f')+_0x14a45a;return db['sequelize'][_0x57e1('0x36')](_0x362165,{'type':db['Sequelize']['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x363a9c});})[_0x57e1('0x29')](function(_0x222f02){var _0x278a46=_[_0x57e1('0x30')](_0x222f02,function(_0x42a2a9){return Number(_0x42a2a9['MailQueueId']);});return db[_0x57e1('0x60')]['destroy']({'where':{'UserId':{'$in':_0x33c476},'MailQueueId':{'$in':_0x278a46}},'transaction':_0x363a9c});})['then'](function(){var _0xaab01a='SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20'+_0x14a45a;return db[_0x57e1('0x57')][_0x57e1('0x36')](_0xaab01a,{'type':db[_0x57e1('0x5a')][_0x57e1('0x61')][_0x57e1('0x5b')],'raw':!![],'transaction':_0x363a9c});})[_0x57e1('0x29')](function(_0x59261f){var _0x5e39e0=_['map'](_0x59261f,function(_0x7eb89b){return Number(_0x7eb89b['SmsQueueId']);});return db[_0x57e1('0x62')][_0x57e1('0x56')]({'where':{'UserId':{'$in':_0x33c476},'SmsQueueId':{'$in':_0x5e39e0}},'transaction':_0x363a9c});})[_0x57e1('0x29')](function(){var _0x292447='SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20'+_0x14a45a;return db[_0x57e1('0x57')][_0x57e1('0x36')](_0x292447,{'type':db[_0x57e1('0x5a')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x363a9c});})['then'](function(_0x57749c){var _0x7238e=_[_0x57e1('0x30')](_0x57749c,function(_0x147df6){return Number(_0x147df6[_0x57e1('0x63')]);});return db['UserChatQueue'][_0x57e1('0x56')]({'where':{'UserId':{'$in':_0x33c476},'ChatQueueId':{'$in':_0x7238e}},'transaction':_0x363a9c});})['then'](function(){var _0x67364b=_0x57e1('0x64')+_0x14a45a;return db[_0x57e1('0x57')][_0x57e1('0x36')](_0x67364b,{'type':db[_0x57e1('0x5a')][_0x57e1('0x61')][_0x57e1('0x5b')],'raw':!![],'transaction':_0x363a9c});})[_0x57e1('0x29')](function(_0x337261){var _0x40b71e=_['map'](_0x337261,function(_0x4e7af3){return Number(_0x4e7af3['FaxQueueId']);});return db[_0x57e1('0x65')][_0x57e1('0x56')]({'where':{'UserId':{'$in':_0x33c476},'FaxQueueId':{'$in':_0x40b71e}},'transaction':_0x363a9c});})[_0x57e1('0x29')](function(){var _0x5efc18=_0x57e1('0x66')+_0x14a45a;return db[_0x57e1('0x57')][_0x57e1('0x36')](_0x5efc18,{'type':db[_0x57e1('0x5a')][_0x57e1('0x61')]['SELECT'],'raw':!![],'transaction':_0x363a9c});})[_0x57e1('0x29')](function(_0x92ec94){var _0x2c6b2e=_[_0x57e1('0x30')](_0x92ec94,function(_0x517da6){return Number(_0x517da6[_0x57e1('0x67')]);});return db[_0x57e1('0x68')]['destroy']({'where':{'UserId':{'$in':_0x33c476},'OpenchannelQueueId':{'$in':_0x2c6b2e}},'transaction':_0x363a9c});})[_0x57e1('0x29')](function(){var _0x839a8a='SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20'+_0x14a45a;return db[_0x57e1('0x57')][_0x57e1('0x36')](_0x839a8a,{'type':db[_0x57e1('0x5a')]['QueryTypes'][_0x57e1('0x5b')],'raw':!![],'transaction':_0x363a9c});})[_0x57e1('0x29')](function(_0x5e9bc6){var _0x32c7c3=_['map'](_0x5e9bc6,function(_0x160da6){return Number(_0x160da6[_0x57e1('0x69')]);});return db['UserWhatsappQueue'][_0x57e1('0x56')]({'where':{'UserId':{'$in':_0x33c476},'WhatsappQueueId':{'$in':_0x32c7c3}},'transaction':_0x363a9c});})[_0x57e1('0x29')](function(){return db[_0x57e1('0x6a')][_0x57e1('0x4c')]({'where':{'TeamId':_0x14a45a}});})[_0x57e1('0x29')](function(_0x3dbcf3){if(_0x3dbcf3===null){return;}return db[_0x57e1('0x6b')][_0x57e1('0x56')]({'where':{'UserId':{'$in':_0x33c476},'VoicePrefixId':_0x3dbcf3[_0x57e1('0x6c')]},'transaction':_0x363a9c});})[_0x57e1('0x29')](function(){return db[_0x57e1('0x31')][_0x57e1('0x56')]({'where':{'id':_0x14a45a},'cascade':!![],'transaction':_0x363a9c});})['then'](function(_0x2de53a){if(_0x2de53a===0x0){_0x2c3e34[_0x57e1('0x2a')](0x194);}else{return db['UserProfileResource'][_0x57e1('0x56')]({'where':{'type':_0x57e1('0x52'),'resourceId':_0x14a45a},'cascade':!![],'transaction':_0x363a9c})[_0x57e1('0x29')](function(){_0x2c3e34[_0x57e1('0x1c')](0xcc)[_0x57e1('0x1d')]();});}})[_0x57e1('0x48')](function(_0x45cca4){_0x2c3e34['status'](0x1f4)['send'](_0x45cca4);});});};exports['getQueues']=function(_0x3b9f41,_0x42024a,_0x3391a5){return db[_0x57e1('0x31')]['findOne']({'where':{'id':_0x3b9f41[_0x57e1('0x4a')]['id']}})[_0x57e1('0x29')](handleEntityNotFound(_0x42024a,null))[_0x57e1('0x29')](function(_0x5cfd0d){if(!_0x3b9f41[_0x57e1('0x36')][_0x57e1('0x6d')]||!utils[_0x57e1('0x6e')](_0x3b9f41['query'][_0x57e1('0x6d')])){throw new db['Sequelize'][(_0x57e1('0x6f'))]('Unknown\x20channel');}var _0x410ec1={};var _0x265134={};_0x265134[_0x57e1('0x3a')]=_['keys'](db[_[_0x57e1('0x70')](_0x3b9f41[_0x57e1('0x36')][_0x57e1('0x6d')][_0x57e1('0x71')]())+_0x57e1('0x72')][_0x57e1('0x32')]);_0x265134[_0x57e1('0x36')]=_[_0x57e1('0x37')](_0x3b9f41[_0x57e1('0x36')]);_0x265134[_0x57e1('0x38')]=_['intersection'](_0x265134[_0x57e1('0x3a')],_0x265134[_0x57e1('0x36')]);_0x410ec1[_0x57e1('0x3b')]=_[_0x57e1('0x39')](_0x265134['model'],qs[_0x57e1('0x3c')](_0x3b9f41['query'][_0x57e1('0x3c')]));_0x410ec1[_0x57e1('0x3b')]=_0x410ec1[_0x57e1('0x3b')][_0x57e1('0x3d')]?_0x410ec1[_0x57e1('0x3b')]:_0x265134['model'];_0x410ec1[_0x57e1('0x20')]=qs[_0x57e1('0x20')](_0x3b9f41['query'][_0x57e1('0x20')]);_0x410ec1[_0x57e1('0x1f')]=qs[_0x57e1('0x1f')](_0x3b9f41['query']['offset']);_0x410ec1['order']=qs[_0x57e1('0x40')](_0x3b9f41[_0x57e1('0x36')]['sort']);_0x410ec1['where']=qs['filters'](_[_0x57e1('0x42')](_0x3b9f41['query'],_0x265134[_0x57e1('0x38')]));_0x410ec1=_[_0x57e1('0x45')]({},_0x410ec1,_0x3b9f41[_0x57e1('0x46')]);return _0x5cfd0d[_0x57e1('0x4f')+_[_0x57e1('0x70')](_0x3b9f41[_0x57e1('0x36')][_0x57e1('0x6d')][_0x57e1('0x71')]())+_0x57e1('0x73')](_0x410ec1);})[_0x57e1('0x29')](respondWithResult(_0x42024a,null))[_0x57e1('0x48')](handleError(_0x42024a,null));};exports[_0x57e1('0x74')]=function(_0x192ebe,_0x933d22,_0x4cb1d4){return db['Team']['findOne']({'where':{'id':_0x192ebe['params']['id']}})['then'](function(_0x25b194){if(_0x25b194){if(!_0x192ebe['body']['channel']||!utils['isValidChannel'](_0x192ebe[_0x57e1('0x55')]['channel'])){throw new db[(_0x57e1('0x5a'))][(_0x57e1('0x6f'))](_0x57e1('0x75'));}return _0x25b194['add'+_[_0x57e1('0x70')](_0x192ebe['body'][_0x57e1('0x6d')]['toLowerCase']())+_0x57e1('0x73')](_0x192ebe[_0x57e1('0x55')][_0x57e1('0x76')]);}return null;})[_0x57e1('0x29')](handleEntityNotFound(_0x933d22,null))[_0x57e1('0x29')](respondWithStatusCode(_0x933d22,null))[_0x57e1('0x48')](handleError(_0x933d22,null));};exports[_0x57e1('0x77')]=function(_0x19e40a,_0x3a3077,_0x2727c6){return db[_0x57e1('0x31')][_0x57e1('0x78')]({'where':{'id':_0x19e40a[_0x57e1('0x4a')]['id']}})[_0x57e1('0x29')](function(_0x4f7b2b){if(_0x4f7b2b){if(!_0x19e40a[_0x57e1('0x36')][_0x57e1('0x6d')]||!utils[_0x57e1('0x6e')](_0x19e40a[_0x57e1('0x36')][_0x57e1('0x6d')])){throw new db['Sequelize'][(_0x57e1('0x6f'))]('Unknown\x20channel');}return _0x4f7b2b[_0x57e1('0x79')+_[_0x57e1('0x70')](_0x19e40a['query']['channel'][_0x57e1('0x71')]())+'Queues'](_0x19e40a[_0x57e1('0x36')][_0x57e1('0x76')]);}return null;})['then'](handleEntityNotFound(_0x3a3077,null))[_0x57e1('0x29')](respondWithStatusCode(_0x3a3077,null))[_0x57e1('0x48')](handleError(_0x3a3077,null));};exports[_0x57e1('0x7a')]=function(_0x10d9f7,_0x3cb9c3){var _0x12db46=_[_0x57e1('0x7b')](_0x10d9f7[_0x57e1('0x55')][_0x57e1('0x76')])?_0x10d9f7['body'][_0x57e1('0x76')]:[_0x10d9f7[_0x57e1('0x55')][_0x57e1('0x76')]];var _0x53f148=_0x10d9f7['params']['id'];return db[_0x57e1('0x31')]['find']({'where':{'id':_0x53f148}})[_0x57e1('0x29')](handleEntityNotFound(_0x3cb9c3,null))[_0x57e1('0x29')](function(_0x3ff4a8){if(_0x3ff4a8){var _0x4d7950=[_0x57e1('0x7c'),_0x57e1('0x7d'),'Mail',_0x57e1('0x7e'),_0x57e1('0x7f'),_0x57e1('0x80'),'Whatsapp'];return db[_0x57e1('0x57')][_0x57e1('0x58')](function(_0x12aef5){var _0x77a76e=_[_0x57e1('0x30')](_0x4d7950,function(_0xbc657a){var _0x49b2fe={'attributes':['id',_0x57e1('0x2d')]};if(_0xbc657a===_0x57e1('0x7c')){_0x49b2fe[_0x57e1('0x81')]={'attributes':[_0x57e1('0x82')]};}return _0x3ff4a8[_0x57e1('0x4f')+_0xbc657a+_0x57e1('0x73')](_0x49b2fe)[_0x57e1('0x29')](function(_0xfb3a03){var _0x5357e5=_[_0x57e1('0x30')](_0xfb3a03,function(_0xf52e35){var _0x559f76=_['map'](_0x12db46,function(_0xc699a3){var _0x134343={'where':{'UserId':_0xc699a3,[_0xbc657a+_0x57e1('0x83')]:_0xf52e35['id']},'transaction':_0x12aef5};if(_0xbc657a===_0x57e1('0x7c')){_0x134343[_0x57e1('0x19')]={'penalty':_0xf52e35[_0x57e1('0x84')][_0x57e1('0x82')]};}return db[_0x57e1('0x85')+_0xbc657a+_0x57e1('0x72')][_0x57e1('0x86')](_0x134343)[_0x57e1('0x29')](function(){socket[_0x57e1('0x87')](_0x57e1('0x4e')+_0xbc657a+_0x57e1('0x88'),{'UserId':_0xc699a3,[_0xbc657a+_0x57e1('0x83')]:_0xf52e35['id']});if(_0xbc657a!==_0x57e1('0x7c')){return;}return db['User']['findAll']({'where':{'id':_0x12db46,'online':0x1},'attributes':['id',_0x57e1('0x2d'),'online',_0x57e1('0x89'),_0x57e1('0x8a')],'raw':!![]})['then'](function(_0x3639d9){var _0x5db41c=_[_0x57e1('0x30')](_0x3639d9,function(_0x41ae9e){return db['UserVoiceQueueRt'][_0x57e1('0x8b')]({'membername':_0x41ae9e['name'],'UserId':_0x41ae9e['id'],'queue_name':_0xf52e35[_0x57e1('0x2d')],'VoiceQueueId':_0xf52e35['id'],'interface':_['isNil'](_0x41ae9e[_0x57e1('0x8a')])?util[_0x57e1('0x8c')](_0x57e1('0x8d'),_0x41ae9e[_0x57e1('0x2d')]):_0x41ae9e[_0x57e1('0x8a')],'paused':_0x41ae9e[_0x57e1('0x89')]||![],'penalty':_0xf52e35[_0x57e1('0x84')][_0x57e1('0x82')]},{'transaction':_0x12aef5});});return Promise[_0x57e1('0x8e')](_0x5db41c);});});});return Promise[_0x57e1('0x8e')](_0x559f76);});return Promise[_0x57e1('0x8e')](_0x5357e5);})[_0x57e1('0x29')](function(){return db[_0x57e1('0x6a')][_0x57e1('0x78')]({'where':{'teamId':_0x53f148}})[_0x57e1('0x29')](function(_0x39b5b8){if(_0x39b5b8){var _0x6bfa=_[_0x57e1('0x30')](_0x12db46,function(_0x2fc309){db[_0x57e1('0x6b')][_0x57e1('0x8b')]({'UserId':_0x2fc309,'VoicePrefixId':_0x39b5b8[_0x57e1('0x6c')]});});return Promise[_0x57e1('0x8e')](_0x6bfa);}});});});return Promise[_0x57e1('0x8e')](_0x77a76e)[_0x57e1('0x29')](function(){return _0x3ff4a8['addAgents'](_0x12db46,{'transaction':_0x12aef5})[_0x57e1('0x8f')](function(_0x3af05a){return _0x3af05a;});});});}})[_0x57e1('0x29')](respondWithResult(_0x3cb9c3,null))['catch'](handleError(_0x3cb9c3,null));};exports[_0x57e1('0x90')]=function(_0x4714cb,_0x444751){var _0x42447d=_[_0x57e1('0x7b')](_0x4714cb[_0x57e1('0x36')][_0x57e1('0x76')])?_0x4714cb[_0x57e1('0x36')]['ids']:[_0x4714cb['query'][_0x57e1('0x76')]];var _0x1c6c12=_0x4714cb[_0x57e1('0x4a')]['id'];return db[_0x57e1('0x31')][_0x57e1('0x4c')]({'where':{'id':_0x1c6c12}})[_0x57e1('0x29')](handleEntityNotFound(_0x444751,null))[_0x57e1('0x29')](function(_0x4073b0){if(_0x4073b0){var _0x1c015a=[_0x57e1('0x7c'),_0x57e1('0x7d'),_0x57e1('0x91'),_0x57e1('0x7e'),_0x57e1('0x7f'),_0x57e1('0x80'),'Whatsapp'];return db[_0x57e1('0x57')][_0x57e1('0x58')](function(_0x59ce72){var _0x371418=_[_0x57e1('0x30')](_0x1c015a,function(_0x2c4235){var _0x587b55={'attributes':['id',_0x57e1('0x2d')]};return _0x4073b0[_0x57e1('0x4f')+_0x2c4235+'Queues'](_0x587b55)['then'](function(_0x4ec2d3){var _0x76537b=_['map'](_0x4ec2d3,function(_0x4cee2e){return _0x4cee2e[_0x57e1('0x90')](_0x42447d,{'transaction':_0x59ce72})[_0x57e1('0x29')](function(){var _0x3305eb=_[_0x57e1('0x30')](_0x42447d,function(_0x48c31c){socket[_0x57e1('0x87')]('user'+_0x2c4235+_0x57e1('0x92'),{'UserId':Number(_0x48c31c),[_0x2c4235+_0x57e1('0x83')]:_0x4cee2e['id']});if(_0x2c4235!==_0x57e1('0x7c')){return;}return db[_0x57e1('0x93')][_0x57e1('0x56')]({'where':{'VoiceQueueId':_0x4cee2e['id'],'UserId':_0x48c31c},'transaction':_0x59ce72});});return Promise[_0x57e1('0x8e')](_0x3305eb);});});return Promise[_0x57e1('0x8e')](_0x76537b);});});return Promise[_0x57e1('0x8e')](_0x371418)['then'](function(){return _0x4073b0[_0x57e1('0x90')](_0x42447d,{'transaction':_0x59ce72});})[_0x57e1('0x29')](function(){return db[_0x57e1('0x6a')]['findOne']({'where':{'teamId':_0x1c6c12}})[_0x57e1('0x29')](function(_0x783d7d){if(_0x783d7d){var _0x5254a8=_[_0x57e1('0x30')](_0x42447d,function(_0x4f7943){db[_0x57e1('0x6b')][_0x57e1('0x56')]({'where':{'UserId':_0x4f7943,'VoicePrefixId':_0x783d7d[_0x57e1('0x6c')]}});});return Promise[_0x57e1('0x8e')](_0x5254a8);}});});});}})['then'](respondWithStatusCode(_0x444751,null))['catch'](handleError(_0x444751,null));};exports['getAgents']=function(_0x487e06,_0x39d839,_0x44e04b){var _0x24f22a={};var _0x47bca4={};var _0x29fe96;var _0x38a2c5;return db[_0x57e1('0x31')]['findOne']({'where':{'id':_0x487e06[_0x57e1('0x4a')]['id']}})[_0x57e1('0x29')](handleEntityNotFound(_0x39d839,null))[_0x57e1('0x29')](function(_0x1b97b0){if(_0x1b97b0){_0x29fe96=_0x1b97b0;_0x47bca4['model']=_['keys'](db[_0x57e1('0x85')][_0x57e1('0x32')]);_0x47bca4['query']=_['keys'](_0x487e06['query']);_0x47bca4[_0x57e1('0x38')]=_[_0x57e1('0x39')](_0x47bca4[_0x57e1('0x3a')],_0x47bca4[_0x57e1('0x36')]);_0x24f22a[_0x57e1('0x3b')]=_[_0x57e1('0x39')](_0x47bca4[_0x57e1('0x3a')],qs[_0x57e1('0x3c')](_0x487e06[_0x57e1('0x36')]['fields']));_0x24f22a[_0x57e1('0x3b')]=_0x24f22a[_0x57e1('0x3b')][_0x57e1('0x3d')]?_0x24f22a['attributes']:_0x47bca4[_0x57e1('0x3a')];_0x24f22a[_0x57e1('0x3f')]=qs['sort'](_0x487e06[_0x57e1('0x36')][_0x57e1('0x40')]);_0x24f22a[_0x57e1('0x41')]=qs[_0x57e1('0x38')](_[_0x57e1('0x42')](_0x487e06[_0x57e1('0x36')],_0x47bca4[_0x57e1('0x38')]));if(_0x487e06[_0x57e1('0x36')]['filter']){_0x24f22a[_0x57e1('0x41')]=_[_0x57e1('0x45')](_0x24f22a[_0x57e1('0x41')],{'$or':_[_0x57e1('0x30')](_0x24f22a[_0x57e1('0x3b')],function(_0x2cbabf){var _0x442f8e={};_0x442f8e[_0x2cbabf]={'$like':'%'+_0x487e06[_0x57e1('0x36')][_0x57e1('0x43')]+'%'};return _0x442f8e;})});}_0x24f22a=_[_0x57e1('0x45')]({},_0x24f22a,_0x487e06[_0x57e1('0x46')]);return _0x29fe96[_0x57e1('0x94')](_0x24f22a);}})[_0x57e1('0x29')](function(_0x2a9ec1){if(_0x2a9ec1){_0x38a2c5=_0x2a9ec1[_0x57e1('0x3d')];if(!_0x487e06[_0x57e1('0x36')][_0x57e1('0x95')](_0x57e1('0x3e'))){_0x24f22a[_0x57e1('0x20')]=qs['limit'](_0x487e06[_0x57e1('0x36')][_0x57e1('0x20')]);_0x24f22a['offset']=qs[_0x57e1('0x1f')](_0x487e06[_0x57e1('0x36')]['offset']);}return _0x29fe96[_0x57e1('0x94')](_0x24f22a);}})[_0x57e1('0x29')](function(_0x14e942){if(_0x14e942){return _0x14e942?{'count':_0x38a2c5,'rows':_0x14e942}:null;}})[_0x57e1('0x29')](respondWithResult(_0x39d839,null))[_0x57e1('0x48')](handleError(_0x39d839,null));};