Built motion from commit (unavailable).|2.5.14
[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 _0x3cdd=['merge','options','includeAll','include','rows','show','params','rawAttributes','intersection','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','ChatQueues','UserProfileSection','userProfileId','autoAssociation','update','body','describe','getMembers','findOne','UserChatQueue','length','pick','findAll','User','findAndCountAll','UserId','agent','chatPause','updatedAt','createdAt','%s/%s','getTeams','Team','Agents','online','voicePause','interface','flatMap','transaction','addTeams','userChatQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','push','sequelize','QueryTypes','all','union','compact','value','ids','isEmpty','forEach','emit','userChatQueue:remove','addAgents','spread','removeAgents','isArray','getAgents','eml-format','zip-dir','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','papaparse','ioredis','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','./chatQueue.socket','register','client','http','request','then','info','ChatQueue,\x20%s,\x20%s','request\x20sent','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','code','error','message','result','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','get','UserProfileResource','destroy','name','send','index','map','ChatQueue','fieldName','type','key','query','keys','filters','model','fields','attributes','hasOwnProperty','nolimit','order','sort','where','filter','VIRTUAL'];(function(_0x232cf2,_0x4ffb79){var _0x463cec=function(_0x581b60){while(--_0x581b60){_0x232cf2['push'](_0x232cf2['shift']());}};_0x463cec(++_0x4ffb79);}(_0x3cdd,0x176));var _0xd3cd=function(_0x4f4695,_0x440225){_0x4f4695=_0x4f4695-0x0;var _0x1674f8=_0x3cdd[_0x4f4695];return _0x1674f8;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0xd3cd('0x0'));var rimraf=require('rimraf');var zipdir=require(_0xd3cd('0x1'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0xd3cd('0x2'));var BPromise=require(_0xd3cd('0x3'));var Mustache=require(_0xd3cd('0x4'));var util=require(_0xd3cd('0x5'));var path=require(_0xd3cd('0x6'));var sox=require(_0xd3cd('0x7'));var csv=require(_0xd3cd('0x8'));var ejs=require(_0xd3cd('0x9'));var fs=require('fs');var _=require(_0xd3cd('0xa'));var squel=require(_0xd3cd('0xb'));var crypto=require(_0xd3cd('0xc'));var jsforce=require(_0xd3cd('0xd'));var deskjs=require('desk.js');var toCsv=require(_0xd3cd('0x8'));var querystring=require('querystring');var Papa=require(_0xd3cd('0xe'));var Redis=require(_0xd3cd('0xf'));var authService=require('../../components/auth/service');var qs=require(_0xd3cd('0x10'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd3cd('0x11'));var logger=require(_0xd3cd('0x12'))(_0xd3cd('0x13'));var utils=require(_0xd3cd('0x14'));var config=require(_0xd3cd('0x15'));var licenseUtil=require(_0xd3cd('0x16'));var db=require(_0xd3cd('0x17'))['db'];config['redis']=_[_0xd3cd('0x18')](config[_0xd3cd('0x19')],{'host':_0xd3cd('0x1a'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xd3cd('0x19')]));require(_0xd3cd('0x1b'))[_0xd3cd('0x1c')](socket);var jayson=require('jayson/promise');var client=jayson[_0xd3cd('0x1d')][_0xd3cd('0x1e')]({'port':0x232a});function respondWithRpcPromise(_0x371b2a,_0x37b299,_0x2cbc42,_0x50cfc6){return new BPromise(function(_0x1b1d70,_0x3b2591){var _0x1418e8=_0x50cfc6||client;return _0x1418e8[_0xd3cd('0x1f')](_0x371b2a,_0x2cbc42)[_0xd3cd('0x20')](function(_0x28062b){logger[_0xd3cd('0x21')](_0xd3cd('0x22'),_0x37b299,_0xd3cd('0x23'));logger['debug'](_0xd3cd('0x24'),_0x37b299,_0xd3cd('0x23'),JSON[_0xd3cd('0x25')](_0x28062b));if(_0x28062b['error']){if(_0x28062b['error'][_0xd3cd('0x26')]===0x1f4){logger['error'](_0xd3cd('0x22'),_0x37b299,_0x28062b[_0xd3cd('0x27')][_0xd3cd('0x28')]);return _0x3b2591(_0x28062b[_0xd3cd('0x27')][_0xd3cd('0x28')]);}logger[_0xd3cd('0x27')]('ChatQueue,\x20%s,\x20%s',_0x37b299,_0x28062b[_0xd3cd('0x27')][_0xd3cd('0x28')]);return _0x1b1d70(_0x28062b[_0xd3cd('0x27')][_0xd3cd('0x28')]);}else{logger[_0xd3cd('0x21')]('ChatQueue,\x20%s,\x20%s',_0x37b299,_0xd3cd('0x23'));_0x1b1d70(_0x28062b[_0xd3cd('0x29')][_0xd3cd('0x28')]);}})[_0xd3cd('0x2a')](function(_0x221144){logger[_0xd3cd('0x27')]('ChatQueue,\x20%s,\x20%s',_0x37b299,_0x221144);_0x3b2591(_0x221144);});});}function respondWithStatusCode(_0x3f3111,_0x1b3f6e){_0x1b3f6e=_0x1b3f6e||0xcc;return function(_0x4e2517){if(_0x4e2517){return _0x3f3111[_0xd3cd('0x2b')](_0x1b3f6e);}return _0x3f3111[_0xd3cd('0x2c')](_0x1b3f6e)[_0xd3cd('0x2d')]();};}function respondWithResult(_0x489c15,_0x6c7987){_0x6c7987=_0x6c7987||0xc8;return function(_0x52c982){if(_0x52c982){return _0x489c15[_0xd3cd('0x2c')](_0x6c7987)[_0xd3cd('0x2e')](_0x52c982);}};}function respondWithFilteredResult(_0x392e99,_0x5729f8){return function(_0x28333a){if(_0x28333a){var _0x364bf3=_0x28333a[_0xd3cd('0x2f')],_0x2ef240=_0x5729f8[_0xd3cd('0x30')],_0x314ea6=_0x5729f8['offset']+_0x5729f8[_0xd3cd('0x31')],_0x494ad4;if(_0x314ea6>=_0x364bf3){_0x314ea6=_0x364bf3;_0x494ad4=0xc8;}else{_0x494ad4=0xce;}_0x392e99['status'](_0x494ad4);return _0x392e99[_0xd3cd('0x32')](_0xd3cd('0x33'),_0x2ef240+'-'+_0x314ea6+'/'+_0x364bf3)[_0xd3cd('0x2e')](_0x28333a);}return null;};}function patchUpdates(_0x5a0d27){return function(_0x36a06e){try{jsonpatch[_0xd3cd('0x34')](_0x36a06e,_0x5a0d27,!![]);}catch(_0x5e99a2){return BPromise[_0xd3cd('0x35')](_0x5e99a2);}return _0x36a06e[_0xd3cd('0x36')]();};}function saveUpdates(_0x4fb2ad,_0x44e630){return function(_0x3aeab9){if(_0x3aeab9){return _0x3aeab9['update'](_0x4fb2ad)[_0xd3cd('0x20')](function(_0x2abe45){return _0x2abe45;});}return null;};}function removeEntity(_0x388987,_0x1a744b){return function(_0xf6c32d){if(_0xf6c32d){return _0xf6c32d['destroy']()[_0xd3cd('0x20')](function(){var _0x2bb1af=_0xf6c32d[_0xd3cd('0x37')]({'plain':!![]});var _0x3ee6fb='ChatQueues';return db[_0xd3cd('0x38')][_0xd3cd('0x39')]({'where':{'type':_0x3ee6fb,'resourceId':_0x2bb1af['id']}})[_0xd3cd('0x20')](function(){return _0xf6c32d;});})[_0xd3cd('0x20')](function(){_0x388987[_0xd3cd('0x2c')](0xcc)[_0xd3cd('0x2d')]();});}};}function handleEntityNotFound(_0x8ca3f6,_0x26b9c4){return function(_0x2f1277){if(!_0x2f1277){_0x8ca3f6[_0xd3cd('0x2b')](0x194);}return _0x2f1277;};}function handleError(_0x5d1f27,_0x402ccf){_0x402ccf=_0x402ccf||0x1f4;return function(_0xa04edf){logger[_0xd3cd('0x27')](_0xa04edf['stack']);if(_0xa04edf[_0xd3cd('0x3a')]){delete _0xa04edf['name'];}_0x5d1f27[_0xd3cd('0x2c')](_0x402ccf)[_0xd3cd('0x3b')](_0xa04edf);};}exports[_0xd3cd('0x3c')]=function(_0x24ac3d,_0x11aeaf){var _0x168324={},_0x1e6af5={},_0x22543f={'count':0x0,'rows':[]};var _0x25e4c3=_[_0xd3cd('0x3d')](db[_0xd3cd('0x3e')]['rawAttributes'],function(_0x48556c){return{'name':_0x48556c[_0xd3cd('0x3f')],'type':_0x48556c[_0xd3cd('0x40')][_0xd3cd('0x41')]};});_0x1e6af5['model']=_['map'](_0x25e4c3,'name');_0x1e6af5[_0xd3cd('0x42')]=_[_0xd3cd('0x43')](_0x24ac3d[_0xd3cd('0x42')]);_0x1e6af5[_0xd3cd('0x44')]=_['intersection'](_0x1e6af5[_0xd3cd('0x45')],_0x1e6af5[_0xd3cd('0x42')]);_0x168324['attributes']=_['intersection'](_0x1e6af5[_0xd3cd('0x45')],qs[_0xd3cd('0x46')](_0x24ac3d[_0xd3cd('0x42')][_0xd3cd('0x46')]));_0x168324[_0xd3cd('0x47')]=_0x168324[_0xd3cd('0x47')]['length']?_0x168324['attributes']:_0x1e6af5['model'];if(!_0x24ac3d[_0xd3cd('0x42')][_0xd3cd('0x48')](_0xd3cd('0x49'))){_0x168324['limit']=qs[_0xd3cd('0x31')](_0x24ac3d[_0xd3cd('0x42')][_0xd3cd('0x31')]);_0x168324['offset']=qs[_0xd3cd('0x30')](_0x24ac3d[_0xd3cd('0x42')]['offset']);}_0x168324[_0xd3cd('0x4a')]=qs[_0xd3cd('0x4b')](_0x24ac3d['query'][_0xd3cd('0x4b')]);_0x168324[_0xd3cd('0x4c')]=qs[_0xd3cd('0x44')](_['pick'](_0x24ac3d[_0xd3cd('0x42')],_0x1e6af5[_0xd3cd('0x44')]),_0x25e4c3);if(_0x24ac3d[_0xd3cd('0x42')][_0xd3cd('0x4d')]){_0x168324[_0xd3cd('0x4c')]=_['merge'](_0x168324[_0xd3cd('0x4c')],{'$or':_[_0xd3cd('0x3d')](_0x25e4c3,function(_0x557f9f){if(_0x557f9f['type']!==_0xd3cd('0x4e')){var _0x12e8e1={};_0x12e8e1[_0x557f9f[_0xd3cd('0x3a')]]={'$like':'%'+_0x24ac3d[_0xd3cd('0x42')][_0xd3cd('0x4d')]+'%'};return _0x12e8e1;}})});}_0x168324=_[_0xd3cd('0x4f')]({},_0x168324,_0x24ac3d[_0xd3cd('0x50')]);var _0x27f0af={'where':_0x168324[_0xd3cd('0x4c')]};return db[_0xd3cd('0x3e')][_0xd3cd('0x2f')](_0x27f0af)['then'](function(_0x312572){_0x22543f['count']=_0x312572;if(_0x24ac3d['query'][_0xd3cd('0x51')]){_0x168324[_0xd3cd('0x52')]=[{'all':!![]}];}return db[_0xd3cd('0x3e')]['findAll'](_0x168324);})['then'](function(_0x676813){_0x22543f[_0xd3cd('0x53')]=_0x676813;return _0x22543f;})[_0xd3cd('0x20')](respondWithFilteredResult(_0x11aeaf,_0x168324))[_0xd3cd('0x2a')](handleError(_0x11aeaf,null));};exports[_0xd3cd('0x54')]=function(_0x243ed1,_0x5e3725){var _0x5e3b35={'raw':!![],'where':{'id':_0x243ed1[_0xd3cd('0x55')]['id']}},_0x52a0a1={};_0x52a0a1[_0xd3cd('0x45')]=_['keys'](db[_0xd3cd('0x3e')][_0xd3cd('0x56')]);_0x52a0a1[_0xd3cd('0x42')]=_[_0xd3cd('0x43')](_0x243ed1['query']);_0x52a0a1[_0xd3cd('0x44')]=_[_0xd3cd('0x57')](_0x52a0a1[_0xd3cd('0x45')],_0x52a0a1[_0xd3cd('0x42')]);_0x5e3b35[_0xd3cd('0x47')]=_['intersection'](_0x52a0a1[_0xd3cd('0x45')],qs[_0xd3cd('0x46')](_0x243ed1[_0xd3cd('0x42')]['fields']));_0x5e3b35[_0xd3cd('0x47')]=_0x5e3b35[_0xd3cd('0x47')]['length']?_0x5e3b35[_0xd3cd('0x47')]:_0x52a0a1[_0xd3cd('0x45')];if(_0x243ed1[_0xd3cd('0x42')][_0xd3cd('0x51')]){_0x5e3b35[_0xd3cd('0x52')]=[{'all':!![]}];}_0x5e3b35=_[_0xd3cd('0x4f')]({},_0x5e3b35,_0x243ed1[_0xd3cd('0x50')]);return db['ChatQueue'][_0xd3cd('0x58')](_0x5e3b35)[_0xd3cd('0x20')](handleEntityNotFound(_0x5e3725,null))[_0xd3cd('0x20')](respondWithResult(_0x5e3725,null))['catch'](handleError(_0x5e3725,null));};exports[_0xd3cd('0x59')]=function(_0x27072b,_0x12e29e){return db[_0xd3cd('0x3e')][_0xd3cd('0x59')](_0x27072b['body'],{})[_0xd3cd('0x20')](function(_0x319891){var _0x184f97=_0x27072b[_0xd3cd('0x5a')][_0xd3cd('0x37')]({'plain':!![]});if(!_0x184f97)throw new Error(_0xd3cd('0x5b'));if(_0x184f97['role']===_0xd3cd('0x5a')){var _0x53c7ca=_0x319891[_0xd3cd('0x37')]({'plain':!![]});var _0xc5691d=_0xd3cd('0x5c');return db[_0xd3cd('0x5d')][_0xd3cd('0x58')]({'where':{'name':_0xc5691d,'userProfileId':_0x184f97[_0xd3cd('0x5e')]},'raw':!![]})['then'](function(_0x4cb0c8){if(_0x4cb0c8&&_0x4cb0c8[_0xd3cd('0x5f')]===0x0){return db['UserProfileResource'][_0xd3cd('0x59')]({'name':_0x53c7ca[_0xd3cd('0x3a')],'resourceId':_0x53c7ca['id'],'type':_0x4cb0c8[_0xd3cd('0x3a')],'sectionId':_0x4cb0c8['id']},{})[_0xd3cd('0x20')](function(){return _0x319891;});}else{return _0x319891;}})['catch'](function(_0x16dd22){logger[_0xd3cd('0x27')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x16dd22);throw _0x16dd22;});}return _0x319891;})[_0xd3cd('0x20')](respondWithResult(_0x12e29e,0xc9))[_0xd3cd('0x2a')](handleError(_0x12e29e,null));};exports[_0xd3cd('0x60')]=function(_0x2c66f1,_0x5b8f1d){if(_0x2c66f1['body']['id']){delete _0x2c66f1[_0xd3cd('0x61')]['id'];}return db[_0xd3cd('0x3e')][_0xd3cd('0x58')]({'where':{'id':_0x2c66f1['params']['id']}})[_0xd3cd('0x20')](handleEntityNotFound(_0x5b8f1d,null))[_0xd3cd('0x20')](saveUpdates(_0x2c66f1[_0xd3cd('0x61')],null))['then'](respondWithResult(_0x5b8f1d,null))[_0xd3cd('0x2a')](handleError(_0x5b8f1d,null));};exports['destroy']=function(_0x2edf7c,_0x54d649){return db[_0xd3cd('0x3e')][_0xd3cd('0x58')]({'where':{'id':_0x2edf7c[_0xd3cd('0x55')]['id']}})[_0xd3cd('0x20')](handleEntityNotFound(_0x54d649,null))[_0xd3cd('0x20')](removeEntity(_0x54d649,null))[_0xd3cd('0x2a')](handleError(_0x54d649,null));};exports[_0xd3cd('0x62')]=function(_0x3eae2a,_0x5ed138){return db[_0xd3cd('0x3e')][_0xd3cd('0x62')]()['then'](respondWithResult(_0x5ed138,null))[_0xd3cd('0x2a')](handleError(_0x5ed138,null));};exports[_0xd3cd('0x63')]=function(_0x38a2ee,_0x279674,_0x334fd6){var _0x12a6d3={'raw':!![],'where':{}},_0xff8bdf={},_0x36aa70;return db['ChatQueue'][_0xd3cd('0x64')]({'where':{'id':_0x38a2ee[_0xd3cd('0x55')]['id']}})[_0xd3cd('0x20')](handleEntityNotFound(_0x279674,null))['then'](function(_0x41614a){if(_0x41614a){_0x36aa70=_0x41614a['get']({'plain':!![]});_0xff8bdf['model']=_['keys'](db[_0xd3cd('0x65')][_0xd3cd('0x56')]);_0xff8bdf[_0xd3cd('0x42')]=_[_0xd3cd('0x43')](_0x38a2ee[_0xd3cd('0x42')]);_0xff8bdf['filters']=_['intersection'](_0xff8bdf[_0xd3cd('0x45')],_0xff8bdf['query']);_0x12a6d3[_0xd3cd('0x47')]=_[_0xd3cd('0x57')](_0xff8bdf[_0xd3cd('0x45')],qs[_0xd3cd('0x46')](_0x38a2ee['query']['fields']));_0x12a6d3['attributes']=_0x12a6d3[_0xd3cd('0x47')][_0xd3cd('0x66')]?_0x12a6d3['attributes']:_0xff8bdf[_0xd3cd('0x45')];if(!_0x38a2ee[_0xd3cd('0x42')][_0xd3cd('0x48')](_0xd3cd('0x49'))){_0x12a6d3['limit']=qs[_0xd3cd('0x31')](_0x38a2ee['query']['limit']);_0x12a6d3[_0xd3cd('0x30')]=qs[_0xd3cd('0x30')](_0x38a2ee['query'][_0xd3cd('0x30')]);}_0x12a6d3[_0xd3cd('0x4a')]=qs[_0xd3cd('0x4b')](_0x38a2ee[_0xd3cd('0x42')]['sort']);_0x12a6d3[_0xd3cd('0x4c')]=qs[_0xd3cd('0x44')](_[_0xd3cd('0x67')](_0x38a2ee[_0xd3cd('0x42')],_0xff8bdf[_0xd3cd('0x44')]));_0x12a6d3[_0xd3cd('0x4c')]['ChatQueueId']=_0x41614a['id'];if(_0x38a2ee[_0xd3cd('0x42')]['filter']){_0x12a6d3[_0xd3cd('0x4c')]=_[_0xd3cd('0x4f')](_0x12a6d3[_0xd3cd('0x4c')],{'$or':_[_0xd3cd('0x3d')](_0x12a6d3['attributes'],function(_0x271c0d){var _0x381055={};_0x381055[_0x271c0d]={'$like':'%'+_0x38a2ee['query'][_0xd3cd('0x4d')]+'%'};return _0x381055;})});}_0x12a6d3=_[_0xd3cd('0x4f')]({},_0x12a6d3,_0x38a2ee[_0xd3cd('0x50')]);return db['UserChatQueue'][_0xd3cd('0x68')](_0x12a6d3);}})[_0xd3cd('0x20')](function(_0x19f42d){if(_0x19f42d){return db[_0xd3cd('0x69')][_0xd3cd('0x6a')]({'where':{'id':_[_0xd3cd('0x3d')](_0x19f42d,_0xd3cd('0x6b')),'role':_0xd3cd('0x6c')},'attributes':['id',_0xd3cd('0x3a'),_0xd3cd('0x6d'),_0xd3cd('0x6e'),_0xd3cd('0x6f')]});}})[_0xd3cd('0x20')](function(_0x1a8a4f){if(_0x1a8a4f){return{'count':_0x1a8a4f['count'],'rows':_['map'](_0x1a8a4f[_0xd3cd('0x53')],function(_0x12e66d){return{'membername':_0x12e66d[_0xd3cd('0x3a')],'UserId':_0x12e66d['id'],'queue_name':_0x36aa70[_0xd3cd('0x3a')],'ChatQueueId':_0x36aa70['id'],'interface':util['format'](_0xd3cd('0x70'),'SIP',_0x12e66d[_0xd3cd('0x3a')]),'penalty':0x0,'paused':_0x12e66d[_0xd3cd('0x6d')],'createdAt':_0x12e66d[_0xd3cd('0x6f')],'updatedAt':_0x12e66d[_0xd3cd('0x6e')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x279674,_0x12a6d3))[_0xd3cd('0x2a')](handleError(_0x279674,null));};exports[_0xd3cd('0x71')]=function(_0x1b9eb5,_0xd19ba2,_0x434158){var _0x22197d={};var _0x28e424={};var _0x32022e;var _0x26d048;return db['ChatQueue']['findOne']({'where':{'id':_0x1b9eb5[_0xd3cd('0x55')]['id']}})[_0xd3cd('0x20')](handleEntityNotFound(_0xd19ba2,null))[_0xd3cd('0x20')](function(_0x17bed7){if(_0x17bed7){_0x32022e=_0x17bed7;_0x28e424['model']=_[_0xd3cd('0x43')](db[_0xd3cd('0x72')][_0xd3cd('0x56')]);_0x28e424[_0xd3cd('0x42')]=_[_0xd3cd('0x43')](_0x1b9eb5[_0xd3cd('0x42')]);_0x28e424[_0xd3cd('0x44')]=_[_0xd3cd('0x57')](_0x28e424[_0xd3cd('0x45')],_0x28e424[_0xd3cd('0x42')]);_0x22197d[_0xd3cd('0x47')]=_[_0xd3cd('0x57')](_0x28e424[_0xd3cd('0x45')],qs[_0xd3cd('0x46')](_0x1b9eb5[_0xd3cd('0x42')][_0xd3cd('0x46')]));_0x22197d[_0xd3cd('0x47')]=_0x22197d['attributes'][_0xd3cd('0x66')]?_0x22197d['attributes']:_0x28e424[_0xd3cd('0x45')];_0x22197d['order']=qs[_0xd3cd('0x4b')](_0x1b9eb5[_0xd3cd('0x42')][_0xd3cd('0x4b')]);_0x22197d['where']=qs[_0xd3cd('0x44')](_[_0xd3cd('0x67')](_0x1b9eb5[_0xd3cd('0x42')],_0x28e424[_0xd3cd('0x44')]));if(_0x1b9eb5['query'][_0xd3cd('0x4d')]){_0x22197d['where']=_['merge'](_0x22197d[_0xd3cd('0x4c')],{'$or':_[_0xd3cd('0x3d')](_0x22197d['attributes'],function(_0x334f85){var _0x139f97={};_0x139f97[_0x334f85]={'$like':'%'+_0x1b9eb5[_0xd3cd('0x42')][_0xd3cd('0x4d')]+'%'};return _0x139f97;})});}_0x22197d=_[_0xd3cd('0x4f')]({},_0x22197d,_0x1b9eb5[_0xd3cd('0x50')]);return _0x32022e[_0xd3cd('0x71')](_0x22197d);}})[_0xd3cd('0x20')](function(_0x34d233){if(_0x34d233){_0x26d048=_0x34d233[_0xd3cd('0x66')];if(!_0x1b9eb5['query'][_0xd3cd('0x48')](_0xd3cd('0x49'))){_0x22197d[_0xd3cd('0x31')]=qs[_0xd3cd('0x31')](_0x1b9eb5['query'][_0xd3cd('0x31')]);_0x22197d[_0xd3cd('0x30')]=qs[_0xd3cd('0x30')](_0x1b9eb5['query']['offset']);}return _0x32022e[_0xd3cd('0x71')](_0x22197d);}})[_0xd3cd('0x20')](function(_0x2bfe39){if(_0x2bfe39){return _0x2bfe39?{'count':_0x26d048,'rows':_0x2bfe39}:null;}})[_0xd3cd('0x20')](respondWithResult(_0xd19ba2,null))[_0xd3cd('0x2a')](handleError(_0xd19ba2,null));};exports['addTeams']=function(_0x47ab0f,_0x2e9f7b,_0x2e160e){var _0x158c90=_0x47ab0f[_0xd3cd('0x61')]['ids'];return db[_0xd3cd('0x72')][_0xd3cd('0x68')]({'where':{'id':_0x158c90},'attributes':['id'],'include':[{'model':db[_0xd3cd('0x69')],'as':_0xd3cd('0x73'),'attributes':['id',_0xd3cd('0x3a'),_0xd3cd('0x74'),_0xd3cd('0x75'),_0xd3cd('0x76')],'raw':!![]}]})['then'](function(_0x14718e){if(_0x14718e){var _0x625cd=_[_0xd3cd('0x77')](_0x14718e,function(_0x1b3af4){var _0x1a41f4=_0x1b3af4[_0xd3cd('0x37')]({'plain':!![]});return _0x1a41f4[_0xd3cd('0x73')];});return db[_0xd3cd('0x3e')][_0xd3cd('0x58')]({'where':{'id':_0x47ab0f['params']['id']}})[_0xd3cd('0x20')](function(_0x52559f){return db['sequelize'][_0xd3cd('0x78')](function(_0x20bd93){return _0x52559f[_0xd3cd('0x79')](_0x158c90,{'transaction':_0x20bd93})[_0xd3cd('0x20')](function(){return BPromise['each'](_0x625cd,function(_0x3e2299){return db[_0xd3cd('0x65')]['findOrCreate']({'where':{'UserId':_0x3e2299['id'],'ChatQueueId':_0x47ab0f[_0xd3cd('0x55')]['id']},'transaction':_0x20bd93});});})[_0xd3cd('0x20')](function(){_0x625cd['forEach'](function(_0x359bc0){socket['emit'](_0xd3cd('0x7a'),{'UserId':_0x359bc0['id'],'ChatQueueId':_0x52559f['id']});});});});});}})[_0xd3cd('0x20')](respondWithStatusCode(_0x2e9f7b,null))[_0xd3cd('0x2a')](handleError(_0x2e9f7b,null));};exports[_0xd3cd('0x7b')]=function(_0x35829d,_0xd72f9f,_0x33f093){return db[_0xd3cd('0x72')][_0xd3cd('0x68')]({'where':{'id':_0x35829d[_0xd3cd('0x42')]['ids']},'attributes':['id'],'include':[{'model':db[_0xd3cd('0x69')],'as':_0xd3cd('0x73'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0xd72f9f,null))[_0xd3cd('0x20')](function(_0x59fb60){var _0x169336=_['map'](_0x59fb60,'id');var _0x1aec76=[];var _0x451b36=[];var _0x1b67c5=squel[_0xd3cd('0x7c')]();_0x1b67c5[_0xd3cd('0x7d')](_0xd3cd('0x7e'))[_0xd3cd('0x7f')](_0xd3cd('0x80'),'tq')[_0xd3cd('0x81')](_0xd3cd('0x82'),'ut',_0xd3cd('0x83'))[_0xd3cd('0x4c')](_0xd3cd('0x84'),_0x35829d[_0xd3cd('0x55')]['id']);for(var _0x1a10d8=0x0;_0x1a10d8<_0x59fb60[_0xd3cd('0x66')];_0x1a10d8+=0x1){let _0x3439d6=_0x59fb60[_0x1a10d8];for(var _0x753fab=0x0;_0x753fab<_0x3439d6[_0xd3cd('0x73')][_0xd3cd('0x66')];_0x753fab+=0x1){let _0x118694=_0x3439d6[_0xd3cd('0x73')][_0x753fab];var _0x282f7b=_0x1b67c5[_0xd3cd('0x85')]();_0x282f7b[_0xd3cd('0x4c')]('ut.UserId\x20=\x20?',_0x118694['id']);_0x451b36[_0xd3cd('0x86')](db['sequelize'][_0xd3cd('0x42')](_0x282f7b['toString'](),{'type':db[_0xd3cd('0x87')][_0xd3cd('0x88')]['SELECT']})['then'](function(_0xacfa89){if(_0xacfa89[_0xd3cd('0x66')]===0x1){return _0x118694['id'];}else{var _0x20d475=_['every'](_[_0xd3cd('0x3d')](_0xacfa89,'TeamId'),function(_0x518508){return _['includes'](_0x169336,_0x518508);});if(_0x20d475){return _0x118694['id'];}}}));}}return BPromise[_0xd3cd('0x89')](_0x451b36)[_0xd3cd('0x20')](function(_0x4c8fdb){_0x1aec76=_(_0x1aec76)[_0xd3cd('0x8a')](_0x4c8fdb)[_0xd3cd('0x8b')]()[_0xd3cd('0x8c')]();return db[_0xd3cd('0x3e')]['find']({'where':{'id':_0x35829d[_0xd3cd('0x55')]['id']}})[_0xd3cd('0x20')](function(_0x59ef5e){return db['sequelize']['transaction'](function(_0x1776db){return _0x59ef5e[_0xd3cd('0x7b')](_0x35829d[_0xd3cd('0x42')][_0xd3cd('0x8d')],{'transaction':_0x1776db})[_0xd3cd('0x20')](function(){if(!_[_0xd3cd('0x8e')](_0x1aec76)){return _0x59ef5e['removeAgents'](_0x1aec76,{'transaction':_0x1776db});}})[_0xd3cd('0x20')](function(){_0x1aec76[_0xd3cd('0x8f')](function(_0x2d0e39){socket[_0xd3cd('0x90')](_0xd3cd('0x91'),{'UserId':_0x2d0e39,'ChatQueueId':_0x59ef5e['id']});});});});});});})[_0xd3cd('0x20')](respondWithStatusCode(_0xd72f9f,null))[_0xd3cd('0x2a')](handleError(_0xd72f9f,null));};exports[_0xd3cd('0x92')]=function(_0x58552c,_0x45e449,_0x412ce5){return db[_0xd3cd('0x3e')]['find']({'where':{'id':_0x58552c[_0xd3cd('0x55')]['id']}})[_0xd3cd('0x20')](handleEntityNotFound(_0x45e449,null))[_0xd3cd('0x20')](function(_0x126c40){if(_0x126c40){return _0x126c40[_0xd3cd('0x92')](_0x58552c['body']['ids'],_['omit'](_0x58552c[_0xd3cd('0x61')],['ids','id'])||{})[_0xd3cd('0x93')](function(_0x3a5e9c){for(var _0xb0871=0x0;_0xb0871<_0x58552c[_0xd3cd('0x61')][_0xd3cd('0x8d')][_0xd3cd('0x66')];_0xb0871+=0x1){socket[_0xd3cd('0x90')](_0xd3cd('0x7a'),{'UserId':_0x58552c[_0xd3cd('0x61')]['ids'][_0xb0871],'ChatQueueId':_0x58552c[_0xd3cd('0x55')]['id']});}return _0x3a5e9c;});}})[_0xd3cd('0x20')](respondWithResult(_0x45e449,null))[_0xd3cd('0x2a')](handleError(_0x45e449,null));};exports[_0xd3cd('0x94')]=function(_0x90053f,_0x5395dc,_0x572313){return db['ChatQueue']['find']({'where':{'id':_0x90053f[_0xd3cd('0x55')]['id']}})['then'](handleEntityNotFound(_0x5395dc,null))[_0xd3cd('0x20')](function(_0x4f7d10){if(_0x4f7d10){return _0x4f7d10['removeAgents'](_0x90053f[_0xd3cd('0x42')][_0xd3cd('0x8d')])[_0xd3cd('0x20')](function(){if(_[_0xd3cd('0x95')](_0x90053f[_0xd3cd('0x42')][_0xd3cd('0x8d')])){for(var _0x167680=0x0;_0x167680<_0x90053f['query'][_0xd3cd('0x8d')][_0xd3cd('0x66')];_0x167680+=0x1){socket[_0xd3cd('0x90')](_0xd3cd('0x91'),{'UserId':Number(_0x90053f['query'][_0xd3cd('0x8d')][_0x167680]),'ChatQueueId':Number(_0x90053f[_0xd3cd('0x55')]['id'])});}}else{socket['emit'](_0xd3cd('0x91'),{'UserId':Number(_0x90053f[_0xd3cd('0x42')][_0xd3cd('0x8d')]),'ChatQueueId':Number(_0x90053f[_0xd3cd('0x55')]['id'])});}});}})['then'](respondWithStatusCode(_0x5395dc,null))['catch'](handleError(_0x5395dc,null));};exports[_0xd3cd('0x96')]=function(_0x3baebf,_0xa597db,_0x49ee14){var _0xbb0aea={};var _0x32530e={};var _0x305ae0;var _0x28ae81;return db[_0xd3cd('0x3e')][_0xd3cd('0x64')]({'where':{'id':_0x3baebf['params']['id']}})[_0xd3cd('0x20')](handleEntityNotFound(_0xa597db,null))['then'](function(_0x555242){if(_0x555242){_0x305ae0=_0x555242;_0x32530e[_0xd3cd('0x45')]=_[_0xd3cd('0x43')](db[_0xd3cd('0x69')]['rawAttributes']);_0x32530e[_0xd3cd('0x42')]=_[_0xd3cd('0x43')](_0x3baebf['query']);_0x32530e[_0xd3cd('0x44')]=_['intersection'](_0x32530e['model'],_0x32530e[_0xd3cd('0x42')]);_0xbb0aea[_0xd3cd('0x47')]=_[_0xd3cd('0x57')](_0x32530e[_0xd3cd('0x45')],qs[_0xd3cd('0x46')](_0x3baebf['query'][_0xd3cd('0x46')]));_0xbb0aea[_0xd3cd('0x47')]=_0xbb0aea['attributes'][_0xd3cd('0x66')]?_0xbb0aea['attributes']:_0x32530e[_0xd3cd('0x45')];_0xbb0aea['order']=qs['sort'](_0x3baebf[_0xd3cd('0x42')][_0xd3cd('0x4b')]);_0xbb0aea[_0xd3cd('0x4c')]=qs[_0xd3cd('0x44')](_[_0xd3cd('0x67')](_0x3baebf['query'],_0x32530e[_0xd3cd('0x44')]));if(_0x3baebf[_0xd3cd('0x42')][_0xd3cd('0x4d')]){_0xbb0aea[_0xd3cd('0x4c')]=_[_0xd3cd('0x4f')](_0xbb0aea[_0xd3cd('0x4c')],{'$or':_[_0xd3cd('0x3d')](_0xbb0aea[_0xd3cd('0x47')],function(_0x1573f3){var _0x348840={};_0x348840[_0x1573f3]={'$like':'%'+_0x3baebf[_0xd3cd('0x42')][_0xd3cd('0x4d')]+'%'};return _0x348840;})});}_0xbb0aea=_[_0xd3cd('0x4f')]({},_0xbb0aea,_0x3baebf[_0xd3cd('0x50')]);return _0x305ae0[_0xd3cd('0x96')](_0xbb0aea);}})[_0xd3cd('0x20')](function(_0x6aa6fd){if(_0x6aa6fd){_0x28ae81=_0x6aa6fd[_0xd3cd('0x66')];if(!_0x3baebf[_0xd3cd('0x42')][_0xd3cd('0x48')](_0xd3cd('0x49'))){_0xbb0aea['limit']=qs['limit'](_0x3baebf[_0xd3cd('0x42')]['limit']);_0xbb0aea[_0xd3cd('0x30')]=qs[_0xd3cd('0x30')](_0x3baebf[_0xd3cd('0x42')][_0xd3cd('0x30')]);}return _0x305ae0[_0xd3cd('0x96')](_0xbb0aea);}})[_0xd3cd('0x20')](function(_0x2c16b0){if(_0x2c16b0){return _0x2c16b0?{'count':_0x28ae81,'rows':_0x2c16b0}:null;}})[_0xd3cd('0x20')](respondWithResult(_0xa597db,null))[_0xd3cd('0x2a')](handleError(_0xa597db,null));};