Built motion from commit (unavailable).|2.4.17
[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 _0x4d49=['ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','QueryTypes','every','all','union','compact','value','isEmpty','removeAgents','userChatQueue:remove','addAgents','omit','isArray','getAgents','eml-format','zip-dir','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../mysqldb','redis','defaults','./chatQueue.socket','jayson/promise','client','ValidationError','The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.','request','then','info','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','error','code','message','catch','sendStatus','status','end','json','count','offset','limit','set','Content-Range','apply','reject','save','update','destroy','get','UserProfileResource','stack','send','index','map','ChatQueue','rawAttributes','fieldName','type','key','name','query','keys','filters','model','attributes','intersection','fields','hasOwnProperty','nolimit','sort','where','pick','filter','VIRTUAL','merge','options','includeAll','include','findAll','rows','show','length','find','create','body','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ChatQueues','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserChatQueue','order','ChatQueueId','User','UserId','agent','chatPause','updatedAt','createdAt','format','%s/%s','SIP','Team','getTeams','addTeams','ids','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','forEach','emit','userChatQueue:save','removeTeams','select','join'];(function(_0x4c7f7a,_0x3487ce){var _0x4da23f=function(_0x34dc4a){while(--_0x34dc4a){_0x4c7f7a['push'](_0x4c7f7a['shift']());}};_0x4da23f(++_0x3487ce);}(_0x4d49,0x141));var _0x94d4=function(_0x5b644e,_0x2e5e07){_0x5b644e=_0x5b644e-0x0;var _0x49c6bf=_0x4d49[_0x5b644e];return _0x49c6bf;};'use strict';var pdf=require('html-pdf');var emlformat=require(_0x94d4('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x94d4('0x1'));var jsonpatch=require(_0x94d4('0x2'));var rp=require(_0x94d4('0x3'));var moment=require(_0x94d4('0x4'));var BPromise=require(_0x94d4('0x5'));var Mustache=require(_0x94d4('0x6'));var util=require(_0x94d4('0x7'));var path=require(_0x94d4('0x8'));var sox=require(_0x94d4('0x9'));var csv=require('to-csv');var ejs=require(_0x94d4('0xa'));var fs=require('fs');var _=require(_0x94d4('0xb'));var squel=require(_0x94d4('0xc'));var crypto=require(_0x94d4('0xd'));var jsforce=require(_0x94d4('0xe'));var deskjs=require(_0x94d4('0xf'));var toCsv=require('to-csv');var querystring=require(_0x94d4('0x10'));var Papa=require(_0x94d4('0x11'));var Redis=require('ioredis');var authService=require(_0x94d4('0x12'));var qs=require(_0x94d4('0x13'));var as=require(_0x94d4('0x14'));var hardwareService=require(_0x94d4('0x15'));var logger=require('../../config/logger')(_0x94d4('0x16'));var utils=require(_0x94d4('0x17'));var config=require(_0x94d4('0x18'));var db=require(_0x94d4('0x19'))['db'];config[_0x94d4('0x1a')]=_[_0x94d4('0x1b')](config['redis'],{'host':'localhost','port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x94d4('0x1a')]));require(_0x94d4('0x1c'))['register'](socket);var jayson=require(_0x94d4('0x1d'));var client=jayson[_0x94d4('0x1e')]['http']({'port':0x232a});function checkPasswordPattern(_0x119952,_0x5aa8e2,_0x242db2){if(_0x242db2){var _0x541cb1=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x541cb1['test'](_0x5aa8e2)){return _0x119952;}else{throw new db['Sequelize'][(_0x94d4('0x1f'))](_0x94d4('0x20'));}}else{return _0x119952;}}function respondWithRpcPromise(_0x2ae07c,_0x56fc60,_0x5e2418,_0x5d5fd3){return new BPromise(function(_0xdfa025,_0xfb809c){var _0x128f54=_0x5d5fd3||client;return _0x128f54[_0x94d4('0x21')](_0x2ae07c,_0x5e2418)[_0x94d4('0x22')](function(_0x1e0a48){logger[_0x94d4('0x23')](_0x94d4('0x24'),_0x56fc60,_0x94d4('0x25'));logger[_0x94d4('0x26')](_0x94d4('0x27'),_0x56fc60,_0x94d4('0x25'),JSON['stringify'](_0x1e0a48));if(_0x1e0a48[_0x94d4('0x28')]){if(_0x1e0a48['error'][_0x94d4('0x29')]===0x1f4){logger[_0x94d4('0x28')](_0x94d4('0x24'),_0x56fc60,_0x1e0a48[_0x94d4('0x28')]['message']);return _0xfb809c(_0x1e0a48[_0x94d4('0x28')][_0x94d4('0x2a')]);}logger['error']('ChatQueue,\x20%s,\x20%s',_0x56fc60,_0x1e0a48[_0x94d4('0x28')][_0x94d4('0x2a')]);return _0xdfa025(_0x1e0a48[_0x94d4('0x28')]['message']);}else{logger[_0x94d4('0x23')]('ChatQueue,\x20%s,\x20%s',_0x56fc60,_0x94d4('0x25'));_0xdfa025(_0x1e0a48['result'][_0x94d4('0x2a')]);}})[_0x94d4('0x2b')](function(_0x22f926){logger[_0x94d4('0x28')](_0x94d4('0x24'),_0x56fc60,_0x22f926);_0xfb809c(_0x22f926);});});}function respondWithStatusCode(_0x20d947,_0x5d7c5f){_0x5d7c5f=_0x5d7c5f||0xcc;return function(_0x1ae5bc){if(_0x1ae5bc){return _0x20d947[_0x94d4('0x2c')](_0x5d7c5f);}return _0x20d947[_0x94d4('0x2d')](_0x5d7c5f)[_0x94d4('0x2e')]();};}function respondWithResult(_0x2c22c0,_0x2211e2){_0x2211e2=_0x2211e2||0xc8;return function(_0x1f69a9){if(_0x1f69a9){return _0x2c22c0[_0x94d4('0x2d')](_0x2211e2)[_0x94d4('0x2f')](_0x1f69a9);}};}function respondWithFilteredResult(_0x207f59,_0x5b7297){return function(_0x27aa72){if(_0x27aa72){var _0x3c5967=_0x27aa72[_0x94d4('0x30')],_0x59da30=_0x5b7297[_0x94d4('0x31')],_0x2daf55=_0x5b7297[_0x94d4('0x31')]+_0x5b7297[_0x94d4('0x32')],_0x459af8;if(_0x2daf55>=_0x3c5967){_0x2daf55=_0x3c5967;_0x459af8=0xc8;}else{_0x459af8=0xce;}_0x207f59[_0x94d4('0x2d')](_0x459af8);return _0x207f59[_0x94d4('0x33')](_0x94d4('0x34'),_0x59da30+'-'+_0x2daf55+'/'+_0x3c5967)[_0x94d4('0x2f')](_0x27aa72);}return null;};}function patchUpdates(_0x189c5e){return function(_0x67e69e){try{jsonpatch[_0x94d4('0x35')](_0x67e69e,_0x189c5e,!![]);}catch(_0x27d1ca){return BPromise[_0x94d4('0x36')](_0x27d1ca);}return _0x67e69e[_0x94d4('0x37')]();};}function saveUpdates(_0x1db15d,_0x373826){return function(_0x11601e){if(_0x11601e){return _0x11601e[_0x94d4('0x38')](_0x1db15d)[_0x94d4('0x22')](function(_0x3fefcc){return _0x3fefcc;});}return null;};}function removeEntity(_0x410c55,_0x41afc8){return function(_0x3ec9de){if(_0x3ec9de){return _0x3ec9de[_0x94d4('0x39')]()[_0x94d4('0x22')](function(){var _0x658c19=_0x3ec9de[_0x94d4('0x3a')]({'plain':!![]});var _0x972641='ChatQueues';return db[_0x94d4('0x3b')]['destroy']({'where':{'type':_0x972641,'resourceId':_0x658c19['id']}})[_0x94d4('0x22')](function(){return _0x3ec9de;});})[_0x94d4('0x22')](function(){_0x410c55[_0x94d4('0x2d')](0xcc)[_0x94d4('0x2e')]();});}};}function handleEntityNotFound(_0x5b3d5e,_0x527653){return function(_0x84783f){if(!_0x84783f){_0x5b3d5e['sendStatus'](0x194);}return _0x84783f;};}function handleError(_0xd54c1d,_0xb8b504){_0xb8b504=_0xb8b504||0x1f4;return function(_0x26b83c){logger['error'](_0x26b83c[_0x94d4('0x3c')]);if(_0x26b83c['name']){delete _0x26b83c['name'];}_0xd54c1d['status'](_0xb8b504)[_0x94d4('0x3d')](_0x26b83c);};}exports[_0x94d4('0x3e')]=function(_0x31beec,_0x48da56){var _0x24ba88={},_0x16d226={},_0xf482f3={'count':0x0,'rows':[]};var _0x62abda=_[_0x94d4('0x3f')](db[_0x94d4('0x40')][_0x94d4('0x41')],function(_0xd62692){return{'name':_0xd62692[_0x94d4('0x42')],'type':_0xd62692[_0x94d4('0x43')][_0x94d4('0x44')]};});_0x16d226['model']=_[_0x94d4('0x3f')](_0x62abda,_0x94d4('0x45'));_0x16d226[_0x94d4('0x46')]=_[_0x94d4('0x47')](_0x31beec[_0x94d4('0x46')]);_0x16d226[_0x94d4('0x48')]=_['intersection'](_0x16d226[_0x94d4('0x49')],_0x16d226[_0x94d4('0x46')]);_0x24ba88[_0x94d4('0x4a')]=_[_0x94d4('0x4b')](_0x16d226[_0x94d4('0x49')],qs['fields'](_0x31beec[_0x94d4('0x46')][_0x94d4('0x4c')]));_0x24ba88[_0x94d4('0x4a')]=_0x24ba88[_0x94d4('0x4a')]['length']?_0x24ba88['attributes']:_0x16d226[_0x94d4('0x49')];if(!_0x31beec[_0x94d4('0x46')][_0x94d4('0x4d')](_0x94d4('0x4e'))){_0x24ba88['limit']=qs[_0x94d4('0x32')](_0x31beec[_0x94d4('0x46')][_0x94d4('0x32')]);_0x24ba88[_0x94d4('0x31')]=qs['offset'](_0x31beec['query'][_0x94d4('0x31')]);}_0x24ba88['order']=qs[_0x94d4('0x4f')](_0x31beec[_0x94d4('0x46')][_0x94d4('0x4f')]);_0x24ba88[_0x94d4('0x50')]=qs[_0x94d4('0x48')](_[_0x94d4('0x51')](_0x31beec['query'],_0x16d226[_0x94d4('0x48')]));if(_0x31beec[_0x94d4('0x46')][_0x94d4('0x52')]){_0x24ba88[_0x94d4('0x50')]=_['merge'](_0x24ba88['where'],{'$or':_[_0x94d4('0x3f')](_0x62abda,function(_0x55908c){if(_0x55908c[_0x94d4('0x43')]!==_0x94d4('0x53')){var _0x4c8bad={};_0x4c8bad[_0x55908c[_0x94d4('0x45')]]={'$like':'%'+_0x31beec[_0x94d4('0x46')][_0x94d4('0x52')]+'%'};return _0x4c8bad;}})});}_0x24ba88=_[_0x94d4('0x54')]({},_0x24ba88,_0x31beec[_0x94d4('0x55')]);var _0x504c5b={'where':_0x24ba88[_0x94d4('0x50')]};return db['ChatQueue'][_0x94d4('0x30')](_0x504c5b)['then'](function(_0x3600b4){_0xf482f3[_0x94d4('0x30')]=_0x3600b4;if(_0x31beec['query'][_0x94d4('0x56')]){_0x24ba88[_0x94d4('0x57')]=[{'all':!![]}];}return db['ChatQueue'][_0x94d4('0x58')](_0x24ba88);})['then'](function(_0x40f159){_0xf482f3[_0x94d4('0x59')]=_0x40f159;return _0xf482f3;})['then'](respondWithFilteredResult(_0x48da56,_0x24ba88))[_0x94d4('0x2b')](handleError(_0x48da56,null));};exports[_0x94d4('0x5a')]=function(_0x2a9b2b,_0x1b2f8a){var _0x1f7c56={'raw':!![],'where':{'id':_0x2a9b2b['params']['id']}},_0x738870={};_0x738870[_0x94d4('0x49')]=_[_0x94d4('0x47')](db[_0x94d4('0x40')][_0x94d4('0x41')]);_0x738870['query']=_[_0x94d4('0x47')](_0x2a9b2b['query']);_0x738870['filters']=_['intersection'](_0x738870[_0x94d4('0x49')],_0x738870['query']);_0x1f7c56[_0x94d4('0x4a')]=_['intersection'](_0x738870['model'],qs['fields'](_0x2a9b2b[_0x94d4('0x46')][_0x94d4('0x4c')]));_0x1f7c56['attributes']=_0x1f7c56[_0x94d4('0x4a')][_0x94d4('0x5b')]?_0x1f7c56[_0x94d4('0x4a')]:_0x738870[_0x94d4('0x49')];if(_0x2a9b2b['query'][_0x94d4('0x56')]){_0x1f7c56[_0x94d4('0x57')]=[{'all':!![]}];}_0x1f7c56=_[_0x94d4('0x54')]({},_0x1f7c56,_0x2a9b2b['options']);return db[_0x94d4('0x40')][_0x94d4('0x5c')](_0x1f7c56)[_0x94d4('0x22')](handleEntityNotFound(_0x1b2f8a,null))[_0x94d4('0x22')](respondWithResult(_0x1b2f8a,null))[_0x94d4('0x2b')](handleError(_0x1b2f8a,null));};exports[_0x94d4('0x5d')]=function(_0x47aaf8,_0x1dcf4a){return db[_0x94d4('0x40')]['create'](_0x47aaf8[_0x94d4('0x5e')],{})[_0x94d4('0x22')](function(_0x457105){var _0x407ab7=_0x47aaf8['user'][_0x94d4('0x3a')]({'plain':!![]});if(!_0x407ab7)throw new Error(_0x94d4('0x5f'));if(_0x407ab7[_0x94d4('0x60')]==='user'){var _0x1781a1=_0x457105[_0x94d4('0x3a')]({'plain':!![]});var _0x7909a1=_0x94d4('0x61');return db[_0x94d4('0x62')]['find']({'where':{'name':_0x7909a1,'userProfileId':_0x407ab7[_0x94d4('0x63')]},'raw':!![]})[_0x94d4('0x22')](function(_0x144775){if(_0x144775&&_0x144775['autoAssociation']===0x0){return db[_0x94d4('0x3b')][_0x94d4('0x5d')]({'name':_0x1781a1[_0x94d4('0x45')],'resourceId':_0x1781a1['id'],'type':_0x144775[_0x94d4('0x45')],'sectionId':_0x144775['id']},{})[_0x94d4('0x22')](function(){return _0x457105;});}else{return _0x457105;}})['catch'](function(_0x4e40cd){logger[_0x94d4('0x28')](_0x94d4('0x64'),_0x4e40cd);throw _0x4e40cd;});}return _0x457105;})[_0x94d4('0x22')](respondWithResult(_0x1dcf4a,0xc9))['catch'](handleError(_0x1dcf4a,null));};exports[_0x94d4('0x38')]=function(_0x82cd68,_0x11cc0c){if(_0x82cd68['body']['id']){delete _0x82cd68[_0x94d4('0x5e')]['id'];}return db['ChatQueue'][_0x94d4('0x5c')]({'where':{'id':_0x82cd68['params']['id']}})[_0x94d4('0x22')](handleEntityNotFound(_0x11cc0c,null))[_0x94d4('0x22')](saveUpdates(_0x82cd68[_0x94d4('0x5e')],null))[_0x94d4('0x22')](respondWithResult(_0x11cc0c,null))['catch'](handleError(_0x11cc0c,null));};exports[_0x94d4('0x39')]=function(_0x22ff9a,_0x3e441e){return db[_0x94d4('0x40')]['find']({'where':{'id':_0x22ff9a[_0x94d4('0x65')]['id']}})[_0x94d4('0x22')](handleEntityNotFound(_0x3e441e,null))[_0x94d4('0x22')](removeEntity(_0x3e441e,null))[_0x94d4('0x2b')](handleError(_0x3e441e,null));};exports[_0x94d4('0x66')]=function(_0x300b4d,_0x589534){return db['ChatQueue'][_0x94d4('0x66')]()['then'](respondWithResult(_0x589534,null))['catch'](handleError(_0x589534,null));};exports[_0x94d4('0x67')]=function(_0x58080c,_0x7802ce,_0x3ace58){var _0x36225e={'raw':!![],'where':{}},_0xbb6e7e={},_0x590a32;return db['ChatQueue'][_0x94d4('0x68')]({'where':{'id':_0x58080c[_0x94d4('0x65')]['id']}})['then'](handleEntityNotFound(_0x7802ce,null))[_0x94d4('0x22')](function(_0x2a854d){if(_0x2a854d){_0x590a32=_0x2a854d['get']({'plain':!![]});_0xbb6e7e[_0x94d4('0x49')]=_[_0x94d4('0x47')](db[_0x94d4('0x69')][_0x94d4('0x41')]);_0xbb6e7e['query']=_[_0x94d4('0x47')](_0x58080c[_0x94d4('0x46')]);_0xbb6e7e[_0x94d4('0x48')]=_[_0x94d4('0x4b')](_0xbb6e7e[_0x94d4('0x49')],_0xbb6e7e['query']);_0x36225e[_0x94d4('0x4a')]=_[_0x94d4('0x4b')](_0xbb6e7e['model'],qs[_0x94d4('0x4c')](_0x58080c[_0x94d4('0x46')][_0x94d4('0x4c')]));_0x36225e['attributes']=_0x36225e[_0x94d4('0x4a')][_0x94d4('0x5b')]?_0x36225e[_0x94d4('0x4a')]:_0xbb6e7e[_0x94d4('0x49')];if(!_0x58080c[_0x94d4('0x46')][_0x94d4('0x4d')](_0x94d4('0x4e'))){_0x36225e[_0x94d4('0x32')]=qs[_0x94d4('0x32')](_0x58080c['query'][_0x94d4('0x32')]);_0x36225e[_0x94d4('0x31')]=qs[_0x94d4('0x31')](_0x58080c[_0x94d4('0x46')][_0x94d4('0x31')]);}_0x36225e[_0x94d4('0x6a')]=qs['sort'](_0x58080c[_0x94d4('0x46')][_0x94d4('0x4f')]);_0x36225e['where']=qs[_0x94d4('0x48')](_[_0x94d4('0x51')](_0x58080c[_0x94d4('0x46')],_0xbb6e7e[_0x94d4('0x48')]));_0x36225e[_0x94d4('0x50')][_0x94d4('0x6b')]=_0x2a854d['id'];if(_0x58080c[_0x94d4('0x46')][_0x94d4('0x52')]){_0x36225e['where']=_[_0x94d4('0x54')](_0x36225e[_0x94d4('0x50')],{'$or':_[_0x94d4('0x3f')](_0x36225e[_0x94d4('0x4a')],function(_0x419fbc){var _0x170256={};_0x170256[_0x419fbc]={'$like':'%'+_0x58080c[_0x94d4('0x46')][_0x94d4('0x52')]+'%'};return _0x170256;})});}_0x36225e=_[_0x94d4('0x54')]({},_0x36225e,_0x58080c[_0x94d4('0x55')]);return db[_0x94d4('0x69')]['findAll'](_0x36225e);}})['then'](function(_0x5309e5){if(_0x5309e5){return db[_0x94d4('0x6c')]['findAndCountAll']({'where':{'id':_[_0x94d4('0x3f')](_0x5309e5,_0x94d4('0x6d')),'role':_0x94d4('0x6e')},'attributes':['id',_0x94d4('0x45'),_0x94d4('0x6f'),_0x94d4('0x70'),_0x94d4('0x71')]});}})[_0x94d4('0x22')](function(_0x454974){if(_0x454974){return{'count':_0x454974[_0x94d4('0x30')],'rows':_['map'](_0x454974[_0x94d4('0x59')],function(_0x2506a7){return{'membername':_0x2506a7['name'],'UserId':_0x2506a7['id'],'queue_name':_0x590a32[_0x94d4('0x45')],'ChatQueueId':_0x590a32['id'],'interface':util[_0x94d4('0x72')](_0x94d4('0x73'),_0x94d4('0x74'),_0x2506a7[_0x94d4('0x45')]),'penalty':0x0,'paused':_0x2506a7[_0x94d4('0x6f')],'createdAt':_0x2506a7['createdAt'],'updatedAt':_0x2506a7['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x7802ce,_0x36225e))[_0x94d4('0x2b')](handleError(_0x7802ce,null));};exports['getTeams']=function(_0x24175b,_0x355c6e,_0x516c6f){var _0x404812={};var _0x16e5c6={};var _0x31fc01;var _0x37e6cc;return db[_0x94d4('0x40')][_0x94d4('0x68')]({'where':{'id':_0x24175b[_0x94d4('0x65')]['id']}})['then'](handleEntityNotFound(_0x355c6e,null))[_0x94d4('0x22')](function(_0x2e6acf){if(_0x2e6acf){_0x31fc01=_0x2e6acf;_0x16e5c6['model']=_[_0x94d4('0x47')](db[_0x94d4('0x75')][_0x94d4('0x41')]);_0x16e5c6['query']=_[_0x94d4('0x47')](_0x24175b[_0x94d4('0x46')]);_0x16e5c6[_0x94d4('0x48')]=_[_0x94d4('0x4b')](_0x16e5c6[_0x94d4('0x49')],_0x16e5c6[_0x94d4('0x46')]);_0x404812[_0x94d4('0x4a')]=_[_0x94d4('0x4b')](_0x16e5c6[_0x94d4('0x49')],qs[_0x94d4('0x4c')](_0x24175b[_0x94d4('0x46')][_0x94d4('0x4c')]));_0x404812[_0x94d4('0x4a')]=_0x404812[_0x94d4('0x4a')][_0x94d4('0x5b')]?_0x404812[_0x94d4('0x4a')]:_0x16e5c6[_0x94d4('0x49')];_0x404812[_0x94d4('0x6a')]=qs[_0x94d4('0x4f')](_0x24175b[_0x94d4('0x46')][_0x94d4('0x4f')]);_0x404812[_0x94d4('0x50')]=qs['filters'](_[_0x94d4('0x51')](_0x24175b[_0x94d4('0x46')],_0x16e5c6['filters']));if(_0x24175b['query'][_0x94d4('0x52')]){_0x404812['where']=_[_0x94d4('0x54')](_0x404812[_0x94d4('0x50')],{'$or':_['map'](_0x404812['attributes'],function(_0xebec69){var _0x53a98a={};_0x53a98a[_0xebec69]={'$like':'%'+_0x24175b[_0x94d4('0x46')][_0x94d4('0x52')]+'%'};return _0x53a98a;})});}_0x404812=_['merge']({},_0x404812,_0x24175b[_0x94d4('0x55')]);return _0x31fc01['getTeams'](_0x404812);}})['then'](function(_0x505393){if(_0x505393){_0x37e6cc=_0x505393['length'];if(!_0x24175b[_0x94d4('0x46')][_0x94d4('0x4d')](_0x94d4('0x4e'))){_0x404812[_0x94d4('0x32')]=qs[_0x94d4('0x32')](_0x24175b[_0x94d4('0x46')][_0x94d4('0x32')]);_0x404812[_0x94d4('0x31')]=qs['offset'](_0x24175b[_0x94d4('0x46')][_0x94d4('0x31')]);}return _0x31fc01[_0x94d4('0x76')](_0x404812);}})[_0x94d4('0x22')](function(_0x4af937){if(_0x4af937){return _0x4af937?{'count':_0x37e6cc,'rows':_0x4af937}:null;}})[_0x94d4('0x22')](respondWithResult(_0x355c6e,null))['catch'](handleError(_0x355c6e,null));};exports[_0x94d4('0x77')]=function(_0x10856a,_0x4cc0fe,_0x303157){var _0x43237c=_0x10856a[_0x94d4('0x5e')][_0x94d4('0x78')];return db[_0x94d4('0x75')][_0x94d4('0x58')]({'where':{'id':_0x43237c},'attributes':['id'],'include':[{'model':db['User'],'as':_0x94d4('0x79'),'attributes':['id',_0x94d4('0x45'),_0x94d4('0x7a'),_0x94d4('0x7b'),_0x94d4('0x7c')],'raw':!![]}]})[_0x94d4('0x22')](function(_0x110a3e){if(_0x110a3e){var _0x148914=_[_0x94d4('0x7d')](_0x110a3e,function(_0x58700a){var _0x4cffdf=_0x58700a[_0x94d4('0x3a')]({'plain':!![]});return _0x4cffdf[_0x94d4('0x79')];});return db['ChatQueue'][_0x94d4('0x5c')]({'where':{'id':_0x10856a['params']['id']}})[_0x94d4('0x22')](function(_0x54ac2d){return db[_0x94d4('0x7e')][_0x94d4('0x7f')](function(_0x58d631){return _0x54ac2d[_0x94d4('0x77')](_0x43237c,{'transaction':_0x58d631})[_0x94d4('0x22')](function(){return BPromise[_0x94d4('0x80')](_0x148914,function(_0x5e62f9){return db[_0x94d4('0x69')]['findOrCreate']({'where':{'UserId':_0x5e62f9['id'],'ChatQueueId':_0x10856a['params']['id']},'transaction':_0x58d631});});})[_0x94d4('0x22')](function(){_0x148914[_0x94d4('0x81')](function(_0x362b8d){socket[_0x94d4('0x82')](_0x94d4('0x83'),{'UserId':_0x362b8d['id'],'ChatQueueId':_0x54ac2d['id']});});});});});}})['then'](respondWithStatusCode(_0x4cc0fe,null))['catch'](handleError(_0x4cc0fe,null));};exports[_0x94d4('0x84')]=function(_0x181836,_0x55a49e,_0x295920){return db[_0x94d4('0x75')]['findAll']({'where':{'id':_0x181836[_0x94d4('0x46')][_0x94d4('0x78')]},'attributes':['id'],'include':[{'model':db[_0x94d4('0x6c')],'as':_0x94d4('0x79'),'attributes':['id'],'raw':!![]}]})[_0x94d4('0x22')](handleEntityNotFound(_0x55a49e,null))[_0x94d4('0x22')](function(_0x18d9fb){var _0x15f5c6=_[_0x94d4('0x3f')](_0x18d9fb,'id');var _0x9c9316=[];var _0x259694=[];var _0x486873=squel[_0x94d4('0x85')]();_0x486873['field']('tq.TeamId')['from']('team_has_chat_queues','tq')[_0x94d4('0x86')]('user_has_teams','ut',_0x94d4('0x87'))[_0x94d4('0x50')]('ChatQueueId\x20=\x20?',_0x181836['params']['id']);for(var _0x288656=0x0;_0x288656<_0x18d9fb[_0x94d4('0x5b')];_0x288656+=0x1){let _0x494203=_0x18d9fb[_0x288656];for(var _0x4479bb=0x0;_0x4479bb<_0x494203[_0x94d4('0x79')][_0x94d4('0x5b')];_0x4479bb+=0x1){let _0x342218=_0x494203['Agents'][_0x4479bb];var _0x2f67b2=_0x486873[_0x94d4('0x88')]();_0x2f67b2[_0x94d4('0x50')](_0x94d4('0x89'),_0x342218['id']);_0x259694[_0x94d4('0x8a')](db[_0x94d4('0x7e')]['query'](_0x2f67b2['toString'](),{'type':db[_0x94d4('0x7e')][_0x94d4('0x8b')]['SELECT']})['then'](function(_0x53131c){if(_0x53131c['length']===0x1){return _0x342218['id'];}else{var _0x1e40c5=_[_0x94d4('0x8c')](_[_0x94d4('0x3f')](_0x53131c,'TeamId'),function(_0x545be1){return _['includes'](_0x15f5c6,_0x545be1);});if(_0x1e40c5){return _0x342218['id'];}}}));}}return BPromise[_0x94d4('0x8d')](_0x259694)[_0x94d4('0x22')](function(_0x3505ad){_0x9c9316=_(_0x9c9316)[_0x94d4('0x8e')](_0x3505ad)[_0x94d4('0x8f')]()[_0x94d4('0x90')]();return db[_0x94d4('0x40')][_0x94d4('0x5c')]({'where':{'id':_0x181836[_0x94d4('0x65')]['id']}})[_0x94d4('0x22')](function(_0x475378){return db['sequelize'][_0x94d4('0x7f')](function(_0x5b911e){return _0x475378[_0x94d4('0x84')](_0x181836[_0x94d4('0x46')][_0x94d4('0x78')],{'transaction':_0x5b911e})[_0x94d4('0x22')](function(){if(!_[_0x94d4('0x91')](_0x9c9316)){return _0x475378[_0x94d4('0x92')](_0x9c9316,{'transaction':_0x5b911e});}})[_0x94d4('0x22')](function(){_0x9c9316[_0x94d4('0x81')](function(_0x1da15c){socket[_0x94d4('0x82')](_0x94d4('0x93'),{'UserId':_0x1da15c,'ChatQueueId':_0x475378['id']});});});});});});})[_0x94d4('0x22')](respondWithStatusCode(_0x55a49e,null))['catch'](handleError(_0x55a49e,null));};exports[_0x94d4('0x94')]=function(_0x3a8535,_0x51ee9c,_0x385816){return db['ChatQueue'][_0x94d4('0x5c')]({'where':{'id':_0x3a8535[_0x94d4('0x65')]['id']}})[_0x94d4('0x22')](handleEntityNotFound(_0x51ee9c,null))[_0x94d4('0x22')](function(_0xfaab96){if(_0xfaab96){return _0xfaab96['addAgents'](_0x3a8535[_0x94d4('0x5e')][_0x94d4('0x78')],_[_0x94d4('0x95')](_0x3a8535[_0x94d4('0x5e')],[_0x94d4('0x78'),'id'])||{})['spread'](function(_0x5f1aac){for(var _0x169209=0x0;_0x169209<_0x3a8535[_0x94d4('0x5e')][_0x94d4('0x78')][_0x94d4('0x5b')];_0x169209+=0x1){socket[_0x94d4('0x82')](_0x94d4('0x83'),{'UserId':_0x3a8535[_0x94d4('0x5e')][_0x94d4('0x78')][_0x169209],'ChatQueueId':_0x3a8535[_0x94d4('0x65')]['id']});}return _0x5f1aac;});}})[_0x94d4('0x22')](respondWithResult(_0x51ee9c,null))[_0x94d4('0x2b')](handleError(_0x51ee9c,null));};exports[_0x94d4('0x92')]=function(_0x38671f,_0x407dae,_0x4feaea){return db[_0x94d4('0x40')][_0x94d4('0x5c')]({'where':{'id':_0x38671f[_0x94d4('0x65')]['id']}})[_0x94d4('0x22')](handleEntityNotFound(_0x407dae,null))[_0x94d4('0x22')](function(_0x296a02){if(_0x296a02){return _0x296a02[_0x94d4('0x92')](_0x38671f[_0x94d4('0x46')][_0x94d4('0x78')])['then'](function(){if(_[_0x94d4('0x96')](_0x38671f[_0x94d4('0x46')][_0x94d4('0x78')])){for(var _0x5cf542=0x0;_0x5cf542<_0x38671f[_0x94d4('0x46')][_0x94d4('0x78')][_0x94d4('0x5b')];_0x5cf542+=0x1){socket[_0x94d4('0x82')](_0x94d4('0x93'),{'UserId':Number(_0x38671f[_0x94d4('0x46')]['ids'][_0x5cf542]),'ChatQueueId':Number(_0x38671f[_0x94d4('0x65')]['id'])});}}else{socket[_0x94d4('0x82')](_0x94d4('0x93'),{'UserId':Number(_0x38671f[_0x94d4('0x46')]['ids']),'ChatQueueId':Number(_0x38671f[_0x94d4('0x65')]['id'])});}});}})[_0x94d4('0x22')](respondWithStatusCode(_0x407dae,null))[_0x94d4('0x2b')](handleError(_0x407dae,null));};exports[_0x94d4('0x97')]=function(_0x1c659f,_0x2b8331,_0xc71e1){var _0x444ea5={};var _0x5db223={};var _0x115871;var _0x4f581a;return db[_0x94d4('0x40')][_0x94d4('0x68')]({'where':{'id':_0x1c659f[_0x94d4('0x65')]['id']}})['then'](handleEntityNotFound(_0x2b8331,null))[_0x94d4('0x22')](function(_0x1d8b56){if(_0x1d8b56){_0x115871=_0x1d8b56;_0x5db223[_0x94d4('0x49')]=_[_0x94d4('0x47')](db[_0x94d4('0x6c')][_0x94d4('0x41')]);_0x5db223['query']=_[_0x94d4('0x47')](_0x1c659f[_0x94d4('0x46')]);_0x5db223['filters']=_[_0x94d4('0x4b')](_0x5db223[_0x94d4('0x49')],_0x5db223[_0x94d4('0x46')]);_0x444ea5[_0x94d4('0x4a')]=_[_0x94d4('0x4b')](_0x5db223[_0x94d4('0x49')],qs[_0x94d4('0x4c')](_0x1c659f[_0x94d4('0x46')][_0x94d4('0x4c')]));_0x444ea5[_0x94d4('0x4a')]=_0x444ea5[_0x94d4('0x4a')][_0x94d4('0x5b')]?_0x444ea5[_0x94d4('0x4a')]:_0x5db223[_0x94d4('0x49')];_0x444ea5['order']=qs[_0x94d4('0x4f')](_0x1c659f[_0x94d4('0x46')]['sort']);_0x444ea5['where']=qs[_0x94d4('0x48')](_['pick'](_0x1c659f[_0x94d4('0x46')],_0x5db223[_0x94d4('0x48')]));if(_0x1c659f[_0x94d4('0x46')][_0x94d4('0x52')]){_0x444ea5[_0x94d4('0x50')]=_[_0x94d4('0x54')](_0x444ea5[_0x94d4('0x50')],{'$or':_[_0x94d4('0x3f')](_0x444ea5[_0x94d4('0x4a')],function(_0x15ff24){var _0x43b04f={};_0x43b04f[_0x15ff24]={'$like':'%'+_0x1c659f['query'][_0x94d4('0x52')]+'%'};return _0x43b04f;})});}_0x444ea5=_['merge']({},_0x444ea5,_0x1c659f[_0x94d4('0x55')]);return _0x115871[_0x94d4('0x97')](_0x444ea5);}})[_0x94d4('0x22')](function(_0x35ff10){if(_0x35ff10){_0x4f581a=_0x35ff10[_0x94d4('0x5b')];if(!_0x1c659f[_0x94d4('0x46')][_0x94d4('0x4d')](_0x94d4('0x4e'))){_0x444ea5[_0x94d4('0x32')]=qs[_0x94d4('0x32')](_0x1c659f[_0x94d4('0x46')][_0x94d4('0x32')]);_0x444ea5[_0x94d4('0x31')]=qs['offset'](_0x1c659f['query'][_0x94d4('0x31')]);}return _0x115871[_0x94d4('0x97')](_0x444ea5);}})[_0x94d4('0x22')](function(_0xf1908d){if(_0xf1908d){return _0xf1908d?{'count':_0x4f581a,'rows':_0xf1908d}:null;}})[_0x94d4('0x22')](respondWithResult(_0x2b8331,null))[_0x94d4('0x2b')](handleError(_0x2b8331,null));};