8ffe6ba853c1dc2eabffd3eae7066f6602b84402
[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 _0x2a1b=['nolimit','limit','order','where','pick','filter','merge','type','VIRTUAL','options','includeAll','rows','show','params','catch','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','find','userProfileId','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','findOne','hasOwnProperty','sort','UserChatQueue','findAll','User','findAndCountAll','UserId','agent','chatPause','updatedAt','createdAt','%s/%s','Team','getTeams','online','interface','flatMap','Agents','sequelize','addTeams','each','findOrCreate','forEach','emit','userChatQueue:save','select','tq.TeamId','from','join','user_has_teams','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','SELECT','every','TeamId','includes','all','union','compact','value','removeTeams','ids','isEmpty','removeAgents','addAgents','omit','spread','isArray','userChatQueue:remove','getAgents','eml-format','rimraf','zip-dir','request-promise','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./chatQueue.socket','register','client','http','info','ChatQueue,\x20%s,\x20%s','ChatQueue,\x20%s,\x20%s,\x20%s','request\x20sent','error','message','result','sendStatus','status','end','json','offset','undefined','count','set','apply','reject','save','update','then','get','ChatQueues','UserProfileResource','destroy','stack','name','send','map','ChatQueue','rawAttributes','fieldName','key','query','keys','filters','intersection','model','fields','attributes','length'];(function(_0xa01b47,_0x534fcf){var _0x519b41=function(_0x230c06){while(--_0x230c06){_0xa01b47['push'](_0xa01b47['shift']());}};_0x519b41(++_0x534fcf);}(_0x2a1b,0x18d));var _0xb2a1=function(_0x94fb7,_0x38fd79){_0x94fb7=_0x94fb7-0x0;var _0x11e0a0=_0x2a1b[_0x94fb7];return _0x11e0a0;};'use strict';var emlformat=require(_0xb2a1('0x0'));var rimraf=require(_0xb2a1('0x1'));var zipdir=require(_0xb2a1('0x2'));var jsonpatch=require('fast-json-patch');var rp=require(_0xb2a1('0x3'));var moment=require('moment');var BPromise=require(_0xb2a1('0x4'));var Mustache=require(_0xb2a1('0x5'));var util=require(_0xb2a1('0x6'));var path=require(_0xb2a1('0x7'));var sox=require(_0xb2a1('0x8'));var csv=require(_0xb2a1('0x9'));var ejs=require(_0xb2a1('0xa'));var fs=require('fs');var fs_extra=require(_0xb2a1('0xb'));var _=require(_0xb2a1('0xc'));var squel=require(_0xb2a1('0xd'));var crypto=require(_0xb2a1('0xe'));var jsforce=require(_0xb2a1('0xf'));var deskjs=require(_0xb2a1('0x10'));var toCsv=require('to-csv');var querystring=require(_0xb2a1('0x11'));var Papa=require(_0xb2a1('0x12'));var Redis=require(_0xb2a1('0x13'));var authService=require(_0xb2a1('0x14'));var qs=require('../../components/parsers/qs');var as=require(_0xb2a1('0x15'));var hardwareService=require(_0xb2a1('0x16'));var logger=require(_0xb2a1('0x17'))(_0xb2a1('0x18'));var utils=require(_0xb2a1('0x19'));var config=require(_0xb2a1('0x1a'));var licenseUtil=require(_0xb2a1('0x1b'));var db=require(_0xb2a1('0x1c'))['db'];config['redis']=_[_0xb2a1('0x1d')](config[_0xb2a1('0x1e')],{'host':_0xb2a1('0x1f'),'port':0x18eb});var socket=require(_0xb2a1('0x20'))(new Redis(config['redis']));require(_0xb2a1('0x21'))[_0xb2a1('0x22')](socket);var jayson=require('jayson/promise');var client=jayson[_0xb2a1('0x23')][_0xb2a1('0x24')]({'port':0x232a});function respondWithRpcPromise(_0x3f39d1,_0x4e9147,_0xfcfc66,_0x19f8a9){return new BPromise(function(_0x44181c,_0x52eaa6){var _0xaac1b=_0x19f8a9||client;return _0xaac1b['request'](_0x3f39d1,_0xfcfc66)['then'](function(_0x2f9a9e){logger[_0xb2a1('0x25')](_0xb2a1('0x26'),_0x4e9147,'request\x20sent');logger['debug'](_0xb2a1('0x27'),_0x4e9147,_0xb2a1('0x28'),JSON['stringify'](_0x2f9a9e));if(_0x2f9a9e[_0xb2a1('0x29')]){if(_0x2f9a9e['error']['code']===0x1f4){logger[_0xb2a1('0x29')](_0xb2a1('0x26'),_0x4e9147,_0x2f9a9e[_0xb2a1('0x29')][_0xb2a1('0x2a')]);return _0x52eaa6(_0x2f9a9e[_0xb2a1('0x29')]['message']);}logger[_0xb2a1('0x29')](_0xb2a1('0x26'),_0x4e9147,_0x2f9a9e[_0xb2a1('0x29')][_0xb2a1('0x2a')]);return _0x44181c(_0x2f9a9e[_0xb2a1('0x29')][_0xb2a1('0x2a')]);}else{logger[_0xb2a1('0x25')](_0xb2a1('0x26'),_0x4e9147,_0xb2a1('0x28'));_0x44181c(_0x2f9a9e[_0xb2a1('0x2b')][_0xb2a1('0x2a')]);}})['catch'](function(_0xe478f){logger['error'](_0xb2a1('0x26'),_0x4e9147,_0xe478f);_0x52eaa6(_0xe478f);});});}function respondWithStatusCode(_0x4cdeaf,_0x2d65cd){_0x2d65cd=_0x2d65cd||0xcc;return function(_0x3264aa){if(_0x3264aa){return _0x4cdeaf[_0xb2a1('0x2c')](_0x2d65cd);}return _0x4cdeaf[_0xb2a1('0x2d')](_0x2d65cd)[_0xb2a1('0x2e')]();};}function respondWithResult(_0x42d7ab,_0x6460d1){_0x6460d1=_0x6460d1||0xc8;return function(_0xfd5d9b){if(_0xfd5d9b){return _0x42d7ab[_0xb2a1('0x2d')](_0x6460d1)[_0xb2a1('0x2f')](_0xfd5d9b);}};}function respondWithFilteredResult(_0x1e0c67,_0x2170f3){return function(_0x34683f){if(_0x34683f){var _0xf3c35a=typeof _0x2170f3[_0xb2a1('0x30')]===_0xb2a1('0x31')&&typeof _0x2170f3['limit']===_0xb2a1('0x31');var _0x2d7a6e=_0x34683f[_0xb2a1('0x32')];var _0x14e867=_0xf3c35a?0x0:_0x2170f3[_0xb2a1('0x30')];var _0x363bd3=_0xf3c35a?_0x34683f[_0xb2a1('0x32')]:_0x2170f3[_0xb2a1('0x30')]+_0x2170f3['limit'];var _0x5af184;if(_0x363bd3>=_0x2d7a6e){_0x363bd3=_0x2d7a6e;_0x5af184=0xc8;}else{_0x5af184=0xce;}_0x1e0c67[_0xb2a1('0x2d')](_0x5af184);return _0x1e0c67[_0xb2a1('0x33')]('Content-Range',_0x14e867+'-'+_0x363bd3+'/'+_0x2d7a6e)[_0xb2a1('0x2f')](_0x34683f);}return null;};}function patchUpdates(_0x7b6f55){return function(_0x816815){try{jsonpatch[_0xb2a1('0x34')](_0x816815,_0x7b6f55,!![]);}catch(_0x4fad4d){return BPromise[_0xb2a1('0x35')](_0x4fad4d);}return _0x816815[_0xb2a1('0x36')]();};}function saveUpdates(_0x35fc7c,_0x56def4){return function(_0x375967){if(_0x375967){return _0x375967[_0xb2a1('0x37')](_0x35fc7c)['then'](function(_0x4579e8){return _0x4579e8;});}return null;};}function removeEntity(_0x5a95f4,_0x57b383){return function(_0x2fab4a){if(_0x2fab4a){return _0x2fab4a['destroy']()[_0xb2a1('0x38')](function(){var _0x25ce9b=_0x2fab4a[_0xb2a1('0x39')]({'plain':!![]});var _0x2059ad=_0xb2a1('0x3a');return db[_0xb2a1('0x3b')][_0xb2a1('0x3c')]({'where':{'type':_0x2059ad,'resourceId':_0x25ce9b['id']}})[_0xb2a1('0x38')](function(){return _0x2fab4a;});})[_0xb2a1('0x38')](function(){_0x5a95f4[_0xb2a1('0x2d')](0xcc)[_0xb2a1('0x2e')]();});}};}function handleEntityNotFound(_0x386c7f,_0x52d6fa){return function(_0x35fa64){if(!_0x35fa64){_0x386c7f[_0xb2a1('0x2c')](0x194);}return _0x35fa64;};}function handleError(_0x2c8be7,_0x1afb72){_0x1afb72=_0x1afb72||0x1f4;return function(_0x4a239d){logger[_0xb2a1('0x29')](_0x4a239d[_0xb2a1('0x3d')]);if(_0x4a239d[_0xb2a1('0x3e')]){delete _0x4a239d[_0xb2a1('0x3e')];}_0x2c8be7['status'](_0x1afb72)[_0xb2a1('0x3f')](_0x4a239d);};}exports['index']=function(_0x180221,_0x4a284b){var _0x801505={},_0x16271a={},_0x250aa4={'count':0x0,'rows':[]};var _0x3d83c4=_[_0xb2a1('0x40')](db[_0xb2a1('0x41')][_0xb2a1('0x42')],function(_0x56b8fd){return{'name':_0x56b8fd[_0xb2a1('0x43')],'type':_0x56b8fd['type'][_0xb2a1('0x44')]};});_0x16271a['model']=_[_0xb2a1('0x40')](_0x3d83c4,_0xb2a1('0x3e'));_0x16271a[_0xb2a1('0x45')]=_[_0xb2a1('0x46')](_0x180221[_0xb2a1('0x45')]);_0x16271a[_0xb2a1('0x47')]=_[_0xb2a1('0x48')](_0x16271a[_0xb2a1('0x49')],_0x16271a['query']);_0x801505['attributes']=_['intersection'](_0x16271a[_0xb2a1('0x49')],qs[_0xb2a1('0x4a')](_0x180221[_0xb2a1('0x45')]['fields']));_0x801505[_0xb2a1('0x4b')]=_0x801505[_0xb2a1('0x4b')][_0xb2a1('0x4c')]?_0x801505[_0xb2a1('0x4b')]:_0x16271a[_0xb2a1('0x49')];if(!_0x180221[_0xb2a1('0x45')]['hasOwnProperty'](_0xb2a1('0x4d'))){_0x801505[_0xb2a1('0x4e')]=qs[_0xb2a1('0x4e')](_0x180221['query'][_0xb2a1('0x4e')]);_0x801505[_0xb2a1('0x30')]=qs[_0xb2a1('0x30')](_0x180221[_0xb2a1('0x45')][_0xb2a1('0x30')]);}_0x801505[_0xb2a1('0x4f')]=qs['sort'](_0x180221['query']['sort']);_0x801505[_0xb2a1('0x50')]=qs[_0xb2a1('0x47')](_[_0xb2a1('0x51')](_0x180221['query'],_0x16271a[_0xb2a1('0x47')]),_0x3d83c4);if(_0x180221[_0xb2a1('0x45')][_0xb2a1('0x52')]){_0x801505[_0xb2a1('0x50')]=_[_0xb2a1('0x53')](_0x801505[_0xb2a1('0x50')],{'$or':_['map'](_0x3d83c4,function(_0x4be55b){if(_0x4be55b[_0xb2a1('0x54')]!==_0xb2a1('0x55')){var _0x34fdd1={};_0x34fdd1[_0x4be55b[_0xb2a1('0x3e')]]={'$like':'%'+_0x180221[_0xb2a1('0x45')]['filter']+'%'};return _0x34fdd1;}})});}_0x801505=_[_0xb2a1('0x53')]({},_0x801505,_0x180221[_0xb2a1('0x56')]);var _0xb01cc7={'where':_0x801505[_0xb2a1('0x50')]};return db['ChatQueue'][_0xb2a1('0x32')](_0xb01cc7)[_0xb2a1('0x38')](function(_0x161b46){_0x250aa4['count']=_0x161b46;if(_0x180221['query'][_0xb2a1('0x57')]){_0x801505['include']=[{'all':!![]}];}return db[_0xb2a1('0x41')]['findAll'](_0x801505);})[_0xb2a1('0x38')](function(_0x1ac26a){_0x250aa4[_0xb2a1('0x58')]=_0x1ac26a;return _0x250aa4;})[_0xb2a1('0x38')](respondWithFilteredResult(_0x4a284b,_0x801505))['catch'](handleError(_0x4a284b,null));};exports[_0xb2a1('0x59')]=function(_0x38144b,_0x429c0d){var _0x1e09e8={'raw':!![],'where':{'id':_0x38144b[_0xb2a1('0x5a')]['id']}},_0x393324={};_0x393324[_0xb2a1('0x49')]=_[_0xb2a1('0x46')](db[_0xb2a1('0x41')][_0xb2a1('0x42')]);_0x393324[_0xb2a1('0x45')]=_[_0xb2a1('0x46')](_0x38144b[_0xb2a1('0x45')]);_0x393324[_0xb2a1('0x47')]=_[_0xb2a1('0x48')](_0x393324[_0xb2a1('0x49')],_0x393324[_0xb2a1('0x45')]);_0x1e09e8['attributes']=_['intersection'](_0x393324[_0xb2a1('0x49')],qs[_0xb2a1('0x4a')](_0x38144b[_0xb2a1('0x45')][_0xb2a1('0x4a')]));_0x1e09e8['attributes']=_0x1e09e8[_0xb2a1('0x4b')][_0xb2a1('0x4c')]?_0x1e09e8[_0xb2a1('0x4b')]:_0x393324[_0xb2a1('0x49')];if(_0x38144b[_0xb2a1('0x45')][_0xb2a1('0x57')]){_0x1e09e8['include']=[{'all':!![]}];}_0x1e09e8=_['merge']({},_0x1e09e8,_0x38144b[_0xb2a1('0x56')]);return db[_0xb2a1('0x41')]['find'](_0x1e09e8)[_0xb2a1('0x38')](handleEntityNotFound(_0x429c0d,null))[_0xb2a1('0x38')](respondWithResult(_0x429c0d,null))[_0xb2a1('0x5b')](handleError(_0x429c0d,null));};exports[_0xb2a1('0x5c')]=function(_0x2d43a1,_0x44fc90){return db[_0xb2a1('0x41')][_0xb2a1('0x5c')](_0x2d43a1['body'],{})[_0xb2a1('0x38')](function(_0x30a914){var _0x58915c=_0x2d43a1[_0xb2a1('0x5d')][_0xb2a1('0x39')]({'plain':!![]});if(!_0x58915c)throw new Error(_0xb2a1('0x5e'));if(_0x58915c[_0xb2a1('0x5f')]===_0xb2a1('0x5d')){var _0xa2bec7=_0x30a914[_0xb2a1('0x39')]({'plain':!![]});var _0x2495d2=_0xb2a1('0x3a');return db[_0xb2a1('0x60')][_0xb2a1('0x61')]({'where':{'name':_0x2495d2,'userProfileId':_0x58915c[_0xb2a1('0x62')]},'raw':!![]})[_0xb2a1('0x38')](function(_0x1e8e8c){if(_0x1e8e8c&&_0x1e8e8c[_0xb2a1('0x63')]===0x0){return db[_0xb2a1('0x3b')][_0xb2a1('0x5c')]({'name':_0xa2bec7['name'],'resourceId':_0xa2bec7['id'],'type':_0x1e8e8c[_0xb2a1('0x3e')],'sectionId':_0x1e8e8c['id']},{})[_0xb2a1('0x38')](function(){return _0x30a914;});}else{return _0x30a914;}})[_0xb2a1('0x5b')](function(_0x4a6dec){logger['error'](_0xb2a1('0x64'),_0x4a6dec);throw _0x4a6dec;});}return _0x30a914;})['then'](respondWithResult(_0x44fc90,0xc9))[_0xb2a1('0x5b')](handleError(_0x44fc90,null));};exports[_0xb2a1('0x37')]=function(_0x593d23,_0x345ebd){if(_0x593d23[_0xb2a1('0x65')]['id']){delete _0x593d23['body']['id'];}return db[_0xb2a1('0x41')][_0xb2a1('0x61')]({'where':{'id':_0x593d23['params']['id']}})[_0xb2a1('0x38')](handleEntityNotFound(_0x345ebd,null))[_0xb2a1('0x38')](saveUpdates(_0x593d23[_0xb2a1('0x65')],null))[_0xb2a1('0x38')](respondWithResult(_0x345ebd,null))['catch'](handleError(_0x345ebd,null));};exports[_0xb2a1('0x3c')]=function(_0x4eeb48,_0x54c342){return db[_0xb2a1('0x41')][_0xb2a1('0x61')]({'where':{'id':_0x4eeb48[_0xb2a1('0x5a')]['id']}})[_0xb2a1('0x38')](handleEntityNotFound(_0x54c342,null))[_0xb2a1('0x38')](removeEntity(_0x54c342,null))[_0xb2a1('0x5b')](handleError(_0x54c342,null));};exports[_0xb2a1('0x66')]=function(_0x1d647b,_0x1d8f4d){return db['ChatQueue'][_0xb2a1('0x66')]()[_0xb2a1('0x38')](respondWithResult(_0x1d8f4d,null))[_0xb2a1('0x5b')](handleError(_0x1d8f4d,null));};exports[_0xb2a1('0x67')]=function(_0x2632cd,_0x224c56,_0x449322){var _0x4372c3={'raw':!![],'where':{}},_0x3403e9={},_0x4f0781;return db[_0xb2a1('0x41')][_0xb2a1('0x68')]({'where':{'id':_0x2632cd['params']['id']}})['then'](handleEntityNotFound(_0x224c56,null))['then'](function(_0x2348d7){if(_0x2348d7){_0x4f0781=_0x2348d7[_0xb2a1('0x39')]({'plain':!![]});_0x3403e9[_0xb2a1('0x49')]=_[_0xb2a1('0x46')](db['UserChatQueue'][_0xb2a1('0x42')]);_0x3403e9[_0xb2a1('0x45')]=_[_0xb2a1('0x46')](_0x2632cd[_0xb2a1('0x45')]);_0x3403e9['filters']=_[_0xb2a1('0x48')](_0x3403e9[_0xb2a1('0x49')],_0x3403e9[_0xb2a1('0x45')]);_0x4372c3[_0xb2a1('0x4b')]=_['intersection'](_0x3403e9['model'],qs[_0xb2a1('0x4a')](_0x2632cd[_0xb2a1('0x45')][_0xb2a1('0x4a')]));_0x4372c3[_0xb2a1('0x4b')]=_0x4372c3[_0xb2a1('0x4b')][_0xb2a1('0x4c')]?_0x4372c3[_0xb2a1('0x4b')]:_0x3403e9[_0xb2a1('0x49')];if(!_0x2632cd['query'][_0xb2a1('0x69')]('nolimit')){_0x4372c3[_0xb2a1('0x4e')]=qs[_0xb2a1('0x4e')](_0x2632cd['query']['limit']);_0x4372c3[_0xb2a1('0x30')]=qs['offset'](_0x2632cd[_0xb2a1('0x45')]['offset']);}_0x4372c3[_0xb2a1('0x4f')]=qs[_0xb2a1('0x6a')](_0x2632cd[_0xb2a1('0x45')][_0xb2a1('0x6a')]);_0x4372c3[_0xb2a1('0x50')]=qs[_0xb2a1('0x47')](_[_0xb2a1('0x51')](_0x2632cd[_0xb2a1('0x45')],_0x3403e9['filters']));_0x4372c3[_0xb2a1('0x50')]['ChatQueueId']=_0x2348d7['id'];if(_0x2632cd[_0xb2a1('0x45')][_0xb2a1('0x52')]){_0x4372c3[_0xb2a1('0x50')]=_[_0xb2a1('0x53')](_0x4372c3[_0xb2a1('0x50')],{'$or':_[_0xb2a1('0x40')](_0x4372c3[_0xb2a1('0x4b')],function(_0x9e9a63){var _0x28a211={};_0x28a211[_0x9e9a63]={'$like':'%'+_0x2632cd[_0xb2a1('0x45')]['filter']+'%'};return _0x28a211;})});}_0x4372c3=_[_0xb2a1('0x53')]({},_0x4372c3,_0x2632cd[_0xb2a1('0x56')]);return db[_0xb2a1('0x6b')][_0xb2a1('0x6c')](_0x4372c3);}})['then'](function(_0x82eea9){if(_0x82eea9){return db[_0xb2a1('0x6d')][_0xb2a1('0x6e')]({'where':{'id':_[_0xb2a1('0x40')](_0x82eea9,_0xb2a1('0x6f')),'role':_0xb2a1('0x70')},'attributes':['id',_0xb2a1('0x3e'),_0xb2a1('0x71'),_0xb2a1('0x72'),_0xb2a1('0x73')]});}})[_0xb2a1('0x38')](function(_0x786dfb){if(_0x786dfb){return{'count':_0x786dfb[_0xb2a1('0x32')],'rows':_['map'](_0x786dfb['rows'],function(_0x4cd93d){return{'membername':_0x4cd93d[_0xb2a1('0x3e')],'UserId':_0x4cd93d['id'],'queue_name':_0x4f0781[_0xb2a1('0x3e')],'ChatQueueId':_0x4f0781['id'],'interface':util['format'](_0xb2a1('0x74'),'SIP',_0x4cd93d[_0xb2a1('0x3e')]),'penalty':0x0,'paused':_0x4cd93d[_0xb2a1('0x71')],'createdAt':_0x4cd93d[_0xb2a1('0x73')],'updatedAt':_0x4cd93d[_0xb2a1('0x72')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x224c56,_0x4372c3))[_0xb2a1('0x5b')](handleError(_0x224c56,null));};exports['getTeams']=function(_0x1fec7d,_0x258c67,_0x2abc62){var _0x13fc18={};var _0x76bde1={};var _0x41193a;var _0x34a5ca;return db[_0xb2a1('0x41')]['findOne']({'where':{'id':_0x1fec7d[_0xb2a1('0x5a')]['id']}})[_0xb2a1('0x38')](handleEntityNotFound(_0x258c67,null))['then'](function(_0x9f4935){if(_0x9f4935){_0x41193a=_0x9f4935;_0x76bde1['model']=_['keys'](db[_0xb2a1('0x75')][_0xb2a1('0x42')]);_0x76bde1[_0xb2a1('0x45')]=_[_0xb2a1('0x46')](_0x1fec7d[_0xb2a1('0x45')]);_0x76bde1[_0xb2a1('0x47')]=_[_0xb2a1('0x48')](_0x76bde1[_0xb2a1('0x49')],_0x76bde1['query']);_0x13fc18[_0xb2a1('0x4b')]=_[_0xb2a1('0x48')](_0x76bde1['model'],qs[_0xb2a1('0x4a')](_0x1fec7d['query'][_0xb2a1('0x4a')]));_0x13fc18[_0xb2a1('0x4b')]=_0x13fc18[_0xb2a1('0x4b')]['length']?_0x13fc18[_0xb2a1('0x4b')]:_0x76bde1[_0xb2a1('0x49')];_0x13fc18[_0xb2a1('0x4f')]=qs['sort'](_0x1fec7d[_0xb2a1('0x45')][_0xb2a1('0x6a')]);_0x13fc18['where']=qs[_0xb2a1('0x47')](_[_0xb2a1('0x51')](_0x1fec7d['query'],_0x76bde1[_0xb2a1('0x47')]));if(_0x1fec7d['query'][_0xb2a1('0x52')]){_0x13fc18[_0xb2a1('0x50')]=_['merge'](_0x13fc18[_0xb2a1('0x50')],{'$or':_['map'](_0x13fc18[_0xb2a1('0x4b')],function(_0x5206ab){var _0x18449c={};_0x18449c[_0x5206ab]={'$like':'%'+_0x1fec7d[_0xb2a1('0x45')][_0xb2a1('0x52')]+'%'};return _0x18449c;})});}_0x13fc18=_[_0xb2a1('0x53')]({},_0x13fc18,_0x1fec7d['options']);return _0x41193a[_0xb2a1('0x76')](_0x13fc18);}})['then'](function(_0x5ac1e0){if(_0x5ac1e0){_0x34a5ca=_0x5ac1e0[_0xb2a1('0x4c')];if(!_0x1fec7d[_0xb2a1('0x45')][_0xb2a1('0x69')](_0xb2a1('0x4d'))){_0x13fc18[_0xb2a1('0x4e')]=qs[_0xb2a1('0x4e')](_0x1fec7d[_0xb2a1('0x45')][_0xb2a1('0x4e')]);_0x13fc18['offset']=qs[_0xb2a1('0x30')](_0x1fec7d[_0xb2a1('0x45')]['offset']);}return _0x41193a[_0xb2a1('0x76')](_0x13fc18);}})[_0xb2a1('0x38')](function(_0x416a2c){if(_0x416a2c){return _0x416a2c?{'count':_0x34a5ca,'rows':_0x416a2c}:null;}})[_0xb2a1('0x38')](respondWithResult(_0x258c67,null))[_0xb2a1('0x5b')](handleError(_0x258c67,null));};exports['addTeams']=function(_0x2e8419,_0x545c0b,_0x1415c9){var _0x3b347a=_0x2e8419[_0xb2a1('0x65')]['ids'];return db[_0xb2a1('0x75')]['findAll']({'where':{'id':_0x3b347a},'attributes':['id'],'include':[{'model':db[_0xb2a1('0x6d')],'as':'Agents','attributes':['id',_0xb2a1('0x3e'),_0xb2a1('0x77'),'voicePause',_0xb2a1('0x78')],'raw':!![]}]})[_0xb2a1('0x38')](function(_0x34160b){if(_0x34160b){var _0x8b85bc=_[_0xb2a1('0x79')](_0x34160b,function(_0x541b0f){var _0x2b5ac8=_0x541b0f[_0xb2a1('0x39')]({'plain':!![]});return _0x2b5ac8[_0xb2a1('0x7a')];});return db[_0xb2a1('0x41')][_0xb2a1('0x61')]({'where':{'id':_0x2e8419[_0xb2a1('0x5a')]['id']}})['then'](function(_0x531897){return db[_0xb2a1('0x7b')]['transaction'](function(_0x36e0f7){return _0x531897[_0xb2a1('0x7c')](_0x3b347a,{'transaction':_0x36e0f7})[_0xb2a1('0x38')](function(){return BPromise[_0xb2a1('0x7d')](_0x8b85bc,function(_0x31efd4){return db[_0xb2a1('0x6b')][_0xb2a1('0x7e')]({'where':{'UserId':_0x31efd4['id'],'ChatQueueId':_0x2e8419[_0xb2a1('0x5a')]['id']},'transaction':_0x36e0f7});});})[_0xb2a1('0x38')](function(){_0x8b85bc[_0xb2a1('0x7f')](function(_0x2334fd){socket[_0xb2a1('0x80')](_0xb2a1('0x81'),{'UserId':_0x2334fd['id'],'ChatQueueId':_0x531897['id']});});});});});}})[_0xb2a1('0x38')](respondWithStatusCode(_0x545c0b,null))[_0xb2a1('0x5b')](handleError(_0x545c0b,null));};exports['removeTeams']=function(_0x4fd2a9,_0x4b1f05,_0x34080a){return db[_0xb2a1('0x75')][_0xb2a1('0x6c')]({'where':{'id':_0x4fd2a9[_0xb2a1('0x45')]['ids']},'attributes':['id'],'include':[{'model':db[_0xb2a1('0x6d')],'as':_0xb2a1('0x7a'),'attributes':['id'],'raw':!![]}]})[_0xb2a1('0x38')](handleEntityNotFound(_0x4b1f05,null))['then'](function(_0xa20d3b){var _0x48c423=_[_0xb2a1('0x40')](_0xa20d3b,'id');var _0x423523=[];var _0x2e191e=[];var _0x3e835c=squel[_0xb2a1('0x82')]();_0x3e835c['field'](_0xb2a1('0x83'))[_0xb2a1('0x84')]('team_has_chat_queues','tq')[_0xb2a1('0x85')](_0xb2a1('0x86'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xb2a1('0x50')](_0xb2a1('0x87'),_0x4fd2a9[_0xb2a1('0x5a')]['id']);for(var _0x3935cc=0x0;_0x3935cc<_0xa20d3b['length'];_0x3935cc+=0x1){let _0x211fca=_0xa20d3b[_0x3935cc];for(var _0x5e3555=0x0;_0x5e3555<_0x211fca[_0xb2a1('0x7a')][_0xb2a1('0x4c')];_0x5e3555+=0x1){let _0x596427=_0x211fca[_0xb2a1('0x7a')][_0x5e3555];var _0x47b049=_0x3e835c[_0xb2a1('0x88')]();_0x47b049[_0xb2a1('0x50')](_0xb2a1('0x89'),_0x596427['id']);_0x2e191e[_0xb2a1('0x8a')](db[_0xb2a1('0x7b')][_0xb2a1('0x45')](_0x47b049[_0xb2a1('0x8b')](),{'type':db[_0xb2a1('0x7b')]['QueryTypes'][_0xb2a1('0x8c')]})[_0xb2a1('0x38')](function(_0x4a5c97){if(_0x4a5c97[_0xb2a1('0x4c')]===0x1){return _0x596427['id'];}else{var _0x5eea63=_[_0xb2a1('0x8d')](_[_0xb2a1('0x40')](_0x4a5c97,_0xb2a1('0x8e')),function(_0xadd064){return _[_0xb2a1('0x8f')](_0x48c423,_0xadd064);});if(_0x5eea63){return _0x596427['id'];}}}));}}return BPromise[_0xb2a1('0x90')](_0x2e191e)[_0xb2a1('0x38')](function(_0x1f8260){_0x423523=_(_0x423523)[_0xb2a1('0x91')](_0x1f8260)[_0xb2a1('0x92')]()[_0xb2a1('0x93')]();return db[_0xb2a1('0x41')]['find']({'where':{'id':_0x4fd2a9['params']['id']}})['then'](function(_0x2fa778){return db[_0xb2a1('0x7b')]['transaction'](function(_0x5bfcd4){return _0x2fa778[_0xb2a1('0x94')](_0x4fd2a9['query'][_0xb2a1('0x95')],{'transaction':_0x5bfcd4})['then'](function(){if(!_[_0xb2a1('0x96')](_0x423523)){return _0x2fa778[_0xb2a1('0x97')](_0x423523,{'transaction':_0x5bfcd4});}})['then'](function(){_0x423523[_0xb2a1('0x7f')](function(_0x4acdcf){socket[_0xb2a1('0x80')]('userChatQueue:remove',{'UserId':_0x4acdcf,'ChatQueueId':_0x2fa778['id']});});});});});});})[_0xb2a1('0x38')](respondWithStatusCode(_0x4b1f05,null))[_0xb2a1('0x5b')](handleError(_0x4b1f05,null));};exports[_0xb2a1('0x98')]=function(_0x770c14,_0x1dbce7,_0x44064d){return db[_0xb2a1('0x41')][_0xb2a1('0x61')]({'where':{'id':_0x770c14[_0xb2a1('0x5a')]['id']}})[_0xb2a1('0x38')](handleEntityNotFound(_0x1dbce7,null))[_0xb2a1('0x38')](function(_0x1ac663){if(_0x1ac663){return _0x1ac663[_0xb2a1('0x98')](_0x770c14[_0xb2a1('0x65')][_0xb2a1('0x95')],_[_0xb2a1('0x99')](_0x770c14[_0xb2a1('0x65')],[_0xb2a1('0x95'),'id'])||{})[_0xb2a1('0x9a')](function(_0x3741ac){for(var _0x3bbd7a=0x0;_0x3bbd7a<_0x770c14[_0xb2a1('0x65')][_0xb2a1('0x95')][_0xb2a1('0x4c')];_0x3bbd7a+=0x1){socket[_0xb2a1('0x80')](_0xb2a1('0x81'),{'UserId':Number(_0x770c14['body'][_0xb2a1('0x95')][_0x3bbd7a]),'ChatQueueId':Number(_0x770c14[_0xb2a1('0x5a')]['id'])});}return _0x3741ac;});}})[_0xb2a1('0x38')](respondWithResult(_0x1dbce7,null))[_0xb2a1('0x5b')](handleError(_0x1dbce7,null));};exports[_0xb2a1('0x97')]=function(_0x2311eb,_0xa133ea,_0x287219){return db[_0xb2a1('0x41')][_0xb2a1('0x61')]({'where':{'id':_0x2311eb[_0xb2a1('0x5a')]['id']}})[_0xb2a1('0x38')](handleEntityNotFound(_0xa133ea,null))[_0xb2a1('0x38')](function(_0x381612){if(_0x381612){return _0x381612[_0xb2a1('0x97')](_0x2311eb['query'][_0xb2a1('0x95')])[_0xb2a1('0x38')](function(){if(_[_0xb2a1('0x9b')](_0x2311eb[_0xb2a1('0x45')][_0xb2a1('0x95')])){for(var _0x99bc05=0x0;_0x99bc05<_0x2311eb[_0xb2a1('0x45')][_0xb2a1('0x95')][_0xb2a1('0x4c')];_0x99bc05+=0x1){socket['emit'](_0xb2a1('0x9c'),{'UserId':Number(_0x2311eb[_0xb2a1('0x45')]['ids'][_0x99bc05]),'ChatQueueId':Number(_0x2311eb[_0xb2a1('0x5a')]['id'])});}}else{socket['emit']('userChatQueue:remove',{'UserId':Number(_0x2311eb['query'][_0xb2a1('0x95')]),'ChatQueueId':Number(_0x2311eb[_0xb2a1('0x5a')]['id'])});}});}})[_0xb2a1('0x38')](respondWithStatusCode(_0xa133ea,null))[_0xb2a1('0x5b')](handleError(_0xa133ea,null));};exports[_0xb2a1('0x9d')]=function(_0x4fba4f,_0x35e485,_0x3bf9f4){var _0x2d5c36={};var _0x36f0a5={};var _0x41fae1;var _0x36a8d5;return db[_0xb2a1('0x41')][_0xb2a1('0x68')]({'where':{'id':_0x4fba4f['params']['id']}})['then'](handleEntityNotFound(_0x35e485,null))[_0xb2a1('0x38')](function(_0x369161){if(_0x369161){_0x41fae1=_0x369161;_0x36f0a5[_0xb2a1('0x49')]=_[_0xb2a1('0x46')](db[_0xb2a1('0x6d')][_0xb2a1('0x42')]);_0x36f0a5[_0xb2a1('0x45')]=_[_0xb2a1('0x46')](_0x4fba4f['query']);_0x36f0a5[_0xb2a1('0x47')]=_[_0xb2a1('0x48')](_0x36f0a5['model'],_0x36f0a5['query']);_0x2d5c36[_0xb2a1('0x4b')]=_['intersection'](_0x36f0a5['model'],qs[_0xb2a1('0x4a')](_0x4fba4f[_0xb2a1('0x45')][_0xb2a1('0x4a')]));_0x2d5c36[_0xb2a1('0x4b')]=_0x2d5c36[_0xb2a1('0x4b')]['length']?_0x2d5c36[_0xb2a1('0x4b')]:_0x36f0a5[_0xb2a1('0x49')];_0x2d5c36[_0xb2a1('0x4f')]=qs[_0xb2a1('0x6a')](_0x4fba4f[_0xb2a1('0x45')][_0xb2a1('0x6a')]);_0x2d5c36[_0xb2a1('0x50')]=qs[_0xb2a1('0x47')](_[_0xb2a1('0x51')](_0x4fba4f[_0xb2a1('0x45')],_0x36f0a5['filters']));if(_0x4fba4f[_0xb2a1('0x45')][_0xb2a1('0x52')]){_0x2d5c36[_0xb2a1('0x50')]=_[_0xb2a1('0x53')](_0x2d5c36[_0xb2a1('0x50')],{'$or':_[_0xb2a1('0x40')](_0x2d5c36[_0xb2a1('0x4b')],function(_0x15188d){var _0x4aea31={};_0x4aea31[_0x15188d]={'$like':'%'+_0x4fba4f[_0xb2a1('0x45')][_0xb2a1('0x52')]+'%'};return _0x4aea31;})});}_0x2d5c36=_[_0xb2a1('0x53')]({},_0x2d5c36,_0x4fba4f[_0xb2a1('0x56')]);return _0x41fae1['getAgents'](_0x2d5c36);}})[_0xb2a1('0x38')](function(_0x545ce7){if(_0x545ce7){_0x36a8d5=_0x545ce7[_0xb2a1('0x4c')];if(!_0x4fba4f['query']['hasOwnProperty']('nolimit')){_0x2d5c36[_0xb2a1('0x4e')]=qs['limit'](_0x4fba4f['query'][_0xb2a1('0x4e')]);_0x2d5c36[_0xb2a1('0x30')]=qs[_0xb2a1('0x30')](_0x4fba4f[_0xb2a1('0x45')][_0xb2a1('0x30')]);}return _0x41fae1[_0xb2a1('0x9d')](_0x2d5c36);}})[_0xb2a1('0x38')](function(_0x1c0667){if(_0x1c0667){return _0x1c0667?{'count':_0x36a8d5,'rows':_0x1c0667}:null;}})[_0xb2a1('0x38')](respondWithResult(_0x35e485,null))[_0xb2a1('0x5b')](handleError(_0x35e485,null));};