Built motion from commit 092f8824.|2.5.49
[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 _0x46bd=['sendStatus','status','json','offset','undefined','limit','count','set','apply','save','update','then','error','name','send','map','rawAttributes','fieldName','type','key','model','query','keys','filters','intersection','fields','attributes','hasOwnProperty','order','sort','pick','filter','where','merge','options','Team','include','findAll','rows','catch','params','length','includeAll','create','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','destroy','sequelize','transaction','Sequelize','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','QueryTypes','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','UserMailQueue','SmsQueueId','UserSmsQueue','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','ChatQueueId','UserChatQueue','SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20','FaxQueueId','UserFaxQueue','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','OpenchannelQueueId','UserWhatsappQueue','TeamVoicePrefix','UserVoicePrefix','VoicePrefixId','end','getQueues','findOne','channel','isValidChannel','ValidationError','toLowerCase','Queue','capitalize','addQueues','Unknown\x20channel','Queues','ids','removeQueues','remove','isArray','Voice','Chat','Mail','Openchannel','Whatsapp','through','penalty','QueueId','TeamVoiceQueue','User','emit','online','interface','UserVoiceQueueRt','upsert','isNil','format','all','addAgents','Sms','Fax','removeAgents','Queue:remove','getAgents','nolimit','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','redis','defaults','localhost','./team.socket'];(function(_0x2f55cd,_0x12cb00){var _0x2ab65b=function(_0x1eaf9e){while(--_0x1eaf9e){_0x2f55cd['push'](_0x2f55cd['shift']());}};_0x2ab65b(++_0x12cb00);}(_0x46bd,0x111));var _0xd46b=function(_0x341e0f,_0x4a09d0){_0x341e0f=_0x341e0f-0x0;var _0x59555a=_0x46bd[_0x341e0f];return _0x59555a;};'use strict';var emlformat=require(_0xd46b('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd46b('0x1'));var jsonpatch=require(_0xd46b('0x2'));var rp=require(_0xd46b('0x3'));var moment=require(_0xd46b('0x4'));var BPromise=require(_0xd46b('0x5'));var Mustache=require(_0xd46b('0x6'));var util=require(_0xd46b('0x7'));var path=require(_0xd46b('0x8'));var sox=require(_0xd46b('0x9'));var csv=require(_0xd46b('0xa'));var ejs=require(_0xd46b('0xb'));var fs=require('fs');var fs_extra=require(_0xd46b('0xc'));var _=require('lodash');var squel=require('squel');var crypto=require(_0xd46b('0xd'));var jsforce=require(_0xd46b('0xe'));var deskjs=require(_0xd46b('0xf'));var toCsv=require('to-csv');var querystring=require(_0xd46b('0x10'));var Papa=require(_0xd46b('0x11'));var Redis=require(_0xd46b('0x12'));var authService=require('../../components/auth/service');var qs=require(_0xd46b('0x13'));var as=require(_0xd46b('0x14'));var hardwareService=require(_0xd46b('0x15'));var logger=require(_0xd46b('0x16'))(_0xd46b('0x17'));var utils=require(_0xd46b('0x18'));var config=require('../../config/environment');var licenseUtil=require(_0xd46b('0x19'));var db=require(_0xd46b('0x1a'))['db'];config[_0xd46b('0x1b')]=_[_0xd46b('0x1c')](config[_0xd46b('0x1b')],{'host':_0xd46b('0x1d'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xd46b('0x1b')]));require(_0xd46b('0x1e'))['register'](socket);function respondWithStatusCode(_0x8fa468,_0x3d8cb2){_0x3d8cb2=_0x3d8cb2||0xcc;return function(_0x4f7a17){if(_0x4f7a17){return _0x8fa468[_0xd46b('0x1f')](_0x3d8cb2);}return _0x8fa468[_0xd46b('0x20')](_0x3d8cb2)['end']();};}function respondWithResult(_0x4717a6,_0x31dd0d){_0x31dd0d=_0x31dd0d||0xc8;return function(_0x4df574){if(_0x4df574){return _0x4717a6[_0xd46b('0x20')](_0x31dd0d)[_0xd46b('0x21')](_0x4df574);}};}function respondWithFilteredResult(_0x54e385,_0x1dbf4c){return function(_0x4e48eb){if(_0x4e48eb){var _0x15358a=typeof _0x1dbf4c[_0xd46b('0x22')]===_0xd46b('0x23')&&typeof _0x1dbf4c[_0xd46b('0x24')]===_0xd46b('0x23');var _0x16da7b=_0x4e48eb[_0xd46b('0x25')];var _0x3b27bd=_0x15358a?0x0:_0x1dbf4c[_0xd46b('0x22')];var _0x3a9e77=_0x15358a?_0x4e48eb[_0xd46b('0x25')]:_0x1dbf4c[_0xd46b('0x22')]+_0x1dbf4c[_0xd46b('0x24')];var _0x6b1987;if(_0x3a9e77>=_0x16da7b){_0x3a9e77=_0x16da7b;_0x6b1987=0xc8;}else{_0x6b1987=0xce;}_0x54e385[_0xd46b('0x20')](_0x6b1987);return _0x54e385[_0xd46b('0x26')]('Content-Range',_0x3b27bd+'-'+_0x3a9e77+'/'+_0x16da7b)['json'](_0x4e48eb);}return null;};}function patchUpdates(_0x3ccd7f){return function(_0x1c0b40){try{jsonpatch[_0xd46b('0x27')](_0x1c0b40,_0x3ccd7f,!![]);}catch(_0x2ffecd){return BPromise['reject'](_0x2ffecd);}return _0x1c0b40[_0xd46b('0x28')]();};}function saveUpdates(_0x46b0b8,_0x5385ac){return function(_0x51a1b3){if(_0x51a1b3){return _0x51a1b3[_0xd46b('0x29')](_0x46b0b8)[_0xd46b('0x2a')](function(_0x4355d3){return _0x4355d3;});}return null;};}function handleEntityNotFound(_0x4777e0,_0x1ce3f3){return function(_0x2af860){if(!_0x2af860){_0x4777e0[_0xd46b('0x1f')](0x194);}return _0x2af860;};}function handleError(_0x11290d,_0x1b4f86){_0x1b4f86=_0x1b4f86||0x1f4;return function(_0x9a28fd){logger[_0xd46b('0x2b')](_0x9a28fd['stack']);if(_0x9a28fd[_0xd46b('0x2c')]){delete _0x9a28fd['name'];}_0x11290d[_0xd46b('0x20')](_0x1b4f86)[_0xd46b('0x2d')](_0x9a28fd);};}exports['index']=function(_0x26353a,_0x58e1af){var _0x18b217={},_0x3bcb70={},_0x4e2dc0={'count':0x0,'rows':[]};var _0x2f565e=_[_0xd46b('0x2e')](db['Team'][_0xd46b('0x2f')],function(_0x19b291){return{'name':_0x19b291[_0xd46b('0x30')],'type':_0x19b291[_0xd46b('0x31')][_0xd46b('0x32')]};});_0x3bcb70[_0xd46b('0x33')]=_[_0xd46b('0x2e')](_0x2f565e,_0xd46b('0x2c'));_0x3bcb70[_0xd46b('0x34')]=_[_0xd46b('0x35')](_0x26353a[_0xd46b('0x34')]);_0x3bcb70[_0xd46b('0x36')]=_[_0xd46b('0x37')](_0x3bcb70[_0xd46b('0x33')],_0x3bcb70['query']);_0x18b217['attributes']=_[_0xd46b('0x37')](_0x3bcb70[_0xd46b('0x33')],qs[_0xd46b('0x38')](_0x26353a['query'][_0xd46b('0x38')]));_0x18b217[_0xd46b('0x39')]=_0x18b217[_0xd46b('0x39')]['length']?_0x18b217[_0xd46b('0x39')]:_0x3bcb70[_0xd46b('0x33')];if(!_0x26353a[_0xd46b('0x34')][_0xd46b('0x3a')]('nolimit')){_0x18b217[_0xd46b('0x24')]=qs[_0xd46b('0x24')](_0x26353a[_0xd46b('0x34')][_0xd46b('0x24')]);_0x18b217[_0xd46b('0x22')]=qs['offset'](_0x26353a[_0xd46b('0x34')]['offset']);}_0x18b217[_0xd46b('0x3b')]=qs[_0xd46b('0x3c')](_0x26353a[_0xd46b('0x34')][_0xd46b('0x3c')]);_0x18b217['where']=qs[_0xd46b('0x36')](_[_0xd46b('0x3d')](_0x26353a[_0xd46b('0x34')],_0x3bcb70['filters']),_0x2f565e);if(_0x26353a[_0xd46b('0x34')][_0xd46b('0x3e')]){_0x18b217[_0xd46b('0x3f')]=_[_0xd46b('0x40')](_0x18b217[_0xd46b('0x3f')],{'$or':_[_0xd46b('0x2e')](_0x2f565e,function(_0xa06eec){if(_0xa06eec[_0xd46b('0x31')]!=='VIRTUAL'){var _0x46ac9c={};_0x46ac9c[_0xa06eec[_0xd46b('0x2c')]]={'$like':'%'+_0x26353a['query'][_0xd46b('0x3e')]+'%'};return _0x46ac9c;}})});}_0x18b217=_[_0xd46b('0x40')]({},_0x18b217,_0x26353a[_0xd46b('0x41')]);var _0x2a7377={'where':_0x18b217[_0xd46b('0x3f')]};return db[_0xd46b('0x42')][_0xd46b('0x25')](_0x2a7377)[_0xd46b('0x2a')](function(_0x10389d){_0x4e2dc0[_0xd46b('0x25')]=_0x10389d;if(_0x26353a[_0xd46b('0x34')]['includeAll']){_0x18b217[_0xd46b('0x43')]=[{'all':!![]}];}return db[_0xd46b('0x42')][_0xd46b('0x44')](_0x18b217);})[_0xd46b('0x2a')](function(_0x2ecda1){_0x4e2dc0[_0xd46b('0x45')]=_0x2ecda1;return _0x4e2dc0;})[_0xd46b('0x2a')](respondWithFilteredResult(_0x58e1af,_0x18b217))[_0xd46b('0x46')](handleError(_0x58e1af,null));};exports['show']=function(_0x100754,_0x20d031){var _0x5ea9e5={'raw':![],'where':{'id':_0x100754[_0xd46b('0x47')]['id']}},_0x40909b={};_0x40909b[_0xd46b('0x33')]=_['keys'](db['Team'][_0xd46b('0x2f')]);_0x40909b[_0xd46b('0x34')]=_['keys'](_0x100754[_0xd46b('0x34')]);_0x40909b['filters']=_['intersection'](_0x40909b[_0xd46b('0x33')],_0x40909b[_0xd46b('0x34')]);_0x5ea9e5[_0xd46b('0x39')]=_[_0xd46b('0x37')](_0x40909b['model'],qs['fields'](_0x100754[_0xd46b('0x34')][_0xd46b('0x38')]));_0x5ea9e5[_0xd46b('0x39')]=_0x5ea9e5[_0xd46b('0x39')][_0xd46b('0x48')]?_0x5ea9e5['attributes']:_0x40909b[_0xd46b('0x33')];if(_0x100754[_0xd46b('0x34')][_0xd46b('0x49')]){_0x5ea9e5[_0xd46b('0x43')]=[{'all':!![]}];}_0x5ea9e5=_[_0xd46b('0x40')]({},_0x5ea9e5,_0x100754[_0xd46b('0x41')]);return db[_0xd46b('0x42')]['find'](_0x5ea9e5)[_0xd46b('0x2a')](handleEntityNotFound(_0x20d031,null))[_0xd46b('0x2a')](respondWithResult(_0x20d031,null))[_0xd46b('0x46')](handleError(_0x20d031,null));};exports[_0xd46b('0x4a')]=function(_0x5d807b,_0x3066df){return db[_0xd46b('0x42')][_0xd46b('0x4a')](_0x5d807b['body'],{})[_0xd46b('0x2a')](function(_0x2a0f97){var _0x50e227=_0x5d807b[_0xd46b('0x4b')][_0xd46b('0x4c')]({'plain':!![]});if(!_0x50e227)throw new Error(_0xd46b('0x4d'));if(_0x50e227[_0xd46b('0x4e')]===_0xd46b('0x4b')){var _0x5d6139=_0x2a0f97[_0xd46b('0x4c')]({'plain':!![]});var _0x34b632='Teams';return db[_0xd46b('0x4f')][_0xd46b('0x50')]({'where':{'name':_0x34b632,'userProfileId':_0x50e227[_0xd46b('0x51')]},'raw':!![]})[_0xd46b('0x2a')](function(_0x48efcd){if(_0x48efcd&&_0x48efcd[_0xd46b('0x52')]===0x0){return db[_0xd46b('0x53')][_0xd46b('0x4a')]({'name':_0x5d6139[_0xd46b('0x2c')],'resourceId':_0x5d6139['id'],'type':_0x48efcd[_0xd46b('0x2c')],'sectionId':_0x48efcd['id']},{})[_0xd46b('0x2a')](function(){return _0x2a0f97;});}else{return _0x2a0f97;}})[_0xd46b('0x46')](function(_0x2b9b4d){logger[_0xd46b('0x2b')](_0xd46b('0x54'),_0x2b9b4d);throw _0x2b9b4d;});}return _0x2a0f97;})['then'](respondWithResult(_0x3066df,0xc9))[_0xd46b('0x46')](handleError(_0x3066df,null));};exports[_0xd46b('0x29')]=function(_0x1a1a77,_0x5e3564){if(_0x1a1a77[_0xd46b('0x55')]['id']){delete _0x1a1a77[_0xd46b('0x55')]['id'];}return db[_0xd46b('0x42')][_0xd46b('0x50')]({'where':{'id':_0x1a1a77[_0xd46b('0x47')]['id']}})['then'](handleEntityNotFound(_0x5e3564,null))[_0xd46b('0x2a')](saveUpdates(_0x1a1a77[_0xd46b('0x55')],null))[_0xd46b('0x2a')](respondWithResult(_0x5e3564,null))[_0xd46b('0x46')](handleError(_0x5e3564,null));};exports[_0xd46b('0x56')]=function(_0x58885c,_0xd4d416){var _0x2a7e30=_0x58885c[_0xd46b('0x47')]['id'];var _0x345011=[];return db[_0xd46b('0x57')][_0xd46b('0x58')](function(_0x2696cb){var _0x30d7c9='SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20'+_0x2a7e30;return db[_0xd46b('0x57')]['query'](_0x30d7c9,{'type':db[_0xd46b('0x59')]['QueryTypes'][_0xd46b('0x5a')],'raw':!![],'transaction':_0x2696cb})[_0xd46b('0x2a')](function(_0x44ae48){_0x345011=_[_0xd46b('0x2e')](_0x44ae48,function(_0x37dfd9){return Number(_0x37dfd9[_0xd46b('0x5b')]);});})[_0xd46b('0x2a')](function(){var _0x4a569d=_0xd46b('0x5c')+_0x2a7e30;return db[_0xd46b('0x57')]['query'](_0x4a569d,{'type':db[_0xd46b('0x59')][_0xd46b('0x5d')][_0xd46b('0x5a')],'raw':!![],'transaction':_0x2696cb});})['then'](function(_0x4ffc9f){var _0x5969f4=_[_0xd46b('0x2e')](_0x4ffc9f,function(_0x4dce79){return Number(_0x4dce79['VoiceQueueId']);});return db['UserVoiceQueue'][_0xd46b('0x56')]({'where':{'UserId':{'$in':_0x345011},'VoiceQueueId':{'$in':_0x5969f4}},'transaction':_0x2696cb});})[_0xd46b('0x2a')](function(){var _0x4731fd=_0xd46b('0x5e')+_0x2a7e30;return db[_0xd46b('0x57')][_0xd46b('0x34')](_0x4731fd,{'type':db[_0xd46b('0x59')][_0xd46b('0x5d')][_0xd46b('0x5a')],'raw':!![],'transaction':_0x2696cb});})['then'](function(_0x5489d5){var _0x1c70b6=_['map'](_0x5489d5,function(_0x5902d5){return Number(_0x5902d5[_0xd46b('0x5f')]);});return db[_0xd46b('0x60')]['destroy']({'where':{'UserId':{'$in':_0x345011},'MailQueueId':{'$in':_0x1c70b6}},'transaction':_0x2696cb});})['then'](function(){var _0x1f5194='SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20'+_0x2a7e30;return db['sequelize']['query'](_0x1f5194,{'type':db[_0xd46b('0x59')][_0xd46b('0x5d')][_0xd46b('0x5a')],'raw':!![],'transaction':_0x2696cb});})[_0xd46b('0x2a')](function(_0x53e288){var _0x84f39a=_['map'](_0x53e288,function(_0x49d6d1){return Number(_0x49d6d1[_0xd46b('0x61')]);});return db[_0xd46b('0x62')][_0xd46b('0x56')]({'where':{'UserId':{'$in':_0x345011},'SmsQueueId':{'$in':_0x84f39a}},'transaction':_0x2696cb});})[_0xd46b('0x2a')](function(){var _0x3a5ed8=_0xd46b('0x63')+_0x2a7e30;return db['sequelize'][_0xd46b('0x34')](_0x3a5ed8,{'type':db[_0xd46b('0x59')][_0xd46b('0x5d')][_0xd46b('0x5a')],'raw':!![],'transaction':_0x2696cb});})[_0xd46b('0x2a')](function(_0x15f13d){var _0x414620=_[_0xd46b('0x2e')](_0x15f13d,function(_0x2effe3){return Number(_0x2effe3[_0xd46b('0x64')]);});return db[_0xd46b('0x65')][_0xd46b('0x56')]({'where':{'UserId':{'$in':_0x345011},'ChatQueueId':{'$in':_0x414620}},'transaction':_0x2696cb});})[_0xd46b('0x2a')](function(){var _0x17f68f=_0xd46b('0x66')+_0x2a7e30;return db['sequelize'][_0xd46b('0x34')](_0x17f68f,{'type':db['Sequelize']['QueryTypes'][_0xd46b('0x5a')],'raw':!![],'transaction':_0x2696cb});})[_0xd46b('0x2a')](function(_0x291845){var _0x465efe=_[_0xd46b('0x2e')](_0x291845,function(_0x239afc){return Number(_0x239afc[_0xd46b('0x67')]);});return db[_0xd46b('0x68')]['destroy']({'where':{'UserId':{'$in':_0x345011},'FaxQueueId':{'$in':_0x465efe}},'transaction':_0x2696cb});})[_0xd46b('0x2a')](function(){var _0x261e16=_0xd46b('0x69')+_0x2a7e30;return db[_0xd46b('0x57')]['query'](_0x261e16,{'type':db[_0xd46b('0x59')][_0xd46b('0x5d')][_0xd46b('0x5a')],'raw':!![],'transaction':_0x2696cb});})['then'](function(_0x4906f1){var _0xd90bf9=_['map'](_0x4906f1,function(_0x2b8d97){return Number(_0x2b8d97[_0xd46b('0x6a')]);});return db['UserOpenchannelQueue']['destroy']({'where':{'UserId':{'$in':_0x345011},'OpenchannelQueueId':{'$in':_0xd90bf9}},'transaction':_0x2696cb});})[_0xd46b('0x2a')](function(){var _0x2a8cb7='SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20'+_0x2a7e30;return db[_0xd46b('0x57')][_0xd46b('0x34')](_0x2a8cb7,{'type':db[_0xd46b('0x59')][_0xd46b('0x5d')][_0xd46b('0x5a')],'raw':!![],'transaction':_0x2696cb});})[_0xd46b('0x2a')](function(_0x169d60){var _0x54fd84=_[_0xd46b('0x2e')](_0x169d60,function(_0x4fb971){return Number(_0x4fb971['WhatsappQueueId']);});return db[_0xd46b('0x6b')][_0xd46b('0x56')]({'where':{'UserId':{'$in':_0x345011},'WhatsappQueueId':{'$in':_0x54fd84}},'transaction':_0x2696cb});})[_0xd46b('0x2a')](function(){return db[_0xd46b('0x6c')][_0xd46b('0x50')]({'where':{'TeamId':_0x2a7e30}});})[_0xd46b('0x2a')](function(_0x50f12a){if(_0x50f12a===null){return;}return db[_0xd46b('0x6d')][_0xd46b('0x56')]({'where':{'UserId':{'$in':_0x345011},'VoicePrefixId':_0x50f12a[_0xd46b('0x6e')]},'transaction':_0x2696cb});})['then'](function(){return db[_0xd46b('0x42')][_0xd46b('0x56')]({'where':{'id':_0x2a7e30},'cascade':!![],'transaction':_0x2696cb});})['then'](function(_0x2f7086){if(_0x2f7086===0x0){_0xd4d416[_0xd46b('0x1f')](0x194);}else{return db[_0xd46b('0x53')][_0xd46b('0x56')]({'where':{'type':'Teams','resourceId':_0x2a7e30},'cascade':!![],'transaction':_0x2696cb})[_0xd46b('0x2a')](function(){_0xd4d416[_0xd46b('0x20')](0xcc)[_0xd46b('0x6f')]();});}})['catch'](function(_0x343a80){_0xd4d416[_0xd46b('0x20')](0x1f4)[_0xd46b('0x2d')](_0x343a80);});});};exports[_0xd46b('0x70')]=function(_0xf9b7d3,_0x1d1d00,_0x28fcdd){return db[_0xd46b('0x42')][_0xd46b('0x71')]({'where':{'id':_0xf9b7d3[_0xd46b('0x47')]['id']}})[_0xd46b('0x2a')](handleEntityNotFound(_0x1d1d00,null))[_0xd46b('0x2a')](function(_0x5ca230){if(!_0xf9b7d3[_0xd46b('0x34')][_0xd46b('0x72')]||!utils[_0xd46b('0x73')](_0xf9b7d3[_0xd46b('0x34')]['channel'])){throw new db[(_0xd46b('0x59'))][(_0xd46b('0x74'))]('Unknown\x20channel');}var _0x2fb837={};var _0x4dc1e6={};_0x4dc1e6[_0xd46b('0x33')]=_[_0xd46b('0x35')](db[_['capitalize'](_0xf9b7d3[_0xd46b('0x34')][_0xd46b('0x72')][_0xd46b('0x75')]())+_0xd46b('0x76')][_0xd46b('0x2f')]);_0x4dc1e6['query']=_[_0xd46b('0x35')](_0xf9b7d3[_0xd46b('0x34')]);_0x4dc1e6[_0xd46b('0x36')]=_[_0xd46b('0x37')](_0x4dc1e6[_0xd46b('0x33')],_0x4dc1e6['query']);_0x2fb837[_0xd46b('0x39')]=_[_0xd46b('0x37')](_0x4dc1e6['model'],qs[_0xd46b('0x38')](_0xf9b7d3[_0xd46b('0x34')][_0xd46b('0x38')]));_0x2fb837[_0xd46b('0x39')]=_0x2fb837[_0xd46b('0x39')][_0xd46b('0x48')]?_0x2fb837[_0xd46b('0x39')]:_0x4dc1e6['model'];_0x2fb837[_0xd46b('0x24')]=qs[_0xd46b('0x24')](_0xf9b7d3[_0xd46b('0x34')][_0xd46b('0x24')]);_0x2fb837[_0xd46b('0x22')]=qs[_0xd46b('0x22')](_0xf9b7d3[_0xd46b('0x34')][_0xd46b('0x22')]);_0x2fb837['order']=qs[_0xd46b('0x3c')](_0xf9b7d3['query'][_0xd46b('0x3c')]);_0x2fb837[_0xd46b('0x3f')]=qs[_0xd46b('0x36')](_['pick'](_0xf9b7d3[_0xd46b('0x34')],_0x4dc1e6[_0xd46b('0x36')]));_0x2fb837=_['merge']({},_0x2fb837,_0xf9b7d3[_0xd46b('0x41')]);return _0x5ca230[_0xd46b('0x4c')+_[_0xd46b('0x77')](_0xf9b7d3['query'][_0xd46b('0x72')][_0xd46b('0x75')]())+'Queues'](_0x2fb837);})[_0xd46b('0x2a')](respondWithResult(_0x1d1d00,null))['catch'](handleError(_0x1d1d00,null));};exports[_0xd46b('0x78')]=function(_0x37416a,_0x2df4fc,_0x305573){return db[_0xd46b('0x42')][_0xd46b('0x71')]({'where':{'id':_0x37416a[_0xd46b('0x47')]['id']}})[_0xd46b('0x2a')](function(_0x31dfad){if(_0x31dfad){if(!_0x37416a[_0xd46b('0x55')][_0xd46b('0x72')]||!utils[_0xd46b('0x73')](_0x37416a[_0xd46b('0x55')][_0xd46b('0x72')])){throw new db[(_0xd46b('0x59'))][(_0xd46b('0x74'))](_0xd46b('0x79'));}return _0x31dfad['add'+_[_0xd46b('0x77')](_0x37416a[_0xd46b('0x55')][_0xd46b('0x72')][_0xd46b('0x75')]())+_0xd46b('0x7a')](_0x37416a[_0xd46b('0x55')][_0xd46b('0x7b')]);}return null;})['then'](handleEntityNotFound(_0x2df4fc,null))[_0xd46b('0x2a')](respondWithStatusCode(_0x2df4fc,null))['catch'](handleError(_0x2df4fc,null));};exports[_0xd46b('0x7c')]=function(_0x3df82f,_0x13961a,_0xf36376){return db[_0xd46b('0x42')]['findOne']({'where':{'id':_0x3df82f[_0xd46b('0x47')]['id']}})[_0xd46b('0x2a')](function(_0x593faa){if(_0x593faa){if(!_0x3df82f[_0xd46b('0x34')][_0xd46b('0x72')]||!utils['isValidChannel'](_0x3df82f[_0xd46b('0x34')][_0xd46b('0x72')])){throw new db[(_0xd46b('0x59'))][(_0xd46b('0x74'))](_0xd46b('0x79'));}return _0x593faa[_0xd46b('0x7d')+_[_0xd46b('0x77')](_0x3df82f[_0xd46b('0x34')][_0xd46b('0x72')][_0xd46b('0x75')]())+_0xd46b('0x7a')](_0x3df82f['query']['ids']);}return null;})[_0xd46b('0x2a')](handleEntityNotFound(_0x13961a,null))[_0xd46b('0x2a')](respondWithStatusCode(_0x13961a,null))[_0xd46b('0x46')](handleError(_0x13961a,null));};exports['addAgents']=function(_0x313aa1,_0x37ff33){var _0x2a048e=_[_0xd46b('0x7e')](_0x313aa1[_0xd46b('0x55')][_0xd46b('0x7b')])?_0x313aa1[_0xd46b('0x55')][_0xd46b('0x7b')]:[_0x313aa1[_0xd46b('0x55')][_0xd46b('0x7b')]];var _0x2895d4=_0x313aa1[_0xd46b('0x47')]['id'];return db[_0xd46b('0x42')][_0xd46b('0x50')]({'where':{'id':_0x2895d4}})[_0xd46b('0x2a')](handleEntityNotFound(_0x37ff33,null))[_0xd46b('0x2a')](function(_0xbe6061){if(_0xbe6061){var _0x21d7c3=[_0xd46b('0x7f'),_0xd46b('0x80'),_0xd46b('0x81'),'Sms','Fax',_0xd46b('0x82'),_0xd46b('0x83')];return db['sequelize'][_0xd46b('0x58')](function(_0x44b14b){var _0x139600=_[_0xd46b('0x2e')](_0x21d7c3,function(_0x44908a){var _0x4c2257={'attributes':['id',_0xd46b('0x2c')]};if(_0x44908a===_0xd46b('0x7f')){_0x4c2257[_0xd46b('0x84')]={'attributes':[_0xd46b('0x85')]};}return _0xbe6061[_0xd46b('0x4c')+_0x44908a+'Queues'](_0x4c2257)['then'](function(_0x1fb228){var _0x36466d=_[_0xd46b('0x2e')](_0x1fb228,function(_0x550f79){var _0x3027d9=_[_0xd46b('0x2e')](_0x2a048e,function(_0x4a80a7){var _0x599186={'where':{'UserId':_0x4a80a7,[_0x44908a+_0xd46b('0x86')]:_0x550f79['id']},'transaction':_0x44b14b};if(_0x44908a===_0xd46b('0x7f')){_0x599186['defaults']={'penalty':_0x550f79[_0xd46b('0x87')][_0xd46b('0x85')]};}return db[_0xd46b('0x88')+_0x44908a+_0xd46b('0x76')]['findOrCreate'](_0x599186)['then'](function(){socket[_0xd46b('0x89')](_0xd46b('0x4b')+_0x44908a+'Queue:save',{'UserId':_0x4a80a7,[_0x44908a+'QueueId']:_0x550f79['id']});if(_0x44908a!==_0xd46b('0x7f')){return;}return db[_0xd46b('0x88')][_0xd46b('0x44')]({'where':{'id':_0x2a048e,'online':0x1},'attributes':['id','name',_0xd46b('0x8a'),'voicePause',_0xd46b('0x8b')],'raw':!![]})[_0xd46b('0x2a')](function(_0x52b980){var _0x3497ef=_[_0xd46b('0x2e')](_0x52b980,function(_0x5c8e61){return db[_0xd46b('0x8c')][_0xd46b('0x8d')]({'membername':_0x5c8e61[_0xd46b('0x2c')],'UserId':_0x5c8e61['id'],'queue_name':_0x550f79[_0xd46b('0x2c')],'VoiceQueueId':_0x550f79['id'],'interface':_[_0xd46b('0x8e')](_0x5c8e61[_0xd46b('0x8b')])?util[_0xd46b('0x8f')]('SIP/%s',_0x5c8e61[_0xd46b('0x2c')]):_0x5c8e61[_0xd46b('0x8b')],'paused':_0x5c8e61['voicePause']||![],'penalty':_0x550f79[_0xd46b('0x87')]['penalty']},{'transaction':_0x44b14b});});return Promise[_0xd46b('0x90')](_0x3497ef);});});});return Promise[_0xd46b('0x90')](_0x3027d9);});return Promise[_0xd46b('0x90')](_0x36466d);})[_0xd46b('0x2a')](function(){return db[_0xd46b('0x6c')][_0xd46b('0x71')]({'where':{'teamId':_0x2895d4}})[_0xd46b('0x2a')](function(_0xe730){if(_0xe730){var _0x12e09f=_['map'](_0x2a048e,function(_0x2a1217){db['UserVoicePrefix']['upsert']({'UserId':_0x2a1217,'VoicePrefixId':_0xe730[_0xd46b('0x6e')]});});return Promise[_0xd46b('0x90')](_0x12e09f);}});});});return Promise[_0xd46b('0x90')](_0x139600)[_0xd46b('0x2a')](function(){return _0xbe6061[_0xd46b('0x91')](_0x2a048e,{'transaction':_0x44b14b})['spread'](function(_0xe5a82c){return _0xe5a82c;});});});}})[_0xd46b('0x2a')](respondWithResult(_0x37ff33,null))[_0xd46b('0x46')](handleError(_0x37ff33,null));};exports['removeAgents']=function(_0x52eb9e,_0x8883ac){var _0x29d39b=_['isArray'](_0x52eb9e[_0xd46b('0x34')][_0xd46b('0x7b')])?_0x52eb9e['query'][_0xd46b('0x7b')]:[_0x52eb9e[_0xd46b('0x34')][_0xd46b('0x7b')]];var _0x555730=_0x52eb9e[_0xd46b('0x47')]['id'];return db[_0xd46b('0x42')][_0xd46b('0x50')]({'where':{'id':_0x555730}})[_0xd46b('0x2a')](handleEntityNotFound(_0x8883ac,null))[_0xd46b('0x2a')](function(_0x55643c){if(_0x55643c){var _0x2e3e31=['Voice',_0xd46b('0x80'),_0xd46b('0x81'),_0xd46b('0x92'),_0xd46b('0x93'),_0xd46b('0x82'),_0xd46b('0x83')];return db[_0xd46b('0x57')][_0xd46b('0x58')](function(_0x5eca6d){var _0x38fe12=_['map'](_0x2e3e31,function(_0x3d851c){var _0x5e3fce={'attributes':['id',_0xd46b('0x2c')]};return _0x55643c[_0xd46b('0x4c')+_0x3d851c+_0xd46b('0x7a')](_0x5e3fce)[_0xd46b('0x2a')](function(_0x484559){var _0x503d00=_['map'](_0x484559,function(_0x1d0123){return _0x1d0123[_0xd46b('0x94')](_0x29d39b,{'transaction':_0x5eca6d})[_0xd46b('0x2a')](function(){var _0x397854=_['map'](_0x29d39b,function(_0x1daaf9){socket[_0xd46b('0x89')]('user'+_0x3d851c+_0xd46b('0x95'),{'UserId':Number(_0x1daaf9),[_0x3d851c+'QueueId']:_0x1d0123['id']});if(_0x3d851c!==_0xd46b('0x7f')){return;}return db[_0xd46b('0x8c')]['destroy']({'where':{'VoiceQueueId':_0x1d0123['id'],'UserId':_0x1daaf9},'transaction':_0x5eca6d});});return Promise['all'](_0x397854);});});return Promise['all'](_0x503d00);});});return Promise['all'](_0x38fe12)[_0xd46b('0x2a')](function(){return _0x55643c[_0xd46b('0x94')](_0x29d39b,{'transaction':_0x5eca6d});})[_0xd46b('0x2a')](function(){return db[_0xd46b('0x6c')]['findOne']({'where':{'teamId':_0x555730}})['then'](function(_0x48d79f){if(_0x48d79f){var _0x5ef153=_[_0xd46b('0x2e')](_0x29d39b,function(_0x25660a){db[_0xd46b('0x6d')]['destroy']({'where':{'UserId':_0x25660a,'VoicePrefixId':_0x48d79f[_0xd46b('0x6e')]}});});return Promise['all'](_0x5ef153);}});});});}})[_0xd46b('0x2a')](respondWithStatusCode(_0x8883ac,null))[_0xd46b('0x46')](handleError(_0x8883ac,null));};exports[_0xd46b('0x96')]=function(_0x73340d,_0x216d03,_0x1baec4){var _0x95b48f={};var _0xc1ebaf={};var _0x3c4cd4;var _0x15ae2d;return db[_0xd46b('0x42')]['findOne']({'where':{'id':_0x73340d[_0xd46b('0x47')]['id']}})['then'](handleEntityNotFound(_0x216d03,null))[_0xd46b('0x2a')](function(_0x454915){if(_0x454915){_0x3c4cd4=_0x454915;_0xc1ebaf['model']=_[_0xd46b('0x35')](db[_0xd46b('0x88')][_0xd46b('0x2f')]);_0xc1ebaf[_0xd46b('0x34')]=_[_0xd46b('0x35')](_0x73340d[_0xd46b('0x34')]);_0xc1ebaf[_0xd46b('0x36')]=_['intersection'](_0xc1ebaf[_0xd46b('0x33')],_0xc1ebaf['query']);_0x95b48f[_0xd46b('0x39')]=_[_0xd46b('0x37')](_0xc1ebaf[_0xd46b('0x33')],qs['fields'](_0x73340d[_0xd46b('0x34')][_0xd46b('0x38')]));_0x95b48f[_0xd46b('0x39')]=_0x95b48f[_0xd46b('0x39')]['length']?_0x95b48f[_0xd46b('0x39')]:_0xc1ebaf[_0xd46b('0x33')];_0x95b48f[_0xd46b('0x3b')]=qs[_0xd46b('0x3c')](_0x73340d[_0xd46b('0x34')][_0xd46b('0x3c')]);_0x95b48f[_0xd46b('0x3f')]=qs['filters'](_['pick'](_0x73340d['query'],_0xc1ebaf[_0xd46b('0x36')]));if(_0x73340d['query'][_0xd46b('0x3e')]){_0x95b48f[_0xd46b('0x3f')]=_[_0xd46b('0x40')](_0x95b48f[_0xd46b('0x3f')],{'$or':_[_0xd46b('0x2e')](_0x95b48f['attributes'],function(_0x4b6555){var _0x4561c6={};_0x4561c6[_0x4b6555]={'$like':'%'+_0x73340d[_0xd46b('0x34')][_0xd46b('0x3e')]+'%'};return _0x4561c6;})});}_0x95b48f=_['merge']({},_0x95b48f,_0x73340d[_0xd46b('0x41')]);return _0x3c4cd4['getAgents'](_0x95b48f);}})[_0xd46b('0x2a')](function(_0xb0fd4b){if(_0xb0fd4b){_0x15ae2d=_0xb0fd4b[_0xd46b('0x48')];if(!_0x73340d[_0xd46b('0x34')][_0xd46b('0x3a')](_0xd46b('0x97'))){_0x95b48f[_0xd46b('0x24')]=qs[_0xd46b('0x24')](_0x73340d[_0xd46b('0x34')][_0xd46b('0x24')]);_0x95b48f[_0xd46b('0x22')]=qs[_0xd46b('0x22')](_0x73340d[_0xd46b('0x34')]['offset']);}return _0x3c4cd4['getAgents'](_0x95b48f);}})[_0xd46b('0x2a')](function(_0x1f97af){if(_0x1f97af){return _0x1f97af?{'count':_0x15ae2d,'rows':_0x1f97af}:null;}})[_0xd46b('0x2a')](respondWithResult(_0x216d03,null))[_0xd46b('0x46')](handleError(_0x216d03,null));};