Built motion from commit 639a1a7f.|2.6.19
[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 _0x1f1e=['Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','sequelize','transaction','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','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','ChatQueueId','UserChatQueue','UserFaxQueue','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','UserOpenchannelQueue','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','UserWhatsappQueue','TeamVoicePrefix','UserVoicePrefix','end','findOne','channel','isValidChannel','ValidationError','capitalize','toLowerCase','Queue','pick','Queues','addQueues','add','ids','removeQueues','addAgents','Voice','Chat','Mail','Sms','Fax','Whatsapp','through','penalty','defaults','TeamVoiceQueue','findOrCreate','emit','Queue:save','QueueId','User','findAll','online','interface','UserVoiceQueueRt','isNil','format','SIP/%s','all','VoicePrefixId','spread','removeAgents','Queue:remove','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','lodash','squel','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','localhost','socket.io-emitter','./team.socket','register','sendStatus','status','undefined','offset','count','limit','set','Content-Range','json','apply','reject','save','update','then','error','stack','name','send','index','map','Team','rawAttributes','fieldName','model','query','keys','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','filters','filter','merge','VIRTUAL','options','includeAll','include','rows','show','params','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','user','Teams','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','catch'];(function(_0x57b54c,_0x54ce0d){var _0x59cc19=function(_0xa33bc6){while(--_0xa33bc6){_0x57b54c['push'](_0x57b54c['shift']());}};_0x59cc19(++_0x54ce0d);}(_0x1f1e,0x17e));var _0xe1f1=function(_0x4c38f9,_0x45f174){_0x4c38f9=_0x4c38f9-0x0;var _0x4d3b0d=_0x1f1e[_0x4c38f9];return _0x4d3b0d;};'use strict';var emlformat=require(_0xe1f1('0x0'));var rimraf=require(_0xe1f1('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xe1f1('0x2'));var rp=require(_0xe1f1('0x3'));var moment=require(_0xe1f1('0x4'));var BPromise=require(_0xe1f1('0x5'));var Mustache=require(_0xe1f1('0x6'));var util=require(_0xe1f1('0x7'));var path=require('path');var sox=require(_0xe1f1('0x8'));var csv=require(_0xe1f1('0x9'));var ejs=require(_0xe1f1('0xa'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xe1f1('0xb'));var squel=require(_0xe1f1('0xc'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require(_0xe1f1('0x9'));var querystring=require(_0xe1f1('0xd'));var Papa=require(_0xe1f1('0xe'));var Redis=require(_0xe1f1('0xf'));var authService=require(_0xe1f1('0x10'));var qs=require('../../components/parsers/qs');var as=require(_0xe1f1('0x11'));var hardwareService=require(_0xe1f1('0x12'));var logger=require(_0xe1f1('0x13'))(_0xe1f1('0x14'));var utils=require(_0xe1f1('0x15'));var config=require('../../config/environment');var licenseUtil=require('../../config/license/util');var db=require(_0xe1f1('0x16'))['db'];config[_0xe1f1('0x17')]=_['defaults'](config['redis'],{'host':_0xe1f1('0x18'),'port':0x18eb});var socket=require(_0xe1f1('0x19'))(new Redis(config['redis']));require(_0xe1f1('0x1a'))[_0xe1f1('0x1b')](socket);function respondWithStatusCode(_0x54aae5,_0x56f8d1){_0x56f8d1=_0x56f8d1||0xcc;return function(_0x262ca7){if(_0x262ca7){return _0x54aae5[_0xe1f1('0x1c')](_0x56f8d1);}return _0x54aae5['status'](_0x56f8d1)['end']();};}function respondWithResult(_0x487c85,_0x36c3d5){_0x36c3d5=_0x36c3d5||0xc8;return function(_0x5b0287){if(_0x5b0287){return _0x487c85[_0xe1f1('0x1d')](_0x36c3d5)['json'](_0x5b0287);}};}function respondWithFilteredResult(_0x5830f0,_0x4bb249){return function(_0x52af5b){if(_0x52af5b){var _0x59417f=typeof _0x4bb249['offset']==='undefined'&&typeof _0x4bb249['limit']===_0xe1f1('0x1e');var _0x1d2fec=_0x52af5b['count'];var _0x1ccfa5=_0x59417f?0x0:_0x4bb249[_0xe1f1('0x1f')];var _0x569c8f=_0x59417f?_0x52af5b[_0xe1f1('0x20')]:_0x4bb249['offset']+_0x4bb249[_0xe1f1('0x21')];var _0x5b05d4;if(_0x569c8f>=_0x1d2fec){_0x569c8f=_0x1d2fec;_0x5b05d4=0xc8;}else{_0x5b05d4=0xce;}_0x5830f0[_0xe1f1('0x1d')](_0x5b05d4);return _0x5830f0[_0xe1f1('0x22')](_0xe1f1('0x23'),_0x1ccfa5+'-'+_0x569c8f+'/'+_0x1d2fec)[_0xe1f1('0x24')](_0x52af5b);}return null;};}function patchUpdates(_0x179c73){return function(_0x5bac1e){try{jsonpatch[_0xe1f1('0x25')](_0x5bac1e,_0x179c73,!![]);}catch(_0x625460){return BPromise[_0xe1f1('0x26')](_0x625460);}return _0x5bac1e[_0xe1f1('0x27')]();};}function saveUpdates(_0x2f04a5,_0xca79a0){return function(_0x1f211b){if(_0x1f211b){return _0x1f211b[_0xe1f1('0x28')](_0x2f04a5)[_0xe1f1('0x29')](function(_0x47ae74){return _0x47ae74;});}return null;};}function handleEntityNotFound(_0x5b1d54,_0x362be7){return function(_0x5a259f){if(!_0x5a259f){_0x5b1d54[_0xe1f1('0x1c')](0x194);}return _0x5a259f;};}function handleError(_0x3d844b,_0xfec52e){_0xfec52e=_0xfec52e||0x1f4;return function(_0x557cb8){logger[_0xe1f1('0x2a')](_0x557cb8[_0xe1f1('0x2b')]);if(_0x557cb8[_0xe1f1('0x2c')]){delete _0x557cb8[_0xe1f1('0x2c')];}_0x3d844b[_0xe1f1('0x1d')](_0xfec52e)[_0xe1f1('0x2d')](_0x557cb8);};}exports[_0xe1f1('0x2e')]=function(_0x48f50c,_0x6cc233){var _0x58619e={},_0x1ed18f={},_0xf0be07={'count':0x0,'rows':[]};var _0x58cca7=_[_0xe1f1('0x2f')](db[_0xe1f1('0x30')][_0xe1f1('0x31')],function(_0x188c95){return{'name':_0x188c95[_0xe1f1('0x32')],'type':_0x188c95['type']['key']};});_0x1ed18f[_0xe1f1('0x33')]=_[_0xe1f1('0x2f')](_0x58cca7,'name');_0x1ed18f[_0xe1f1('0x34')]=_[_0xe1f1('0x35')](_0x48f50c[_0xe1f1('0x34')]);_0x1ed18f['filters']=_['intersection'](_0x1ed18f[_0xe1f1('0x33')],_0x1ed18f[_0xe1f1('0x34')]);_0x58619e[_0xe1f1('0x36')]=_[_0xe1f1('0x37')](_0x1ed18f[_0xe1f1('0x33')],qs[_0xe1f1('0x38')](_0x48f50c['query'][_0xe1f1('0x38')]));_0x58619e[_0xe1f1('0x36')]=_0x58619e[_0xe1f1('0x36')][_0xe1f1('0x39')]?_0x58619e[_0xe1f1('0x36')]:_0x1ed18f['model'];if(!_0x48f50c[_0xe1f1('0x34')][_0xe1f1('0x3a')](_0xe1f1('0x3b'))){_0x58619e[_0xe1f1('0x21')]=qs[_0xe1f1('0x21')](_0x48f50c['query'][_0xe1f1('0x21')]);_0x58619e[_0xe1f1('0x1f')]=qs[_0xe1f1('0x1f')](_0x48f50c['query'][_0xe1f1('0x1f')]);}_0x58619e[_0xe1f1('0x3c')]=qs[_0xe1f1('0x3d')](_0x48f50c[_0xe1f1('0x34')]['sort']);_0x58619e[_0xe1f1('0x3e')]=qs[_0xe1f1('0x3f')](_['pick'](_0x48f50c[_0xe1f1('0x34')],_0x1ed18f[_0xe1f1('0x3f')]),_0x58cca7);if(_0x48f50c[_0xe1f1('0x34')][_0xe1f1('0x40')]){_0x58619e['where']=_[_0xe1f1('0x41')](_0x58619e[_0xe1f1('0x3e')],{'$or':_[_0xe1f1('0x2f')](_0x58cca7,function(_0xa2c6a7){if(_0xa2c6a7['type']!==_0xe1f1('0x42')){var _0x45acfc={};_0x45acfc[_0xa2c6a7[_0xe1f1('0x2c')]]={'$like':'%'+_0x48f50c[_0xe1f1('0x34')][_0xe1f1('0x40')]+'%'};return _0x45acfc;}})});}_0x58619e=_[_0xe1f1('0x41')]({},_0x58619e,_0x48f50c[_0xe1f1('0x43')]);var _0x99e520={'where':_0x58619e[_0xe1f1('0x3e')]};return db[_0xe1f1('0x30')][_0xe1f1('0x20')](_0x99e520)['then'](function(_0x3f23ec){_0xf0be07[_0xe1f1('0x20')]=_0x3f23ec;if(_0x48f50c[_0xe1f1('0x34')][_0xe1f1('0x44')]){_0x58619e[_0xe1f1('0x45')]=[{'all':!![]}];}return db[_0xe1f1('0x30')]['findAll'](_0x58619e);})[_0xe1f1('0x29')](function(_0x4edc1d){_0xf0be07[_0xe1f1('0x46')]=_0x4edc1d;return _0xf0be07;})['then'](respondWithFilteredResult(_0x6cc233,_0x58619e))['catch'](handleError(_0x6cc233,null));};exports[_0xe1f1('0x47')]=function(_0x26d6dc,_0x4f7483){var _0x1703da={'raw':![],'where':{'id':_0x26d6dc[_0xe1f1('0x48')]['id']}},_0x21b6af={};_0x21b6af[_0xe1f1('0x33')]=_[_0xe1f1('0x35')](db[_0xe1f1('0x30')][_0xe1f1('0x31')]);_0x21b6af['query']=_[_0xe1f1('0x35')](_0x26d6dc[_0xe1f1('0x34')]);_0x21b6af[_0xe1f1('0x3f')]=_[_0xe1f1('0x37')](_0x21b6af[_0xe1f1('0x33')],_0x21b6af[_0xe1f1('0x34')]);_0x1703da[_0xe1f1('0x36')]=_['intersection'](_0x21b6af[_0xe1f1('0x33')],qs[_0xe1f1('0x38')](_0x26d6dc[_0xe1f1('0x34')][_0xe1f1('0x38')]));_0x1703da[_0xe1f1('0x36')]=_0x1703da[_0xe1f1('0x36')][_0xe1f1('0x39')]?_0x1703da[_0xe1f1('0x36')]:_0x21b6af[_0xe1f1('0x33')];if(_0x26d6dc['query'][_0xe1f1('0x44')]){_0x1703da[_0xe1f1('0x45')]=[{'all':!![]}];}_0x1703da=_[_0xe1f1('0x41')]({},_0x1703da,_0x26d6dc[_0xe1f1('0x43')]);return db[_0xe1f1('0x30')][_0xe1f1('0x49')](_0x1703da)[_0xe1f1('0x29')](handleEntityNotFound(_0x4f7483,null))[_0xe1f1('0x29')](respondWithResult(_0x4f7483,null))['catch'](handleError(_0x4f7483,null));};exports[_0xe1f1('0x4a')]=function(_0x150788,_0x1843c7){return db['Team'][_0xe1f1('0x4a')](_0x150788[_0xe1f1('0x4b')],{})[_0xe1f1('0x29')](function(_0x2f6230){var _0x777c6e=_0x150788['user'][_0xe1f1('0x4c')]({'plain':!![]});if(!_0x777c6e)throw new Error(_0xe1f1('0x4d'));if(_0x777c6e[_0xe1f1('0x4e')]===_0xe1f1('0x4f')){var _0xfdf67e=_0x2f6230[_0xe1f1('0x4c')]({'plain':!![]});var _0x151bfb=_0xe1f1('0x50');return db[_0xe1f1('0x51')][_0xe1f1('0x49')]({'where':{'name':_0x151bfb,'userProfileId':_0x777c6e[_0xe1f1('0x52')]},'raw':!![]})[_0xe1f1('0x29')](function(_0x465455){if(_0x465455&&_0x465455[_0xe1f1('0x53')]===0x0){return db[_0xe1f1('0x54')][_0xe1f1('0x4a')]({'name':_0xfdf67e['name'],'resourceId':_0xfdf67e['id'],'type':_0x465455[_0xe1f1('0x2c')],'sectionId':_0x465455['id']},{})[_0xe1f1('0x29')](function(){return _0x2f6230;});}else{return _0x2f6230;}})[_0xe1f1('0x55')](function(_0x32519c){logger[_0xe1f1('0x2a')](_0xe1f1('0x56'),_0x32519c);throw _0x32519c;});}return _0x2f6230;})['then'](respondWithResult(_0x1843c7,0xc9))[_0xe1f1('0x55')](handleError(_0x1843c7,null));};exports[_0xe1f1('0x28')]=function(_0x3a6ddb,_0x39f265){if(_0x3a6ddb[_0xe1f1('0x4b')]['id']){delete _0x3a6ddb[_0xe1f1('0x4b')]['id'];}return db[_0xe1f1('0x30')]['find']({'where':{'id':_0x3a6ddb[_0xe1f1('0x48')]['id']}})[_0xe1f1('0x29')](handleEntityNotFound(_0x39f265,null))[_0xe1f1('0x29')](saveUpdates(_0x3a6ddb[_0xe1f1('0x4b')],null))['then'](respondWithResult(_0x39f265,null))[_0xe1f1('0x55')](handleError(_0x39f265,null));};exports[_0xe1f1('0x57')]=function(_0x3016f4,_0x1379f2){var _0x380211=_0x3016f4[_0xe1f1('0x48')]['id'];var _0x1a8825=[];return db[_0xe1f1('0x58')][_0xe1f1('0x59')](function(_0x448bd8){var _0x3c203c='SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20'+_0x380211;return db[_0xe1f1('0x58')]['query'](_0x3c203c,{'type':db[_0xe1f1('0x5a')][_0xe1f1('0x5b')][_0xe1f1('0x5c')],'raw':!![],'transaction':_0x448bd8})[_0xe1f1('0x29')](function(_0x2764d4){_0x1a8825=_[_0xe1f1('0x2f')](_0x2764d4,function(_0x2c85ab){return Number(_0x2c85ab[_0xe1f1('0x5d')]);});})[_0xe1f1('0x29')](function(){var _0x3bf565=_0xe1f1('0x5e')+_0x380211;return db[_0xe1f1('0x58')][_0xe1f1('0x34')](_0x3bf565,{'type':db[_0xe1f1('0x5a')][_0xe1f1('0x5b')][_0xe1f1('0x5c')],'raw':!![],'transaction':_0x448bd8});})['then'](function(_0x8ba930){var _0x454e1e=_['map'](_0x8ba930,function(_0x4d78af){return Number(_0x4d78af[_0xe1f1('0x5f')]);});return db[_0xe1f1('0x60')][_0xe1f1('0x57')]({'where':{'UserId':{'$in':_0x1a8825},'VoiceQueueId':{'$in':_0x454e1e}},'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(){var _0x579a94=_0xe1f1('0x61')+_0x380211;return db[_0xe1f1('0x58')][_0xe1f1('0x34')](_0x579a94,{'type':db['Sequelize'][_0xe1f1('0x5b')][_0xe1f1('0x5c')],'raw':!![],'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(_0x52e06a){var _0x2c8398=_[_0xe1f1('0x2f')](_0x52e06a,function(_0x2cb80e){return Number(_0x2cb80e[_0xe1f1('0x62')]);});return db['UserMailQueue'][_0xe1f1('0x57')]({'where':{'UserId':{'$in':_0x1a8825},'MailQueueId':{'$in':_0x2c8398}},'transaction':_0x448bd8});})['then'](function(){var _0xfd6b7=_0xe1f1('0x63')+_0x380211;return db['sequelize'][_0xe1f1('0x34')](_0xfd6b7,{'type':db[_0xe1f1('0x5a')][_0xe1f1('0x5b')]['SELECT'],'raw':!![],'transaction':_0x448bd8});})['then'](function(_0x5b4ef6){var _0x809379=_[_0xe1f1('0x2f')](_0x5b4ef6,function(_0x1ed409){return Number(_0x1ed409[_0xe1f1('0x64')]);});return db[_0xe1f1('0x65')][_0xe1f1('0x57')]({'where':{'UserId':{'$in':_0x1a8825},'SmsQueueId':{'$in':_0x809379}},'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(){var _0xc789d4=_0xe1f1('0x66')+_0x380211;return db[_0xe1f1('0x58')][_0xe1f1('0x34')](_0xc789d4,{'type':db['Sequelize'][_0xe1f1('0x5b')][_0xe1f1('0x5c')],'raw':!![],'transaction':_0x448bd8});})['then'](function(_0x178db0){var _0x3d3b27=_[_0xe1f1('0x2f')](_0x178db0,function(_0x11d557){return Number(_0x11d557[_0xe1f1('0x67')]);});return db[_0xe1f1('0x68')][_0xe1f1('0x57')]({'where':{'UserId':{'$in':_0x1a8825},'ChatQueueId':{'$in':_0x3d3b27}},'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(){var _0x3a080e='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0x380211;return db[_0xe1f1('0x58')][_0xe1f1('0x34')](_0x3a080e,{'type':db[_0xe1f1('0x5a')][_0xe1f1('0x5b')][_0xe1f1('0x5c')],'raw':!![],'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(_0x1e086e){var _0x43282a=_[_0xe1f1('0x2f')](_0x1e086e,function(_0x5aaee9){return Number(_0x5aaee9['FaxQueueId']);});return db[_0xe1f1('0x69')][_0xe1f1('0x57')]({'where':{'UserId':{'$in':_0x1a8825},'FaxQueueId':{'$in':_0x43282a}},'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(){var _0x54cc17=_0xe1f1('0x6a')+_0x380211;return db['sequelize'][_0xe1f1('0x34')](_0x54cc17,{'type':db[_0xe1f1('0x5a')][_0xe1f1('0x5b')]['SELECT'],'raw':!![],'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(_0x5b8e8f){var _0x1ab300=_['map'](_0x5b8e8f,function(_0x3398fd){return Number(_0x3398fd['OpenchannelQueueId']);});return db[_0xe1f1('0x6b')][_0xe1f1('0x57')]({'where':{'UserId':{'$in':_0x1a8825},'OpenchannelQueueId':{'$in':_0x1ab300}},'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(){var _0x7515f4=_0xe1f1('0x6c')+_0x380211;return db[_0xe1f1('0x58')][_0xe1f1('0x34')](_0x7515f4,{'type':db[_0xe1f1('0x5a')]['QueryTypes'][_0xe1f1('0x5c')],'raw':!![],'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(_0x16d068){var _0x1b75c3=_[_0xe1f1('0x2f')](_0x16d068,function(_0x3f6a88){return Number(_0x3f6a88[_0xe1f1('0x6d')]);});return db[_0xe1f1('0x6e')][_0xe1f1('0x57')]({'where':{'UserId':{'$in':_0x1a8825},'WhatsappQueueId':{'$in':_0x1b75c3}},'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(){return db[_0xe1f1('0x6f')][_0xe1f1('0x49')]({'where':{'TeamId':_0x380211}});})[_0xe1f1('0x29')](function(_0x57562a){if(_0x57562a===null){return;}return db[_0xe1f1('0x70')]['destroy']({'where':{'UserId':{'$in':_0x1a8825},'VoicePrefixId':_0x57562a['VoicePrefixId']},'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(){return db[_0xe1f1('0x30')]['destroy']({'where':{'id':_0x380211},'cascade':!![],'transaction':_0x448bd8});})[_0xe1f1('0x29')](function(_0x3506da){if(_0x3506da===0x0){_0x1379f2[_0xe1f1('0x1c')](0x194);}else{return db[_0xe1f1('0x54')][_0xe1f1('0x57')]({'where':{'type':_0xe1f1('0x50'),'resourceId':_0x380211},'cascade':!![],'transaction':_0x448bd8})[_0xe1f1('0x29')](function(){_0x1379f2[_0xe1f1('0x1d')](0xcc)[_0xe1f1('0x71')]();});}})[_0xe1f1('0x55')](function(_0x281dc1){_0x1379f2['status'](0x1f4)['send'](_0x281dc1);});});};exports['getQueues']=function(_0x15f747,_0x1bc3e6,_0x43f48a){return db[_0xe1f1('0x30')][_0xe1f1('0x72')]({'where':{'id':_0x15f747['params']['id']}})[_0xe1f1('0x29')](handleEntityNotFound(_0x1bc3e6,null))['then'](function(_0x15d55f){if(!_0x15f747[_0xe1f1('0x34')][_0xe1f1('0x73')]||!utils[_0xe1f1('0x74')](_0x15f747[_0xe1f1('0x34')][_0xe1f1('0x73')])){throw new db[(_0xe1f1('0x5a'))][(_0xe1f1('0x75'))]('Unknown\x20channel');}var _0xede8fb={};var _0x4d381a={};_0x4d381a[_0xe1f1('0x33')]=_[_0xe1f1('0x35')](db[_[_0xe1f1('0x76')](_0x15f747[_0xe1f1('0x34')][_0xe1f1('0x73')][_0xe1f1('0x77')]())+_0xe1f1('0x78')][_0xe1f1('0x31')]);_0x4d381a[_0xe1f1('0x34')]=_[_0xe1f1('0x35')](_0x15f747[_0xe1f1('0x34')]);_0x4d381a[_0xe1f1('0x3f')]=_[_0xe1f1('0x37')](_0x4d381a[_0xe1f1('0x33')],_0x4d381a[_0xe1f1('0x34')]);_0xede8fb[_0xe1f1('0x36')]=_[_0xe1f1('0x37')](_0x4d381a[_0xe1f1('0x33')],qs['fields'](_0x15f747['query'][_0xe1f1('0x38')]));_0xede8fb['attributes']=_0xede8fb[_0xe1f1('0x36')][_0xe1f1('0x39')]?_0xede8fb['attributes']:_0x4d381a[_0xe1f1('0x33')];_0xede8fb[_0xe1f1('0x21')]=qs[_0xe1f1('0x21')](_0x15f747['query'][_0xe1f1('0x21')]);_0xede8fb[_0xe1f1('0x1f')]=qs[_0xe1f1('0x1f')](_0x15f747[_0xe1f1('0x34')][_0xe1f1('0x1f')]);_0xede8fb[_0xe1f1('0x3c')]=qs['sort'](_0x15f747[_0xe1f1('0x34')][_0xe1f1('0x3d')]);_0xede8fb[_0xe1f1('0x3e')]=qs[_0xe1f1('0x3f')](_[_0xe1f1('0x79')](_0x15f747['query'],_0x4d381a[_0xe1f1('0x3f')]));_0xede8fb=_[_0xe1f1('0x41')]({},_0xede8fb,_0x15f747[_0xe1f1('0x43')]);return _0x15d55f[_0xe1f1('0x4c')+_[_0xe1f1('0x76')](_0x15f747['query']['channel']['toLowerCase']())+_0xe1f1('0x7a')](_0xede8fb);})[_0xe1f1('0x29')](respondWithResult(_0x1bc3e6,null))['catch'](handleError(_0x1bc3e6,null));};exports[_0xe1f1('0x7b')]=function(_0x5744fe,_0x2d54f9,_0x6b329e){return db[_0xe1f1('0x30')][_0xe1f1('0x72')]({'where':{'id':_0x5744fe[_0xe1f1('0x48')]['id']}})[_0xe1f1('0x29')](function(_0x4b4ee4){if(_0x4b4ee4){if(!_0x5744fe[_0xe1f1('0x4b')][_0xe1f1('0x73')]||!utils[_0xe1f1('0x74')](_0x5744fe[_0xe1f1('0x4b')][_0xe1f1('0x73')])){throw new db['Sequelize'][(_0xe1f1('0x75'))]('Unknown\x20channel');}return _0x4b4ee4[_0xe1f1('0x7c')+_[_0xe1f1('0x76')](_0x5744fe[_0xe1f1('0x4b')][_0xe1f1('0x73')][_0xe1f1('0x77')]())+_0xe1f1('0x7a')](_0x5744fe[_0xe1f1('0x4b')][_0xe1f1('0x7d')]);}return null;})[_0xe1f1('0x29')](handleEntityNotFound(_0x2d54f9,null))[_0xe1f1('0x29')](respondWithStatusCode(_0x2d54f9,null))['catch'](handleError(_0x2d54f9,null));};exports[_0xe1f1('0x7e')]=function(_0x4babeb,_0x2ea28f,_0x2a9b14){return db['Team']['findOne']({'where':{'id':_0x4babeb[_0xe1f1('0x48')]['id']}})[_0xe1f1('0x29')](function(_0x9f7f05){if(_0x9f7f05){if(!_0x4babeb['query']['channel']||!utils[_0xe1f1('0x74')](_0x4babeb[_0xe1f1('0x34')][_0xe1f1('0x73')])){throw new db['Sequelize'][(_0xe1f1('0x75'))]('Unknown\x20channel');}return _0x9f7f05['remove'+_[_0xe1f1('0x76')](_0x4babeb[_0xe1f1('0x34')][_0xe1f1('0x73')][_0xe1f1('0x77')]())+_0xe1f1('0x7a')](_0x4babeb[_0xe1f1('0x34')][_0xe1f1('0x7d')]);}return null;})['then'](handleEntityNotFound(_0x2ea28f,null))['then'](respondWithStatusCode(_0x2ea28f,null))[_0xe1f1('0x55')](handleError(_0x2ea28f,null));};exports[_0xe1f1('0x7f')]=function(_0x44e230,_0x9cdae8){var _0x3e017e=_['isArray'](_0x44e230[_0xe1f1('0x4b')][_0xe1f1('0x7d')])?_0x44e230[_0xe1f1('0x4b')][_0xe1f1('0x7d')]:[_0x44e230[_0xe1f1('0x4b')][_0xe1f1('0x7d')]];var _0x1549a5=_0x44e230['params']['id'];return db[_0xe1f1('0x30')][_0xe1f1('0x49')]({'where':{'id':_0x1549a5}})[_0xe1f1('0x29')](handleEntityNotFound(_0x9cdae8,null))[_0xe1f1('0x29')](function(_0x1fdd1a){if(_0x1fdd1a){var _0x5471ae=[_0xe1f1('0x80'),_0xe1f1('0x81'),_0xe1f1('0x82'),_0xe1f1('0x83'),_0xe1f1('0x84'),'Openchannel',_0xe1f1('0x85')];return db['sequelize'][_0xe1f1('0x59')](function(_0x45030d){var _0x21f2a0=_[_0xe1f1('0x2f')](_0x5471ae,function(_0x17be0d){var _0x556f64={'attributes':['id',_0xe1f1('0x2c')]};if(_0x17be0d==='Voice'){_0x556f64[_0xe1f1('0x86')]={'attributes':[_0xe1f1('0x87')]};}return _0x1fdd1a[_0xe1f1('0x4c')+_0x17be0d+_0xe1f1('0x7a')](_0x556f64)[_0xe1f1('0x29')](function(_0x1c2216){var _0x4946ed=_[_0xe1f1('0x2f')](_0x1c2216,function(_0x51f181){var _0x22c6e5=_[_0xe1f1('0x2f')](_0x3e017e,function(_0x324858){var _0x4d349d={'where':{'UserId':_0x324858,[_0x17be0d+'QueueId']:_0x51f181['id']},'transaction':_0x45030d};if(_0x17be0d==='Voice'){_0x4d349d[_0xe1f1('0x88')]={'penalty':_0x51f181[_0xe1f1('0x89')][_0xe1f1('0x87')]};}return db['User'+_0x17be0d+_0xe1f1('0x78')][_0xe1f1('0x8a')](_0x4d349d)[_0xe1f1('0x29')](function(){socket[_0xe1f1('0x8b')]('user'+_0x17be0d+_0xe1f1('0x8c'),{'UserId':_0x324858,[_0x17be0d+_0xe1f1('0x8d')]:_0x51f181['id']});if(_0x17be0d!==_0xe1f1('0x80')){return;}return db[_0xe1f1('0x8e')][_0xe1f1('0x8f')]({'where':{'id':_0x3e017e,'online':0x1},'attributes':['id',_0xe1f1('0x2c'),_0xe1f1('0x90'),'voicePause',_0xe1f1('0x91')],'raw':!![]})[_0xe1f1('0x29')](function(_0x50bacd){var _0x143785=_[_0xe1f1('0x2f')](_0x50bacd,function(_0x3fc164){return db[_0xe1f1('0x92')]['upsert']({'membername':_0x3fc164[_0xe1f1('0x2c')],'UserId':_0x3fc164['id'],'queue_name':_0x51f181['name'],'VoiceQueueId':_0x51f181['id'],'interface':_[_0xe1f1('0x93')](_0x3fc164[_0xe1f1('0x91')])?util[_0xe1f1('0x94')](_0xe1f1('0x95'),_0x3fc164['name']):_0x3fc164[_0xe1f1('0x91')],'paused':_0x3fc164['voicePause']||![],'penalty':_0x51f181[_0xe1f1('0x89')][_0xe1f1('0x87')]},{'transaction':_0x45030d});});return Promise[_0xe1f1('0x96')](_0x143785);});});});return Promise['all'](_0x22c6e5);});return Promise[_0xe1f1('0x96')](_0x4946ed);})[_0xe1f1('0x29')](function(){return db['TeamVoicePrefix'][_0xe1f1('0x72')]({'where':{'teamId':_0x1549a5}})[_0xe1f1('0x29')](function(_0x57a2b6){if(_0x57a2b6){var _0xfdf465=_[_0xe1f1('0x2f')](_0x3e017e,function(_0x3cfaa6){db[_0xe1f1('0x70')]['upsert']({'UserId':_0x3cfaa6,'VoicePrefixId':_0x57a2b6[_0xe1f1('0x97')]});});return Promise['all'](_0xfdf465);}});});});return Promise[_0xe1f1('0x96')](_0x21f2a0)[_0xe1f1('0x29')](function(){return _0x1fdd1a[_0xe1f1('0x7f')](_0x3e017e,{'transaction':_0x45030d})[_0xe1f1('0x98')](function(_0x197939){return _0x197939;});});});}})['then'](respondWithResult(_0x9cdae8,null))[_0xe1f1('0x55')](handleError(_0x9cdae8,null));};exports[_0xe1f1('0x99')]=function(_0x3017cb,_0x39ecff){var _0x4bf76d=_['isArray'](_0x3017cb['query']['ids'])?_0x3017cb[_0xe1f1('0x34')][_0xe1f1('0x7d')]:[_0x3017cb[_0xe1f1('0x34')][_0xe1f1('0x7d')]];var _0x5a1fec=_0x3017cb[_0xe1f1('0x48')]['id'];return db[_0xe1f1('0x30')][_0xe1f1('0x49')]({'where':{'id':_0x5a1fec}})['then'](handleEntityNotFound(_0x39ecff,null))['then'](function(_0x31edb7){if(_0x31edb7){var _0xb6c00c=[_0xe1f1('0x80'),'Chat',_0xe1f1('0x82'),_0xe1f1('0x83'),_0xe1f1('0x84'),'Openchannel','Whatsapp'];return db[_0xe1f1('0x58')][_0xe1f1('0x59')](function(_0x42d520){var _0x49c096=_['map'](_0xb6c00c,function(_0x577360){var _0x4572c7={'attributes':['id',_0xe1f1('0x2c')]};return _0x31edb7[_0xe1f1('0x4c')+_0x577360+'Queues'](_0x4572c7)[_0xe1f1('0x29')](function(_0x1bd252){var _0xcdd23a=_[_0xe1f1('0x2f')](_0x1bd252,function(_0x3d6f50){return _0x3d6f50[_0xe1f1('0x99')](_0x4bf76d,{'transaction':_0x42d520})[_0xe1f1('0x29')](function(){var _0x5bdfbd=_[_0xe1f1('0x2f')](_0x4bf76d,function(_0x11f4d9){socket[_0xe1f1('0x8b')](_0xe1f1('0x4f')+_0x577360+_0xe1f1('0x9a'),{'UserId':Number(_0x11f4d9),[_0x577360+_0xe1f1('0x8d')]:_0x3d6f50['id']});if(_0x577360!==_0xe1f1('0x80')){return;}return db['UserVoiceQueueRt']['destroy']({'where':{'VoiceQueueId':_0x3d6f50['id'],'UserId':_0x11f4d9},'transaction':_0x42d520});});return Promise['all'](_0x5bdfbd);});});return Promise['all'](_0xcdd23a);});});return Promise[_0xe1f1('0x96')](_0x49c096)[_0xe1f1('0x29')](function(){return _0x31edb7[_0xe1f1('0x99')](_0x4bf76d,{'transaction':_0x42d520});})[_0xe1f1('0x29')](function(){return db[_0xe1f1('0x6f')][_0xe1f1('0x72')]({'where':{'teamId':_0x5a1fec}})[_0xe1f1('0x29')](function(_0x110b4c){if(_0x110b4c){var _0x6ceac7=_['map'](_0x4bf76d,function(_0x1dbdca){db[_0xe1f1('0x70')][_0xe1f1('0x57')]({'where':{'UserId':_0x1dbdca,'VoicePrefixId':_0x110b4c[_0xe1f1('0x97')]}});});return Promise[_0xe1f1('0x96')](_0x6ceac7);}});});});}})['then'](respondWithStatusCode(_0x39ecff,null))[_0xe1f1('0x55')](handleError(_0x39ecff,null));};exports['getAgents']=function(_0xfbd5a2,_0x3fd9b2,_0x4b6f1c){var _0x377884={};var _0x312021={};var _0x504674;var _0x4f3159;return db[_0xe1f1('0x30')][_0xe1f1('0x72')]({'where':{'id':_0xfbd5a2[_0xe1f1('0x48')]['id']}})['then'](handleEntityNotFound(_0x3fd9b2,null))[_0xe1f1('0x29')](function(_0x3c04a2){if(_0x3c04a2){_0x504674=_0x3c04a2;_0x312021['model']=_[_0xe1f1('0x35')](db[_0xe1f1('0x8e')][_0xe1f1('0x31')]);_0x312021['query']=_['keys'](_0xfbd5a2['query']);_0x312021['filters']=_[_0xe1f1('0x37')](_0x312021[_0xe1f1('0x33')],_0x312021['query']);_0x377884['attributes']=_[_0xe1f1('0x37')](_0x312021[_0xe1f1('0x33')],qs['fields'](_0xfbd5a2[_0xe1f1('0x34')][_0xe1f1('0x38')]));_0x377884['attributes']=_0x377884['attributes'][_0xe1f1('0x39')]?_0x377884[_0xe1f1('0x36')]:_0x312021['model'];_0x377884[_0xe1f1('0x3c')]=qs[_0xe1f1('0x3d')](_0xfbd5a2[_0xe1f1('0x34')][_0xe1f1('0x3d')]);_0x377884[_0xe1f1('0x3e')]=qs[_0xe1f1('0x3f')](_['pick'](_0xfbd5a2[_0xe1f1('0x34')],_0x312021[_0xe1f1('0x3f')]));if(_0xfbd5a2[_0xe1f1('0x34')][_0xe1f1('0x40')]){_0x377884['where']=_[_0xe1f1('0x41')](_0x377884['where'],{'$or':_[_0xe1f1('0x2f')](_0x377884[_0xe1f1('0x36')],function(_0x17b81c){var _0x3efdfa={};_0x3efdfa[_0x17b81c]={'$like':'%'+_0xfbd5a2[_0xe1f1('0x34')]['filter']+'%'};return _0x3efdfa;})});}_0x377884=_[_0xe1f1('0x41')]({},_0x377884,_0xfbd5a2[_0xe1f1('0x43')]);return _0x504674[_0xe1f1('0x9b')](_0x377884);}})[_0xe1f1('0x29')](function(_0x53006a){if(_0x53006a){_0x4f3159=_0x53006a[_0xe1f1('0x39')];if(!_0xfbd5a2[_0xe1f1('0x34')][_0xe1f1('0x3a')](_0xe1f1('0x3b'))){_0x377884['limit']=qs[_0xe1f1('0x21')](_0xfbd5a2[_0xe1f1('0x34')][_0xe1f1('0x21')]);_0x377884[_0xe1f1('0x1f')]=qs[_0xe1f1('0x1f')](_0xfbd5a2[_0xe1f1('0x34')][_0xe1f1('0x1f')]);}return _0x504674[_0xe1f1('0x9b')](_0x377884);}})[_0xe1f1('0x29')](function(_0x3b2a39){if(_0x3b2a39){return _0x3b2a39?{'count':_0x4f3159,'rows':_0x3b2a39}:null;}})[_0xe1f1('0x29')](respondWithResult(_0x3fd9b2,null))['catch'](handleError(_0x3fd9b2,null));};