Built motion from commit (unavailable).|2.5.0
[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 _0x6657=['merge','type','VIRTUAL','filter','options','includeAll','include','rows','find','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','order','pick','ChatQueueId','UserChatQueue','User','findAndCountAll','UserId','chatPause','updatedAt','createdAt','format','%s/%s','getTeams','nolimit','addTeams','ids','Team','findAll','Agents','online','flatMap','sequelize','transaction','each','findOrCreate','forEach','emit','userChatQueue:save','removeTeams','select','field','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','toString','SELECT','every','includes','all','union','compact','userChatQueue:remove','addAgents','omit','spread','removeAgents','isArray','getAgents','html-pdf','rimraf','zip-dir','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','../../config/utils','../../mysqldb','redis','localhost','./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','info','ChatQueue,\x20%s,\x20%s','request\x20sent','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','message','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','then','destroy','get','ChatQueues','name','send','index','map','ChatQueue','rawAttributes','fieldName','model','keys','query','intersection','attributes','fields','length','hasOwnProperty','sort','where','filters'];(function(_0x336c02,_0x2d2355){var _0x4c8b60=function(_0x5b60c2){while(--_0x5b60c2){_0x336c02['push'](_0x336c02['shift']());}};_0x4c8b60(++_0x2d2355);}(_0x6657,0x17f));var _0x7665=function(_0x3b626c,_0x59535b){_0x3b626c=_0x3b626c-0x0;var _0x5274ef=_0x6657[_0x3b626c];return _0x5274ef;};'use strict';var pdf=require(_0x7665('0x0'));var emlformat=require('eml-format');var rimraf=require(_0x7665('0x1'));var zipdir=require(_0x7665('0x2'));var jsonpatch=require(_0x7665('0x3'));var rp=require(_0x7665('0x4'));var moment=require('moment');var BPromise=require(_0x7665('0x5'));var Mustache=require(_0x7665('0x6'));var util=require(_0x7665('0x7'));var path=require(_0x7665('0x8'));var sox=require(_0x7665('0x9'));var csv=require(_0x7665('0xa'));var ejs=require(_0x7665('0xb'));var fs=require('fs');var _=require(_0x7665('0xc'));var squel=require('squel');var crypto=require(_0x7665('0xd'));var jsforce=require(_0x7665('0xe'));var deskjs=require(_0x7665('0xf'));var toCsv=require(_0x7665('0xa'));var querystring=require(_0x7665('0x10'));var Papa=require(_0x7665('0x11'));var Redis=require(_0x7665('0x12'));var authService=require(_0x7665('0x13'));var qs=require('../../components/parsers/qs');var as=require(_0x7665('0x14'));var hardwareService=require(_0x7665('0x15'));var logger=require(_0x7665('0x16'))('api');var utils=require(_0x7665('0x17'));var config=require('../../config/environment');var db=require(_0x7665('0x18'))['db'];config[_0x7665('0x19')]=_['defaults'](config[_0x7665('0x19')],{'host':_0x7665('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x7665('0x19')]));require(_0x7665('0x1b'))['register'](socket);var jayson=require(_0x7665('0x1c'));var client=jayson[_0x7665('0x1d')][_0x7665('0x1e')]({'port':0x232a});function checkPasswordPattern(_0x3bc95e,_0x2719c0,_0x331d8c){if(_0x331d8c){var _0x308e5c=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x308e5c[_0x7665('0x1f')](_0x2719c0)){return _0x3bc95e;}else{throw new db[(_0x7665('0x20'))][(_0x7665('0x21'))](_0x7665('0x22'));}}else{return _0x3bc95e;}}function respondWithRpcPromise(_0xf730b0,_0x34dc39,_0x34e7a8,_0x2dab51){return new BPromise(function(_0xa3f5d4,_0x522944){var _0x30dedb=_0x2dab51||client;return _0x30dedb[_0x7665('0x23')](_0xf730b0,_0x34e7a8)['then'](function(_0x32b37a){logger[_0x7665('0x24')](_0x7665('0x25'),_0x34dc39,_0x7665('0x26'));logger['debug'](_0x7665('0x27'),_0x34dc39,_0x7665('0x26'),JSON[_0x7665('0x28')](_0x32b37a));if(_0x32b37a[_0x7665('0x29')]){if(_0x32b37a[_0x7665('0x29')]['code']===0x1f4){logger[_0x7665('0x29')]('ChatQueue,\x20%s,\x20%s',_0x34dc39,_0x32b37a[_0x7665('0x29')][_0x7665('0x2a')]);return _0x522944(_0x32b37a['error']['message']);}logger[_0x7665('0x29')](_0x7665('0x25'),_0x34dc39,_0x32b37a['error'][_0x7665('0x2a')]);return _0xa3f5d4(_0x32b37a[_0x7665('0x29')][_0x7665('0x2a')]);}else{logger['info']('ChatQueue,\x20%s,\x20%s',_0x34dc39,'request\x20sent');_0xa3f5d4(_0x32b37a['result'][_0x7665('0x2a')]);}})[_0x7665('0x2b')](function(_0x1129c1){logger['error'](_0x7665('0x25'),_0x34dc39,_0x1129c1);_0x522944(_0x1129c1);});});}function respondWithStatusCode(_0x383d06,_0x50bfa5){_0x50bfa5=_0x50bfa5||0xcc;return function(_0x56b6e8){if(_0x56b6e8){return _0x383d06[_0x7665('0x2c')](_0x50bfa5);}return _0x383d06[_0x7665('0x2d')](_0x50bfa5)[_0x7665('0x2e')]();};}function respondWithResult(_0x23e167,_0x240ee3){_0x240ee3=_0x240ee3||0xc8;return function(_0x3bcb70){if(_0x3bcb70){return _0x23e167['status'](_0x240ee3)[_0x7665('0x2f')](_0x3bcb70);}};}function respondWithFilteredResult(_0x55d046,_0x56d62c){return function(_0x634ebb){if(_0x634ebb){var _0x7425af=_0x634ebb[_0x7665('0x30')],_0x43797a=_0x56d62c[_0x7665('0x31')],_0x34476b=_0x56d62c[_0x7665('0x31')]+_0x56d62c[_0x7665('0x32')],_0x264b6e;if(_0x34476b>=_0x7425af){_0x34476b=_0x7425af;_0x264b6e=0xc8;}else{_0x264b6e=0xce;}_0x55d046[_0x7665('0x2d')](_0x264b6e);return _0x55d046[_0x7665('0x33')](_0x7665('0x34'),_0x43797a+'-'+_0x34476b+'/'+_0x7425af)[_0x7665('0x2f')](_0x634ebb);}return null;};}function patchUpdates(_0x3430a0){return function(_0x42ec7f){try{jsonpatch[_0x7665('0x35')](_0x42ec7f,_0x3430a0,!![]);}catch(_0x28be7c){return BPromise[_0x7665('0x36')](_0x28be7c);}return _0x42ec7f[_0x7665('0x37')]();};}function saveUpdates(_0x588a27,_0x17aec3){return function(_0xd93b75){if(_0xd93b75){return _0xd93b75[_0x7665('0x38')](_0x588a27)[_0x7665('0x39')](function(_0x2bf617){return _0x2bf617;});}return null;};}function removeEntity(_0x2e91f7,_0x4da120){return function(_0x3a7a39){if(_0x3a7a39){return _0x3a7a39[_0x7665('0x3a')]()[_0x7665('0x39')](function(){var _0x1899ad=_0x3a7a39[_0x7665('0x3b')]({'plain':!![]});var _0x495704=_0x7665('0x3c');return db['UserProfileResource'][_0x7665('0x3a')]({'where':{'type':_0x495704,'resourceId':_0x1899ad['id']}})['then'](function(){return _0x3a7a39;});})[_0x7665('0x39')](function(){_0x2e91f7[_0x7665('0x2d')](0xcc)[_0x7665('0x2e')]();});}};}function handleEntityNotFound(_0x2f03bb,_0x3eea5a){return function(_0x3c0ef1){if(!_0x3c0ef1){_0x2f03bb['sendStatus'](0x194);}return _0x3c0ef1;};}function handleError(_0x33f582,_0x3dfab1){_0x3dfab1=_0x3dfab1||0x1f4;return function(_0x99ff2f){logger[_0x7665('0x29')](_0x99ff2f['stack']);if(_0x99ff2f[_0x7665('0x3d')]){delete _0x99ff2f[_0x7665('0x3d')];}_0x33f582[_0x7665('0x2d')](_0x3dfab1)[_0x7665('0x3e')](_0x99ff2f);};}exports[_0x7665('0x3f')]=function(_0x5f4fbf,_0x16d694){var _0x341098={},_0x80529c={},_0x12e605={'count':0x0,'rows':[]};var _0xa67544=_[_0x7665('0x40')](db[_0x7665('0x41')][_0x7665('0x42')],function(_0x42777b){return{'name':_0x42777b[_0x7665('0x43')],'type':_0x42777b['type']['key']};});_0x80529c[_0x7665('0x44')]=_[_0x7665('0x40')](_0xa67544,'name');_0x80529c['query']=_[_0x7665('0x45')](_0x5f4fbf[_0x7665('0x46')]);_0x80529c['filters']=_[_0x7665('0x47')](_0x80529c[_0x7665('0x44')],_0x80529c[_0x7665('0x46')]);_0x341098[_0x7665('0x48')]=_[_0x7665('0x47')](_0x80529c[_0x7665('0x44')],qs[_0x7665('0x49')](_0x5f4fbf[_0x7665('0x46')][_0x7665('0x49')]));_0x341098[_0x7665('0x48')]=_0x341098[_0x7665('0x48')][_0x7665('0x4a')]?_0x341098[_0x7665('0x48')]:_0x80529c[_0x7665('0x44')];if(!_0x5f4fbf['query'][_0x7665('0x4b')]('nolimit')){_0x341098[_0x7665('0x32')]=qs[_0x7665('0x32')](_0x5f4fbf[_0x7665('0x46')][_0x7665('0x32')]);_0x341098[_0x7665('0x31')]=qs['offset'](_0x5f4fbf[_0x7665('0x46')][_0x7665('0x31')]);}_0x341098['order']=qs[_0x7665('0x4c')](_0x5f4fbf['query'][_0x7665('0x4c')]);_0x341098[_0x7665('0x4d')]=qs[_0x7665('0x4e')](_['pick'](_0x5f4fbf['query'],_0x80529c[_0x7665('0x4e')]));if(_0x5f4fbf[_0x7665('0x46')]['filter']){_0x341098[_0x7665('0x4d')]=_[_0x7665('0x4f')](_0x341098[_0x7665('0x4d')],{'$or':_[_0x7665('0x40')](_0xa67544,function(_0x2e38d1){if(_0x2e38d1[_0x7665('0x50')]!==_0x7665('0x51')){var _0x453904={};_0x453904[_0x2e38d1[_0x7665('0x3d')]]={'$like':'%'+_0x5f4fbf[_0x7665('0x46')][_0x7665('0x52')]+'%'};return _0x453904;}})});}_0x341098=_['merge']({},_0x341098,_0x5f4fbf[_0x7665('0x53')]);var _0x5a21ee={'where':_0x341098[_0x7665('0x4d')]};return db[_0x7665('0x41')][_0x7665('0x30')](_0x5a21ee)[_0x7665('0x39')](function(_0x543425){_0x12e605[_0x7665('0x30')]=_0x543425;if(_0x5f4fbf[_0x7665('0x46')][_0x7665('0x54')]){_0x341098[_0x7665('0x55')]=[{'all':!![]}];}return db[_0x7665('0x41')]['findAll'](_0x341098);})[_0x7665('0x39')](function(_0x5044ac){_0x12e605[_0x7665('0x56')]=_0x5044ac;return _0x12e605;})[_0x7665('0x39')](respondWithFilteredResult(_0x16d694,_0x341098))['catch'](handleError(_0x16d694,null));};exports['show']=function(_0x9d5c0b,_0x3b111f){var _0x4296c1={'raw':!![],'where':{'id':_0x9d5c0b['params']['id']}},_0x45c845={};_0x45c845['model']=_[_0x7665('0x45')](db['ChatQueue'][_0x7665('0x42')]);_0x45c845[_0x7665('0x46')]=_[_0x7665('0x45')](_0x9d5c0b['query']);_0x45c845[_0x7665('0x4e')]=_[_0x7665('0x47')](_0x45c845[_0x7665('0x44')],_0x45c845[_0x7665('0x46')]);_0x4296c1[_0x7665('0x48')]=_[_0x7665('0x47')](_0x45c845[_0x7665('0x44')],qs[_0x7665('0x49')](_0x9d5c0b[_0x7665('0x46')][_0x7665('0x49')]));_0x4296c1[_0x7665('0x48')]=_0x4296c1[_0x7665('0x48')][_0x7665('0x4a')]?_0x4296c1[_0x7665('0x48')]:_0x45c845['model'];if(_0x9d5c0b['query'][_0x7665('0x54')]){_0x4296c1[_0x7665('0x55')]=[{'all':!![]}];}_0x4296c1=_['merge']({},_0x4296c1,_0x9d5c0b['options']);return db['ChatQueue'][_0x7665('0x57')](_0x4296c1)[_0x7665('0x39')](handleEntityNotFound(_0x3b111f,null))[_0x7665('0x39')](respondWithResult(_0x3b111f,null))[_0x7665('0x2b')](handleError(_0x3b111f,null));};exports[_0x7665('0x58')]=function(_0x11137c,_0x36151b){return db[_0x7665('0x41')][_0x7665('0x58')](_0x11137c[_0x7665('0x59')],{})['then'](function(_0x49513c){var _0x21471d=_0x11137c[_0x7665('0x5a')][_0x7665('0x3b')]({'plain':!![]});if(!_0x21471d)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x21471d[_0x7665('0x5b')]==='user'){var _0x17bbbe=_0x49513c[_0x7665('0x3b')]({'plain':!![]});var _0x3d056c=_0x7665('0x3c');return db[_0x7665('0x5c')][_0x7665('0x57')]({'where':{'name':_0x3d056c,'userProfileId':_0x21471d[_0x7665('0x5d')]},'raw':!![]})[_0x7665('0x39')](function(_0x3a6ce8){if(_0x3a6ce8&&_0x3a6ce8[_0x7665('0x5e')]===0x0){return db[_0x7665('0x5f')]['create']({'name':_0x17bbbe[_0x7665('0x3d')],'resourceId':_0x17bbbe['id'],'type':_0x3a6ce8[_0x7665('0x3d')],'sectionId':_0x3a6ce8['id']},{})[_0x7665('0x39')](function(){return _0x49513c;});}else{return _0x49513c;}})[_0x7665('0x2b')](function(_0x2f11bb){logger[_0x7665('0x29')](_0x7665('0x60'),_0x2f11bb);throw _0x2f11bb;});}return _0x49513c;})[_0x7665('0x39')](respondWithResult(_0x36151b,0xc9))['catch'](handleError(_0x36151b,null));};exports['update']=function(_0x7d8623,_0x2c5896){if(_0x7d8623[_0x7665('0x59')]['id']){delete _0x7d8623[_0x7665('0x59')]['id'];}return db[_0x7665('0x41')][_0x7665('0x57')]({'where':{'id':_0x7d8623['params']['id']}})[_0x7665('0x39')](handleEntityNotFound(_0x2c5896,null))[_0x7665('0x39')](saveUpdates(_0x7d8623[_0x7665('0x59')],null))[_0x7665('0x39')](respondWithResult(_0x2c5896,null))[_0x7665('0x2b')](handleError(_0x2c5896,null));};exports[_0x7665('0x3a')]=function(_0x59c97b,_0x345dbd){return db[_0x7665('0x41')][_0x7665('0x57')]({'where':{'id':_0x59c97b[_0x7665('0x61')]['id']}})['then'](handleEntityNotFound(_0x345dbd,null))[_0x7665('0x39')](removeEntity(_0x345dbd,null))[_0x7665('0x2b')](handleError(_0x345dbd,null));};exports[_0x7665('0x62')]=function(_0x5c0469,_0x41e903){return db['ChatQueue'][_0x7665('0x62')]()[_0x7665('0x39')](respondWithResult(_0x41e903,null))['catch'](handleError(_0x41e903,null));};exports[_0x7665('0x63')]=function(_0x58c138,_0x295197,_0x35d4ea){var _0x59403b={'raw':!![],'where':{}},_0x2af15f={},_0x4d4b4b;return db['ChatQueue'][_0x7665('0x64')]({'where':{'id':_0x58c138[_0x7665('0x61')]['id']}})['then'](handleEntityNotFound(_0x295197,null))['then'](function(_0x3fe1ab){if(_0x3fe1ab){_0x4d4b4b=_0x3fe1ab['get']({'plain':!![]});_0x2af15f[_0x7665('0x44')]=_[_0x7665('0x45')](db['UserChatQueue']['rawAttributes']);_0x2af15f[_0x7665('0x46')]=_[_0x7665('0x45')](_0x58c138[_0x7665('0x46')]);_0x2af15f[_0x7665('0x4e')]=_[_0x7665('0x47')](_0x2af15f[_0x7665('0x44')],_0x2af15f[_0x7665('0x46')]);_0x59403b['attributes']=_[_0x7665('0x47')](_0x2af15f[_0x7665('0x44')],qs[_0x7665('0x49')](_0x58c138[_0x7665('0x46')][_0x7665('0x49')]));_0x59403b[_0x7665('0x48')]=_0x59403b[_0x7665('0x48')]['length']?_0x59403b['attributes']:_0x2af15f[_0x7665('0x44')];if(!_0x58c138['query'][_0x7665('0x4b')]('nolimit')){_0x59403b[_0x7665('0x32')]=qs[_0x7665('0x32')](_0x58c138[_0x7665('0x46')]['limit']);_0x59403b[_0x7665('0x31')]=qs[_0x7665('0x31')](_0x58c138['query']['offset']);}_0x59403b[_0x7665('0x65')]=qs[_0x7665('0x4c')](_0x58c138[_0x7665('0x46')][_0x7665('0x4c')]);_0x59403b[_0x7665('0x4d')]=qs[_0x7665('0x4e')](_[_0x7665('0x66')](_0x58c138[_0x7665('0x46')],_0x2af15f['filters']));_0x59403b['where'][_0x7665('0x67')]=_0x3fe1ab['id'];if(_0x58c138[_0x7665('0x46')]['filter']){_0x59403b[_0x7665('0x4d')]=_['merge'](_0x59403b['where'],{'$or':_[_0x7665('0x40')](_0x59403b[_0x7665('0x48')],function(_0x3fd193){var _0x1a6ffa={};_0x1a6ffa[_0x3fd193]={'$like':'%'+_0x58c138[_0x7665('0x46')]['filter']+'%'};return _0x1a6ffa;})});}_0x59403b=_['merge']({},_0x59403b,_0x58c138['options']);return db[_0x7665('0x68')]['findAll'](_0x59403b);}})[_0x7665('0x39')](function(_0x5f5af2){if(_0x5f5af2){return db[_0x7665('0x69')][_0x7665('0x6a')]({'where':{'id':_[_0x7665('0x40')](_0x5f5af2,_0x7665('0x6b')),'role':'agent'},'attributes':['id','name',_0x7665('0x6c'),_0x7665('0x6d'),_0x7665('0x6e')]});}})[_0x7665('0x39')](function(_0x3b9fd9){if(_0x3b9fd9){return{'count':_0x3b9fd9[_0x7665('0x30')],'rows':_[_0x7665('0x40')](_0x3b9fd9[_0x7665('0x56')],function(_0x29e238){return{'membername':_0x29e238[_0x7665('0x3d')],'UserId':_0x29e238['id'],'queue_name':_0x4d4b4b['name'],'ChatQueueId':_0x4d4b4b['id'],'interface':util[_0x7665('0x6f')](_0x7665('0x70'),'SIP',_0x29e238[_0x7665('0x3d')]),'penalty':0x0,'paused':_0x29e238['chatPause'],'createdAt':_0x29e238['createdAt'],'updatedAt':_0x29e238['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x295197,_0x59403b))['catch'](handleError(_0x295197,null));};exports[_0x7665('0x71')]=function(_0x39408b,_0x506c71,_0x2d6309){var _0xd98de7={};var _0x291e43={};var _0x253763;var _0x4a51e3;return db[_0x7665('0x41')][_0x7665('0x64')]({'where':{'id':_0x39408b['params']['id']}})[_0x7665('0x39')](handleEntityNotFound(_0x506c71,null))[_0x7665('0x39')](function(_0x3b6cba){if(_0x3b6cba){_0x253763=_0x3b6cba;_0x291e43['model']=_[_0x7665('0x45')](db['Team']['rawAttributes']);_0x291e43[_0x7665('0x46')]=_[_0x7665('0x45')](_0x39408b[_0x7665('0x46')]);_0x291e43[_0x7665('0x4e')]=_['intersection'](_0x291e43[_0x7665('0x44')],_0x291e43[_0x7665('0x46')]);_0xd98de7[_0x7665('0x48')]=_[_0x7665('0x47')](_0x291e43[_0x7665('0x44')],qs[_0x7665('0x49')](_0x39408b[_0x7665('0x46')][_0x7665('0x49')]));_0xd98de7[_0x7665('0x48')]=_0xd98de7[_0x7665('0x48')][_0x7665('0x4a')]?_0xd98de7[_0x7665('0x48')]:_0x291e43[_0x7665('0x44')];_0xd98de7[_0x7665('0x65')]=qs['sort'](_0x39408b[_0x7665('0x46')][_0x7665('0x4c')]);_0xd98de7[_0x7665('0x4d')]=qs[_0x7665('0x4e')](_['pick'](_0x39408b[_0x7665('0x46')],_0x291e43[_0x7665('0x4e')]));if(_0x39408b['query'][_0x7665('0x52')]){_0xd98de7[_0x7665('0x4d')]=_['merge'](_0xd98de7[_0x7665('0x4d')],{'$or':_[_0x7665('0x40')](_0xd98de7[_0x7665('0x48')],function(_0x4b6fc7){var _0xd8a3f6={};_0xd8a3f6[_0x4b6fc7]={'$like':'%'+_0x39408b[_0x7665('0x46')][_0x7665('0x52')]+'%'};return _0xd8a3f6;})});}_0xd98de7=_[_0x7665('0x4f')]({},_0xd98de7,_0x39408b['options']);return _0x253763[_0x7665('0x71')](_0xd98de7);}})[_0x7665('0x39')](function(_0x509904){if(_0x509904){_0x4a51e3=_0x509904[_0x7665('0x4a')];if(!_0x39408b[_0x7665('0x46')][_0x7665('0x4b')](_0x7665('0x72'))){_0xd98de7[_0x7665('0x32')]=qs['limit'](_0x39408b[_0x7665('0x46')][_0x7665('0x32')]);_0xd98de7[_0x7665('0x31')]=qs[_0x7665('0x31')](_0x39408b['query'][_0x7665('0x31')]);}return _0x253763['getTeams'](_0xd98de7);}})[_0x7665('0x39')](function(_0x4f3a38){if(_0x4f3a38){return _0x4f3a38?{'count':_0x4a51e3,'rows':_0x4f3a38}:null;}})[_0x7665('0x39')](respondWithResult(_0x506c71,null))[_0x7665('0x2b')](handleError(_0x506c71,null));};exports[_0x7665('0x73')]=function(_0x1ff3ed,_0x1986cf,_0xb074a7){var _0x2e6c4b=_0x1ff3ed[_0x7665('0x59')][_0x7665('0x74')];return db[_0x7665('0x75')][_0x7665('0x76')]({'where':{'id':_0x2e6c4b},'attributes':['id'],'include':[{'model':db[_0x7665('0x69')],'as':_0x7665('0x77'),'attributes':['id','name',_0x7665('0x78'),'voicePause','interface'],'raw':!![]}]})[_0x7665('0x39')](function(_0x15ef32){if(_0x15ef32){var _0x2c125f=_[_0x7665('0x79')](_0x15ef32,function(_0x1a1729){var _0x1e617f=_0x1a1729[_0x7665('0x3b')]({'plain':!![]});return _0x1e617f[_0x7665('0x77')];});return db[_0x7665('0x41')]['find']({'where':{'id':_0x1ff3ed[_0x7665('0x61')]['id']}})[_0x7665('0x39')](function(_0x3a5993){return db[_0x7665('0x7a')][_0x7665('0x7b')](function(_0x442d83){return _0x3a5993['addTeams'](_0x2e6c4b,{'transaction':_0x442d83})[_0x7665('0x39')](function(){return BPromise[_0x7665('0x7c')](_0x2c125f,function(_0x22867d){return db[_0x7665('0x68')][_0x7665('0x7d')]({'where':{'UserId':_0x22867d['id'],'ChatQueueId':_0x1ff3ed[_0x7665('0x61')]['id']},'transaction':_0x442d83});});})['then'](function(){_0x2c125f[_0x7665('0x7e')](function(_0x6949dc){socket[_0x7665('0x7f')](_0x7665('0x80'),{'UserId':_0x6949dc['id'],'ChatQueueId':_0x3a5993['id']});});});});});}})[_0x7665('0x39')](respondWithStatusCode(_0x1986cf,null))[_0x7665('0x2b')](handleError(_0x1986cf,null));};exports[_0x7665('0x81')]=function(_0x3992ff,_0x3c7306,_0x132170){return db[_0x7665('0x75')]['findAll']({'where':{'id':_0x3992ff[_0x7665('0x46')]['ids']},'attributes':['id'],'include':[{'model':db['User'],'as':_0x7665('0x77'),'attributes':['id'],'raw':!![]}]})[_0x7665('0x39')](handleEntityNotFound(_0x3c7306,null))[_0x7665('0x39')](function(_0x3817e8){var _0x2c4204=_[_0x7665('0x40')](_0x3817e8,'id');var _0x2b36c0=[];var _0xe6c095=[];var _0x23a3a9=squel[_0x7665('0x82')]();_0x23a3a9[_0x7665('0x83')]('tq.TeamId')[_0x7665('0x84')](_0x7665('0x85'),'tq')[_0x7665('0x86')](_0x7665('0x87'),'ut',_0x7665('0x88'))['where']('ChatQueueId\x20=\x20?',_0x3992ff[_0x7665('0x61')]['id']);for(var _0x5a4701=0x0;_0x5a4701<_0x3817e8[_0x7665('0x4a')];_0x5a4701+=0x1){let _0x1971fc=_0x3817e8[_0x5a4701];for(var _0x5a9413=0x0;_0x5a9413<_0x1971fc[_0x7665('0x77')][_0x7665('0x4a')];_0x5a9413+=0x1){let _0x523d9b=_0x1971fc[_0x7665('0x77')][_0x5a9413];var _0x275a1e=_0x23a3a9[_0x7665('0x89')]();_0x275a1e[_0x7665('0x4d')](_0x7665('0x8a'),_0x523d9b['id']);_0xe6c095[_0x7665('0x8b')](db['sequelize'][_0x7665('0x46')](_0x275a1e[_0x7665('0x8c')](),{'type':db[_0x7665('0x7a')]['QueryTypes'][_0x7665('0x8d')]})[_0x7665('0x39')](function(_0x4f20f4){if(_0x4f20f4[_0x7665('0x4a')]===0x1){return _0x523d9b['id'];}else{var _0x182657=_[_0x7665('0x8e')](_['map'](_0x4f20f4,'TeamId'),function(_0x530132){return _[_0x7665('0x8f')](_0x2c4204,_0x530132);});if(_0x182657){return _0x523d9b['id'];}}}));}}return BPromise[_0x7665('0x90')](_0xe6c095)[_0x7665('0x39')](function(_0x3f2e83){_0x2b36c0=_(_0x2b36c0)[_0x7665('0x91')](_0x3f2e83)[_0x7665('0x92')]()['value']();return db[_0x7665('0x41')][_0x7665('0x57')]({'where':{'id':_0x3992ff['params']['id']}})[_0x7665('0x39')](function(_0xde8c1){return db['sequelize']['transaction'](function(_0x2fbb83){return _0xde8c1[_0x7665('0x81')](_0x3992ff[_0x7665('0x46')][_0x7665('0x74')],{'transaction':_0x2fbb83})[_0x7665('0x39')](function(){if(!_['isEmpty'](_0x2b36c0)){return _0xde8c1['removeAgents'](_0x2b36c0,{'transaction':_0x2fbb83});}})[_0x7665('0x39')](function(){_0x2b36c0[_0x7665('0x7e')](function(_0x188c1a){socket['emit'](_0x7665('0x93'),{'UserId':_0x188c1a,'ChatQueueId':_0xde8c1['id']});});});});});});})[_0x7665('0x39')](respondWithStatusCode(_0x3c7306,null))[_0x7665('0x2b')](handleError(_0x3c7306,null));};exports[_0x7665('0x94')]=function(_0x940d64,_0x5831af,_0x55fc37){return db[_0x7665('0x41')]['find']({'where':{'id':_0x940d64[_0x7665('0x61')]['id']}})[_0x7665('0x39')](handleEntityNotFound(_0x5831af,null))[_0x7665('0x39')](function(_0x215037){if(_0x215037){return _0x215037[_0x7665('0x94')](_0x940d64['body'][_0x7665('0x74')],_[_0x7665('0x95')](_0x940d64[_0x7665('0x59')],[_0x7665('0x74'),'id'])||{})[_0x7665('0x96')](function(_0x1d8394){for(var _0x51da59=0x0;_0x51da59<_0x940d64['body']['ids'][_0x7665('0x4a')];_0x51da59+=0x1){socket[_0x7665('0x7f')](_0x7665('0x80'),{'UserId':_0x940d64[_0x7665('0x59')][_0x7665('0x74')][_0x51da59],'ChatQueueId':_0x940d64[_0x7665('0x61')]['id']});}return _0x1d8394;});}})[_0x7665('0x39')](respondWithResult(_0x5831af,null))[_0x7665('0x2b')](handleError(_0x5831af,null));};exports[_0x7665('0x97')]=function(_0x168ff9,_0x3d25d8,_0x324a6f){return db[_0x7665('0x41')][_0x7665('0x57')]({'where':{'id':_0x168ff9[_0x7665('0x61')]['id']}})[_0x7665('0x39')](handleEntityNotFound(_0x3d25d8,null))[_0x7665('0x39')](function(_0x245c6d){if(_0x245c6d){return _0x245c6d[_0x7665('0x97')](_0x168ff9[_0x7665('0x46')][_0x7665('0x74')])[_0x7665('0x39')](function(){if(_[_0x7665('0x98')](_0x168ff9[_0x7665('0x46')][_0x7665('0x74')])){for(var _0x4d93ef=0x0;_0x4d93ef<_0x168ff9['query']['ids']['length'];_0x4d93ef+=0x1){socket[_0x7665('0x7f')](_0x7665('0x93'),{'UserId':Number(_0x168ff9[_0x7665('0x46')][_0x7665('0x74')][_0x4d93ef]),'ChatQueueId':Number(_0x168ff9['params']['id'])});}}else{socket[_0x7665('0x7f')](_0x7665('0x93'),{'UserId':Number(_0x168ff9[_0x7665('0x46')]['ids']),'ChatQueueId':Number(_0x168ff9[_0x7665('0x61')]['id'])});}});}})[_0x7665('0x39')](respondWithStatusCode(_0x3d25d8,null))[_0x7665('0x2b')](handleError(_0x3d25d8,null));};exports[_0x7665('0x99')]=function(_0x3d46e1,_0x1776d5,_0x2a42a2){var _0x5469b0={};var _0x4cb2b8={};var _0x5ec428;var _0x4f0c08;return db[_0x7665('0x41')][_0x7665('0x64')]({'where':{'id':_0x3d46e1[_0x7665('0x61')]['id']}})[_0x7665('0x39')](handleEntityNotFound(_0x1776d5,null))[_0x7665('0x39')](function(_0x212273){if(_0x212273){_0x5ec428=_0x212273;_0x4cb2b8[_0x7665('0x44')]=_[_0x7665('0x45')](db['User'][_0x7665('0x42')]);_0x4cb2b8[_0x7665('0x46')]=_[_0x7665('0x45')](_0x3d46e1[_0x7665('0x46')]);_0x4cb2b8[_0x7665('0x4e')]=_[_0x7665('0x47')](_0x4cb2b8[_0x7665('0x44')],_0x4cb2b8[_0x7665('0x46')]);_0x5469b0[_0x7665('0x48')]=_[_0x7665('0x47')](_0x4cb2b8[_0x7665('0x44')],qs['fields'](_0x3d46e1[_0x7665('0x46')][_0x7665('0x49')]));_0x5469b0[_0x7665('0x48')]=_0x5469b0[_0x7665('0x48')]['length']?_0x5469b0[_0x7665('0x48')]:_0x4cb2b8['model'];_0x5469b0[_0x7665('0x65')]=qs[_0x7665('0x4c')](_0x3d46e1[_0x7665('0x46')][_0x7665('0x4c')]);_0x5469b0[_0x7665('0x4d')]=qs[_0x7665('0x4e')](_[_0x7665('0x66')](_0x3d46e1[_0x7665('0x46')],_0x4cb2b8[_0x7665('0x4e')]));if(_0x3d46e1[_0x7665('0x46')]['filter']){_0x5469b0[_0x7665('0x4d')]=_[_0x7665('0x4f')](_0x5469b0['where'],{'$or':_[_0x7665('0x40')](_0x5469b0['attributes'],function(_0x7b321b){var _0x16c86f={};_0x16c86f[_0x7b321b]={'$like':'%'+_0x3d46e1[_0x7665('0x46')][_0x7665('0x52')]+'%'};return _0x16c86f;})});}_0x5469b0=_['merge']({},_0x5469b0,_0x3d46e1[_0x7665('0x53')]);return _0x5ec428[_0x7665('0x99')](_0x5469b0);}})[_0x7665('0x39')](function(_0x208965){if(_0x208965){_0x4f0c08=_0x208965[_0x7665('0x4a')];if(!_0x3d46e1['query'][_0x7665('0x4b')](_0x7665('0x72'))){_0x5469b0[_0x7665('0x32')]=qs[_0x7665('0x32')](_0x3d46e1[_0x7665('0x46')][_0x7665('0x32')]);_0x5469b0[_0x7665('0x31')]=qs[_0x7665('0x31')](_0x3d46e1[_0x7665('0x46')][_0x7665('0x31')]);}return _0x5ec428[_0x7665('0x99')](_0x5469b0);}})[_0x7665('0x39')](function(_0x8e1a92){if(_0x8e1a92){return _0x8e1a92?{'count':_0x4f0c08,'rows':_0x8e1a92}:null;}})[_0x7665('0x39')](respondWithResult(_0x1776d5,null))[_0x7665('0x2b')](handleError(_0x1776d5,null));};