Built motion from commit (unavailable).|2.5.4
[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 _0x6b15=['tq.TeamId','from','team_has_chat_queues','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','sequelize','toString','QueryTypes','SELECT','every','TeamId','includes','all','union','compact','value','transaction','removeTeams','isEmpty','removeAgents','forEach','userChatQueue:remove','addAgents','omit','spread','isArray','getAgents','eml-format','fast-json-patch','request-promise','bluebird','mustache','util','path','sox','to-csv','lodash','squel','jsforce','desk.js','papaparse','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./chatQueue.socket','register','http','test','Sequelize','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','then','info','ChatQueue,\x20%s,\x20%s','ChatQueue,\x20%s,\x20%s,\x20%s','request\x20sent','error','message','result','catch','sendStatus','status','json','count','limit','set','apply','save','get','ChatQueues','destroy','end','stack','name','index','map','ChatQueue','fieldName','type','key','model','query','keys','intersection','attributes','fields','length','hasOwnProperty','nolimit','offset','order','sort','where','filters','pick','VIRTUAL','filter','merge','options','include','findAll','show','params','rawAttributes','includeAll','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','update','describe','getMembers','ChatQueueId','UserChatQueue','findAndCountAll','UserId','agent','updatedAt','createdAt','rows','format','findOne','getTeams','ids','Team','User','Agents','online','voicePause','interface','each','findOrCreate','emit','userChatQueue:save','field'];(function(_0x236512,_0x180979){var _0x5cea6f=function(_0x254e48){while(--_0x254e48){_0x236512['push'](_0x236512['shift']());}};_0x5cea6f(++_0x180979);}(_0x6b15,0xb6));var _0x56b1=function(_0x41f011,_0x401839){_0x41f011=_0x41f011-0x0;var _0x34c887=_0x6b15[_0x41f011];return _0x34c887;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x56b1('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0x56b1('0x1'));var rp=require(_0x56b1('0x2'));var moment=require('moment');var BPromise=require(_0x56b1('0x3'));var Mustache=require(_0x56b1('0x4'));var util=require(_0x56b1('0x5'));var path=require(_0x56b1('0x6'));var sox=require(_0x56b1('0x7'));var csv=require(_0x56b1('0x8'));var ejs=require('ejs');var fs=require('fs');var _=require(_0x56b1('0x9'));var squel=require(_0x56b1('0xa'));var crypto=require('crypto');var jsforce=require(_0x56b1('0xb'));var deskjs=require(_0x56b1('0xc'));var toCsv=require(_0x56b1('0x8'));var querystring=require('querystring');var Papa=require(_0x56b1('0xd'));var Redis=require(_0x56b1('0xe'));var authService=require('../../components/auth/service');var qs=require(_0x56b1('0xf'));var as=require(_0x56b1('0x10'));var hardwareService=require(_0x56b1('0x11'));var logger=require(_0x56b1('0x12'))(_0x56b1('0x13'));var utils=require(_0x56b1('0x14'));var config=require(_0x56b1('0x15'));var db=require(_0x56b1('0x16'))['db'];config['redis']=_[_0x56b1('0x17')](config[_0x56b1('0x18')],{'host':_0x56b1('0x19'),'port':0x18eb});var socket=require(_0x56b1('0x1a'))(new Redis(config[_0x56b1('0x18')]));require(_0x56b1('0x1b'))[_0x56b1('0x1c')](socket);var jayson=require('jayson/promise');var client=jayson['client'][_0x56b1('0x1d')]({'port':0x232a});function checkPasswordPattern(_0x2a054c,_0x28d03f,_0x330684){if(_0x330684){var _0x593a70=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x593a70[_0x56b1('0x1e')](_0x28d03f)){return _0x2a054c;}else{throw new db[(_0x56b1('0x1f'))]['ValidationError'](_0x56b1('0x20'));}}else{return _0x2a054c;}}function respondWithRpcPromise(_0x163a5d,_0x1feb2a,_0x3f0f3a,_0x1a2bc8){return new BPromise(function(_0x3b2b55,_0xbefe2a){var _0x1e15a9=_0x1a2bc8||client;return _0x1e15a9['request'](_0x163a5d,_0x3f0f3a)[_0x56b1('0x21')](function(_0x33f988){logger[_0x56b1('0x22')](_0x56b1('0x23'),_0x1feb2a,'request\x20sent');logger['debug'](_0x56b1('0x24'),_0x1feb2a,_0x56b1('0x25'),JSON['stringify'](_0x33f988));if(_0x33f988[_0x56b1('0x26')]){if(_0x33f988[_0x56b1('0x26')]['code']===0x1f4){logger['error'](_0x56b1('0x23'),_0x1feb2a,_0x33f988[_0x56b1('0x26')][_0x56b1('0x27')]);return _0xbefe2a(_0x33f988[_0x56b1('0x26')]['message']);}logger[_0x56b1('0x26')]('ChatQueue,\x20%s,\x20%s',_0x1feb2a,_0x33f988[_0x56b1('0x26')]['message']);return _0x3b2b55(_0x33f988[_0x56b1('0x26')][_0x56b1('0x27')]);}else{logger[_0x56b1('0x22')](_0x56b1('0x23'),_0x1feb2a,'request\x20sent');_0x3b2b55(_0x33f988[_0x56b1('0x28')][_0x56b1('0x27')]);}})[_0x56b1('0x29')](function(_0x22f51f){logger[_0x56b1('0x26')](_0x56b1('0x23'),_0x1feb2a,_0x22f51f);_0xbefe2a(_0x22f51f);});});}function respondWithStatusCode(_0xf70442,_0x53cf33){_0x53cf33=_0x53cf33||0xcc;return function(_0x231940){if(_0x231940){return _0xf70442[_0x56b1('0x2a')](_0x53cf33);}return _0xf70442[_0x56b1('0x2b')](_0x53cf33)['end']();};}function respondWithResult(_0x1aa1f2,_0x180b39){_0x180b39=_0x180b39||0xc8;return function(_0x3ca874){if(_0x3ca874){return _0x1aa1f2[_0x56b1('0x2b')](_0x180b39)[_0x56b1('0x2c')](_0x3ca874);}};}function respondWithFilteredResult(_0x1d7717,_0x3384df){return function(_0xb2223c){if(_0xb2223c){var _0x178e8c=_0xb2223c[_0x56b1('0x2d')],_0x29f9ca=_0x3384df['offset'],_0x49a4ac=_0x3384df['offset']+_0x3384df[_0x56b1('0x2e')],_0x230fce;if(_0x49a4ac>=_0x178e8c){_0x49a4ac=_0x178e8c;_0x230fce=0xc8;}else{_0x230fce=0xce;}_0x1d7717[_0x56b1('0x2b')](_0x230fce);return _0x1d7717[_0x56b1('0x2f')]('Content-Range',_0x29f9ca+'-'+_0x49a4ac+'/'+_0x178e8c)['json'](_0xb2223c);}return null;};}function patchUpdates(_0x580fb0){return function(_0x2b162a){try{jsonpatch[_0x56b1('0x30')](_0x2b162a,_0x580fb0,!![]);}catch(_0x322c5b){return BPromise['reject'](_0x322c5b);}return _0x2b162a[_0x56b1('0x31')]();};}function saveUpdates(_0x3ba210,_0x5648a2){return function(_0x2ab8aa){if(_0x2ab8aa){return _0x2ab8aa['update'](_0x3ba210)[_0x56b1('0x21')](function(_0x352145){return _0x352145;});}return null;};}function removeEntity(_0x27a3bb,_0x4ea937){return function(_0xb8d873){if(_0xb8d873){return _0xb8d873['destroy']()[_0x56b1('0x21')](function(){var _0x51f9f1=_0xb8d873[_0x56b1('0x32')]({'plain':!![]});var _0x1f6d8c=_0x56b1('0x33');return db['UserProfileResource'][_0x56b1('0x34')]({'where':{'type':_0x1f6d8c,'resourceId':_0x51f9f1['id']}})['then'](function(){return _0xb8d873;});})[_0x56b1('0x21')](function(){_0x27a3bb['status'](0xcc)[_0x56b1('0x35')]();});}};}function handleEntityNotFound(_0x5a6485,_0x3676ba){return function(_0x2a7de3){if(!_0x2a7de3){_0x5a6485['sendStatus'](0x194);}return _0x2a7de3;};}function handleError(_0x5ca7c7,_0x3885e8){_0x3885e8=_0x3885e8||0x1f4;return function(_0x2eca0b){logger[_0x56b1('0x26')](_0x2eca0b[_0x56b1('0x36')]);if(_0x2eca0b[_0x56b1('0x37')]){delete _0x2eca0b['name'];}_0x5ca7c7[_0x56b1('0x2b')](_0x3885e8)['send'](_0x2eca0b);};}exports[_0x56b1('0x38')]=function(_0x387d75,_0x13cd17){var _0x5c5321={},_0x2dcfb8={},_0x2984ac={'count':0x0,'rows':[]};var _0x124d38=_[_0x56b1('0x39')](db[_0x56b1('0x3a')]['rawAttributes'],function(_0x2c9643){return{'name':_0x2c9643[_0x56b1('0x3b')],'type':_0x2c9643[_0x56b1('0x3c')][_0x56b1('0x3d')]};});_0x2dcfb8[_0x56b1('0x3e')]=_[_0x56b1('0x39')](_0x124d38,_0x56b1('0x37'));_0x2dcfb8[_0x56b1('0x3f')]=_[_0x56b1('0x40')](_0x387d75[_0x56b1('0x3f')]);_0x2dcfb8['filters']=_[_0x56b1('0x41')](_0x2dcfb8[_0x56b1('0x3e')],_0x2dcfb8[_0x56b1('0x3f')]);_0x5c5321[_0x56b1('0x42')]=_[_0x56b1('0x41')](_0x2dcfb8[_0x56b1('0x3e')],qs[_0x56b1('0x43')](_0x387d75['query'][_0x56b1('0x43')]));_0x5c5321[_0x56b1('0x42')]=_0x5c5321['attributes'][_0x56b1('0x44')]?_0x5c5321['attributes']:_0x2dcfb8[_0x56b1('0x3e')];if(!_0x387d75[_0x56b1('0x3f')][_0x56b1('0x45')](_0x56b1('0x46'))){_0x5c5321[_0x56b1('0x2e')]=qs[_0x56b1('0x2e')](_0x387d75[_0x56b1('0x3f')]['limit']);_0x5c5321[_0x56b1('0x47')]=qs[_0x56b1('0x47')](_0x387d75[_0x56b1('0x3f')][_0x56b1('0x47')]);}_0x5c5321[_0x56b1('0x48')]=qs[_0x56b1('0x49')](_0x387d75['query'][_0x56b1('0x49')]);_0x5c5321[_0x56b1('0x4a')]=qs[_0x56b1('0x4b')](_[_0x56b1('0x4c')](_0x387d75['query'],_0x2dcfb8['filters']),_0x124d38);if(_0x387d75[_0x56b1('0x3f')]['filter']){_0x5c5321[_0x56b1('0x4a')]=_['merge'](_0x5c5321[_0x56b1('0x4a')],{'$or':_[_0x56b1('0x39')](_0x124d38,function(_0xcdc7d1){if(_0xcdc7d1[_0x56b1('0x3c')]!==_0x56b1('0x4d')){var _0x44d172={};_0x44d172[_0xcdc7d1[_0x56b1('0x37')]]={'$like':'%'+_0x387d75[_0x56b1('0x3f')][_0x56b1('0x4e')]+'%'};return _0x44d172;}})});}_0x5c5321=_[_0x56b1('0x4f')]({},_0x5c5321,_0x387d75[_0x56b1('0x50')]);var _0x12e298={'where':_0x5c5321[_0x56b1('0x4a')]};return db['ChatQueue'][_0x56b1('0x2d')](_0x12e298)[_0x56b1('0x21')](function(_0x32bc4e){_0x2984ac[_0x56b1('0x2d')]=_0x32bc4e;if(_0x387d75[_0x56b1('0x3f')]['includeAll']){_0x5c5321[_0x56b1('0x51')]=[{'all':!![]}];}return db['ChatQueue'][_0x56b1('0x52')](_0x5c5321);})['then'](function(_0x40a2ab){_0x2984ac['rows']=_0x40a2ab;return _0x2984ac;})[_0x56b1('0x21')](respondWithFilteredResult(_0x13cd17,_0x5c5321))[_0x56b1('0x29')](handleError(_0x13cd17,null));};exports[_0x56b1('0x53')]=function(_0x7854d3,_0x104aff){var _0x4f699c={'raw':!![],'where':{'id':_0x7854d3[_0x56b1('0x54')]['id']}},_0x183e5d={};_0x183e5d[_0x56b1('0x3e')]=_[_0x56b1('0x40')](db['ChatQueue'][_0x56b1('0x55')]);_0x183e5d[_0x56b1('0x3f')]=_[_0x56b1('0x40')](_0x7854d3['query']);_0x183e5d['filters']=_[_0x56b1('0x41')](_0x183e5d[_0x56b1('0x3e')],_0x183e5d[_0x56b1('0x3f')]);_0x4f699c[_0x56b1('0x42')]=_['intersection'](_0x183e5d['model'],qs[_0x56b1('0x43')](_0x7854d3[_0x56b1('0x3f')]['fields']));_0x4f699c[_0x56b1('0x42')]=_0x4f699c[_0x56b1('0x42')][_0x56b1('0x44')]?_0x4f699c[_0x56b1('0x42')]:_0x183e5d[_0x56b1('0x3e')];if(_0x7854d3[_0x56b1('0x3f')][_0x56b1('0x56')]){_0x4f699c[_0x56b1('0x51')]=[{'all':!![]}];}_0x4f699c=_[_0x56b1('0x4f')]({},_0x4f699c,_0x7854d3[_0x56b1('0x50')]);return db['ChatQueue'][_0x56b1('0x57')](_0x4f699c)[_0x56b1('0x21')](handleEntityNotFound(_0x104aff,null))[_0x56b1('0x21')](respondWithResult(_0x104aff,null))[_0x56b1('0x29')](handleError(_0x104aff,null));};exports[_0x56b1('0x58')]=function(_0x370793,_0x41ed53){return db[_0x56b1('0x3a')][_0x56b1('0x58')](_0x370793[_0x56b1('0x59')],{})[_0x56b1('0x21')](function(_0x253fcf){var _0x1104fe=_0x370793[_0x56b1('0x5a')][_0x56b1('0x32')]({'plain':!![]});if(!_0x1104fe)throw new Error(_0x56b1('0x5b'));if(_0x1104fe[_0x56b1('0x5c')]===_0x56b1('0x5a')){var _0x29951b=_0x253fcf[_0x56b1('0x32')]({'plain':!![]});var _0x10a3ef=_0x56b1('0x33');return db[_0x56b1('0x5d')][_0x56b1('0x57')]({'where':{'name':_0x10a3ef,'userProfileId':_0x1104fe[_0x56b1('0x5e')]},'raw':!![]})[_0x56b1('0x21')](function(_0x708d5a){if(_0x708d5a&&_0x708d5a[_0x56b1('0x5f')]===0x0){return db['UserProfileResource']['create']({'name':_0x29951b[_0x56b1('0x37')],'resourceId':_0x29951b['id'],'type':_0x708d5a[_0x56b1('0x37')],'sectionId':_0x708d5a['id']},{})['then'](function(){return _0x253fcf;});}else{return _0x253fcf;}})['catch'](function(_0x167f38){logger[_0x56b1('0x26')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x167f38);throw _0x167f38;});}return _0x253fcf;})[_0x56b1('0x21')](respondWithResult(_0x41ed53,0xc9))['catch'](handleError(_0x41ed53,null));};exports[_0x56b1('0x60')]=function(_0xc25829,_0x95e645){if(_0xc25829[_0x56b1('0x59')]['id']){delete _0xc25829[_0x56b1('0x59')]['id'];}return db[_0x56b1('0x3a')][_0x56b1('0x57')]({'where':{'id':_0xc25829[_0x56b1('0x54')]['id']}})[_0x56b1('0x21')](handleEntityNotFound(_0x95e645,null))[_0x56b1('0x21')](saveUpdates(_0xc25829[_0x56b1('0x59')],null))[_0x56b1('0x21')](respondWithResult(_0x95e645,null))[_0x56b1('0x29')](handleError(_0x95e645,null));};exports[_0x56b1('0x34')]=function(_0x28045d,_0x5be4b8){return db[_0x56b1('0x3a')]['find']({'where':{'id':_0x28045d[_0x56b1('0x54')]['id']}})[_0x56b1('0x21')](handleEntityNotFound(_0x5be4b8,null))['then'](removeEntity(_0x5be4b8,null))[_0x56b1('0x29')](handleError(_0x5be4b8,null));};exports[_0x56b1('0x61')]=function(_0x451934,_0x4afecf){return db[_0x56b1('0x3a')]['describe']()[_0x56b1('0x21')](respondWithResult(_0x4afecf,null))['catch'](handleError(_0x4afecf,null));};exports[_0x56b1('0x62')]=function(_0x3a5059,_0x3f478b,_0xb4bd20){var _0x16fe6a={'raw':!![],'where':{}},_0x40f94f={},_0x4e15b5;return db[_0x56b1('0x3a')]['findOne']({'where':{'id':_0x3a5059[_0x56b1('0x54')]['id']}})[_0x56b1('0x21')](handleEntityNotFound(_0x3f478b,null))[_0x56b1('0x21')](function(_0x533c22){if(_0x533c22){_0x4e15b5=_0x533c22['get']({'plain':!![]});_0x40f94f[_0x56b1('0x3e')]=_[_0x56b1('0x40')](db['UserChatQueue']['rawAttributes']);_0x40f94f[_0x56b1('0x3f')]=_[_0x56b1('0x40')](_0x3a5059['query']);_0x40f94f[_0x56b1('0x4b')]=_[_0x56b1('0x41')](_0x40f94f[_0x56b1('0x3e')],_0x40f94f[_0x56b1('0x3f')]);_0x16fe6a[_0x56b1('0x42')]=_['intersection'](_0x40f94f['model'],qs[_0x56b1('0x43')](_0x3a5059[_0x56b1('0x3f')][_0x56b1('0x43')]));_0x16fe6a[_0x56b1('0x42')]=_0x16fe6a[_0x56b1('0x42')][_0x56b1('0x44')]?_0x16fe6a[_0x56b1('0x42')]:_0x40f94f[_0x56b1('0x3e')];if(!_0x3a5059['query'][_0x56b1('0x45')](_0x56b1('0x46'))){_0x16fe6a[_0x56b1('0x2e')]=qs[_0x56b1('0x2e')](_0x3a5059[_0x56b1('0x3f')][_0x56b1('0x2e')]);_0x16fe6a['offset']=qs[_0x56b1('0x47')](_0x3a5059[_0x56b1('0x3f')]['offset']);}_0x16fe6a['order']=qs[_0x56b1('0x49')](_0x3a5059[_0x56b1('0x3f')][_0x56b1('0x49')]);_0x16fe6a[_0x56b1('0x4a')]=qs[_0x56b1('0x4b')](_[_0x56b1('0x4c')](_0x3a5059['query'],_0x40f94f[_0x56b1('0x4b')]));_0x16fe6a[_0x56b1('0x4a')][_0x56b1('0x63')]=_0x533c22['id'];if(_0x3a5059[_0x56b1('0x3f')]['filter']){_0x16fe6a['where']=_[_0x56b1('0x4f')](_0x16fe6a[_0x56b1('0x4a')],{'$or':_[_0x56b1('0x39')](_0x16fe6a[_0x56b1('0x42')],function(_0x2d2ebc){var _0x21c983={};_0x21c983[_0x2d2ebc]={'$like':'%'+_0x3a5059[_0x56b1('0x3f')][_0x56b1('0x4e')]+'%'};return _0x21c983;})});}_0x16fe6a=_[_0x56b1('0x4f')]({},_0x16fe6a,_0x3a5059[_0x56b1('0x50')]);return db[_0x56b1('0x64')][_0x56b1('0x52')](_0x16fe6a);}})[_0x56b1('0x21')](function(_0x5b7e8c){if(_0x5b7e8c){return db['User'][_0x56b1('0x65')]({'where':{'id':_[_0x56b1('0x39')](_0x5b7e8c,_0x56b1('0x66')),'role':_0x56b1('0x67')},'attributes':['id','name','chatPause',_0x56b1('0x68'),_0x56b1('0x69')]});}})['then'](function(_0x5b407a){if(_0x5b407a){return{'count':_0x5b407a[_0x56b1('0x2d')],'rows':_[_0x56b1('0x39')](_0x5b407a[_0x56b1('0x6a')],function(_0x3b11ed){return{'membername':_0x3b11ed[_0x56b1('0x37')],'UserId':_0x3b11ed['id'],'queue_name':_0x4e15b5['name'],'ChatQueueId':_0x4e15b5['id'],'interface':util[_0x56b1('0x6b')]('%s/%s','SIP',_0x3b11ed[_0x56b1('0x37')]),'penalty':0x0,'paused':_0x3b11ed['chatPause'],'createdAt':_0x3b11ed[_0x56b1('0x69')],'updatedAt':_0x3b11ed[_0x56b1('0x68')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x56b1('0x21')](respondWithFilteredResult(_0x3f478b,_0x16fe6a))[_0x56b1('0x29')](handleError(_0x3f478b,null));};exports['getTeams']=function(_0x55420f,_0x5616a5,_0x145b71){var _0x58e054={};var _0x2e8a96={};var _0x595337;var _0x3e7e60;return db[_0x56b1('0x3a')][_0x56b1('0x6c')]({'where':{'id':_0x55420f[_0x56b1('0x54')]['id']}})[_0x56b1('0x21')](handleEntityNotFound(_0x5616a5,null))[_0x56b1('0x21')](function(_0x10f211){if(_0x10f211){_0x595337=_0x10f211;_0x2e8a96[_0x56b1('0x3e')]=_[_0x56b1('0x40')](db['Team'][_0x56b1('0x55')]);_0x2e8a96[_0x56b1('0x3f')]=_[_0x56b1('0x40')](_0x55420f[_0x56b1('0x3f')]);_0x2e8a96['filters']=_[_0x56b1('0x41')](_0x2e8a96['model'],_0x2e8a96[_0x56b1('0x3f')]);_0x58e054[_0x56b1('0x42')]=_['intersection'](_0x2e8a96['model'],qs[_0x56b1('0x43')](_0x55420f[_0x56b1('0x3f')][_0x56b1('0x43')]));_0x58e054['attributes']=_0x58e054['attributes'][_0x56b1('0x44')]?_0x58e054[_0x56b1('0x42')]:_0x2e8a96[_0x56b1('0x3e')];_0x58e054['order']=qs['sort'](_0x55420f[_0x56b1('0x3f')][_0x56b1('0x49')]);_0x58e054[_0x56b1('0x4a')]=qs[_0x56b1('0x4b')](_[_0x56b1('0x4c')](_0x55420f['query'],_0x2e8a96['filters']));if(_0x55420f[_0x56b1('0x3f')][_0x56b1('0x4e')]){_0x58e054[_0x56b1('0x4a')]=_['merge'](_0x58e054['where'],{'$or':_[_0x56b1('0x39')](_0x58e054[_0x56b1('0x42')],function(_0x401da5){var _0x3ee48e={};_0x3ee48e[_0x401da5]={'$like':'%'+_0x55420f[_0x56b1('0x3f')][_0x56b1('0x4e')]+'%'};return _0x3ee48e;})});}_0x58e054=_['merge']({},_0x58e054,_0x55420f[_0x56b1('0x50')]);return _0x595337[_0x56b1('0x6d')](_0x58e054);}})[_0x56b1('0x21')](function(_0x5e74c6){if(_0x5e74c6){_0x3e7e60=_0x5e74c6['length'];if(!_0x55420f['query'][_0x56b1('0x45')](_0x56b1('0x46'))){_0x58e054[_0x56b1('0x2e')]=qs[_0x56b1('0x2e')](_0x55420f[_0x56b1('0x3f')][_0x56b1('0x2e')]);_0x58e054[_0x56b1('0x47')]=qs[_0x56b1('0x47')](_0x55420f[_0x56b1('0x3f')][_0x56b1('0x47')]);}return _0x595337[_0x56b1('0x6d')](_0x58e054);}})[_0x56b1('0x21')](function(_0x4f8aa3){if(_0x4f8aa3){return _0x4f8aa3?{'count':_0x3e7e60,'rows':_0x4f8aa3}:null;}})[_0x56b1('0x21')](respondWithResult(_0x5616a5,null))[_0x56b1('0x29')](handleError(_0x5616a5,null));};exports['addTeams']=function(_0x534352,_0x4c942d,_0x3d30b9){var _0x327836=_0x534352[_0x56b1('0x59')][_0x56b1('0x6e')];return db[_0x56b1('0x6f')][_0x56b1('0x52')]({'where':{'id':_0x327836},'attributes':['id'],'include':[{'model':db[_0x56b1('0x70')],'as':_0x56b1('0x71'),'attributes':['id',_0x56b1('0x37'),_0x56b1('0x72'),_0x56b1('0x73'),_0x56b1('0x74')],'raw':!![]}]})[_0x56b1('0x21')](function(_0x14006d){if(_0x14006d){var _0x3e778f=_['flatMap'](_0x14006d,function(_0x2b4fe6){var _0x2d4b56=_0x2b4fe6[_0x56b1('0x32')]({'plain':!![]});return _0x2d4b56[_0x56b1('0x71')];});return db[_0x56b1('0x3a')][_0x56b1('0x57')]({'where':{'id':_0x534352[_0x56b1('0x54')]['id']}})[_0x56b1('0x21')](function(_0x431319){return db['sequelize']['transaction'](function(_0x9dac78){return _0x431319['addTeams'](_0x327836,{'transaction':_0x9dac78})['then'](function(){return BPromise[_0x56b1('0x75')](_0x3e778f,function(_0x53fb1e){return db['UserChatQueue'][_0x56b1('0x76')]({'where':{'UserId':_0x53fb1e['id'],'ChatQueueId':_0x534352[_0x56b1('0x54')]['id']},'transaction':_0x9dac78});});})[_0x56b1('0x21')](function(){_0x3e778f['forEach'](function(_0x46bcd0){socket[_0x56b1('0x77')](_0x56b1('0x78'),{'UserId':_0x46bcd0['id'],'ChatQueueId':_0x431319['id']});});});});});}})[_0x56b1('0x21')](respondWithStatusCode(_0x4c942d,null))[_0x56b1('0x29')](handleError(_0x4c942d,null));};exports['removeTeams']=function(_0x419173,_0x434d43,_0x582233){return db[_0x56b1('0x6f')][_0x56b1('0x52')]({'where':{'id':_0x419173[_0x56b1('0x3f')][_0x56b1('0x6e')]},'attributes':['id'],'include':[{'model':db[_0x56b1('0x70')],'as':_0x56b1('0x71'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x434d43,null))['then'](function(_0x3a1cf2){var _0x359f2f=_[_0x56b1('0x39')](_0x3a1cf2,'id');var _0x2281af=[];var _0x4e236a=[];var _0x203cf5=squel['select']();_0x203cf5[_0x56b1('0x79')](_0x56b1('0x7a'))[_0x56b1('0x7b')](_0x56b1('0x7c'),'tq')['join']('user_has_teams','ut',_0x56b1('0x7d'))[_0x56b1('0x4a')](_0x56b1('0x7e'),_0x419173[_0x56b1('0x54')]['id']);for(var _0x5cd2d3=0x0;_0x5cd2d3<_0x3a1cf2[_0x56b1('0x44')];_0x5cd2d3+=0x1){let _0x67a612=_0x3a1cf2[_0x5cd2d3];for(var _0x56eb18=0x0;_0x56eb18<_0x67a612[_0x56b1('0x71')]['length'];_0x56eb18+=0x1){let _0x33ac34=_0x67a612[_0x56b1('0x71')][_0x56eb18];var _0x5556f8=_0x203cf5[_0x56b1('0x7f')]();_0x5556f8[_0x56b1('0x4a')](_0x56b1('0x80'),_0x33ac34['id']);_0x4e236a[_0x56b1('0x81')](db[_0x56b1('0x82')][_0x56b1('0x3f')](_0x5556f8[_0x56b1('0x83')](),{'type':db[_0x56b1('0x82')][_0x56b1('0x84')][_0x56b1('0x85')]})[_0x56b1('0x21')](function(_0x4a9de5){if(_0x4a9de5['length']===0x1){return _0x33ac34['id'];}else{var _0x158bcd=_[_0x56b1('0x86')](_[_0x56b1('0x39')](_0x4a9de5,_0x56b1('0x87')),function(_0x474adf){return _[_0x56b1('0x88')](_0x359f2f,_0x474adf);});if(_0x158bcd){return _0x33ac34['id'];}}}));}}return BPromise[_0x56b1('0x89')](_0x4e236a)[_0x56b1('0x21')](function(_0x16ba82){_0x2281af=_(_0x2281af)[_0x56b1('0x8a')](_0x16ba82)[_0x56b1('0x8b')]()[_0x56b1('0x8c')]();return db[_0x56b1('0x3a')][_0x56b1('0x57')]({'where':{'id':_0x419173[_0x56b1('0x54')]['id']}})[_0x56b1('0x21')](function(_0x5f2bb7){return db[_0x56b1('0x82')][_0x56b1('0x8d')](function(_0x36b913){return _0x5f2bb7[_0x56b1('0x8e')](_0x419173['query'][_0x56b1('0x6e')],{'transaction':_0x36b913})[_0x56b1('0x21')](function(){if(!_[_0x56b1('0x8f')](_0x2281af)){return _0x5f2bb7[_0x56b1('0x90')](_0x2281af,{'transaction':_0x36b913});}})['then'](function(){_0x2281af[_0x56b1('0x91')](function(_0x1322c9){socket[_0x56b1('0x77')](_0x56b1('0x92'),{'UserId':_0x1322c9,'ChatQueueId':_0x5f2bb7['id']});});});});});});})[_0x56b1('0x21')](respondWithStatusCode(_0x434d43,null))[_0x56b1('0x29')](handleError(_0x434d43,null));};exports[_0x56b1('0x93')]=function(_0x1bc5ec,_0x1cf24f,_0x8dac3c){return db[_0x56b1('0x3a')]['find']({'where':{'id':_0x1bc5ec[_0x56b1('0x54')]['id']}})['then'](handleEntityNotFound(_0x1cf24f,null))[_0x56b1('0x21')](function(_0x1b50fe){if(_0x1b50fe){return _0x1b50fe[_0x56b1('0x93')](_0x1bc5ec[_0x56b1('0x59')][_0x56b1('0x6e')],_[_0x56b1('0x94')](_0x1bc5ec['body'],[_0x56b1('0x6e'),'id'])||{})[_0x56b1('0x95')](function(_0x3d1ddc){for(var _0x3a2512=0x0;_0x3a2512<_0x1bc5ec[_0x56b1('0x59')][_0x56b1('0x6e')][_0x56b1('0x44')];_0x3a2512+=0x1){socket['emit']('userChatQueue:save',{'UserId':_0x1bc5ec[_0x56b1('0x59')]['ids'][_0x3a2512],'ChatQueueId':_0x1bc5ec[_0x56b1('0x54')]['id']});}return _0x3d1ddc;});}})[_0x56b1('0x21')](respondWithResult(_0x1cf24f,null))[_0x56b1('0x29')](handleError(_0x1cf24f,null));};exports['removeAgents']=function(_0x342bd8,_0x8f7bc0,_0x416f13){return db[_0x56b1('0x3a')]['find']({'where':{'id':_0x342bd8[_0x56b1('0x54')]['id']}})[_0x56b1('0x21')](handleEntityNotFound(_0x8f7bc0,null))['then'](function(_0xc41c49){if(_0xc41c49){return _0xc41c49[_0x56b1('0x90')](_0x342bd8[_0x56b1('0x3f')][_0x56b1('0x6e')])[_0x56b1('0x21')](function(){if(_[_0x56b1('0x96')](_0x342bd8[_0x56b1('0x3f')]['ids'])){for(var _0x22c70d=0x0;_0x22c70d<_0x342bd8['query'][_0x56b1('0x6e')][_0x56b1('0x44')];_0x22c70d+=0x1){socket['emit'](_0x56b1('0x92'),{'UserId':Number(_0x342bd8[_0x56b1('0x3f')][_0x56b1('0x6e')][_0x22c70d]),'ChatQueueId':Number(_0x342bd8[_0x56b1('0x54')]['id'])});}}else{socket[_0x56b1('0x77')](_0x56b1('0x92'),{'UserId':Number(_0x342bd8['query'][_0x56b1('0x6e')]),'ChatQueueId':Number(_0x342bd8[_0x56b1('0x54')]['id'])});}});}})[_0x56b1('0x21')](respondWithStatusCode(_0x8f7bc0,null))[_0x56b1('0x29')](handleError(_0x8f7bc0,null));};exports[_0x56b1('0x97')]=function(_0x39ba45,_0x322c37,_0x3e46d5){var _0x112f28={};var _0x119e2b={};var _0x38ba99;var _0x52ad1f;return db[_0x56b1('0x3a')][_0x56b1('0x6c')]({'where':{'id':_0x39ba45[_0x56b1('0x54')]['id']}})[_0x56b1('0x21')](handleEntityNotFound(_0x322c37,null))['then'](function(_0x2f54b3){if(_0x2f54b3){_0x38ba99=_0x2f54b3;_0x119e2b['model']=_[_0x56b1('0x40')](db[_0x56b1('0x70')][_0x56b1('0x55')]);_0x119e2b['query']=_[_0x56b1('0x40')](_0x39ba45['query']);_0x119e2b['filters']=_[_0x56b1('0x41')](_0x119e2b['model'],_0x119e2b[_0x56b1('0x3f')]);_0x112f28['attributes']=_['intersection'](_0x119e2b[_0x56b1('0x3e')],qs[_0x56b1('0x43')](_0x39ba45['query'][_0x56b1('0x43')]));_0x112f28[_0x56b1('0x42')]=_0x112f28[_0x56b1('0x42')][_0x56b1('0x44')]?_0x112f28['attributes']:_0x119e2b['model'];_0x112f28['order']=qs['sort'](_0x39ba45[_0x56b1('0x3f')][_0x56b1('0x49')]);_0x112f28[_0x56b1('0x4a')]=qs[_0x56b1('0x4b')](_['pick'](_0x39ba45[_0x56b1('0x3f')],_0x119e2b['filters']));if(_0x39ba45[_0x56b1('0x3f')][_0x56b1('0x4e')]){_0x112f28[_0x56b1('0x4a')]=_['merge'](_0x112f28['where'],{'$or':_[_0x56b1('0x39')](_0x112f28['attributes'],function(_0x5b5add){var _0x3aeef8={};_0x3aeef8[_0x5b5add]={'$like':'%'+_0x39ba45[_0x56b1('0x3f')]['filter']+'%'};return _0x3aeef8;})});}_0x112f28=_[_0x56b1('0x4f')]({},_0x112f28,_0x39ba45['options']);return _0x38ba99[_0x56b1('0x97')](_0x112f28);}})['then'](function(_0xf10a36){if(_0xf10a36){_0x52ad1f=_0xf10a36[_0x56b1('0x44')];if(!_0x39ba45[_0x56b1('0x3f')][_0x56b1('0x45')](_0x56b1('0x46'))){_0x112f28['limit']=qs[_0x56b1('0x2e')](_0x39ba45[_0x56b1('0x3f')][_0x56b1('0x2e')]);_0x112f28[_0x56b1('0x47')]=qs[_0x56b1('0x47')](_0x39ba45[_0x56b1('0x3f')][_0x56b1('0x47')]);}return _0x38ba99[_0x56b1('0x97')](_0x112f28);}})['then'](function(_0x7cf477){if(_0x7cf477){return _0x7cf477?{'count':_0x52ad1f,'rows':_0x7cf477}:null;}})[_0x56b1('0x21')](respondWithResult(_0x322c37,null))[_0x56b1('0x29')](handleError(_0x322c37,null));};