Built motion from commit (unavailable).|2.5.21
[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 _0x14b5=['interface','flatMap','sequelize','findOrCreate','forEach','emit','userChatQueue:save','removeTeams','ids','field','from','team_has_chat_queues','join','clone','ut.UserId\x20=\x20?','push','every','includes','all','compact','value','transaction','isEmpty','userChatQueue:remove','addAgents','omit','removeAgents','isArray','getAgents','html-pdf','eml-format','zip-dir','fast-json-patch','mustache','util','path','sox','to-csv','ejs','lodash','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/logger','../../config/utils','../../config/environment','../../mysqldb','defaults','localhost','socket.io-emitter','redis','./chatQueue.socket','register','jayson/promise','client','http','then','info','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','ChatQueue,\x20%s,\x20%s','message','result','catch','sendStatus','end','status','json','count','offset','limit','set','apply','reject','save','update','UserProfileResource','destroy','stack','name','send','index','rawAttributes','fieldName','key','model','map','query','keys','filters','intersection','fields','attributes','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','options','ChatQueue','includeAll','include','findAll','rows','show','params','find','create','body','user','get','role','ChatQueues','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','getMembers','User','UserId','agent','chatPause','updatedAt','%s/%s','SIP','createdAt','getTeams','findOne','addTeams','Team','Agents','online','voicePause'];(function(_0x4d1ebd,_0x568ce2){var _0x629e43=function(_0x14b6c1){while(--_0x14b6c1){_0x4d1ebd['push'](_0x4d1ebd['shift']());}};_0x629e43(++_0x568ce2);}(_0x14b5,0xaf));var _0x514b=function(_0x2dcda2,_0x4daadf){_0x2dcda2=_0x2dcda2-0x0;var _0x49f887=_0x14b5[_0x2dcda2];return _0x49f887;};'use strict';var pdf=require(_0x514b('0x0'));var emlformat=require(_0x514b('0x1'));var rimraf=require('rimraf');var zipdir=require(_0x514b('0x2'));var jsonpatch=require(_0x514b('0x3'));var rp=require('request-promise');var moment=require('moment');var BPromise=require('bluebird');var Mustache=require(_0x514b('0x4'));var util=require(_0x514b('0x5'));var path=require(_0x514b('0x6'));var sox=require(_0x514b('0x7'));var csv=require(_0x514b('0x8'));var ejs=require(_0x514b('0x9'));var fs=require('fs');var _=require(_0x514b('0xa'));var squel=require(_0x514b('0xb'));var crypto=require(_0x514b('0xc'));var jsforce=require(_0x514b('0xd'));var deskjs=require(_0x514b('0xe'));var toCsv=require(_0x514b('0x8'));var querystring=require(_0x514b('0xf'));var Papa=require(_0x514b('0x10'));var Redis=require(_0x514b('0x11'));var authService=require(_0x514b('0x12'));var qs=require(_0x514b('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require('../../config/license/hardware');var logger=require(_0x514b('0x14'))('api');var utils=require(_0x514b('0x15'));var config=require(_0x514b('0x16'));var licenseUtil=require('../../config/license/util');var db=require(_0x514b('0x17'))['db'];config['redis']=_[_0x514b('0x18')](config['redis'],{'host':_0x514b('0x19'),'port':0x18eb});var socket=require(_0x514b('0x1a'))(new Redis(config[_0x514b('0x1b')]));require(_0x514b('0x1c'))[_0x514b('0x1d')](socket);var jayson=require(_0x514b('0x1e'));var client=jayson[_0x514b('0x1f')][_0x514b('0x20')]({'port':0x232a});function respondWithRpcPromise(_0x2d9aa7,_0x2ab50d,_0x3d101a,_0x507cdf){return new BPromise(function(_0x1dbfa0,_0x5c9df2){var _0x605d47=_0x507cdf||client;return _0x605d47['request'](_0x2d9aa7,_0x3d101a)[_0x514b('0x21')](function(_0x462691){logger[_0x514b('0x22')]('ChatQueue,\x20%s,\x20%s',_0x2ab50d,_0x514b('0x23'));logger[_0x514b('0x24')](_0x514b('0x25'),_0x2ab50d,_0x514b('0x23'),JSON[_0x514b('0x26')](_0x462691));if(_0x462691[_0x514b('0x27')]){if(_0x462691[_0x514b('0x27')][_0x514b('0x28')]===0x1f4){logger['error'](_0x514b('0x29'),_0x2ab50d,_0x462691[_0x514b('0x27')][_0x514b('0x2a')]);return _0x5c9df2(_0x462691['error'][_0x514b('0x2a')]);}logger['error'](_0x514b('0x29'),_0x2ab50d,_0x462691[_0x514b('0x27')][_0x514b('0x2a')]);return _0x1dbfa0(_0x462691[_0x514b('0x27')][_0x514b('0x2a')]);}else{logger[_0x514b('0x22')](_0x514b('0x29'),_0x2ab50d,_0x514b('0x23'));_0x1dbfa0(_0x462691[_0x514b('0x2b')][_0x514b('0x2a')]);}})[_0x514b('0x2c')](function(_0x47147b){logger['error'](_0x514b('0x29'),_0x2ab50d,_0x47147b);_0x5c9df2(_0x47147b);});});}function respondWithStatusCode(_0x41c60b,_0x3ea142){_0x3ea142=_0x3ea142||0xcc;return function(_0x260f27){if(_0x260f27){return _0x41c60b[_0x514b('0x2d')](_0x3ea142);}return _0x41c60b['status'](_0x3ea142)[_0x514b('0x2e')]();};}function respondWithResult(_0x16985e,_0x41b1b6){_0x41b1b6=_0x41b1b6||0xc8;return function(_0x126609){if(_0x126609){return _0x16985e[_0x514b('0x2f')](_0x41b1b6)[_0x514b('0x30')](_0x126609);}};}function respondWithFilteredResult(_0x48728f,_0x3d10a6){return function(_0x379e8f){if(_0x379e8f){var _0x14cfbc=_0x379e8f[_0x514b('0x31')],_0x3300ba=_0x3d10a6[_0x514b('0x32')],_0x371e8b=_0x3d10a6['offset']+_0x3d10a6[_0x514b('0x33')],_0x4c2b30;if(_0x371e8b>=_0x14cfbc){_0x371e8b=_0x14cfbc;_0x4c2b30=0xc8;}else{_0x4c2b30=0xce;}_0x48728f[_0x514b('0x2f')](_0x4c2b30);return _0x48728f[_0x514b('0x34')]('Content-Range',_0x3300ba+'-'+_0x371e8b+'/'+_0x14cfbc)[_0x514b('0x30')](_0x379e8f);}return null;};}function patchUpdates(_0x40e0b9){return function(_0x4bd4ed){try{jsonpatch[_0x514b('0x35')](_0x4bd4ed,_0x40e0b9,!![]);}catch(_0x4dc60f){return BPromise[_0x514b('0x36')](_0x4dc60f);}return _0x4bd4ed[_0x514b('0x37')]();};}function saveUpdates(_0xe986e7,_0x34a457){return function(_0x5cfc5b){if(_0x5cfc5b){return _0x5cfc5b[_0x514b('0x38')](_0xe986e7)[_0x514b('0x21')](function(_0x1bd68f){return _0x1bd68f;});}return null;};}function removeEntity(_0x180a97,_0x38d704){return function(_0x36345f){if(_0x36345f){return _0x36345f['destroy']()['then'](function(){var _0x371777=_0x36345f['get']({'plain':!![]});var _0x118ff8='ChatQueues';return db[_0x514b('0x39')][_0x514b('0x3a')]({'where':{'type':_0x118ff8,'resourceId':_0x371777['id']}})[_0x514b('0x21')](function(){return _0x36345f;});})[_0x514b('0x21')](function(){_0x180a97[_0x514b('0x2f')](0xcc)[_0x514b('0x2e')]();});}};}function handleEntityNotFound(_0x4e39d2,_0x18c4bd){return function(_0x408b40){if(!_0x408b40){_0x4e39d2['sendStatus'](0x194);}return _0x408b40;};}function handleError(_0x1d2649,_0x3dd91c){_0x3dd91c=_0x3dd91c||0x1f4;return function(_0x748e5a){logger['error'](_0x748e5a[_0x514b('0x3b')]);if(_0x748e5a[_0x514b('0x3c')]){delete _0x748e5a['name'];}_0x1d2649['status'](_0x3dd91c)[_0x514b('0x3d')](_0x748e5a);};}exports[_0x514b('0x3e')]=function(_0x1a5215,_0xfa31aa){var _0x2fda14={},_0x54aa69={},_0x1928cd={'count':0x0,'rows':[]};var _0xfd1f42=_['map'](db['ChatQueue'][_0x514b('0x3f')],function(_0xafab1a){return{'name':_0xafab1a[_0x514b('0x40')],'type':_0xafab1a['type'][_0x514b('0x41')]};});_0x54aa69[_0x514b('0x42')]=_[_0x514b('0x43')](_0xfd1f42,_0x514b('0x3c'));_0x54aa69[_0x514b('0x44')]=_[_0x514b('0x45')](_0x1a5215[_0x514b('0x44')]);_0x54aa69[_0x514b('0x46')]=_[_0x514b('0x47')](_0x54aa69[_0x514b('0x42')],_0x54aa69[_0x514b('0x44')]);_0x2fda14['attributes']=_[_0x514b('0x47')](_0x54aa69[_0x514b('0x42')],qs[_0x514b('0x48')](_0x1a5215[_0x514b('0x44')][_0x514b('0x48')]));_0x2fda14[_0x514b('0x49')]=_0x2fda14[_0x514b('0x49')][_0x514b('0x4a')]?_0x2fda14[_0x514b('0x49')]:_0x54aa69['model'];if(!_0x1a5215[_0x514b('0x44')][_0x514b('0x4b')](_0x514b('0x4c'))){_0x2fda14[_0x514b('0x33')]=qs[_0x514b('0x33')](_0x1a5215[_0x514b('0x44')][_0x514b('0x33')]);_0x2fda14[_0x514b('0x32')]=qs['offset'](_0x1a5215[_0x514b('0x44')][_0x514b('0x32')]);}_0x2fda14[_0x514b('0x4d')]=qs[_0x514b('0x4e')](_0x1a5215[_0x514b('0x44')][_0x514b('0x4e')]);_0x2fda14[_0x514b('0x4f')]=qs[_0x514b('0x46')](_[_0x514b('0x50')](_0x1a5215['query'],_0x54aa69[_0x514b('0x46')]),_0xfd1f42);if(_0x1a5215['query'][_0x514b('0x51')]){_0x2fda14['where']=_[_0x514b('0x52')](_0x2fda14[_0x514b('0x4f')],{'$or':_[_0x514b('0x43')](_0xfd1f42,function(_0x2ee66e){if(_0x2ee66e[_0x514b('0x53')]!=='VIRTUAL'){var _0x364220={};_0x364220[_0x2ee66e[_0x514b('0x3c')]]={'$like':'%'+_0x1a5215[_0x514b('0x44')][_0x514b('0x51')]+'%'};return _0x364220;}})});}_0x2fda14=_[_0x514b('0x52')]({},_0x2fda14,_0x1a5215[_0x514b('0x54')]);var _0x2ae1f2={'where':_0x2fda14['where']};return db[_0x514b('0x55')]['count'](_0x2ae1f2)[_0x514b('0x21')](function(_0x57ddfe){_0x1928cd[_0x514b('0x31')]=_0x57ddfe;if(_0x1a5215[_0x514b('0x44')][_0x514b('0x56')]){_0x2fda14[_0x514b('0x57')]=[{'all':!![]}];}return db[_0x514b('0x55')][_0x514b('0x58')](_0x2fda14);})[_0x514b('0x21')](function(_0x432ac8){_0x1928cd[_0x514b('0x59')]=_0x432ac8;return _0x1928cd;})[_0x514b('0x21')](respondWithFilteredResult(_0xfa31aa,_0x2fda14))['catch'](handleError(_0xfa31aa,null));};exports[_0x514b('0x5a')]=function(_0x102218,_0xc554a){var _0x1f5e84={'raw':!![],'where':{'id':_0x102218[_0x514b('0x5b')]['id']}},_0x148c0d={};_0x148c0d[_0x514b('0x42')]=_[_0x514b('0x45')](db[_0x514b('0x55')][_0x514b('0x3f')]);_0x148c0d[_0x514b('0x44')]=_['keys'](_0x102218['query']);_0x148c0d[_0x514b('0x46')]=_['intersection'](_0x148c0d[_0x514b('0x42')],_0x148c0d[_0x514b('0x44')]);_0x1f5e84['attributes']=_['intersection'](_0x148c0d[_0x514b('0x42')],qs[_0x514b('0x48')](_0x102218[_0x514b('0x44')][_0x514b('0x48')]));_0x1f5e84['attributes']=_0x1f5e84['attributes'][_0x514b('0x4a')]?_0x1f5e84[_0x514b('0x49')]:_0x148c0d[_0x514b('0x42')];if(_0x102218[_0x514b('0x44')][_0x514b('0x56')]){_0x1f5e84[_0x514b('0x57')]=[{'all':!![]}];}_0x1f5e84=_[_0x514b('0x52')]({},_0x1f5e84,_0x102218[_0x514b('0x54')]);return db[_0x514b('0x55')][_0x514b('0x5c')](_0x1f5e84)['then'](handleEntityNotFound(_0xc554a,null))[_0x514b('0x21')](respondWithResult(_0xc554a,null))[_0x514b('0x2c')](handleError(_0xc554a,null));};exports[_0x514b('0x5d')]=function(_0x1d8642,_0x15e469){return db['ChatQueue'][_0x514b('0x5d')](_0x1d8642[_0x514b('0x5e')],{})[_0x514b('0x21')](function(_0x42ff6c){var _0x12517c=_0x1d8642[_0x514b('0x5f')][_0x514b('0x60')]({'plain':!![]});if(!_0x12517c)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x12517c[_0x514b('0x61')]===_0x514b('0x5f')){var _0x59fc2e=_0x42ff6c[_0x514b('0x60')]({'plain':!![]});var _0x5b6d5b=_0x514b('0x62');return db['UserProfileSection'][_0x514b('0x5c')]({'where':{'name':_0x5b6d5b,'userProfileId':_0x12517c['userProfileId']},'raw':!![]})[_0x514b('0x21')](function(_0x4fdb37){if(_0x4fdb37&&_0x4fdb37[_0x514b('0x63')]===0x0){return db[_0x514b('0x39')][_0x514b('0x5d')]({'name':_0x59fc2e[_0x514b('0x3c')],'resourceId':_0x59fc2e['id'],'type':_0x4fdb37[_0x514b('0x3c')],'sectionId':_0x4fdb37['id']},{})['then'](function(){return _0x42ff6c;});}else{return _0x42ff6c;}})[_0x514b('0x2c')](function(_0x5e0934){logger[_0x514b('0x27')](_0x514b('0x64'),_0x5e0934);throw _0x5e0934;});}return _0x42ff6c;})[_0x514b('0x21')](respondWithResult(_0x15e469,0xc9))['catch'](handleError(_0x15e469,null));};exports['update']=function(_0xa0227c,_0x141004){if(_0xa0227c[_0x514b('0x5e')]['id']){delete _0xa0227c['body']['id'];}return db[_0x514b('0x55')][_0x514b('0x5c')]({'where':{'id':_0xa0227c['params']['id']}})[_0x514b('0x21')](handleEntityNotFound(_0x141004,null))[_0x514b('0x21')](saveUpdates(_0xa0227c[_0x514b('0x5e')],null))['then'](respondWithResult(_0x141004,null))[_0x514b('0x2c')](handleError(_0x141004,null));};exports[_0x514b('0x3a')]=function(_0x462e57,_0x28d05e){return db['ChatQueue']['find']({'where':{'id':_0x462e57['params']['id']}})[_0x514b('0x21')](handleEntityNotFound(_0x28d05e,null))[_0x514b('0x21')](removeEntity(_0x28d05e,null))['catch'](handleError(_0x28d05e,null));};exports['describe']=function(_0x514813,_0x4934d3){return db[_0x514b('0x55')]['describe']()[_0x514b('0x21')](respondWithResult(_0x4934d3,null))['catch'](handleError(_0x4934d3,null));};exports[_0x514b('0x65')]=function(_0x2cebd0,_0x550b35,_0x1cd69b){var _0x4cb36b={'raw':!![],'where':{}},_0x271a86={},_0x98335a;return db[_0x514b('0x55')]['findOne']({'where':{'id':_0x2cebd0[_0x514b('0x5b')]['id']}})[_0x514b('0x21')](handleEntityNotFound(_0x550b35,null))[_0x514b('0x21')](function(_0x52b9d4){if(_0x52b9d4){_0x98335a=_0x52b9d4[_0x514b('0x60')]({'plain':!![]});_0x271a86[_0x514b('0x42')]=_[_0x514b('0x45')](db['UserChatQueue']['rawAttributes']);_0x271a86[_0x514b('0x44')]=_[_0x514b('0x45')](_0x2cebd0[_0x514b('0x44')]);_0x271a86[_0x514b('0x46')]=_['intersection'](_0x271a86['model'],_0x271a86[_0x514b('0x44')]);_0x4cb36b['attributes']=_['intersection'](_0x271a86[_0x514b('0x42')],qs[_0x514b('0x48')](_0x2cebd0[_0x514b('0x44')][_0x514b('0x48')]));_0x4cb36b[_0x514b('0x49')]=_0x4cb36b[_0x514b('0x49')][_0x514b('0x4a')]?_0x4cb36b[_0x514b('0x49')]:_0x271a86['model'];if(!_0x2cebd0[_0x514b('0x44')][_0x514b('0x4b')]('nolimit')){_0x4cb36b[_0x514b('0x33')]=qs[_0x514b('0x33')](_0x2cebd0[_0x514b('0x44')]['limit']);_0x4cb36b['offset']=qs[_0x514b('0x32')](_0x2cebd0[_0x514b('0x44')]['offset']);}_0x4cb36b['order']=qs[_0x514b('0x4e')](_0x2cebd0[_0x514b('0x44')][_0x514b('0x4e')]);_0x4cb36b[_0x514b('0x4f')]=qs[_0x514b('0x46')](_[_0x514b('0x50')](_0x2cebd0[_0x514b('0x44')],_0x271a86['filters']));_0x4cb36b['where']['ChatQueueId']=_0x52b9d4['id'];if(_0x2cebd0['query'][_0x514b('0x51')]){_0x4cb36b[_0x514b('0x4f')]=_[_0x514b('0x52')](_0x4cb36b['where'],{'$or':_[_0x514b('0x43')](_0x4cb36b[_0x514b('0x49')],function(_0x4df948){var _0x24b64c={};_0x24b64c[_0x4df948]={'$like':'%'+_0x2cebd0[_0x514b('0x44')][_0x514b('0x51')]+'%'};return _0x24b64c;})});}_0x4cb36b=_[_0x514b('0x52')]({},_0x4cb36b,_0x2cebd0['options']);return db['UserChatQueue']['findAll'](_0x4cb36b);}})[_0x514b('0x21')](function(_0x1b52a7){if(_0x1b52a7){return db[_0x514b('0x66')]['findAndCountAll']({'where':{'id':_['map'](_0x1b52a7,_0x514b('0x67')),'role':_0x514b('0x68')},'attributes':['id',_0x514b('0x3c'),_0x514b('0x69'),_0x514b('0x6a'),'createdAt']});}})['then'](function(_0x305ca4){if(_0x305ca4){return{'count':_0x305ca4[_0x514b('0x31')],'rows':_[_0x514b('0x43')](_0x305ca4[_0x514b('0x59')],function(_0x4e08b3){return{'membername':_0x4e08b3[_0x514b('0x3c')],'UserId':_0x4e08b3['id'],'queue_name':_0x98335a[_0x514b('0x3c')],'ChatQueueId':_0x98335a['id'],'interface':util['format'](_0x514b('0x6b'),_0x514b('0x6c'),_0x4e08b3['name']),'penalty':0x0,'paused':_0x4e08b3['chatPause'],'createdAt':_0x4e08b3[_0x514b('0x6d')],'updatedAt':_0x4e08b3[_0x514b('0x6a')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x550b35,_0x4cb36b))[_0x514b('0x2c')](handleError(_0x550b35,null));};exports[_0x514b('0x6e')]=function(_0x4ffc18,_0x2aeae6,_0x23be3a){var _0x4a78fd={};var _0x4dcf36={};var _0x345459;var _0x52f0f3;return db[_0x514b('0x55')][_0x514b('0x6f')]({'where':{'id':_0x4ffc18[_0x514b('0x5b')]['id']}})[_0x514b('0x21')](handleEntityNotFound(_0x2aeae6,null))[_0x514b('0x21')](function(_0x46123f){if(_0x46123f){_0x345459=_0x46123f;_0x4dcf36[_0x514b('0x42')]=_[_0x514b('0x45')](db['Team'][_0x514b('0x3f')]);_0x4dcf36[_0x514b('0x44')]=_[_0x514b('0x45')](_0x4ffc18['query']);_0x4dcf36[_0x514b('0x46')]=_[_0x514b('0x47')](_0x4dcf36[_0x514b('0x42')],_0x4dcf36['query']);_0x4a78fd[_0x514b('0x49')]=_[_0x514b('0x47')](_0x4dcf36[_0x514b('0x42')],qs['fields'](_0x4ffc18['query']['fields']));_0x4a78fd[_0x514b('0x49')]=_0x4a78fd['attributes'][_0x514b('0x4a')]?_0x4a78fd[_0x514b('0x49')]:_0x4dcf36['model'];_0x4a78fd[_0x514b('0x4d')]=qs['sort'](_0x4ffc18[_0x514b('0x44')][_0x514b('0x4e')]);_0x4a78fd['where']=qs['filters'](_['pick'](_0x4ffc18[_0x514b('0x44')],_0x4dcf36[_0x514b('0x46')]));if(_0x4ffc18[_0x514b('0x44')][_0x514b('0x51')]){_0x4a78fd[_0x514b('0x4f')]=_['merge'](_0x4a78fd[_0x514b('0x4f')],{'$or':_['map'](_0x4a78fd[_0x514b('0x49')],function(_0x3bfa95){var _0x59e73c={};_0x59e73c[_0x3bfa95]={'$like':'%'+_0x4ffc18[_0x514b('0x44')][_0x514b('0x51')]+'%'};return _0x59e73c;})});}_0x4a78fd=_[_0x514b('0x52')]({},_0x4a78fd,_0x4ffc18['options']);return _0x345459[_0x514b('0x6e')](_0x4a78fd);}})[_0x514b('0x21')](function(_0x31dc38){if(_0x31dc38){_0x52f0f3=_0x31dc38[_0x514b('0x4a')];if(!_0x4ffc18[_0x514b('0x44')][_0x514b('0x4b')](_0x514b('0x4c'))){_0x4a78fd['limit']=qs[_0x514b('0x33')](_0x4ffc18[_0x514b('0x44')][_0x514b('0x33')]);_0x4a78fd[_0x514b('0x32')]=qs[_0x514b('0x32')](_0x4ffc18[_0x514b('0x44')][_0x514b('0x32')]);}return _0x345459[_0x514b('0x6e')](_0x4a78fd);}})[_0x514b('0x21')](function(_0x4277b0){if(_0x4277b0){return _0x4277b0?{'count':_0x52f0f3,'rows':_0x4277b0}:null;}})['then'](respondWithResult(_0x2aeae6,null))[_0x514b('0x2c')](handleError(_0x2aeae6,null));};exports[_0x514b('0x70')]=function(_0x1310fc,_0x4ad4fe,_0x291faa){var _0x2ab911=_0x1310fc['body']['ids'];return db[_0x514b('0x71')][_0x514b('0x58')]({'where':{'id':_0x2ab911},'attributes':['id'],'include':[{'model':db[_0x514b('0x66')],'as':_0x514b('0x72'),'attributes':['id',_0x514b('0x3c'),_0x514b('0x73'),_0x514b('0x74'),_0x514b('0x75')],'raw':!![]}]})['then'](function(_0x1c20bd){if(_0x1c20bd){var _0x263dac=_[_0x514b('0x76')](_0x1c20bd,function(_0x728388){var _0x2ce714=_0x728388['get']({'plain':!![]});return _0x2ce714[_0x514b('0x72')];});return db[_0x514b('0x55')]['find']({'where':{'id':_0x1310fc[_0x514b('0x5b')]['id']}})[_0x514b('0x21')](function(_0x491ae2){return db[_0x514b('0x77')]['transaction'](function(_0xb833ff){return _0x491ae2[_0x514b('0x70')](_0x2ab911,{'transaction':_0xb833ff})['then'](function(){return BPromise['each'](_0x263dac,function(_0x1d8d39){return db['UserChatQueue'][_0x514b('0x78')]({'where':{'UserId':_0x1d8d39['id'],'ChatQueueId':_0x1310fc[_0x514b('0x5b')]['id']},'transaction':_0xb833ff});});})[_0x514b('0x21')](function(){_0x263dac[_0x514b('0x79')](function(_0x2817eb){socket[_0x514b('0x7a')](_0x514b('0x7b'),{'UserId':_0x2817eb['id'],'ChatQueueId':_0x491ae2['id']});});});});});}})['then'](respondWithStatusCode(_0x4ad4fe,null))[_0x514b('0x2c')](handleError(_0x4ad4fe,null));};exports[_0x514b('0x7c')]=function(_0x5333dd,_0x5a5eed,_0x2e5a05){return db[_0x514b('0x71')][_0x514b('0x58')]({'where':{'id':_0x5333dd['query'][_0x514b('0x7d')]},'attributes':['id'],'include':[{'model':db[_0x514b('0x66')],'as':_0x514b('0x72'),'attributes':['id'],'raw':!![]}]})[_0x514b('0x21')](handleEntityNotFound(_0x5a5eed,null))[_0x514b('0x21')](function(_0x5886b1){var _0x580d45=_[_0x514b('0x43')](_0x5886b1,'id');var _0x3f9d7e=[];var _0x409025=[];var _0x316275=squel['select']();_0x316275[_0x514b('0x7e')]('tq.TeamId')[_0x514b('0x7f')](_0x514b('0x80'),'tq')[_0x514b('0x81')]('user_has_teams','ut','ut.TeamId\x20=\x20tq.TeamId')[_0x514b('0x4f')]('ChatQueueId\x20=\x20?',_0x5333dd[_0x514b('0x5b')]['id']);for(var _0x1d5975=0x0;_0x1d5975<_0x5886b1['length'];_0x1d5975+=0x1){let _0x4b60f7=_0x5886b1[_0x1d5975];for(var _0x4dc660=0x0;_0x4dc660<_0x4b60f7[_0x514b('0x72')]['length'];_0x4dc660+=0x1){let _0x2508e7=_0x4b60f7[_0x514b('0x72')][_0x4dc660];var _0x60b7b7=_0x316275[_0x514b('0x82')]();_0x60b7b7[_0x514b('0x4f')](_0x514b('0x83'),_0x2508e7['id']);_0x409025[_0x514b('0x84')](db[_0x514b('0x77')][_0x514b('0x44')](_0x60b7b7['toString'](),{'type':db[_0x514b('0x77')]['QueryTypes']['SELECT']})['then'](function(_0x4ea464){if(_0x4ea464[_0x514b('0x4a')]===0x1){return _0x2508e7['id'];}else{var _0x5e79d5=_[_0x514b('0x85')](_['map'](_0x4ea464,'TeamId'),function(_0x1fcd26){return _[_0x514b('0x86')](_0x580d45,_0x1fcd26);});if(_0x5e79d5){return _0x2508e7['id'];}}}));}}return BPromise[_0x514b('0x87')](_0x409025)[_0x514b('0x21')](function(_0x2b8b42){_0x3f9d7e=_(_0x3f9d7e)['union'](_0x2b8b42)[_0x514b('0x88')]()[_0x514b('0x89')]();return db[_0x514b('0x55')]['find']({'where':{'id':_0x5333dd[_0x514b('0x5b')]['id']}})[_0x514b('0x21')](function(_0x17374a){return db[_0x514b('0x77')][_0x514b('0x8a')](function(_0x2f7874){return _0x17374a[_0x514b('0x7c')](_0x5333dd[_0x514b('0x44')]['ids'],{'transaction':_0x2f7874})['then'](function(){if(!_[_0x514b('0x8b')](_0x3f9d7e)){return _0x17374a['removeAgents'](_0x3f9d7e,{'transaction':_0x2f7874});}})['then'](function(){_0x3f9d7e[_0x514b('0x79')](function(_0xc064ce){socket[_0x514b('0x7a')](_0x514b('0x8c'),{'UserId':_0xc064ce,'ChatQueueId':_0x17374a['id']});});});});});});})[_0x514b('0x21')](respondWithStatusCode(_0x5a5eed,null))[_0x514b('0x2c')](handleError(_0x5a5eed,null));};exports[_0x514b('0x8d')]=function(_0xc0ff16,_0x5d054c,_0x780d46){return db[_0x514b('0x55')][_0x514b('0x5c')]({'where':{'id':_0xc0ff16[_0x514b('0x5b')]['id']}})['then'](handleEntityNotFound(_0x5d054c,null))[_0x514b('0x21')](function(_0x539d04){if(_0x539d04){return _0x539d04[_0x514b('0x8d')](_0xc0ff16[_0x514b('0x5e')][_0x514b('0x7d')],_[_0x514b('0x8e')](_0xc0ff16[_0x514b('0x5e')],[_0x514b('0x7d'),'id'])||{})['spread'](function(_0x4f7b2c){for(var _0x4fd486=0x0;_0x4fd486<_0xc0ff16[_0x514b('0x5e')][_0x514b('0x7d')][_0x514b('0x4a')];_0x4fd486+=0x1){socket['emit']('userChatQueue:save',{'UserId':_0xc0ff16[_0x514b('0x5e')][_0x514b('0x7d')][_0x4fd486],'ChatQueueId':_0xc0ff16[_0x514b('0x5b')]['id']});}return _0x4f7b2c;});}})[_0x514b('0x21')](respondWithResult(_0x5d054c,null))[_0x514b('0x2c')](handleError(_0x5d054c,null));};exports[_0x514b('0x8f')]=function(_0x8dbd73,_0x21b4da,_0x22725a){return db[_0x514b('0x55')][_0x514b('0x5c')]({'where':{'id':_0x8dbd73[_0x514b('0x5b')]['id']}})[_0x514b('0x21')](handleEntityNotFound(_0x21b4da,null))[_0x514b('0x21')](function(_0x5249d8){if(_0x5249d8){return _0x5249d8['removeAgents'](_0x8dbd73[_0x514b('0x44')]['ids'])['then'](function(){if(_[_0x514b('0x90')](_0x8dbd73['query'][_0x514b('0x7d')])){for(var _0x49e0f6=0x0;_0x49e0f6<_0x8dbd73[_0x514b('0x44')][_0x514b('0x7d')][_0x514b('0x4a')];_0x49e0f6+=0x1){socket['emit']('userChatQueue:remove',{'UserId':Number(_0x8dbd73[_0x514b('0x44')][_0x514b('0x7d')][_0x49e0f6]),'ChatQueueId':Number(_0x8dbd73[_0x514b('0x5b')]['id'])});}}else{socket[_0x514b('0x7a')](_0x514b('0x8c'),{'UserId':Number(_0x8dbd73['query'][_0x514b('0x7d')]),'ChatQueueId':Number(_0x8dbd73[_0x514b('0x5b')]['id'])});}});}})[_0x514b('0x21')](respondWithStatusCode(_0x21b4da,null))[_0x514b('0x2c')](handleError(_0x21b4da,null));};exports['getAgents']=function(_0x52456b,_0x1de818,_0x462311){var _0x102b2e={};var _0x46667e={};var _0x21a129;var _0x4f37a4;return db[_0x514b('0x55')]['findOne']({'where':{'id':_0x52456b[_0x514b('0x5b')]['id']}})[_0x514b('0x21')](handleEntityNotFound(_0x1de818,null))[_0x514b('0x21')](function(_0x3bff46){if(_0x3bff46){_0x21a129=_0x3bff46;_0x46667e[_0x514b('0x42')]=_[_0x514b('0x45')](db[_0x514b('0x66')]['rawAttributes']);_0x46667e['query']=_[_0x514b('0x45')](_0x52456b[_0x514b('0x44')]);_0x46667e[_0x514b('0x46')]=_[_0x514b('0x47')](_0x46667e[_0x514b('0x42')],_0x46667e[_0x514b('0x44')]);_0x102b2e['attributes']=_[_0x514b('0x47')](_0x46667e[_0x514b('0x42')],qs[_0x514b('0x48')](_0x52456b['query'][_0x514b('0x48')]));_0x102b2e['attributes']=_0x102b2e[_0x514b('0x49')][_0x514b('0x4a')]?_0x102b2e[_0x514b('0x49')]:_0x46667e['model'];_0x102b2e[_0x514b('0x4d')]=qs['sort'](_0x52456b[_0x514b('0x44')]['sort']);_0x102b2e[_0x514b('0x4f')]=qs['filters'](_['pick'](_0x52456b[_0x514b('0x44')],_0x46667e[_0x514b('0x46')]));if(_0x52456b[_0x514b('0x44')]['filter']){_0x102b2e[_0x514b('0x4f')]=_[_0x514b('0x52')](_0x102b2e['where'],{'$or':_[_0x514b('0x43')](_0x102b2e['attributes'],function(_0x2207df){var _0x4e4988={};_0x4e4988[_0x2207df]={'$like':'%'+_0x52456b[_0x514b('0x44')][_0x514b('0x51')]+'%'};return _0x4e4988;})});}_0x102b2e=_[_0x514b('0x52')]({},_0x102b2e,_0x52456b[_0x514b('0x54')]);return _0x21a129[_0x514b('0x91')](_0x102b2e);}})[_0x514b('0x21')](function(_0x230fe1){if(_0x230fe1){_0x4f37a4=_0x230fe1['length'];if(!_0x52456b['query'][_0x514b('0x4b')]('nolimit')){_0x102b2e['limit']=qs[_0x514b('0x33')](_0x52456b['query'][_0x514b('0x33')]);_0x102b2e['offset']=qs['offset'](_0x52456b[_0x514b('0x44')][_0x514b('0x32')]);}return _0x21a129[_0x514b('0x91')](_0x102b2e);}})[_0x514b('0x21')](function(_0x478f10){if(_0x478f10){return _0x478f10?{'count':_0x4f37a4,'rows':_0x478f10}:null;}})[_0x514b('0x21')](respondWithResult(_0x1de818,null))[_0x514b('0x2c')](handleError(_0x1de818,null));};