Built motion from commit 25580385.|2.6.2
[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 _0x0349=['query','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','filters','pick','filter','merge','then','includeAll','include','rows','catch','show','params','keys','options','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','get','Teams','find','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','destroy','sequelize','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','QueryTypes','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','UserVoiceQueue','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','UserMailQueue','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20','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','UserOpenchannelQueue','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','UserWhatsappQueue','UserVoicePrefix','VoicePrefixId','getQueues','findOne','channel','isValidChannel','capitalize','toLowerCase','Queue','rawAttributes','Queues','addQueues','ValidationError','ids','removeQueues','remove','isArray','Voice','Chat','Mail','Sms','Fax','Openchannel','Whatsapp','transaction','through','penalty','QueueId','TeamVoiceQueue','findOrCreate','emit','Queue:save','findAll','online','voicePause','upsert','isNil','interface','SIP/%s','all','TeamVoicePrefix','addAgents','spread','removeAgents','Queue:remove','UserVoiceQueueRt','getAgents','User','nolimit','rimraf','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','path','sox','ejs','fs-extra','lodash','squel','crypto','desk.js','to-csv','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./team.socket','sendStatus','status','end','offset','undefined','limit','count','set','json','save','update','error','stack','name','send','index','map','Team','fieldName','type','key','model'];(function(_0x5aee10,_0x57b094){var _0x2c800b=function(_0x2101dd){while(--_0x2101dd){_0x5aee10['push'](_0x5aee10['shift']());}};_0x2c800b(++_0x57b094);}(_0x0349,0x1a2));var _0x9034=function(_0xc87d08,_0x59c9be){_0xc87d08=_0xc87d08-0x0;var _0x30a714=_0x0349[_0xc87d08];return _0x30a714;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0x9034('0x0'));var zipdir=require(_0x9034('0x1'));var jsonpatch=require(_0x9034('0x2'));var rp=require(_0x9034('0x3'));var moment=require(_0x9034('0x4'));var BPromise=require(_0x9034('0x5'));var Mustache=require(_0x9034('0x6'));var util=require('util');var path=require(_0x9034('0x7'));var sox=require(_0x9034('0x8'));var csv=require('to-csv');var ejs=require(_0x9034('0x9'));var fs=require('fs');var fs_extra=require(_0x9034('0xa'));var _=require(_0x9034('0xb'));var squel=require(_0x9034('0xc'));var crypto=require(_0x9034('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x9034('0xe'));var toCsv=require(_0x9034('0xf'));var querystring=require('querystring');var Papa=require(_0x9034('0x10'));var Redis=require(_0x9034('0x11'));var authService=require(_0x9034('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0x9034('0x13'));var hardwareService=require(_0x9034('0x14'));var logger=require(_0x9034('0x15'))(_0x9034('0x16'));var utils=require(_0x9034('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x9034('0x18'));var db=require(_0x9034('0x19'))['db'];config['redis']=_[_0x9034('0x1a')](config[_0x9034('0x1b')],{'host':_0x9034('0x1c'),'port':0x18eb});var socket=require(_0x9034('0x1d'))(new Redis(config['redis']));require(_0x9034('0x1e'))['register'](socket);function respondWithStatusCode(_0x28b186,_0x1723b5){_0x1723b5=_0x1723b5||0xcc;return function(_0x9ef236){if(_0x9ef236){return _0x28b186[_0x9034('0x1f')](_0x1723b5);}return _0x28b186[_0x9034('0x20')](_0x1723b5)[_0x9034('0x21')]();};}function respondWithResult(_0x23fbc2,_0x2b5088){_0x2b5088=_0x2b5088||0xc8;return function(_0x13f524){if(_0x13f524){return _0x23fbc2[_0x9034('0x20')](_0x2b5088)['json'](_0x13f524);}};}function respondWithFilteredResult(_0x3dce8a,_0x4952b5){return function(_0x58acca){if(_0x58acca){var _0x1819ae=typeof _0x4952b5[_0x9034('0x22')]===_0x9034('0x23')&&typeof _0x4952b5[_0x9034('0x24')]===_0x9034('0x23');var _0x7f608=_0x58acca[_0x9034('0x25')];var _0x5464b8=_0x1819ae?0x0:_0x4952b5[_0x9034('0x22')];var _0xd98541=_0x1819ae?_0x58acca['count']:_0x4952b5[_0x9034('0x22')]+_0x4952b5['limit'];var _0x4192ca;if(_0xd98541>=_0x7f608){_0xd98541=_0x7f608;_0x4192ca=0xc8;}else{_0x4192ca=0xce;}_0x3dce8a[_0x9034('0x20')](_0x4192ca);return _0x3dce8a[_0x9034('0x26')]('Content-Range',_0x5464b8+'-'+_0xd98541+'/'+_0x7f608)[_0x9034('0x27')](_0x58acca);}return null;};}function patchUpdates(_0x4e93f9){return function(_0x50ac2c){try{jsonpatch['apply'](_0x50ac2c,_0x4e93f9,!![]);}catch(_0x6c85b9){return BPromise['reject'](_0x6c85b9);}return _0x50ac2c[_0x9034('0x28')]();};}function saveUpdates(_0x47f12b,_0x385fe7){return function(_0x47fd0f){if(_0x47fd0f){return _0x47fd0f[_0x9034('0x29')](_0x47f12b)['then'](function(_0x48e8fa){return _0x48e8fa;});}return null;};}function handleEntityNotFound(_0x1cf80a,_0x57ac04){return function(_0x5babd4){if(!_0x5babd4){_0x1cf80a[_0x9034('0x1f')](0x194);}return _0x5babd4;};}function handleError(_0x36f30e,_0x57dabd){_0x57dabd=_0x57dabd||0x1f4;return function(_0x1b113f){logger[_0x9034('0x2a')](_0x1b113f[_0x9034('0x2b')]);if(_0x1b113f[_0x9034('0x2c')]){delete _0x1b113f['name'];}_0x36f30e[_0x9034('0x20')](_0x57dabd)[_0x9034('0x2d')](_0x1b113f);};}exports[_0x9034('0x2e')]=function(_0x134f70,_0xcfb14f){var _0x2e9643={},_0x3e9d14={},_0x178b17={'count':0x0,'rows':[]};var _0xff94ff=_[_0x9034('0x2f')](db[_0x9034('0x30')]['rawAttributes'],function(_0x2f4d7d){return{'name':_0x2f4d7d[_0x9034('0x31')],'type':_0x2f4d7d[_0x9034('0x32')][_0x9034('0x33')]};});_0x3e9d14[_0x9034('0x34')]=_[_0x9034('0x2f')](_0xff94ff,_0x9034('0x2c'));_0x3e9d14[_0x9034('0x35')]=_['keys'](_0x134f70[_0x9034('0x35')]);_0x3e9d14['filters']=_[_0x9034('0x36')](_0x3e9d14['model'],_0x3e9d14[_0x9034('0x35')]);_0x2e9643['attributes']=_['intersection'](_0x3e9d14[_0x9034('0x34')],qs[_0x9034('0x37')](_0x134f70[_0x9034('0x35')]['fields']));_0x2e9643[_0x9034('0x38')]=_0x2e9643[_0x9034('0x38')][_0x9034('0x39')]?_0x2e9643[_0x9034('0x38')]:_0x3e9d14['model'];if(!_0x134f70[_0x9034('0x35')][_0x9034('0x3a')]('nolimit')){_0x2e9643[_0x9034('0x24')]=qs['limit'](_0x134f70[_0x9034('0x35')][_0x9034('0x24')]);_0x2e9643[_0x9034('0x22')]=qs[_0x9034('0x22')](_0x134f70['query'][_0x9034('0x22')]);}_0x2e9643[_0x9034('0x3b')]=qs[_0x9034('0x3c')](_0x134f70[_0x9034('0x35')][_0x9034('0x3c')]);_0x2e9643[_0x9034('0x3d')]=qs[_0x9034('0x3e')](_[_0x9034('0x3f')](_0x134f70[_0x9034('0x35')],_0x3e9d14[_0x9034('0x3e')]),_0xff94ff);if(_0x134f70[_0x9034('0x35')]['filter']){_0x2e9643[_0x9034('0x3d')]=_['merge'](_0x2e9643[_0x9034('0x3d')],{'$or':_[_0x9034('0x2f')](_0xff94ff,function(_0x534f43){if(_0x534f43[_0x9034('0x32')]!=='VIRTUAL'){var _0x53b982={};_0x53b982[_0x534f43[_0x9034('0x2c')]]={'$like':'%'+_0x134f70[_0x9034('0x35')][_0x9034('0x40')]+'%'};return _0x53b982;}})});}_0x2e9643=_[_0x9034('0x41')]({},_0x2e9643,_0x134f70['options']);var _0x11667b={'where':_0x2e9643[_0x9034('0x3d')]};return db['Team'][_0x9034('0x25')](_0x11667b)[_0x9034('0x42')](function(_0x197a0a){_0x178b17[_0x9034('0x25')]=_0x197a0a;if(_0x134f70[_0x9034('0x35')][_0x9034('0x43')]){_0x2e9643[_0x9034('0x44')]=[{'all':!![]}];}return db['Team']['findAll'](_0x2e9643);})[_0x9034('0x42')](function(_0x4626ae){_0x178b17[_0x9034('0x45')]=_0x4626ae;return _0x178b17;})[_0x9034('0x42')](respondWithFilteredResult(_0xcfb14f,_0x2e9643))[_0x9034('0x46')](handleError(_0xcfb14f,null));};exports[_0x9034('0x47')]=function(_0x5d8ac9,_0x1b046c){var _0x4ad07e={'raw':![],'where':{'id':_0x5d8ac9[_0x9034('0x48')]['id']}},_0x3621a3={};_0x3621a3['model']=_['keys'](db[_0x9034('0x30')]['rawAttributes']);_0x3621a3[_0x9034('0x35')]=_[_0x9034('0x49')](_0x5d8ac9['query']);_0x3621a3[_0x9034('0x3e')]=_[_0x9034('0x36')](_0x3621a3[_0x9034('0x34')],_0x3621a3[_0x9034('0x35')]);_0x4ad07e[_0x9034('0x38')]=_[_0x9034('0x36')](_0x3621a3['model'],qs['fields'](_0x5d8ac9[_0x9034('0x35')][_0x9034('0x37')]));_0x4ad07e[_0x9034('0x38')]=_0x4ad07e[_0x9034('0x38')][_0x9034('0x39')]?_0x4ad07e[_0x9034('0x38')]:_0x3621a3[_0x9034('0x34')];if(_0x5d8ac9[_0x9034('0x35')]['includeAll']){_0x4ad07e['include']=[{'all':!![]}];}_0x4ad07e=_[_0x9034('0x41')]({},_0x4ad07e,_0x5d8ac9[_0x9034('0x4a')]);return db[_0x9034('0x30')]['find'](_0x4ad07e)['then'](handleEntityNotFound(_0x1b046c,null))[_0x9034('0x42')](respondWithResult(_0x1b046c,null))[_0x9034('0x46')](handleError(_0x1b046c,null));};exports['create']=function(_0x267500,_0x5a4372){return db[_0x9034('0x30')][_0x9034('0x4b')](_0x267500['body'],{})[_0x9034('0x42')](function(_0x1e6ace){var _0x3974d7=_0x267500[_0x9034('0x4c')]['get']({'plain':!![]});if(!_0x3974d7)throw new Error(_0x9034('0x4d'));if(_0x3974d7[_0x9034('0x4e')]===_0x9034('0x4c')){var _0x1f2b0=_0x1e6ace[_0x9034('0x4f')]({'plain':!![]});var _0x2fd10a=_0x9034('0x50');return db['UserProfileSection'][_0x9034('0x51')]({'where':{'name':_0x2fd10a,'userProfileId':_0x3974d7['userProfileId']},'raw':!![]})[_0x9034('0x42')](function(_0x46c893){if(_0x46c893&&_0x46c893[_0x9034('0x52')]===0x0){return db[_0x9034('0x53')][_0x9034('0x4b')]({'name':_0x1f2b0['name'],'resourceId':_0x1f2b0['id'],'type':_0x46c893['name'],'sectionId':_0x46c893['id']},{})[_0x9034('0x42')](function(){return _0x1e6ace;});}else{return _0x1e6ace;}})['catch'](function(_0x498ff8){logger[_0x9034('0x2a')](_0x9034('0x54'),_0x498ff8);throw _0x498ff8;});}return _0x1e6ace;})[_0x9034('0x42')](respondWithResult(_0x5a4372,0xc9))[_0x9034('0x46')](handleError(_0x5a4372,null));};exports[_0x9034('0x29')]=function(_0x4d9b8d,_0x1e46b2){if(_0x4d9b8d[_0x9034('0x55')]['id']){delete _0x4d9b8d[_0x9034('0x55')]['id'];}return db[_0x9034('0x30')][_0x9034('0x51')]({'where':{'id':_0x4d9b8d[_0x9034('0x48')]['id']}})[_0x9034('0x42')](handleEntityNotFound(_0x1e46b2,null))[_0x9034('0x42')](saveUpdates(_0x4d9b8d['body'],null))[_0x9034('0x42')](respondWithResult(_0x1e46b2,null))[_0x9034('0x46')](handleError(_0x1e46b2,null));};exports[_0x9034('0x56')]=function(_0x2dd950,_0x56af66){var _0x3bad98=_0x2dd950[_0x9034('0x48')]['id'];var _0x37840f=[];return db[_0x9034('0x57')]['transaction'](function(_0x3c200e){var _0x148c96=_0x9034('0x58')+_0x3bad98;return db[_0x9034('0x57')][_0x9034('0x35')](_0x148c96,{'type':db[_0x9034('0x59')][_0x9034('0x5a')][_0x9034('0x5b')],'raw':!![],'transaction':_0x3c200e})[_0x9034('0x42')](function(_0x2e2489){_0x37840f=_['map'](_0x2e2489,function(_0x267ebd){return Number(_0x267ebd[_0x9034('0x5c')]);});})[_0x9034('0x42')](function(){var _0x11700c=_0x9034('0x5d')+_0x3bad98;return db[_0x9034('0x57')][_0x9034('0x35')](_0x11700c,{'type':db[_0x9034('0x59')]['QueryTypes'][_0x9034('0x5b')],'raw':!![],'transaction':_0x3c200e});})[_0x9034('0x42')](function(_0x3f9da9){var _0x3cc46c=_[_0x9034('0x2f')](_0x3f9da9,function(_0x505ec2){return Number(_0x505ec2['VoiceQueueId']);});return db[_0x9034('0x5e')]['destroy']({'where':{'UserId':{'$in':_0x37840f},'VoiceQueueId':{'$in':_0x3cc46c}},'transaction':_0x3c200e});})[_0x9034('0x42')](function(){var _0x347d6a=_0x9034('0x5f')+_0x3bad98;return db[_0x9034('0x57')][_0x9034('0x35')](_0x347d6a,{'type':db[_0x9034('0x59')][_0x9034('0x5a')][_0x9034('0x5b')],'raw':!![],'transaction':_0x3c200e});})[_0x9034('0x42')](function(_0x27f450){var _0xad675e=_[_0x9034('0x2f')](_0x27f450,function(_0x18ac2d){return Number(_0x18ac2d['MailQueueId']);});return db[_0x9034('0x60')][_0x9034('0x56')]({'where':{'UserId':{'$in':_0x37840f},'MailQueueId':{'$in':_0xad675e}},'transaction':_0x3c200e});})[_0x9034('0x42')](function(){var _0x5f1b25=_0x9034('0x61')+_0x3bad98;return db[_0x9034('0x57')]['query'](_0x5f1b25,{'type':db[_0x9034('0x59')][_0x9034('0x5a')][_0x9034('0x5b')],'raw':!![],'transaction':_0x3c200e});})[_0x9034('0x42')](function(_0x200520){var _0x55c30f=_['map'](_0x200520,function(_0x2637e6){return Number(_0x2637e6['SmsQueueId']);});return db['UserSmsQueue']['destroy']({'where':{'UserId':{'$in':_0x37840f},'SmsQueueId':{'$in':_0x55c30f}},'transaction':_0x3c200e});})[_0x9034('0x42')](function(){var _0x404fe2=_0x9034('0x62')+_0x3bad98;return db[_0x9034('0x57')][_0x9034('0x35')](_0x404fe2,{'type':db[_0x9034('0x59')][_0x9034('0x5a')][_0x9034('0x5b')],'raw':!![],'transaction':_0x3c200e});})['then'](function(_0x54ca5d){var _0x243dc8=_[_0x9034('0x2f')](_0x54ca5d,function(_0x429984){return Number(_0x429984['ChatQueueId']);});return db[_0x9034('0x63')][_0x9034('0x56')]({'where':{'UserId':{'$in':_0x37840f},'ChatQueueId':{'$in':_0x243dc8}},'transaction':_0x3c200e});})[_0x9034('0x42')](function(){var _0x44279f=_0x9034('0x64')+_0x3bad98;return db['sequelize'][_0x9034('0x35')](_0x44279f,{'type':db[_0x9034('0x59')][_0x9034('0x5a')][_0x9034('0x5b')],'raw':!![],'transaction':_0x3c200e});})['then'](function(_0x1faf0c){var _0x4b4f8d=_[_0x9034('0x2f')](_0x1faf0c,function(_0x52de63){return Number(_0x52de63[_0x9034('0x65')]);});return db[_0x9034('0x66')][_0x9034('0x56')]({'where':{'UserId':{'$in':_0x37840f},'FaxQueueId':{'$in':_0x4b4f8d}},'transaction':_0x3c200e});})[_0x9034('0x42')](function(){var _0x2fb96b=_0x9034('0x67')+_0x3bad98;return db[_0x9034('0x57')][_0x9034('0x35')](_0x2fb96b,{'type':db[_0x9034('0x59')][_0x9034('0x5a')][_0x9034('0x5b')],'raw':!![],'transaction':_0x3c200e});})[_0x9034('0x42')](function(_0x36ec6b){var _0x34408b=_[_0x9034('0x2f')](_0x36ec6b,function(_0x2788eb){return Number(_0x2788eb['OpenchannelQueueId']);});return db[_0x9034('0x68')]['destroy']({'where':{'UserId':{'$in':_0x37840f},'OpenchannelQueueId':{'$in':_0x34408b}},'transaction':_0x3c200e});})['then'](function(){var _0x1469bc=_0x9034('0x69')+_0x3bad98;return db[_0x9034('0x57')][_0x9034('0x35')](_0x1469bc,{'type':db[_0x9034('0x59')][_0x9034('0x5a')][_0x9034('0x5b')],'raw':!![],'transaction':_0x3c200e});})[_0x9034('0x42')](function(_0x28eaae){var _0x20f83e=_[_0x9034('0x2f')](_0x28eaae,function(_0x28cef9){return Number(_0x28cef9[_0x9034('0x6a')]);});return db[_0x9034('0x6b')]['destroy']({'where':{'UserId':{'$in':_0x37840f},'WhatsappQueueId':{'$in':_0x20f83e}},'transaction':_0x3c200e});})['then'](function(){return db['TeamVoicePrefix'][_0x9034('0x51')]({'where':{'TeamId':_0x3bad98}});})[_0x9034('0x42')](function(_0x20398b){if(_0x20398b===null){return;}return db[_0x9034('0x6c')][_0x9034('0x56')]({'where':{'UserId':{'$in':_0x37840f},'VoicePrefixId':_0x20398b[_0x9034('0x6d')]},'transaction':_0x3c200e});})['then'](function(){return db[_0x9034('0x30')]['destroy']({'where':{'id':_0x3bad98},'cascade':!![],'transaction':_0x3c200e});})[_0x9034('0x42')](function(_0x41e42a){if(_0x41e42a===0x0){_0x56af66[_0x9034('0x1f')](0x194);}else{return db[_0x9034('0x53')][_0x9034('0x56')]({'where':{'type':'Teams','resourceId':_0x3bad98},'cascade':!![],'transaction':_0x3c200e})[_0x9034('0x42')](function(){_0x56af66[_0x9034('0x20')](0xcc)[_0x9034('0x21')]();});}})['catch'](function(_0x257ffd){_0x56af66[_0x9034('0x20')](0x1f4)[_0x9034('0x2d')](_0x257ffd);});});};exports[_0x9034('0x6e')]=function(_0x256da5,_0x505f19,_0x3f1121){return db[_0x9034('0x30')][_0x9034('0x6f')]({'where':{'id':_0x256da5[_0x9034('0x48')]['id']}})[_0x9034('0x42')](handleEntityNotFound(_0x505f19,null))[_0x9034('0x42')](function(_0x520410){if(!_0x256da5[_0x9034('0x35')][_0x9034('0x70')]||!utils[_0x9034('0x71')](_0x256da5['query'][_0x9034('0x70')])){throw new db[(_0x9034('0x59'))]['ValidationError']('Unknown\x20channel');}var _0x545227={};var _0x20bd6c={};_0x20bd6c[_0x9034('0x34')]=_[_0x9034('0x49')](db[_[_0x9034('0x72')](_0x256da5[_0x9034('0x35')]['channel'][_0x9034('0x73')]())+_0x9034('0x74')][_0x9034('0x75')]);_0x20bd6c[_0x9034('0x35')]=_[_0x9034('0x49')](_0x256da5[_0x9034('0x35')]);_0x20bd6c[_0x9034('0x3e')]=_[_0x9034('0x36')](_0x20bd6c[_0x9034('0x34')],_0x20bd6c[_0x9034('0x35')]);_0x545227[_0x9034('0x38')]=_[_0x9034('0x36')](_0x20bd6c[_0x9034('0x34')],qs[_0x9034('0x37')](_0x256da5[_0x9034('0x35')][_0x9034('0x37')]));_0x545227[_0x9034('0x38')]=_0x545227['attributes'][_0x9034('0x39')]?_0x545227[_0x9034('0x38')]:_0x20bd6c['model'];_0x545227[_0x9034('0x24')]=qs[_0x9034('0x24')](_0x256da5[_0x9034('0x35')][_0x9034('0x24')]);_0x545227[_0x9034('0x22')]=qs[_0x9034('0x22')](_0x256da5[_0x9034('0x35')]['offset']);_0x545227[_0x9034('0x3b')]=qs[_0x9034('0x3c')](_0x256da5[_0x9034('0x35')]['sort']);_0x545227[_0x9034('0x3d')]=qs['filters'](_[_0x9034('0x3f')](_0x256da5['query'],_0x20bd6c[_0x9034('0x3e')]));_0x545227=_[_0x9034('0x41')]({},_0x545227,_0x256da5[_0x9034('0x4a')]);return _0x520410['get'+_[_0x9034('0x72')](_0x256da5[_0x9034('0x35')][_0x9034('0x70')][_0x9034('0x73')]())+_0x9034('0x76')](_0x545227);})[_0x9034('0x42')](respondWithResult(_0x505f19,null))[_0x9034('0x46')](handleError(_0x505f19,null));};exports[_0x9034('0x77')]=function(_0x58676c,_0x417915,_0x5adcb5){return db[_0x9034('0x30')][_0x9034('0x6f')]({'where':{'id':_0x58676c[_0x9034('0x48')]['id']}})[_0x9034('0x42')](function(_0x2e7a44){if(_0x2e7a44){if(!_0x58676c[_0x9034('0x55')][_0x9034('0x70')]||!utils['isValidChannel'](_0x58676c[_0x9034('0x55')][_0x9034('0x70')])){throw new db['Sequelize'][(_0x9034('0x78'))]('Unknown\x20channel');}return _0x2e7a44['add'+_[_0x9034('0x72')](_0x58676c[_0x9034('0x55')][_0x9034('0x70')][_0x9034('0x73')]())+_0x9034('0x76')](_0x58676c[_0x9034('0x55')][_0x9034('0x79')]);}return null;})['then'](handleEntityNotFound(_0x417915,null))[_0x9034('0x42')](respondWithStatusCode(_0x417915,null))[_0x9034('0x46')](handleError(_0x417915,null));};exports[_0x9034('0x7a')]=function(_0x5936dd,_0x203e18,_0x57777e){return db[_0x9034('0x30')]['findOne']({'where':{'id':_0x5936dd['params']['id']}})[_0x9034('0x42')](function(_0x216c39){if(_0x216c39){if(!_0x5936dd[_0x9034('0x35')][_0x9034('0x70')]||!utils[_0x9034('0x71')](_0x5936dd['query'][_0x9034('0x70')])){throw new db['Sequelize']['ValidationError']('Unknown\x20channel');}return _0x216c39[_0x9034('0x7b')+_['capitalize'](_0x5936dd[_0x9034('0x35')][_0x9034('0x70')][_0x9034('0x73')]())+'Queues'](_0x5936dd[_0x9034('0x35')]['ids']);}return null;})[_0x9034('0x42')](handleEntityNotFound(_0x203e18,null))[_0x9034('0x42')](respondWithStatusCode(_0x203e18,null))[_0x9034('0x46')](handleError(_0x203e18,null));};exports['addAgents']=function(_0x71499c,_0x23f0ef){var _0x27af44=_[_0x9034('0x7c')](_0x71499c['body'][_0x9034('0x79')])?_0x71499c[_0x9034('0x55')]['ids']:[_0x71499c[_0x9034('0x55')]['ids']];var _0x18abbb=_0x71499c[_0x9034('0x48')]['id'];return db[_0x9034('0x30')][_0x9034('0x51')]({'where':{'id':_0x18abbb}})[_0x9034('0x42')](handleEntityNotFound(_0x23f0ef,null))[_0x9034('0x42')](function(_0x21c078){if(_0x21c078){var _0x20a99d=[_0x9034('0x7d'),_0x9034('0x7e'),_0x9034('0x7f'),_0x9034('0x80'),_0x9034('0x81'),_0x9034('0x82'),_0x9034('0x83')];return db[_0x9034('0x57')][_0x9034('0x84')](function(_0xdbf31f){var _0x7e9b3c=_['map'](_0x20a99d,function(_0x1a7469){var _0x11ac7f={'attributes':['id',_0x9034('0x2c')]};if(_0x1a7469==='Voice'){_0x11ac7f[_0x9034('0x85')]={'attributes':[_0x9034('0x86')]};}return _0x21c078[_0x9034('0x4f')+_0x1a7469+_0x9034('0x76')](_0x11ac7f)[_0x9034('0x42')](function(_0x2f75d0){var _0x361a27=_[_0x9034('0x2f')](_0x2f75d0,function(_0x278394){var _0x375f15=_['map'](_0x27af44,function(_0x7e8f5){var _0x4b3982={'where':{'UserId':_0x7e8f5,[_0x1a7469+_0x9034('0x87')]:_0x278394['id']},'transaction':_0xdbf31f};if(_0x1a7469==='Voice'){_0x4b3982[_0x9034('0x1a')]={'penalty':_0x278394[_0x9034('0x88')]['penalty']};}return db['User'+_0x1a7469+_0x9034('0x74')][_0x9034('0x89')](_0x4b3982)[_0x9034('0x42')](function(){socket[_0x9034('0x8a')]('user'+_0x1a7469+_0x9034('0x8b'),{'UserId':_0x7e8f5,[_0x1a7469+'QueueId']:_0x278394['id']});if(_0x1a7469!==_0x9034('0x7d')){return;}return db['User'][_0x9034('0x8c')]({'where':{'id':_0x27af44,'online':0x1},'attributes':['id',_0x9034('0x2c'),_0x9034('0x8d'),_0x9034('0x8e'),'interface'],'raw':!![]})[_0x9034('0x42')](function(_0x26947d){var _0x5e8d54=_[_0x9034('0x2f')](_0x26947d,function(_0x2a8cde){return db['UserVoiceQueueRt'][_0x9034('0x8f')]({'membername':_0x2a8cde[_0x9034('0x2c')],'UserId':_0x2a8cde['id'],'queue_name':_0x278394[_0x9034('0x2c')],'VoiceQueueId':_0x278394['id'],'interface':_[_0x9034('0x90')](_0x2a8cde[_0x9034('0x91')])?util['format'](_0x9034('0x92'),_0x2a8cde[_0x9034('0x2c')]):_0x2a8cde['interface'],'paused':_0x2a8cde[_0x9034('0x8e')]||![],'penalty':_0x278394[_0x9034('0x88')][_0x9034('0x86')]},{'transaction':_0xdbf31f});});return Promise['all'](_0x5e8d54);});});});return Promise[_0x9034('0x93')](_0x375f15);});return Promise['all'](_0x361a27);})[_0x9034('0x42')](function(){return db[_0x9034('0x94')]['findOne']({'where':{'teamId':_0x18abbb}})['then'](function(_0x270974){if(_0x270974){var _0x3f2f0b=_[_0x9034('0x2f')](_0x27af44,function(_0x5cd4a7){db[_0x9034('0x6c')][_0x9034('0x8f')]({'UserId':_0x5cd4a7,'VoicePrefixId':_0x270974[_0x9034('0x6d')]});});return Promise[_0x9034('0x93')](_0x3f2f0b);}});});});return Promise[_0x9034('0x93')](_0x7e9b3c)[_0x9034('0x42')](function(){return _0x21c078[_0x9034('0x95')](_0x27af44,{'transaction':_0xdbf31f})[_0x9034('0x96')](function(_0x23c8c5){return _0x23c8c5;});});});}})['then'](respondWithResult(_0x23f0ef,null))[_0x9034('0x46')](handleError(_0x23f0ef,null));};exports[_0x9034('0x97')]=function(_0x11ae76,_0x8e5216){var _0x3dc7ad=_[_0x9034('0x7c')](_0x11ae76[_0x9034('0x35')][_0x9034('0x79')])?_0x11ae76[_0x9034('0x35')][_0x9034('0x79')]:[_0x11ae76[_0x9034('0x35')][_0x9034('0x79')]];var _0x43e9a3=_0x11ae76[_0x9034('0x48')]['id'];return db[_0x9034('0x30')]['find']({'where':{'id':_0x43e9a3}})[_0x9034('0x42')](handleEntityNotFound(_0x8e5216,null))[_0x9034('0x42')](function(_0x3f9052){if(_0x3f9052){var _0x438808=[_0x9034('0x7d'),_0x9034('0x7e'),_0x9034('0x7f'),_0x9034('0x80'),'Fax','Openchannel','Whatsapp'];return db[_0x9034('0x57')][_0x9034('0x84')](function(_0x3e82cf){var _0x321df5=_[_0x9034('0x2f')](_0x438808,function(_0x2a37cd){var _0x58e840={'attributes':['id',_0x9034('0x2c')]};return _0x3f9052[_0x9034('0x4f')+_0x2a37cd+_0x9034('0x76')](_0x58e840)['then'](function(_0x512fe4){var _0x1e547c=_['map'](_0x512fe4,function(_0x5468af){return _0x5468af[_0x9034('0x97')](_0x3dc7ad,{'transaction':_0x3e82cf})[_0x9034('0x42')](function(){var _0x4ce2bf=_[_0x9034('0x2f')](_0x3dc7ad,function(_0x31acbc){socket['emit'](_0x9034('0x4c')+_0x2a37cd+_0x9034('0x98'),{'UserId':Number(_0x31acbc),[_0x2a37cd+_0x9034('0x87')]:_0x5468af['id']});if(_0x2a37cd!==_0x9034('0x7d')){return;}return db[_0x9034('0x99')][_0x9034('0x56')]({'where':{'VoiceQueueId':_0x5468af['id'],'UserId':_0x31acbc},'transaction':_0x3e82cf});});return Promise[_0x9034('0x93')](_0x4ce2bf);});});return Promise[_0x9034('0x93')](_0x1e547c);});});return Promise[_0x9034('0x93')](_0x321df5)[_0x9034('0x42')](function(){return _0x3f9052[_0x9034('0x97')](_0x3dc7ad,{'transaction':_0x3e82cf});})[_0x9034('0x42')](function(){return db['TeamVoicePrefix'][_0x9034('0x6f')]({'where':{'teamId':_0x43e9a3}})[_0x9034('0x42')](function(_0x3853d1){if(_0x3853d1){var _0x219ffe=_[_0x9034('0x2f')](_0x3dc7ad,function(_0x1ceb7c){db[_0x9034('0x6c')][_0x9034('0x56')]({'where':{'UserId':_0x1ceb7c,'VoicePrefixId':_0x3853d1[_0x9034('0x6d')]}});});return Promise[_0x9034('0x93')](_0x219ffe);}});});});}})[_0x9034('0x42')](respondWithStatusCode(_0x8e5216,null))[_0x9034('0x46')](handleError(_0x8e5216,null));};exports[_0x9034('0x9a')]=function(_0x5e5f65,_0x37bee7,_0x38a31d){var _0x84a87c={};var _0x121cc0={};var _0x49ec93;var _0x45be2a;return db[_0x9034('0x30')][_0x9034('0x6f')]({'where':{'id':_0x5e5f65[_0x9034('0x48')]['id']}})['then'](handleEntityNotFound(_0x37bee7,null))[_0x9034('0x42')](function(_0x5491e4){if(_0x5491e4){_0x49ec93=_0x5491e4;_0x121cc0[_0x9034('0x34')]=_['keys'](db[_0x9034('0x9b')][_0x9034('0x75')]);_0x121cc0[_0x9034('0x35')]=_[_0x9034('0x49')](_0x5e5f65[_0x9034('0x35')]);_0x121cc0[_0x9034('0x3e')]=_[_0x9034('0x36')](_0x121cc0['model'],_0x121cc0[_0x9034('0x35')]);_0x84a87c['attributes']=_[_0x9034('0x36')](_0x121cc0[_0x9034('0x34')],qs['fields'](_0x5e5f65[_0x9034('0x35')][_0x9034('0x37')]));_0x84a87c[_0x9034('0x38')]=_0x84a87c[_0x9034('0x38')][_0x9034('0x39')]?_0x84a87c[_0x9034('0x38')]:_0x121cc0[_0x9034('0x34')];_0x84a87c[_0x9034('0x3b')]=qs[_0x9034('0x3c')](_0x5e5f65['query'][_0x9034('0x3c')]);_0x84a87c[_0x9034('0x3d')]=qs[_0x9034('0x3e')](_['pick'](_0x5e5f65['query'],_0x121cc0['filters']));if(_0x5e5f65[_0x9034('0x35')][_0x9034('0x40')]){_0x84a87c[_0x9034('0x3d')]=_['merge'](_0x84a87c[_0x9034('0x3d')],{'$or':_['map'](_0x84a87c[_0x9034('0x38')],function(_0x1fabe2){var _0x5b7000={};_0x5b7000[_0x1fabe2]={'$like':'%'+_0x5e5f65[_0x9034('0x35')]['filter']+'%'};return _0x5b7000;})});}_0x84a87c=_[_0x9034('0x41')]({},_0x84a87c,_0x5e5f65['options']);return _0x49ec93[_0x9034('0x9a')](_0x84a87c);}})[_0x9034('0x42')](function(_0x44411c){if(_0x44411c){_0x45be2a=_0x44411c[_0x9034('0x39')];if(!_0x5e5f65['query'][_0x9034('0x3a')](_0x9034('0x9c'))){_0x84a87c[_0x9034('0x24')]=qs[_0x9034('0x24')](_0x5e5f65[_0x9034('0x35')][_0x9034('0x24')]);_0x84a87c[_0x9034('0x22')]=qs['offset'](_0x5e5f65[_0x9034('0x35')][_0x9034('0x22')]);}return _0x49ec93[_0x9034('0x9a')](_0x84a87c);}})[_0x9034('0x42')](function(_0x2811e7){if(_0x2811e7){return _0x2811e7?{'count':_0x45be2a,'rows':_0x2811e7}:null;}})[_0x9034('0x42')](respondWithResult(_0x37bee7,null))[_0x9034('0x46')](handleError(_0x37bee7,null));};