Built motion from commit b5413ace.|2.6.9
[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 _0xfc1e=['model','query','filters','attributes','intersection','fields','nolimit','order','sort','where','filter','merge','type','VIRTUAL','options','includeAll','include','rows','catch','params','keys','rawAttributes','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Teams','UserProfileSection','autoAssociation','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','find','destroy','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','sequelize','QueryTypes','SELECT','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','Sequelize','VoiceQueueId','UserVoiceQueue','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','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','OpenchannelQueueId','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','UserWhatsappQueue','TeamVoicePrefix','VoicePrefixId','getQueues','findOne','channel','isValidChannel','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','length','pick','Queues','add','ids','removeQueues','remove','addAgents','isArray','Voice','Chat','Mail','Sms','Fax','Openchannel','Whatsapp','through','penalty','QueueId','TeamVoiceQueue','findOrCreate','Queue:save','User','findAll','online','interface','UserVoiceQueueRt','format','SIP/%s','voicePause','all','UserVoicePrefix','upsert','spread','removeAgents','Queue:remove','getAgents','hasOwnProperty','eml-format','zip-dir','fast-json-patch','moment','bluebird','mustache','util','path','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','localhost','redis','./team.socket','status','end','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','then','sendStatus','stack','name','send','index','map','Team','fieldName','key'];(function(_0x250aea,_0xfdf9c0){var _0xaa4139=function(_0x2d1c58){while(--_0x2d1c58){_0x250aea['push'](_0x250aea['shift']());}};_0xaa4139(++_0xfdf9c0);}(_0xfc1e,0x10a));var _0xefc1=function(_0x622035,_0x1a4b91){_0x622035=_0x622035-0x0;var _0x326cf2=_0xfc1e[_0x622035];return _0x326cf2;};'use strict';var emlformat=require(_0xefc1('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xefc1('0x1'));var jsonpatch=require(_0xefc1('0x2'));var rp=require('request-promise');var moment=require(_0xefc1('0x3'));var BPromise=require(_0xefc1('0x4'));var Mustache=require(_0xefc1('0x5'));var util=require(_0xefc1('0x6'));var path=require(_0xefc1('0x7'));var sox=require('sox');var csv=require(_0xefc1('0x8'));var ejs=require(_0xefc1('0x9'));var fs=require('fs');var fs_extra=require(_0xefc1('0xa'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xefc1('0xb'));var jsforce=require(_0xefc1('0xc'));var deskjs=require(_0xefc1('0xd'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0xefc1('0xe'));var Redis=require(_0xefc1('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xefc1('0x10'));var as=require(_0xefc1('0x11'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xefc1('0x12'))(_0xefc1('0x13'));var utils=require(_0xefc1('0x14'));var config=require(_0xefc1('0x15'));var licenseUtil=require(_0xefc1('0x16'));var db=require(_0xefc1('0x17'))['db'];config['redis']=_[_0xefc1('0x18')](config['redis'],{'host':_0xefc1('0x19'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xefc1('0x1a')]));require(_0xefc1('0x1b'))['register'](socket);function respondWithStatusCode(_0xdd5c57,_0x5bffe0){_0x5bffe0=_0x5bffe0||0xcc;return function(_0x16cae4){if(_0x16cae4){return _0xdd5c57['sendStatus'](_0x5bffe0);}return _0xdd5c57[_0xefc1('0x1c')](_0x5bffe0)[_0xefc1('0x1d')]();};}function respondWithResult(_0x6cc6d,_0x5e71fb){_0x5e71fb=_0x5e71fb||0xc8;return function(_0x5c7d7a){if(_0x5c7d7a){return _0x6cc6d[_0xefc1('0x1c')](_0x5e71fb)['json'](_0x5c7d7a);}};}function respondWithFilteredResult(_0x57e6a5,_0x2c3877){return function(_0x320d1d){if(_0x320d1d){var _0x5ce969=typeof _0x2c3877[_0xefc1('0x1e')]===_0xefc1('0x1f')&&typeof _0x2c3877[_0xefc1('0x20')]===_0xefc1('0x1f');var _0x1ff166=_0x320d1d['count'];var _0x435840=_0x5ce969?0x0:_0x2c3877[_0xefc1('0x1e')];var _0x325107=_0x5ce969?_0x320d1d[_0xefc1('0x21')]:_0x2c3877[_0xefc1('0x1e')]+_0x2c3877[_0xefc1('0x20')];var _0x34c173;if(_0x325107>=_0x1ff166){_0x325107=_0x1ff166;_0x34c173=0xc8;}else{_0x34c173=0xce;}_0x57e6a5[_0xefc1('0x1c')](_0x34c173);return _0x57e6a5[_0xefc1('0x22')](_0xefc1('0x23'),_0x435840+'-'+_0x325107+'/'+_0x1ff166)['json'](_0x320d1d);}return null;};}function patchUpdates(_0xe42ad9){return function(_0x54b63b){try{jsonpatch[_0xefc1('0x24')](_0x54b63b,_0xe42ad9,!![]);}catch(_0x3c2da3){return BPromise[_0xefc1('0x25')](_0x3c2da3);}return _0x54b63b[_0xefc1('0x26')]();};}function saveUpdates(_0xeeba91,_0x585eca){return function(_0x46f9e7){if(_0x46f9e7){return _0x46f9e7[_0xefc1('0x27')](_0xeeba91)[_0xefc1('0x28')](function(_0x37f4dc){return _0x37f4dc;});}return null;};}function handleEntityNotFound(_0x381aef,_0x50b462){return function(_0x4bb7ad){if(!_0x4bb7ad){_0x381aef[_0xefc1('0x29')](0x194);}return _0x4bb7ad;};}function handleError(_0xbebb0b,_0xf93b46){_0xf93b46=_0xf93b46||0x1f4;return function(_0x5b821a){logger['error'](_0x5b821a[_0xefc1('0x2a')]);if(_0x5b821a['name']){delete _0x5b821a[_0xefc1('0x2b')];}_0xbebb0b[_0xefc1('0x1c')](_0xf93b46)[_0xefc1('0x2c')](_0x5b821a);};}exports[_0xefc1('0x2d')]=function(_0x3341f1,_0xee006f){var _0x2ef2d6={},_0x573992={},_0x12c644={'count':0x0,'rows':[]};var _0x4fc28c=_[_0xefc1('0x2e')](db[_0xefc1('0x2f')]['rawAttributes'],function(_0x319e1d){return{'name':_0x319e1d[_0xefc1('0x30')],'type':_0x319e1d['type'][_0xefc1('0x31')]};});_0x573992[_0xefc1('0x32')]=_[_0xefc1('0x2e')](_0x4fc28c,_0xefc1('0x2b'));_0x573992[_0xefc1('0x33')]=_['keys'](_0x3341f1[_0xefc1('0x33')]);_0x573992[_0xefc1('0x34')]=_['intersection'](_0x573992[_0xefc1('0x32')],_0x573992[_0xefc1('0x33')]);_0x2ef2d6[_0xefc1('0x35')]=_[_0xefc1('0x36')](_0x573992[_0xefc1('0x32')],qs[_0xefc1('0x37')](_0x3341f1[_0xefc1('0x33')][_0xefc1('0x37')]));_0x2ef2d6[_0xefc1('0x35')]=_0x2ef2d6[_0xefc1('0x35')]['length']?_0x2ef2d6[_0xefc1('0x35')]:_0x573992[_0xefc1('0x32')];if(!_0x3341f1[_0xefc1('0x33')]['hasOwnProperty'](_0xefc1('0x38'))){_0x2ef2d6[_0xefc1('0x20')]=qs[_0xefc1('0x20')](_0x3341f1[_0xefc1('0x33')][_0xefc1('0x20')]);_0x2ef2d6[_0xefc1('0x1e')]=qs['offset'](_0x3341f1[_0xefc1('0x33')]['offset']);}_0x2ef2d6[_0xefc1('0x39')]=qs['sort'](_0x3341f1[_0xefc1('0x33')][_0xefc1('0x3a')]);_0x2ef2d6[_0xefc1('0x3b')]=qs[_0xefc1('0x34')](_['pick'](_0x3341f1['query'],_0x573992[_0xefc1('0x34')]),_0x4fc28c);if(_0x3341f1[_0xefc1('0x33')][_0xefc1('0x3c')]){_0x2ef2d6['where']=_[_0xefc1('0x3d')](_0x2ef2d6['where'],{'$or':_[_0xefc1('0x2e')](_0x4fc28c,function(_0x16655b){if(_0x16655b[_0xefc1('0x3e')]!==_0xefc1('0x3f')){var _0xf534ae={};_0xf534ae[_0x16655b[_0xefc1('0x2b')]]={'$like':'%'+_0x3341f1[_0xefc1('0x33')][_0xefc1('0x3c')]+'%'};return _0xf534ae;}})});}_0x2ef2d6=_[_0xefc1('0x3d')]({},_0x2ef2d6,_0x3341f1[_0xefc1('0x40')]);var _0x2a9e2b={'where':_0x2ef2d6[_0xefc1('0x3b')]};return db[_0xefc1('0x2f')][_0xefc1('0x21')](_0x2a9e2b)[_0xefc1('0x28')](function(_0x2fa07d){_0x12c644['count']=_0x2fa07d;if(_0x3341f1['query'][_0xefc1('0x41')]){_0x2ef2d6[_0xefc1('0x42')]=[{'all':!![]}];}return db[_0xefc1('0x2f')]['findAll'](_0x2ef2d6);})[_0xefc1('0x28')](function(_0x564145){_0x12c644[_0xefc1('0x43')]=_0x564145;return _0x12c644;})[_0xefc1('0x28')](respondWithFilteredResult(_0xee006f,_0x2ef2d6))[_0xefc1('0x44')](handleError(_0xee006f,null));};exports['show']=function(_0x2d4b9c,_0x2daaa3){var _0x75a6d7={'raw':![],'where':{'id':_0x2d4b9c[_0xefc1('0x45')]['id']}},_0x1f4346={};_0x1f4346[_0xefc1('0x32')]=_[_0xefc1('0x46')](db['Team'][_0xefc1('0x47')]);_0x1f4346[_0xefc1('0x33')]=_[_0xefc1('0x46')](_0x2d4b9c['query']);_0x1f4346[_0xefc1('0x34')]=_[_0xefc1('0x36')](_0x1f4346[_0xefc1('0x32')],_0x1f4346[_0xefc1('0x33')]);_0x75a6d7[_0xefc1('0x35')]=_['intersection'](_0x1f4346[_0xefc1('0x32')],qs['fields'](_0x2d4b9c['query'][_0xefc1('0x37')]));_0x75a6d7[_0xefc1('0x35')]=_0x75a6d7['attributes']['length']?_0x75a6d7[_0xefc1('0x35')]:_0x1f4346['model'];if(_0x2d4b9c[_0xefc1('0x33')][_0xefc1('0x41')]){_0x75a6d7[_0xefc1('0x42')]=[{'all':!![]}];}_0x75a6d7=_[_0xefc1('0x3d')]({},_0x75a6d7,_0x2d4b9c[_0xefc1('0x40')]);return db[_0xefc1('0x2f')]['find'](_0x75a6d7)[_0xefc1('0x28')](handleEntityNotFound(_0x2daaa3,null))[_0xefc1('0x28')](respondWithResult(_0x2daaa3,null))[_0xefc1('0x44')](handleError(_0x2daaa3,null));};exports['create']=function(_0x5213a3,_0x149737){return db[_0xefc1('0x2f')][_0xefc1('0x48')](_0x5213a3[_0xefc1('0x49')],{})[_0xefc1('0x28')](function(_0x224678){var _0x367b70=_0x5213a3[_0xefc1('0x4a')][_0xefc1('0x4b')]({'plain':!![]});if(!_0x367b70)throw new Error(_0xefc1('0x4c'));if(_0x367b70[_0xefc1('0x4d')]===_0xefc1('0x4a')){var _0xf61038=_0x224678[_0xefc1('0x4b')]({'plain':!![]});var _0x40ffc4=_0xefc1('0x4e');return db[_0xefc1('0x4f')]['find']({'where':{'name':_0x40ffc4,'userProfileId':_0x367b70['userProfileId']},'raw':!![]})['then'](function(_0x2f6699){if(_0x2f6699&&_0x2f6699[_0xefc1('0x50')]===0x0){return db[_0xefc1('0x51')][_0xefc1('0x48')]({'name':_0xf61038['name'],'resourceId':_0xf61038['id'],'type':_0x2f6699[_0xefc1('0x2b')],'sectionId':_0x2f6699['id']},{})[_0xefc1('0x28')](function(){return _0x224678;});}else{return _0x224678;}})['catch'](function(_0x1be3c0){logger[_0xefc1('0x52')](_0xefc1('0x53'),_0x1be3c0);throw _0x1be3c0;});}return _0x224678;})[_0xefc1('0x28')](respondWithResult(_0x149737,0xc9))[_0xefc1('0x44')](handleError(_0x149737,null));};exports[_0xefc1('0x27')]=function(_0xaa6efb,_0x2f9789){if(_0xaa6efb[_0xefc1('0x49')]['id']){delete _0xaa6efb['body']['id'];}return db[_0xefc1('0x2f')][_0xefc1('0x54')]({'where':{'id':_0xaa6efb[_0xefc1('0x45')]['id']}})['then'](handleEntityNotFound(_0x2f9789,null))[_0xefc1('0x28')](saveUpdates(_0xaa6efb[_0xefc1('0x49')],null))[_0xefc1('0x28')](respondWithResult(_0x2f9789,null))['catch'](handleError(_0x2f9789,null));};exports[_0xefc1('0x55')]=function(_0x2e72c9,_0x57216c){var _0x38ab89=_0x2e72c9['params']['id'];var _0x54f7c3=[];return db['sequelize']['transaction'](function(_0x3d6212){var _0x41e989=_0xefc1('0x56')+_0x38ab89;return db[_0xefc1('0x57')]['query'](_0x41e989,{'type':db['Sequelize'][_0xefc1('0x58')][_0xefc1('0x59')],'raw':!![],'transaction':_0x3d6212})[_0xefc1('0x28')](function(_0x1a7a1f){_0x54f7c3=_[_0xefc1('0x2e')](_0x1a7a1f,function(_0x1080d8){return Number(_0x1080d8['UserId']);});})[_0xefc1('0x28')](function(){var _0x2b0e31=_0xefc1('0x5a')+_0x38ab89;return db[_0xefc1('0x57')][_0xefc1('0x33')](_0x2b0e31,{'type':db[_0xefc1('0x5b')][_0xefc1('0x58')][_0xefc1('0x59')],'raw':!![],'transaction':_0x3d6212});})[_0xefc1('0x28')](function(_0x51d7de){var _0x39a41e=_[_0xefc1('0x2e')](_0x51d7de,function(_0x1eb29b){return Number(_0x1eb29b[_0xefc1('0x5c')]);});return db[_0xefc1('0x5d')][_0xefc1('0x55')]({'where':{'UserId':{'$in':_0x54f7c3},'VoiceQueueId':{'$in':_0x39a41e}},'transaction':_0x3d6212});})[_0xefc1('0x28')](function(){var _0x543804=_0xefc1('0x5e')+_0x38ab89;return db['sequelize'][_0xefc1('0x33')](_0x543804,{'type':db[_0xefc1('0x5b')][_0xefc1('0x58')][_0xefc1('0x59')],'raw':!![],'transaction':_0x3d6212});})[_0xefc1('0x28')](function(_0x1746af){var _0x2fb623=_[_0xefc1('0x2e')](_0x1746af,function(_0x2527b6){return Number(_0x2527b6[_0xefc1('0x5f')]);});return db[_0xefc1('0x60')][_0xefc1('0x55')]({'where':{'UserId':{'$in':_0x54f7c3},'MailQueueId':{'$in':_0x2fb623}},'transaction':_0x3d6212});})[_0xefc1('0x28')](function(){var _0x543258=_0xefc1('0x61')+_0x38ab89;return db[_0xefc1('0x57')][_0xefc1('0x33')](_0x543258,{'type':db[_0xefc1('0x5b')][_0xefc1('0x58')][_0xefc1('0x59')],'raw':!![],'transaction':_0x3d6212});})[_0xefc1('0x28')](function(_0x3e6214){var _0x259fdd=_[_0xefc1('0x2e')](_0x3e6214,function(_0x35329d){return Number(_0x35329d['SmsQueueId']);});return db[_0xefc1('0x62')][_0xefc1('0x55')]({'where':{'UserId':{'$in':_0x54f7c3},'SmsQueueId':{'$in':_0x259fdd}},'transaction':_0x3d6212});})[_0xefc1('0x28')](function(){var _0x40f009=_0xefc1('0x63')+_0x38ab89;return db[_0xefc1('0x57')][_0xefc1('0x33')](_0x40f009,{'type':db['Sequelize'][_0xefc1('0x58')][_0xefc1('0x59')],'raw':!![],'transaction':_0x3d6212});})[_0xefc1('0x28')](function(_0x5308d4){var _0x33cc37=_[_0xefc1('0x2e')](_0x5308d4,function(_0x3bf1d9){return Number(_0x3bf1d9[_0xefc1('0x64')]);});return db[_0xefc1('0x65')][_0xefc1('0x55')]({'where':{'UserId':{'$in':_0x54f7c3},'ChatQueueId':{'$in':_0x33cc37}},'transaction':_0x3d6212});})[_0xefc1('0x28')](function(){var _0x374c0d=_0xefc1('0x66')+_0x38ab89;return db[_0xefc1('0x57')]['query'](_0x374c0d,{'type':db[_0xefc1('0x5b')][_0xefc1('0x58')][_0xefc1('0x59')],'raw':!![],'transaction':_0x3d6212});})[_0xefc1('0x28')](function(_0x33c0df){var _0x55e9a5=_['map'](_0x33c0df,function(_0x42f407){return Number(_0x42f407[_0xefc1('0x67')]);});return db[_0xefc1('0x68')]['destroy']({'where':{'UserId':{'$in':_0x54f7c3},'FaxQueueId':{'$in':_0x55e9a5}},'transaction':_0x3d6212});})[_0xefc1('0x28')](function(){var _0x20a42f='SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20'+_0x38ab89;return db[_0xefc1('0x57')][_0xefc1('0x33')](_0x20a42f,{'type':db[_0xefc1('0x5b')][_0xefc1('0x58')][_0xefc1('0x59')],'raw':!![],'transaction':_0x3d6212});})[_0xefc1('0x28')](function(_0x5c390a){var _0x5d3630=_[_0xefc1('0x2e')](_0x5c390a,function(_0x1e1921){return Number(_0x1e1921[_0xefc1('0x69')]);});return db['UserOpenchannelQueue']['destroy']({'where':{'UserId':{'$in':_0x54f7c3},'OpenchannelQueueId':{'$in':_0x5d3630}},'transaction':_0x3d6212});})['then'](function(){var _0x454f6f=_0xefc1('0x6a')+_0x38ab89;return db['sequelize'][_0xefc1('0x33')](_0x454f6f,{'type':db['Sequelize'][_0xefc1('0x58')]['SELECT'],'raw':!![],'transaction':_0x3d6212});})[_0xefc1('0x28')](function(_0x4bc3f4){var _0x52dc04=_[_0xefc1('0x2e')](_0x4bc3f4,function(_0x5ac605){return Number(_0x5ac605[_0xefc1('0x6b')]);});return db[_0xefc1('0x6c')]['destroy']({'where':{'UserId':{'$in':_0x54f7c3},'WhatsappQueueId':{'$in':_0x52dc04}},'transaction':_0x3d6212});})[_0xefc1('0x28')](function(){return db[_0xefc1('0x6d')]['find']({'where':{'TeamId':_0x38ab89}});})[_0xefc1('0x28')](function(_0x11071a){if(_0x11071a===null){return;}return db['UserVoicePrefix'][_0xefc1('0x55')]({'where':{'UserId':{'$in':_0x54f7c3},'VoicePrefixId':_0x11071a[_0xefc1('0x6e')]},'transaction':_0x3d6212});})[_0xefc1('0x28')](function(){return db['Team'][_0xefc1('0x55')]({'where':{'id':_0x38ab89},'cascade':!![],'transaction':_0x3d6212});})[_0xefc1('0x28')](function(_0xce94b4){if(_0xce94b4===0x0){_0x57216c[_0xefc1('0x29')](0x194);}else{return db[_0xefc1('0x51')][_0xefc1('0x55')]({'where':{'type':_0xefc1('0x4e'),'resourceId':_0x38ab89},'cascade':!![],'transaction':_0x3d6212})['then'](function(){_0x57216c[_0xefc1('0x1c')](0xcc)[_0xefc1('0x1d')]();});}})['catch'](function(_0x5cbe37){_0x57216c[_0xefc1('0x1c')](0x1f4)[_0xefc1('0x2c')](_0x5cbe37);});});};exports[_0xefc1('0x6f')]=function(_0x54d918,_0x3dcfd9,_0x57fdbb){return db[_0xefc1('0x2f')][_0xefc1('0x70')]({'where':{'id':_0x54d918['params']['id']}})[_0xefc1('0x28')](handleEntityNotFound(_0x3dcfd9,null))[_0xefc1('0x28')](function(_0x565225){if(!_0x54d918[_0xefc1('0x33')][_0xefc1('0x71')]||!utils[_0xefc1('0x72')](_0x54d918['query'][_0xefc1('0x71')])){throw new db[(_0xefc1('0x5b'))][(_0xefc1('0x73'))](_0xefc1('0x74'));}var _0xdff419={};var _0x22cf54={};_0x22cf54['model']=_[_0xefc1('0x46')](db[_[_0xefc1('0x75')](_0x54d918[_0xefc1('0x33')][_0xefc1('0x71')][_0xefc1('0x76')]())+_0xefc1('0x77')]['rawAttributes']);_0x22cf54[_0xefc1('0x33')]=_['keys'](_0x54d918[_0xefc1('0x33')]);_0x22cf54[_0xefc1('0x34')]=_[_0xefc1('0x36')](_0x22cf54[_0xefc1('0x32')],_0x22cf54[_0xefc1('0x33')]);_0xdff419['attributes']=_[_0xefc1('0x36')](_0x22cf54['model'],qs[_0xefc1('0x37')](_0x54d918['query'][_0xefc1('0x37')]));_0xdff419[_0xefc1('0x35')]=_0xdff419[_0xefc1('0x35')][_0xefc1('0x78')]?_0xdff419[_0xefc1('0x35')]:_0x22cf54[_0xefc1('0x32')];_0xdff419[_0xefc1('0x20')]=qs['limit'](_0x54d918['query'][_0xefc1('0x20')]);_0xdff419['offset']=qs['offset'](_0x54d918[_0xefc1('0x33')][_0xefc1('0x1e')]);_0xdff419[_0xefc1('0x39')]=qs[_0xefc1('0x3a')](_0x54d918[_0xefc1('0x33')][_0xefc1('0x3a')]);_0xdff419[_0xefc1('0x3b')]=qs[_0xefc1('0x34')](_[_0xefc1('0x79')](_0x54d918[_0xefc1('0x33')],_0x22cf54[_0xefc1('0x34')]));_0xdff419=_['merge']({},_0xdff419,_0x54d918['options']);return _0x565225[_0xefc1('0x4b')+_['capitalize'](_0x54d918[_0xefc1('0x33')][_0xefc1('0x71')]['toLowerCase']())+_0xefc1('0x7a')](_0xdff419);})[_0xefc1('0x28')](respondWithResult(_0x3dcfd9,null))[_0xefc1('0x44')](handleError(_0x3dcfd9,null));};exports['addQueues']=function(_0x2cac3e,_0x5834d7,_0xb19b49){return db[_0xefc1('0x2f')][_0xefc1('0x70')]({'where':{'id':_0x2cac3e[_0xefc1('0x45')]['id']}})[_0xefc1('0x28')](function(_0x2e29a9){if(_0x2e29a9){if(!_0x2cac3e[_0xefc1('0x49')][_0xefc1('0x71')]||!utils[_0xefc1('0x72')](_0x2cac3e['body'][_0xefc1('0x71')])){throw new db[(_0xefc1('0x5b'))][(_0xefc1('0x73'))](_0xefc1('0x74'));}return _0x2e29a9[_0xefc1('0x7b')+_['capitalize'](_0x2cac3e[_0xefc1('0x49')][_0xefc1('0x71')][_0xefc1('0x76')]())+_0xefc1('0x7a')](_0x2cac3e[_0xefc1('0x49')][_0xefc1('0x7c')]);}return null;})['then'](handleEntityNotFound(_0x5834d7,null))['then'](respondWithStatusCode(_0x5834d7,null))[_0xefc1('0x44')](handleError(_0x5834d7,null));};exports[_0xefc1('0x7d')]=function(_0x44f785,_0x4ef049,_0x2fe925){return db['Team']['findOne']({'where':{'id':_0x44f785['params']['id']}})[_0xefc1('0x28')](function(_0xb89377){if(_0xb89377){if(!_0x44f785['query'][_0xefc1('0x71')]||!utils[_0xefc1('0x72')](_0x44f785[_0xefc1('0x33')][_0xefc1('0x71')])){throw new db[(_0xefc1('0x5b'))][(_0xefc1('0x73'))](_0xefc1('0x74'));}return _0xb89377[_0xefc1('0x7e')+_['capitalize'](_0x44f785[_0xefc1('0x33')][_0xefc1('0x71')][_0xefc1('0x76')]())+_0xefc1('0x7a')](_0x44f785[_0xefc1('0x33')][_0xefc1('0x7c')]);}return null;})[_0xefc1('0x28')](handleEntityNotFound(_0x4ef049,null))[_0xefc1('0x28')](respondWithStatusCode(_0x4ef049,null))[_0xefc1('0x44')](handleError(_0x4ef049,null));};exports[_0xefc1('0x7f')]=function(_0x4fef4a,_0x350d72){var _0x2d4330=_[_0xefc1('0x80')](_0x4fef4a[_0xefc1('0x49')][_0xefc1('0x7c')])?_0x4fef4a['body'][_0xefc1('0x7c')]:[_0x4fef4a[_0xefc1('0x49')]['ids']];var _0x29756c=_0x4fef4a[_0xefc1('0x45')]['id'];return db['Team'][_0xefc1('0x54')]({'where':{'id':_0x29756c}})[_0xefc1('0x28')](handleEntityNotFound(_0x350d72,null))[_0xefc1('0x28')](function(_0xec5356){if(_0xec5356){var _0x1b61d7=[_0xefc1('0x81'),_0xefc1('0x82'),_0xefc1('0x83'),_0xefc1('0x84'),_0xefc1('0x85'),_0xefc1('0x86'),_0xefc1('0x87')];return db[_0xefc1('0x57')]['transaction'](function(_0x42d426){var _0x4b203c=_[_0xefc1('0x2e')](_0x1b61d7,function(_0x1e6d8d){var _0x2fff33={'attributes':['id',_0xefc1('0x2b')]};if(_0x1e6d8d===_0xefc1('0x81')){_0x2fff33[_0xefc1('0x88')]={'attributes':[_0xefc1('0x89')]};}return _0xec5356['get'+_0x1e6d8d+_0xefc1('0x7a')](_0x2fff33)[_0xefc1('0x28')](function(_0x4971b5){var _0x27aff0=_[_0xefc1('0x2e')](_0x4971b5,function(_0x2868b8){var _0x4493c0=_[_0xefc1('0x2e')](_0x2d4330,function(_0x13435d){var _0x57f78d={'where':{'UserId':_0x13435d,[_0x1e6d8d+_0xefc1('0x8a')]:_0x2868b8['id']},'transaction':_0x42d426};if(_0x1e6d8d==='Voice'){_0x57f78d['defaults']={'penalty':_0x2868b8[_0xefc1('0x8b')][_0xefc1('0x89')]};}return db['User'+_0x1e6d8d+_0xefc1('0x77')][_0xefc1('0x8c')](_0x57f78d)[_0xefc1('0x28')](function(){socket['emit'](_0xefc1('0x4a')+_0x1e6d8d+_0xefc1('0x8d'),{'UserId':_0x13435d,[_0x1e6d8d+_0xefc1('0x8a')]:_0x2868b8['id']});if(_0x1e6d8d!==_0xefc1('0x81')){return;}return db[_0xefc1('0x8e')][_0xefc1('0x8f')]({'where':{'id':_0x2d4330,'online':0x1},'attributes':['id','name',_0xefc1('0x90'),'voicePause',_0xefc1('0x91')],'raw':!![]})[_0xefc1('0x28')](function(_0x43ca99){var _0x20d96d=_[_0xefc1('0x2e')](_0x43ca99,function(_0x16eb86){return db[_0xefc1('0x92')]['upsert']({'membername':_0x16eb86[_0xefc1('0x2b')],'UserId':_0x16eb86['id'],'queue_name':_0x2868b8[_0xefc1('0x2b')],'VoiceQueueId':_0x2868b8['id'],'interface':_['isNil'](_0x16eb86[_0xefc1('0x91')])?util[_0xefc1('0x93')](_0xefc1('0x94'),_0x16eb86[_0xefc1('0x2b')]):_0x16eb86[_0xefc1('0x91')],'paused':_0x16eb86[_0xefc1('0x95')]||![],'penalty':_0x2868b8[_0xefc1('0x8b')][_0xefc1('0x89')]},{'transaction':_0x42d426});});return Promise['all'](_0x20d96d);});});});return Promise[_0xefc1('0x96')](_0x4493c0);});return Promise[_0xefc1('0x96')](_0x27aff0);})[_0xefc1('0x28')](function(){return db[_0xefc1('0x6d')][_0xefc1('0x70')]({'where':{'teamId':_0x29756c}})['then'](function(_0x2f685a){if(_0x2f685a){var _0x4d2fe7=_[_0xefc1('0x2e')](_0x2d4330,function(_0x53b17d){db[_0xefc1('0x97')][_0xefc1('0x98')]({'UserId':_0x53b17d,'VoicePrefixId':_0x2f685a[_0xefc1('0x6e')]});});return Promise['all'](_0x4d2fe7);}});});});return Promise[_0xefc1('0x96')](_0x4b203c)[_0xefc1('0x28')](function(){return _0xec5356['addAgents'](_0x2d4330,{'transaction':_0x42d426})[_0xefc1('0x99')](function(_0xe3b13c){return _0xe3b13c;});});});}})['then'](respondWithResult(_0x350d72,null))[_0xefc1('0x44')](handleError(_0x350d72,null));};exports[_0xefc1('0x9a')]=function(_0x1fc401,_0x268616){var _0x3fbae9=_[_0xefc1('0x80')](_0x1fc401['query'][_0xefc1('0x7c')])?_0x1fc401[_0xefc1('0x33')][_0xefc1('0x7c')]:[_0x1fc401[_0xefc1('0x33')][_0xefc1('0x7c')]];var _0x4b10df=_0x1fc401[_0xefc1('0x45')]['id'];return db[_0xefc1('0x2f')][_0xefc1('0x54')]({'where':{'id':_0x4b10df}})[_0xefc1('0x28')](handleEntityNotFound(_0x268616,null))['then'](function(_0x55eb8c){if(_0x55eb8c){var _0x2ffc06=[_0xefc1('0x81'),_0xefc1('0x82'),_0xefc1('0x83'),_0xefc1('0x84'),_0xefc1('0x85'),_0xefc1('0x86'),'Whatsapp'];return db[_0xefc1('0x57')]['transaction'](function(_0x52fc5a){var _0x173aa0=_[_0xefc1('0x2e')](_0x2ffc06,function(_0x36fe2b){var _0x15b8f6={'attributes':['id',_0xefc1('0x2b')]};return _0x55eb8c[_0xefc1('0x4b')+_0x36fe2b+_0xefc1('0x7a')](_0x15b8f6)['then'](function(_0x364437){var _0x17a1d9=_[_0xefc1('0x2e')](_0x364437,function(_0x24b92c){return _0x24b92c[_0xefc1('0x9a')](_0x3fbae9,{'transaction':_0x52fc5a})['then'](function(){var _0x5f4a79=_[_0xefc1('0x2e')](_0x3fbae9,function(_0x594c40){socket['emit']('user'+_0x36fe2b+_0xefc1('0x9b'),{'UserId':Number(_0x594c40),[_0x36fe2b+_0xefc1('0x8a')]:_0x24b92c['id']});if(_0x36fe2b!==_0xefc1('0x81')){return;}return db[_0xefc1('0x92')]['destroy']({'where':{'VoiceQueueId':_0x24b92c['id'],'UserId':_0x594c40},'transaction':_0x52fc5a});});return Promise[_0xefc1('0x96')](_0x5f4a79);});});return Promise['all'](_0x17a1d9);});});return Promise[_0xefc1('0x96')](_0x173aa0)[_0xefc1('0x28')](function(){return _0x55eb8c['removeAgents'](_0x3fbae9,{'transaction':_0x52fc5a});})[_0xefc1('0x28')](function(){return db['TeamVoicePrefix'][_0xefc1('0x70')]({'where':{'teamId':_0x4b10df}})['then'](function(_0x30b8c4){if(_0x30b8c4){var _0x90a4ea=_[_0xefc1('0x2e')](_0x3fbae9,function(_0x52232f){db[_0xefc1('0x97')][_0xefc1('0x55')]({'where':{'UserId':_0x52232f,'VoicePrefixId':_0x30b8c4[_0xefc1('0x6e')]}});});return Promise[_0xefc1('0x96')](_0x90a4ea);}});});});}})[_0xefc1('0x28')](respondWithStatusCode(_0x268616,null))['catch'](handleError(_0x268616,null));};exports['getAgents']=function(_0x10016f,_0x1babcf,_0x44b2a1){var _0x3a239a={};var _0x4cac18={};var _0x560414;var _0x408696;return db[_0xefc1('0x2f')][_0xefc1('0x70')]({'where':{'id':_0x10016f['params']['id']}})[_0xefc1('0x28')](handleEntityNotFound(_0x1babcf,null))[_0xefc1('0x28')](function(_0x5227b8){if(_0x5227b8){_0x560414=_0x5227b8;_0x4cac18[_0xefc1('0x32')]=_[_0xefc1('0x46')](db[_0xefc1('0x8e')][_0xefc1('0x47')]);_0x4cac18['query']=_['keys'](_0x10016f[_0xefc1('0x33')]);_0x4cac18[_0xefc1('0x34')]=_['intersection'](_0x4cac18[_0xefc1('0x32')],_0x4cac18[_0xefc1('0x33')]);_0x3a239a[_0xefc1('0x35')]=_[_0xefc1('0x36')](_0x4cac18[_0xefc1('0x32')],qs[_0xefc1('0x37')](_0x10016f[_0xefc1('0x33')][_0xefc1('0x37')]));_0x3a239a['attributes']=_0x3a239a[_0xefc1('0x35')][_0xefc1('0x78')]?_0x3a239a['attributes']:_0x4cac18[_0xefc1('0x32')];_0x3a239a[_0xefc1('0x39')]=qs[_0xefc1('0x3a')](_0x10016f[_0xefc1('0x33')][_0xefc1('0x3a')]);_0x3a239a[_0xefc1('0x3b')]=qs[_0xefc1('0x34')](_[_0xefc1('0x79')](_0x10016f[_0xefc1('0x33')],_0x4cac18['filters']));if(_0x10016f[_0xefc1('0x33')][_0xefc1('0x3c')]){_0x3a239a[_0xefc1('0x3b')]=_[_0xefc1('0x3d')](_0x3a239a[_0xefc1('0x3b')],{'$or':_['map'](_0x3a239a[_0xefc1('0x35')],function(_0xaed136){var _0x461a79={};_0x461a79[_0xaed136]={'$like':'%'+_0x10016f[_0xefc1('0x33')][_0xefc1('0x3c')]+'%'};return _0x461a79;})});}_0x3a239a=_['merge']({},_0x3a239a,_0x10016f[_0xefc1('0x40')]);return _0x560414[_0xefc1('0x9c')](_0x3a239a);}})[_0xefc1('0x28')](function(_0x242f6d){if(_0x242f6d){_0x408696=_0x242f6d[_0xefc1('0x78')];if(!_0x10016f[_0xefc1('0x33')][_0xefc1('0x9d')](_0xefc1('0x38'))){_0x3a239a[_0xefc1('0x20')]=qs['limit'](_0x10016f[_0xefc1('0x33')][_0xefc1('0x20')]);_0x3a239a['offset']=qs[_0xefc1('0x1e')](_0x10016f[_0xefc1('0x33')][_0xefc1('0x1e')]);}return _0x560414['getAgents'](_0x3a239a);}})[_0xefc1('0x28')](function(_0x4f6f9d){if(_0x4f6f9d){return _0x4f6f9d?{'count':_0x408696,'rows':_0x4f6f9d}:null;}})[_0xefc1('0x28')](respondWithResult(_0x1babcf,null))[_0xefc1('0x44')](handleError(_0x1babcf,null));};