344a48cd666d22a9212490c8d5e95dd6fdb2902d
[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 _0x26ea=['ChatQueue,\x20%s,\x20%s','debug','ChatQueue,\x20%s,\x20%s,\x20%s','request\x20sent','stringify','error','code','message','result','sendStatus','end','offset','undefined','limit','count','status','set','Content-Range','json','apply','reject','save','update','destroy','ChatQueues','UserProfileResource','stack','name','map','ChatQueue','fieldName','type','key','query','keys','intersection','model','attributes','fields','order','sort','where','pick','filters','filter','merge','VIRTUAL','includeAll','include','findAll','rows','catch','show','params','rawAttributes','length','options','Unable\x20to\x20retrieve\x20the\x20current\x20user','get','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','findOne','UserChatQueue','hasOwnProperty','User','findAndCountAll','UserId','agent','chatPause','updatedAt','createdAt','%s/%s','SIP','Team','getTeams','nolimit','ids','online','voicePause','interface','flatMap','Agents','sequelize','addTeams','each','findOrCreate','userChatQueue:save','select','field','from','team_has_chat_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','QueryTypes','SELECT','every','TeamId','includes','all','compact','value','removeTeams','removeAgents','emit','userChatQueue:remove','addAgents','spread','isArray','getAgents','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','sox','to-csv','ejs','lodash','desk.js','querystring','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','localhost','socket.io-emitter','./chatQueue.socket','register','jayson/promise','http','request','then','info'];(function(_0x1d3cb3,_0x1ef743){var _0x29dc7b=function(_0x5966d3){while(--_0x5966d3){_0x1d3cb3['push'](_0x1d3cb3['shift']());}};_0x29dc7b(++_0x1ef743);}(_0x26ea,0x1a5));var _0xa26e=function(_0x3eba78,_0x1acef4){_0x3eba78=_0x3eba78-0x0;var _0x7defdc=_0x26ea[_0x3eba78];return _0x7defdc;};'use strict';var emlformat=require(_0xa26e('0x0'));var rimraf=require(_0xa26e('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa26e('0x2'));var rp=require(_0xa26e('0x3'));var moment=require('moment');var BPromise=require(_0xa26e('0x4'));var Mustache=require(_0xa26e('0x5'));var util=require('util');var path=require('path');var sox=require(_0xa26e('0x6'));var csv=require(_0xa26e('0x7'));var ejs=require(_0xa26e('0x8'));var fs=require('fs');var fs_extra=require('fs-extra');var _=require(_0xa26e('0x9'));var squel=require('squel');var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0xa26e('0xa'));var toCsv=require(_0xa26e('0x7'));var querystring=require(_0xa26e('0xb'));var Papa=require('papaparse');var Redis=require('ioredis');var authService=require(_0xa26e('0xc'));var qs=require(_0xa26e('0xd'));var as=require(_0xa26e('0xe'));var hardwareService=require(_0xa26e('0xf'));var logger=require(_0xa26e('0x10'))(_0xa26e('0x11'));var utils=require(_0xa26e('0x12'));var config=require(_0xa26e('0x13'));var licenseUtil=require(_0xa26e('0x14'));var db=require(_0xa26e('0x15'))['db'];config[_0xa26e('0x16')]=_['defaults'](config['redis'],{'host':_0xa26e('0x17'),'port':0x18eb});var socket=require(_0xa26e('0x18'))(new Redis(config[_0xa26e('0x16')]));require(_0xa26e('0x19'))[_0xa26e('0x1a')](socket);var jayson=require(_0xa26e('0x1b'));var client=jayson['client'][_0xa26e('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x34b0d4,_0x5725c5,_0x238d11,_0x49c69d){return new BPromise(function(_0x2d20c0,_0x4fd823){var _0x16113c=_0x49c69d||client;return _0x16113c[_0xa26e('0x1d')](_0x34b0d4,_0x238d11)[_0xa26e('0x1e')](function(_0x268d49){logger[_0xa26e('0x1f')](_0xa26e('0x20'),_0x5725c5,'request\x20sent');logger[_0xa26e('0x21')](_0xa26e('0x22'),_0x5725c5,_0xa26e('0x23'),JSON[_0xa26e('0x24')](_0x268d49));if(_0x268d49[_0xa26e('0x25')]){if(_0x268d49['error'][_0xa26e('0x26')]===0x1f4){logger['error']('ChatQueue,\x20%s,\x20%s',_0x5725c5,_0x268d49[_0xa26e('0x25')][_0xa26e('0x27')]);return _0x4fd823(_0x268d49[_0xa26e('0x25')][_0xa26e('0x27')]);}logger['error'](_0xa26e('0x20'),_0x5725c5,_0x268d49['error'][_0xa26e('0x27')]);return _0x2d20c0(_0x268d49[_0xa26e('0x25')]['message']);}else{logger[_0xa26e('0x1f')](_0xa26e('0x20'),_0x5725c5,_0xa26e('0x23'));_0x2d20c0(_0x268d49[_0xa26e('0x28')]['message']);}})['catch'](function(_0x499e97){logger['error'](_0xa26e('0x20'),_0x5725c5,_0x499e97);_0x4fd823(_0x499e97);});});}function respondWithStatusCode(_0x40b3de,_0x420570){_0x420570=_0x420570||0xcc;return function(_0x14aac7){if(_0x14aac7){return _0x40b3de[_0xa26e('0x29')](_0x420570);}return _0x40b3de['status'](_0x420570)[_0xa26e('0x2a')]();};}function respondWithResult(_0x202cf5,_0x462d37){_0x462d37=_0x462d37||0xc8;return function(_0x25602f){if(_0x25602f){return _0x202cf5['status'](_0x462d37)['json'](_0x25602f);}};}function respondWithFilteredResult(_0x4ded11,_0x18c5ce){return function(_0x197838){if(_0x197838){var _0x2715fe=typeof _0x18c5ce[_0xa26e('0x2b')]===_0xa26e('0x2c')&&typeof _0x18c5ce[_0xa26e('0x2d')]===_0xa26e('0x2c');var _0x20680b=_0x197838[_0xa26e('0x2e')];var _0x1ed922=_0x2715fe?0x0:_0x18c5ce['offset'];var _0x1048ff=_0x2715fe?_0x197838[_0xa26e('0x2e')]:_0x18c5ce[_0xa26e('0x2b')]+_0x18c5ce[_0xa26e('0x2d')];var _0x2dee5b;if(_0x1048ff>=_0x20680b){_0x1048ff=_0x20680b;_0x2dee5b=0xc8;}else{_0x2dee5b=0xce;}_0x4ded11[_0xa26e('0x2f')](_0x2dee5b);return _0x4ded11[_0xa26e('0x30')](_0xa26e('0x31'),_0x1ed922+'-'+_0x1048ff+'/'+_0x20680b)[_0xa26e('0x32')](_0x197838);}return null;};}function patchUpdates(_0x26bd76){return function(_0x2fabdd){try{jsonpatch[_0xa26e('0x33')](_0x2fabdd,_0x26bd76,!![]);}catch(_0x44075d){return BPromise[_0xa26e('0x34')](_0x44075d);}return _0x2fabdd[_0xa26e('0x35')]();};}function saveUpdates(_0x190333,_0x256660){return function(_0x5d231c){if(_0x5d231c){return _0x5d231c[_0xa26e('0x36')](_0x190333)['then'](function(_0x403e67){return _0x403e67;});}return null;};}function removeEntity(_0x402454,_0x43bead){return function(_0xd2f1da){if(_0xd2f1da){return _0xd2f1da[_0xa26e('0x37')]()['then'](function(){var _0x2c5efe=_0xd2f1da['get']({'plain':!![]});var _0x1ab6ab=_0xa26e('0x38');return db[_0xa26e('0x39')][_0xa26e('0x37')]({'where':{'type':_0x1ab6ab,'resourceId':_0x2c5efe['id']}})[_0xa26e('0x1e')](function(){return _0xd2f1da;});})[_0xa26e('0x1e')](function(){_0x402454[_0xa26e('0x2f')](0xcc)['end']();});}};}function handleEntityNotFound(_0x553a5b,_0x3f90f6){return function(_0x56095d){if(!_0x56095d){_0x553a5b[_0xa26e('0x29')](0x194);}return _0x56095d;};}function handleError(_0x11e41c,_0x29c995){_0x29c995=_0x29c995||0x1f4;return function(_0x1ef63f){logger[_0xa26e('0x25')](_0x1ef63f[_0xa26e('0x3a')]);if(_0x1ef63f['name']){delete _0x1ef63f[_0xa26e('0x3b')];}_0x11e41c[_0xa26e('0x2f')](_0x29c995)['send'](_0x1ef63f);};}exports['index']=function(_0x1e6dc1,_0xa9c847){var _0x32a65c={},_0x9295fe={},_0x35e14f={'count':0x0,'rows':[]};var _0x2c9967=_[_0xa26e('0x3c')](db[_0xa26e('0x3d')]['rawAttributes'],function(_0x3990af){return{'name':_0x3990af[_0xa26e('0x3e')],'type':_0x3990af[_0xa26e('0x3f')][_0xa26e('0x40')]};});_0x9295fe['model']=_['map'](_0x2c9967,_0xa26e('0x3b'));_0x9295fe[_0xa26e('0x41')]=_[_0xa26e('0x42')](_0x1e6dc1[_0xa26e('0x41')]);_0x9295fe['filters']=_[_0xa26e('0x43')](_0x9295fe[_0xa26e('0x44')],_0x9295fe[_0xa26e('0x41')]);_0x32a65c[_0xa26e('0x45')]=_[_0xa26e('0x43')](_0x9295fe[_0xa26e('0x44')],qs[_0xa26e('0x46')](_0x1e6dc1['query']['fields']));_0x32a65c['attributes']=_0x32a65c[_0xa26e('0x45')]['length']?_0x32a65c[_0xa26e('0x45')]:_0x9295fe['model'];if(!_0x1e6dc1[_0xa26e('0x41')]['hasOwnProperty']('nolimit')){_0x32a65c[_0xa26e('0x2d')]=qs[_0xa26e('0x2d')](_0x1e6dc1[_0xa26e('0x41')][_0xa26e('0x2d')]);_0x32a65c[_0xa26e('0x2b')]=qs[_0xa26e('0x2b')](_0x1e6dc1['query'][_0xa26e('0x2b')]);}_0x32a65c[_0xa26e('0x47')]=qs[_0xa26e('0x48')](_0x1e6dc1[_0xa26e('0x41')][_0xa26e('0x48')]);_0x32a65c[_0xa26e('0x49')]=qs['filters'](_[_0xa26e('0x4a')](_0x1e6dc1[_0xa26e('0x41')],_0x9295fe[_0xa26e('0x4b')]),_0x2c9967);if(_0x1e6dc1['query'][_0xa26e('0x4c')]){_0x32a65c['where']=_[_0xa26e('0x4d')](_0x32a65c[_0xa26e('0x49')],{'$or':_['map'](_0x2c9967,function(_0x374d5a){if(_0x374d5a[_0xa26e('0x3f')]!==_0xa26e('0x4e')){var _0xeac2dc={};_0xeac2dc[_0x374d5a[_0xa26e('0x3b')]]={'$like':'%'+_0x1e6dc1[_0xa26e('0x41')]['filter']+'%'};return _0xeac2dc;}})});}_0x32a65c=_['merge']({},_0x32a65c,_0x1e6dc1['options']);var _0x165aeb={'where':_0x32a65c['where']};return db[_0xa26e('0x3d')][_0xa26e('0x2e')](_0x165aeb)[_0xa26e('0x1e')](function(_0x354d2f){_0x35e14f[_0xa26e('0x2e')]=_0x354d2f;if(_0x1e6dc1[_0xa26e('0x41')][_0xa26e('0x4f')]){_0x32a65c[_0xa26e('0x50')]=[{'all':!![]}];}return db['ChatQueue'][_0xa26e('0x51')](_0x32a65c);})['then'](function(_0x4362b0){_0x35e14f[_0xa26e('0x52')]=_0x4362b0;return _0x35e14f;})[_0xa26e('0x1e')](respondWithFilteredResult(_0xa9c847,_0x32a65c))[_0xa26e('0x53')](handleError(_0xa9c847,null));};exports[_0xa26e('0x54')]=function(_0xbd43b8,_0x20849e){var _0x43d7d3={'raw':!![],'where':{'id':_0xbd43b8[_0xa26e('0x55')]['id']}},_0x13227c={};_0x13227c[_0xa26e('0x44')]=_[_0xa26e('0x42')](db[_0xa26e('0x3d')][_0xa26e('0x56')]);_0x13227c[_0xa26e('0x41')]=_[_0xa26e('0x42')](_0xbd43b8[_0xa26e('0x41')]);_0x13227c[_0xa26e('0x4b')]=_[_0xa26e('0x43')](_0x13227c['model'],_0x13227c[_0xa26e('0x41')]);_0x43d7d3['attributes']=_[_0xa26e('0x43')](_0x13227c['model'],qs[_0xa26e('0x46')](_0xbd43b8[_0xa26e('0x41')][_0xa26e('0x46')]));_0x43d7d3[_0xa26e('0x45')]=_0x43d7d3['attributes'][_0xa26e('0x57')]?_0x43d7d3[_0xa26e('0x45')]:_0x13227c[_0xa26e('0x44')];if(_0xbd43b8['query'][_0xa26e('0x4f')]){_0x43d7d3['include']=[{'all':!![]}];}_0x43d7d3=_[_0xa26e('0x4d')]({},_0x43d7d3,_0xbd43b8[_0xa26e('0x58')]);return db[_0xa26e('0x3d')]['find'](_0x43d7d3)[_0xa26e('0x1e')](handleEntityNotFound(_0x20849e,null))[_0xa26e('0x1e')](respondWithResult(_0x20849e,null))[_0xa26e('0x53')](handleError(_0x20849e,null));};exports['create']=function(_0x29abd1,_0x33dee7){return db[_0xa26e('0x3d')]['create'](_0x29abd1['body'],{})[_0xa26e('0x1e')](function(_0x487feb){var _0x1cd896=_0x29abd1['user']['get']({'plain':!![]});if(!_0x1cd896)throw new Error(_0xa26e('0x59'));if(_0x1cd896['role']==='user'){var _0xaa2131=_0x487feb[_0xa26e('0x5a')]({'plain':!![]});var _0x2f9294=_0xa26e('0x38');return db[_0xa26e('0x5b')][_0xa26e('0x5c')]({'where':{'name':_0x2f9294,'userProfileId':_0x1cd896[_0xa26e('0x5d')]},'raw':!![]})[_0xa26e('0x1e')](function(_0x14287f){if(_0x14287f&&_0x14287f[_0xa26e('0x5e')]===0x0){return db[_0xa26e('0x39')]['create']({'name':_0xaa2131[_0xa26e('0x3b')],'resourceId':_0xaa2131['id'],'type':_0x14287f[_0xa26e('0x3b')],'sectionId':_0x14287f['id']},{})[_0xa26e('0x1e')](function(){return _0x487feb;});}else{return _0x487feb;}})[_0xa26e('0x53')](function(_0x494e5d){logger['error'](_0xa26e('0x5f'),_0x494e5d);throw _0x494e5d;});}return _0x487feb;})[_0xa26e('0x1e')](respondWithResult(_0x33dee7,0xc9))[_0xa26e('0x53')](handleError(_0x33dee7,null));};exports[_0xa26e('0x36')]=function(_0x4e11fb,_0x130452){if(_0x4e11fb['body']['id']){delete _0x4e11fb['body']['id'];}return db[_0xa26e('0x3d')]['find']({'where':{'id':_0x4e11fb[_0xa26e('0x55')]['id']}})[_0xa26e('0x1e')](handleEntityNotFound(_0x130452,null))[_0xa26e('0x1e')](saveUpdates(_0x4e11fb[_0xa26e('0x60')],null))[_0xa26e('0x1e')](respondWithResult(_0x130452,null))[_0xa26e('0x53')](handleError(_0x130452,null));};exports[_0xa26e('0x37')]=function(_0x429eae,_0x2f490a){return db['ChatQueue']['find']({'where':{'id':_0x429eae[_0xa26e('0x55')]['id']}})[_0xa26e('0x1e')](handleEntityNotFound(_0x2f490a,null))['then'](removeEntity(_0x2f490a,null))[_0xa26e('0x53')](handleError(_0x2f490a,null));};exports[_0xa26e('0x61')]=function(_0x1465c5,_0x2adce8){return db['ChatQueue']['describe']()[_0xa26e('0x1e')](respondWithResult(_0x2adce8,null))['catch'](handleError(_0x2adce8,null));};exports[_0xa26e('0x62')]=function(_0x13ef2c,_0x41c25e,_0x2c4e01){var _0x8119b5={'raw':!![],'where':{}},_0x979bd7={},_0x1e3660;return db['ChatQueue'][_0xa26e('0x63')]({'where':{'id':_0x13ef2c['params']['id']}})[_0xa26e('0x1e')](handleEntityNotFound(_0x41c25e,null))[_0xa26e('0x1e')](function(_0x33b58f){if(_0x33b58f){_0x1e3660=_0x33b58f[_0xa26e('0x5a')]({'plain':!![]});_0x979bd7[_0xa26e('0x44')]=_['keys'](db[_0xa26e('0x64')]['rawAttributes']);_0x979bd7[_0xa26e('0x41')]=_[_0xa26e('0x42')](_0x13ef2c[_0xa26e('0x41')]);_0x979bd7[_0xa26e('0x4b')]=_[_0xa26e('0x43')](_0x979bd7['model'],_0x979bd7[_0xa26e('0x41')]);_0x8119b5[_0xa26e('0x45')]=_[_0xa26e('0x43')](_0x979bd7[_0xa26e('0x44')],qs[_0xa26e('0x46')](_0x13ef2c[_0xa26e('0x41')][_0xa26e('0x46')]));_0x8119b5['attributes']=_0x8119b5[_0xa26e('0x45')]['length']?_0x8119b5[_0xa26e('0x45')]:_0x979bd7[_0xa26e('0x44')];if(!_0x13ef2c[_0xa26e('0x41')][_0xa26e('0x65')]('nolimit')){_0x8119b5[_0xa26e('0x2d')]=qs[_0xa26e('0x2d')](_0x13ef2c[_0xa26e('0x41')][_0xa26e('0x2d')]);_0x8119b5[_0xa26e('0x2b')]=qs[_0xa26e('0x2b')](_0x13ef2c[_0xa26e('0x41')][_0xa26e('0x2b')]);}_0x8119b5['order']=qs['sort'](_0x13ef2c[_0xa26e('0x41')][_0xa26e('0x48')]);_0x8119b5['where']=qs['filters'](_[_0xa26e('0x4a')](_0x13ef2c[_0xa26e('0x41')],_0x979bd7[_0xa26e('0x4b')]));_0x8119b5[_0xa26e('0x49')]['ChatQueueId']=_0x33b58f['id'];if(_0x13ef2c[_0xa26e('0x41')]['filter']){_0x8119b5[_0xa26e('0x49')]=_[_0xa26e('0x4d')](_0x8119b5[_0xa26e('0x49')],{'$or':_['map'](_0x8119b5[_0xa26e('0x45')],function(_0x2bb6d6){var _0x17a6c1={};_0x17a6c1[_0x2bb6d6]={'$like':'%'+_0x13ef2c[_0xa26e('0x41')]['filter']+'%'};return _0x17a6c1;})});}_0x8119b5=_[_0xa26e('0x4d')]({},_0x8119b5,_0x13ef2c[_0xa26e('0x58')]);return db[_0xa26e('0x64')][_0xa26e('0x51')](_0x8119b5);}})[_0xa26e('0x1e')](function(_0x37afbd){if(_0x37afbd){return db[_0xa26e('0x66')][_0xa26e('0x67')]({'where':{'id':_[_0xa26e('0x3c')](_0x37afbd,_0xa26e('0x68')),'role':_0xa26e('0x69')},'attributes':['id',_0xa26e('0x3b'),_0xa26e('0x6a'),_0xa26e('0x6b'),_0xa26e('0x6c')]});}})['then'](function(_0x41c7d2){if(_0x41c7d2){return{'count':_0x41c7d2[_0xa26e('0x2e')],'rows':_[_0xa26e('0x3c')](_0x41c7d2[_0xa26e('0x52')],function(_0x5d6f62){return{'membername':_0x5d6f62[_0xa26e('0x3b')],'UserId':_0x5d6f62['id'],'queue_name':_0x1e3660[_0xa26e('0x3b')],'ChatQueueId':_0x1e3660['id'],'interface':util['format'](_0xa26e('0x6d'),_0xa26e('0x6e'),_0x5d6f62[_0xa26e('0x3b')]),'penalty':0x0,'paused':_0x5d6f62['chatPause'],'createdAt':_0x5d6f62[_0xa26e('0x6c')],'updatedAt':_0x5d6f62[_0xa26e('0x6b')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xa26e('0x1e')](respondWithFilteredResult(_0x41c25e,_0x8119b5))[_0xa26e('0x53')](handleError(_0x41c25e,null));};exports['getTeams']=function(_0x22dbdc,_0x4f2531,_0x38d4c2){var _0x333268={};var _0x401cf6={};var _0x533410;var _0x4a3e95;return db[_0xa26e('0x3d')][_0xa26e('0x63')]({'where':{'id':_0x22dbdc[_0xa26e('0x55')]['id']}})[_0xa26e('0x1e')](handleEntityNotFound(_0x4f2531,null))[_0xa26e('0x1e')](function(_0x1fde00){if(_0x1fde00){_0x533410=_0x1fde00;_0x401cf6['model']=_[_0xa26e('0x42')](db[_0xa26e('0x6f')]['rawAttributes']);_0x401cf6[_0xa26e('0x41')]=_['keys'](_0x22dbdc[_0xa26e('0x41')]);_0x401cf6[_0xa26e('0x4b')]=_[_0xa26e('0x43')](_0x401cf6['model'],_0x401cf6[_0xa26e('0x41')]);_0x333268[_0xa26e('0x45')]=_[_0xa26e('0x43')](_0x401cf6[_0xa26e('0x44')],qs[_0xa26e('0x46')](_0x22dbdc[_0xa26e('0x41')][_0xa26e('0x46')]));_0x333268[_0xa26e('0x45')]=_0x333268[_0xa26e('0x45')]['length']?_0x333268[_0xa26e('0x45')]:_0x401cf6[_0xa26e('0x44')];_0x333268['order']=qs['sort'](_0x22dbdc[_0xa26e('0x41')][_0xa26e('0x48')]);_0x333268[_0xa26e('0x49')]=qs[_0xa26e('0x4b')](_[_0xa26e('0x4a')](_0x22dbdc[_0xa26e('0x41')],_0x401cf6[_0xa26e('0x4b')]));if(_0x22dbdc[_0xa26e('0x41')][_0xa26e('0x4c')]){_0x333268[_0xa26e('0x49')]=_[_0xa26e('0x4d')](_0x333268[_0xa26e('0x49')],{'$or':_[_0xa26e('0x3c')](_0x333268[_0xa26e('0x45')],function(_0x4caf18){var _0x17db3d={};_0x17db3d[_0x4caf18]={'$like':'%'+_0x22dbdc['query'][_0xa26e('0x4c')]+'%'};return _0x17db3d;})});}_0x333268=_[_0xa26e('0x4d')]({},_0x333268,_0x22dbdc[_0xa26e('0x58')]);return _0x533410[_0xa26e('0x70')](_0x333268);}})['then'](function(_0x4e405b){if(_0x4e405b){_0x4a3e95=_0x4e405b[_0xa26e('0x57')];if(!_0x22dbdc['query'][_0xa26e('0x65')](_0xa26e('0x71'))){_0x333268[_0xa26e('0x2d')]=qs['limit'](_0x22dbdc[_0xa26e('0x41')][_0xa26e('0x2d')]);_0x333268['offset']=qs[_0xa26e('0x2b')](_0x22dbdc[_0xa26e('0x41')][_0xa26e('0x2b')]);}return _0x533410['getTeams'](_0x333268);}})[_0xa26e('0x1e')](function(_0x80d8b){if(_0x80d8b){return _0x80d8b?{'count':_0x4a3e95,'rows':_0x80d8b}:null;}})[_0xa26e('0x1e')](respondWithResult(_0x4f2531,null))[_0xa26e('0x53')](handleError(_0x4f2531,null));};exports['addTeams']=function(_0x1d0113,_0x41df62,_0x488953){var _0x3feda3=_0x1d0113[_0xa26e('0x60')][_0xa26e('0x72')];return db[_0xa26e('0x6f')][_0xa26e('0x51')]({'where':{'id':_0x3feda3},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id','name',_0xa26e('0x73'),_0xa26e('0x74'),_0xa26e('0x75')],'raw':!![]}]})[_0xa26e('0x1e')](function(_0x192765){if(_0x192765){var _0x1f4cee=_[_0xa26e('0x76')](_0x192765,function(_0x4d58e7){var _0xc64cab=_0x4d58e7[_0xa26e('0x5a')]({'plain':!![]});return _0xc64cab[_0xa26e('0x77')];});return db[_0xa26e('0x3d')]['find']({'where':{'id':_0x1d0113[_0xa26e('0x55')]['id']}})['then'](function(_0x297b35){return db[_0xa26e('0x78')]['transaction'](function(_0x2d52d4){return _0x297b35[_0xa26e('0x79')](_0x3feda3,{'transaction':_0x2d52d4})[_0xa26e('0x1e')](function(){return BPromise[_0xa26e('0x7a')](_0x1f4cee,function(_0x24b51f){return db[_0xa26e('0x64')][_0xa26e('0x7b')]({'where':{'UserId':_0x24b51f['id'],'ChatQueueId':_0x1d0113[_0xa26e('0x55')]['id']},'transaction':_0x2d52d4});});})['then'](function(){_0x1f4cee['forEach'](function(_0x41aca0){socket['emit'](_0xa26e('0x7c'),{'UserId':_0x41aca0['id'],'ChatQueueId':_0x297b35['id']});});});});});}})['then'](respondWithStatusCode(_0x41df62,null))['catch'](handleError(_0x41df62,null));};exports['removeTeams']=function(_0x42548c,_0x225324,_0x1e5683){return db[_0xa26e('0x6f')][_0xa26e('0x51')]({'where':{'id':_0x42548c[_0xa26e('0x41')]['ids']},'attributes':['id'],'include':[{'model':db[_0xa26e('0x66')],'as':_0xa26e('0x77'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x225324,null))['then'](function(_0x4044a6){var _0x4f014a=_[_0xa26e('0x3c')](_0x4044a6,'id');var _0x2f2819=[];var _0x2f2b60=[];var _0x4d11b7=squel[_0xa26e('0x7d')]();_0x4d11b7[_0xa26e('0x7e')]('tq.TeamId')[_0xa26e('0x7f')](_0xa26e('0x80'),'tq')['join'](_0xa26e('0x81'),'ut',_0xa26e('0x82'))[_0xa26e('0x49')](_0xa26e('0x83'),_0x42548c[_0xa26e('0x55')]['id']);for(var _0x216623=0x0;_0x216623<_0x4044a6[_0xa26e('0x57')];_0x216623+=0x1){let _0x22b282=_0x4044a6[_0x216623];for(var _0x2803a7=0x0;_0x2803a7<_0x22b282[_0xa26e('0x77')]['length'];_0x2803a7+=0x1){let _0x1b1df2=_0x22b282['Agents'][_0x2803a7];var _0x43ce52=_0x4d11b7[_0xa26e('0x84')]();_0x43ce52[_0xa26e('0x49')](_0xa26e('0x85'),_0x1b1df2['id']);_0x2f2b60[_0xa26e('0x86')](db[_0xa26e('0x78')][_0xa26e('0x41')](_0x43ce52['toString'](),{'type':db[_0xa26e('0x78')][_0xa26e('0x87')][_0xa26e('0x88')]})['then'](function(_0x1feb6b){if(_0x1feb6b['length']===0x1){return _0x1b1df2['id'];}else{var _0x17a96d=_[_0xa26e('0x89')](_[_0xa26e('0x3c')](_0x1feb6b,_0xa26e('0x8a')),function(_0x88ed8c){return _[_0xa26e('0x8b')](_0x4f014a,_0x88ed8c);});if(_0x17a96d){return _0x1b1df2['id'];}}}));}}return BPromise[_0xa26e('0x8c')](_0x2f2b60)['then'](function(_0x31811d){_0x2f2819=_(_0x2f2819)['union'](_0x31811d)[_0xa26e('0x8d')]()[_0xa26e('0x8e')]();return db['ChatQueue'][_0xa26e('0x5c')]({'where':{'id':_0x42548c['params']['id']}})[_0xa26e('0x1e')](function(_0x1b601e){return db[_0xa26e('0x78')]['transaction'](function(_0x4863e4){return _0x1b601e[_0xa26e('0x8f')](_0x42548c[_0xa26e('0x41')][_0xa26e('0x72')],{'transaction':_0x4863e4})['then'](function(){if(!_['isEmpty'](_0x2f2819)){return _0x1b601e[_0xa26e('0x90')](_0x2f2819,{'transaction':_0x4863e4});}})[_0xa26e('0x1e')](function(){_0x2f2819['forEach'](function(_0x12754a){socket[_0xa26e('0x91')](_0xa26e('0x92'),{'UserId':_0x12754a,'ChatQueueId':_0x1b601e['id']});});});});});});})[_0xa26e('0x1e')](respondWithStatusCode(_0x225324,null))[_0xa26e('0x53')](handleError(_0x225324,null));};exports[_0xa26e('0x93')]=function(_0x4d6cf0,_0x35b31c,_0x40b345){return db[_0xa26e('0x3d')]['find']({'where':{'id':_0x4d6cf0[_0xa26e('0x55')]['id']}})['then'](handleEntityNotFound(_0x35b31c,null))[_0xa26e('0x1e')](function(_0x4e9c6c){if(_0x4e9c6c){return _0x4e9c6c[_0xa26e('0x93')](_0x4d6cf0[_0xa26e('0x60')][_0xa26e('0x72')],_['omit'](_0x4d6cf0['body'],[_0xa26e('0x72'),'id'])||{})[_0xa26e('0x94')](function(_0x167368){for(var _0x114189=0x0;_0x114189<_0x4d6cf0['body']['ids'][_0xa26e('0x57')];_0x114189+=0x1){socket[_0xa26e('0x91')](_0xa26e('0x7c'),{'UserId':Number(_0x4d6cf0[_0xa26e('0x60')][_0xa26e('0x72')][_0x114189]),'ChatQueueId':Number(_0x4d6cf0[_0xa26e('0x55')]['id'])});}return _0x167368;});}})['then'](respondWithResult(_0x35b31c,null))['catch'](handleError(_0x35b31c,null));};exports[_0xa26e('0x90')]=function(_0x1dcffb,_0x51360d,_0x2ef9b5){return db[_0xa26e('0x3d')]['find']({'where':{'id':_0x1dcffb[_0xa26e('0x55')]['id']}})[_0xa26e('0x1e')](handleEntityNotFound(_0x51360d,null))['then'](function(_0x5b1e06){if(_0x5b1e06){return _0x5b1e06[_0xa26e('0x90')](_0x1dcffb[_0xa26e('0x41')]['ids'])[_0xa26e('0x1e')](function(){if(_[_0xa26e('0x95')](_0x1dcffb[_0xa26e('0x41')][_0xa26e('0x72')])){for(var _0xc17764=0x0;_0xc17764<_0x1dcffb[_0xa26e('0x41')]['ids'][_0xa26e('0x57')];_0xc17764+=0x1){socket[_0xa26e('0x91')](_0xa26e('0x92'),{'UserId':Number(_0x1dcffb[_0xa26e('0x41')][_0xa26e('0x72')][_0xc17764]),'ChatQueueId':Number(_0x1dcffb[_0xa26e('0x55')]['id'])});}}else{socket[_0xa26e('0x91')](_0xa26e('0x92'),{'UserId':Number(_0x1dcffb[_0xa26e('0x41')][_0xa26e('0x72')]),'ChatQueueId':Number(_0x1dcffb[_0xa26e('0x55')]['id'])});}});}})[_0xa26e('0x1e')](respondWithStatusCode(_0x51360d,null))[_0xa26e('0x53')](handleError(_0x51360d,null));};exports[_0xa26e('0x96')]=function(_0x27fc6e,_0x1ab9ad,_0x42e1f8){var _0x13a8c2={};var _0x527352={};var _0x432b0f;var _0x4a5cba;return db[_0xa26e('0x3d')][_0xa26e('0x63')]({'where':{'id':_0x27fc6e[_0xa26e('0x55')]['id']}})[_0xa26e('0x1e')](handleEntityNotFound(_0x1ab9ad,null))['then'](function(_0x5a43f5){if(_0x5a43f5){_0x432b0f=_0x5a43f5;_0x527352[_0xa26e('0x44')]=_[_0xa26e('0x42')](db[_0xa26e('0x66')]['rawAttributes']);_0x527352[_0xa26e('0x41')]=_[_0xa26e('0x42')](_0x27fc6e['query']);_0x527352[_0xa26e('0x4b')]=_[_0xa26e('0x43')](_0x527352[_0xa26e('0x44')],_0x527352[_0xa26e('0x41')]);_0x13a8c2[_0xa26e('0x45')]=_[_0xa26e('0x43')](_0x527352['model'],qs[_0xa26e('0x46')](_0x27fc6e['query'][_0xa26e('0x46')]));_0x13a8c2[_0xa26e('0x45')]=_0x13a8c2[_0xa26e('0x45')][_0xa26e('0x57')]?_0x13a8c2[_0xa26e('0x45')]:_0x527352[_0xa26e('0x44')];_0x13a8c2['order']=qs[_0xa26e('0x48')](_0x27fc6e['query'][_0xa26e('0x48')]);_0x13a8c2[_0xa26e('0x49')]=qs[_0xa26e('0x4b')](_[_0xa26e('0x4a')](_0x27fc6e[_0xa26e('0x41')],_0x527352[_0xa26e('0x4b')]));if(_0x27fc6e[_0xa26e('0x41')][_0xa26e('0x4c')]){_0x13a8c2[_0xa26e('0x49')]=_[_0xa26e('0x4d')](_0x13a8c2['where'],{'$or':_[_0xa26e('0x3c')](_0x13a8c2[_0xa26e('0x45')],function(_0x59096d){var _0x43129e={};_0x43129e[_0x59096d]={'$like':'%'+_0x27fc6e[_0xa26e('0x41')][_0xa26e('0x4c')]+'%'};return _0x43129e;})});}_0x13a8c2=_['merge']({},_0x13a8c2,_0x27fc6e[_0xa26e('0x58')]);return _0x432b0f['getAgents'](_0x13a8c2);}})[_0xa26e('0x1e')](function(_0x2a8640){if(_0x2a8640){_0x4a5cba=_0x2a8640[_0xa26e('0x57')];if(!_0x27fc6e[_0xa26e('0x41')][_0xa26e('0x65')]('nolimit')){_0x13a8c2[_0xa26e('0x2d')]=qs['limit'](_0x27fc6e['query'][_0xa26e('0x2d')]);_0x13a8c2[_0xa26e('0x2b')]=qs[_0xa26e('0x2b')](_0x27fc6e[_0xa26e('0x41')][_0xa26e('0x2b')]);}return _0x432b0f[_0xa26e('0x96')](_0x13a8c2);}})[_0xa26e('0x1e')](function(_0x50a7d7){if(_0x50a7d7){return _0x50a7d7?{'count':_0x4a5cba,'rows':_0x50a7d7}:null;}})[_0xa26e('0x1e')](respondWithResult(_0x1ab9ad,null))[_0xa26e('0x53')](handleError(_0x1ab9ad,null));};