Built motion from commit (unavailable).|2.5.31
[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 _0xa23f=['stringify','error','code','message','ChatQueue,\x20%s,\x20%s','info','result','catch','sendStatus','end','json','offset','undefined','count','limit','status','set','Content-Range','reject','save','update','destroy','get','ChatQueues','UserProfileResource','stack','name','send','render','merge','body','agent','interaction','account','ChatQueue','fieldName','type','model','map','keys','query','filters','intersection','fields','attributes','length','hasOwnProperty','order','sort','where','pick','filter','VIRTUAL','options','includeAll','include','rows','show','params','rawAttributes','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','findOne','UserChatQueue','ChatQueueId','findAll','findAndCountAll','UserId','chatPause','createdAt','%s/%s','SIP','Team','getTeams','nolimit','addTeams','User','Agents','online','voicePause','interface','flatMap','sequelize','transaction','findOrCreate','emit','userChatQueue:save','select','field','tq.TeamId','team_has_chat_queues','join','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','push','toString','QueryTypes','SELECT','every','includes','all','union','compact','value','removeTeams','ids','isEmpty','removeAgents','forEach','userChatQueue:remove','addAgents','omit','spread','isArray','getAgents','eml-format','rimraf','request-promise','moment','bluebird','mustache','path','to-csv','ejs','fs-extra','lodash','crypto','desk.js','querystring','papaparse','ioredis','../../components/parsers/advancedSearch','../../config/logger','../../config/utils','../../config/environment','../../config/license/util','redis','defaults','./chatQueue.socket','register','jayson/promise','http','request','then','request\x20sent','debug'];(function(_0x1b5aea,_0x1afe6f){var _0x51cae9=function(_0x1494a6){while(--_0x1494a6){_0x1b5aea['push'](_0x1b5aea['shift']());}};_0x51cae9(++_0x1afe6f);}(_0xa23f,0x7c));var _0xfa23=function(_0x2a69c8,_0x44cdc6){_0x2a69c8=_0x2a69c8-0x0;var _0x2dfd63=_0xa23f[_0x2a69c8];return _0x2dfd63;};'use strict';var emlformat=require(_0xfa23('0x0'));var rimraf=require(_0xfa23('0x1'));var zipdir=require('zip-dir');var jsonpatch=require('fast-json-patch');var rp=require(_0xfa23('0x2'));var moment=require(_0xfa23('0x3'));var BPromise=require(_0xfa23('0x4'));var Mustache=require(_0xfa23('0x5'));var util=require('util');var path=require(_0xfa23('0x6'));var sox=require('sox');var csv=require(_0xfa23('0x7'));var ejs=require(_0xfa23('0x8'));var fs=require('fs');var fs_extra=require(_0xfa23('0x9'));var _=require(_0xfa23('0xa'));var squel=require('squel');var crypto=require(_0xfa23('0xb'));var jsforce=require('jsforce');var deskjs=require(_0xfa23('0xc'));var toCsv=require(_0xfa23('0x7'));var querystring=require(_0xfa23('0xd'));var Papa=require(_0xfa23('0xe'));var Redis=require(_0xfa23('0xf'));var authService=require('../../components/auth/service');var qs=require('../../components/parsers/qs');var as=require(_0xfa23('0x10'));var hardwareService=require('../../config/license/hardware');var logger=require(_0xfa23('0x11'))('api');var utils=require(_0xfa23('0x12'));var config=require(_0xfa23('0x13'));var licenseUtil=require(_0xfa23('0x14'));var db=require('../../mysqldb')['db'];config[_0xfa23('0x15')]=_[_0xfa23('0x16')](config[_0xfa23('0x15')],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0xfa23('0x15')]));require(_0xfa23('0x17'))[_0xfa23('0x18')](socket);var jayson=require(_0xfa23('0x19'));var client=jayson['client'][_0xfa23('0x1a')]({'port':0x232a});function respondWithRpcPromise(_0xb7d11a,_0x2095a5,_0x9611e0,_0x542d9a){return new BPromise(function(_0x1c4882,_0x39729e){var _0x3ca6be=_0x542d9a||client;return _0x3ca6be[_0xfa23('0x1b')](_0xb7d11a,_0x9611e0)[_0xfa23('0x1c')](function(_0x4e5b77){logger['info']('ChatQueue,\x20%s,\x20%s',_0x2095a5,_0xfa23('0x1d'));logger[_0xfa23('0x1e')]('ChatQueue,\x20%s,\x20%s,\x20%s',_0x2095a5,_0xfa23('0x1d'),JSON[_0xfa23('0x1f')](_0x4e5b77));if(_0x4e5b77[_0xfa23('0x20')]){if(_0x4e5b77['error'][_0xfa23('0x21')]===0x1f4){logger[_0xfa23('0x20')]('ChatQueue,\x20%s,\x20%s',_0x2095a5,_0x4e5b77[_0xfa23('0x20')][_0xfa23('0x22')]);return _0x39729e(_0x4e5b77[_0xfa23('0x20')][_0xfa23('0x22')]);}logger[_0xfa23('0x20')](_0xfa23('0x23'),_0x2095a5,_0x4e5b77[_0xfa23('0x20')]['message']);return _0x1c4882(_0x4e5b77[_0xfa23('0x20')][_0xfa23('0x22')]);}else{logger[_0xfa23('0x24')](_0xfa23('0x23'),_0x2095a5,'request\x20sent');_0x1c4882(_0x4e5b77[_0xfa23('0x25')]['message']);}})[_0xfa23('0x26')](function(_0x1abb42){logger[_0xfa23('0x20')](_0xfa23('0x23'),_0x2095a5,_0x1abb42);_0x39729e(_0x1abb42);});});}function respondWithStatusCode(_0x3362f3,_0x1340d9){_0x1340d9=_0x1340d9||0xcc;return function(_0x21bbc0){if(_0x21bbc0){return _0x3362f3[_0xfa23('0x27')](_0x1340d9);}return _0x3362f3['status'](_0x1340d9)[_0xfa23('0x28')]();};}function respondWithResult(_0x4ab34d,_0x1ae38a){_0x1ae38a=_0x1ae38a||0xc8;return function(_0x5de208){if(_0x5de208){return _0x4ab34d['status'](_0x1ae38a)[_0xfa23('0x29')](_0x5de208);}};}function respondWithFilteredResult(_0x1a9a90,_0xbf9d19){return function(_0x3b00a8){if(_0x3b00a8){var _0x374169=typeof _0xbf9d19[_0xfa23('0x2a')]===_0xfa23('0x2b')&&typeof _0xbf9d19['limit']===_0xfa23('0x2b');var _0x47ced6=_0x3b00a8[_0xfa23('0x2c')];var _0x6bf719=_0x374169?0x0:_0xbf9d19['offset'];var _0x1c83d0=_0x374169?_0x3b00a8[_0xfa23('0x2c')]:_0xbf9d19[_0xfa23('0x2a')]+_0xbf9d19[_0xfa23('0x2d')];var _0x213c26;if(_0x1c83d0>=_0x47ced6){_0x1c83d0=_0x47ced6;_0x213c26=0xc8;}else{_0x213c26=0xce;}_0x1a9a90[_0xfa23('0x2e')](_0x213c26);return _0x1a9a90[_0xfa23('0x2f')](_0xfa23('0x30'),_0x6bf719+'-'+_0x1c83d0+'/'+_0x47ced6)[_0xfa23('0x29')](_0x3b00a8);}return null;};}function patchUpdates(_0x55320e){return function(_0x2eb32e){try{jsonpatch['apply'](_0x2eb32e,_0x55320e,!![]);}catch(_0x9d0602){return BPromise[_0xfa23('0x31')](_0x9d0602);}return _0x2eb32e[_0xfa23('0x32')]();};}function saveUpdates(_0xaa1d77,_0x1801f1){return function(_0x8ac724){if(_0x8ac724){return _0x8ac724[_0xfa23('0x33')](_0xaa1d77)[_0xfa23('0x1c')](function(_0xaa329c){return _0xaa329c;});}return null;};}function removeEntity(_0x59aa98,_0x1571f8){return function(_0x4e82a3){if(_0x4e82a3){return _0x4e82a3[_0xfa23('0x34')]()[_0xfa23('0x1c')](function(){var _0x17c407=_0x4e82a3[_0xfa23('0x35')]({'plain':!![]});var _0x3fed37=_0xfa23('0x36');return db[_0xfa23('0x37')]['destroy']({'where':{'type':_0x3fed37,'resourceId':_0x17c407['id']}})[_0xfa23('0x1c')](function(){return _0x4e82a3;});})[_0xfa23('0x1c')](function(){_0x59aa98[_0xfa23('0x2e')](0xcc)[_0xfa23('0x28')]();});}};}function handleEntityNotFound(_0x4e286f,_0x47e47d){return function(_0x5179a3){if(!_0x5179a3){_0x4e286f[_0xfa23('0x27')](0x194);}return _0x5179a3;};}function handleError(_0x3e004f,_0x584fa2){_0x584fa2=_0x584fa2||0x1f4;return function(_0x22fd83){logger[_0xfa23('0x20')](_0x22fd83[_0xfa23('0x38')]);if(_0x22fd83['name']){delete _0x22fd83[_0xfa23('0x39')];}_0x3e004f['status'](_0x584fa2)[_0xfa23('0x3a')](_0x22fd83);};}function getMustacheRender(_0xb3ff14,_0x329985){return Mustache[_0xfa23('0x3b')](_0xb3ff14,_[_0xfa23('0x3c')](_0x329985[_0xfa23('0x3d')],{'contact':_0x329985['contact'],'message':_0x329985[_0xfa23('0x22')],'agent':_0x329985[_0xfa23('0x3e')],'interaction':_0x329985[_0xfa23('0x3f')],'account':_0x329985[_0xfa23('0x40')]}))||'';}exports['index']=function(_0x3cafea,_0xa4d21f){var _0x15480c={},_0x41682e={},_0x113552={'count':0x0,'rows':[]};var _0x18e73c=_['map'](db[_0xfa23('0x41')]['rawAttributes'],function(_0x5ec65a){return{'name':_0x5ec65a[_0xfa23('0x42')],'type':_0x5ec65a[_0xfa23('0x43')]['key']};});_0x41682e[_0xfa23('0x44')]=_[_0xfa23('0x45')](_0x18e73c,_0xfa23('0x39'));_0x41682e['query']=_[_0xfa23('0x46')](_0x3cafea[_0xfa23('0x47')]);_0x41682e[_0xfa23('0x48')]=_['intersection'](_0x41682e['model'],_0x41682e[_0xfa23('0x47')]);_0x15480c['attributes']=_[_0xfa23('0x49')](_0x41682e[_0xfa23('0x44')],qs[_0xfa23('0x4a')](_0x3cafea['query'][_0xfa23('0x4a')]));_0x15480c[_0xfa23('0x4b')]=_0x15480c[_0xfa23('0x4b')][_0xfa23('0x4c')]?_0x15480c['attributes']:_0x41682e[_0xfa23('0x44')];if(!_0x3cafea[_0xfa23('0x47')][_0xfa23('0x4d')]('nolimit')){_0x15480c['limit']=qs[_0xfa23('0x2d')](_0x3cafea['query'][_0xfa23('0x2d')]);_0x15480c[_0xfa23('0x2a')]=qs[_0xfa23('0x2a')](_0x3cafea[_0xfa23('0x47')][_0xfa23('0x2a')]);}_0x15480c[_0xfa23('0x4e')]=qs['sort'](_0x3cafea[_0xfa23('0x47')][_0xfa23('0x4f')]);_0x15480c[_0xfa23('0x50')]=qs[_0xfa23('0x48')](_[_0xfa23('0x51')](_0x3cafea[_0xfa23('0x47')],_0x41682e['filters']),_0x18e73c);if(_0x3cafea[_0xfa23('0x47')][_0xfa23('0x52')]){_0x15480c[_0xfa23('0x50')]=_[_0xfa23('0x3c')](_0x15480c[_0xfa23('0x50')],{'$or':_['map'](_0x18e73c,function(_0x1fbdff){if(_0x1fbdff[_0xfa23('0x43')]!==_0xfa23('0x53')){var _0x5e4633={};_0x5e4633[_0x1fbdff[_0xfa23('0x39')]]={'$like':'%'+_0x3cafea[_0xfa23('0x47')][_0xfa23('0x52')]+'%'};return _0x5e4633;}})});}_0x15480c=_[_0xfa23('0x3c')]({},_0x15480c,_0x3cafea[_0xfa23('0x54')]);var _0x312267={'where':_0x15480c[_0xfa23('0x50')]};return db['ChatQueue'][_0xfa23('0x2c')](_0x312267)['then'](function(_0x1cfd06){_0x113552[_0xfa23('0x2c')]=_0x1cfd06;if(_0x3cafea[_0xfa23('0x47')][_0xfa23('0x55')]){_0x15480c[_0xfa23('0x56')]=[{'all':!![]}];}return db[_0xfa23('0x41')]['findAll'](_0x15480c);})[_0xfa23('0x1c')](function(_0x2b7628){_0x113552[_0xfa23('0x57')]=_0x2b7628;return _0x113552;})[_0xfa23('0x1c')](respondWithFilteredResult(_0xa4d21f,_0x15480c))[_0xfa23('0x26')](handleError(_0xa4d21f,null));};exports[_0xfa23('0x58')]=function(_0x953ac7,_0x531c02){var _0x3e1d1a={'raw':!![],'where':{'id':_0x953ac7[_0xfa23('0x59')]['id']}},_0x18280a={};_0x18280a[_0xfa23('0x44')]=_['keys'](db[_0xfa23('0x41')][_0xfa23('0x5a')]);_0x18280a[_0xfa23('0x47')]=_[_0xfa23('0x46')](_0x953ac7[_0xfa23('0x47')]);_0x18280a[_0xfa23('0x48')]=_['intersection'](_0x18280a[_0xfa23('0x44')],_0x18280a['query']);_0x3e1d1a[_0xfa23('0x4b')]=_[_0xfa23('0x49')](_0x18280a['model'],qs[_0xfa23('0x4a')](_0x953ac7[_0xfa23('0x47')]['fields']));_0x3e1d1a[_0xfa23('0x4b')]=_0x3e1d1a[_0xfa23('0x4b')]['length']?_0x3e1d1a[_0xfa23('0x4b')]:_0x18280a[_0xfa23('0x44')];if(_0x953ac7[_0xfa23('0x47')][_0xfa23('0x55')]){_0x3e1d1a['include']=[{'all':!![]}];}_0x3e1d1a=_[_0xfa23('0x3c')]({},_0x3e1d1a,_0x953ac7[_0xfa23('0x54')]);return db['ChatQueue'][_0xfa23('0x5b')](_0x3e1d1a)[_0xfa23('0x1c')](handleEntityNotFound(_0x531c02,null))[_0xfa23('0x1c')](respondWithResult(_0x531c02,null))[_0xfa23('0x26')](handleError(_0x531c02,null));};exports[_0xfa23('0x5c')]=function(_0x30e92f,_0x53b605){return db[_0xfa23('0x41')][_0xfa23('0x5c')](_0x30e92f[_0xfa23('0x3d')],{})['then'](function(_0x125c46){var _0x2e859e=_0x30e92f[_0xfa23('0x5d')]['get']({'plain':!![]});if(!_0x2e859e)throw new Error(_0xfa23('0x5e'));if(_0x2e859e[_0xfa23('0x5f')]===_0xfa23('0x5d')){var _0x14657a=_0x125c46[_0xfa23('0x35')]({'plain':!![]});var _0x58224d='ChatQueues';return db[_0xfa23('0x60')][_0xfa23('0x5b')]({'where':{'name':_0x58224d,'userProfileId':_0x2e859e[_0xfa23('0x61')]},'raw':!![]})[_0xfa23('0x1c')](function(_0x4e86bd){if(_0x4e86bd&&_0x4e86bd['autoAssociation']===0x0){return db[_0xfa23('0x37')][_0xfa23('0x5c')]({'name':_0x14657a[_0xfa23('0x39')],'resourceId':_0x14657a['id'],'type':_0x4e86bd[_0xfa23('0x39')],'sectionId':_0x4e86bd['id']},{})['then'](function(){return _0x125c46;});}else{return _0x125c46;}})[_0xfa23('0x26')](function(_0x1cbc06){logger['error'](_0xfa23('0x62'),_0x1cbc06);throw _0x1cbc06;});}return _0x125c46;})[_0xfa23('0x1c')](respondWithResult(_0x53b605,0xc9))['catch'](handleError(_0x53b605,null));};exports[_0xfa23('0x33')]=function(_0x314137,_0xdd1af1){if(_0x314137[_0xfa23('0x3d')]['id']){delete _0x314137[_0xfa23('0x3d')]['id'];}return db[_0xfa23('0x41')]['find']({'where':{'id':_0x314137[_0xfa23('0x59')]['id']}})['then'](handleEntityNotFound(_0xdd1af1,null))[_0xfa23('0x1c')](saveUpdates(_0x314137[_0xfa23('0x3d')],null))[_0xfa23('0x1c')](respondWithResult(_0xdd1af1,null))[_0xfa23('0x26')](handleError(_0xdd1af1,null));};exports[_0xfa23('0x34')]=function(_0x1f9344,_0x338e17){return db[_0xfa23('0x41')][_0xfa23('0x5b')]({'where':{'id':_0x1f9344['params']['id']}})[_0xfa23('0x1c')](handleEntityNotFound(_0x338e17,null))['then'](removeEntity(_0x338e17,null))[_0xfa23('0x26')](handleError(_0x338e17,null));};exports[_0xfa23('0x63')]=function(_0x4c2103,_0x53d587){return db[_0xfa23('0x41')]['describe']()[_0xfa23('0x1c')](respondWithResult(_0x53d587,null))[_0xfa23('0x26')](handleError(_0x53d587,null));};exports[_0xfa23('0x64')]=function(_0x400fc9,_0x3d0f94,_0x2a624e){var _0x95f957={'raw':!![],'where':{}},_0x4d9d14={},_0x57a71c;return db[_0xfa23('0x41')][_0xfa23('0x65')]({'where':{'id':_0x400fc9[_0xfa23('0x59')]['id']}})[_0xfa23('0x1c')](handleEntityNotFound(_0x3d0f94,null))['then'](function(_0x43f59c){if(_0x43f59c){_0x57a71c=_0x43f59c['get']({'plain':!![]});_0x4d9d14[_0xfa23('0x44')]=_[_0xfa23('0x46')](db[_0xfa23('0x66')][_0xfa23('0x5a')]);_0x4d9d14[_0xfa23('0x47')]=_[_0xfa23('0x46')](_0x400fc9[_0xfa23('0x47')]);_0x4d9d14[_0xfa23('0x48')]=_[_0xfa23('0x49')](_0x4d9d14[_0xfa23('0x44')],_0x4d9d14['query']);_0x95f957['attributes']=_[_0xfa23('0x49')](_0x4d9d14['model'],qs[_0xfa23('0x4a')](_0x400fc9['query'][_0xfa23('0x4a')]));_0x95f957[_0xfa23('0x4b')]=_0x95f957['attributes'][_0xfa23('0x4c')]?_0x95f957['attributes']:_0x4d9d14['model'];if(!_0x400fc9[_0xfa23('0x47')][_0xfa23('0x4d')]('nolimit')){_0x95f957[_0xfa23('0x2d')]=qs[_0xfa23('0x2d')](_0x400fc9[_0xfa23('0x47')][_0xfa23('0x2d')]);_0x95f957[_0xfa23('0x2a')]=qs[_0xfa23('0x2a')](_0x400fc9[_0xfa23('0x47')]['offset']);}_0x95f957[_0xfa23('0x4e')]=qs[_0xfa23('0x4f')](_0x400fc9[_0xfa23('0x47')][_0xfa23('0x4f')]);_0x95f957[_0xfa23('0x50')]=qs['filters'](_[_0xfa23('0x51')](_0x400fc9['query'],_0x4d9d14['filters']));_0x95f957['where'][_0xfa23('0x67')]=_0x43f59c['id'];if(_0x400fc9[_0xfa23('0x47')][_0xfa23('0x52')]){_0x95f957['where']=_[_0xfa23('0x3c')](_0x95f957[_0xfa23('0x50')],{'$or':_['map'](_0x95f957[_0xfa23('0x4b')],function(_0x22ce00){var _0x281fd2={};_0x281fd2[_0x22ce00]={'$like':'%'+_0x400fc9[_0xfa23('0x47')]['filter']+'%'};return _0x281fd2;})});}_0x95f957=_['merge']({},_0x95f957,_0x400fc9[_0xfa23('0x54')]);return db['UserChatQueue'][_0xfa23('0x68')](_0x95f957);}})[_0xfa23('0x1c')](function(_0x3fb9d3){if(_0x3fb9d3){return db['User'][_0xfa23('0x69')]({'where':{'id':_[_0xfa23('0x45')](_0x3fb9d3,_0xfa23('0x6a')),'role':_0xfa23('0x3e')},'attributes':['id',_0xfa23('0x39'),_0xfa23('0x6b'),'updatedAt',_0xfa23('0x6c')]});}})[_0xfa23('0x1c')](function(_0x37548a){if(_0x37548a){return{'count':_0x37548a[_0xfa23('0x2c')],'rows':_[_0xfa23('0x45')](_0x37548a[_0xfa23('0x57')],function(_0x56b78d){return{'membername':_0x56b78d[_0xfa23('0x39')],'UserId':_0x56b78d['id'],'queue_name':_0x57a71c[_0xfa23('0x39')],'ChatQueueId':_0x57a71c['id'],'interface':util['format'](_0xfa23('0x6d'),_0xfa23('0x6e'),_0x56b78d[_0xfa23('0x39')]),'penalty':0x0,'paused':_0x56b78d[_0xfa23('0x6b')],'createdAt':_0x56b78d[_0xfa23('0x6c')],'updatedAt':_0x56b78d['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0xfa23('0x1c')](respondWithFilteredResult(_0x3d0f94,_0x95f957))['catch'](handleError(_0x3d0f94,null));};exports['getTeams']=function(_0x5e54bf,_0x5bc019,_0x23349e){var _0x50e6f5={};var _0x17cec3={};var _0x3affe5;var _0x8fe7e4;return db[_0xfa23('0x41')][_0xfa23('0x65')]({'where':{'id':_0x5e54bf[_0xfa23('0x59')]['id']}})[_0xfa23('0x1c')](handleEntityNotFound(_0x5bc019,null))[_0xfa23('0x1c')](function(_0x53d266){if(_0x53d266){_0x3affe5=_0x53d266;_0x17cec3[_0xfa23('0x44')]=_['keys'](db[_0xfa23('0x6f')][_0xfa23('0x5a')]);_0x17cec3['query']=_[_0xfa23('0x46')](_0x5e54bf[_0xfa23('0x47')]);_0x17cec3['filters']=_[_0xfa23('0x49')](_0x17cec3['model'],_0x17cec3[_0xfa23('0x47')]);_0x50e6f5['attributes']=_[_0xfa23('0x49')](_0x17cec3['model'],qs[_0xfa23('0x4a')](_0x5e54bf[_0xfa23('0x47')]['fields']));_0x50e6f5[_0xfa23('0x4b')]=_0x50e6f5[_0xfa23('0x4b')][_0xfa23('0x4c')]?_0x50e6f5['attributes']:_0x17cec3[_0xfa23('0x44')];_0x50e6f5['order']=qs[_0xfa23('0x4f')](_0x5e54bf[_0xfa23('0x47')][_0xfa23('0x4f')]);_0x50e6f5[_0xfa23('0x50')]=qs['filters'](_[_0xfa23('0x51')](_0x5e54bf['query'],_0x17cec3[_0xfa23('0x48')]));if(_0x5e54bf['query'][_0xfa23('0x52')]){_0x50e6f5[_0xfa23('0x50')]=_[_0xfa23('0x3c')](_0x50e6f5[_0xfa23('0x50')],{'$or':_[_0xfa23('0x45')](_0x50e6f5['attributes'],function(_0x1d747f){var _0x505033={};_0x505033[_0x1d747f]={'$like':'%'+_0x5e54bf['query'][_0xfa23('0x52')]+'%'};return _0x505033;})});}_0x50e6f5=_[_0xfa23('0x3c')]({},_0x50e6f5,_0x5e54bf[_0xfa23('0x54')]);return _0x3affe5[_0xfa23('0x70')](_0x50e6f5);}})['then'](function(_0x367701){if(_0x367701){_0x8fe7e4=_0x367701[_0xfa23('0x4c')];if(!_0x5e54bf[_0xfa23('0x47')][_0xfa23('0x4d')](_0xfa23('0x71'))){_0x50e6f5[_0xfa23('0x2d')]=qs[_0xfa23('0x2d')](_0x5e54bf[_0xfa23('0x47')][_0xfa23('0x2d')]);_0x50e6f5[_0xfa23('0x2a')]=qs[_0xfa23('0x2a')](_0x5e54bf[_0xfa23('0x47')]['offset']);}return _0x3affe5[_0xfa23('0x70')](_0x50e6f5);}})[_0xfa23('0x1c')](function(_0x250869){if(_0x250869){return _0x250869?{'count':_0x8fe7e4,'rows':_0x250869}:null;}})[_0xfa23('0x1c')](respondWithResult(_0x5bc019,null))[_0xfa23('0x26')](handleError(_0x5bc019,null));};exports[_0xfa23('0x72')]=function(_0x43ea,_0x5a4ec3,_0x16ad12){var _0x571f0a=_0x43ea['body']['ids'];return db['Team'][_0xfa23('0x68')]({'where':{'id':_0x571f0a},'attributes':['id'],'include':[{'model':db[_0xfa23('0x73')],'as':_0xfa23('0x74'),'attributes':['id','name',_0xfa23('0x75'),_0xfa23('0x76'),_0xfa23('0x77')],'raw':!![]}]})[_0xfa23('0x1c')](function(_0x382afe){if(_0x382afe){var _0x5d397f=_[_0xfa23('0x78')](_0x382afe,function(_0x45c355){var _0x19acfa=_0x45c355[_0xfa23('0x35')]({'plain':!![]});return _0x19acfa[_0xfa23('0x74')];});return db[_0xfa23('0x41')]['find']({'where':{'id':_0x43ea['params']['id']}})['then'](function(_0x590f3f){return db[_0xfa23('0x79')][_0xfa23('0x7a')](function(_0x27fedb){return _0x590f3f[_0xfa23('0x72')](_0x571f0a,{'transaction':_0x27fedb})[_0xfa23('0x1c')](function(){return BPromise['each'](_0x5d397f,function(_0x59507d){return db[_0xfa23('0x66')][_0xfa23('0x7b')]({'where':{'UserId':_0x59507d['id'],'ChatQueueId':_0x43ea['params']['id']},'transaction':_0x27fedb});});})[_0xfa23('0x1c')](function(){_0x5d397f['forEach'](function(_0x478c77){socket[_0xfa23('0x7c')](_0xfa23('0x7d'),{'UserId':_0x478c77['id'],'ChatQueueId':_0x590f3f['id']});});});});});}})[_0xfa23('0x1c')](respondWithStatusCode(_0x5a4ec3,null))[_0xfa23('0x26')](handleError(_0x5a4ec3,null));};exports['removeTeams']=function(_0x6bdaf0,_0x370cd0,_0x5c3d76){return db[_0xfa23('0x6f')][_0xfa23('0x68')]({'where':{'id':_0x6bdaf0['query']['ids']},'attributes':['id'],'include':[{'model':db[_0xfa23('0x73')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xfa23('0x1c')](handleEntityNotFound(_0x370cd0,null))[_0xfa23('0x1c')](function(_0x3913bb){var _0x1c5309=_[_0xfa23('0x45')](_0x3913bb,'id');var _0x3d566f=[];var _0x26ce87=[];var _0x1235e5=squel[_0xfa23('0x7e')]();_0x1235e5[_0xfa23('0x7f')](_0xfa23('0x80'))['from'](_0xfa23('0x81'),'tq')[_0xfa23('0x82')]('user_has_teams','ut',_0xfa23('0x83'))[_0xfa23('0x50')](_0xfa23('0x84'),_0x6bdaf0[_0xfa23('0x59')]['id']);for(var _0x49ab16=0x0;_0x49ab16<_0x3913bb['length'];_0x49ab16+=0x1){let _0x3c4fde=_0x3913bb[_0x49ab16];for(var _0xe9c198=0x0;_0xe9c198<_0x3c4fde[_0xfa23('0x74')][_0xfa23('0x4c')];_0xe9c198+=0x1){let _0x51dad6=_0x3c4fde['Agents'][_0xe9c198];var _0x393695=_0x1235e5[_0xfa23('0x85')]();_0x393695[_0xfa23('0x50')]('ut.UserId\x20=\x20?',_0x51dad6['id']);_0x26ce87[_0xfa23('0x86')](db[_0xfa23('0x79')]['query'](_0x393695[_0xfa23('0x87')](),{'type':db[_0xfa23('0x79')][_0xfa23('0x88')][_0xfa23('0x89')]})[_0xfa23('0x1c')](function(_0x456bb3){if(_0x456bb3[_0xfa23('0x4c')]===0x1){return _0x51dad6['id'];}else{var _0x3d5f5c=_[_0xfa23('0x8a')](_['map'](_0x456bb3,'TeamId'),function(_0x3aee02){return _[_0xfa23('0x8b')](_0x1c5309,_0x3aee02);});if(_0x3d5f5c){return _0x51dad6['id'];}}}));}}return BPromise[_0xfa23('0x8c')](_0x26ce87)['then'](function(_0x2e608b){_0x3d566f=_(_0x3d566f)[_0xfa23('0x8d')](_0x2e608b)[_0xfa23('0x8e')]()[_0xfa23('0x8f')]();return db[_0xfa23('0x41')][_0xfa23('0x5b')]({'where':{'id':_0x6bdaf0[_0xfa23('0x59')]['id']}})[_0xfa23('0x1c')](function(_0x5755d0){return db[_0xfa23('0x79')][_0xfa23('0x7a')](function(_0x1e3219){return _0x5755d0[_0xfa23('0x90')](_0x6bdaf0[_0xfa23('0x47')][_0xfa23('0x91')],{'transaction':_0x1e3219})['then'](function(){if(!_[_0xfa23('0x92')](_0x3d566f)){return _0x5755d0[_0xfa23('0x93')](_0x3d566f,{'transaction':_0x1e3219});}})['then'](function(){_0x3d566f[_0xfa23('0x94')](function(_0x389809){socket[_0xfa23('0x7c')](_0xfa23('0x95'),{'UserId':_0x389809,'ChatQueueId':_0x5755d0['id']});});});});});});})[_0xfa23('0x1c')](respondWithStatusCode(_0x370cd0,null))[_0xfa23('0x26')](handleError(_0x370cd0,null));};exports[_0xfa23('0x96')]=function(_0x14139c,_0x1f7928,_0x273e3b){return db[_0xfa23('0x41')][_0xfa23('0x5b')]({'where':{'id':_0x14139c[_0xfa23('0x59')]['id']}})[_0xfa23('0x1c')](handleEntityNotFound(_0x1f7928,null))[_0xfa23('0x1c')](function(_0x8a7fca){if(_0x8a7fca){return _0x8a7fca[_0xfa23('0x96')](_0x14139c[_0xfa23('0x3d')][_0xfa23('0x91')],_[_0xfa23('0x97')](_0x14139c[_0xfa23('0x3d')],['ids','id'])||{})[_0xfa23('0x98')](function(_0x37146b){for(var _0x3116f6=0x0;_0x3116f6<_0x14139c[_0xfa23('0x3d')][_0xfa23('0x91')]['length'];_0x3116f6+=0x1){socket[_0xfa23('0x7c')](_0xfa23('0x7d'),{'UserId':_0x14139c['body'][_0xfa23('0x91')][_0x3116f6],'ChatQueueId':_0x14139c[_0xfa23('0x59')]['id']});}return _0x37146b;});}})[_0xfa23('0x1c')](respondWithResult(_0x1f7928,null))[_0xfa23('0x26')](handleError(_0x1f7928,null));};exports[_0xfa23('0x93')]=function(_0x139ca1,_0x4c4332,_0x3f406b){return db[_0xfa23('0x41')][_0xfa23('0x5b')]({'where':{'id':_0x139ca1[_0xfa23('0x59')]['id']}})[_0xfa23('0x1c')](handleEntityNotFound(_0x4c4332,null))[_0xfa23('0x1c')](function(_0x8c9282){if(_0x8c9282){return _0x8c9282[_0xfa23('0x93')](_0x139ca1[_0xfa23('0x47')]['ids'])[_0xfa23('0x1c')](function(){if(_[_0xfa23('0x99')](_0x139ca1[_0xfa23('0x47')]['ids'])){for(var _0x3bb8eb=0x0;_0x3bb8eb<_0x139ca1[_0xfa23('0x47')][_0xfa23('0x91')][_0xfa23('0x4c')];_0x3bb8eb+=0x1){socket[_0xfa23('0x7c')](_0xfa23('0x95'),{'UserId':Number(_0x139ca1[_0xfa23('0x47')][_0xfa23('0x91')][_0x3bb8eb]),'ChatQueueId':Number(_0x139ca1[_0xfa23('0x59')]['id'])});}}else{socket[_0xfa23('0x7c')]('userChatQueue:remove',{'UserId':Number(_0x139ca1[_0xfa23('0x47')][_0xfa23('0x91')]),'ChatQueueId':Number(_0x139ca1['params']['id'])});}});}})['then'](respondWithStatusCode(_0x4c4332,null))[_0xfa23('0x26')](handleError(_0x4c4332,null));};exports[_0xfa23('0x9a')]=function(_0x341071,_0xdb4344,_0x47954d){var _0x204a8f={};var _0x499443={};var _0x1de2bb;var _0x59ca8a;return db[_0xfa23('0x41')][_0xfa23('0x65')]({'where':{'id':_0x341071['params']['id']}})[_0xfa23('0x1c')](handleEntityNotFound(_0xdb4344,null))[_0xfa23('0x1c')](function(_0x46d1ca){if(_0x46d1ca){_0x1de2bb=_0x46d1ca;_0x499443[_0xfa23('0x44')]=_[_0xfa23('0x46')](db[_0xfa23('0x73')][_0xfa23('0x5a')]);_0x499443[_0xfa23('0x47')]=_['keys'](_0x341071['query']);_0x499443[_0xfa23('0x48')]=_[_0xfa23('0x49')](_0x499443[_0xfa23('0x44')],_0x499443[_0xfa23('0x47')]);_0x204a8f[_0xfa23('0x4b')]=_[_0xfa23('0x49')](_0x499443[_0xfa23('0x44')],qs[_0xfa23('0x4a')](_0x341071[_0xfa23('0x47')][_0xfa23('0x4a')]));_0x204a8f[_0xfa23('0x4b')]=_0x204a8f[_0xfa23('0x4b')][_0xfa23('0x4c')]?_0x204a8f[_0xfa23('0x4b')]:_0x499443[_0xfa23('0x44')];_0x204a8f['order']=qs['sort'](_0x341071['query'][_0xfa23('0x4f')]);_0x204a8f['where']=qs[_0xfa23('0x48')](_[_0xfa23('0x51')](_0x341071[_0xfa23('0x47')],_0x499443[_0xfa23('0x48')]));if(_0x341071['query'][_0xfa23('0x52')]){_0x204a8f['where']=_[_0xfa23('0x3c')](_0x204a8f['where'],{'$or':_[_0xfa23('0x45')](_0x204a8f[_0xfa23('0x4b')],function(_0x3d7c9b){var _0x2a44ae={};_0x2a44ae[_0x3d7c9b]={'$like':'%'+_0x341071[_0xfa23('0x47')][_0xfa23('0x52')]+'%'};return _0x2a44ae;})});}_0x204a8f=_[_0xfa23('0x3c')]({},_0x204a8f,_0x341071[_0xfa23('0x54')]);return _0x1de2bb['getAgents'](_0x204a8f);}})[_0xfa23('0x1c')](function(_0xd31f63){if(_0xd31f63){_0x59ca8a=_0xd31f63[_0xfa23('0x4c')];if(!_0x341071[_0xfa23('0x47')]['hasOwnProperty'](_0xfa23('0x71'))){_0x204a8f[_0xfa23('0x2d')]=qs[_0xfa23('0x2d')](_0x341071[_0xfa23('0x47')][_0xfa23('0x2d')]);_0x204a8f[_0xfa23('0x2a')]=qs[_0xfa23('0x2a')](_0x341071[_0xfa23('0x47')][_0xfa23('0x2a')]);}return _0x1de2bb['getAgents'](_0x204a8f);}})[_0xfa23('0x1c')](function(_0x2adb54){if(_0x2adb54){return _0x2adb54?{'count':_0x59ca8a,'rows':_0x2adb54}:null;}})[_0xfa23('0x1c')](respondWithResult(_0xdb4344,null))['catch'](handleError(_0xdb4344,null));};