Built motion from commit (unavailable).|2.4.18
[motion2.git] / server / api / chatQueue / chatQueue.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 _0x9fe7=['includes','union','value','isEmpty','removeAgents','forEach','userChatQueue:remove','addAgents','omit','spread','getAgents','html-pdf','eml-format','zip-dir','request-promise','moment','bluebird','util','path','sox','ejs','lodash','squel','jsforce','desk.js','to-csv','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatQueue.socket','jayson/promise','client','http','test','Sequelize','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','error','code','message','info','result','sendStatus','status','offset','limit','set','json','apply','reject','update','destroy','ChatQueues','UserProfileResource','end','stack','name','send','index','map','rawAttributes','fieldName','key','model','query','keys','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','merge','type','VIRTUAL','filter','options','ChatQueue','count','includeAll','include','rows','show','params','find','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','get','UserProfileSection','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','findOne','UserChatQueue','findAll','User','agent','chatPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','pick','addTeams','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','findOrCreate','emit','userChatQueue:save','removeTeams','select','field','tq.TeamId','from','join','user_has_teams','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','QueryTypes','TeamId'];(function(_0x1b4fb4,_0x35346b){var _0x6c1374=function(_0x4bef84){while(--_0x4bef84){_0x1b4fb4['push'](_0x1b4fb4['shift']());}};_0x6c1374(++_0x35346b);}(_0x9fe7,0x1df));var _0x79fe=function(_0x587951,_0x4de605){_0x587951=_0x587951-0x0;var _0x2921c8=_0x9fe7[_0x587951];return _0x2921c8;};'use strict';var pdf=require(_0x79fe('0x0'));var emlformat=require(_0x79fe('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x79fe('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0x79fe('0x3'));var moment=require(_0x79fe('0x4'));var BPromise=require(_0x79fe('0x5'));var Mustache=require('mustache');var util=require(_0x79fe('0x6'));var path=require(_0x79fe('0x7'));var sox=require(_0x79fe('0x8'));var csv=require('to-csv');var ejs=require(_0x79fe('0x9'));var fs=require('fs');var _=require(_0x79fe('0xa'));var squel=require(_0x79fe('0xb'));var crypto=require('crypto');var jsforce=require(_0x79fe('0xc'));var deskjs=require(_0x79fe('0xd'));var toCsv=require(_0x79fe('0xe'));var querystring=require(_0x79fe('0xf'));var Papa=require(_0x79fe('0x10'));var Redis=require('ioredis');var authService=require(_0x79fe('0x11'));var qs=require(_0x79fe('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x79fe('0x13'));var logger=require(_0x79fe('0x14'))(_0x79fe('0x15'));var utils=require(_0x79fe('0x16'));var config=require('../../config/environment');var db=require(_0x79fe('0x17'))['db'];config[_0x79fe('0x18')]=_[_0x79fe('0x19')](config[_0x79fe('0x18')],{'host':_0x79fe('0x1a'),'port':0x18eb});var socket=require(_0x79fe('0x1b'))(new Redis(config[_0x79fe('0x18')]));require(_0x79fe('0x1c'))['register'](socket);var jayson=require(_0x79fe('0x1d'));var client=jayson[_0x79fe('0x1e')][_0x79fe('0x1f')]({'port':0x232a});function checkPasswordPattern(_0x536944,_0x35fb79,_0x25e91b){if(_0x25e91b){var _0x58124b=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x58124b[_0x79fe('0x20')](_0x35fb79)){return _0x536944;}else{throw new db[(_0x79fe('0x21'))][(_0x79fe('0x22'))](_0x79fe('0x23'));}}else{return _0x536944;}}function respondWithRpcPromise(_0x5eadbf,_0x416b5b,_0x16f93a,_0x39be95){return new BPromise(function(_0x40a549,_0x536641){var _0x5e2f0b=_0x39be95||client;return _0x5e2f0b[_0x79fe('0x24')](_0x5eadbf,_0x16f93a)[_0x79fe('0x25')](function(_0x25e51f){logger['info'](_0x79fe('0x26'),_0x416b5b,_0x79fe('0x27'));logger[_0x79fe('0x28')]('ChatQueue,\x20%s,\x20%s,\x20%s',_0x416b5b,_0x79fe('0x27'),JSON['stringify'](_0x25e51f));if(_0x25e51f[_0x79fe('0x29')]){if(_0x25e51f[_0x79fe('0x29')][_0x79fe('0x2a')]===0x1f4){logger[_0x79fe('0x29')](_0x79fe('0x26'),_0x416b5b,_0x25e51f[_0x79fe('0x29')]['message']);return _0x536641(_0x25e51f['error'][_0x79fe('0x2b')]);}logger['error'](_0x79fe('0x26'),_0x416b5b,_0x25e51f[_0x79fe('0x29')]['message']);return _0x40a549(_0x25e51f['error'][_0x79fe('0x2b')]);}else{logger[_0x79fe('0x2c')]('ChatQueue,\x20%s,\x20%s',_0x416b5b,_0x79fe('0x27'));_0x40a549(_0x25e51f[_0x79fe('0x2d')]['message']);}})['catch'](function(_0x4ea368){logger[_0x79fe('0x29')](_0x79fe('0x26'),_0x416b5b,_0x4ea368);_0x536641(_0x4ea368);});});}function respondWithStatusCode(_0x36ead5,_0x4ac913){_0x4ac913=_0x4ac913||0xcc;return function(_0x47786f){if(_0x47786f){return _0x36ead5[_0x79fe('0x2e')](_0x4ac913);}return _0x36ead5[_0x79fe('0x2f')](_0x4ac913)['end']();};}function respondWithResult(_0x4e2740,_0x14e055){_0x14e055=_0x14e055||0xc8;return function(_0x51200f){if(_0x51200f){return _0x4e2740[_0x79fe('0x2f')](_0x14e055)['json'](_0x51200f);}};}function respondWithFilteredResult(_0x4d1a9a,_0x5b4835){return function(_0x59b44d){if(_0x59b44d){var _0x13f8da=_0x59b44d['count'],_0xd2ec88=_0x5b4835[_0x79fe('0x30')],_0x4dff5f=_0x5b4835[_0x79fe('0x30')]+_0x5b4835[_0x79fe('0x31')],_0x2b6975;if(_0x4dff5f>=_0x13f8da){_0x4dff5f=_0x13f8da;_0x2b6975=0xc8;}else{_0x2b6975=0xce;}_0x4d1a9a[_0x79fe('0x2f')](_0x2b6975);return _0x4d1a9a[_0x79fe('0x32')]('Content-Range',_0xd2ec88+'-'+_0x4dff5f+'/'+_0x13f8da)[_0x79fe('0x33')](_0x59b44d);}return null;};}function patchUpdates(_0x2dbf62){return function(_0x25ef07){try{jsonpatch[_0x79fe('0x34')](_0x25ef07,_0x2dbf62,!![]);}catch(_0x445db9){return BPromise[_0x79fe('0x35')](_0x445db9);}return _0x25ef07['save']();};}function saveUpdates(_0x3b50e7,_0x125226){return function(_0x8ddef3){if(_0x8ddef3){return _0x8ddef3[_0x79fe('0x36')](_0x3b50e7)[_0x79fe('0x25')](function(_0x6a8a24){return _0x6a8a24;});}return null;};}function removeEntity(_0x596040,_0x2d4705){return function(_0x5a917f){if(_0x5a917f){return _0x5a917f[_0x79fe('0x37')]()['then'](function(){var _0x2a533b=_0x5a917f['get']({'plain':!![]});var _0x1ee275=_0x79fe('0x38');return db[_0x79fe('0x39')]['destroy']({'where':{'type':_0x1ee275,'resourceId':_0x2a533b['id']}})[_0x79fe('0x25')](function(){return _0x5a917f;});})[_0x79fe('0x25')](function(){_0x596040[_0x79fe('0x2f')](0xcc)[_0x79fe('0x3a')]();});}};}function handleEntityNotFound(_0x2b203b,_0x5b15bb){return function(_0x53957b){if(!_0x53957b){_0x2b203b[_0x79fe('0x2e')](0x194);}return _0x53957b;};}function handleError(_0x4a8336,_0x27de50){_0x27de50=_0x27de50||0x1f4;return function(_0x44d97e){logger['error'](_0x44d97e[_0x79fe('0x3b')]);if(_0x44d97e[_0x79fe('0x3c')]){delete _0x44d97e[_0x79fe('0x3c')];}_0x4a8336[_0x79fe('0x2f')](_0x27de50)[_0x79fe('0x3d')](_0x44d97e);};}exports[_0x79fe('0x3e')]=function(_0x5e1bf1,_0x3f099f){var _0x30b8c3={},_0x35a5ec={},_0x2d2908={'count':0x0,'rows':[]};var _0x4eada4=_[_0x79fe('0x3f')](db['ChatQueue'][_0x79fe('0x40')],function(_0x5e29b5){return{'name':_0x5e29b5[_0x79fe('0x41')],'type':_0x5e29b5['type'][_0x79fe('0x42')]};});_0x35a5ec[_0x79fe('0x43')]=_['map'](_0x4eada4,'name');_0x35a5ec[_0x79fe('0x44')]=_[_0x79fe('0x45')](_0x5e1bf1[_0x79fe('0x44')]);_0x35a5ec[_0x79fe('0x46')]=_['intersection'](_0x35a5ec['model'],_0x35a5ec[_0x79fe('0x44')]);_0x30b8c3[_0x79fe('0x47')]=_[_0x79fe('0x48')](_0x35a5ec[_0x79fe('0x43')],qs[_0x79fe('0x49')](_0x5e1bf1[_0x79fe('0x44')][_0x79fe('0x49')]));_0x30b8c3[_0x79fe('0x47')]=_0x30b8c3['attributes'][_0x79fe('0x4a')]?_0x30b8c3[_0x79fe('0x47')]:_0x35a5ec[_0x79fe('0x43')];if(!_0x5e1bf1[_0x79fe('0x44')][_0x79fe('0x4b')](_0x79fe('0x4c'))){_0x30b8c3['limit']=qs[_0x79fe('0x31')](_0x5e1bf1[_0x79fe('0x44')][_0x79fe('0x31')]);_0x30b8c3[_0x79fe('0x30')]=qs[_0x79fe('0x30')](_0x5e1bf1[_0x79fe('0x44')]['offset']);}_0x30b8c3[_0x79fe('0x4d')]=qs[_0x79fe('0x4e')](_0x5e1bf1[_0x79fe('0x44')]['sort']);_0x30b8c3[_0x79fe('0x4f')]=qs['filters'](_['pick'](_0x5e1bf1[_0x79fe('0x44')],_0x35a5ec[_0x79fe('0x46')]));if(_0x5e1bf1[_0x79fe('0x44')]['filter']){_0x30b8c3[_0x79fe('0x4f')]=_[_0x79fe('0x50')](_0x30b8c3[_0x79fe('0x4f')],{'$or':_['map'](_0x4eada4,function(_0x4b3841){if(_0x4b3841[_0x79fe('0x51')]!==_0x79fe('0x52')){var _0x1594ce={};_0x1594ce[_0x4b3841[_0x79fe('0x3c')]]={'$like':'%'+_0x5e1bf1[_0x79fe('0x44')][_0x79fe('0x53')]+'%'};return _0x1594ce;}})});}_0x30b8c3=_[_0x79fe('0x50')]({},_0x30b8c3,_0x5e1bf1[_0x79fe('0x54')]);var _0x2b46ad={'where':_0x30b8c3['where']};return db[_0x79fe('0x55')][_0x79fe('0x56')](_0x2b46ad)['then'](function(_0x22ab55){_0x2d2908['count']=_0x22ab55;if(_0x5e1bf1[_0x79fe('0x44')][_0x79fe('0x57')]){_0x30b8c3[_0x79fe('0x58')]=[{'all':!![]}];}return db[_0x79fe('0x55')]['findAll'](_0x30b8c3);})[_0x79fe('0x25')](function(_0x23faee){_0x2d2908[_0x79fe('0x59')]=_0x23faee;return _0x2d2908;})['then'](respondWithFilteredResult(_0x3f099f,_0x30b8c3))['catch'](handleError(_0x3f099f,null));};exports[_0x79fe('0x5a')]=function(_0x1ce058,_0x5a00f5){var _0x1ae54f={'raw':!![],'where':{'id':_0x1ce058[_0x79fe('0x5b')]['id']}},_0x368e5d={};_0x368e5d[_0x79fe('0x43')]=_['keys'](db[_0x79fe('0x55')][_0x79fe('0x40')]);_0x368e5d[_0x79fe('0x44')]=_['keys'](_0x1ce058['query']);_0x368e5d['filters']=_['intersection'](_0x368e5d['model'],_0x368e5d[_0x79fe('0x44')]);_0x1ae54f[_0x79fe('0x47')]=_['intersection'](_0x368e5d[_0x79fe('0x43')],qs[_0x79fe('0x49')](_0x1ce058[_0x79fe('0x44')]['fields']));_0x1ae54f['attributes']=_0x1ae54f['attributes'][_0x79fe('0x4a')]?_0x1ae54f['attributes']:_0x368e5d[_0x79fe('0x43')];if(_0x1ce058[_0x79fe('0x44')][_0x79fe('0x57')]){_0x1ae54f[_0x79fe('0x58')]=[{'all':!![]}];}_0x1ae54f=_[_0x79fe('0x50')]({},_0x1ae54f,_0x1ce058[_0x79fe('0x54')]);return db[_0x79fe('0x55')][_0x79fe('0x5c')](_0x1ae54f)[_0x79fe('0x25')](handleEntityNotFound(_0x5a00f5,null))[_0x79fe('0x25')](respondWithResult(_0x5a00f5,null))[_0x79fe('0x5d')](handleError(_0x5a00f5,null));};exports['create']=function(_0x3a24da,_0x397e40){return db['ChatQueue'][_0x79fe('0x5e')](_0x3a24da['body'],{})[_0x79fe('0x25')](function(_0x1fff51){var _0x523bf8=_0x3a24da[_0x79fe('0x5f')]['get']({'plain':!![]});if(!_0x523bf8)throw new Error(_0x79fe('0x60'));if(_0x523bf8['role']==='user'){var _0x492ac1=_0x1fff51[_0x79fe('0x61')]({'plain':!![]});var _0x272272=_0x79fe('0x38');return db[_0x79fe('0x62')][_0x79fe('0x5c')]({'where':{'name':_0x272272,'userProfileId':_0x523bf8[_0x79fe('0x63')]},'raw':!![]})[_0x79fe('0x25')](function(_0x206c20){if(_0x206c20&&_0x206c20[_0x79fe('0x64')]===0x0){return db['UserProfileResource'][_0x79fe('0x5e')]({'name':_0x492ac1[_0x79fe('0x3c')],'resourceId':_0x492ac1['id'],'type':_0x206c20[_0x79fe('0x3c')],'sectionId':_0x206c20['id']},{})[_0x79fe('0x25')](function(){return _0x1fff51;});}else{return _0x1fff51;}})['catch'](function(_0x128ad3){logger['error'](_0x79fe('0x65'),_0x128ad3);throw _0x128ad3;});}return _0x1fff51;})['then'](respondWithResult(_0x397e40,0xc9))[_0x79fe('0x5d')](handleError(_0x397e40,null));};exports[_0x79fe('0x36')]=function(_0x13c203,_0xec619e){if(_0x13c203['body']['id']){delete _0x13c203[_0x79fe('0x66')]['id'];}return db[_0x79fe('0x55')][_0x79fe('0x5c')]({'where':{'id':_0x13c203[_0x79fe('0x5b')]['id']}})['then'](handleEntityNotFound(_0xec619e,null))[_0x79fe('0x25')](saveUpdates(_0x13c203[_0x79fe('0x66')],null))['then'](respondWithResult(_0xec619e,null))[_0x79fe('0x5d')](handleError(_0xec619e,null));};exports['destroy']=function(_0x4ed2b8,_0x37ccea){return db[_0x79fe('0x55')][_0x79fe('0x5c')]({'where':{'id':_0x4ed2b8['params']['id']}})['then'](handleEntityNotFound(_0x37ccea,null))[_0x79fe('0x25')](removeEntity(_0x37ccea,null))['catch'](handleError(_0x37ccea,null));};exports['describe']=function(_0x47780b,_0xfa6867){return db[_0x79fe('0x55')][_0x79fe('0x67')]()[_0x79fe('0x25')](respondWithResult(_0xfa6867,null))[_0x79fe('0x5d')](handleError(_0xfa6867,null));};exports[_0x79fe('0x68')]=function(_0xc91129,_0x3c0326,_0x47f7e6){var _0x3766e4={'raw':!![],'where':{}},_0x36e157={},_0x546a47;return db[_0x79fe('0x55')][_0x79fe('0x69')]({'where':{'id':_0xc91129[_0x79fe('0x5b')]['id']}})[_0x79fe('0x25')](handleEntityNotFound(_0x3c0326,null))[_0x79fe('0x25')](function(_0x1d48ca){if(_0x1d48ca){_0x546a47=_0x1d48ca[_0x79fe('0x61')]({'plain':!![]});_0x36e157[_0x79fe('0x43')]=_[_0x79fe('0x45')](db[_0x79fe('0x6a')][_0x79fe('0x40')]);_0x36e157['query']=_[_0x79fe('0x45')](_0xc91129[_0x79fe('0x44')]);_0x36e157[_0x79fe('0x46')]=_[_0x79fe('0x48')](_0x36e157[_0x79fe('0x43')],_0x36e157[_0x79fe('0x44')]);_0x3766e4[_0x79fe('0x47')]=_['intersection'](_0x36e157[_0x79fe('0x43')],qs[_0x79fe('0x49')](_0xc91129[_0x79fe('0x44')]['fields']));_0x3766e4['attributes']=_0x3766e4['attributes']['length']?_0x3766e4[_0x79fe('0x47')]:_0x36e157['model'];if(!_0xc91129[_0x79fe('0x44')][_0x79fe('0x4b')](_0x79fe('0x4c'))){_0x3766e4[_0x79fe('0x31')]=qs[_0x79fe('0x31')](_0xc91129['query'][_0x79fe('0x31')]);_0x3766e4['offset']=qs[_0x79fe('0x30')](_0xc91129[_0x79fe('0x44')][_0x79fe('0x30')]);}_0x3766e4[_0x79fe('0x4d')]=qs[_0x79fe('0x4e')](_0xc91129[_0x79fe('0x44')][_0x79fe('0x4e')]);_0x3766e4['where']=qs[_0x79fe('0x46')](_['pick'](_0xc91129[_0x79fe('0x44')],_0x36e157[_0x79fe('0x46')]));_0x3766e4[_0x79fe('0x4f')]['ChatQueueId']=_0x1d48ca['id'];if(_0xc91129[_0x79fe('0x44')][_0x79fe('0x53')]){_0x3766e4[_0x79fe('0x4f')]=_[_0x79fe('0x50')](_0x3766e4['where'],{'$or':_[_0x79fe('0x3f')](_0x3766e4[_0x79fe('0x47')],function(_0x2d4bfa){var _0x55a2f5={};_0x55a2f5[_0x2d4bfa]={'$like':'%'+_0xc91129[_0x79fe('0x44')][_0x79fe('0x53')]+'%'};return _0x55a2f5;})});}_0x3766e4=_[_0x79fe('0x50')]({},_0x3766e4,_0xc91129[_0x79fe('0x54')]);return db[_0x79fe('0x6a')][_0x79fe('0x6b')](_0x3766e4);}})[_0x79fe('0x25')](function(_0x2ddbd7){if(_0x2ddbd7){return db[_0x79fe('0x6c')]['findAndCountAll']({'where':{'id':_[_0x79fe('0x3f')](_0x2ddbd7,'UserId'),'role':_0x79fe('0x6d')},'attributes':['id',_0x79fe('0x3c'),_0x79fe('0x6e'),_0x79fe('0x6f'),_0x79fe('0x70')]});}})['then'](function(_0x262d38){if(_0x262d38){return{'count':_0x262d38['count'],'rows':_[_0x79fe('0x3f')](_0x262d38[_0x79fe('0x59')],function(_0x4d2366){return{'membername':_0x4d2366[_0x79fe('0x3c')],'UserId':_0x4d2366['id'],'queue_name':_0x546a47[_0x79fe('0x3c')],'ChatQueueId':_0x546a47['id'],'interface':util[_0x79fe('0x71')](_0x79fe('0x72'),_0x79fe('0x73'),_0x4d2366['name']),'penalty':0x0,'paused':_0x4d2366[_0x79fe('0x6e')],'createdAt':_0x4d2366[_0x79fe('0x70')],'updatedAt':_0x4d2366[_0x79fe('0x6f')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x79fe('0x25')](respondWithFilteredResult(_0x3c0326,_0x3766e4))[_0x79fe('0x5d')](handleError(_0x3c0326,null));};exports[_0x79fe('0x74')]=function(_0x477c6f,_0x24c6ad,_0x38fc15){var _0x202107={};var _0x53e1eb={};var _0xa227b9;var _0x5e1cf5;return db[_0x79fe('0x55')]['findOne']({'where':{'id':_0x477c6f[_0x79fe('0x5b')]['id']}})[_0x79fe('0x25')](handleEntityNotFound(_0x24c6ad,null))[_0x79fe('0x25')](function(_0x50fa09){if(_0x50fa09){_0xa227b9=_0x50fa09;_0x53e1eb[_0x79fe('0x43')]=_['keys'](db[_0x79fe('0x75')][_0x79fe('0x40')]);_0x53e1eb[_0x79fe('0x44')]=_[_0x79fe('0x45')](_0x477c6f['query']);_0x53e1eb[_0x79fe('0x46')]=_['intersection'](_0x53e1eb[_0x79fe('0x43')],_0x53e1eb[_0x79fe('0x44')]);_0x202107[_0x79fe('0x47')]=_[_0x79fe('0x48')](_0x53e1eb[_0x79fe('0x43')],qs['fields'](_0x477c6f[_0x79fe('0x44')]['fields']));_0x202107[_0x79fe('0x47')]=_0x202107[_0x79fe('0x47')]['length']?_0x202107[_0x79fe('0x47')]:_0x53e1eb[_0x79fe('0x43')];_0x202107[_0x79fe('0x4d')]=qs[_0x79fe('0x4e')](_0x477c6f[_0x79fe('0x44')][_0x79fe('0x4e')]);_0x202107['where']=qs['filters'](_[_0x79fe('0x76')](_0x477c6f[_0x79fe('0x44')],_0x53e1eb[_0x79fe('0x46')]));if(_0x477c6f['query'][_0x79fe('0x53')]){_0x202107[_0x79fe('0x4f')]=_[_0x79fe('0x50')](_0x202107[_0x79fe('0x4f')],{'$or':_[_0x79fe('0x3f')](_0x202107['attributes'],function(_0x3fbb0e){var _0xfb2ee6={};_0xfb2ee6[_0x3fbb0e]={'$like':'%'+_0x477c6f[_0x79fe('0x44')]['filter']+'%'};return _0xfb2ee6;})});}_0x202107=_[_0x79fe('0x50')]({},_0x202107,_0x477c6f[_0x79fe('0x54')]);return _0xa227b9[_0x79fe('0x74')](_0x202107);}})[_0x79fe('0x25')](function(_0x5c00c6){if(_0x5c00c6){_0x5e1cf5=_0x5c00c6[_0x79fe('0x4a')];if(!_0x477c6f[_0x79fe('0x44')]['hasOwnProperty'](_0x79fe('0x4c'))){_0x202107[_0x79fe('0x31')]=qs[_0x79fe('0x31')](_0x477c6f[_0x79fe('0x44')][_0x79fe('0x31')]);_0x202107['offset']=qs[_0x79fe('0x30')](_0x477c6f[_0x79fe('0x44')]['offset']);}return _0xa227b9['getTeams'](_0x202107);}})['then'](function(_0x381d08){if(_0x381d08){return _0x381d08?{'count':_0x5e1cf5,'rows':_0x381d08}:null;}})[_0x79fe('0x25')](respondWithResult(_0x24c6ad,null))[_0x79fe('0x5d')](handleError(_0x24c6ad,null));};exports[_0x79fe('0x77')]=function(_0x114f7b,_0x5d2971,_0x3521ff){var _0x389e32=_0x114f7b['body'][_0x79fe('0x78')];return db['Team']['findAll']({'where':{'id':_0x389e32},'attributes':['id'],'include':[{'model':db[_0x79fe('0x6c')],'as':_0x79fe('0x79'),'attributes':['id',_0x79fe('0x3c'),_0x79fe('0x7a'),_0x79fe('0x7b'),_0x79fe('0x7c')],'raw':!![]}]})[_0x79fe('0x25')](function(_0xde5e36){if(_0xde5e36){var _0x646fb5=_[_0x79fe('0x7d')](_0xde5e36,function(_0x4e8a44){var _0x57a104=_0x4e8a44[_0x79fe('0x61')]({'plain':!![]});return _0x57a104[_0x79fe('0x79')];});return db[_0x79fe('0x55')][_0x79fe('0x5c')]({'where':{'id':_0x114f7b[_0x79fe('0x5b')]['id']}})[_0x79fe('0x25')](function(_0x2beaf4){return db[_0x79fe('0x7e')][_0x79fe('0x7f')](function(_0x5ce655){return _0x2beaf4[_0x79fe('0x77')](_0x389e32,{'transaction':_0x5ce655})[_0x79fe('0x25')](function(){return BPromise[_0x79fe('0x80')](_0x646fb5,function(_0x28cba7){return db['UserChatQueue'][_0x79fe('0x81')]({'where':{'UserId':_0x28cba7['id'],'ChatQueueId':_0x114f7b['params']['id']},'transaction':_0x5ce655});});})[_0x79fe('0x25')](function(){_0x646fb5['forEach'](function(_0x46151b){socket[_0x79fe('0x82')](_0x79fe('0x83'),{'UserId':_0x46151b['id'],'ChatQueueId':_0x2beaf4['id']});});});});});}})[_0x79fe('0x25')](respondWithStatusCode(_0x5d2971,null))[_0x79fe('0x5d')](handleError(_0x5d2971,null));};exports[_0x79fe('0x84')]=function(_0x52c50c,_0x5617b0,_0x2837b7){return db[_0x79fe('0x75')][_0x79fe('0x6b')]({'where':{'id':_0x52c50c[_0x79fe('0x44')][_0x79fe('0x78')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x79fe('0x79'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x5617b0,null))['then'](function(_0x28685f){var _0x517c85=_[_0x79fe('0x3f')](_0x28685f,'id');var _0x3b1d07=[];var _0x268e7f=[];var _0x1dcf6f=squel[_0x79fe('0x85')]();_0x1dcf6f[_0x79fe('0x86')](_0x79fe('0x87'))[_0x79fe('0x88')]('team_has_chat_queues','tq')[_0x79fe('0x89')](_0x79fe('0x8a'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0x79fe('0x4f')](_0x79fe('0x8b'),_0x52c50c[_0x79fe('0x5b')]['id']);for(var _0x24a505=0x0;_0x24a505<_0x28685f['length'];_0x24a505+=0x1){let _0x48e12d=_0x28685f[_0x24a505];for(var _0x67f6ce=0x0;_0x67f6ce<_0x48e12d['Agents'][_0x79fe('0x4a')];_0x67f6ce+=0x1){let _0x29323e=_0x48e12d[_0x79fe('0x79')][_0x67f6ce];var _0x5f04da=_0x1dcf6f[_0x79fe('0x8c')]();_0x5f04da[_0x79fe('0x4f')](_0x79fe('0x8d'),_0x29323e['id']);_0x268e7f[_0x79fe('0x8e')](db[_0x79fe('0x7e')][_0x79fe('0x44')](_0x5f04da['toString'](),{'type':db['sequelize'][_0x79fe('0x8f')]['SELECT']})[_0x79fe('0x25')](function(_0x35a3c2){if(_0x35a3c2[_0x79fe('0x4a')]===0x1){return _0x29323e['id'];}else{var _0x1e3f89=_['every'](_[_0x79fe('0x3f')](_0x35a3c2,_0x79fe('0x90')),function(_0x13ca3f){return _[_0x79fe('0x91')](_0x517c85,_0x13ca3f);});if(_0x1e3f89){return _0x29323e['id'];}}}));}}return BPromise['all'](_0x268e7f)[_0x79fe('0x25')](function(_0x57b79e){_0x3b1d07=_(_0x3b1d07)[_0x79fe('0x92')](_0x57b79e)['compact']()[_0x79fe('0x93')]();return db[_0x79fe('0x55')][_0x79fe('0x5c')]({'where':{'id':_0x52c50c[_0x79fe('0x5b')]['id']}})[_0x79fe('0x25')](function(_0x1c5f4c){return db['sequelize'][_0x79fe('0x7f')](function(_0x5df9bf){return _0x1c5f4c[_0x79fe('0x84')](_0x52c50c[_0x79fe('0x44')][_0x79fe('0x78')],{'transaction':_0x5df9bf})[_0x79fe('0x25')](function(){if(!_[_0x79fe('0x94')](_0x3b1d07)){return _0x1c5f4c[_0x79fe('0x95')](_0x3b1d07,{'transaction':_0x5df9bf});}})[_0x79fe('0x25')](function(){_0x3b1d07[_0x79fe('0x96')](function(_0x4099f6){socket[_0x79fe('0x82')](_0x79fe('0x97'),{'UserId':_0x4099f6,'ChatQueueId':_0x1c5f4c['id']});});});});});});})[_0x79fe('0x25')](respondWithStatusCode(_0x5617b0,null))[_0x79fe('0x5d')](handleError(_0x5617b0,null));};exports[_0x79fe('0x98')]=function(_0x58ddb7,_0x5ec99e,_0x797422){return db[_0x79fe('0x55')][_0x79fe('0x5c')]({'where':{'id':_0x58ddb7[_0x79fe('0x5b')]['id']}})[_0x79fe('0x25')](handleEntityNotFound(_0x5ec99e,null))[_0x79fe('0x25')](function(_0x116bfb){if(_0x116bfb){return _0x116bfb[_0x79fe('0x98')](_0x58ddb7['body'][_0x79fe('0x78')],_[_0x79fe('0x99')](_0x58ddb7[_0x79fe('0x66')],['ids','id'])||{})[_0x79fe('0x9a')](function(_0x3e8249){for(var _0xc57f79=0x0;_0xc57f79<_0x58ddb7[_0x79fe('0x66')][_0x79fe('0x78')][_0x79fe('0x4a')];_0xc57f79+=0x1){socket[_0x79fe('0x82')](_0x79fe('0x83'),{'UserId':_0x58ddb7[_0x79fe('0x66')]['ids'][_0xc57f79],'ChatQueueId':_0x58ddb7[_0x79fe('0x5b')]['id']});}return _0x3e8249;});}})['then'](respondWithResult(_0x5ec99e,null))['catch'](handleError(_0x5ec99e,null));};exports['removeAgents']=function(_0x4f0789,_0x106bf8,_0x461a42){return db[_0x79fe('0x55')][_0x79fe('0x5c')]({'where':{'id':_0x4f0789[_0x79fe('0x5b')]['id']}})[_0x79fe('0x25')](handleEntityNotFound(_0x106bf8,null))['then'](function(_0x58607c){if(_0x58607c){return _0x58607c[_0x79fe('0x95')](_0x4f0789[_0x79fe('0x44')][_0x79fe('0x78')])[_0x79fe('0x25')](function(){if(_['isArray'](_0x4f0789[_0x79fe('0x44')]['ids'])){for(var _0x45e7f7=0x0;_0x45e7f7<_0x4f0789[_0x79fe('0x44')][_0x79fe('0x78')][_0x79fe('0x4a')];_0x45e7f7+=0x1){socket['emit'](_0x79fe('0x97'),{'UserId':Number(_0x4f0789[_0x79fe('0x44')]['ids'][_0x45e7f7]),'ChatQueueId':Number(_0x4f0789[_0x79fe('0x5b')]['id'])});}}else{socket[_0x79fe('0x82')]('userChatQueue:remove',{'UserId':Number(_0x4f0789[_0x79fe('0x44')][_0x79fe('0x78')]),'ChatQueueId':Number(_0x4f0789[_0x79fe('0x5b')]['id'])});}});}})[_0x79fe('0x25')](respondWithStatusCode(_0x106bf8,null))[_0x79fe('0x5d')](handleError(_0x106bf8,null));};exports['getAgents']=function(_0x235d90,_0xcf0b7d,_0x1c0548){var _0x46639a={};var _0x5417d2={};var _0xe417fa;var _0x215a5f;return db[_0x79fe('0x55')][_0x79fe('0x69')]({'where':{'id':_0x235d90[_0x79fe('0x5b')]['id']}})[_0x79fe('0x25')](handleEntityNotFound(_0xcf0b7d,null))[_0x79fe('0x25')](function(_0x31e1bf){if(_0x31e1bf){_0xe417fa=_0x31e1bf;_0x5417d2['model']=_[_0x79fe('0x45')](db['User'][_0x79fe('0x40')]);_0x5417d2[_0x79fe('0x44')]=_[_0x79fe('0x45')](_0x235d90[_0x79fe('0x44')]);_0x5417d2['filters']=_[_0x79fe('0x48')](_0x5417d2[_0x79fe('0x43')],_0x5417d2[_0x79fe('0x44')]);_0x46639a[_0x79fe('0x47')]=_[_0x79fe('0x48')](_0x5417d2[_0x79fe('0x43')],qs[_0x79fe('0x49')](_0x235d90[_0x79fe('0x44')][_0x79fe('0x49')]));_0x46639a[_0x79fe('0x47')]=_0x46639a['attributes'][_0x79fe('0x4a')]?_0x46639a[_0x79fe('0x47')]:_0x5417d2[_0x79fe('0x43')];_0x46639a[_0x79fe('0x4d')]=qs[_0x79fe('0x4e')](_0x235d90[_0x79fe('0x44')][_0x79fe('0x4e')]);_0x46639a[_0x79fe('0x4f')]=qs[_0x79fe('0x46')](_[_0x79fe('0x76')](_0x235d90[_0x79fe('0x44')],_0x5417d2[_0x79fe('0x46')]));if(_0x235d90[_0x79fe('0x44')][_0x79fe('0x53')]){_0x46639a[_0x79fe('0x4f')]=_[_0x79fe('0x50')](_0x46639a[_0x79fe('0x4f')],{'$or':_['map'](_0x46639a['attributes'],function(_0x35f9bb){var _0x35da8a={};_0x35da8a[_0x35f9bb]={'$like':'%'+_0x235d90['query'][_0x79fe('0x53')]+'%'};return _0x35da8a;})});}_0x46639a=_[_0x79fe('0x50')]({},_0x46639a,_0x235d90['options']);return _0xe417fa[_0x79fe('0x9b')](_0x46639a);}})['then'](function(_0x109b64){if(_0x109b64){_0x215a5f=_0x109b64[_0x79fe('0x4a')];if(!_0x235d90[_0x79fe('0x44')][_0x79fe('0x4b')](_0x79fe('0x4c'))){_0x46639a[_0x79fe('0x31')]=qs['limit'](_0x235d90['query']['limit']);_0x46639a[_0x79fe('0x30')]=qs[_0x79fe('0x30')](_0x235d90[_0x79fe('0x44')][_0x79fe('0x30')]);}return _0xe417fa[_0x79fe('0x9b')](_0x46639a);}})['then'](function(_0x715361){if(_0x715361){return _0x715361?{'count':_0x215a5f,'rows':_0x715361}:null;}})[_0x79fe('0x25')](respondWithResult(_0xcf0b7d,null))['catch'](handleError(_0xcf0b7d,null));};