d8f4cab18b26196b7fa61269502d7e80f0913afd
[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 _0xa162=['redis','localhost','socket.io-emitter','./team.socket','sendStatus','status','end','json','offset','undefined','count','limit','Content-Range','apply','reject','update','then','error','stack','name','send','index','Team','rawAttributes','type','key','model','map','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','show','find','catch','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','autoAssociation','create','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','destroy','sequelize','transaction','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','Sequelize','QueryTypes','VoiceQueueId','UserVoiceQueue','SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20','MailQueueId','SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20','SmsQueueId','UserSmsQueue','ChatQueueId','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','VoicePrefixId','UserProfileResource','Teams','findOne','channel','isValidChannel','Unknown\x20channel','capitalize','toLowerCase','Queue','Queues','ValidationError','remove','ids','isArray','Chat','Sms','Whatsapp','Voice','through','penalty','QueueId','defaults','TeamVoiceQueue','Queue:save','voicePause','interface','UserVoiceQueueRt','upsert','isNil','format','SIP/%s','all','UserVoicePrefix','addAgents','removeAgents','Mail','Openchannel','emit','Queue:remove','TeamVoicePrefix','getAgents','User','eml-format','rimraf','zip-dir','request-promise','moment','mustache','util','sox','to-csv','fs-extra','squel','crypto','querystring','papaparse','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/environment','../../mysqldb'];(function(_0x3a75a1,_0x18842d){var _0x1f9f87=function(_0x1f21c2){while(--_0x1f21c2){_0x3a75a1['push'](_0x3a75a1['shift']());}};_0x1f9f87(++_0x18842d);}(_0xa162,0x7d));var _0x2a16=function(_0x39cdf2,_0x13d9c7){_0x39cdf2=_0x39cdf2-0x0;var _0x4d7b62=_0xa162[_0x39cdf2];return _0x4d7b62;};'use strict';var emlformat=require(_0x2a16('0x0'));var rimraf=require(_0x2a16('0x1'));var zipdir=require(_0x2a16('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x2a16('0x3'));var moment=require(_0x2a16('0x4'));var BPromise=require('bluebird');var Mustache=require(_0x2a16('0x5'));var util=require(_0x2a16('0x6'));var path=require('path');var sox=require(_0x2a16('0x7'));var csv=require(_0x2a16('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x2a16('0x9'));var _=require('lodash');var squel=require(_0x2a16('0xa'));var crypto=require(_0x2a16('0xb'));var jsforce=require('jsforce');var deskjs=require('desk.js');var toCsv=require('to-csv');var querystring=require(_0x2a16('0xc'));var Papa=require(_0x2a16('0xd'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0x2a16('0xe'));var hardwareService=require(_0x2a16('0xf'));var logger=require(_0x2a16('0x10'))(_0x2a16('0x11'));var utils=require('../../config/utils');var config=require(_0x2a16('0x12'));var licenseUtil=require('../../config/license/util');var db=require(_0x2a16('0x13'))['db'];config['redis']=_['defaults'](config[_0x2a16('0x14')],{'host':_0x2a16('0x15'),'port':0x18eb});var socket=require(_0x2a16('0x16'))(new Redis(config[_0x2a16('0x14')]));require(_0x2a16('0x17'))['register'](socket);function respondWithStatusCode(_0x5831ab,_0xcd9ac2){_0xcd9ac2=_0xcd9ac2||0xcc;return function(_0x5c42f9){if(_0x5c42f9){return _0x5831ab[_0x2a16('0x18')](_0xcd9ac2);}return _0x5831ab[_0x2a16('0x19')](_0xcd9ac2)[_0x2a16('0x1a')]();};}function respondWithResult(_0x2f5dc1,_0x479063){_0x479063=_0x479063||0xc8;return function(_0x273b93){if(_0x273b93){return _0x2f5dc1[_0x2a16('0x19')](_0x479063)[_0x2a16('0x1b')](_0x273b93);}};}function respondWithFilteredResult(_0x3fb5e2,_0x5a0d92){return function(_0x2b9b41){if(_0x2b9b41){var _0x37ac7f=typeof _0x5a0d92[_0x2a16('0x1c')]==='undefined'&&typeof _0x5a0d92['limit']===_0x2a16('0x1d');var _0x197b8c=_0x2b9b41[_0x2a16('0x1e')];var _0x5278d8=_0x37ac7f?0x0:_0x5a0d92[_0x2a16('0x1c')];var _0x1ae68b=_0x37ac7f?_0x2b9b41['count']:_0x5a0d92['offset']+_0x5a0d92[_0x2a16('0x1f')];var _0x324a3c;if(_0x1ae68b>=_0x197b8c){_0x1ae68b=_0x197b8c;_0x324a3c=0xc8;}else{_0x324a3c=0xce;}_0x3fb5e2[_0x2a16('0x19')](_0x324a3c);return _0x3fb5e2['set'](_0x2a16('0x20'),_0x5278d8+'-'+_0x1ae68b+'/'+_0x197b8c)[_0x2a16('0x1b')](_0x2b9b41);}return null;};}function patchUpdates(_0x2d2358){return function(_0x370249){try{jsonpatch[_0x2a16('0x21')](_0x370249,_0x2d2358,!![]);}catch(_0x18ac59){return BPromise[_0x2a16('0x22')](_0x18ac59);}return _0x370249['save']();};}function saveUpdates(_0x1a3d34,_0x175320){return function(_0x520a7c){if(_0x520a7c){return _0x520a7c[_0x2a16('0x23')](_0x1a3d34)[_0x2a16('0x24')](function(_0x4c1b12){return _0x4c1b12;});}return null;};}function handleEntityNotFound(_0x22c01f,_0x7085a9){return function(_0x1c68a5){if(!_0x1c68a5){_0x22c01f[_0x2a16('0x18')](0x194);}return _0x1c68a5;};}function handleError(_0x3d39e0,_0x42af70){_0x42af70=_0x42af70||0x1f4;return function(_0x37410a){logger[_0x2a16('0x25')](_0x37410a[_0x2a16('0x26')]);if(_0x37410a[_0x2a16('0x27')]){delete _0x37410a['name'];}_0x3d39e0[_0x2a16('0x19')](_0x42af70)[_0x2a16('0x28')](_0x37410a);};}exports[_0x2a16('0x29')]=function(_0x3ac237,_0x59ed47){var _0x5d1ace={},_0x5e97ca={},_0x1c8a37={'count':0x0,'rows':[]};var _0x4e18b7=_['map'](db[_0x2a16('0x2a')][_0x2a16('0x2b')],function(_0x438688){return{'name':_0x438688['fieldName'],'type':_0x438688[_0x2a16('0x2c')][_0x2a16('0x2d')]};});_0x5e97ca[_0x2a16('0x2e')]=_[_0x2a16('0x2f')](_0x4e18b7,_0x2a16('0x27'));_0x5e97ca['query']=_[_0x2a16('0x30')](_0x3ac237[_0x2a16('0x31')]);_0x5e97ca[_0x2a16('0x32')]=_['intersection'](_0x5e97ca[_0x2a16('0x2e')],_0x5e97ca[_0x2a16('0x31')]);_0x5d1ace['attributes']=_[_0x2a16('0x33')](_0x5e97ca['model'],qs[_0x2a16('0x34')](_0x3ac237[_0x2a16('0x31')][_0x2a16('0x34')]));_0x5d1ace[_0x2a16('0x35')]=_0x5d1ace[_0x2a16('0x35')][_0x2a16('0x36')]?_0x5d1ace[_0x2a16('0x35')]:_0x5e97ca[_0x2a16('0x2e')];if(!_0x3ac237[_0x2a16('0x31')][_0x2a16('0x37')](_0x2a16('0x38'))){_0x5d1ace[_0x2a16('0x1f')]=qs[_0x2a16('0x1f')](_0x3ac237['query']['limit']);_0x5d1ace[_0x2a16('0x1c')]=qs['offset'](_0x3ac237[_0x2a16('0x31')]['offset']);}_0x5d1ace[_0x2a16('0x39')]=qs['sort'](_0x3ac237[_0x2a16('0x31')][_0x2a16('0x3a')]);_0x5d1ace[_0x2a16('0x3b')]=qs[_0x2a16('0x32')](_[_0x2a16('0x3c')](_0x3ac237[_0x2a16('0x31')],_0x5e97ca['filters']),_0x4e18b7);if(_0x3ac237['query'][_0x2a16('0x3d')]){_0x5d1ace[_0x2a16('0x3b')]=_['merge'](_0x5d1ace[_0x2a16('0x3b')],{'$or':_[_0x2a16('0x2f')](_0x4e18b7,function(_0x5506cf){if(_0x5506cf['type']!==_0x2a16('0x3e')){var _0x4edb40={};_0x4edb40[_0x5506cf[_0x2a16('0x27')]]={'$like':'%'+_0x3ac237['query'][_0x2a16('0x3d')]+'%'};return _0x4edb40;}})});}_0x5d1ace=_[_0x2a16('0x3f')]({},_0x5d1ace,_0x3ac237[_0x2a16('0x40')]);var _0x4c6db0={'where':_0x5d1ace[_0x2a16('0x3b')]};return db[_0x2a16('0x2a')][_0x2a16('0x1e')](_0x4c6db0)['then'](function(_0x520037){_0x1c8a37[_0x2a16('0x1e')]=_0x520037;if(_0x3ac237['query'][_0x2a16('0x41')]){_0x5d1ace[_0x2a16('0x42')]=[{'all':!![]}];}return db[_0x2a16('0x2a')][_0x2a16('0x43')](_0x5d1ace);})[_0x2a16('0x24')](function(_0x32baec){_0x1c8a37['rows']=_0x32baec;return _0x1c8a37;})['then'](respondWithFilteredResult(_0x59ed47,_0x5d1ace))['catch'](handleError(_0x59ed47,null));};exports[_0x2a16('0x44')]=function(_0x4ab42e,_0x43a8d7){var _0xde57f0={'raw':![],'where':{'id':_0x4ab42e['params']['id']}},_0x31b33a={};_0x31b33a[_0x2a16('0x2e')]=_[_0x2a16('0x30')](db[_0x2a16('0x2a')][_0x2a16('0x2b')]);_0x31b33a[_0x2a16('0x31')]=_[_0x2a16('0x30')](_0x4ab42e[_0x2a16('0x31')]);_0x31b33a['filters']=_[_0x2a16('0x33')](_0x31b33a[_0x2a16('0x2e')],_0x31b33a[_0x2a16('0x31')]);_0xde57f0[_0x2a16('0x35')]=_[_0x2a16('0x33')](_0x31b33a[_0x2a16('0x2e')],qs['fields'](_0x4ab42e[_0x2a16('0x31')][_0x2a16('0x34')]));_0xde57f0['attributes']=_0xde57f0[_0x2a16('0x35')][_0x2a16('0x36')]?_0xde57f0[_0x2a16('0x35')]:_0x31b33a[_0x2a16('0x2e')];if(_0x4ab42e[_0x2a16('0x31')]['includeAll']){_0xde57f0[_0x2a16('0x42')]=[{'all':!![]}];}_0xde57f0=_[_0x2a16('0x3f')]({},_0xde57f0,_0x4ab42e[_0x2a16('0x40')]);return db[_0x2a16('0x2a')][_0x2a16('0x45')](_0xde57f0)[_0x2a16('0x24')](handleEntityNotFound(_0x43a8d7,null))[_0x2a16('0x24')](respondWithResult(_0x43a8d7,null))[_0x2a16('0x46')](handleError(_0x43a8d7,null));};exports['create']=function(_0x2056e2,_0x102ab2){return db['Team']['create'](_0x2056e2[_0x2a16('0x47')],{})['then'](function(_0x1f5f43){var _0x12e7e0=_0x2056e2[_0x2a16('0x48')][_0x2a16('0x49')]({'plain':!![]});if(!_0x12e7e0)throw new Error(_0x2a16('0x4a'));if(_0x12e7e0[_0x2a16('0x4b')]===_0x2a16('0x48')){var _0x16c08d=_0x1f5f43[_0x2a16('0x49')]({'plain':!![]});var _0x5dfba3='Teams';return db[_0x2a16('0x4c')]['find']({'where':{'name':_0x5dfba3,'userProfileId':_0x12e7e0['userProfileId']},'raw':!![]})[_0x2a16('0x24')](function(_0x5bb827){if(_0x5bb827&&_0x5bb827[_0x2a16('0x4d')]===0x0){return db['UserProfileResource'][_0x2a16('0x4e')]({'name':_0x16c08d[_0x2a16('0x27')],'resourceId':_0x16c08d['id'],'type':_0x5bb827[_0x2a16('0x27')],'sectionId':_0x5bb827['id']},{})['then'](function(){return _0x1f5f43;});}else{return _0x1f5f43;}})[_0x2a16('0x46')](function(_0x53a313){logger['error'](_0x2a16('0x4f'),_0x53a313);throw _0x53a313;});}return _0x1f5f43;})[_0x2a16('0x24')](respondWithResult(_0x102ab2,0xc9))[_0x2a16('0x46')](handleError(_0x102ab2,null));};exports[_0x2a16('0x23')]=function(_0x17f8d3,_0x384457){if(_0x17f8d3[_0x2a16('0x47')]['id']){delete _0x17f8d3[_0x2a16('0x47')]['id'];}return db[_0x2a16('0x2a')][_0x2a16('0x45')]({'where':{'id':_0x17f8d3[_0x2a16('0x50')]['id']}})[_0x2a16('0x24')](handleEntityNotFound(_0x384457,null))[_0x2a16('0x24')](saveUpdates(_0x17f8d3[_0x2a16('0x47')],null))['then'](respondWithResult(_0x384457,null))[_0x2a16('0x46')](handleError(_0x384457,null));};exports[_0x2a16('0x51')]=function(_0x461e9f,_0x143a8a){var _0xdb167b=_0x461e9f[_0x2a16('0x50')]['id'];var _0x1722b1=[];return db[_0x2a16('0x52')][_0x2a16('0x53')](function(_0x4a735f){var _0x7469d='SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20'+_0xdb167b;return db[_0x2a16('0x52')][_0x2a16('0x31')](_0x7469d,{'type':db['Sequelize']['QueryTypes'][_0x2a16('0x54')],'raw':!![],'transaction':_0x4a735f})[_0x2a16('0x24')](function(_0x36746c){_0x1722b1=_[_0x2a16('0x2f')](_0x36746c,function(_0x3a2447){return Number(_0x3a2447[_0x2a16('0x55')]);});})[_0x2a16('0x24')](function(){var _0x293141=_0x2a16('0x56')+_0xdb167b;return db['sequelize'][_0x2a16('0x31')](_0x293141,{'type':db[_0x2a16('0x57')][_0x2a16('0x58')][_0x2a16('0x54')],'raw':!![],'transaction':_0x4a735f});})[_0x2a16('0x24')](function(_0x1017fb){var _0x57a488=_['map'](_0x1017fb,function(_0x2360c7){return Number(_0x2360c7[_0x2a16('0x59')]);});return db[_0x2a16('0x5a')][_0x2a16('0x51')]({'where':{'UserId':{'$in':_0x1722b1},'VoiceQueueId':{'$in':_0x57a488}},'transaction':_0x4a735f});})['then'](function(){var _0x2b8dfa=_0x2a16('0x5b')+_0xdb167b;return db[_0x2a16('0x52')][_0x2a16('0x31')](_0x2b8dfa,{'type':db[_0x2a16('0x57')][_0x2a16('0x58')][_0x2a16('0x54')],'raw':!![],'transaction':_0x4a735f});})['then'](function(_0x4e1b98){var _0x2b1cde=_[_0x2a16('0x2f')](_0x4e1b98,function(_0x449770){return Number(_0x449770[_0x2a16('0x5c')]);});return db['UserMailQueue'][_0x2a16('0x51')]({'where':{'UserId':{'$in':_0x1722b1},'MailQueueId':{'$in':_0x2b1cde}},'transaction':_0x4a735f});})['then'](function(){var _0x5a355b=_0x2a16('0x5d')+_0xdb167b;return db['sequelize']['query'](_0x5a355b,{'type':db[_0x2a16('0x57')][_0x2a16('0x58')][_0x2a16('0x54')],'raw':!![],'transaction':_0x4a735f});})[_0x2a16('0x24')](function(_0x3d0891){var _0x3ca71a=_[_0x2a16('0x2f')](_0x3d0891,function(_0x34c3bc){return Number(_0x34c3bc[_0x2a16('0x5e')]);});return db[_0x2a16('0x5f')]['destroy']({'where':{'UserId':{'$in':_0x1722b1},'SmsQueueId':{'$in':_0x3ca71a}},'transaction':_0x4a735f});})['then'](function(){var _0x1a845a='SELECT\x20ChatQueueId\x20FROM\x20team_has_chat_queues\x20WHERE\x20TeamId\x20=\x20'+_0xdb167b;return db[_0x2a16('0x52')]['query'](_0x1a845a,{'type':db[_0x2a16('0x57')]['QueryTypes'][_0x2a16('0x54')],'raw':!![],'transaction':_0x4a735f});})[_0x2a16('0x24')](function(_0x25039c){var _0x3496d0=_['map'](_0x25039c,function(_0x58a327){return Number(_0x58a327[_0x2a16('0x60')]);});return db['UserChatQueue'][_0x2a16('0x51')]({'where':{'UserId':{'$in':_0x1722b1},'ChatQueueId':{'$in':_0x3496d0}},'transaction':_0x4a735f});})['then'](function(){var _0x3d877d='SELECT\x20FaxQueueId\x20FROM\x20team_has_fax_queues\x20WHERE\x20TeamId\x20=\x20'+_0xdb167b;return db['sequelize'][_0x2a16('0x31')](_0x3d877d,{'type':db[_0x2a16('0x57')][_0x2a16('0x58')]['SELECT'],'raw':!![],'transaction':_0x4a735f});})[_0x2a16('0x24')](function(_0x15095d){var _0x49fa85=_['map'](_0x15095d,function(_0x26b395){return Number(_0x26b395['FaxQueueId']);});return db['UserFaxQueue'][_0x2a16('0x51')]({'where':{'UserId':{'$in':_0x1722b1},'FaxQueueId':{'$in':_0x49fa85}},'transaction':_0x4a735f});})[_0x2a16('0x24')](function(){var _0x1be829=_0x2a16('0x61')+_0xdb167b;return db[_0x2a16('0x52')]['query'](_0x1be829,{'type':db['Sequelize'][_0x2a16('0x58')]['SELECT'],'raw':!![],'transaction':_0x4a735f});})['then'](function(_0x53eddf){var _0x439035=_[_0x2a16('0x2f')](_0x53eddf,function(_0x2a7371){return Number(_0x2a7371['OpenchannelQueueId']);});return db[_0x2a16('0x62')][_0x2a16('0x51')]({'where':{'UserId':{'$in':_0x1722b1},'OpenchannelQueueId':{'$in':_0x439035}},'transaction':_0x4a735f});})[_0x2a16('0x24')](function(){var _0xe3ff57=_0x2a16('0x63')+_0xdb167b;return db['sequelize'][_0x2a16('0x31')](_0xe3ff57,{'type':db['Sequelize'][_0x2a16('0x58')]['SELECT'],'raw':!![],'transaction':_0x4a735f});})[_0x2a16('0x24')](function(_0x5d16b5){var _0x23119b=_[_0x2a16('0x2f')](_0x5d16b5,function(_0x2cad89){return Number(_0x2cad89[_0x2a16('0x64')]);});return db[_0x2a16('0x65')][_0x2a16('0x51')]({'where':{'UserId':{'$in':_0x1722b1},'WhatsappQueueId':{'$in':_0x23119b}},'transaction':_0x4a735f});})['then'](function(){return db['TeamVoicePrefix'][_0x2a16('0x45')]({'where':{'TeamId':_0xdb167b}});})['then'](function(_0x195428){if(_0x195428===null){return;}return db['UserVoicePrefix'][_0x2a16('0x51')]({'where':{'UserId':{'$in':_0x1722b1},'VoicePrefixId':_0x195428[_0x2a16('0x66')]},'transaction':_0x4a735f});})[_0x2a16('0x24')](function(){return db[_0x2a16('0x2a')][_0x2a16('0x51')]({'where':{'id':_0xdb167b},'cascade':!![],'transaction':_0x4a735f});})[_0x2a16('0x24')](function(_0x3c0baf){if(_0x3c0baf===0x0){_0x143a8a[_0x2a16('0x18')](0x194);}else{return db[_0x2a16('0x67')][_0x2a16('0x51')]({'where':{'type':_0x2a16('0x68'),'resourceId':_0xdb167b},'cascade':!![],'transaction':_0x4a735f})[_0x2a16('0x24')](function(){_0x143a8a[_0x2a16('0x19')](0xcc)[_0x2a16('0x1a')]();});}})[_0x2a16('0x46')](function(_0x1a60ce){_0x143a8a[_0x2a16('0x19')](0x1f4)[_0x2a16('0x28')](_0x1a60ce);});});};exports['getQueues']=function(_0x56b767,_0x288084,_0x3bdbf7){return db[_0x2a16('0x2a')][_0x2a16('0x69')]({'where':{'id':_0x56b767['params']['id']}})[_0x2a16('0x24')](handleEntityNotFound(_0x288084,null))[_0x2a16('0x24')](function(_0x2080a6){if(!_0x56b767[_0x2a16('0x31')][_0x2a16('0x6a')]||!utils[_0x2a16('0x6b')](_0x56b767[_0x2a16('0x31')][_0x2a16('0x6a')])){throw new db['Sequelize']['ValidationError'](_0x2a16('0x6c'));}var _0x2de01c={};var _0x58a793={};_0x58a793[_0x2a16('0x2e')]=_[_0x2a16('0x30')](db[_[_0x2a16('0x6d')](_0x56b767['query'][_0x2a16('0x6a')][_0x2a16('0x6e')]())+_0x2a16('0x6f')][_0x2a16('0x2b')]);_0x58a793['query']=_['keys'](_0x56b767[_0x2a16('0x31')]);_0x58a793[_0x2a16('0x32')]=_[_0x2a16('0x33')](_0x58a793[_0x2a16('0x2e')],_0x58a793[_0x2a16('0x31')]);_0x2de01c[_0x2a16('0x35')]=_[_0x2a16('0x33')](_0x58a793[_0x2a16('0x2e')],qs[_0x2a16('0x34')](_0x56b767['query'][_0x2a16('0x34')]));_0x2de01c['attributes']=_0x2de01c['attributes'][_0x2a16('0x36')]?_0x2de01c[_0x2a16('0x35')]:_0x58a793[_0x2a16('0x2e')];_0x2de01c['limit']=qs[_0x2a16('0x1f')](_0x56b767[_0x2a16('0x31')][_0x2a16('0x1f')]);_0x2de01c[_0x2a16('0x1c')]=qs[_0x2a16('0x1c')](_0x56b767[_0x2a16('0x31')][_0x2a16('0x1c')]);_0x2de01c['order']=qs[_0x2a16('0x3a')](_0x56b767['query'][_0x2a16('0x3a')]);_0x2de01c[_0x2a16('0x3b')]=qs[_0x2a16('0x32')](_['pick'](_0x56b767[_0x2a16('0x31')],_0x58a793['filters']));_0x2de01c=_[_0x2a16('0x3f')]({},_0x2de01c,_0x56b767['options']);return _0x2080a6[_0x2a16('0x49')+_['capitalize'](_0x56b767[_0x2a16('0x31')][_0x2a16('0x6a')]['toLowerCase']())+_0x2a16('0x70')](_0x2de01c);})['then'](respondWithResult(_0x288084,null))[_0x2a16('0x46')](handleError(_0x288084,null));};exports['addQueues']=function(_0x461732,_0xab3904,_0x957cd1){return db[_0x2a16('0x2a')][_0x2a16('0x69')]({'where':{'id':_0x461732[_0x2a16('0x50')]['id']}})[_0x2a16('0x24')](function(_0x21535c){if(_0x21535c){if(!_0x461732[_0x2a16('0x47')][_0x2a16('0x6a')]||!utils[_0x2a16('0x6b')](_0x461732[_0x2a16('0x47')][_0x2a16('0x6a')])){throw new db[(_0x2a16('0x57'))]['ValidationError'](_0x2a16('0x6c'));}return _0x21535c['add'+_['capitalize'](_0x461732['body']['channel'][_0x2a16('0x6e')]())+_0x2a16('0x70')](_0x461732[_0x2a16('0x47')]['ids']);}return null;})[_0x2a16('0x24')](handleEntityNotFound(_0xab3904,null))[_0x2a16('0x24')](respondWithStatusCode(_0xab3904,null))[_0x2a16('0x46')](handleError(_0xab3904,null));};exports['removeQueues']=function(_0x2c3bde,_0x49cc59,_0x5507cc){return db['Team'][_0x2a16('0x69')]({'where':{'id':_0x2c3bde[_0x2a16('0x50')]['id']}})[_0x2a16('0x24')](function(_0x4267f5){if(_0x4267f5){if(!_0x2c3bde['query'][_0x2a16('0x6a')]||!utils[_0x2a16('0x6b')](_0x2c3bde[_0x2a16('0x31')][_0x2a16('0x6a')])){throw new db[(_0x2a16('0x57'))][(_0x2a16('0x71'))]('Unknown\x20channel');}return _0x4267f5[_0x2a16('0x72')+_[_0x2a16('0x6d')](_0x2c3bde[_0x2a16('0x31')][_0x2a16('0x6a')][_0x2a16('0x6e')]())+_0x2a16('0x70')](_0x2c3bde[_0x2a16('0x31')][_0x2a16('0x73')]);}return null;})[_0x2a16('0x24')](handleEntityNotFound(_0x49cc59,null))['then'](respondWithStatusCode(_0x49cc59,null))[_0x2a16('0x46')](handleError(_0x49cc59,null));};exports['addAgents']=function(_0x48d623,_0xe258a7){var _0x23e99c=_[_0x2a16('0x74')](_0x48d623[_0x2a16('0x47')][_0x2a16('0x73')])?_0x48d623[_0x2a16('0x47')]['ids']:[_0x48d623[_0x2a16('0x47')][_0x2a16('0x73')]];var _0xf89206=_0x48d623[_0x2a16('0x50')]['id'];return db['Team']['find']({'where':{'id':_0xf89206}})[_0x2a16('0x24')](handleEntityNotFound(_0xe258a7,null))[_0x2a16('0x24')](function(_0x1e30ac){if(_0x1e30ac){var _0x15a3be=['Voice',_0x2a16('0x75'),'Mail',_0x2a16('0x76'),'Fax','Openchannel',_0x2a16('0x77')];return db[_0x2a16('0x52')]['transaction'](function(_0xe21266){var _0x308330=_[_0x2a16('0x2f')](_0x15a3be,function(_0x1c6d51){var _0x1b4560={'attributes':['id',_0x2a16('0x27')]};if(_0x1c6d51===_0x2a16('0x78')){_0x1b4560[_0x2a16('0x79')]={'attributes':[_0x2a16('0x7a')]};}return _0x1e30ac[_0x2a16('0x49')+_0x1c6d51+_0x2a16('0x70')](_0x1b4560)['then'](function(_0x390ffd){var _0x5eb633=_[_0x2a16('0x2f')](_0x390ffd,function(_0x445df1){var _0x211ace=_[_0x2a16('0x2f')](_0x23e99c,function(_0x39b462){var _0x3a9fc3={'where':{'UserId':_0x39b462,[_0x1c6d51+_0x2a16('0x7b')]:_0x445df1['id']},'transaction':_0xe21266};if(_0x1c6d51==='Voice'){_0x3a9fc3[_0x2a16('0x7c')]={'penalty':_0x445df1[_0x2a16('0x7d')][_0x2a16('0x7a')]};}return db['User'+_0x1c6d51+_0x2a16('0x6f')]['findOrCreate'](_0x3a9fc3)['then'](function(){socket['emit'](_0x2a16('0x48')+_0x1c6d51+_0x2a16('0x7e'),{'UserId':_0x39b462,[_0x1c6d51+_0x2a16('0x7b')]:_0x445df1['id']});if(_0x1c6d51!==_0x2a16('0x78')){return;}return db['User'][_0x2a16('0x43')]({'where':{'id':_0x23e99c,'online':0x1},'attributes':['id',_0x2a16('0x27'),'online',_0x2a16('0x7f'),_0x2a16('0x80')],'raw':!![]})[_0x2a16('0x24')](function(_0x349965){var _0x189391=_[_0x2a16('0x2f')](_0x349965,function(_0x2ce00f){return db[_0x2a16('0x81')][_0x2a16('0x82')]({'membername':_0x2ce00f[_0x2a16('0x27')],'UserId':_0x2ce00f['id'],'queue_name':_0x445df1[_0x2a16('0x27')],'VoiceQueueId':_0x445df1['id'],'interface':_[_0x2a16('0x83')](_0x2ce00f[_0x2a16('0x80')])?util[_0x2a16('0x84')](_0x2a16('0x85'),_0x2ce00f[_0x2a16('0x27')]):_0x2ce00f[_0x2a16('0x80')],'paused':_0x2ce00f['voicePause']||![],'penalty':_0x445df1[_0x2a16('0x7d')][_0x2a16('0x7a')]},{'transaction':_0xe21266});});return Promise[_0x2a16('0x86')](_0x189391);});});});return Promise[_0x2a16('0x86')](_0x211ace);});return Promise['all'](_0x5eb633);})[_0x2a16('0x24')](function(){return db['TeamVoicePrefix'][_0x2a16('0x69')]({'where':{'teamId':_0xf89206}})[_0x2a16('0x24')](function(_0x3fdfbb){if(_0x3fdfbb){var _0x249665=_[_0x2a16('0x2f')](_0x23e99c,function(_0x4e23ef){db[_0x2a16('0x87')][_0x2a16('0x82')]({'UserId':_0x4e23ef,'VoicePrefixId':_0x3fdfbb[_0x2a16('0x66')]});});return Promise[_0x2a16('0x86')](_0x249665);}});});});return Promise[_0x2a16('0x86')](_0x308330)[_0x2a16('0x24')](function(){return _0x1e30ac[_0x2a16('0x88')](_0x23e99c,{'transaction':_0xe21266})['spread'](function(_0x575558){return _0x575558;});});});}})[_0x2a16('0x24')](respondWithResult(_0xe258a7,null))[_0x2a16('0x46')](handleError(_0xe258a7,null));};exports[_0x2a16('0x89')]=function(_0x36f874,_0x5e8e26){var _0x30a1f2=_[_0x2a16('0x74')](_0x36f874[_0x2a16('0x31')][_0x2a16('0x73')])?_0x36f874[_0x2a16('0x31')][_0x2a16('0x73')]:[_0x36f874[_0x2a16('0x31')][_0x2a16('0x73')]];var _0x555dfc=_0x36f874['params']['id'];return db['Team'][_0x2a16('0x45')]({'where':{'id':_0x555dfc}})[_0x2a16('0x24')](handleEntityNotFound(_0x5e8e26,null))['then'](function(_0x2c64cf){if(_0x2c64cf){var _0x165dc1=['Voice',_0x2a16('0x75'),_0x2a16('0x8a'),_0x2a16('0x76'),'Fax',_0x2a16('0x8b'),'Whatsapp'];return db[_0x2a16('0x52')]['transaction'](function(_0x18b31c){var _0x34affc=_['map'](_0x165dc1,function(_0x28b263){var _0x15be32={'attributes':['id',_0x2a16('0x27')]};return _0x2c64cf['get'+_0x28b263+_0x2a16('0x70')](_0x15be32)[_0x2a16('0x24')](function(_0x3d5efe){var _0x1e1b23=_['map'](_0x3d5efe,function(_0x519daa){return _0x519daa[_0x2a16('0x89')](_0x30a1f2,{'transaction':_0x18b31c})[_0x2a16('0x24')](function(){var _0x3da648=_[_0x2a16('0x2f')](_0x30a1f2,function(_0x22acc2){socket[_0x2a16('0x8c')](_0x2a16('0x48')+_0x28b263+_0x2a16('0x8d'),{'UserId':Number(_0x22acc2),[_0x28b263+_0x2a16('0x7b')]:_0x519daa['id']});if(_0x28b263!==_0x2a16('0x78')){return;}return db[_0x2a16('0x81')][_0x2a16('0x51')]({'where':{'VoiceQueueId':_0x519daa['id'],'UserId':_0x22acc2},'transaction':_0x18b31c});});return Promise[_0x2a16('0x86')](_0x3da648);});});return Promise['all'](_0x1e1b23);});});return Promise[_0x2a16('0x86')](_0x34affc)[_0x2a16('0x24')](function(){return _0x2c64cf[_0x2a16('0x89')](_0x30a1f2,{'transaction':_0x18b31c});})[_0x2a16('0x24')](function(){return db[_0x2a16('0x8e')][_0x2a16('0x69')]({'where':{'teamId':_0x555dfc}})[_0x2a16('0x24')](function(_0x6f9baf){if(_0x6f9baf){var _0x31c62f=_[_0x2a16('0x2f')](_0x30a1f2,function(_0x1f3193){db[_0x2a16('0x87')][_0x2a16('0x51')]({'where':{'UserId':_0x1f3193,'VoicePrefixId':_0x6f9baf[_0x2a16('0x66')]}});});return Promise[_0x2a16('0x86')](_0x31c62f);}});});});}})['then'](respondWithStatusCode(_0x5e8e26,null))[_0x2a16('0x46')](handleError(_0x5e8e26,null));};exports[_0x2a16('0x8f')]=function(_0x19ac32,_0x130b0e,_0x26c5d7){var _0x3245c3={};var _0x5df080={};var _0x143031;var _0x5d272e;return db[_0x2a16('0x2a')][_0x2a16('0x69')]({'where':{'id':_0x19ac32[_0x2a16('0x50')]['id']}})['then'](handleEntityNotFound(_0x130b0e,null))[_0x2a16('0x24')](function(_0x1d19a3){if(_0x1d19a3){_0x143031=_0x1d19a3;_0x5df080['model']=_[_0x2a16('0x30')](db[_0x2a16('0x90')]['rawAttributes']);_0x5df080[_0x2a16('0x31')]=_[_0x2a16('0x30')](_0x19ac32[_0x2a16('0x31')]);_0x5df080[_0x2a16('0x32')]=_[_0x2a16('0x33')](_0x5df080[_0x2a16('0x2e')],_0x5df080[_0x2a16('0x31')]);_0x3245c3[_0x2a16('0x35')]=_[_0x2a16('0x33')](_0x5df080[_0x2a16('0x2e')],qs['fields'](_0x19ac32[_0x2a16('0x31')][_0x2a16('0x34')]));_0x3245c3[_0x2a16('0x35')]=_0x3245c3['attributes'][_0x2a16('0x36')]?_0x3245c3[_0x2a16('0x35')]:_0x5df080[_0x2a16('0x2e')];_0x3245c3[_0x2a16('0x39')]=qs[_0x2a16('0x3a')](_0x19ac32[_0x2a16('0x31')][_0x2a16('0x3a')]);_0x3245c3['where']=qs[_0x2a16('0x32')](_[_0x2a16('0x3c')](_0x19ac32[_0x2a16('0x31')],_0x5df080[_0x2a16('0x32')]));if(_0x19ac32[_0x2a16('0x31')][_0x2a16('0x3d')]){_0x3245c3[_0x2a16('0x3b')]=_[_0x2a16('0x3f')](_0x3245c3['where'],{'$or':_['map'](_0x3245c3[_0x2a16('0x35')],function(_0x4a7850){var _0x4b04b2={};_0x4b04b2[_0x4a7850]={'$like':'%'+_0x19ac32[_0x2a16('0x31')]['filter']+'%'};return _0x4b04b2;})});}_0x3245c3=_[_0x2a16('0x3f')]({},_0x3245c3,_0x19ac32[_0x2a16('0x40')]);return _0x143031[_0x2a16('0x8f')](_0x3245c3);}})['then'](function(_0x4516ce){if(_0x4516ce){_0x5d272e=_0x4516ce[_0x2a16('0x36')];if(!_0x19ac32[_0x2a16('0x31')][_0x2a16('0x37')](_0x2a16('0x38'))){_0x3245c3[_0x2a16('0x1f')]=qs[_0x2a16('0x1f')](_0x19ac32['query']['limit']);_0x3245c3[_0x2a16('0x1c')]=qs['offset'](_0x19ac32[_0x2a16('0x31')][_0x2a16('0x1c')]);}return _0x143031['getAgents'](_0x3245c3);}})[_0x2a16('0x24')](function(_0x32b8c1){if(_0x32b8c1){return _0x32b8c1?{'count':_0x5d272e,'rows':_0x32b8c1}:null;}})[_0x2a16('0x24')](respondWithResult(_0x130b0e,null))[_0x2a16('0x46')](handleError(_0x130b0e,null));};