Built motion from commit da617fac.|2.6.6
[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 _0xc62c=['includeAll','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ChatQueues','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','describe','getMembers','UserChatQueue','ChatQueueId','User','findAndCountAll','chatPause','format','%s/%s','SIP','createdAt','getTeams','Team','addTeams','ids','Agents','online','voicePause','flatMap','sequelize','transaction','findOrCreate','emit','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','toString','QueryTypes','TeamId','includes','all','union','value','isEmpty','forEach','userChatQueue:remove','addAgents','spread','removeAgents','isArray','getAgents','findOne','eml-format','rimraf','zip-dir','fast-json-patch','moment','bluebird','path','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./chatQueue.socket','jayson/promise','request','then','info','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','message','catch','sendStatus','end','status','json','offset','undefined','limit','count','set','Content-Range','apply','reject','save','destroy','UserProfileResource','name','send','index','map','ChatQueue','rawAttributes','fieldName','type','model','keys','query','filters','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','options','include','findAll','rows','params'];(function(_0x157d89,_0x31c6b3){var _0x592f7c=function(_0xfede7d){while(--_0xfede7d){_0x157d89['push'](_0x157d89['shift']());}};_0x592f7c(++_0x31c6b3);}(_0xc62c,0xdb));var _0xcc62=function(_0xac8961,_0xf8bea5){_0xac8961=_0xac8961-0x0;var _0x27727f=_0xc62c[_0xac8961];return _0x27727f;};'use strict';var emlformat=require(_0xcc62('0x0'));var rimraf=require(_0xcc62('0x1'));var zipdir=require(_0xcc62('0x2'));var jsonpatch=require(_0xcc62('0x3'));var rp=require('request-promise');var moment=require(_0xcc62('0x4'));var BPromise=require(_0xcc62('0x5'));var Mustache=require('mustache');var util=require('util');var path=require(_0xcc62('0x6'));var sox=require(_0xcc62('0x7'));var csv=require(_0xcc62('0x8'));var ejs=require(_0xcc62('0x9'));var fs=require('fs');var fs_extra=require(_0xcc62('0xa'));var _=require('lodash');var squel=require(_0xcc62('0xb'));var crypto=require(_0xcc62('0xc'));var jsforce=require(_0xcc62('0xd'));var deskjs=require(_0xcc62('0xe'));var toCsv=require(_0xcc62('0x8'));var querystring=require('querystring');var Papa=require(_0xcc62('0xf'));var Redis=require(_0xcc62('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xcc62('0x11'));var as=require(_0xcc62('0x12'));var hardwareService=require(_0xcc62('0x13'));var logger=require(_0xcc62('0x14'))(_0xcc62('0x15'));var utils=require(_0xcc62('0x16'));var config=require(_0xcc62('0x17'));var licenseUtil=require('../../config/license/util');var db=require(_0xcc62('0x18'))['db'];config[_0xcc62('0x19')]=_[_0xcc62('0x1a')](config['redis'],{'host':_0xcc62('0x1b'),'port':0x18eb});var socket=require(_0xcc62('0x1c'))(new Redis(config[_0xcc62('0x19')]));require(_0xcc62('0x1d'))['register'](socket);var jayson=require(_0xcc62('0x1e'));var client=jayson['client']['http']({'port':0x232a});function respondWithRpcPromise(_0x307eb7,_0x171021,_0x1be36b,_0x5dc646){return new BPromise(function(_0x459b66,_0x119b17){var _0x324bd7=_0x5dc646||client;return _0x324bd7[_0xcc62('0x1f')](_0x307eb7,_0x1be36b)[_0xcc62('0x20')](function(_0xd41b2c){logger[_0xcc62('0x21')](_0xcc62('0x22'),_0x171021,_0xcc62('0x23'));logger[_0xcc62('0x24')](_0xcc62('0x25'),_0x171021,_0xcc62('0x23'),JSON[_0xcc62('0x26')](_0xd41b2c));if(_0xd41b2c[_0xcc62('0x27')]){if(_0xd41b2c['error'][_0xcc62('0x28')]===0x1f4){logger[_0xcc62('0x27')]('ChatQueue,\x20%s,\x20%s',_0x171021,_0xd41b2c[_0xcc62('0x27')][_0xcc62('0x29')]);return _0x119b17(_0xd41b2c[_0xcc62('0x27')][_0xcc62('0x29')]);}logger['error'](_0xcc62('0x22'),_0x171021,_0xd41b2c['error']['message']);return _0x459b66(_0xd41b2c[_0xcc62('0x27')][_0xcc62('0x29')]);}else{logger[_0xcc62('0x21')](_0xcc62('0x22'),_0x171021,_0xcc62('0x23'));_0x459b66(_0xd41b2c['result'][_0xcc62('0x29')]);}})[_0xcc62('0x2a')](function(_0x158dba){logger[_0xcc62('0x27')](_0xcc62('0x22'),_0x171021,_0x158dba);_0x119b17(_0x158dba);});});}function respondWithStatusCode(_0x49f3b9,_0x4bb506){_0x4bb506=_0x4bb506||0xcc;return function(_0x2bb2e6){if(_0x2bb2e6){return _0x49f3b9[_0xcc62('0x2b')](_0x4bb506);}return _0x49f3b9['status'](_0x4bb506)[_0xcc62('0x2c')]();};}function respondWithResult(_0x4f6236,_0x5593b8){_0x5593b8=_0x5593b8||0xc8;return function(_0xd0702e){if(_0xd0702e){return _0x4f6236[_0xcc62('0x2d')](_0x5593b8)[_0xcc62('0x2e')](_0xd0702e);}};}function respondWithFilteredResult(_0x48ae7f,_0x33fc22){return function(_0xbc361e){if(_0xbc361e){var _0x33c3c8=typeof _0x33fc22[_0xcc62('0x2f')]===_0xcc62('0x30')&&typeof _0x33fc22[_0xcc62('0x31')]===_0xcc62('0x30');var _0x28a21f=_0xbc361e[_0xcc62('0x32')];var _0xb3febc=_0x33c3c8?0x0:_0x33fc22[_0xcc62('0x2f')];var _0x27d713=_0x33c3c8?_0xbc361e[_0xcc62('0x32')]:_0x33fc22[_0xcc62('0x2f')]+_0x33fc22[_0xcc62('0x31')];var _0x1d3e0d;if(_0x27d713>=_0x28a21f){_0x27d713=_0x28a21f;_0x1d3e0d=0xc8;}else{_0x1d3e0d=0xce;}_0x48ae7f['status'](_0x1d3e0d);return _0x48ae7f[_0xcc62('0x33')](_0xcc62('0x34'),_0xb3febc+'-'+_0x27d713+'/'+_0x28a21f)[_0xcc62('0x2e')](_0xbc361e);}return null;};}function patchUpdates(_0x44c030){return function(_0x2a723a){try{jsonpatch[_0xcc62('0x35')](_0x2a723a,_0x44c030,!![]);}catch(_0x47940e){return BPromise[_0xcc62('0x36')](_0x47940e);}return _0x2a723a[_0xcc62('0x37')]();};}function saveUpdates(_0x455215,_0x57d8fb){return function(_0x187207){if(_0x187207){return _0x187207['update'](_0x455215)[_0xcc62('0x20')](function(_0x343250){return _0x343250;});}return null;};}function removeEntity(_0x1bac77,_0x299711){return function(_0x1c336e){if(_0x1c336e){return _0x1c336e[_0xcc62('0x38')]()[_0xcc62('0x20')](function(){var _0xba67fb=_0x1c336e['get']({'plain':!![]});var _0xed77ff='ChatQueues';return db[_0xcc62('0x39')][_0xcc62('0x38')]({'where':{'type':_0xed77ff,'resourceId':_0xba67fb['id']}})[_0xcc62('0x20')](function(){return _0x1c336e;});})[_0xcc62('0x20')](function(){_0x1bac77[_0xcc62('0x2d')](0xcc)['end']();});}};}function handleEntityNotFound(_0x22aec2,_0xed77b1){return function(_0x3bb597){if(!_0x3bb597){_0x22aec2[_0xcc62('0x2b')](0x194);}return _0x3bb597;};}function handleError(_0x155b1c,_0x3ad46f){_0x3ad46f=_0x3ad46f||0x1f4;return function(_0x2b0061){logger['error'](_0x2b0061['stack']);if(_0x2b0061[_0xcc62('0x3a')]){delete _0x2b0061[_0xcc62('0x3a')];}_0x155b1c[_0xcc62('0x2d')](_0x3ad46f)[_0xcc62('0x3b')](_0x2b0061);};}exports[_0xcc62('0x3c')]=function(_0x21bceb,_0x1d1de8){var _0x3685ad={},_0x1d6384={},_0x44e6ff={'count':0x0,'rows':[]};var _0x401a05=_[_0xcc62('0x3d')](db[_0xcc62('0x3e')][_0xcc62('0x3f')],function(_0x3bd2ef){return{'name':_0x3bd2ef[_0xcc62('0x40')],'type':_0x3bd2ef[_0xcc62('0x41')]['key']};});_0x1d6384[_0xcc62('0x42')]=_['map'](_0x401a05,_0xcc62('0x3a'));_0x1d6384['query']=_[_0xcc62('0x43')](_0x21bceb[_0xcc62('0x44')]);_0x1d6384[_0xcc62('0x45')]=_['intersection'](_0x1d6384[_0xcc62('0x42')],_0x1d6384[_0xcc62('0x44')]);_0x3685ad[_0xcc62('0x46')]=_[_0xcc62('0x47')](_0x1d6384['model'],qs['fields'](_0x21bceb[_0xcc62('0x44')][_0xcc62('0x48')]));_0x3685ad['attributes']=_0x3685ad[_0xcc62('0x46')][_0xcc62('0x49')]?_0x3685ad['attributes']:_0x1d6384[_0xcc62('0x42')];if(!_0x21bceb['query'][_0xcc62('0x4a')](_0xcc62('0x4b'))){_0x3685ad[_0xcc62('0x31')]=qs[_0xcc62('0x31')](_0x21bceb[_0xcc62('0x44')][_0xcc62('0x31')]);_0x3685ad['offset']=qs[_0xcc62('0x2f')](_0x21bceb['query'][_0xcc62('0x2f')]);}_0x3685ad[_0xcc62('0x4c')]=qs[_0xcc62('0x4d')](_0x21bceb[_0xcc62('0x44')][_0xcc62('0x4d')]);_0x3685ad[_0xcc62('0x4e')]=qs[_0xcc62('0x45')](_[_0xcc62('0x4f')](_0x21bceb['query'],_0x1d6384[_0xcc62('0x45')]),_0x401a05);if(_0x21bceb[_0xcc62('0x44')][_0xcc62('0x50')]){_0x3685ad['where']=_[_0xcc62('0x51')](_0x3685ad['where'],{'$or':_[_0xcc62('0x3d')](_0x401a05,function(_0x33c230){if(_0x33c230[_0xcc62('0x41')]!=='VIRTUAL'){var _0x26d44b={};_0x26d44b[_0x33c230[_0xcc62('0x3a')]]={'$like':'%'+_0x21bceb[_0xcc62('0x44')]['filter']+'%'};return _0x26d44b;}})});}_0x3685ad=_[_0xcc62('0x51')]({},_0x3685ad,_0x21bceb[_0xcc62('0x52')]);var _0x5a171c={'where':_0x3685ad[_0xcc62('0x4e')]};return db[_0xcc62('0x3e')]['count'](_0x5a171c)[_0xcc62('0x20')](function(_0x8e5c5d){_0x44e6ff[_0xcc62('0x32')]=_0x8e5c5d;if(_0x21bceb[_0xcc62('0x44')]['includeAll']){_0x3685ad[_0xcc62('0x53')]=[{'all':!![]}];}return db['ChatQueue'][_0xcc62('0x54')](_0x3685ad);})[_0xcc62('0x20')](function(_0x46f35a){_0x44e6ff[_0xcc62('0x55')]=_0x46f35a;return _0x44e6ff;})[_0xcc62('0x20')](respondWithFilteredResult(_0x1d1de8,_0x3685ad))['catch'](handleError(_0x1d1de8,null));};exports['show']=function(_0x1d7408,_0x252e3a){var _0x290f60={'raw':!![],'where':{'id':_0x1d7408[_0xcc62('0x56')]['id']}},_0x3b96d1={};_0x3b96d1[_0xcc62('0x42')]=_[_0xcc62('0x43')](db[_0xcc62('0x3e')]['rawAttributes']);_0x3b96d1[_0xcc62('0x44')]=_['keys'](_0x1d7408[_0xcc62('0x44')]);_0x3b96d1[_0xcc62('0x45')]=_[_0xcc62('0x47')](_0x3b96d1[_0xcc62('0x42')],_0x3b96d1[_0xcc62('0x44')]);_0x290f60[_0xcc62('0x46')]=_['intersection'](_0x3b96d1['model'],qs[_0xcc62('0x48')](_0x1d7408[_0xcc62('0x44')]['fields']));_0x290f60['attributes']=_0x290f60[_0xcc62('0x46')][_0xcc62('0x49')]?_0x290f60[_0xcc62('0x46')]:_0x3b96d1[_0xcc62('0x42')];if(_0x1d7408[_0xcc62('0x44')][_0xcc62('0x57')]){_0x290f60[_0xcc62('0x53')]=[{'all':!![]}];}_0x290f60=_[_0xcc62('0x51')]({},_0x290f60,_0x1d7408[_0xcc62('0x52')]);return db[_0xcc62('0x3e')]['find'](_0x290f60)[_0xcc62('0x20')](handleEntityNotFound(_0x252e3a,null))[_0xcc62('0x20')](respondWithResult(_0x252e3a,null))[_0xcc62('0x2a')](handleError(_0x252e3a,null));};exports['create']=function(_0x1f1d89,_0x2949ec){return db[_0xcc62('0x3e')][_0xcc62('0x58')](_0x1f1d89[_0xcc62('0x59')],{})[_0xcc62('0x20')](function(_0x5e8bcd){var _0x4e2b13=_0x1f1d89[_0xcc62('0x5a')][_0xcc62('0x5b')]({'plain':!![]});if(!_0x4e2b13)throw new Error(_0xcc62('0x5c'));if(_0x4e2b13[_0xcc62('0x5d')]==='user'){var _0x471eb5=_0x5e8bcd[_0xcc62('0x5b')]({'plain':!![]});var _0x3f4963=_0xcc62('0x5e');return db[_0xcc62('0x5f')][_0xcc62('0x60')]({'where':{'name':_0x3f4963,'userProfileId':_0x4e2b13[_0xcc62('0x61')]},'raw':!![]})[_0xcc62('0x20')](function(_0x2984b4){if(_0x2984b4&&_0x2984b4[_0xcc62('0x62')]===0x0){return db[_0xcc62('0x39')][_0xcc62('0x58')]({'name':_0x471eb5['name'],'resourceId':_0x471eb5['id'],'type':_0x2984b4[_0xcc62('0x3a')],'sectionId':_0x2984b4['id']},{})[_0xcc62('0x20')](function(){return _0x5e8bcd;});}else{return _0x5e8bcd;}})['catch'](function(_0x24b6ed){logger[_0xcc62('0x27')](_0xcc62('0x63'),_0x24b6ed);throw _0x24b6ed;});}return _0x5e8bcd;})[_0xcc62('0x20')](respondWithResult(_0x2949ec,0xc9))[_0xcc62('0x2a')](handleError(_0x2949ec,null));};exports[_0xcc62('0x64')]=function(_0x1880ed,_0x278992){if(_0x1880ed[_0xcc62('0x59')]['id']){delete _0x1880ed[_0xcc62('0x59')]['id'];}return db['ChatQueue'][_0xcc62('0x60')]({'where':{'id':_0x1880ed['params']['id']}})[_0xcc62('0x20')](handleEntityNotFound(_0x278992,null))[_0xcc62('0x20')](saveUpdates(_0x1880ed[_0xcc62('0x59')],null))[_0xcc62('0x20')](respondWithResult(_0x278992,null))[_0xcc62('0x2a')](handleError(_0x278992,null));};exports[_0xcc62('0x38')]=function(_0xa810c6,_0x4dd379){return db[_0xcc62('0x3e')][_0xcc62('0x60')]({'where':{'id':_0xa810c6[_0xcc62('0x56')]['id']}})['then'](handleEntityNotFound(_0x4dd379,null))['then'](removeEntity(_0x4dd379,null))[_0xcc62('0x2a')](handleError(_0x4dd379,null));};exports['describe']=function(_0x498c73,_0x59f771){return db[_0xcc62('0x3e')][_0xcc62('0x65')]()['then'](respondWithResult(_0x59f771,null))[_0xcc62('0x2a')](handleError(_0x59f771,null));};exports[_0xcc62('0x66')]=function(_0x442bb0,_0x82bc1e,_0x1a6d8a){var _0x213517={'raw':!![],'where':{}},_0x288fd2={},_0x296e80;return db['ChatQueue']['findOne']({'where':{'id':_0x442bb0[_0xcc62('0x56')]['id']}})[_0xcc62('0x20')](handleEntityNotFound(_0x82bc1e,null))[_0xcc62('0x20')](function(_0x193a6b){if(_0x193a6b){_0x296e80=_0x193a6b['get']({'plain':!![]});_0x288fd2[_0xcc62('0x42')]=_[_0xcc62('0x43')](db[_0xcc62('0x67')]['rawAttributes']);_0x288fd2[_0xcc62('0x44')]=_[_0xcc62('0x43')](_0x442bb0['query']);_0x288fd2[_0xcc62('0x45')]=_['intersection'](_0x288fd2['model'],_0x288fd2[_0xcc62('0x44')]);_0x213517[_0xcc62('0x46')]=_[_0xcc62('0x47')](_0x288fd2[_0xcc62('0x42')],qs[_0xcc62('0x48')](_0x442bb0[_0xcc62('0x44')]['fields']));_0x213517[_0xcc62('0x46')]=_0x213517[_0xcc62('0x46')][_0xcc62('0x49')]?_0x213517[_0xcc62('0x46')]:_0x288fd2[_0xcc62('0x42')];if(!_0x442bb0[_0xcc62('0x44')]['hasOwnProperty'](_0xcc62('0x4b'))){_0x213517[_0xcc62('0x31')]=qs[_0xcc62('0x31')](_0x442bb0['query']['limit']);_0x213517['offset']=qs[_0xcc62('0x2f')](_0x442bb0[_0xcc62('0x44')][_0xcc62('0x2f')]);}_0x213517['order']=qs[_0xcc62('0x4d')](_0x442bb0[_0xcc62('0x44')][_0xcc62('0x4d')]);_0x213517[_0xcc62('0x4e')]=qs[_0xcc62('0x45')](_[_0xcc62('0x4f')](_0x442bb0[_0xcc62('0x44')],_0x288fd2['filters']));_0x213517[_0xcc62('0x4e')][_0xcc62('0x68')]=_0x193a6b['id'];if(_0x442bb0[_0xcc62('0x44')][_0xcc62('0x50')]){_0x213517[_0xcc62('0x4e')]=_[_0xcc62('0x51')](_0x213517[_0xcc62('0x4e')],{'$or':_[_0xcc62('0x3d')](_0x213517[_0xcc62('0x46')],function(_0x13fd88){var _0x13f6b6={};_0x13f6b6[_0x13fd88]={'$like':'%'+_0x442bb0[_0xcc62('0x44')][_0xcc62('0x50')]+'%'};return _0x13f6b6;})});}_0x213517=_['merge']({},_0x213517,_0x442bb0[_0xcc62('0x52')]);return db[_0xcc62('0x67')]['findAll'](_0x213517);}})[_0xcc62('0x20')](function(_0x4725d1){if(_0x4725d1){return db[_0xcc62('0x69')][_0xcc62('0x6a')]({'where':{'id':_[_0xcc62('0x3d')](_0x4725d1,'UserId'),'role':'agent'},'attributes':['id',_0xcc62('0x3a'),_0xcc62('0x6b'),'updatedAt','createdAt']});}})[_0xcc62('0x20')](function(_0x3ebe47){if(_0x3ebe47){return{'count':_0x3ebe47['count'],'rows':_[_0xcc62('0x3d')](_0x3ebe47['rows'],function(_0x1214e3){return{'membername':_0x1214e3[_0xcc62('0x3a')],'UserId':_0x1214e3['id'],'queue_name':_0x296e80[_0xcc62('0x3a')],'ChatQueueId':_0x296e80['id'],'interface':util[_0xcc62('0x6c')](_0xcc62('0x6d'),_0xcc62('0x6e'),_0x1214e3[_0xcc62('0x3a')]),'penalty':0x0,'paused':_0x1214e3[_0xcc62('0x6b')],'createdAt':_0x1214e3[_0xcc62('0x6f')],'updatedAt':_0x1214e3['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x82bc1e,_0x213517))[_0xcc62('0x2a')](handleError(_0x82bc1e,null));};exports[_0xcc62('0x70')]=function(_0x4cd0c8,_0x34e607,_0x1be142){var _0x4423cb={};var _0x5d2d72={};var _0x41d633;var _0x1648fd;return db[_0xcc62('0x3e')]['findOne']({'where':{'id':_0x4cd0c8['params']['id']}})[_0xcc62('0x20')](handleEntityNotFound(_0x34e607,null))[_0xcc62('0x20')](function(_0x5f2de4){if(_0x5f2de4){_0x41d633=_0x5f2de4;_0x5d2d72['model']=_['keys'](db[_0xcc62('0x71')]['rawAttributes']);_0x5d2d72[_0xcc62('0x44')]=_[_0xcc62('0x43')](_0x4cd0c8['query']);_0x5d2d72[_0xcc62('0x45')]=_['intersection'](_0x5d2d72[_0xcc62('0x42')],_0x5d2d72[_0xcc62('0x44')]);_0x4423cb[_0xcc62('0x46')]=_['intersection'](_0x5d2d72[_0xcc62('0x42')],qs[_0xcc62('0x48')](_0x4cd0c8[_0xcc62('0x44')][_0xcc62('0x48')]));_0x4423cb['attributes']=_0x4423cb[_0xcc62('0x46')][_0xcc62('0x49')]?_0x4423cb[_0xcc62('0x46')]:_0x5d2d72['model'];_0x4423cb[_0xcc62('0x4c')]=qs['sort'](_0x4cd0c8[_0xcc62('0x44')]['sort']);_0x4423cb[_0xcc62('0x4e')]=qs[_0xcc62('0x45')](_[_0xcc62('0x4f')](_0x4cd0c8[_0xcc62('0x44')],_0x5d2d72[_0xcc62('0x45')]));if(_0x4cd0c8[_0xcc62('0x44')][_0xcc62('0x50')]){_0x4423cb['where']=_[_0xcc62('0x51')](_0x4423cb[_0xcc62('0x4e')],{'$or':_[_0xcc62('0x3d')](_0x4423cb['attributes'],function(_0x442749){var _0x4fdd6f={};_0x4fdd6f[_0x442749]={'$like':'%'+_0x4cd0c8[_0xcc62('0x44')][_0xcc62('0x50')]+'%'};return _0x4fdd6f;})});}_0x4423cb=_['merge']({},_0x4423cb,_0x4cd0c8['options']);return _0x41d633['getTeams'](_0x4423cb);}})[_0xcc62('0x20')](function(_0x59c0c6){if(_0x59c0c6){_0x1648fd=_0x59c0c6[_0xcc62('0x49')];if(!_0x4cd0c8[_0xcc62('0x44')]['hasOwnProperty'](_0xcc62('0x4b'))){_0x4423cb[_0xcc62('0x31')]=qs['limit'](_0x4cd0c8[_0xcc62('0x44')][_0xcc62('0x31')]);_0x4423cb[_0xcc62('0x2f')]=qs[_0xcc62('0x2f')](_0x4cd0c8[_0xcc62('0x44')][_0xcc62('0x2f')]);}return _0x41d633[_0xcc62('0x70')](_0x4423cb);}})[_0xcc62('0x20')](function(_0x2f5316){if(_0x2f5316){return _0x2f5316?{'count':_0x1648fd,'rows':_0x2f5316}:null;}})[_0xcc62('0x20')](respondWithResult(_0x34e607,null))[_0xcc62('0x2a')](handleError(_0x34e607,null));};exports[_0xcc62('0x72')]=function(_0x14927b,_0x157110,_0x24b03d){var _0x41cf98=_0x14927b[_0xcc62('0x59')][_0xcc62('0x73')];return db[_0xcc62('0x71')][_0xcc62('0x54')]({'where':{'id':_0x41cf98},'attributes':['id'],'include':[{'model':db[_0xcc62('0x69')],'as':_0xcc62('0x74'),'attributes':['id',_0xcc62('0x3a'),_0xcc62('0x75'),_0xcc62('0x76'),'interface'],'raw':!![]}]})[_0xcc62('0x20')](function(_0x5b789a){if(_0x5b789a){var _0x1dd461=_[_0xcc62('0x77')](_0x5b789a,function(_0x56d085){var _0x258695=_0x56d085[_0xcc62('0x5b')]({'plain':!![]});return _0x258695[_0xcc62('0x74')];});return db[_0xcc62('0x3e')]['find']({'where':{'id':_0x14927b[_0xcc62('0x56')]['id']}})[_0xcc62('0x20')](function(_0x1a12f5){return db[_0xcc62('0x78')][_0xcc62('0x79')](function(_0xf7903d){return _0x1a12f5[_0xcc62('0x72')](_0x41cf98,{'transaction':_0xf7903d})[_0xcc62('0x20')](function(){return BPromise['each'](_0x1dd461,function(_0x22f449){return db['UserChatQueue'][_0xcc62('0x7a')]({'where':{'UserId':_0x22f449['id'],'ChatQueueId':_0x14927b[_0xcc62('0x56')]['id']},'transaction':_0xf7903d});});})['then'](function(){_0x1dd461['forEach'](function(_0x1595fe){socket[_0xcc62('0x7b')](_0xcc62('0x7c'),{'UserId':_0x1595fe['id'],'ChatQueueId':_0x1a12f5['id']});});});});});}})[_0xcc62('0x20')](respondWithStatusCode(_0x157110,null))[_0xcc62('0x2a')](handleError(_0x157110,null));};exports[_0xcc62('0x7d')]=function(_0x3ef4b8,_0x5765d6,_0x4bf26b){return db[_0xcc62('0x71')][_0xcc62('0x54')]({'where':{'id':_0x3ef4b8[_0xcc62('0x44')][_0xcc62('0x73')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0xcc62('0x74'),'attributes':['id'],'raw':!![]}]})[_0xcc62('0x20')](handleEntityNotFound(_0x5765d6,null))[_0xcc62('0x20')](function(_0x336d76){var _0x17481e=_[_0xcc62('0x3d')](_0x336d76,'id');var _0x5af7ac=[];var _0x3c943b=[];var _0x635c9e=squel[_0xcc62('0x7e')]();_0x635c9e[_0xcc62('0x7f')](_0xcc62('0x80'))[_0xcc62('0x81')](_0xcc62('0x82'),'tq')[_0xcc62('0x83')](_0xcc62('0x84'),'ut',_0xcc62('0x85'))[_0xcc62('0x4e')](_0xcc62('0x86'),_0x3ef4b8[_0xcc62('0x56')]['id']);for(var _0x1ed40e=0x0;_0x1ed40e<_0x336d76[_0xcc62('0x49')];_0x1ed40e+=0x1){let _0x517abb=_0x336d76[_0x1ed40e];for(var _0x19dcb2=0x0;_0x19dcb2<_0x517abb['Agents'][_0xcc62('0x49')];_0x19dcb2+=0x1){let _0x33ba08=_0x517abb[_0xcc62('0x74')][_0x19dcb2];var _0x674c03=_0x635c9e[_0xcc62('0x87')]();_0x674c03[_0xcc62('0x4e')]('ut.UserId\x20=\x20?',_0x33ba08['id']);_0x3c943b[_0xcc62('0x88')](db[_0xcc62('0x78')]['query'](_0x674c03[_0xcc62('0x89')](),{'type':db[_0xcc62('0x78')][_0xcc62('0x8a')]['SELECT']})[_0xcc62('0x20')](function(_0x9677d1){if(_0x9677d1[_0xcc62('0x49')]===0x1){return _0x33ba08['id'];}else{var _0x181bfd=_['every'](_['map'](_0x9677d1,_0xcc62('0x8b')),function(_0x5aacd4){return _[_0xcc62('0x8c')](_0x17481e,_0x5aacd4);});if(_0x181bfd){return _0x33ba08['id'];}}}));}}return BPromise[_0xcc62('0x8d')](_0x3c943b)['then'](function(_0x31c4de){_0x5af7ac=_(_0x5af7ac)[_0xcc62('0x8e')](_0x31c4de)['compact']()[_0xcc62('0x8f')]();return db[_0xcc62('0x3e')][_0xcc62('0x60')]({'where':{'id':_0x3ef4b8[_0xcc62('0x56')]['id']}})[_0xcc62('0x20')](function(_0x4a3bc8){return db[_0xcc62('0x78')]['transaction'](function(_0x451ae3){return _0x4a3bc8[_0xcc62('0x7d')](_0x3ef4b8['query'][_0xcc62('0x73')],{'transaction':_0x451ae3})['then'](function(){if(!_[_0xcc62('0x90')](_0x5af7ac)){return _0x4a3bc8['removeAgents'](_0x5af7ac,{'transaction':_0x451ae3});}})[_0xcc62('0x20')](function(){_0x5af7ac[_0xcc62('0x91')](function(_0x4456f0){socket[_0xcc62('0x7b')](_0xcc62('0x92'),{'UserId':_0x4456f0,'ChatQueueId':_0x4a3bc8['id']});});});});});});})[_0xcc62('0x20')](respondWithStatusCode(_0x5765d6,null))[_0xcc62('0x2a')](handleError(_0x5765d6,null));};exports[_0xcc62('0x93')]=function(_0x389c5b,_0x542013,_0x485683){return db[_0xcc62('0x3e')][_0xcc62('0x60')]({'where':{'id':_0x389c5b[_0xcc62('0x56')]['id']}})[_0xcc62('0x20')](handleEntityNotFound(_0x542013,null))['then'](function(_0x354f36){if(_0x354f36){return _0x354f36['addAgents'](_0x389c5b[_0xcc62('0x59')][_0xcc62('0x73')],_['omit'](_0x389c5b[_0xcc62('0x59')],[_0xcc62('0x73'),'id'])||{})[_0xcc62('0x94')](function(_0x3a0088){for(var _0x529b1d=0x0;_0x529b1d<_0x389c5b[_0xcc62('0x59')][_0xcc62('0x73')][_0xcc62('0x49')];_0x529b1d+=0x1){socket[_0xcc62('0x7b')]('userChatQueue:save',{'UserId':Number(_0x389c5b[_0xcc62('0x59')][_0xcc62('0x73')][_0x529b1d]),'ChatQueueId':Number(_0x389c5b[_0xcc62('0x56')]['id'])});}return _0x3a0088;});}})['then'](respondWithResult(_0x542013,null))[_0xcc62('0x2a')](handleError(_0x542013,null));};exports[_0xcc62('0x95')]=function(_0x2b1d17,_0x4c3929,_0x5ebb15){return db[_0xcc62('0x3e')][_0xcc62('0x60')]({'where':{'id':_0x2b1d17[_0xcc62('0x56')]['id']}})['then'](handleEntityNotFound(_0x4c3929,null))[_0xcc62('0x20')](function(_0x1e6eb0){if(_0x1e6eb0){return _0x1e6eb0[_0xcc62('0x95')](_0x2b1d17[_0xcc62('0x44')][_0xcc62('0x73')])['then'](function(){if(_[_0xcc62('0x96')](_0x2b1d17[_0xcc62('0x44')][_0xcc62('0x73')])){for(var _0x210bba=0x0;_0x210bba<_0x2b1d17[_0xcc62('0x44')][_0xcc62('0x73')][_0xcc62('0x49')];_0x210bba+=0x1){socket['emit'](_0xcc62('0x92'),{'UserId':Number(_0x2b1d17['query'][_0xcc62('0x73')][_0x210bba]),'ChatQueueId':Number(_0x2b1d17['params']['id'])});}}else{socket[_0xcc62('0x7b')](_0xcc62('0x92'),{'UserId':Number(_0x2b1d17[_0xcc62('0x44')][_0xcc62('0x73')]),'ChatQueueId':Number(_0x2b1d17[_0xcc62('0x56')]['id'])});}});}})[_0xcc62('0x20')](respondWithStatusCode(_0x4c3929,null))[_0xcc62('0x2a')](handleError(_0x4c3929,null));};exports[_0xcc62('0x97')]=function(_0x3e4d20,_0x451bdd,_0x3c51cc){var _0x42e847={};var _0x4fae9c={};var _0x491cbe;var _0x5bda80;return db['ChatQueue'][_0xcc62('0x98')]({'where':{'id':_0x3e4d20[_0xcc62('0x56')]['id']}})[_0xcc62('0x20')](handleEntityNotFound(_0x451bdd,null))['then'](function(_0x51fa46){if(_0x51fa46){_0x491cbe=_0x51fa46;_0x4fae9c['model']=_['keys'](db[_0xcc62('0x69')][_0xcc62('0x3f')]);_0x4fae9c[_0xcc62('0x44')]=_[_0xcc62('0x43')](_0x3e4d20[_0xcc62('0x44')]);_0x4fae9c[_0xcc62('0x45')]=_[_0xcc62('0x47')](_0x4fae9c['model'],_0x4fae9c[_0xcc62('0x44')]);_0x42e847[_0xcc62('0x46')]=_[_0xcc62('0x47')](_0x4fae9c[_0xcc62('0x42')],qs[_0xcc62('0x48')](_0x3e4d20[_0xcc62('0x44')][_0xcc62('0x48')]));_0x42e847[_0xcc62('0x46')]=_0x42e847[_0xcc62('0x46')]['length']?_0x42e847[_0xcc62('0x46')]:_0x4fae9c[_0xcc62('0x42')];_0x42e847['order']=qs['sort'](_0x3e4d20['query'][_0xcc62('0x4d')]);_0x42e847[_0xcc62('0x4e')]=qs[_0xcc62('0x45')](_[_0xcc62('0x4f')](_0x3e4d20[_0xcc62('0x44')],_0x4fae9c[_0xcc62('0x45')]));if(_0x3e4d20[_0xcc62('0x44')][_0xcc62('0x50')]){_0x42e847['where']=_[_0xcc62('0x51')](_0x42e847['where'],{'$or':_[_0xcc62('0x3d')](_0x42e847['attributes'],function(_0x3bd5f4){var _0x44ed74={};_0x44ed74[_0x3bd5f4]={'$like':'%'+_0x3e4d20[_0xcc62('0x44')][_0xcc62('0x50')]+'%'};return _0x44ed74;})});}_0x42e847=_['merge']({},_0x42e847,_0x3e4d20[_0xcc62('0x52')]);return _0x491cbe[_0xcc62('0x97')](_0x42e847);}})[_0xcc62('0x20')](function(_0x380d64){if(_0x380d64){_0x5bda80=_0x380d64[_0xcc62('0x49')];if(!_0x3e4d20[_0xcc62('0x44')][_0xcc62('0x4a')](_0xcc62('0x4b'))){_0x42e847['limit']=qs[_0xcc62('0x31')](_0x3e4d20[_0xcc62('0x44')][_0xcc62('0x31')]);_0x42e847[_0xcc62('0x2f')]=qs[_0xcc62('0x2f')](_0x3e4d20['query']['offset']);}return _0x491cbe[_0xcc62('0x97')](_0x42e847);}})[_0xcc62('0x20')](function(_0x23b322){if(_0x23b322){return _0x23b322?{'count':_0x5bda80,'rows':_0x23b322}:null;}})[_0xcc62('0x20')](respondWithResult(_0x451bdd,null))[_0xcc62('0x2a')](handleError(_0x451bdd,null));};