Built motion from commit (unavailable).|2.5.5
[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 _0xbf96=['%s/%s','SIP','getTeams','findOne','ids','Team','Agents','online','interface','flatMap','addTeams','each','findOrCreate','forEach','emit','userChatQueue:save','select','field','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','push','sequelize','toString','QueryTypes','SELECT','every','TeamId','includes','union','value','removeTeams','isEmpty','userChatQueue:remove','omit','spread','removeAgents','isArray','getAgents','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','sox','to-csv','ejs','squel','crypto','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','register','jayson/promise','client','http','request','then','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','message','info','result','catch','sendStatus','end','status','count','offset','limit','Content-Range','json','apply','save','update','destroy','get','ChatQueues','UserProfileResource','stack','name','send','index','map','rawAttributes','fieldName','type','key','model','keys','filters','attributes','fields','query','nolimit','sort','where','pick','merge','options','ChatQueue','includeAll','findAll','rows','show','params','intersection','length','include','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','hasOwnProperty','order','ChatQueueId','filter','UserChatQueue','User','findAndCountAll','UserId','agent','chatPause','updatedAt','createdAt','format'];(function(_0x19dd7a,_0x2b8d4f){var _0x43b25c=function(_0x1d5d35){while(--_0x1d5d35){_0x19dd7a['push'](_0x19dd7a['shift']());}};_0x43b25c(++_0x2b8d4f);}(_0xbf96,0xc6));var _0x6bf9=function(_0x323a99,_0x4736dc){_0x323a99=_0x323a99-0x0;var _0x29c23f=_0xbf96[_0x323a99];return _0x29c23f;};'use strict';var pdf=require(_0x6bf9('0x0'));var emlformat=require(_0x6bf9('0x1'));var rimraf=require(_0x6bf9('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0x6bf9('0x3'));var rp=require(_0x6bf9('0x4'));var moment=require(_0x6bf9('0x5'));var BPromise=require(_0x6bf9('0x6'));var Mustache=require(_0x6bf9('0x7'));var util=require(_0x6bf9('0x8'));var path=require('path');var sox=require(_0x6bf9('0x9'));var csv=require(_0x6bf9('0xa'));var ejs=require(_0x6bf9('0xb'));var fs=require('fs');var _=require('lodash');var squel=require(_0x6bf9('0xc'));var crypto=require(_0x6bf9('0xd'));var jsforce=require('jsforce');var deskjs=require(_0x6bf9('0xe'));var toCsv=require(_0x6bf9('0xa'));var querystring=require(_0x6bf9('0xf'));var Papa=require(_0x6bf9('0x10'));var Redis=require('ioredis');var authService=require(_0x6bf9('0x11'));var qs=require(_0x6bf9('0x12'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x6bf9('0x13'))('api');var utils=require('../../config/utils');var config=require(_0x6bf9('0x14'));var licenseUtil=require(_0x6bf9('0x15'));var db=require(_0x6bf9('0x16'))['db'];config[_0x6bf9('0x17')]=_[_0x6bf9('0x18')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x6bf9('0x17')]));require('./chatQueue.socket')[_0x6bf9('0x19')](socket);var jayson=require(_0x6bf9('0x1a'));var client=jayson[_0x6bf9('0x1b')][_0x6bf9('0x1c')]({'port':0x232a});function respondWithRpcPromise(_0x2a34f1,_0x39e655,_0x36292d,_0x2f6f98){return new BPromise(function(_0x4c2411,_0x2919c2){var _0x1f7d7=_0x2f6f98||client;return _0x1f7d7[_0x6bf9('0x1d')](_0x2a34f1,_0x36292d)[_0x6bf9('0x1e')](function(_0x148485){logger['info'](_0x6bf9('0x1f'),_0x39e655,_0x6bf9('0x20'));logger[_0x6bf9('0x21')](_0x6bf9('0x22'),_0x39e655,_0x6bf9('0x20'),JSON[_0x6bf9('0x23')](_0x148485));if(_0x148485[_0x6bf9('0x24')]){if(_0x148485['error'][_0x6bf9('0x25')]===0x1f4){logger[_0x6bf9('0x24')](_0x6bf9('0x1f'),_0x39e655,_0x148485[_0x6bf9('0x24')][_0x6bf9('0x26')]);return _0x2919c2(_0x148485['error']['message']);}logger[_0x6bf9('0x24')](_0x6bf9('0x1f'),_0x39e655,_0x148485['error'][_0x6bf9('0x26')]);return _0x4c2411(_0x148485[_0x6bf9('0x24')][_0x6bf9('0x26')]);}else{logger[_0x6bf9('0x27')]('ChatQueue,\x20%s,\x20%s',_0x39e655,_0x6bf9('0x20'));_0x4c2411(_0x148485[_0x6bf9('0x28')][_0x6bf9('0x26')]);}})[_0x6bf9('0x29')](function(_0x32ecac){logger[_0x6bf9('0x24')](_0x6bf9('0x1f'),_0x39e655,_0x32ecac);_0x2919c2(_0x32ecac);});});}function respondWithStatusCode(_0x2a6217,_0x43cb77){_0x43cb77=_0x43cb77||0xcc;return function(_0x442f63){if(_0x442f63){return _0x2a6217[_0x6bf9('0x2a')](_0x43cb77);}return _0x2a6217['status'](_0x43cb77)[_0x6bf9('0x2b')]();};}function respondWithResult(_0x20ff55,_0x20baae){_0x20baae=_0x20baae||0xc8;return function(_0xfb049a){if(_0xfb049a){return _0x20ff55[_0x6bf9('0x2c')](_0x20baae)['json'](_0xfb049a);}};}function respondWithFilteredResult(_0x82d4e2,_0x2f312a){return function(_0x9a1445){if(_0x9a1445){var _0xdf34d3=_0x9a1445[_0x6bf9('0x2d')],_0x249d78=_0x2f312a[_0x6bf9('0x2e')],_0x4f2110=_0x2f312a[_0x6bf9('0x2e')]+_0x2f312a[_0x6bf9('0x2f')],_0x1439c2;if(_0x4f2110>=_0xdf34d3){_0x4f2110=_0xdf34d3;_0x1439c2=0xc8;}else{_0x1439c2=0xce;}_0x82d4e2[_0x6bf9('0x2c')](_0x1439c2);return _0x82d4e2['set'](_0x6bf9('0x30'),_0x249d78+'-'+_0x4f2110+'/'+_0xdf34d3)[_0x6bf9('0x31')](_0x9a1445);}return null;};}function patchUpdates(_0x2c8f70){return function(_0x735488){try{jsonpatch[_0x6bf9('0x32')](_0x735488,_0x2c8f70,!![]);}catch(_0x18b268){return BPromise['reject'](_0x18b268);}return _0x735488[_0x6bf9('0x33')]();};}function saveUpdates(_0x326373,_0x49b4c0){return function(_0x3f664d){if(_0x3f664d){return _0x3f664d[_0x6bf9('0x34')](_0x326373)[_0x6bf9('0x1e')](function(_0x26161d){return _0x26161d;});}return null;};}function removeEntity(_0x525878,_0x13b0d0){return function(_0x2853c5){if(_0x2853c5){return _0x2853c5[_0x6bf9('0x35')]()[_0x6bf9('0x1e')](function(){var _0x485796=_0x2853c5[_0x6bf9('0x36')]({'plain':!![]});var _0x298138=_0x6bf9('0x37');return db[_0x6bf9('0x38')][_0x6bf9('0x35')]({'where':{'type':_0x298138,'resourceId':_0x485796['id']}})['then'](function(){return _0x2853c5;});})['then'](function(){_0x525878[_0x6bf9('0x2c')](0xcc)[_0x6bf9('0x2b')]();});}};}function handleEntityNotFound(_0x1216b1,_0x249696){return function(_0xacccc6){if(!_0xacccc6){_0x1216b1[_0x6bf9('0x2a')](0x194);}return _0xacccc6;};}function handleError(_0x3b370d,_0x2718ac){_0x2718ac=_0x2718ac||0x1f4;return function(_0x2b6e0c){logger['error'](_0x2b6e0c[_0x6bf9('0x39')]);if(_0x2b6e0c[_0x6bf9('0x3a')]){delete _0x2b6e0c[_0x6bf9('0x3a')];}_0x3b370d[_0x6bf9('0x2c')](_0x2718ac)[_0x6bf9('0x3b')](_0x2b6e0c);};}exports[_0x6bf9('0x3c')]=function(_0x4dc02f,_0x1a6844){var _0xdb5477={},_0x180b12={},_0x4912f3={'count':0x0,'rows':[]};var _0x14dfa4=_[_0x6bf9('0x3d')](db['ChatQueue'][_0x6bf9('0x3e')],function(_0x4c9f38){return{'name':_0x4c9f38[_0x6bf9('0x3f')],'type':_0x4c9f38[_0x6bf9('0x40')][_0x6bf9('0x41')]};});_0x180b12[_0x6bf9('0x42')]=_[_0x6bf9('0x3d')](_0x14dfa4,_0x6bf9('0x3a'));_0x180b12['query']=_[_0x6bf9('0x43')](_0x4dc02f['query']);_0x180b12[_0x6bf9('0x44')]=_['intersection'](_0x180b12['model'],_0x180b12['query']);_0xdb5477[_0x6bf9('0x45')]=_['intersection'](_0x180b12['model'],qs[_0x6bf9('0x46')](_0x4dc02f['query'][_0x6bf9('0x46')]));_0xdb5477[_0x6bf9('0x45')]=_0xdb5477['attributes']['length']?_0xdb5477[_0x6bf9('0x45')]:_0x180b12[_0x6bf9('0x42')];if(!_0x4dc02f[_0x6bf9('0x47')]['hasOwnProperty'](_0x6bf9('0x48'))){_0xdb5477['limit']=qs[_0x6bf9('0x2f')](_0x4dc02f[_0x6bf9('0x47')][_0x6bf9('0x2f')]);_0xdb5477['offset']=qs[_0x6bf9('0x2e')](_0x4dc02f['query'][_0x6bf9('0x2e')]);}_0xdb5477['order']=qs[_0x6bf9('0x49')](_0x4dc02f['query'][_0x6bf9('0x49')]);_0xdb5477[_0x6bf9('0x4a')]=qs[_0x6bf9('0x44')](_[_0x6bf9('0x4b')](_0x4dc02f['query'],_0x180b12[_0x6bf9('0x44')]),_0x14dfa4);if(_0x4dc02f['query']['filter']){_0xdb5477[_0x6bf9('0x4a')]=_[_0x6bf9('0x4c')](_0xdb5477[_0x6bf9('0x4a')],{'$or':_[_0x6bf9('0x3d')](_0x14dfa4,function(_0x475129){if(_0x475129['type']!=='VIRTUAL'){var _0x4aa413={};_0x4aa413[_0x475129['name']]={'$like':'%'+_0x4dc02f[_0x6bf9('0x47')]['filter']+'%'};return _0x4aa413;}})});}_0xdb5477=_[_0x6bf9('0x4c')]({},_0xdb5477,_0x4dc02f[_0x6bf9('0x4d')]);var _0x3dba15={'where':_0xdb5477[_0x6bf9('0x4a')]};return db[_0x6bf9('0x4e')][_0x6bf9('0x2d')](_0x3dba15)['then'](function(_0x11dd74){_0x4912f3[_0x6bf9('0x2d')]=_0x11dd74;if(_0x4dc02f['query'][_0x6bf9('0x4f')]){_0xdb5477['include']=[{'all':!![]}];}return db[_0x6bf9('0x4e')][_0x6bf9('0x50')](_0xdb5477);})[_0x6bf9('0x1e')](function(_0x2739fc){_0x4912f3[_0x6bf9('0x51')]=_0x2739fc;return _0x4912f3;})['then'](respondWithFilteredResult(_0x1a6844,_0xdb5477))[_0x6bf9('0x29')](handleError(_0x1a6844,null));};exports[_0x6bf9('0x52')]=function(_0x4fe001,_0x1b181b){var _0x5eca26={'raw':!![],'where':{'id':_0x4fe001[_0x6bf9('0x53')]['id']}},_0xae1907={};_0xae1907[_0x6bf9('0x42')]=_[_0x6bf9('0x43')](db['ChatQueue']['rawAttributes']);_0xae1907['query']=_[_0x6bf9('0x43')](_0x4fe001['query']);_0xae1907['filters']=_[_0x6bf9('0x54')](_0xae1907[_0x6bf9('0x42')],_0xae1907['query']);_0x5eca26[_0x6bf9('0x45')]=_['intersection'](_0xae1907['model'],qs[_0x6bf9('0x46')](_0x4fe001[_0x6bf9('0x47')][_0x6bf9('0x46')]));_0x5eca26['attributes']=_0x5eca26['attributes'][_0x6bf9('0x55')]?_0x5eca26[_0x6bf9('0x45')]:_0xae1907[_0x6bf9('0x42')];if(_0x4fe001[_0x6bf9('0x47')][_0x6bf9('0x4f')]){_0x5eca26[_0x6bf9('0x56')]=[{'all':!![]}];}_0x5eca26=_['merge']({},_0x5eca26,_0x4fe001[_0x6bf9('0x4d')]);return db[_0x6bf9('0x4e')][_0x6bf9('0x57')](_0x5eca26)['then'](handleEntityNotFound(_0x1b181b,null))[_0x6bf9('0x1e')](respondWithResult(_0x1b181b,null))['catch'](handleError(_0x1b181b,null));};exports['create']=function(_0x3d95c0,_0x55b811){return db[_0x6bf9('0x4e')][_0x6bf9('0x58')](_0x3d95c0['body'],{})['then'](function(_0x271d75){var _0x43b96a=_0x3d95c0[_0x6bf9('0x59')][_0x6bf9('0x36')]({'plain':!![]});if(!_0x43b96a)throw new Error(_0x6bf9('0x5a'));if(_0x43b96a[_0x6bf9('0x5b')]==='user'){var _0xd9d633=_0x271d75[_0x6bf9('0x36')]({'plain':!![]});var _0x19787c=_0x6bf9('0x37');return db['UserProfileSection'][_0x6bf9('0x57')]({'where':{'name':_0x19787c,'userProfileId':_0x43b96a[_0x6bf9('0x5c')]},'raw':!![]})[_0x6bf9('0x1e')](function(_0x44417b){if(_0x44417b&&_0x44417b[_0x6bf9('0x5d')]===0x0){return db[_0x6bf9('0x38')][_0x6bf9('0x58')]({'name':_0xd9d633['name'],'resourceId':_0xd9d633['id'],'type':_0x44417b[_0x6bf9('0x3a')],'sectionId':_0x44417b['id']},{})[_0x6bf9('0x1e')](function(){return _0x271d75;});}else{return _0x271d75;}})[_0x6bf9('0x29')](function(_0x285438){logger['error'](_0x6bf9('0x5e'),_0x285438);throw _0x285438;});}return _0x271d75;})['then'](respondWithResult(_0x55b811,0xc9))[_0x6bf9('0x29')](handleError(_0x55b811,null));};exports[_0x6bf9('0x34')]=function(_0x4b2374,_0x29f66e){if(_0x4b2374[_0x6bf9('0x5f')]['id']){delete _0x4b2374[_0x6bf9('0x5f')]['id'];}return db[_0x6bf9('0x4e')][_0x6bf9('0x57')]({'where':{'id':_0x4b2374[_0x6bf9('0x53')]['id']}})[_0x6bf9('0x1e')](handleEntityNotFound(_0x29f66e,null))[_0x6bf9('0x1e')](saveUpdates(_0x4b2374[_0x6bf9('0x5f')],null))[_0x6bf9('0x1e')](respondWithResult(_0x29f66e,null))[_0x6bf9('0x29')](handleError(_0x29f66e,null));};exports[_0x6bf9('0x35')]=function(_0x77b3a9,_0x1a808a){return db[_0x6bf9('0x4e')][_0x6bf9('0x57')]({'where':{'id':_0x77b3a9[_0x6bf9('0x53')]['id']}})[_0x6bf9('0x1e')](handleEntityNotFound(_0x1a808a,null))[_0x6bf9('0x1e')](removeEntity(_0x1a808a,null))[_0x6bf9('0x29')](handleError(_0x1a808a,null));};exports[_0x6bf9('0x60')]=function(_0x45e23f,_0x459c44){return db[_0x6bf9('0x4e')]['describe']()[_0x6bf9('0x1e')](respondWithResult(_0x459c44,null))['catch'](handleError(_0x459c44,null));};exports['getMembers']=function(_0x49b03e,_0x5bb2cd,_0x45da6e){var _0x4e2cc8={'raw':!![],'where':{}},_0x685e1b={},_0x5d262b;return db[_0x6bf9('0x4e')]['findOne']({'where':{'id':_0x49b03e['params']['id']}})[_0x6bf9('0x1e')](handleEntityNotFound(_0x5bb2cd,null))[_0x6bf9('0x1e')](function(_0x159e82){if(_0x159e82){_0x5d262b=_0x159e82[_0x6bf9('0x36')]({'plain':!![]});_0x685e1b[_0x6bf9('0x42')]=_[_0x6bf9('0x43')](db['UserChatQueue'][_0x6bf9('0x3e')]);_0x685e1b[_0x6bf9('0x47')]=_[_0x6bf9('0x43')](_0x49b03e[_0x6bf9('0x47')]);_0x685e1b[_0x6bf9('0x44')]=_[_0x6bf9('0x54')](_0x685e1b['model'],_0x685e1b[_0x6bf9('0x47')]);_0x4e2cc8['attributes']=_['intersection'](_0x685e1b['model'],qs[_0x6bf9('0x46')](_0x49b03e[_0x6bf9('0x47')][_0x6bf9('0x46')]));_0x4e2cc8[_0x6bf9('0x45')]=_0x4e2cc8[_0x6bf9('0x45')][_0x6bf9('0x55')]?_0x4e2cc8[_0x6bf9('0x45')]:_0x685e1b[_0x6bf9('0x42')];if(!_0x49b03e[_0x6bf9('0x47')][_0x6bf9('0x61')]('nolimit')){_0x4e2cc8[_0x6bf9('0x2f')]=qs[_0x6bf9('0x2f')](_0x49b03e[_0x6bf9('0x47')][_0x6bf9('0x2f')]);_0x4e2cc8[_0x6bf9('0x2e')]=qs[_0x6bf9('0x2e')](_0x49b03e['query'][_0x6bf9('0x2e')]);}_0x4e2cc8[_0x6bf9('0x62')]=qs['sort'](_0x49b03e['query'][_0x6bf9('0x49')]);_0x4e2cc8[_0x6bf9('0x4a')]=qs['filters'](_[_0x6bf9('0x4b')](_0x49b03e[_0x6bf9('0x47')],_0x685e1b[_0x6bf9('0x44')]));_0x4e2cc8[_0x6bf9('0x4a')][_0x6bf9('0x63')]=_0x159e82['id'];if(_0x49b03e['query'][_0x6bf9('0x64')]){_0x4e2cc8[_0x6bf9('0x4a')]=_[_0x6bf9('0x4c')](_0x4e2cc8[_0x6bf9('0x4a')],{'$or':_[_0x6bf9('0x3d')](_0x4e2cc8[_0x6bf9('0x45')],function(_0x149665){var _0x1a10bb={};_0x1a10bb[_0x149665]={'$like':'%'+_0x49b03e[_0x6bf9('0x47')]['filter']+'%'};return _0x1a10bb;})});}_0x4e2cc8=_['merge']({},_0x4e2cc8,_0x49b03e['options']);return db[_0x6bf9('0x65')][_0x6bf9('0x50')](_0x4e2cc8);}})[_0x6bf9('0x1e')](function(_0xf50a94){if(_0xf50a94){return db[_0x6bf9('0x66')][_0x6bf9('0x67')]({'where':{'id':_[_0x6bf9('0x3d')](_0xf50a94,_0x6bf9('0x68')),'role':_0x6bf9('0x69')},'attributes':['id',_0x6bf9('0x3a'),_0x6bf9('0x6a'),_0x6bf9('0x6b'),_0x6bf9('0x6c')]});}})[_0x6bf9('0x1e')](function(_0x27d70a){if(_0x27d70a){return{'count':_0x27d70a['count'],'rows':_[_0x6bf9('0x3d')](_0x27d70a[_0x6bf9('0x51')],function(_0x7fabee){return{'membername':_0x7fabee[_0x6bf9('0x3a')],'UserId':_0x7fabee['id'],'queue_name':_0x5d262b[_0x6bf9('0x3a')],'ChatQueueId':_0x5d262b['id'],'interface':util[_0x6bf9('0x6d')](_0x6bf9('0x6e'),_0x6bf9('0x6f'),_0x7fabee[_0x6bf9('0x3a')]),'penalty':0x0,'paused':_0x7fabee['chatPause'],'createdAt':_0x7fabee[_0x6bf9('0x6c')],'updatedAt':_0x7fabee[_0x6bf9('0x6b')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x5bb2cd,_0x4e2cc8))[_0x6bf9('0x29')](handleError(_0x5bb2cd,null));};exports[_0x6bf9('0x70')]=function(_0x49534d,_0x54617e,_0x283787){var _0x547afc={};var _0x3e70aa={};var _0x2b2e2e;var _0x3d6795;return db['ChatQueue'][_0x6bf9('0x71')]({'where':{'id':_0x49534d['params']['id']}})[_0x6bf9('0x1e')](handleEntityNotFound(_0x54617e,null))['then'](function(_0x41cda8){if(_0x41cda8){_0x2b2e2e=_0x41cda8;_0x3e70aa['model']=_['keys'](db['Team']['rawAttributes']);_0x3e70aa[_0x6bf9('0x47')]=_['keys'](_0x49534d['query']);_0x3e70aa['filters']=_[_0x6bf9('0x54')](_0x3e70aa[_0x6bf9('0x42')],_0x3e70aa[_0x6bf9('0x47')]);_0x547afc[_0x6bf9('0x45')]=_['intersection'](_0x3e70aa[_0x6bf9('0x42')],qs[_0x6bf9('0x46')](_0x49534d[_0x6bf9('0x47')]['fields']));_0x547afc[_0x6bf9('0x45')]=_0x547afc[_0x6bf9('0x45')][_0x6bf9('0x55')]?_0x547afc[_0x6bf9('0x45')]:_0x3e70aa[_0x6bf9('0x42')];_0x547afc[_0x6bf9('0x62')]=qs[_0x6bf9('0x49')](_0x49534d[_0x6bf9('0x47')][_0x6bf9('0x49')]);_0x547afc['where']=qs[_0x6bf9('0x44')](_[_0x6bf9('0x4b')](_0x49534d['query'],_0x3e70aa[_0x6bf9('0x44')]));if(_0x49534d['query']['filter']){_0x547afc[_0x6bf9('0x4a')]=_['merge'](_0x547afc[_0x6bf9('0x4a')],{'$or':_[_0x6bf9('0x3d')](_0x547afc[_0x6bf9('0x45')],function(_0x470ee4){var _0x53a7bc={};_0x53a7bc[_0x470ee4]={'$like':'%'+_0x49534d[_0x6bf9('0x47')][_0x6bf9('0x64')]+'%'};return _0x53a7bc;})});}_0x547afc=_[_0x6bf9('0x4c')]({},_0x547afc,_0x49534d[_0x6bf9('0x4d')]);return _0x2b2e2e[_0x6bf9('0x70')](_0x547afc);}})[_0x6bf9('0x1e')](function(_0x24e243){if(_0x24e243){_0x3d6795=_0x24e243[_0x6bf9('0x55')];if(!_0x49534d['query'][_0x6bf9('0x61')](_0x6bf9('0x48'))){_0x547afc['limit']=qs[_0x6bf9('0x2f')](_0x49534d['query']['limit']);_0x547afc[_0x6bf9('0x2e')]=qs[_0x6bf9('0x2e')](_0x49534d[_0x6bf9('0x47')][_0x6bf9('0x2e')]);}return _0x2b2e2e['getTeams'](_0x547afc);}})[_0x6bf9('0x1e')](function(_0x2597b0){if(_0x2597b0){return _0x2597b0?{'count':_0x3d6795,'rows':_0x2597b0}:null;}})['then'](respondWithResult(_0x54617e,null))[_0x6bf9('0x29')](handleError(_0x54617e,null));};exports['addTeams']=function(_0xc4b9ea,_0x947642,_0x5456fd){var _0x427891=_0xc4b9ea['body'][_0x6bf9('0x72')];return db[_0x6bf9('0x73')][_0x6bf9('0x50')]({'where':{'id':_0x427891},'attributes':['id'],'include':[{'model':db[_0x6bf9('0x66')],'as':_0x6bf9('0x74'),'attributes':['id',_0x6bf9('0x3a'),_0x6bf9('0x75'),'voicePause',_0x6bf9('0x76')],'raw':!![]}]})['then'](function(_0x191f19){if(_0x191f19){var _0x2f64af=_[_0x6bf9('0x77')](_0x191f19,function(_0x50c3d2){var _0x29483b=_0x50c3d2[_0x6bf9('0x36')]({'plain':!![]});return _0x29483b[_0x6bf9('0x74')];});return db[_0x6bf9('0x4e')][_0x6bf9('0x57')]({'where':{'id':_0xc4b9ea['params']['id']}})[_0x6bf9('0x1e')](function(_0x391d95){return db['sequelize']['transaction'](function(_0x448ccd){return _0x391d95[_0x6bf9('0x78')](_0x427891,{'transaction':_0x448ccd})[_0x6bf9('0x1e')](function(){return BPromise[_0x6bf9('0x79')](_0x2f64af,function(_0x20dc45){return db[_0x6bf9('0x65')][_0x6bf9('0x7a')]({'where':{'UserId':_0x20dc45['id'],'ChatQueueId':_0xc4b9ea[_0x6bf9('0x53')]['id']},'transaction':_0x448ccd});});})[_0x6bf9('0x1e')](function(){_0x2f64af[_0x6bf9('0x7b')](function(_0x1f1d8e){socket[_0x6bf9('0x7c')](_0x6bf9('0x7d'),{'UserId':_0x1f1d8e['id'],'ChatQueueId':_0x391d95['id']});});});});});}})[_0x6bf9('0x1e')](respondWithStatusCode(_0x947642,null))[_0x6bf9('0x29')](handleError(_0x947642,null));};exports['removeTeams']=function(_0x3a5d66,_0x2f55c2,_0x31e53a){return db[_0x6bf9('0x73')][_0x6bf9('0x50')]({'where':{'id':_0x3a5d66['query'][_0x6bf9('0x72')]},'attributes':['id'],'include':[{'model':db[_0x6bf9('0x66')],'as':'Agents','attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x2f55c2,null))[_0x6bf9('0x1e')](function(_0x5afa18){var _0xf382ad=_[_0x6bf9('0x3d')](_0x5afa18,'id');var _0x2d518f=[];var _0x26256c=[];var _0x16970d=squel[_0x6bf9('0x7e')]();_0x16970d[_0x6bf9('0x7f')](_0x6bf9('0x80'))[_0x6bf9('0x81')](_0x6bf9('0x82'),'tq')[_0x6bf9('0x83')](_0x6bf9('0x84'),'ut',_0x6bf9('0x85'))[_0x6bf9('0x4a')](_0x6bf9('0x86'),_0x3a5d66[_0x6bf9('0x53')]['id']);for(var _0x506b4f=0x0;_0x506b4f<_0x5afa18[_0x6bf9('0x55')];_0x506b4f+=0x1){let _0x270038=_0x5afa18[_0x506b4f];for(var _0x21c17f=0x0;_0x21c17f<_0x270038[_0x6bf9('0x74')][_0x6bf9('0x55')];_0x21c17f+=0x1){let _0x4de11b=_0x270038[_0x6bf9('0x74')][_0x21c17f];var _0x5dc477=_0x16970d[_0x6bf9('0x87')]();_0x5dc477[_0x6bf9('0x4a')]('ut.UserId\x20=\x20?',_0x4de11b['id']);_0x26256c[_0x6bf9('0x88')](db[_0x6bf9('0x89')][_0x6bf9('0x47')](_0x5dc477[_0x6bf9('0x8a')](),{'type':db[_0x6bf9('0x89')][_0x6bf9('0x8b')][_0x6bf9('0x8c')]})[_0x6bf9('0x1e')](function(_0x4aa86d){if(_0x4aa86d[_0x6bf9('0x55')]===0x1){return _0x4de11b['id'];}else{var _0x542fd6=_[_0x6bf9('0x8d')](_[_0x6bf9('0x3d')](_0x4aa86d,_0x6bf9('0x8e')),function(_0x10d8b0){return _[_0x6bf9('0x8f')](_0xf382ad,_0x10d8b0);});if(_0x542fd6){return _0x4de11b['id'];}}}));}}return BPromise['all'](_0x26256c)['then'](function(_0x4a1245){_0x2d518f=_(_0x2d518f)[_0x6bf9('0x90')](_0x4a1245)['compact']()[_0x6bf9('0x91')]();return db[_0x6bf9('0x4e')][_0x6bf9('0x57')]({'where':{'id':_0x3a5d66[_0x6bf9('0x53')]['id']}})[_0x6bf9('0x1e')](function(_0x39f763){return db[_0x6bf9('0x89')]['transaction'](function(_0x116b39){return _0x39f763[_0x6bf9('0x92')](_0x3a5d66['query']['ids'],{'transaction':_0x116b39})['then'](function(){if(!_[_0x6bf9('0x93')](_0x2d518f)){return _0x39f763['removeAgents'](_0x2d518f,{'transaction':_0x116b39});}})[_0x6bf9('0x1e')](function(){_0x2d518f[_0x6bf9('0x7b')](function(_0x19725e){socket[_0x6bf9('0x7c')](_0x6bf9('0x94'),{'UserId':_0x19725e,'ChatQueueId':_0x39f763['id']});});});});});});})[_0x6bf9('0x1e')](respondWithStatusCode(_0x2f55c2,null))[_0x6bf9('0x29')](handleError(_0x2f55c2,null));};exports['addAgents']=function(_0x4e1149,_0x591ad9,_0xdba0bf){return db[_0x6bf9('0x4e')][_0x6bf9('0x57')]({'where':{'id':_0x4e1149[_0x6bf9('0x53')]['id']}})[_0x6bf9('0x1e')](handleEntityNotFound(_0x591ad9,null))[_0x6bf9('0x1e')](function(_0x527717){if(_0x527717){return _0x527717['addAgents'](_0x4e1149[_0x6bf9('0x5f')][_0x6bf9('0x72')],_[_0x6bf9('0x95')](_0x4e1149[_0x6bf9('0x5f')],['ids','id'])||{})[_0x6bf9('0x96')](function(_0x288ab4){for(var _0x2ef22e=0x0;_0x2ef22e<_0x4e1149[_0x6bf9('0x5f')][_0x6bf9('0x72')]['length'];_0x2ef22e+=0x1){socket['emit'](_0x6bf9('0x7d'),{'UserId':_0x4e1149[_0x6bf9('0x5f')][_0x6bf9('0x72')][_0x2ef22e],'ChatQueueId':_0x4e1149[_0x6bf9('0x53')]['id']});}return _0x288ab4;});}})['then'](respondWithResult(_0x591ad9,null))[_0x6bf9('0x29')](handleError(_0x591ad9,null));};exports['removeAgents']=function(_0x5a8a8f,_0x57d09c,_0x5d8eab){return db['ChatQueue']['find']({'where':{'id':_0x5a8a8f[_0x6bf9('0x53')]['id']}})[_0x6bf9('0x1e')](handleEntityNotFound(_0x57d09c,null))[_0x6bf9('0x1e')](function(_0x29b547){if(_0x29b547){return _0x29b547[_0x6bf9('0x97')](_0x5a8a8f[_0x6bf9('0x47')][_0x6bf9('0x72')])[_0x6bf9('0x1e')](function(){if(_[_0x6bf9('0x98')](_0x5a8a8f[_0x6bf9('0x47')][_0x6bf9('0x72')])){for(var _0x461343=0x0;_0x461343<_0x5a8a8f[_0x6bf9('0x47')]['ids'][_0x6bf9('0x55')];_0x461343+=0x1){socket[_0x6bf9('0x7c')](_0x6bf9('0x94'),{'UserId':Number(_0x5a8a8f[_0x6bf9('0x47')][_0x6bf9('0x72')][_0x461343]),'ChatQueueId':Number(_0x5a8a8f[_0x6bf9('0x53')]['id'])});}}else{socket['emit']('userChatQueue:remove',{'UserId':Number(_0x5a8a8f['query'][_0x6bf9('0x72')]),'ChatQueueId':Number(_0x5a8a8f[_0x6bf9('0x53')]['id'])});}});}})[_0x6bf9('0x1e')](respondWithStatusCode(_0x57d09c,null))['catch'](handleError(_0x57d09c,null));};exports['getAgents']=function(_0xea80f0,_0x419a30,_0x7eb74d){var _0x1f29d6={};var _0x103321={};var _0xaa287e;var _0x3993be;return db[_0x6bf9('0x4e')][_0x6bf9('0x71')]({'where':{'id':_0xea80f0[_0x6bf9('0x53')]['id']}})['then'](handleEntityNotFound(_0x419a30,null))[_0x6bf9('0x1e')](function(_0xa83045){if(_0xa83045){_0xaa287e=_0xa83045;_0x103321[_0x6bf9('0x42')]=_[_0x6bf9('0x43')](db[_0x6bf9('0x66')][_0x6bf9('0x3e')]);_0x103321[_0x6bf9('0x47')]=_[_0x6bf9('0x43')](_0xea80f0['query']);_0x103321['filters']=_['intersection'](_0x103321['model'],_0x103321[_0x6bf9('0x47')]);_0x1f29d6[_0x6bf9('0x45')]=_[_0x6bf9('0x54')](_0x103321[_0x6bf9('0x42')],qs[_0x6bf9('0x46')](_0xea80f0[_0x6bf9('0x47')][_0x6bf9('0x46')]));_0x1f29d6['attributes']=_0x1f29d6[_0x6bf9('0x45')][_0x6bf9('0x55')]?_0x1f29d6[_0x6bf9('0x45')]:_0x103321[_0x6bf9('0x42')];_0x1f29d6[_0x6bf9('0x62')]=qs[_0x6bf9('0x49')](_0xea80f0[_0x6bf9('0x47')][_0x6bf9('0x49')]);_0x1f29d6[_0x6bf9('0x4a')]=qs[_0x6bf9('0x44')](_[_0x6bf9('0x4b')](_0xea80f0[_0x6bf9('0x47')],_0x103321['filters']));if(_0xea80f0[_0x6bf9('0x47')][_0x6bf9('0x64')]){_0x1f29d6['where']=_[_0x6bf9('0x4c')](_0x1f29d6['where'],{'$or':_[_0x6bf9('0x3d')](_0x1f29d6[_0x6bf9('0x45')],function(_0x26e7bb){var _0x190d5d={};_0x190d5d[_0x26e7bb]={'$like':'%'+_0xea80f0[_0x6bf9('0x47')][_0x6bf9('0x64')]+'%'};return _0x190d5d;})});}_0x1f29d6=_[_0x6bf9('0x4c')]({},_0x1f29d6,_0xea80f0[_0x6bf9('0x4d')]);return _0xaa287e[_0x6bf9('0x99')](_0x1f29d6);}})['then'](function(_0x24ab04){if(_0x24ab04){_0x3993be=_0x24ab04['length'];if(!_0xea80f0[_0x6bf9('0x47')]['hasOwnProperty'](_0x6bf9('0x48'))){_0x1f29d6[_0x6bf9('0x2f')]=qs[_0x6bf9('0x2f')](_0xea80f0[_0x6bf9('0x47')][_0x6bf9('0x2f')]);_0x1f29d6[_0x6bf9('0x2e')]=qs[_0x6bf9('0x2e')](_0xea80f0['query'][_0x6bf9('0x2e')]);}return _0xaa287e['getAgents'](_0x1f29d6);}})[_0x6bf9('0x1e')](function(_0x586f48){if(_0x586f48){return _0x586f48?{'count':_0x3993be,'rows':_0x586f48}:null;}})[_0x6bf9('0x1e')](respondWithResult(_0x419a30,null))[_0x6bf9('0x29')](handleError(_0x419a30,null));};