Built motion from commit f74363e9.|2.6.34
[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 _0x181e=['spread','removeAgents','Whatsapp','getAgents','eml-format','zip-dir','fast-json-patch','request-promise','moment','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','papaparse','../../components/auth/service','../../config/license/hardware','../../config/logger','api','../../config/license/util','../../mysqldb','redis','defaults','./team.socket','register','sendStatus','end','status','json','offset','undefined','limit','count','set','apply','save','update','then','error','name','send','index','Team','rawAttributes','fieldName','type','model','map','keys','intersection','query','fields','attributes','hasOwnProperty','nolimit','sort','pick','filters','filter','where','merge','options','include','findAll','rows','catch','show','params','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','Teams','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','destroy','sequelize','transaction','SELECT\x20UserId\x20FROM\x20user_has_teams\x20WHERE\x20TeamId\x20=\x20','Sequelize','SELECT','UserId','SELECT\x20VoiceQueueId\x20FROM\x20team_has_voice_queues\x20WHERE\x20TeamId\x20=\x20','QueryTypes','VoiceQueueId','UserVoiceQueue','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','UserOpenchannelQueue','SELECT\x20WhatsappQueueId\x20FROM\x20team_has_whatsapp_queues\x20WHERE\x20TeamId\x20=\x20','WhatsappQueueId','UserWhatsappQueue','UserVoicePrefix','VoicePrefixId','UserProfileResource','getQueues','findOne','channel','isValidChannel','Unknown\x20channel','capitalize','toLowerCase','length','order','Queues','addQueues','ValidationError','ids','removeQueues','remove','addAgents','isArray','Voice','Chat','Mail','Sms','Fax','Openchannel','penalty','QueueId','TeamVoiceQueue','Queue','findOrCreate','emit','Queue:save','User','interface','UserVoiceQueueRt','upsert','isNil','SIP/%s','voicePause','all','TeamVoicePrefix'];(function(_0x21a69e,_0x4c15ae){var _0x5f3e66=function(_0x39aac7){while(--_0x39aac7){_0x21a69e['push'](_0x21a69e['shift']());}};_0x5f3e66(++_0x4c15ae);}(_0x181e,0x9d));var _0xe181=function(_0x3c57c7,_0x18e494){_0x3c57c7=_0x3c57c7-0x0;var _0x9c2cbb=_0x181e[_0x3c57c7];return _0x9c2cbb;};'use strict';var emlformat=require(_0xe181('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xe181('0x1'));var jsonpatch=require(_0xe181('0x2'));var rp=require(_0xe181('0x3'));var moment=require(_0xe181('0x4'));var BPromise=require('bluebird');var Mustache=require('mustache');var util=require(_0xe181('0x5'));var path=require(_0xe181('0x6'));var sox=require(_0xe181('0x7'));var csv=require(_0xe181('0x8'));var ejs=require(_0xe181('0x9'));var fs=require('fs');var fs_extra=require(_0xe181('0xa'));var _=require(_0xe181('0xb'));var squel=require(_0xe181('0xc'));var crypto=require(_0xe181('0xd'));var jsforce=require(_0xe181('0xe'));var deskjs=require('desk.js');var toCsv=require(_0xe181('0x8'));var querystring=require('querystring');var Papa=require(_0xe181('0xf'));var Redis=require('ioredis');var authService=require(_0xe181('0x10'));var qs=require('../../components/parsers/qs');var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xe181('0x11'));var logger=require(_0xe181('0x12'))(_0xe181('0x13'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xe181('0x14'));var db=require(_0xe181('0x15'))['db'];config[_0xe181('0x16')]=_[_0xe181('0x17')](config[_0xe181('0x16')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xe181('0x18'))[_0xe181('0x19')](socket);function respondWithStatusCode(_0x5ca4ff,_0x5f09d5){_0x5f09d5=_0x5f09d5||0xcc;return function(_0x5173ca){if(_0x5173ca){return _0x5ca4ff[_0xe181('0x1a')](_0x5f09d5);}return _0x5ca4ff['status'](_0x5f09d5)[_0xe181('0x1b')]();};}function respondWithResult(_0x4f409c,_0x3dcc8a){_0x3dcc8a=_0x3dcc8a||0xc8;return function(_0x5810bc){if(_0x5810bc){return _0x4f409c[_0xe181('0x1c')](_0x3dcc8a)[_0xe181('0x1d')](_0x5810bc);}};}function respondWithFilteredResult(_0x2259ed,_0x33cbec){return function(_0x169112){if(_0x169112){var _0x277c38=typeof _0x33cbec[_0xe181('0x1e')]===_0xe181('0x1f')&&typeof _0x33cbec[_0xe181('0x20')]==='undefined';var _0xbff850=_0x169112[_0xe181('0x21')];var _0xb3eb97=_0x277c38?0x0:_0x33cbec[_0xe181('0x1e')];var _0x496cc9=_0x277c38?_0x169112[_0xe181('0x21')]:_0x33cbec['offset']+_0x33cbec['limit'];var _0x58e78c;if(_0x496cc9>=_0xbff850){_0x496cc9=_0xbff850;_0x58e78c=0xc8;}else{_0x58e78c=0xce;}_0x2259ed[_0xe181('0x1c')](_0x58e78c);return _0x2259ed[_0xe181('0x22')]('Content-Range',_0xb3eb97+'-'+_0x496cc9+'/'+_0xbff850)[_0xe181('0x1d')](_0x169112);}return null;};}function patchUpdates(_0x14464b){return function(_0x382b4c){try{jsonpatch[_0xe181('0x23')](_0x382b4c,_0x14464b,!![]);}catch(_0x87662b){return BPromise['reject'](_0x87662b);}return _0x382b4c[_0xe181('0x24')]();};}function saveUpdates(_0x5d46f3,_0x413da5){return function(_0x2c5531){if(_0x2c5531){return _0x2c5531[_0xe181('0x25')](_0x5d46f3)[_0xe181('0x26')](function(_0x40a0e3){return _0x40a0e3;});}return null;};}function handleEntityNotFound(_0x5c11c8,_0x55741b){return function(_0x25f2ec){if(!_0x25f2ec){_0x5c11c8[_0xe181('0x1a')](0x194);}return _0x25f2ec;};}function handleError(_0x4ad754,_0x4bedb3){_0x4bedb3=_0x4bedb3||0x1f4;return function(_0x4d7900){logger[_0xe181('0x27')](_0x4d7900['stack']);if(_0x4d7900[_0xe181('0x28')]){delete _0x4d7900[_0xe181('0x28')];}_0x4ad754[_0xe181('0x1c')](_0x4bedb3)[_0xe181('0x29')](_0x4d7900);};}exports[_0xe181('0x2a')]=function(_0x2121e5,_0x18592c){var _0x5a5a12={},_0x5bbfd3={},_0x446629={'count':0x0,'rows':[]};var _0x22d4df=_['map'](db[_0xe181('0x2b')][_0xe181('0x2c')],function(_0x5cccb5){return{'name':_0x5cccb5[_0xe181('0x2d')],'type':_0x5cccb5[_0xe181('0x2e')]['key']};});_0x5bbfd3[_0xe181('0x2f')]=_[_0xe181('0x30')](_0x22d4df,_0xe181('0x28'));_0x5bbfd3['query']=_[_0xe181('0x31')](_0x2121e5['query']);_0x5bbfd3['filters']=_[_0xe181('0x32')](_0x5bbfd3['model'],_0x5bbfd3[_0xe181('0x33')]);_0x5a5a12['attributes']=_['intersection'](_0x5bbfd3[_0xe181('0x2f')],qs[_0xe181('0x34')](_0x2121e5[_0xe181('0x33')]['fields']));_0x5a5a12[_0xe181('0x35')]=_0x5a5a12['attributes']['length']?_0x5a5a12[_0xe181('0x35')]:_0x5bbfd3['model'];if(!_0x2121e5[_0xe181('0x33')][_0xe181('0x36')](_0xe181('0x37'))){_0x5a5a12[_0xe181('0x20')]=qs['limit'](_0x2121e5[_0xe181('0x33')][_0xe181('0x20')]);_0x5a5a12['offset']=qs[_0xe181('0x1e')](_0x2121e5[_0xe181('0x33')]['offset']);}_0x5a5a12['order']=qs[_0xe181('0x38')](_0x2121e5[_0xe181('0x33')][_0xe181('0x38')]);_0x5a5a12['where']=qs['filters'](_[_0xe181('0x39')](_0x2121e5[_0xe181('0x33')],_0x5bbfd3[_0xe181('0x3a')]),_0x22d4df);if(_0x2121e5[_0xe181('0x33')][_0xe181('0x3b')]){_0x5a5a12[_0xe181('0x3c')]=_[_0xe181('0x3d')](_0x5a5a12[_0xe181('0x3c')],{'$or':_[_0xe181('0x30')](_0x22d4df,function(_0x539875){if(_0x539875[_0xe181('0x2e')]!=='VIRTUAL'){var _0x428d0d={};_0x428d0d[_0x539875['name']]={'$like':'%'+_0x2121e5[_0xe181('0x33')]['filter']+'%'};return _0x428d0d;}})});}_0x5a5a12=_['merge']({},_0x5a5a12,_0x2121e5[_0xe181('0x3e')]);var _0x4b0bd1={'where':_0x5a5a12[_0xe181('0x3c')]};return db[_0xe181('0x2b')]['count'](_0x4b0bd1)[_0xe181('0x26')](function(_0x47bb20){_0x446629[_0xe181('0x21')]=_0x47bb20;if(_0x2121e5[_0xe181('0x33')]['includeAll']){_0x5a5a12[_0xe181('0x3f')]=[{'all':!![]}];}return db['Team'][_0xe181('0x40')](_0x5a5a12);})[_0xe181('0x26')](function(_0x52adfc){_0x446629[_0xe181('0x41')]=_0x52adfc;return _0x446629;})[_0xe181('0x26')](respondWithFilteredResult(_0x18592c,_0x5a5a12))[_0xe181('0x42')](handleError(_0x18592c,null));};exports[_0xe181('0x43')]=function(_0x2b93ed,_0x5e2fb6){var _0x3eb30e={'raw':![],'where':{'id':_0x2b93ed[_0xe181('0x44')]['id']}},_0xa7ab7f={};_0xa7ab7f['model']=_[_0xe181('0x31')](db[_0xe181('0x2b')][_0xe181('0x2c')]);_0xa7ab7f[_0xe181('0x33')]=_[_0xe181('0x31')](_0x2b93ed[_0xe181('0x33')]);_0xa7ab7f[_0xe181('0x3a')]=_[_0xe181('0x32')](_0xa7ab7f['model'],_0xa7ab7f[_0xe181('0x33')]);_0x3eb30e[_0xe181('0x35')]=_['intersection'](_0xa7ab7f['model'],qs[_0xe181('0x34')](_0x2b93ed[_0xe181('0x33')][_0xe181('0x34')]));_0x3eb30e[_0xe181('0x35')]=_0x3eb30e[_0xe181('0x35')]['length']?_0x3eb30e['attributes']:_0xa7ab7f['model'];if(_0x2b93ed[_0xe181('0x33')]['includeAll']){_0x3eb30e[_0xe181('0x3f')]=[{'all':!![]}];}_0x3eb30e=_[_0xe181('0x3d')]({},_0x3eb30e,_0x2b93ed[_0xe181('0x3e')]);return db[_0xe181('0x2b')][_0xe181('0x45')](_0x3eb30e)[_0xe181('0x26')](handleEntityNotFound(_0x5e2fb6,null))[_0xe181('0x26')](respondWithResult(_0x5e2fb6,null))['catch'](handleError(_0x5e2fb6,null));};exports['create']=function(_0x4c2adf,_0x2caef5){return db['Team'][_0xe181('0x46')](_0x4c2adf[_0xe181('0x47')],{})[_0xe181('0x26')](function(_0x1386f9){var _0x4ea696=_0x4c2adf[_0xe181('0x48')][_0xe181('0x49')]({'plain':!![]});if(!_0x4ea696)throw new Error(_0xe181('0x4a'));if(_0x4ea696[_0xe181('0x4b')]===_0xe181('0x48')){var _0x10c869=_0x1386f9['get']({'plain':!![]});var _0x58ffd5=_0xe181('0x4c');return db[_0xe181('0x4d')]['find']({'where':{'name':_0x58ffd5,'userProfileId':_0x4ea696[_0xe181('0x4e')]},'raw':!![]})[_0xe181('0x26')](function(_0xcbbe73){if(_0xcbbe73&&_0xcbbe73[_0xe181('0x4f')]===0x0){return db['UserProfileResource']['create']({'name':_0x10c869[_0xe181('0x28')],'resourceId':_0x10c869['id'],'type':_0xcbbe73[_0xe181('0x28')],'sectionId':_0xcbbe73['id']},{})[_0xe181('0x26')](function(){return _0x1386f9;});}else{return _0x1386f9;}})[_0xe181('0x42')](function(_0x2f724f){logger[_0xe181('0x27')](_0xe181('0x50'),_0x2f724f);throw _0x2f724f;});}return _0x1386f9;})[_0xe181('0x26')](respondWithResult(_0x2caef5,0xc9))[_0xe181('0x42')](handleError(_0x2caef5,null));};exports[_0xe181('0x25')]=function(_0x5b5875,_0x43a3d5){if(_0x5b5875[_0xe181('0x47')]['id']){delete _0x5b5875['body']['id'];}return db[_0xe181('0x2b')][_0xe181('0x45')]({'where':{'id':_0x5b5875[_0xe181('0x44')]['id']}})[_0xe181('0x26')](handleEntityNotFound(_0x43a3d5,null))[_0xe181('0x26')](saveUpdates(_0x5b5875['body'],null))[_0xe181('0x26')](respondWithResult(_0x43a3d5,null))[_0xe181('0x42')](handleError(_0x43a3d5,null));};exports[_0xe181('0x51')]=function(_0x4015d7,_0x27b917){var _0x146249=_0x4015d7[_0xe181('0x44')]['id'];var _0x7dfb1d=[];return db[_0xe181('0x52')][_0xe181('0x53')](function(_0x8a58de){var _0x570488=_0xe181('0x54')+_0x146249;return db['sequelize'][_0xe181('0x33')](_0x570488,{'type':db[_0xe181('0x55')]['QueryTypes'][_0xe181('0x56')],'raw':!![],'transaction':_0x8a58de})[_0xe181('0x26')](function(_0x42cc89){_0x7dfb1d=_[_0xe181('0x30')](_0x42cc89,function(_0x16d8fa){return Number(_0x16d8fa[_0xe181('0x57')]);});})[_0xe181('0x26')](function(){var _0x53ca2f=_0xe181('0x58')+_0x146249;return db[_0xe181('0x52')][_0xe181('0x33')](_0x53ca2f,{'type':db[_0xe181('0x55')][_0xe181('0x59')][_0xe181('0x56')],'raw':!![],'transaction':_0x8a58de});})['then'](function(_0x30fe08){var _0x5c498f=_[_0xe181('0x30')](_0x30fe08,function(_0x8d950b){return Number(_0x8d950b[_0xe181('0x5a')]);});return db[_0xe181('0x5b')]['destroy']({'where':{'UserId':{'$in':_0x7dfb1d},'VoiceQueueId':{'$in':_0x5c498f}},'transaction':_0x8a58de});})[_0xe181('0x26')](function(){var _0x1e356e='SELECT\x20MailQueueId\x20FROM\x20team_has_mail_queues\x20WHERE\x20TeamId\x20=\x20'+_0x146249;return db[_0xe181('0x52')][_0xe181('0x33')](_0x1e356e,{'type':db[_0xe181('0x55')]['QueryTypes'][_0xe181('0x56')],'raw':!![],'transaction':_0x8a58de});})[_0xe181('0x26')](function(_0x501157){var _0x4f656c=_[_0xe181('0x30')](_0x501157,function(_0x45e2ae){return Number(_0x45e2ae['MailQueueId']);});return db[_0xe181('0x5c')][_0xe181('0x51')]({'where':{'UserId':{'$in':_0x7dfb1d},'MailQueueId':{'$in':_0x4f656c}},'transaction':_0x8a58de});})[_0xe181('0x26')](function(){var _0x1e0081='SELECT\x20SmsQueueId\x20FROM\x20team_has_sms_queues\x20WHERE\x20TeamId\x20=\x20'+_0x146249;return db['sequelize'][_0xe181('0x33')](_0x1e0081,{'type':db[_0xe181('0x55')]['QueryTypes'][_0xe181('0x56')],'raw':!![],'transaction':_0x8a58de});})[_0xe181('0x26')](function(_0x2c0d53){var _0x399429=_[_0xe181('0x30')](_0x2c0d53,function(_0x34890a){return Number(_0x34890a[_0xe181('0x5d')]);});return db[_0xe181('0x5e')][_0xe181('0x51')]({'where':{'UserId':{'$in':_0x7dfb1d},'SmsQueueId':{'$in':_0x399429}},'transaction':_0x8a58de});})[_0xe181('0x26')](function(){var _0x40ea96=_0xe181('0x5f')+_0x146249;return db[_0xe181('0x52')][_0xe181('0x33')](_0x40ea96,{'type':db['Sequelize'][_0xe181('0x59')][_0xe181('0x56')],'raw':!![],'transaction':_0x8a58de});})[_0xe181('0x26')](function(_0x29cee8){var _0x47e563=_['map'](_0x29cee8,function(_0x3a8bc6){return Number(_0x3a8bc6[_0xe181('0x60')]);});return db[_0xe181('0x61')]['destroy']({'where':{'UserId':{'$in':_0x7dfb1d},'ChatQueueId':{'$in':_0x47e563}},'transaction':_0x8a58de});})[_0xe181('0x26')](function(){var _0x3f4d58=_0xe181('0x62')+_0x146249;return db[_0xe181('0x52')][_0xe181('0x33')](_0x3f4d58,{'type':db[_0xe181('0x55')][_0xe181('0x59')][_0xe181('0x56')],'raw':!![],'transaction':_0x8a58de});})[_0xe181('0x26')](function(_0x57d855){var _0x305950=_[_0xe181('0x30')](_0x57d855,function(_0x3ded4d){return Number(_0x3ded4d[_0xe181('0x63')]);});return db[_0xe181('0x64')][_0xe181('0x51')]({'where':{'UserId':{'$in':_0x7dfb1d},'FaxQueueId':{'$in':_0x305950}},'transaction':_0x8a58de});})[_0xe181('0x26')](function(){var _0x23e3fe=_0xe181('0x65')+_0x146249;return db[_0xe181('0x52')][_0xe181('0x33')](_0x23e3fe,{'type':db['Sequelize'][_0xe181('0x59')][_0xe181('0x56')],'raw':!![],'transaction':_0x8a58de});})[_0xe181('0x26')](function(_0x47555c){var _0x2fa0e2=_[_0xe181('0x30')](_0x47555c,function(_0x2c0390){return Number(_0x2c0390[_0xe181('0x66')]);});return db[_0xe181('0x67')][_0xe181('0x51')]({'where':{'UserId':{'$in':_0x7dfb1d},'OpenchannelQueueId':{'$in':_0x2fa0e2}},'transaction':_0x8a58de});})['then'](function(){var _0x1e51bf=_0xe181('0x68')+_0x146249;return db[_0xe181('0x52')][_0xe181('0x33')](_0x1e51bf,{'type':db[_0xe181('0x55')]['QueryTypes']['SELECT'],'raw':!![],'transaction':_0x8a58de});})[_0xe181('0x26')](function(_0xce2892){var _0x2ae604=_[_0xe181('0x30')](_0xce2892,function(_0x26f9e8){return Number(_0x26f9e8[_0xe181('0x69')]);});return db[_0xe181('0x6a')]['destroy']({'where':{'UserId':{'$in':_0x7dfb1d},'WhatsappQueueId':{'$in':_0x2ae604}},'transaction':_0x8a58de});})[_0xe181('0x26')](function(){return db['TeamVoicePrefix'][_0xe181('0x45')]({'where':{'TeamId':_0x146249}});})[_0xe181('0x26')](function(_0x56d9e8){if(_0x56d9e8===null){return;}return db[_0xe181('0x6b')][_0xe181('0x51')]({'where':{'UserId':{'$in':_0x7dfb1d},'VoicePrefixId':_0x56d9e8[_0xe181('0x6c')]},'transaction':_0x8a58de});})[_0xe181('0x26')](function(){return db['Team'][_0xe181('0x51')]({'where':{'id':_0x146249},'cascade':!![],'transaction':_0x8a58de});})['then'](function(_0x31019e){if(_0x31019e===0x0){_0x27b917[_0xe181('0x1a')](0x194);}else{return db[_0xe181('0x6d')][_0xe181('0x51')]({'where':{'type':'Teams','resourceId':_0x146249},'cascade':!![],'transaction':_0x8a58de})[_0xe181('0x26')](function(){_0x27b917[_0xe181('0x1c')](0xcc)[_0xe181('0x1b')]();});}})[_0xe181('0x42')](function(_0x2e1557){_0x27b917[_0xe181('0x1c')](0x1f4)[_0xe181('0x29')](_0x2e1557);});});};exports[_0xe181('0x6e')]=function(_0x4647e0,_0x48cefc,_0x2b1275){return db['Team'][_0xe181('0x6f')]({'where':{'id':_0x4647e0[_0xe181('0x44')]['id']}})[_0xe181('0x26')](handleEntityNotFound(_0x48cefc,null))['then'](function(_0x32babe){if(!_0x4647e0[_0xe181('0x33')][_0xe181('0x70')]||!utils[_0xe181('0x71')](_0x4647e0['query'][_0xe181('0x70')])){throw new db['Sequelize']['ValidationError'](_0xe181('0x72'));}var _0x23bb15={};var _0x3f383c={};_0x3f383c['model']=_[_0xe181('0x31')](db[_[_0xe181('0x73')](_0x4647e0['query'][_0xe181('0x70')][_0xe181('0x74')]())+'Queue'][_0xe181('0x2c')]);_0x3f383c[_0xe181('0x33')]=_[_0xe181('0x31')](_0x4647e0['query']);_0x3f383c['filters']=_['intersection'](_0x3f383c[_0xe181('0x2f')],_0x3f383c[_0xe181('0x33')]);_0x23bb15[_0xe181('0x35')]=_[_0xe181('0x32')](_0x3f383c[_0xe181('0x2f')],qs[_0xe181('0x34')](_0x4647e0[_0xe181('0x33')][_0xe181('0x34')]));_0x23bb15[_0xe181('0x35')]=_0x23bb15[_0xe181('0x35')][_0xe181('0x75')]?_0x23bb15[_0xe181('0x35')]:_0x3f383c[_0xe181('0x2f')];_0x23bb15[_0xe181('0x20')]=qs['limit'](_0x4647e0[_0xe181('0x33')]['limit']);_0x23bb15['offset']=qs['offset'](_0x4647e0[_0xe181('0x33')]['offset']);_0x23bb15[_0xe181('0x76')]=qs[_0xe181('0x38')](_0x4647e0[_0xe181('0x33')][_0xe181('0x38')]);_0x23bb15['where']=qs['filters'](_[_0xe181('0x39')](_0x4647e0[_0xe181('0x33')],_0x3f383c['filters']));_0x23bb15=_[_0xe181('0x3d')]({},_0x23bb15,_0x4647e0[_0xe181('0x3e')]);return _0x32babe[_0xe181('0x49')+_[_0xe181('0x73')](_0x4647e0[_0xe181('0x33')][_0xe181('0x70')]['toLowerCase']())+_0xe181('0x77')](_0x23bb15);})[_0xe181('0x26')](respondWithResult(_0x48cefc,null))[_0xe181('0x42')](handleError(_0x48cefc,null));};exports[_0xe181('0x78')]=function(_0x4ed29f,_0x33ba26,_0x20d9cb){return db[_0xe181('0x2b')][_0xe181('0x6f')]({'where':{'id':_0x4ed29f[_0xe181('0x44')]['id']}})[_0xe181('0x26')](function(_0x46a137){if(_0x46a137){if(!_0x4ed29f['body'][_0xe181('0x70')]||!utils['isValidChannel'](_0x4ed29f['body'][_0xe181('0x70')])){throw new db[(_0xe181('0x55'))][(_0xe181('0x79'))](_0xe181('0x72'));}return _0x46a137['add'+_[_0xe181('0x73')](_0x4ed29f['body'][_0xe181('0x70')][_0xe181('0x74')]())+_0xe181('0x77')](_0x4ed29f[_0xe181('0x47')][_0xe181('0x7a')]);}return null;})[_0xe181('0x26')](handleEntityNotFound(_0x33ba26,null))[_0xe181('0x26')](respondWithStatusCode(_0x33ba26,null))[_0xe181('0x42')](handleError(_0x33ba26,null));};exports[_0xe181('0x7b')]=function(_0x265906,_0x4dc60f,_0x20649e){return db[_0xe181('0x2b')][_0xe181('0x6f')]({'where':{'id':_0x265906[_0xe181('0x44')]['id']}})[_0xe181('0x26')](function(_0x49ec61){if(_0x49ec61){if(!_0x265906[_0xe181('0x33')]['channel']||!utils[_0xe181('0x71')](_0x265906[_0xe181('0x33')][_0xe181('0x70')])){throw new db['Sequelize'][(_0xe181('0x79'))]('Unknown\x20channel');}return _0x49ec61[_0xe181('0x7c')+_[_0xe181('0x73')](_0x265906[_0xe181('0x33')]['channel'][_0xe181('0x74')]())+'Queues'](_0x265906['query'][_0xe181('0x7a')]);}return null;})[_0xe181('0x26')](handleEntityNotFound(_0x4dc60f,null))[_0xe181('0x26')](respondWithStatusCode(_0x4dc60f,null))[_0xe181('0x42')](handleError(_0x4dc60f,null));};exports[_0xe181('0x7d')]=function(_0x9b75ad,_0x2f4fb0){var _0x1f08c8=_[_0xe181('0x7e')](_0x9b75ad[_0xe181('0x47')][_0xe181('0x7a')])?_0x9b75ad[_0xe181('0x47')][_0xe181('0x7a')]:[_0x9b75ad['body']['ids']];var _0x207d81=_0x9b75ad[_0xe181('0x44')]['id'];return db[_0xe181('0x2b')]['find']({'where':{'id':_0x207d81}})[_0xe181('0x26')](handleEntityNotFound(_0x2f4fb0,null))[_0xe181('0x26')](function(_0x2ce11f){if(_0x2ce11f){var _0x414b36=[_0xe181('0x7f'),_0xe181('0x80'),_0xe181('0x81'),_0xe181('0x82'),_0xe181('0x83'),_0xe181('0x84'),'Whatsapp'];return db[_0xe181('0x52')][_0xe181('0x53')](function(_0x7d91b3){var _0x54111a=_[_0xe181('0x30')](_0x414b36,function(_0x59c3fa){var _0x56fa2a={'attributes':['id',_0xe181('0x28')]};if(_0x59c3fa===_0xe181('0x7f')){_0x56fa2a['through']={'attributes':[_0xe181('0x85')]};}return _0x2ce11f[_0xe181('0x49')+_0x59c3fa+'Queues'](_0x56fa2a)[_0xe181('0x26')](function(_0x50f380){var _0x4d64b4=_['map'](_0x50f380,function(_0x552643){var _0x4fd96e=_[_0xe181('0x30')](_0x1f08c8,function(_0x4d1f38){var _0x369b09={'where':{'UserId':_0x4d1f38,[_0x59c3fa+_0xe181('0x86')]:_0x552643['id']},'transaction':_0x7d91b3};if(_0x59c3fa==='Voice'){_0x369b09['defaults']={'penalty':_0x552643[_0xe181('0x87')][_0xe181('0x85')]};}return db['User'+_0x59c3fa+_0xe181('0x88')][_0xe181('0x89')](_0x369b09)[_0xe181('0x26')](function(){socket[_0xe181('0x8a')](_0xe181('0x48')+_0x59c3fa+_0xe181('0x8b'),{'UserId':_0x4d1f38,[_0x59c3fa+'QueueId']:_0x552643['id']});if(_0x59c3fa!==_0xe181('0x7f')){return;}return db[_0xe181('0x8c')][_0xe181('0x40')]({'where':{'id':_0x1f08c8,'online':0x1},'attributes':['id',_0xe181('0x28'),'online','voicePause',_0xe181('0x8d')],'raw':!![]})[_0xe181('0x26')](function(_0x5c0c8c){var _0x2813fb=_[_0xe181('0x30')](_0x5c0c8c,function(_0x4ab65f){return db[_0xe181('0x8e')][_0xe181('0x8f')]({'membername':_0x4ab65f[_0xe181('0x28')],'UserId':_0x4ab65f['id'],'queue_name':_0x552643[_0xe181('0x28')],'VoiceQueueId':_0x552643['id'],'interface':_[_0xe181('0x90')](_0x4ab65f[_0xe181('0x8d')])?util['format'](_0xe181('0x91'),_0x4ab65f[_0xe181('0x28')]):_0x4ab65f[_0xe181('0x8d')],'paused':_0x4ab65f[_0xe181('0x92')]||![],'penalty':_0x552643[_0xe181('0x87')][_0xe181('0x85')]},{'transaction':_0x7d91b3});});return Promise[_0xe181('0x93')](_0x2813fb);});});});return Promise[_0xe181('0x93')](_0x4fd96e);});return Promise['all'](_0x4d64b4);})['then'](function(){return db[_0xe181('0x94')][_0xe181('0x6f')]({'where':{'teamId':_0x207d81}})['then'](function(_0x4d061e){if(_0x4d061e){var _0x476f93=_[_0xe181('0x30')](_0x1f08c8,function(_0x329bf2){db[_0xe181('0x6b')]['upsert']({'UserId':_0x329bf2,'VoicePrefixId':_0x4d061e[_0xe181('0x6c')]});});return Promise[_0xe181('0x93')](_0x476f93);}});});});return Promise[_0xe181('0x93')](_0x54111a)['then'](function(){return _0x2ce11f[_0xe181('0x7d')](_0x1f08c8,{'transaction':_0x7d91b3})[_0xe181('0x95')](function(_0x1abe9c){return _0x1abe9c;});});});}})[_0xe181('0x26')](respondWithResult(_0x2f4fb0,null))[_0xe181('0x42')](handleError(_0x2f4fb0,null));};exports[_0xe181('0x96')]=function(_0x68a04d,_0x81f9d){var _0xd357fa=_[_0xe181('0x7e')](_0x68a04d[_0xe181('0x33')][_0xe181('0x7a')])?_0x68a04d['query']['ids']:[_0x68a04d[_0xe181('0x33')][_0xe181('0x7a')]];var _0x5e34e1=_0x68a04d['params']['id'];return db[_0xe181('0x2b')][_0xe181('0x45')]({'where':{'id':_0x5e34e1}})[_0xe181('0x26')](handleEntityNotFound(_0x81f9d,null))[_0xe181('0x26')](function(_0x41eb98){if(_0x41eb98){var _0x346610=[_0xe181('0x7f'),_0xe181('0x80'),_0xe181('0x81'),'Sms','Fax',_0xe181('0x84'),_0xe181('0x97')];return db[_0xe181('0x52')]['transaction'](function(_0x4464b1){var _0x3872c2=_[_0xe181('0x30')](_0x346610,function(_0x265565){var _0x346d9b={'attributes':['id',_0xe181('0x28')]};return _0x41eb98[_0xe181('0x49')+_0x265565+_0xe181('0x77')](_0x346d9b)[_0xe181('0x26')](function(_0x3b17bb){var _0x223e1e=_[_0xe181('0x30')](_0x3b17bb,function(_0x418463){return _0x418463[_0xe181('0x96')](_0xd357fa,{'transaction':_0x4464b1})[_0xe181('0x26')](function(){var _0x4bebd7=_[_0xe181('0x30')](_0xd357fa,function(_0x19e2e0){socket[_0xe181('0x8a')](_0xe181('0x48')+_0x265565+'Queue:remove',{'UserId':Number(_0x19e2e0),[_0x265565+_0xe181('0x86')]:_0x418463['id']});if(_0x265565!==_0xe181('0x7f')){return;}return db[_0xe181('0x8e')][_0xe181('0x51')]({'where':{'VoiceQueueId':_0x418463['id'],'UserId':_0x19e2e0},'transaction':_0x4464b1});});return Promise[_0xe181('0x93')](_0x4bebd7);});});return Promise[_0xe181('0x93')](_0x223e1e);});});return Promise[_0xe181('0x93')](_0x3872c2)[_0xe181('0x26')](function(){return _0x41eb98[_0xe181('0x96')](_0xd357fa,{'transaction':_0x4464b1});})[_0xe181('0x26')](function(){return db['TeamVoicePrefix']['findOne']({'where':{'teamId':_0x5e34e1}})[_0xe181('0x26')](function(_0x359169){if(_0x359169){var _0x3e49a0=_[_0xe181('0x30')](_0xd357fa,function(_0x497159){db['UserVoicePrefix'][_0xe181('0x51')]({'where':{'UserId':_0x497159,'VoicePrefixId':_0x359169[_0xe181('0x6c')]}});});return Promise['all'](_0x3e49a0);}});});});}})[_0xe181('0x26')](respondWithStatusCode(_0x81f9d,null))['catch'](handleError(_0x81f9d,null));};exports[_0xe181('0x98')]=function(_0x5ac5c7,_0x476a41,_0x2de262){var _0x71b912={};var _0x39b048={};var _0xdffbfe;var _0x1534f4;return db[_0xe181('0x2b')][_0xe181('0x6f')]({'where':{'id':_0x5ac5c7[_0xe181('0x44')]['id']}})[_0xe181('0x26')](handleEntityNotFound(_0x476a41,null))[_0xe181('0x26')](function(_0x12e498){if(_0x12e498){_0xdffbfe=_0x12e498;_0x39b048[_0xe181('0x2f')]=_[_0xe181('0x31')](db[_0xe181('0x8c')][_0xe181('0x2c')]);_0x39b048[_0xe181('0x33')]=_['keys'](_0x5ac5c7['query']);_0x39b048[_0xe181('0x3a')]=_[_0xe181('0x32')](_0x39b048[_0xe181('0x2f')],_0x39b048[_0xe181('0x33')]);_0x71b912[_0xe181('0x35')]=_[_0xe181('0x32')](_0x39b048[_0xe181('0x2f')],qs[_0xe181('0x34')](_0x5ac5c7[_0xe181('0x33')]['fields']));_0x71b912['attributes']=_0x71b912[_0xe181('0x35')][_0xe181('0x75')]?_0x71b912[_0xe181('0x35')]:_0x39b048[_0xe181('0x2f')];_0x71b912[_0xe181('0x76')]=qs[_0xe181('0x38')](_0x5ac5c7[_0xe181('0x33')]['sort']);_0x71b912['where']=qs['filters'](_[_0xe181('0x39')](_0x5ac5c7['query'],_0x39b048[_0xe181('0x3a')]));if(_0x5ac5c7[_0xe181('0x33')]['filter']){_0x71b912['where']=_[_0xe181('0x3d')](_0x71b912[_0xe181('0x3c')],{'$or':_[_0xe181('0x30')](_0x71b912['attributes'],function(_0x460081){var _0x52db3e={};_0x52db3e[_0x460081]={'$like':'%'+_0x5ac5c7[_0xe181('0x33')][_0xe181('0x3b')]+'%'};return _0x52db3e;})});}_0x71b912=_[_0xe181('0x3d')]({},_0x71b912,_0x5ac5c7[_0xe181('0x3e')]);return _0xdffbfe['getAgents'](_0x71b912);}})[_0xe181('0x26')](function(_0x5b0c5f){if(_0x5b0c5f){_0x1534f4=_0x5b0c5f[_0xe181('0x75')];if(!_0x5ac5c7[_0xe181('0x33')][_0xe181('0x36')](_0xe181('0x37'))){_0x71b912['limit']=qs[_0xe181('0x20')](_0x5ac5c7['query'][_0xe181('0x20')]);_0x71b912[_0xe181('0x1e')]=qs[_0xe181('0x1e')](_0x5ac5c7['query']['offset']);}return _0xdffbfe[_0xe181('0x98')](_0x71b912);}})[_0xe181('0x26')](function(_0x736754){if(_0x736754){return _0x736754?{'count':_0x1534f4,'rows':_0x736754}:null;}})['then'](respondWithResult(_0x476a41,null))['catch'](handleError(_0x476a41,null));};