Built motion from commit (unavailable).|2.5.22
[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 _0xbf7e=['team_has_chat_queues','join','user_has_teams','clone','ut.UserId\x20=\x20?','push','SELECT','every','TeamId','includes','all','union','compact','value','transaction','isEmpty','addAgents','omit','spread','removeAgents','isArray','userChatQueue:remove','getAgents','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','./chatQueue.socket','register','jayson/promise','client','http','request','then','info','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','error','message','result','catch','status','end','json','count','offset','limit','set','Content-Range','apply','reject','update','destroy','get','ChatQueues','name','index','map','ChatQueue','rawAttributes','fieldName','key','model','query','filters','intersection','fields','attributes','length','order','sort','where','filter','merge','VIRTUAL','options','includeAll','findAll','rows','show','params','keys','include','find','create','body','user','role','UserProfileSection','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMembers','findOne','UserChatQueue','hasOwnProperty','nolimit','pick','ChatQueueId','User','UserId','agent','chatPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','ids','interface','flatMap','Agents','sequelize','addTeams','findOrCreate','forEach','emit','userChatQueue:save','removeTeams','field','tq.TeamId','from'];(function(_0x15f852,_0x530d85){var _0x387460=function(_0x4aa3df){while(--_0x4aa3df){_0x15f852['push'](_0x15f852['shift']());}};_0x387460(++_0x530d85);}(_0xbf7e,0xb0));var _0xebf7=function(_0x2de30b,_0x450092){_0x2de30b=_0x2de30b-0x0;var _0x1c3e78=_0xbf7e[_0x2de30b];return _0x1c3e78;};'use strict';var pdf=require(_0xebf7('0x0'));var emlformat=require(_0xebf7('0x1'));var rimraf=require(_0xebf7('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xebf7('0x3'));var rp=require(_0xebf7('0x4'));var moment=require('moment');var BPromise=require(_0xebf7('0x5'));var Mustache=require(_0xebf7('0x6'));var util=require(_0xebf7('0x7'));var path=require(_0xebf7('0x8'));var sox=require(_0xebf7('0x9'));var csv=require(_0xebf7('0xa'));var ejs=require(_0xebf7('0xb'));var fs=require('fs');var _=require(_0xebf7('0xc'));var squel=require(_0xebf7('0xd'));var crypto=require(_0xebf7('0xe'));var jsforce=require(_0xebf7('0xf'));var deskjs=require(_0xebf7('0x10'));var toCsv=require(_0xebf7('0xa'));var querystring=require(_0xebf7('0x11'));var Papa=require('papaparse');var Redis=require(_0xebf7('0x12'));var authService=require(_0xebf7('0x13'));var qs=require(_0xebf7('0x14'));var as=require(_0xebf7('0x15'));var hardwareService=require(_0xebf7('0x16'));var logger=require('../../config/logger')(_0xebf7('0x17'));var utils=require(_0xebf7('0x18'));var config=require(_0xebf7('0x19'));var licenseUtil=require('../../config/license/util');var db=require(_0xebf7('0x1a'))['db'];config[_0xebf7('0x1b')]=_[_0xebf7('0x1c')](config[_0xebf7('0x1b')],{'host':_0xebf7('0x1d'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config['redis']));require(_0xebf7('0x1e'))[_0xebf7('0x1f')](socket);var jayson=require(_0xebf7('0x20'));var client=jayson[_0xebf7('0x21')][_0xebf7('0x22')]({'port':0x232a});function respondWithRpcPromise(_0x244bcf,_0x2ffdcf,_0x2deaba,_0x5af253){return new BPromise(function(_0x4ee11e,_0x288597){var _0x24690b=_0x5af253||client;return _0x24690b[_0xebf7('0x23')](_0x244bcf,_0x2deaba)[_0xebf7('0x24')](function(_0x14d192){logger[_0xebf7('0x25')](_0xebf7('0x26'),_0x2ffdcf,_0xebf7('0x27'));logger[_0xebf7('0x28')](_0xebf7('0x29'),_0x2ffdcf,_0xebf7('0x27'),JSON['stringify'](_0x14d192));if(_0x14d192[_0xebf7('0x2a')]){if(_0x14d192[_0xebf7('0x2a')]['code']===0x1f4){logger[_0xebf7('0x2a')](_0xebf7('0x26'),_0x2ffdcf,_0x14d192[_0xebf7('0x2a')][_0xebf7('0x2b')]);return _0x288597(_0x14d192['error'][_0xebf7('0x2b')]);}logger['error']('ChatQueue,\x20%s,\x20%s',_0x2ffdcf,_0x14d192[_0xebf7('0x2a')][_0xebf7('0x2b')]);return _0x4ee11e(_0x14d192['error']['message']);}else{logger[_0xebf7('0x25')](_0xebf7('0x26'),_0x2ffdcf,_0xebf7('0x27'));_0x4ee11e(_0x14d192[_0xebf7('0x2c')][_0xebf7('0x2b')]);}})[_0xebf7('0x2d')](function(_0x50eb19){logger[_0xebf7('0x2a')]('ChatQueue,\x20%s,\x20%s',_0x2ffdcf,_0x50eb19);_0x288597(_0x50eb19);});});}function respondWithStatusCode(_0x22cbf0,_0x226ebc){_0x226ebc=_0x226ebc||0xcc;return function(_0x532665){if(_0x532665){return _0x22cbf0['sendStatus'](_0x226ebc);}return _0x22cbf0[_0xebf7('0x2e')](_0x226ebc)[_0xebf7('0x2f')]();};}function respondWithResult(_0x1fd59a,_0x1c495a){_0x1c495a=_0x1c495a||0xc8;return function(_0x223fe3){if(_0x223fe3){return _0x1fd59a[_0xebf7('0x2e')](_0x1c495a)[_0xebf7('0x30')](_0x223fe3);}};}function respondWithFilteredResult(_0x2fbdde,_0xb06026){return function(_0x51a4ce){if(_0x51a4ce){var _0x3f7283=_0x51a4ce[_0xebf7('0x31')],_0x1afd51=_0xb06026[_0xebf7('0x32')],_0x3dc2aa=_0xb06026[_0xebf7('0x32')]+_0xb06026[_0xebf7('0x33')],_0x1718b5;if(_0x3dc2aa>=_0x3f7283){_0x3dc2aa=_0x3f7283;_0x1718b5=0xc8;}else{_0x1718b5=0xce;}_0x2fbdde[_0xebf7('0x2e')](_0x1718b5);return _0x2fbdde[_0xebf7('0x34')](_0xebf7('0x35'),_0x1afd51+'-'+_0x3dc2aa+'/'+_0x3f7283)[_0xebf7('0x30')](_0x51a4ce);}return null;};}function patchUpdates(_0x5b335c){return function(_0x479ec6){try{jsonpatch[_0xebf7('0x36')](_0x479ec6,_0x5b335c,!![]);}catch(_0x5b205f){return BPromise[_0xebf7('0x37')](_0x5b205f);}return _0x479ec6['save']();};}function saveUpdates(_0x4f04be,_0x41648d){return function(_0xc246bb){if(_0xc246bb){return _0xc246bb[_0xebf7('0x38')](_0x4f04be)[_0xebf7('0x24')](function(_0x1c94b1){return _0x1c94b1;});}return null;};}function removeEntity(_0x19f277,_0x34f7a8){return function(_0x40e176){if(_0x40e176){return _0x40e176[_0xebf7('0x39')]()['then'](function(){var _0x5ca514=_0x40e176[_0xebf7('0x3a')]({'plain':!![]});var _0x5567d5=_0xebf7('0x3b');return db['UserProfileResource']['destroy']({'where':{'type':_0x5567d5,'resourceId':_0x5ca514['id']}})[_0xebf7('0x24')](function(){return _0x40e176;});})[_0xebf7('0x24')](function(){_0x19f277['status'](0xcc)[_0xebf7('0x2f')]();});}};}function handleEntityNotFound(_0x387ed7,_0x1878ac){return function(_0x59b24c){if(!_0x59b24c){_0x387ed7['sendStatus'](0x194);}return _0x59b24c;};}function handleError(_0x38fc7a,_0xd3b1ea){_0xd3b1ea=_0xd3b1ea||0x1f4;return function(_0x12343a){logger[_0xebf7('0x2a')](_0x12343a['stack']);if(_0x12343a[_0xebf7('0x3c')]){delete _0x12343a['name'];}_0x38fc7a['status'](_0xd3b1ea)['send'](_0x12343a);};}exports[_0xebf7('0x3d')]=function(_0x51951c,_0x1bd6fb){var _0x4fbd5d={},_0x1feaa0={},_0x2c3a4c={'count':0x0,'rows':[]};var _0x4cfce0=_[_0xebf7('0x3e')](db[_0xebf7('0x3f')][_0xebf7('0x40')],function(_0x219deb){return{'name':_0x219deb[_0xebf7('0x41')],'type':_0x219deb['type'][_0xebf7('0x42')]};});_0x1feaa0[_0xebf7('0x43')]=_[_0xebf7('0x3e')](_0x4cfce0,_0xebf7('0x3c'));_0x1feaa0[_0xebf7('0x44')]=_['keys'](_0x51951c[_0xebf7('0x44')]);_0x1feaa0[_0xebf7('0x45')]=_[_0xebf7('0x46')](_0x1feaa0[_0xebf7('0x43')],_0x1feaa0[_0xebf7('0x44')]);_0x4fbd5d['attributes']=_[_0xebf7('0x46')](_0x1feaa0['model'],qs[_0xebf7('0x47')](_0x51951c['query']['fields']));_0x4fbd5d[_0xebf7('0x48')]=_0x4fbd5d[_0xebf7('0x48')][_0xebf7('0x49')]?_0x4fbd5d[_0xebf7('0x48')]:_0x1feaa0['model'];if(!_0x51951c[_0xebf7('0x44')]['hasOwnProperty']('nolimit')){_0x4fbd5d['limit']=qs[_0xebf7('0x33')](_0x51951c[_0xebf7('0x44')][_0xebf7('0x33')]);_0x4fbd5d['offset']=qs['offset'](_0x51951c['query'][_0xebf7('0x32')]);}_0x4fbd5d[_0xebf7('0x4a')]=qs[_0xebf7('0x4b')](_0x51951c[_0xebf7('0x44')][_0xebf7('0x4b')]);_0x4fbd5d[_0xebf7('0x4c')]=qs[_0xebf7('0x45')](_['pick'](_0x51951c[_0xebf7('0x44')],_0x1feaa0[_0xebf7('0x45')]),_0x4cfce0);if(_0x51951c['query'][_0xebf7('0x4d')]){_0x4fbd5d[_0xebf7('0x4c')]=_[_0xebf7('0x4e')](_0x4fbd5d[_0xebf7('0x4c')],{'$or':_[_0xebf7('0x3e')](_0x4cfce0,function(_0x22c21c){if(_0x22c21c['type']!==_0xebf7('0x4f')){var _0x5d3e77={};_0x5d3e77[_0x22c21c[_0xebf7('0x3c')]]={'$like':'%'+_0x51951c['query'][_0xebf7('0x4d')]+'%'};return _0x5d3e77;}})});}_0x4fbd5d=_[_0xebf7('0x4e')]({},_0x4fbd5d,_0x51951c[_0xebf7('0x50')]);var _0x555a5d={'where':_0x4fbd5d[_0xebf7('0x4c')]};return db['ChatQueue'][_0xebf7('0x31')](_0x555a5d)[_0xebf7('0x24')](function(_0xf35ed5){_0x2c3a4c[_0xebf7('0x31')]=_0xf35ed5;if(_0x51951c[_0xebf7('0x44')][_0xebf7('0x51')]){_0x4fbd5d['include']=[{'all':!![]}];}return db[_0xebf7('0x3f')][_0xebf7('0x52')](_0x4fbd5d);})['then'](function(_0x2ce3d0){_0x2c3a4c[_0xebf7('0x53')]=_0x2ce3d0;return _0x2c3a4c;})['then'](respondWithFilteredResult(_0x1bd6fb,_0x4fbd5d))[_0xebf7('0x2d')](handleError(_0x1bd6fb,null));};exports[_0xebf7('0x54')]=function(_0x25108a,_0x58318b){var _0x5f21e2={'raw':!![],'where':{'id':_0x25108a[_0xebf7('0x55')]['id']}},_0x9fc058={};_0x9fc058[_0xebf7('0x43')]=_[_0xebf7('0x56')](db[_0xebf7('0x3f')][_0xebf7('0x40')]);_0x9fc058[_0xebf7('0x44')]=_['keys'](_0x25108a[_0xebf7('0x44')]);_0x9fc058['filters']=_[_0xebf7('0x46')](_0x9fc058[_0xebf7('0x43')],_0x9fc058['query']);_0x5f21e2[_0xebf7('0x48')]=_[_0xebf7('0x46')](_0x9fc058['model'],qs['fields'](_0x25108a['query'][_0xebf7('0x47')]));_0x5f21e2[_0xebf7('0x48')]=_0x5f21e2[_0xebf7('0x48')][_0xebf7('0x49')]?_0x5f21e2['attributes']:_0x9fc058[_0xebf7('0x43')];if(_0x25108a[_0xebf7('0x44')][_0xebf7('0x51')]){_0x5f21e2[_0xebf7('0x57')]=[{'all':!![]}];}_0x5f21e2=_['merge']({},_0x5f21e2,_0x25108a[_0xebf7('0x50')]);return db[_0xebf7('0x3f')][_0xebf7('0x58')](_0x5f21e2)[_0xebf7('0x24')](handleEntityNotFound(_0x58318b,null))[_0xebf7('0x24')](respondWithResult(_0x58318b,null))[_0xebf7('0x2d')](handleError(_0x58318b,null));};exports[_0xebf7('0x59')]=function(_0xe810d8,_0x3099c1){return db[_0xebf7('0x3f')][_0xebf7('0x59')](_0xe810d8[_0xebf7('0x5a')],{})[_0xebf7('0x24')](function(_0x19170a){var _0x5ee7a7=_0xe810d8[_0xebf7('0x5b')]['get']({'plain':!![]});if(!_0x5ee7a7)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x5ee7a7[_0xebf7('0x5c')]==='user'){var _0x40d50e=_0x19170a[_0xebf7('0x3a')]({'plain':!![]});var _0x2579c7=_0xebf7('0x3b');return db[_0xebf7('0x5d')][_0xebf7('0x58')]({'where':{'name':_0x2579c7,'userProfileId':_0x5ee7a7[_0xebf7('0x5e')]},'raw':!![]})['then'](function(_0x158196){if(_0x158196&&_0x158196[_0xebf7('0x5f')]===0x0){return db[_0xebf7('0x60')][_0xebf7('0x59')]({'name':_0x40d50e[_0xebf7('0x3c')],'resourceId':_0x40d50e['id'],'type':_0x158196[_0xebf7('0x3c')],'sectionId':_0x158196['id']},{})[_0xebf7('0x24')](function(){return _0x19170a;});}else{return _0x19170a;}})[_0xebf7('0x2d')](function(_0x56ff9d){logger['error'](_0xebf7('0x61'),_0x56ff9d);throw _0x56ff9d;});}return _0x19170a;})[_0xebf7('0x24')](respondWithResult(_0x3099c1,0xc9))['catch'](handleError(_0x3099c1,null));};exports[_0xebf7('0x38')]=function(_0x12ff4b,_0x18b070){if(_0x12ff4b['body']['id']){delete _0x12ff4b[_0xebf7('0x5a')]['id'];}return db['ChatQueue'][_0xebf7('0x58')]({'where':{'id':_0x12ff4b[_0xebf7('0x55')]['id']}})[_0xebf7('0x24')](handleEntityNotFound(_0x18b070,null))[_0xebf7('0x24')](saveUpdates(_0x12ff4b['body'],null))[_0xebf7('0x24')](respondWithResult(_0x18b070,null))[_0xebf7('0x2d')](handleError(_0x18b070,null));};exports[_0xebf7('0x39')]=function(_0x59fe82,_0x1bfa5e){return db[_0xebf7('0x3f')][_0xebf7('0x58')]({'where':{'id':_0x59fe82[_0xebf7('0x55')]['id']}})['then'](handleEntityNotFound(_0x1bfa5e,null))[_0xebf7('0x24')](removeEntity(_0x1bfa5e,null))[_0xebf7('0x2d')](handleError(_0x1bfa5e,null));};exports['describe']=function(_0x2e93d6,_0x358f83){return db[_0xebf7('0x3f')]['describe']()[_0xebf7('0x24')](respondWithResult(_0x358f83,null))[_0xebf7('0x2d')](handleError(_0x358f83,null));};exports[_0xebf7('0x62')]=function(_0x28254d,_0x480d61,_0x1877ee){var _0x382380={'raw':!![],'where':{}},_0x15d548={},_0x313fe1;return db[_0xebf7('0x3f')][_0xebf7('0x63')]({'where':{'id':_0x28254d[_0xebf7('0x55')]['id']}})['then'](handleEntityNotFound(_0x480d61,null))[_0xebf7('0x24')](function(_0x558ea7){if(_0x558ea7){_0x313fe1=_0x558ea7['get']({'plain':!![]});_0x15d548['model']=_['keys'](db[_0xebf7('0x64')][_0xebf7('0x40')]);_0x15d548[_0xebf7('0x44')]=_[_0xebf7('0x56')](_0x28254d[_0xebf7('0x44')]);_0x15d548[_0xebf7('0x45')]=_['intersection'](_0x15d548['model'],_0x15d548['query']);_0x382380[_0xebf7('0x48')]=_[_0xebf7('0x46')](_0x15d548[_0xebf7('0x43')],qs[_0xebf7('0x47')](_0x28254d[_0xebf7('0x44')][_0xebf7('0x47')]));_0x382380[_0xebf7('0x48')]=_0x382380[_0xebf7('0x48')][_0xebf7('0x49')]?_0x382380['attributes']:_0x15d548['model'];if(!_0x28254d[_0xebf7('0x44')][_0xebf7('0x65')](_0xebf7('0x66'))){_0x382380['limit']=qs[_0xebf7('0x33')](_0x28254d[_0xebf7('0x44')][_0xebf7('0x33')]);_0x382380[_0xebf7('0x32')]=qs[_0xebf7('0x32')](_0x28254d[_0xebf7('0x44')]['offset']);}_0x382380['order']=qs[_0xebf7('0x4b')](_0x28254d['query']['sort']);_0x382380[_0xebf7('0x4c')]=qs['filters'](_[_0xebf7('0x67')](_0x28254d[_0xebf7('0x44')],_0x15d548[_0xebf7('0x45')]));_0x382380[_0xebf7('0x4c')][_0xebf7('0x68')]=_0x558ea7['id'];if(_0x28254d[_0xebf7('0x44')][_0xebf7('0x4d')]){_0x382380[_0xebf7('0x4c')]=_[_0xebf7('0x4e')](_0x382380[_0xebf7('0x4c')],{'$or':_[_0xebf7('0x3e')](_0x382380[_0xebf7('0x48')],function(_0x3da04a){var _0x224b20={};_0x224b20[_0x3da04a]={'$like':'%'+_0x28254d[_0xebf7('0x44')][_0xebf7('0x4d')]+'%'};return _0x224b20;})});}_0x382380=_[_0xebf7('0x4e')]({},_0x382380,_0x28254d[_0xebf7('0x50')]);return db['UserChatQueue'][_0xebf7('0x52')](_0x382380);}})['then'](function(_0x42f171){if(_0x42f171){return db[_0xebf7('0x69')]['findAndCountAll']({'where':{'id':_[_0xebf7('0x3e')](_0x42f171,_0xebf7('0x6a')),'role':_0xebf7('0x6b')},'attributes':['id',_0xebf7('0x3c'),_0xebf7('0x6c'),_0xebf7('0x6d'),_0xebf7('0x6e')]});}})['then'](function(_0x4955e8){if(_0x4955e8){return{'count':_0x4955e8[_0xebf7('0x31')],'rows':_[_0xebf7('0x3e')](_0x4955e8[_0xebf7('0x53')],function(_0x295eb8){return{'membername':_0x295eb8['name'],'UserId':_0x295eb8['id'],'queue_name':_0x313fe1[_0xebf7('0x3c')],'ChatQueueId':_0x313fe1['id'],'interface':util[_0xebf7('0x6f')](_0xebf7('0x70'),_0xebf7('0x71'),_0x295eb8[_0xebf7('0x3c')]),'penalty':0x0,'paused':_0x295eb8['chatPause'],'createdAt':_0x295eb8[_0xebf7('0x6e')],'updatedAt':_0x295eb8[_0xebf7('0x6d')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x480d61,_0x382380))[_0xebf7('0x2d')](handleError(_0x480d61,null));};exports[_0xebf7('0x72')]=function(_0x50d58b,_0xf32601,_0x4ee52d){var _0xda96ae={};var _0x4610f3={};var _0x1ee2da;var _0x164a13;return db['ChatQueue']['findOne']({'where':{'id':_0x50d58b[_0xebf7('0x55')]['id']}})[_0xebf7('0x24')](handleEntityNotFound(_0xf32601,null))[_0xebf7('0x24')](function(_0x24180a){if(_0x24180a){_0x1ee2da=_0x24180a;_0x4610f3['model']=_[_0xebf7('0x56')](db[_0xebf7('0x73')][_0xebf7('0x40')]);_0x4610f3[_0xebf7('0x44')]=_[_0xebf7('0x56')](_0x50d58b[_0xebf7('0x44')]);_0x4610f3['filters']=_[_0xebf7('0x46')](_0x4610f3['model'],_0x4610f3['query']);_0xda96ae['attributes']=_[_0xebf7('0x46')](_0x4610f3['model'],qs[_0xebf7('0x47')](_0x50d58b['query'][_0xebf7('0x47')]));_0xda96ae['attributes']=_0xda96ae['attributes'][_0xebf7('0x49')]?_0xda96ae[_0xebf7('0x48')]:_0x4610f3[_0xebf7('0x43')];_0xda96ae['order']=qs['sort'](_0x50d58b[_0xebf7('0x44')][_0xebf7('0x4b')]);_0xda96ae[_0xebf7('0x4c')]=qs[_0xebf7('0x45')](_[_0xebf7('0x67')](_0x50d58b[_0xebf7('0x44')],_0x4610f3['filters']));if(_0x50d58b['query'][_0xebf7('0x4d')]){_0xda96ae[_0xebf7('0x4c')]=_[_0xebf7('0x4e')](_0xda96ae[_0xebf7('0x4c')],{'$or':_[_0xebf7('0x3e')](_0xda96ae[_0xebf7('0x48')],function(_0x16ed25){var _0x1d0572={};_0x1d0572[_0x16ed25]={'$like':'%'+_0x50d58b[_0xebf7('0x44')][_0xebf7('0x4d')]+'%'};return _0x1d0572;})});}_0xda96ae=_[_0xebf7('0x4e')]({},_0xda96ae,_0x50d58b['options']);return _0x1ee2da[_0xebf7('0x72')](_0xda96ae);}})['then'](function(_0x10e793){if(_0x10e793){_0x164a13=_0x10e793[_0xebf7('0x49')];if(!_0x50d58b[_0xebf7('0x44')][_0xebf7('0x65')](_0xebf7('0x66'))){_0xda96ae[_0xebf7('0x33')]=qs[_0xebf7('0x33')](_0x50d58b['query']['limit']);_0xda96ae[_0xebf7('0x32')]=qs[_0xebf7('0x32')](_0x50d58b[_0xebf7('0x44')][_0xebf7('0x32')]);}return _0x1ee2da['getTeams'](_0xda96ae);}})[_0xebf7('0x24')](function(_0x4c8d44){if(_0x4c8d44){return _0x4c8d44?{'count':_0x164a13,'rows':_0x4c8d44}:null;}})[_0xebf7('0x24')](respondWithResult(_0xf32601,null))[_0xebf7('0x2d')](handleError(_0xf32601,null));};exports['addTeams']=function(_0x21c346,_0x43d930,_0x2cd661){var _0x1a31de=_0x21c346[_0xebf7('0x5a')][_0xebf7('0x74')];return db['Team'][_0xebf7('0x52')]({'where':{'id':_0x1a31de},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id',_0xebf7('0x3c'),'online','voicePause',_0xebf7('0x75')],'raw':!![]}]})[_0xebf7('0x24')](function(_0x4a888d){if(_0x4a888d){var _0x31e01c=_[_0xebf7('0x76')](_0x4a888d,function(_0x95d6a1){var _0x121079=_0x95d6a1[_0xebf7('0x3a')]({'plain':!![]});return _0x121079[_0xebf7('0x77')];});return db[_0xebf7('0x3f')][_0xebf7('0x58')]({'where':{'id':_0x21c346[_0xebf7('0x55')]['id']}})[_0xebf7('0x24')](function(_0x3db872){return db[_0xebf7('0x78')]['transaction'](function(_0x503e25){return _0x3db872[_0xebf7('0x79')](_0x1a31de,{'transaction':_0x503e25})[_0xebf7('0x24')](function(){return BPromise['each'](_0x31e01c,function(_0x1b327a){return db['UserChatQueue'][_0xebf7('0x7a')]({'where':{'UserId':_0x1b327a['id'],'ChatQueueId':_0x21c346['params']['id']},'transaction':_0x503e25});});})['then'](function(){_0x31e01c[_0xebf7('0x7b')](function(_0x3f0e2b){socket[_0xebf7('0x7c')](_0xebf7('0x7d'),{'UserId':_0x3f0e2b['id'],'ChatQueueId':_0x3db872['id']});});});});});}})[_0xebf7('0x24')](respondWithStatusCode(_0x43d930,null))[_0xebf7('0x2d')](handleError(_0x43d930,null));};exports[_0xebf7('0x7e')]=function(_0x32afb7,_0x1829fd,_0x440b4d){return db[_0xebf7('0x73')][_0xebf7('0x52')]({'where':{'id':_0x32afb7['query'][_0xebf7('0x74')]},'attributes':['id'],'include':[{'model':db[_0xebf7('0x69')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xebf7('0x24')](handleEntityNotFound(_0x1829fd,null))[_0xebf7('0x24')](function(_0x220033){var _0x108dce=_['map'](_0x220033,'id');var _0x462b32=[];var _0x1841b4=[];var _0xc33411=squel['select']();_0xc33411[_0xebf7('0x7f')](_0xebf7('0x80'))[_0xebf7('0x81')](_0xebf7('0x82'),'tq')[_0xebf7('0x83')](_0xebf7('0x84'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xebf7('0x4c')]('ChatQueueId\x20=\x20?',_0x32afb7[_0xebf7('0x55')]['id']);for(var _0x1ce259=0x0;_0x1ce259<_0x220033[_0xebf7('0x49')];_0x1ce259+=0x1){let _0x2f6167=_0x220033[_0x1ce259];for(var _0x3f2263=0x0;_0x3f2263<_0x2f6167['Agents']['length'];_0x3f2263+=0x1){let _0x62214f=_0x2f6167[_0xebf7('0x77')][_0x3f2263];var _0x5d205e=_0xc33411[_0xebf7('0x85')]();_0x5d205e[_0xebf7('0x4c')](_0xebf7('0x86'),_0x62214f['id']);_0x1841b4[_0xebf7('0x87')](db[_0xebf7('0x78')][_0xebf7('0x44')](_0x5d205e['toString'](),{'type':db[_0xebf7('0x78')]['QueryTypes'][_0xebf7('0x88')]})['then'](function(_0x1b9fba){if(_0x1b9fba[_0xebf7('0x49')]===0x1){return _0x62214f['id'];}else{var _0x210b3d=_[_0xebf7('0x89')](_[_0xebf7('0x3e')](_0x1b9fba,_0xebf7('0x8a')),function(_0x1201e0){return _[_0xebf7('0x8b')](_0x108dce,_0x1201e0);});if(_0x210b3d){return _0x62214f['id'];}}}));}}return BPromise[_0xebf7('0x8c')](_0x1841b4)[_0xebf7('0x24')](function(_0x2e9551){_0x462b32=_(_0x462b32)[_0xebf7('0x8d')](_0x2e9551)[_0xebf7('0x8e')]()[_0xebf7('0x8f')]();return db[_0xebf7('0x3f')][_0xebf7('0x58')]({'where':{'id':_0x32afb7[_0xebf7('0x55')]['id']}})[_0xebf7('0x24')](function(_0x2b3d8a){return db[_0xebf7('0x78')][_0xebf7('0x90')](function(_0x824998){return _0x2b3d8a[_0xebf7('0x7e')](_0x32afb7[_0xebf7('0x44')][_0xebf7('0x74')],{'transaction':_0x824998})[_0xebf7('0x24')](function(){if(!_[_0xebf7('0x91')](_0x462b32)){return _0x2b3d8a['removeAgents'](_0x462b32,{'transaction':_0x824998});}})['then'](function(){_0x462b32[_0xebf7('0x7b')](function(_0x3b9788){socket['emit']('userChatQueue:remove',{'UserId':_0x3b9788,'ChatQueueId':_0x2b3d8a['id']});});});});});});})[_0xebf7('0x24')](respondWithStatusCode(_0x1829fd,null))[_0xebf7('0x2d')](handleError(_0x1829fd,null));};exports[_0xebf7('0x92')]=function(_0x2a4bf3,_0x27d829,_0x5c5c84){return db[_0xebf7('0x3f')][_0xebf7('0x58')]({'where':{'id':_0x2a4bf3[_0xebf7('0x55')]['id']}})[_0xebf7('0x24')](handleEntityNotFound(_0x27d829,null))['then'](function(_0x1f4d84){if(_0x1f4d84){return _0x1f4d84['addAgents'](_0x2a4bf3[_0xebf7('0x5a')][_0xebf7('0x74')],_[_0xebf7('0x93')](_0x2a4bf3[_0xebf7('0x5a')],[_0xebf7('0x74'),'id'])||{})[_0xebf7('0x94')](function(_0x15d71e){for(var _0x56dbb9=0x0;_0x56dbb9<_0x2a4bf3[_0xebf7('0x5a')][_0xebf7('0x74')][_0xebf7('0x49')];_0x56dbb9+=0x1){socket['emit']('userChatQueue:save',{'UserId':_0x2a4bf3[_0xebf7('0x5a')]['ids'][_0x56dbb9],'ChatQueueId':_0x2a4bf3['params']['id']});}return _0x15d71e;});}})['then'](respondWithResult(_0x27d829,null))['catch'](handleError(_0x27d829,null));};exports[_0xebf7('0x95')]=function(_0x36385f,_0x415937,_0x366b5b){return db[_0xebf7('0x3f')][_0xebf7('0x58')]({'where':{'id':_0x36385f[_0xebf7('0x55')]['id']}})[_0xebf7('0x24')](handleEntityNotFound(_0x415937,null))[_0xebf7('0x24')](function(_0x39b6f1){if(_0x39b6f1){return _0x39b6f1[_0xebf7('0x95')](_0x36385f[_0xebf7('0x44')][_0xebf7('0x74')])[_0xebf7('0x24')](function(){if(_[_0xebf7('0x96')](_0x36385f[_0xebf7('0x44')][_0xebf7('0x74')])){for(var _0x14e2e6=0x0;_0x14e2e6<_0x36385f['query'][_0xebf7('0x74')]['length'];_0x14e2e6+=0x1){socket[_0xebf7('0x7c')](_0xebf7('0x97'),{'UserId':Number(_0x36385f['query']['ids'][_0x14e2e6]),'ChatQueueId':Number(_0x36385f[_0xebf7('0x55')]['id'])});}}else{socket[_0xebf7('0x7c')]('userChatQueue:remove',{'UserId':Number(_0x36385f[_0xebf7('0x44')]['ids']),'ChatQueueId':Number(_0x36385f['params']['id'])});}});}})[_0xebf7('0x24')](respondWithStatusCode(_0x415937,null))[_0xebf7('0x2d')](handleError(_0x415937,null));};exports[_0xebf7('0x98')]=function(_0x37b7d7,_0x2c6c2e,_0x529a26){var _0xa434af={};var _0x2caa82={};var _0xaf6244;var _0x2e987f;return db[_0xebf7('0x3f')]['findOne']({'where':{'id':_0x37b7d7[_0xebf7('0x55')]['id']}})[_0xebf7('0x24')](handleEntityNotFound(_0x2c6c2e,null))[_0xebf7('0x24')](function(_0x5b4554){if(_0x5b4554){_0xaf6244=_0x5b4554;_0x2caa82[_0xebf7('0x43')]=_['keys'](db[_0xebf7('0x69')][_0xebf7('0x40')]);_0x2caa82['query']=_[_0xebf7('0x56')](_0x37b7d7['query']);_0x2caa82[_0xebf7('0x45')]=_['intersection'](_0x2caa82[_0xebf7('0x43')],_0x2caa82[_0xebf7('0x44')]);_0xa434af['attributes']=_[_0xebf7('0x46')](_0x2caa82['model'],qs[_0xebf7('0x47')](_0x37b7d7[_0xebf7('0x44')][_0xebf7('0x47')]));_0xa434af[_0xebf7('0x48')]=_0xa434af['attributes']['length']?_0xa434af[_0xebf7('0x48')]:_0x2caa82[_0xebf7('0x43')];_0xa434af[_0xebf7('0x4a')]=qs[_0xebf7('0x4b')](_0x37b7d7[_0xebf7('0x44')][_0xebf7('0x4b')]);_0xa434af['where']=qs[_0xebf7('0x45')](_['pick'](_0x37b7d7[_0xebf7('0x44')],_0x2caa82[_0xebf7('0x45')]));if(_0x37b7d7[_0xebf7('0x44')][_0xebf7('0x4d')]){_0xa434af['where']=_[_0xebf7('0x4e')](_0xa434af['where'],{'$or':_[_0xebf7('0x3e')](_0xa434af[_0xebf7('0x48')],function(_0x5740f3){var _0x4452ba={};_0x4452ba[_0x5740f3]={'$like':'%'+_0x37b7d7[_0xebf7('0x44')][_0xebf7('0x4d')]+'%'};return _0x4452ba;})});}_0xa434af=_[_0xebf7('0x4e')]({},_0xa434af,_0x37b7d7['options']);return _0xaf6244[_0xebf7('0x98')](_0xa434af);}})[_0xebf7('0x24')](function(_0x2e0cc0){if(_0x2e0cc0){_0x2e987f=_0x2e0cc0[_0xebf7('0x49')];if(!_0x37b7d7['query'][_0xebf7('0x65')](_0xebf7('0x66'))){_0xa434af[_0xebf7('0x33')]=qs['limit'](_0x37b7d7[_0xebf7('0x44')]['limit']);_0xa434af['offset']=qs[_0xebf7('0x32')](_0x37b7d7[_0xebf7('0x44')]['offset']);}return _0xaf6244[_0xebf7('0x98')](_0xa434af);}})[_0xebf7('0x24')](function(_0xc76f19){if(_0xc76f19){return _0xc76f19?{'count':_0x2e987f,'rows':_0xc76f19}:null;}})[_0xebf7('0x24')](respondWithResult(_0x2c6c2e,null))[_0xebf7('0x2d')](handleError(_0x2c6c2e,null));};