e0967e52393253cc6fb50a60a572f897323d12b6
[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 _0x5fad=['all','union','compact','value','isEmpty','removeAgents','emit','userChatQueue:remove','addAgents','userChatQueue:save','isArray','getAgents','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','lodash','crypto','jsforce','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/environment','../../config/license/util','redis','socket.io-emitter','./chatQueue.socket','register','jayson/promise','http','request\x20sent','debug','stringify','error','code','ChatQueue,\x20%s,\x20%s','message','info','result','catch','sendStatus','end','status','json','count','offset','limit','Content-Range','apply','reject','then','destroy','get','ChatQueues','stack','name','index','map','rawAttributes','fieldName','key','model','query','keys','filters','intersection','fields','attributes','nolimit','order','sort','pick','where','merge','type','VIRTUAL','ChatQueue','includeAll','include','findAll','rows','show','length','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','userProfileId','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','params','describe','getMembers','findOne','UserChatQueue','hasOwnProperty','ChatQueueId','filter','UserId','agent','updatedAt','createdAt','%s/%s','SIP','chatPause','getTeams','Team','addTeams','ids','User','Agents','interface','flatMap','sequelize','transaction','findOrCreate','forEach','removeTeams','select','tq.TeamId','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','every','TeamId','includes'];(function(_0x4f16ea,_0x2e3b0b){var _0x48b5ae=function(_0x481b4e){while(--_0x481b4e){_0x4f16ea['push'](_0x4f16ea['shift']());}};_0x48b5ae(++_0x2e3b0b);}(_0x5fad,0x1d4));var _0xd5fa=function(_0x5d1dad,_0x2cbdd4){_0x5d1dad=_0x5d1dad-0x0;var _0x334f8d=_0x5fad[_0x5d1dad];return _0x334f8d;};'use strict';var pdf=require(_0xd5fa('0x0'));var emlformat=require(_0xd5fa('0x1'));var rimraf=require(_0xd5fa('0x2'));var zipdir=require(_0xd5fa('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0xd5fa('0x4'));var moment=require(_0xd5fa('0x5'));var BPromise=require(_0xd5fa('0x6'));var Mustache=require(_0xd5fa('0x7'));var util=require(_0xd5fa('0x8'));var path=require(_0xd5fa('0x9'));var sox=require(_0xd5fa('0xa'));var csv=require(_0xd5fa('0xb'));var ejs=require(_0xd5fa('0xc'));var fs=require('fs');var _=require(_0xd5fa('0xd'));var squel=require('squel');var crypto=require(_0xd5fa('0xe'));var jsforce=require(_0xd5fa('0xf'));var deskjs=require('desk.js');var toCsv=require(_0xd5fa('0xb'));var querystring=require(_0xd5fa('0x10'));var Papa=require(_0xd5fa('0x11'));var Redis=require(_0xd5fa('0x12'));var authService=require(_0xd5fa('0x13'));var qs=require(_0xd5fa('0x14'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0xd5fa('0x15'));var logger=require(_0xd5fa('0x16'))(_0xd5fa('0x17'));var utils=require(_0xd5fa('0x18'));var config=require(_0xd5fa('0x19'));var licenseUtil=require(_0xd5fa('0x1a'));var db=require('../../mysqldb')['db'];config[_0xd5fa('0x1b')]=_['defaults'](config[_0xd5fa('0x1b')],{'host':'localhost','port':0x18eb});var socket=require(_0xd5fa('0x1c'))(new Redis(config['redis']));require(_0xd5fa('0x1d'))[_0xd5fa('0x1e')](socket);var jayson=require(_0xd5fa('0x1f'));var client=jayson['client'][_0xd5fa('0x20')]({'port':0x232a});function respondWithRpcPromise(_0x4f0f50,_0x2ab235,_0x4657bc,_0x3d1585){return new BPromise(function(_0x1d58c3,_0x4fbac6){var _0xbe6d71=_0x3d1585||client;return _0xbe6d71['request'](_0x4f0f50,_0x4657bc)['then'](function(_0x24817f){logger['info']('ChatQueue,\x20%s,\x20%s',_0x2ab235,_0xd5fa('0x21'));logger[_0xd5fa('0x22')]('ChatQueue,\x20%s,\x20%s,\x20%s',_0x2ab235,_0xd5fa('0x21'),JSON[_0xd5fa('0x23')](_0x24817f));if(_0x24817f[_0xd5fa('0x24')]){if(_0x24817f[_0xd5fa('0x24')][_0xd5fa('0x25')]===0x1f4){logger[_0xd5fa('0x24')]('ChatQueue,\x20%s,\x20%s',_0x2ab235,_0x24817f[_0xd5fa('0x24')]['message']);return _0x4fbac6(_0x24817f[_0xd5fa('0x24')]['message']);}logger['error'](_0xd5fa('0x26'),_0x2ab235,_0x24817f[_0xd5fa('0x24')]['message']);return _0x1d58c3(_0x24817f['error'][_0xd5fa('0x27')]);}else{logger[_0xd5fa('0x28')](_0xd5fa('0x26'),_0x2ab235,_0xd5fa('0x21'));_0x1d58c3(_0x24817f[_0xd5fa('0x29')][_0xd5fa('0x27')]);}})[_0xd5fa('0x2a')](function(_0x2e3513){logger[_0xd5fa('0x24')](_0xd5fa('0x26'),_0x2ab235,_0x2e3513);_0x4fbac6(_0x2e3513);});});}function respondWithStatusCode(_0x1147f8,_0x1e0aeb){_0x1e0aeb=_0x1e0aeb||0xcc;return function(_0x347a88){if(_0x347a88){return _0x1147f8[_0xd5fa('0x2b')](_0x1e0aeb);}return _0x1147f8['status'](_0x1e0aeb)[_0xd5fa('0x2c')]();};}function respondWithResult(_0x38d568,_0x352157){_0x352157=_0x352157||0xc8;return function(_0x2fdff6){if(_0x2fdff6){return _0x38d568[_0xd5fa('0x2d')](_0x352157)[_0xd5fa('0x2e')](_0x2fdff6);}};}function respondWithFilteredResult(_0x25f2e8,_0xde05b2){return function(_0x1a5eef){if(_0x1a5eef){var _0xb0760f=_0x1a5eef[_0xd5fa('0x2f')],_0x59e9f5=_0xde05b2[_0xd5fa('0x30')],_0x1e7b4c=_0xde05b2[_0xd5fa('0x30')]+_0xde05b2[_0xd5fa('0x31')],_0x5d9c08;if(_0x1e7b4c>=_0xb0760f){_0x1e7b4c=_0xb0760f;_0x5d9c08=0xc8;}else{_0x5d9c08=0xce;}_0x25f2e8[_0xd5fa('0x2d')](_0x5d9c08);return _0x25f2e8['set'](_0xd5fa('0x32'),_0x59e9f5+'-'+_0x1e7b4c+'/'+_0xb0760f)[_0xd5fa('0x2e')](_0x1a5eef);}return null;};}function patchUpdates(_0x3877f8){return function(_0x4e523b){try{jsonpatch[_0xd5fa('0x33')](_0x4e523b,_0x3877f8,!![]);}catch(_0x55becf){return BPromise[_0xd5fa('0x34')](_0x55becf);}return _0x4e523b['save']();};}function saveUpdates(_0x4e90da,_0x4b0edd){return function(_0x18a3b5){if(_0x18a3b5){return _0x18a3b5['update'](_0x4e90da)[_0xd5fa('0x35')](function(_0x528e27){return _0x528e27;});}return null;};}function removeEntity(_0x480f1f,_0x254066){return function(_0x341837){if(_0x341837){return _0x341837[_0xd5fa('0x36')]()[_0xd5fa('0x35')](function(){var _0x29750e=_0x341837[_0xd5fa('0x37')]({'plain':!![]});var _0x549257=_0xd5fa('0x38');return db['UserProfileResource'][_0xd5fa('0x36')]({'where':{'type':_0x549257,'resourceId':_0x29750e['id']}})['then'](function(){return _0x341837;});})[_0xd5fa('0x35')](function(){_0x480f1f[_0xd5fa('0x2d')](0xcc)[_0xd5fa('0x2c')]();});}};}function handleEntityNotFound(_0xbbdc01,_0x5f16d8){return function(_0x398f7c){if(!_0x398f7c){_0xbbdc01[_0xd5fa('0x2b')](0x194);}return _0x398f7c;};}function handleError(_0x1c6b36,_0x1fad94){_0x1fad94=_0x1fad94||0x1f4;return function(_0x2a0b2e){logger[_0xd5fa('0x24')](_0x2a0b2e[_0xd5fa('0x39')]);if(_0x2a0b2e[_0xd5fa('0x3a')]){delete _0x2a0b2e[_0xd5fa('0x3a')];}_0x1c6b36[_0xd5fa('0x2d')](_0x1fad94)['send'](_0x2a0b2e);};}exports[_0xd5fa('0x3b')]=function(_0x353eb2,_0x4f3b82){var _0x2ef9e4={},_0xc420bb={},_0x10e433={'count':0x0,'rows':[]};var _0x165c23=_[_0xd5fa('0x3c')](db['ChatQueue'][_0xd5fa('0x3d')],function(_0x2c2d2f){return{'name':_0x2c2d2f[_0xd5fa('0x3e')],'type':_0x2c2d2f['type'][_0xd5fa('0x3f')]};});_0xc420bb[_0xd5fa('0x40')]=_[_0xd5fa('0x3c')](_0x165c23,'name');_0xc420bb[_0xd5fa('0x41')]=_[_0xd5fa('0x42')](_0x353eb2[_0xd5fa('0x41')]);_0xc420bb[_0xd5fa('0x43')]=_['intersection'](_0xc420bb[_0xd5fa('0x40')],_0xc420bb[_0xd5fa('0x41')]);_0x2ef9e4['attributes']=_[_0xd5fa('0x44')](_0xc420bb[_0xd5fa('0x40')],qs[_0xd5fa('0x45')](_0x353eb2[_0xd5fa('0x41')][_0xd5fa('0x45')]));_0x2ef9e4[_0xd5fa('0x46')]=_0x2ef9e4[_0xd5fa('0x46')]['length']?_0x2ef9e4['attributes']:_0xc420bb[_0xd5fa('0x40')];if(!_0x353eb2[_0xd5fa('0x41')]['hasOwnProperty'](_0xd5fa('0x47'))){_0x2ef9e4[_0xd5fa('0x31')]=qs[_0xd5fa('0x31')](_0x353eb2['query'][_0xd5fa('0x31')]);_0x2ef9e4[_0xd5fa('0x30')]=qs[_0xd5fa('0x30')](_0x353eb2[_0xd5fa('0x41')][_0xd5fa('0x30')]);}_0x2ef9e4[_0xd5fa('0x48')]=qs[_0xd5fa('0x49')](_0x353eb2['query'][_0xd5fa('0x49')]);_0x2ef9e4['where']=qs[_0xd5fa('0x43')](_[_0xd5fa('0x4a')](_0x353eb2[_0xd5fa('0x41')],_0xc420bb[_0xd5fa('0x43')]),_0x165c23);if(_0x353eb2['query']['filter']){_0x2ef9e4[_0xd5fa('0x4b')]=_[_0xd5fa('0x4c')](_0x2ef9e4[_0xd5fa('0x4b')],{'$or':_['map'](_0x165c23,function(_0x277ee7){if(_0x277ee7[_0xd5fa('0x4d')]!==_0xd5fa('0x4e')){var _0x4fb3c0={};_0x4fb3c0[_0x277ee7[_0xd5fa('0x3a')]]={'$like':'%'+_0x353eb2[_0xd5fa('0x41')]['filter']+'%'};return _0x4fb3c0;}})});}_0x2ef9e4=_['merge']({},_0x2ef9e4,_0x353eb2['options']);var _0x29af9e={'where':_0x2ef9e4[_0xd5fa('0x4b')]};return db[_0xd5fa('0x4f')][_0xd5fa('0x2f')](_0x29af9e)[_0xd5fa('0x35')](function(_0x3b67b2){_0x10e433[_0xd5fa('0x2f')]=_0x3b67b2;if(_0x353eb2[_0xd5fa('0x41')][_0xd5fa('0x50')]){_0x2ef9e4[_0xd5fa('0x51')]=[{'all':!![]}];}return db['ChatQueue'][_0xd5fa('0x52')](_0x2ef9e4);})['then'](function(_0x998a9e){_0x10e433[_0xd5fa('0x53')]=_0x998a9e;return _0x10e433;})['then'](respondWithFilteredResult(_0x4f3b82,_0x2ef9e4))[_0xd5fa('0x2a')](handleError(_0x4f3b82,null));};exports[_0xd5fa('0x54')]=function(_0x48c030,_0x2bc3bb){var _0x5b87e2={'raw':!![],'where':{'id':_0x48c030['params']['id']}},_0x4d38e4={};_0x4d38e4[_0xd5fa('0x40')]=_[_0xd5fa('0x42')](db['ChatQueue'][_0xd5fa('0x3d')]);_0x4d38e4[_0xd5fa('0x41')]=_[_0xd5fa('0x42')](_0x48c030['query']);_0x4d38e4[_0xd5fa('0x43')]=_['intersection'](_0x4d38e4['model'],_0x4d38e4['query']);_0x5b87e2[_0xd5fa('0x46')]=_[_0xd5fa('0x44')](_0x4d38e4[_0xd5fa('0x40')],qs['fields'](_0x48c030[_0xd5fa('0x41')][_0xd5fa('0x45')]));_0x5b87e2[_0xd5fa('0x46')]=_0x5b87e2[_0xd5fa('0x46')][_0xd5fa('0x55')]?_0x5b87e2['attributes']:_0x4d38e4[_0xd5fa('0x40')];if(_0x48c030[_0xd5fa('0x41')]['includeAll']){_0x5b87e2[_0xd5fa('0x51')]=[{'all':!![]}];}_0x5b87e2=_[_0xd5fa('0x4c')]({},_0x5b87e2,_0x48c030[_0xd5fa('0x56')]);return db[_0xd5fa('0x4f')][_0xd5fa('0x57')](_0x5b87e2)[_0xd5fa('0x35')](handleEntityNotFound(_0x2bc3bb,null))[_0xd5fa('0x35')](respondWithResult(_0x2bc3bb,null))['catch'](handleError(_0x2bc3bb,null));};exports[_0xd5fa('0x58')]=function(_0x1528df,_0x5e7d28){return db['ChatQueue'][_0xd5fa('0x58')](_0x1528df[_0xd5fa('0x59')],{})[_0xd5fa('0x35')](function(_0x56379c){var _0x5be675=_0x1528df[_0xd5fa('0x5a')]['get']({'plain':!![]});if(!_0x5be675)throw new Error(_0xd5fa('0x5b'));if(_0x5be675['role']==='user'){var _0x1345de=_0x56379c[_0xd5fa('0x37')]({'plain':!![]});var _0x1a77d7=_0xd5fa('0x38');return db['UserProfileSection'][_0xd5fa('0x57')]({'where':{'name':_0x1a77d7,'userProfileId':_0x5be675[_0xd5fa('0x5c')]},'raw':!![]})[_0xd5fa('0x35')](function(_0x157092){if(_0x157092&&_0x157092[_0xd5fa('0x5d')]===0x0){return db[_0xd5fa('0x5e')]['create']({'name':_0x1345de[_0xd5fa('0x3a')],'resourceId':_0x1345de['id'],'type':_0x157092['name'],'sectionId':_0x157092['id']},{})[_0xd5fa('0x35')](function(){return _0x56379c;});}else{return _0x56379c;}})[_0xd5fa('0x2a')](function(_0x366918){logger[_0xd5fa('0x24')](_0xd5fa('0x5f'),_0x366918);throw _0x366918;});}return _0x56379c;})[_0xd5fa('0x35')](respondWithResult(_0x5e7d28,0xc9))[_0xd5fa('0x2a')](handleError(_0x5e7d28,null));};exports['update']=function(_0x2c11b0,_0x124943){if(_0x2c11b0[_0xd5fa('0x59')]['id']){delete _0x2c11b0['body']['id'];}return db[_0xd5fa('0x4f')][_0xd5fa('0x57')]({'where':{'id':_0x2c11b0[_0xd5fa('0x60')]['id']}})[_0xd5fa('0x35')](handleEntityNotFound(_0x124943,null))[_0xd5fa('0x35')](saveUpdates(_0x2c11b0[_0xd5fa('0x59')],null))[_0xd5fa('0x35')](respondWithResult(_0x124943,null))[_0xd5fa('0x2a')](handleError(_0x124943,null));};exports[_0xd5fa('0x36')]=function(_0x29b983,_0x3599b1){return db['ChatQueue'][_0xd5fa('0x57')]({'where':{'id':_0x29b983['params']['id']}})[_0xd5fa('0x35')](handleEntityNotFound(_0x3599b1,null))['then'](removeEntity(_0x3599b1,null))[_0xd5fa('0x2a')](handleError(_0x3599b1,null));};exports[_0xd5fa('0x61')]=function(_0x180bfb,_0x2f471c){return db[_0xd5fa('0x4f')][_0xd5fa('0x61')]()[_0xd5fa('0x35')](respondWithResult(_0x2f471c,null))[_0xd5fa('0x2a')](handleError(_0x2f471c,null));};exports[_0xd5fa('0x62')]=function(_0x1e9caa,_0x22a6ed,_0xc50a11){var _0x145625={'raw':!![],'where':{}},_0x11c6c5={},_0x4af2b8;return db['ChatQueue'][_0xd5fa('0x63')]({'where':{'id':_0x1e9caa[_0xd5fa('0x60')]['id']}})[_0xd5fa('0x35')](handleEntityNotFound(_0x22a6ed,null))['then'](function(_0x18fe20){if(_0x18fe20){_0x4af2b8=_0x18fe20[_0xd5fa('0x37')]({'plain':!![]});_0x11c6c5[_0xd5fa('0x40')]=_[_0xd5fa('0x42')](db[_0xd5fa('0x64')][_0xd5fa('0x3d')]);_0x11c6c5['query']=_['keys'](_0x1e9caa[_0xd5fa('0x41')]);_0x11c6c5['filters']=_['intersection'](_0x11c6c5[_0xd5fa('0x40')],_0x11c6c5['query']);_0x145625['attributes']=_[_0xd5fa('0x44')](_0x11c6c5[_0xd5fa('0x40')],qs['fields'](_0x1e9caa[_0xd5fa('0x41')][_0xd5fa('0x45')]));_0x145625['attributes']=_0x145625[_0xd5fa('0x46')][_0xd5fa('0x55')]?_0x145625[_0xd5fa('0x46')]:_0x11c6c5[_0xd5fa('0x40')];if(!_0x1e9caa[_0xd5fa('0x41')][_0xd5fa('0x65')](_0xd5fa('0x47'))){_0x145625['limit']=qs[_0xd5fa('0x31')](_0x1e9caa[_0xd5fa('0x41')]['limit']);_0x145625['offset']=qs[_0xd5fa('0x30')](_0x1e9caa[_0xd5fa('0x41')]['offset']);}_0x145625[_0xd5fa('0x48')]=qs[_0xd5fa('0x49')](_0x1e9caa['query'][_0xd5fa('0x49')]);_0x145625[_0xd5fa('0x4b')]=qs[_0xd5fa('0x43')](_[_0xd5fa('0x4a')](_0x1e9caa[_0xd5fa('0x41')],_0x11c6c5['filters']));_0x145625[_0xd5fa('0x4b')][_0xd5fa('0x66')]=_0x18fe20['id'];if(_0x1e9caa['query'][_0xd5fa('0x67')]){_0x145625[_0xd5fa('0x4b')]=_[_0xd5fa('0x4c')](_0x145625[_0xd5fa('0x4b')],{'$or':_[_0xd5fa('0x3c')](_0x145625['attributes'],function(_0x33af57){var _0x1752ac={};_0x1752ac[_0x33af57]={'$like':'%'+_0x1e9caa['query'][_0xd5fa('0x67')]+'%'};return _0x1752ac;})});}_0x145625=_['merge']({},_0x145625,_0x1e9caa[_0xd5fa('0x56')]);return db[_0xd5fa('0x64')][_0xd5fa('0x52')](_0x145625);}})[_0xd5fa('0x35')](function(_0x263b15){if(_0x263b15){return db['User']['findAndCountAll']({'where':{'id':_[_0xd5fa('0x3c')](_0x263b15,_0xd5fa('0x68')),'role':_0xd5fa('0x69')},'attributes':['id',_0xd5fa('0x3a'),'chatPause',_0xd5fa('0x6a'),_0xd5fa('0x6b')]});}})['then'](function(_0x380c89){if(_0x380c89){return{'count':_0x380c89[_0xd5fa('0x2f')],'rows':_[_0xd5fa('0x3c')](_0x380c89[_0xd5fa('0x53')],function(_0x329884){return{'membername':_0x329884[_0xd5fa('0x3a')],'UserId':_0x329884['id'],'queue_name':_0x4af2b8[_0xd5fa('0x3a')],'ChatQueueId':_0x4af2b8['id'],'interface':util['format'](_0xd5fa('0x6c'),_0xd5fa('0x6d'),_0x329884[_0xd5fa('0x3a')]),'penalty':0x0,'paused':_0x329884[_0xd5fa('0x6e')],'createdAt':_0x329884['createdAt'],'updatedAt':_0x329884[_0xd5fa('0x6a')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xd5fa('0x35')](respondWithFilteredResult(_0x22a6ed,_0x145625))[_0xd5fa('0x2a')](handleError(_0x22a6ed,null));};exports[_0xd5fa('0x6f')]=function(_0x2b9d8f,_0x402a8b,_0x417700){var _0x4a4da3={};var _0x2ff9b2={};var _0x407676;var _0x2496f6;return db[_0xd5fa('0x4f')][_0xd5fa('0x63')]({'where':{'id':_0x2b9d8f[_0xd5fa('0x60')]['id']}})['then'](handleEntityNotFound(_0x402a8b,null))['then'](function(_0x37043a){if(_0x37043a){_0x407676=_0x37043a;_0x2ff9b2[_0xd5fa('0x40')]=_[_0xd5fa('0x42')](db[_0xd5fa('0x70')][_0xd5fa('0x3d')]);_0x2ff9b2[_0xd5fa('0x41')]=_[_0xd5fa('0x42')](_0x2b9d8f['query']);_0x2ff9b2[_0xd5fa('0x43')]=_[_0xd5fa('0x44')](_0x2ff9b2[_0xd5fa('0x40')],_0x2ff9b2[_0xd5fa('0x41')]);_0x4a4da3[_0xd5fa('0x46')]=_[_0xd5fa('0x44')](_0x2ff9b2[_0xd5fa('0x40')],qs[_0xd5fa('0x45')](_0x2b9d8f['query']['fields']));_0x4a4da3[_0xd5fa('0x46')]=_0x4a4da3[_0xd5fa('0x46')][_0xd5fa('0x55')]?_0x4a4da3[_0xd5fa('0x46')]:_0x2ff9b2['model'];_0x4a4da3[_0xd5fa('0x48')]=qs[_0xd5fa('0x49')](_0x2b9d8f[_0xd5fa('0x41')][_0xd5fa('0x49')]);_0x4a4da3[_0xd5fa('0x4b')]=qs['filters'](_[_0xd5fa('0x4a')](_0x2b9d8f[_0xd5fa('0x41')],_0x2ff9b2[_0xd5fa('0x43')]));if(_0x2b9d8f[_0xd5fa('0x41')][_0xd5fa('0x67')]){_0x4a4da3[_0xd5fa('0x4b')]=_[_0xd5fa('0x4c')](_0x4a4da3[_0xd5fa('0x4b')],{'$or':_['map'](_0x4a4da3[_0xd5fa('0x46')],function(_0x2ce5a3){var _0x2e18c9={};_0x2e18c9[_0x2ce5a3]={'$like':'%'+_0x2b9d8f['query'][_0xd5fa('0x67')]+'%'};return _0x2e18c9;})});}_0x4a4da3=_['merge']({},_0x4a4da3,_0x2b9d8f[_0xd5fa('0x56')]);return _0x407676[_0xd5fa('0x6f')](_0x4a4da3);}})[_0xd5fa('0x35')](function(_0x437b7d){if(_0x437b7d){_0x2496f6=_0x437b7d['length'];if(!_0x2b9d8f[_0xd5fa('0x41')][_0xd5fa('0x65')]('nolimit')){_0x4a4da3['limit']=qs[_0xd5fa('0x31')](_0x2b9d8f['query'][_0xd5fa('0x31')]);_0x4a4da3[_0xd5fa('0x30')]=qs['offset'](_0x2b9d8f['query'][_0xd5fa('0x30')]);}return _0x407676[_0xd5fa('0x6f')](_0x4a4da3);}})[_0xd5fa('0x35')](function(_0x3e4622){if(_0x3e4622){return _0x3e4622?{'count':_0x2496f6,'rows':_0x3e4622}:null;}})[_0xd5fa('0x35')](respondWithResult(_0x402a8b,null))[_0xd5fa('0x2a')](handleError(_0x402a8b,null));};exports[_0xd5fa('0x71')]=function(_0x51187d,_0x28766c,_0xa83923){var _0x3f0f2d=_0x51187d['body'][_0xd5fa('0x72')];return db[_0xd5fa('0x70')][_0xd5fa('0x52')]({'where':{'id':_0x3f0f2d},'attributes':['id'],'include':[{'model':db[_0xd5fa('0x73')],'as':_0xd5fa('0x74'),'attributes':['id','name','online','voicePause',_0xd5fa('0x75')],'raw':!![]}]})[_0xd5fa('0x35')](function(_0x48289e){if(_0x48289e){var _0x486f3b=_[_0xd5fa('0x76')](_0x48289e,function(_0x11188f){var _0xa16eb0=_0x11188f['get']({'plain':!![]});return _0xa16eb0['Agents'];});return db[_0xd5fa('0x4f')]['find']({'where':{'id':_0x51187d[_0xd5fa('0x60')]['id']}})[_0xd5fa('0x35')](function(_0x4fb9f2){return db[_0xd5fa('0x77')][_0xd5fa('0x78')](function(_0x2c501c){return _0x4fb9f2['addTeams'](_0x3f0f2d,{'transaction':_0x2c501c})['then'](function(){return BPromise['each'](_0x486f3b,function(_0x5bd3f7){return db[_0xd5fa('0x64')][_0xd5fa('0x79')]({'where':{'UserId':_0x5bd3f7['id'],'ChatQueueId':_0x51187d['params']['id']},'transaction':_0x2c501c});});})[_0xd5fa('0x35')](function(){_0x486f3b[_0xd5fa('0x7a')](function(_0x5e98ed){socket['emit']('userChatQueue:save',{'UserId':_0x5e98ed['id'],'ChatQueueId':_0x4fb9f2['id']});});});});});}})[_0xd5fa('0x35')](respondWithStatusCode(_0x28766c,null))[_0xd5fa('0x2a')](handleError(_0x28766c,null));};exports[_0xd5fa('0x7b')]=function(_0x47bddf,_0x586e76,_0x38e24a){return db[_0xd5fa('0x70')][_0xd5fa('0x52')]({'where':{'id':_0x47bddf[_0xd5fa('0x41')][_0xd5fa('0x72')]},'attributes':['id'],'include':[{'model':db[_0xd5fa('0x73')],'as':_0xd5fa('0x74'),'attributes':['id'],'raw':!![]}]})[_0xd5fa('0x35')](handleEntityNotFound(_0x586e76,null))[_0xd5fa('0x35')](function(_0x15ec91){var _0x21cdaa=_[_0xd5fa('0x3c')](_0x15ec91,'id');var _0x494f3b=[];var _0x27fab7=[];var _0x3b6d2e=squel[_0xd5fa('0x7c')]();_0x3b6d2e['field'](_0xd5fa('0x7d'))['from'](_0xd5fa('0x7e'),'tq')[_0xd5fa('0x7f')](_0xd5fa('0x80'),'ut',_0xd5fa('0x81'))['where'](_0xd5fa('0x82'),_0x47bddf['params']['id']);for(var _0x13fe4d=0x0;_0x13fe4d<_0x15ec91[_0xd5fa('0x55')];_0x13fe4d+=0x1){let _0x19ef9a=_0x15ec91[_0x13fe4d];for(var _0x25fc9e=0x0;_0x25fc9e<_0x19ef9a[_0xd5fa('0x74')][_0xd5fa('0x55')];_0x25fc9e+=0x1){let _0x1bee4e=_0x19ef9a[_0xd5fa('0x74')][_0x25fc9e];var _0x2c9628=_0x3b6d2e[_0xd5fa('0x83')]();_0x2c9628['where'](_0xd5fa('0x84'),_0x1bee4e['id']);_0x27fab7[_0xd5fa('0x85')](db[_0xd5fa('0x77')][_0xd5fa('0x41')](_0x2c9628[_0xd5fa('0x86')](),{'type':db[_0xd5fa('0x77')][_0xd5fa('0x87')][_0xd5fa('0x88')]})['then'](function(_0x52f2f4){if(_0x52f2f4[_0xd5fa('0x55')]===0x1){return _0x1bee4e['id'];}else{var _0x2d446e=_[_0xd5fa('0x89')](_[_0xd5fa('0x3c')](_0x52f2f4,_0xd5fa('0x8a')),function(_0x41f976){return _[_0xd5fa('0x8b')](_0x21cdaa,_0x41f976);});if(_0x2d446e){return _0x1bee4e['id'];}}}));}}return BPromise[_0xd5fa('0x8c')](_0x27fab7)['then'](function(_0x444b9f){_0x494f3b=_(_0x494f3b)[_0xd5fa('0x8d')](_0x444b9f)[_0xd5fa('0x8e')]()[_0xd5fa('0x8f')]();return db[_0xd5fa('0x4f')][_0xd5fa('0x57')]({'where':{'id':_0x47bddf[_0xd5fa('0x60')]['id']}})['then'](function(_0x481a72){return db[_0xd5fa('0x77')][_0xd5fa('0x78')](function(_0x1490d2){return _0x481a72[_0xd5fa('0x7b')](_0x47bddf[_0xd5fa('0x41')][_0xd5fa('0x72')],{'transaction':_0x1490d2})[_0xd5fa('0x35')](function(){if(!_[_0xd5fa('0x90')](_0x494f3b)){return _0x481a72[_0xd5fa('0x91')](_0x494f3b,{'transaction':_0x1490d2});}})[_0xd5fa('0x35')](function(){_0x494f3b[_0xd5fa('0x7a')](function(_0x5dcf4b){socket[_0xd5fa('0x92')](_0xd5fa('0x93'),{'UserId':_0x5dcf4b,'ChatQueueId':_0x481a72['id']});});});});});});})[_0xd5fa('0x35')](respondWithStatusCode(_0x586e76,null))[_0xd5fa('0x2a')](handleError(_0x586e76,null));};exports[_0xd5fa('0x94')]=function(_0x422775,_0x1e6518,_0x2980ad){return db[_0xd5fa('0x4f')][_0xd5fa('0x57')]({'where':{'id':_0x422775['params']['id']}})[_0xd5fa('0x35')](handleEntityNotFound(_0x1e6518,null))[_0xd5fa('0x35')](function(_0x21663c){if(_0x21663c){return _0x21663c[_0xd5fa('0x94')](_0x422775[_0xd5fa('0x59')]['ids'],_['omit'](_0x422775[_0xd5fa('0x59')],[_0xd5fa('0x72'),'id'])||{})['spread'](function(_0x2258a3){for(var _0x353f37=0x0;_0x353f37<_0x422775[_0xd5fa('0x59')][_0xd5fa('0x72')]['length'];_0x353f37+=0x1){socket[_0xd5fa('0x92')](_0xd5fa('0x95'),{'UserId':_0x422775[_0xd5fa('0x59')]['ids'][_0x353f37],'ChatQueueId':_0x422775['params']['id']});}return _0x2258a3;});}})[_0xd5fa('0x35')](respondWithResult(_0x1e6518,null))[_0xd5fa('0x2a')](handleError(_0x1e6518,null));};exports[_0xd5fa('0x91')]=function(_0x1bf20a,_0x28283d,_0x5ba22d){return db[_0xd5fa('0x4f')][_0xd5fa('0x57')]({'where':{'id':_0x1bf20a[_0xd5fa('0x60')]['id']}})[_0xd5fa('0x35')](handleEntityNotFound(_0x28283d,null))[_0xd5fa('0x35')](function(_0x3205c9){if(_0x3205c9){return _0x3205c9[_0xd5fa('0x91')](_0x1bf20a['query'][_0xd5fa('0x72')])[_0xd5fa('0x35')](function(){if(_[_0xd5fa('0x96')](_0x1bf20a['query']['ids'])){for(var _0x5e2088=0x0;_0x5e2088<_0x1bf20a[_0xd5fa('0x41')][_0xd5fa('0x72')]['length'];_0x5e2088+=0x1){socket['emit'](_0xd5fa('0x93'),{'UserId':Number(_0x1bf20a[_0xd5fa('0x41')]['ids'][_0x5e2088]),'ChatQueueId':Number(_0x1bf20a['params']['id'])});}}else{socket['emit'](_0xd5fa('0x93'),{'UserId':Number(_0x1bf20a[_0xd5fa('0x41')][_0xd5fa('0x72')]),'ChatQueueId':Number(_0x1bf20a[_0xd5fa('0x60')]['id'])});}});}})[_0xd5fa('0x35')](respondWithStatusCode(_0x28283d,null))[_0xd5fa('0x2a')](handleError(_0x28283d,null));};exports[_0xd5fa('0x97')]=function(_0xb321b,_0x309a3a,_0x95e906){var _0x40ff7d={};var _0x1c8245={};var _0x2bb1c9;var _0x18e265;return db[_0xd5fa('0x4f')]['findOne']({'where':{'id':_0xb321b[_0xd5fa('0x60')]['id']}})[_0xd5fa('0x35')](handleEntityNotFound(_0x309a3a,null))[_0xd5fa('0x35')](function(_0x503ba1){if(_0x503ba1){_0x2bb1c9=_0x503ba1;_0x1c8245['model']=_[_0xd5fa('0x42')](db['User'][_0xd5fa('0x3d')]);_0x1c8245['query']=_[_0xd5fa('0x42')](_0xb321b[_0xd5fa('0x41')]);_0x1c8245['filters']=_['intersection'](_0x1c8245[_0xd5fa('0x40')],_0x1c8245[_0xd5fa('0x41')]);_0x40ff7d[_0xd5fa('0x46')]=_[_0xd5fa('0x44')](_0x1c8245[_0xd5fa('0x40')],qs[_0xd5fa('0x45')](_0xb321b[_0xd5fa('0x41')][_0xd5fa('0x45')]));_0x40ff7d[_0xd5fa('0x46')]=_0x40ff7d['attributes'][_0xd5fa('0x55')]?_0x40ff7d[_0xd5fa('0x46')]:_0x1c8245[_0xd5fa('0x40')];_0x40ff7d['order']=qs['sort'](_0xb321b[_0xd5fa('0x41')][_0xd5fa('0x49')]);_0x40ff7d['where']=qs[_0xd5fa('0x43')](_[_0xd5fa('0x4a')](_0xb321b['query'],_0x1c8245[_0xd5fa('0x43')]));if(_0xb321b[_0xd5fa('0x41')][_0xd5fa('0x67')]){_0x40ff7d[_0xd5fa('0x4b')]=_[_0xd5fa('0x4c')](_0x40ff7d['where'],{'$or':_[_0xd5fa('0x3c')](_0x40ff7d[_0xd5fa('0x46')],function(_0x260bc0){var _0x43c11c={};_0x43c11c[_0x260bc0]={'$like':'%'+_0xb321b['query'][_0xd5fa('0x67')]+'%'};return _0x43c11c;})});}_0x40ff7d=_[_0xd5fa('0x4c')]({},_0x40ff7d,_0xb321b[_0xd5fa('0x56')]);return _0x2bb1c9[_0xd5fa('0x97')](_0x40ff7d);}})[_0xd5fa('0x35')](function(_0x6b637d){if(_0x6b637d){_0x18e265=_0x6b637d[_0xd5fa('0x55')];if(!_0xb321b[_0xd5fa('0x41')][_0xd5fa('0x65')]('nolimit')){_0x40ff7d[_0xd5fa('0x31')]=qs[_0xd5fa('0x31')](_0xb321b[_0xd5fa('0x41')][_0xd5fa('0x31')]);_0x40ff7d[_0xd5fa('0x30')]=qs['offset'](_0xb321b['query'][_0xd5fa('0x30')]);}return _0x2bb1c9[_0xd5fa('0x97')](_0x40ff7d);}})[_0xd5fa('0x35')](function(_0xcc7732){if(_0xcc7732){return _0xcc7732?{'count':_0x18e265,'rows':_0xcc7732}:null;}})['then'](respondWithResult(_0x309a3a,null))[_0xd5fa('0x2a')](handleError(_0x309a3a,null));};