Built motion from commit 13c3002c.|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 _0xcacd=['update','then','sendStatus','error','stack','name','send','map','Team','rawAttributes','fieldName','type','key','model','keys','query','attributes','fields','length','hasOwnProperty','nolimit','sort','filters','pick','filter','where','options','include','findAll','rows','catch','intersection','includeAll','merge','find','create','user','get','role','Teams','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','sequelize','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','QueryTypes','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','VoiceQueueId','UserVoiceQueue','destroy','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SELECT','SmsQueueId','UserSmsQueue','UserChatQueue','FaxQueueId','UserFaxQueue','SELECT\x20OpenchannelQueueId\x20FROM\x20team_has_openchannel_queues\x20WHERE\x20TeamId\x20=\x20','OpenchannelQueueId','UserOpenchannelQueue','UserWhatsappQueue','TeamVoicePrefix','UserVoicePrefix','VoicePrefixId','getQueues','findOne','channel','isValidChannel','ValidationError','Unknown\x20channel','capitalize','toLowerCase','Queue','order','Queues','addQueues','add','ids','removeQueues','addAgents','isArray','Voice','Chat','Mail','Fax','Openchannel','Whatsapp','through','penalty','QueueId','TeamVoiceQueue','User','findOrCreate','Queue:save','online','voicePause','interface','UserVoiceQueueRt','isNil','all','spread','Sms','removeAgents','emit','Queue:remove','getAgents','eml-format','request-promise','bluebird','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./team.socket','register','status','end','json','undefined','offset','count','limit','Content-Range','apply','reject','save'];(function(_0x870b62,_0x2143f9){var _0x2dcb39=function(_0x2fb63d){while(--_0x2fb63d){_0x870b62['push'](_0x870b62['shift']());}};_0x2dcb39(++_0x2143f9);}(_0xcacd,0x109));var _0xdcac=function(_0x3bf83f,_0x181cac){_0x3bf83f=_0x3bf83f-0x0;var _0x22c4a9=_0xcacd[_0x3bf83f];return _0x22c4a9;};'use strict';var emlformat=require(_0xdcac('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xdcac('0x1'));var moment=require('moment');var BPromise=require(_0xdcac('0x2'));var Mustache=require(_0xdcac('0x3'));var util=require(_0xdcac('0x4'));var path=require(_0xdcac('0x5'));var sox=require(_0xdcac('0x6'));var csv=require(_0xdcac('0x7'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0xdcac('0x8'));var _=require(_0xdcac('0x9'));var squel=require(_0xdcac('0xa'));var crypto=require(_0xdcac('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xdcac('0xc'));var toCsv=require(_0xdcac('0x7'));var querystring=require(_0xdcac('0xd'));var Papa=require(_0xdcac('0xe'));var Redis=require(_0xdcac('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xdcac('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xdcac('0x11'));var logger=require('../../config/logger')(_0xdcac('0x12'));var utils=require('../../config/utils');var config=require(_0xdcac('0x13'));var licenseUtil=require(_0xdcac('0x14'));var db=require(_0xdcac('0x15'))['db'];config['redis']=_[_0xdcac('0x16')](config[_0xdcac('0x17')],{'host':_0xdcac('0x18'),'port':0x18eb});var socket=require(_0xdcac('0x19'))(new Redis(config[_0xdcac('0x17')]));require(_0xdcac('0x1a'))[_0xdcac('0x1b')](socket);function respondWithStatusCode(_0x1a61b2,_0x988ff7){_0x988ff7=_0x988ff7||0xcc;return function(_0xf404f4){if(_0xf404f4){return _0x1a61b2['sendStatus'](_0x988ff7);}return _0x1a61b2[_0xdcac('0x1c')](_0x988ff7)[_0xdcac('0x1d')]();};}function respondWithResult(_0x13ddad,_0xebfb39){_0xebfb39=_0xebfb39||0xc8;return function(_0x31a834){if(_0x31a834){return _0x13ddad[_0xdcac('0x1c')](_0xebfb39)[_0xdcac('0x1e')](_0x31a834);}};}function respondWithFilteredResult(_0xdb118c,_0x40545e){return function(_0xaaa75a){if(_0xaaa75a){var _0xd4dec2=typeof _0x40545e['offset']===_0xdcac('0x1f')&&typeof _0x40545e['limit']===_0xdcac('0x1f');var _0xfb906f=_0xaaa75a['count'];var _0xbe2d05=_0xd4dec2?0x0:_0x40545e[_0xdcac('0x20')];var _0x30dd2c=_0xd4dec2?_0xaaa75a[_0xdcac('0x21')]:_0x40545e['offset']+_0x40545e[_0xdcac('0x22')];var _0x35ff2a;if(_0x30dd2c>=_0xfb906f){_0x30dd2c=_0xfb906f;_0x35ff2a=0xc8;}else{_0x35ff2a=0xce;}_0xdb118c[_0xdcac('0x1c')](_0x35ff2a);return _0xdb118c['set'](_0xdcac('0x23'),_0xbe2d05+'-'+_0x30dd2c+'/'+_0xfb906f)[_0xdcac('0x1e')](_0xaaa75a);}return null;};}function patchUpdates(_0xddcedb){return function(_0x5c26e8){try{jsonpatch[_0xdcac('0x24')](_0x5c26e8,_0xddcedb,!![]);}catch(_0x43d06a){return BPromise[_0xdcac('0x25')](_0x43d06a);}return _0x5c26e8[_0xdcac('0x26')]();};}function saveUpdates(_0x276ad6,_0x2f3940){return function(_0x594627){if(_0x594627){return _0x594627[_0xdcac('0x27')](_0x276ad6)[_0xdcac('0x28')](function(_0x3857d5){return _0x3857d5;});}return null;};}function handleEntityNotFound(_0x48c3b7,_0x22cdbc){return function(_0x2596d3){if(!_0x2596d3){_0x48c3b7[_0xdcac('0x29')](0x194);}return _0x2596d3;};}function handleError(_0x9f7ea3,_0x37a65e){_0x37a65e=_0x37a65e||0x1f4;return function(_0x332cb1){logger[_0xdcac('0x2a')](_0x332cb1[_0xdcac('0x2b')]);if(_0x332cb1[_0xdcac('0x2c')]){delete _0x332cb1[_0xdcac('0x2c')];}_0x9f7ea3[_0xdcac('0x1c')](_0x37a65e)[_0xdcac('0x2d')](_0x332cb1);};}exports['index']=function(_0x1f0e64,_0x27290b){var _0x320ca5={},_0x5676bd={},_0x1e48f8={'count':0x0,'rows':[]};var _0x47fe13=_[_0xdcac('0x2e')](db[_0xdcac('0x2f')][_0xdcac('0x30')],function(_0x29e79a){return{'name':_0x29e79a[_0xdcac('0x31')],'type':_0x29e79a[_0xdcac('0x32')][_0xdcac('0x33')]};});_0x5676bd[_0xdcac('0x34')]=_[_0xdcac('0x2e')](_0x47fe13,_0xdcac('0x2c'));_0x5676bd['query']=_[_0xdcac('0x35')](_0x1f0e64[_0xdcac('0x36')]);_0x5676bd['filters']=_['intersection'](_0x5676bd[_0xdcac('0x34')],_0x5676bd[_0xdcac('0x36')]);_0x320ca5[_0xdcac('0x37')]=_['intersection'](_0x5676bd['model'],qs[_0xdcac('0x38')](_0x1f0e64[_0xdcac('0x36')][_0xdcac('0x38')]));_0x320ca5[_0xdcac('0x37')]=_0x320ca5[_0xdcac('0x37')][_0xdcac('0x39')]?_0x320ca5[_0xdcac('0x37')]:_0x5676bd[_0xdcac('0x34')];if(!_0x1f0e64[_0xdcac('0x36')][_0xdcac('0x3a')](_0xdcac('0x3b'))){_0x320ca5[_0xdcac('0x22')]=qs[_0xdcac('0x22')](_0x1f0e64[_0xdcac('0x36')][_0xdcac('0x22')]);_0x320ca5['offset']=qs[_0xdcac('0x20')](_0x1f0e64[_0xdcac('0x36')][_0xdcac('0x20')]);}_0x320ca5['order']=qs[_0xdcac('0x3c')](_0x1f0e64[_0xdcac('0x36')][_0xdcac('0x3c')]);_0x320ca5['where']=qs[_0xdcac('0x3d')](_[_0xdcac('0x3e')](_0x1f0e64['query'],_0x5676bd[_0xdcac('0x3d')]),_0x47fe13);if(_0x1f0e64['query'][_0xdcac('0x3f')]){_0x320ca5[_0xdcac('0x40')]=_['merge'](_0x320ca5[_0xdcac('0x40')],{'$or':_[_0xdcac('0x2e')](_0x47fe13,function(_0x1a034d){if(_0x1a034d['type']!=='VIRTUAL'){var _0x926944={};_0x926944[_0x1a034d[_0xdcac('0x2c')]]={'$like':'%'+_0x1f0e64[_0xdcac('0x36')][_0xdcac('0x3f')]+'%'};return _0x926944;}})});}_0x320ca5=_['merge']({},_0x320ca5,_0x1f0e64[_0xdcac('0x41')]);var _0x111051={'where':_0x320ca5[_0xdcac('0x40')]};return db['Team'][_0xdcac('0x21')](_0x111051)[_0xdcac('0x28')](function(_0xb527f9){_0x1e48f8[_0xdcac('0x21')]=_0xb527f9;if(_0x1f0e64[_0xdcac('0x36')]['includeAll']){_0x320ca5[_0xdcac('0x42')]=[{'all':!![]}];}return db[_0xdcac('0x2f')][_0xdcac('0x43')](_0x320ca5);})[_0xdcac('0x28')](function(_0x443f5d){_0x1e48f8[_0xdcac('0x44')]=_0x443f5d;return _0x1e48f8;})[_0xdcac('0x28')](respondWithFilteredResult(_0x27290b,_0x320ca5))[_0xdcac('0x45')](handleError(_0x27290b,null));};exports['show']=function(_0x28ab10,_0x4985c6){var _0x57598b={'raw':![],'where':{'id':_0x28ab10['params']['id']}},_0x390844={};_0x390844[_0xdcac('0x34')]=_[_0xdcac('0x35')](db[_0xdcac('0x2f')][_0xdcac('0x30')]);_0x390844[_0xdcac('0x36')]=_['keys'](_0x28ab10[_0xdcac('0x36')]);_0x390844[_0xdcac('0x3d')]=_[_0xdcac('0x46')](_0x390844[_0xdcac('0x34')],_0x390844[_0xdcac('0x36')]);_0x57598b['attributes']=_[_0xdcac('0x46')](_0x390844[_0xdcac('0x34')],qs['fields'](_0x28ab10[_0xdcac('0x36')][_0xdcac('0x38')]));_0x57598b['attributes']=_0x57598b['attributes'][_0xdcac('0x39')]?_0x57598b['attributes']:_0x390844[_0xdcac('0x34')];if(_0x28ab10[_0xdcac('0x36')][_0xdcac('0x47')]){_0x57598b[_0xdcac('0x42')]=[{'all':!![]}];}_0x57598b=_[_0xdcac('0x48')]({},_0x57598b,_0x28ab10[_0xdcac('0x41')]);return db[_0xdcac('0x2f')][_0xdcac('0x49')](_0x57598b)[_0xdcac('0x28')](handleEntityNotFound(_0x4985c6,null))[_0xdcac('0x28')](respondWithResult(_0x4985c6,null))['catch'](handleError(_0x4985c6,null));};exports[_0xdcac('0x4a')]=function(_0x515233,_0x1d5194){return db[_0xdcac('0x2f')][_0xdcac('0x4a')](_0x515233['body'],{})['then'](function(_0x3c1c67){var _0x3db744=_0x515233[_0xdcac('0x4b')][_0xdcac('0x4c')]({'plain':!![]});if(!_0x3db744)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3db744[_0xdcac('0x4d')]===_0xdcac('0x4b')){var _0x88f9f0=_0x3c1c67['get']({'plain':!![]});var _0x390870=_0xdcac('0x4e');return db['UserProfileSection']['find']({'where':{'name':_0x390870,'userProfileId':_0x3db744[_0xdcac('0x4f')]},'raw':!![]})[_0xdcac('0x28')](function(_0x15fc5a){if(_0x15fc5a&&_0x15fc5a[_0xdcac('0x50')]===0x0){return db[_0xdcac('0x51')]['create']({'name':_0x88f9f0[_0xdcac('0x2c')],'resourceId':_0x88f9f0['id'],'type':_0x15fc5a[_0xdcac('0x2c')],'sectionId':_0x15fc5a['id']},{})[_0xdcac('0x28')](function(){return _0x3c1c67;});}else{return _0x3c1c67;}})[_0xdcac('0x45')](function(_0xc884b4){logger[_0xdcac('0x2a')](_0xdcac('0x52'),_0xc884b4);throw _0xc884b4;});}return _0x3c1c67;})[_0xdcac('0x28')](respondWithResult(_0x1d5194,0xc9))[_0xdcac('0x45')](handleError(_0x1d5194,null));};exports['update']=function(_0x3a7fee,_0x351325){if(_0x3a7fee[_0xdcac('0x53')]['id']){delete _0x3a7fee[_0xdcac('0x53')]['id'];}return db[_0xdcac('0x2f')][_0xdcac('0x49')]({'where':{'id':_0x3a7fee[_0xdcac('0x54')]['id']}})[_0xdcac('0x28')](handleEntityNotFound(_0x351325,null))[_0xdcac('0x28')](saveUpdates(_0x3a7fee[_0xdcac('0x53')],null))['then'](respondWithResult(_0x351325,null))[_0xdcac('0x45')](handleError(_0x351325,null));};exports['destroy']=function(_0x2e9f37,_0x37d410){var _0x5f3b80=_0x2e9f37[_0xdcac('0x54')]['id'];var _0x50e277=[];return db[_0xdcac('0x55')][_0xdcac('0x56')](function(_0x69a87a){var _0x2020eb=_0xdcac('0x57')+_0x5f3b80;return db[_0xdcac('0x55')][_0xdcac('0x36')](_0x2020eb,{'type':db[_0xdcac('0x58')][_0xdcac('0x59')]['SELECT'],'raw':!![],'transaction':_0x69a87a})[_0xdcac('0x28')](function(_0x51ba20){_0x50e277=_['map'](_0x51ba20,function(_0x25b107){return Number(_0x25b107['UserId']);});})['then'](function(){var _0x3ac08d=_0xdcac('0x5a')+_0x5f3b80;return db[_0xdcac('0x55')]['query'](_0x3ac08d,{'type':db['Sequelize'][_0xdcac('0x59')]['SELECT'],'raw':!![],'transaction':_0x69a87a});})[_0xdcac('0x28')](function(_0xf59c0c){var _0x21bbad=_[_0xdcac('0x2e')](_0xf59c0c,function(_0x17d97e){return Number(_0x17d97e[_0xdcac('0x5b')]);});return db[_0xdcac('0x5c')][_0xdcac('0x5d')]({'where':{'UserId':{'$in':_0x50e277},'VoiceQueueId':{'$in':_0x21bbad}},'transaction':_0x69a87a});})[_0xdcac('0x28')](function(){var _0x159f6d=_0xdcac('0x5e')+_0x5f3b80;return db[_0xdcac('0x55')][_0xdcac('0x36')](_0x159f6d,{'type':db[_0xdcac('0x58')][_0xdcac('0x59')]['SELECT'],'raw':!![],'transaction':_0x69a87a});})[_0xdcac('0x28')](function(_0x142ed5){var _0x59000b=_[_0xdcac('0x2e')](_0x142ed5,function(_0x189808){return Number(_0x189808['MailQueueId']);});return db[_0xdcac('0x5f')]['destroy']({'where':{'UserId':{'$in':_0x50e277},'MailQueueId':{'$in':_0x59000b}},'transaction':_0x69a87a});})[_0xdcac('0x28')](function(){var _0x5ee8a1=_0xdcac('0x60')+_0x5f3b80;return db['sequelize'][_0xdcac('0x36')](_0x5ee8a1,{'type':db['Sequelize'][_0xdcac('0x59')][_0xdcac('0x61')],'raw':!![],'transaction':_0x69a87a});})[_0xdcac('0x28')](function(_0x34dc1c){var _0x2294eb=_[_0xdcac('0x2e')](_0x34dc1c,function(_0x359c2f){return Number(_0x359c2f[_0xdcac('0x62')]);});return db[_0xdcac('0x63')][_0xdcac('0x5d')]({'where':{'UserId':{'$in':_0x50e277},'SmsQueueId':{'$in':_0x2294eb}},'transaction':_0x69a87a});})[_0xdcac('0x28')](function(){var _0x24b7d8='SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20'+_0x5f3b80;return db[_0xdcac('0x55')][_0xdcac('0x36')](_0x24b7d8,{'type':db['Sequelize'][_0xdcac('0x59')][_0xdcac('0x61')],'raw':!![],'transaction':_0x69a87a});})[_0xdcac('0x28')](function(_0x4c890f){var _0x34f7c5=_[_0xdcac('0x2e')](_0x4c890f,function(_0x34dba2){return Number(_0x34dba2['ChatQueueId']);});return db[_0xdcac('0x64')][_0xdcac('0x5d')]({'where':{'UserId':{'$in':_0x50e277},'ChatQueueId':{'$in':_0x34f7c5}},'transaction':_0x69a87a});})[_0xdcac('0x28')](function(){var _0x335b78='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0x5f3b80;return db['sequelize'][_0xdcac('0x36')](_0x335b78,{'type':db[_0xdcac('0x58')][_0xdcac('0x59')][_0xdcac('0x61')],'raw':!![],'transaction':_0x69a87a});})[_0xdcac('0x28')](function(_0x21f383){var _0x304b0a=_['map'](_0x21f383,function(_0x5ad7e6){return Number(_0x5ad7e6[_0xdcac('0x65')]);});return db[_0xdcac('0x66')][_0xdcac('0x5d')]({'where':{'UserId':{'$in':_0x50e277},'FaxQueueId':{'$in':_0x304b0a}},'transaction':_0x69a87a});})[_0xdcac('0x28')](function(){var _0x24daea=_0xdcac('0x67')+_0x5f3b80;return db['sequelize'][_0xdcac('0x36')](_0x24daea,{'type':db[_0xdcac('0x58')][_0xdcac('0x59')][_0xdcac('0x61')],'raw':!![],'transaction':_0x69a87a});})['then'](function(_0xe4d744){var _0x2e53b6=_[_0xdcac('0x2e')](_0xe4d744,function(_0x1db002){return Number(_0x1db002[_0xdcac('0x68')]);});return db[_0xdcac('0x69')]['destroy']({'where':{'UserId':{'$in':_0x50e277},'OpenchannelQueueId':{'$in':_0x2e53b6}},'transaction':_0x69a87a});})[_0xdcac('0x28')](function(){var _0xef18b6='SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20'+_0x5f3b80;return db[_0xdcac('0x55')][_0xdcac('0x36')](_0xef18b6,{'type':db['Sequelize']['QueryTypes'][_0xdcac('0x61')],'raw':!![],'transaction':_0x69a87a});})[_0xdcac('0x28')](function(_0x399050){var _0x4f7108=_[_0xdcac('0x2e')](_0x399050,function(_0x148308){return Number(_0x148308['WhatsappQueueId']);});return db[_0xdcac('0x6a')][_0xdcac('0x5d')]({'where':{'UserId':{'$in':_0x50e277},'WhatsappQueueId':{'$in':_0x4f7108}},'transaction':_0x69a87a});})[_0xdcac('0x28')](function(){return db[_0xdcac('0x6b')][_0xdcac('0x49')]({'where':{'TeamId':_0x5f3b80}});})[_0xdcac('0x28')](function(_0x15aa15){if(_0x15aa15===null){return;}return db[_0xdcac('0x6c')][_0xdcac('0x5d')]({'where':{'UserId':{'$in':_0x50e277},'VoicePrefixId':_0x15aa15[_0xdcac('0x6d')]},'transaction':_0x69a87a});})['then'](function(){return db[_0xdcac('0x2f')][_0xdcac('0x5d')]({'where':{'id':_0x5f3b80},'cascade':!![],'transaction':_0x69a87a});})['then'](function(_0x4d4c9b){if(_0x4d4c9b===0x0){_0x37d410[_0xdcac('0x29')](0x194);}else{return db[_0xdcac('0x51')][_0xdcac('0x5d')]({'where':{'type':_0xdcac('0x4e'),'resourceId':_0x5f3b80},'cascade':!![],'transaction':_0x69a87a})['then'](function(){_0x37d410[_0xdcac('0x1c')](0xcc)['end']();});}})[_0xdcac('0x45')](function(_0x6d0205){_0x37d410['status'](0x1f4)[_0xdcac('0x2d')](_0x6d0205);});});};exports[_0xdcac('0x6e')]=function(_0x174e17,_0x4a20f8,_0x2a178f){return db[_0xdcac('0x2f')][_0xdcac('0x6f')]({'where':{'id':_0x174e17[_0xdcac('0x54')]['id']}})[_0xdcac('0x28')](handleEntityNotFound(_0x4a20f8,null))[_0xdcac('0x28')](function(_0x5c99a7){if(!_0x174e17[_0xdcac('0x36')][_0xdcac('0x70')]||!utils[_0xdcac('0x71')](_0x174e17[_0xdcac('0x36')][_0xdcac('0x70')])){throw new db['Sequelize'][(_0xdcac('0x72'))](_0xdcac('0x73'));}var _0x42e145={};var _0x5b45c9={};_0x5b45c9[_0xdcac('0x34')]=_[_0xdcac('0x35')](db[_[_0xdcac('0x74')](_0x174e17[_0xdcac('0x36')][_0xdcac('0x70')][_0xdcac('0x75')]())+_0xdcac('0x76')][_0xdcac('0x30')]);_0x5b45c9['query']=_[_0xdcac('0x35')](_0x174e17[_0xdcac('0x36')]);_0x5b45c9[_0xdcac('0x3d')]=_[_0xdcac('0x46')](_0x5b45c9[_0xdcac('0x34')],_0x5b45c9[_0xdcac('0x36')]);_0x42e145[_0xdcac('0x37')]=_['intersection'](_0x5b45c9[_0xdcac('0x34')],qs[_0xdcac('0x38')](_0x174e17['query'][_0xdcac('0x38')]));_0x42e145[_0xdcac('0x37')]=_0x42e145['attributes'][_0xdcac('0x39')]?_0x42e145[_0xdcac('0x37')]:_0x5b45c9['model'];_0x42e145[_0xdcac('0x22')]=qs['limit'](_0x174e17[_0xdcac('0x36')][_0xdcac('0x22')]);_0x42e145[_0xdcac('0x20')]=qs[_0xdcac('0x20')](_0x174e17[_0xdcac('0x36')]['offset']);_0x42e145[_0xdcac('0x77')]=qs['sort'](_0x174e17[_0xdcac('0x36')][_0xdcac('0x3c')]);_0x42e145[_0xdcac('0x40')]=qs[_0xdcac('0x3d')](_[_0xdcac('0x3e')](_0x174e17[_0xdcac('0x36')],_0x5b45c9[_0xdcac('0x3d')]));_0x42e145=_['merge']({},_0x42e145,_0x174e17['options']);return _0x5c99a7[_0xdcac('0x4c')+_['capitalize'](_0x174e17['query'][_0xdcac('0x70')]['toLowerCase']())+_0xdcac('0x78')](_0x42e145);})['then'](respondWithResult(_0x4a20f8,null))[_0xdcac('0x45')](handleError(_0x4a20f8,null));};exports[_0xdcac('0x79')]=function(_0x22ead2,_0x17dfa6,_0x86c6f){return db[_0xdcac('0x2f')][_0xdcac('0x6f')]({'where':{'id':_0x22ead2[_0xdcac('0x54')]['id']}})[_0xdcac('0x28')](function(_0x3515f9){if(_0x3515f9){if(!_0x22ead2[_0xdcac('0x53')][_0xdcac('0x70')]||!utils['isValidChannel'](_0x22ead2[_0xdcac('0x53')][_0xdcac('0x70')])){throw new db[(_0xdcac('0x58'))][(_0xdcac('0x72'))]('Unknown\x20channel');}return _0x3515f9[_0xdcac('0x7a')+_[_0xdcac('0x74')](_0x22ead2[_0xdcac('0x53')][_0xdcac('0x70')][_0xdcac('0x75')]())+_0xdcac('0x78')](_0x22ead2[_0xdcac('0x53')][_0xdcac('0x7b')]);}return null;})[_0xdcac('0x28')](handleEntityNotFound(_0x17dfa6,null))[_0xdcac('0x28')](respondWithStatusCode(_0x17dfa6,null))['catch'](handleError(_0x17dfa6,null));};exports[_0xdcac('0x7c')]=function(_0x17b353,_0x3e88d1,_0x2ec5d9){return db['Team'][_0xdcac('0x6f')]({'where':{'id':_0x17b353[_0xdcac('0x54')]['id']}})[_0xdcac('0x28')](function(_0x44ccff){if(_0x44ccff){if(!_0x17b353[_0xdcac('0x36')][_0xdcac('0x70')]||!utils['isValidChannel'](_0x17b353[_0xdcac('0x36')][_0xdcac('0x70')])){throw new db['Sequelize'][(_0xdcac('0x72'))]('Unknown\x20channel');}return _0x44ccff['remove'+_[_0xdcac('0x74')](_0x17b353[_0xdcac('0x36')][_0xdcac('0x70')][_0xdcac('0x75')]())+'Queues'](_0x17b353[_0xdcac('0x36')][_0xdcac('0x7b')]);}return null;})[_0xdcac('0x28')](handleEntityNotFound(_0x3e88d1,null))[_0xdcac('0x28')](respondWithStatusCode(_0x3e88d1,null))[_0xdcac('0x45')](handleError(_0x3e88d1,null));};exports[_0xdcac('0x7d')]=function(_0x21dfe8,_0x530b6e){var _0x510785=_[_0xdcac('0x7e')](_0x21dfe8['body'][_0xdcac('0x7b')])?_0x21dfe8['body'][_0xdcac('0x7b')]:[_0x21dfe8[_0xdcac('0x53')][_0xdcac('0x7b')]];var _0x2b2292=_0x21dfe8[_0xdcac('0x54')]['id'];return db['Team'][_0xdcac('0x49')]({'where':{'id':_0x2b2292}})[_0xdcac('0x28')](handleEntityNotFound(_0x530b6e,null))[_0xdcac('0x28')](function(_0x416f3e){if(_0x416f3e){var _0x1b7dc5=[_0xdcac('0x7f'),_0xdcac('0x80'),_0xdcac('0x81'),'Sms',_0xdcac('0x82'),_0xdcac('0x83'),_0xdcac('0x84')];return db[_0xdcac('0x55')][_0xdcac('0x56')](function(_0x13f43){var _0x436479=_[_0xdcac('0x2e')](_0x1b7dc5,function(_0x4d81ad){var _0x3597b5={'attributes':['id',_0xdcac('0x2c')]};if(_0x4d81ad===_0xdcac('0x7f')){_0x3597b5[_0xdcac('0x85')]={'attributes':[_0xdcac('0x86')]};}return _0x416f3e[_0xdcac('0x4c')+_0x4d81ad+_0xdcac('0x78')](_0x3597b5)['then'](function(_0x5137bc){var _0x2ac819=_['map'](_0x5137bc,function(_0x19774f){var _0x4a4e24=_[_0xdcac('0x2e')](_0x510785,function(_0x584724){var _0x41d646={'where':{'UserId':_0x584724,[_0x4d81ad+_0xdcac('0x87')]:_0x19774f['id']},'transaction':_0x13f43};if(_0x4d81ad===_0xdcac('0x7f')){_0x41d646[_0xdcac('0x16')]={'penalty':_0x19774f[_0xdcac('0x88')]['penalty']};}return db[_0xdcac('0x89')+_0x4d81ad+_0xdcac('0x76')][_0xdcac('0x8a')](_0x41d646)[_0xdcac('0x28')](function(){socket['emit'](_0xdcac('0x4b')+_0x4d81ad+_0xdcac('0x8b'),{'UserId':_0x584724,[_0x4d81ad+'QueueId']:_0x19774f['id']});if(_0x4d81ad!==_0xdcac('0x7f')){return;}return db[_0xdcac('0x89')][_0xdcac('0x43')]({'where':{'id':_0x510785,'online':0x1},'attributes':['id',_0xdcac('0x2c'),_0xdcac('0x8c'),_0xdcac('0x8d'),_0xdcac('0x8e')],'raw':!![]})[_0xdcac('0x28')](function(_0x2494e1){var _0xfcbcc6=_[_0xdcac('0x2e')](_0x2494e1,function(_0x2bcaed){return db[_0xdcac('0x8f')]['upsert']({'membername':_0x2bcaed[_0xdcac('0x2c')],'UserId':_0x2bcaed['id'],'queue_name':_0x19774f[_0xdcac('0x2c')],'VoiceQueueId':_0x19774f['id'],'interface':_[_0xdcac('0x90')](_0x2bcaed['interface'])?util['format']('SIP/%s',_0x2bcaed[_0xdcac('0x2c')]):_0x2bcaed[_0xdcac('0x8e')],'paused':_0x2bcaed['voicePause']||![],'penalty':_0x19774f[_0xdcac('0x88')]['penalty']},{'transaction':_0x13f43});});return Promise['all'](_0xfcbcc6);});});});return Promise[_0xdcac('0x91')](_0x4a4e24);});return Promise[_0xdcac('0x91')](_0x2ac819);})[_0xdcac('0x28')](function(){return db[_0xdcac('0x6b')]['findOne']({'where':{'teamId':_0x2b2292}})[_0xdcac('0x28')](function(_0x1f9940){if(_0x1f9940){var _0x4d0900=_[_0xdcac('0x2e')](_0x510785,function(_0x5ced46){db[_0xdcac('0x6c')]['upsert']({'UserId':_0x5ced46,'VoicePrefixId':_0x1f9940[_0xdcac('0x6d')]});});return Promise[_0xdcac('0x91')](_0x4d0900);}});});});return Promise[_0xdcac('0x91')](_0x436479)[_0xdcac('0x28')](function(){return _0x416f3e[_0xdcac('0x7d')](_0x510785,{'transaction':_0x13f43})[_0xdcac('0x92')](function(_0x173686){return _0x173686;});});});}})[_0xdcac('0x28')](respondWithResult(_0x530b6e,null))['catch'](handleError(_0x530b6e,null));};exports['removeAgents']=function(_0x4fc5c9,_0x3a410e){var _0x229801=_['isArray'](_0x4fc5c9[_0xdcac('0x36')][_0xdcac('0x7b')])?_0x4fc5c9['query']['ids']:[_0x4fc5c9[_0xdcac('0x36')][_0xdcac('0x7b')]];var _0x19fbbc=_0x4fc5c9[_0xdcac('0x54')]['id'];return db[_0xdcac('0x2f')][_0xdcac('0x49')]({'where':{'id':_0x19fbbc}})['then'](handleEntityNotFound(_0x3a410e,null))[_0xdcac('0x28')](function(_0x1095ef){if(_0x1095ef){var _0x464bce=[_0xdcac('0x7f'),_0xdcac('0x80'),_0xdcac('0x81'),_0xdcac('0x93'),_0xdcac('0x82'),_0xdcac('0x83'),'Whatsapp'];return db[_0xdcac('0x55')][_0xdcac('0x56')](function(_0x37e988){var _0x59180b=_['map'](_0x464bce,function(_0x4fc1db){var _0x2ffd4f={'attributes':['id',_0xdcac('0x2c')]};return _0x1095ef[_0xdcac('0x4c')+_0x4fc1db+_0xdcac('0x78')](_0x2ffd4f)[_0xdcac('0x28')](function(_0x2ac746){var _0x57d029=_[_0xdcac('0x2e')](_0x2ac746,function(_0x4bd3bf){return _0x4bd3bf[_0xdcac('0x94')](_0x229801,{'transaction':_0x37e988})[_0xdcac('0x28')](function(){var _0xecbc30=_[_0xdcac('0x2e')](_0x229801,function(_0x43fac5){socket[_0xdcac('0x95')](_0xdcac('0x4b')+_0x4fc1db+_0xdcac('0x96'),{'UserId':Number(_0x43fac5),[_0x4fc1db+_0xdcac('0x87')]:_0x4bd3bf['id']});if(_0x4fc1db!==_0xdcac('0x7f')){return;}return db[_0xdcac('0x8f')][_0xdcac('0x5d')]({'where':{'VoiceQueueId':_0x4bd3bf['id'],'UserId':_0x43fac5},'transaction':_0x37e988});});return Promise[_0xdcac('0x91')](_0xecbc30);});});return Promise[_0xdcac('0x91')](_0x57d029);});});return Promise[_0xdcac('0x91')](_0x59180b)[_0xdcac('0x28')](function(){return _0x1095ef[_0xdcac('0x94')](_0x229801,{'transaction':_0x37e988});})['then'](function(){return db[_0xdcac('0x6b')][_0xdcac('0x6f')]({'where':{'teamId':_0x19fbbc}})[_0xdcac('0x28')](function(_0x422dc5){if(_0x422dc5){var _0x21d1ab=_[_0xdcac('0x2e')](_0x229801,function(_0x2ed7d2){db[_0xdcac('0x6c')][_0xdcac('0x5d')]({'where':{'UserId':_0x2ed7d2,'VoicePrefixId':_0x422dc5[_0xdcac('0x6d')]}});});return Promise[_0xdcac('0x91')](_0x21d1ab);}});});});}})[_0xdcac('0x28')](respondWithStatusCode(_0x3a410e,null))['catch'](handleError(_0x3a410e,null));};exports[_0xdcac('0x97')]=function(_0x1b9ff0,_0x3b4387,_0x56da1e){var _0x1e978e={};var _0x1dd0c2={};var _0x178c3d;var _0x533457;return db[_0xdcac('0x2f')][_0xdcac('0x6f')]({'where':{'id':_0x1b9ff0[_0xdcac('0x54')]['id']}})[_0xdcac('0x28')](handleEntityNotFound(_0x3b4387,null))[_0xdcac('0x28')](function(_0x41567a){if(_0x41567a){_0x178c3d=_0x41567a;_0x1dd0c2[_0xdcac('0x34')]=_['keys'](db[_0xdcac('0x89')][_0xdcac('0x30')]);_0x1dd0c2[_0xdcac('0x36')]=_['keys'](_0x1b9ff0[_0xdcac('0x36')]);_0x1dd0c2[_0xdcac('0x3d')]=_[_0xdcac('0x46')](_0x1dd0c2[_0xdcac('0x34')],_0x1dd0c2[_0xdcac('0x36')]);_0x1e978e['attributes']=_[_0xdcac('0x46')](_0x1dd0c2['model'],qs[_0xdcac('0x38')](_0x1b9ff0['query'][_0xdcac('0x38')]));_0x1e978e[_0xdcac('0x37')]=_0x1e978e['attributes'][_0xdcac('0x39')]?_0x1e978e[_0xdcac('0x37')]:_0x1dd0c2[_0xdcac('0x34')];_0x1e978e[_0xdcac('0x77')]=qs[_0xdcac('0x3c')](_0x1b9ff0[_0xdcac('0x36')]['sort']);_0x1e978e[_0xdcac('0x40')]=qs[_0xdcac('0x3d')](_['pick'](_0x1b9ff0[_0xdcac('0x36')],_0x1dd0c2['filters']));if(_0x1b9ff0[_0xdcac('0x36')][_0xdcac('0x3f')]){_0x1e978e['where']=_['merge'](_0x1e978e['where'],{'$or':_[_0xdcac('0x2e')](_0x1e978e[_0xdcac('0x37')],function(_0x25fd10){var _0x5f188d={};_0x5f188d[_0x25fd10]={'$like':'%'+_0x1b9ff0['query'][_0xdcac('0x3f')]+'%'};return _0x5f188d;})});}_0x1e978e=_['merge']({},_0x1e978e,_0x1b9ff0['options']);return _0x178c3d[_0xdcac('0x97')](_0x1e978e);}})[_0xdcac('0x28')](function(_0x35e8b0){if(_0x35e8b0){_0x533457=_0x35e8b0[_0xdcac('0x39')];if(!_0x1b9ff0[_0xdcac('0x36')][_0xdcac('0x3a')]('nolimit')){_0x1e978e['limit']=qs['limit'](_0x1b9ff0[_0xdcac('0x36')]['limit']);_0x1e978e[_0xdcac('0x20')]=qs[_0xdcac('0x20')](_0x1b9ff0[_0xdcac('0x36')][_0xdcac('0x20')]);}return _0x178c3d['getAgents'](_0x1e978e);}})[_0xdcac('0x28')](function(_0x1ff17d){if(_0x1ff17d){return _0x1ff17d?{'count':_0x533457,'rows':_0x1ff17d}:null;}})[_0xdcac('0x28')](respondWithResult(_0x3b4387,null))[_0xdcac('0x45')](handleError(_0x3b4387,null));};