Built motion from commit (unavailable).|2.4.15
[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 _0x1c63=['VIRTUAL','includeAll','include','findAll','rows','show','keys','options','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','find','autoAssociation','UserProfileResource','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','params','describe','getMembers','UserChatQueue','User','findAndCountAll','UserId','chatPause','updatedAt','createdAt','%s/%s','SIP','getTeams','Team','addTeams','online','voicePause','interface','flatMap','Agents','sequelize','transaction','each','findOrCreate','emit','userChatQueue:save','removeTeams','ids','field','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','ChatQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','SELECT','every','includes','all','compact','value','isEmpty','removeAgents','userChatQueue:remove','addAgents','omit','getAgents','findOne','html-pdf','eml-format','rimraf','zip-dir','request-promise','moment','bluebird','util','path','sox','to-csv','ejs','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/environment','../../mysqldb','defaults','redis','localhost','socket.io-emitter','./chatQueue.socket','jayson/promise','client','http','ValidationError','request','ChatQueue,\x20%s,\x20%s','request\x20sent','debug','ChatQueue,\x20%s,\x20%s,\x20%s','error','message','catch','sendStatus','status','count','offset','limit','Content-Range','json','reject','update','then','destroy','get','ChatQueues','end','stack','name','send','index','map','ChatQueue','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge'];(function(_0x4b9731,_0x2260f7){var _0x12125f=function(_0x41be7c){while(--_0x41be7c){_0x4b9731['push'](_0x4b9731['shift']());}};_0x12125f(++_0x2260f7);}(_0x1c63,0xdc));var _0x31c6=function(_0x1c288b,_0x377b72){_0x1c288b=_0x1c288b-0x0;var _0x5d9225=_0x1c63[_0x1c288b];return _0x5d9225;};'use strict';var pdf=require(_0x31c6('0x0'));var emlformat=require(_0x31c6('0x1'));var rimraf=require(_0x31c6('0x2'));var zipdir=require(_0x31c6('0x3'));var jsonpatch=require('fast-json-patch');var rp=require(_0x31c6('0x4'));var moment=require(_0x31c6('0x5'));var BPromise=require(_0x31c6('0x6'));var Mustache=require('mustache');var util=require(_0x31c6('0x7'));var path=require(_0x31c6('0x8'));var sox=require(_0x31c6('0x9'));var csv=require(_0x31c6('0xa'));var ejs=require(_0x31c6('0xb'));var fs=require('fs');var _=require('lodash');var squel=require('squel');var crypto=require(_0x31c6('0xc'));var jsforce=require(_0x31c6('0xd'));var deskjs=require(_0x31c6('0xe'));var toCsv=require(_0x31c6('0xa'));var querystring=require(_0x31c6('0xf'));var Papa=require('papaparse');var Redis=require(_0x31c6('0x10'));var authService=require(_0x31c6('0x11'));var qs=require(_0x31c6('0x12'));var as=require(_0x31c6('0x13'));var hardwareService=require(_0x31c6('0x14'));var logger=require('../../config/logger')(_0x31c6('0x15'));var utils=require('../../config/utils');var config=require(_0x31c6('0x16'));var db=require(_0x31c6('0x17'))['db'];config['redis']=_[_0x31c6('0x18')](config[_0x31c6('0x19')],{'host':_0x31c6('0x1a'),'port':0x18eb});var socket=require(_0x31c6('0x1b'))(new Redis(config[_0x31c6('0x19')]));require(_0x31c6('0x1c'))['register'](socket);var jayson=require(_0x31c6('0x1d'));var client=jayson[_0x31c6('0x1e')][_0x31c6('0x1f')]({'port':0x232a});function checkPasswordPattern(_0x28dbc9,_0x7a8c46,_0x5f1d49){if(_0x5f1d49){var _0x5f2c85=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x5f2c85['test'](_0x7a8c46)){return _0x28dbc9;}else{throw new db['Sequelize'][(_0x31c6('0x20'))]('The\x20password\x20must\x20be\x20at\x20least\x208\x20characters\x20long\x20and\x20have\x201\x20lowercase\x20character,\x201\x20uppercase\x20character,\x201\x20number\x20and\x201\x20special\x20character\x20~!@#$%^&-_=+[{]}.');}}else{return _0x28dbc9;}}function respondWithRpcPromise(_0x371c02,_0x2a4780,_0x43b5cb,_0xf352af){return new BPromise(function(_0x20f9a2,_0x4c7f34){var _0x162061=_0xf352af||client;return _0x162061[_0x31c6('0x21')](_0x371c02,_0x43b5cb)['then'](function(_0x593d2b){logger['info'](_0x31c6('0x22'),_0x2a4780,_0x31c6('0x23'));logger[_0x31c6('0x24')](_0x31c6('0x25'),_0x2a4780,'request\x20sent',JSON['stringify'](_0x593d2b));if(_0x593d2b[_0x31c6('0x26')]){if(_0x593d2b[_0x31c6('0x26')]['code']===0x1f4){logger[_0x31c6('0x26')](_0x31c6('0x22'),_0x2a4780,_0x593d2b[_0x31c6('0x26')][_0x31c6('0x27')]);return _0x4c7f34(_0x593d2b[_0x31c6('0x26')]['message']);}logger[_0x31c6('0x26')]('ChatQueue,\x20%s,\x20%s',_0x2a4780,_0x593d2b[_0x31c6('0x26')][_0x31c6('0x27')]);return _0x20f9a2(_0x593d2b['error']['message']);}else{logger['info'](_0x31c6('0x22'),_0x2a4780,_0x31c6('0x23'));_0x20f9a2(_0x593d2b['result'][_0x31c6('0x27')]);}})[_0x31c6('0x28')](function(_0x2c9d78){logger[_0x31c6('0x26')]('ChatQueue,\x20%s,\x20%s',_0x2a4780,_0x2c9d78);_0x4c7f34(_0x2c9d78);});});}function respondWithStatusCode(_0x542209,_0x559f65){_0x559f65=_0x559f65||0xcc;return function(_0x53fa6c){if(_0x53fa6c){return _0x542209[_0x31c6('0x29')](_0x559f65);}return _0x542209['status'](_0x559f65)['end']();};}function respondWithResult(_0x1e24fa,_0x2034cc){_0x2034cc=_0x2034cc||0xc8;return function(_0x5e3ed0){if(_0x5e3ed0){return _0x1e24fa[_0x31c6('0x2a')](_0x2034cc)['json'](_0x5e3ed0);}};}function respondWithFilteredResult(_0x1d5ab5,_0x3443d8){return function(_0x58089d){if(_0x58089d){var _0x1d114e=_0x58089d[_0x31c6('0x2b')],_0x3840de=_0x3443d8[_0x31c6('0x2c')],_0x28937c=_0x3443d8['offset']+_0x3443d8[_0x31c6('0x2d')],_0x3399fe;if(_0x28937c>=_0x1d114e){_0x28937c=_0x1d114e;_0x3399fe=0xc8;}else{_0x3399fe=0xce;}_0x1d5ab5[_0x31c6('0x2a')](_0x3399fe);return _0x1d5ab5['set'](_0x31c6('0x2e'),_0x3840de+'-'+_0x28937c+'/'+_0x1d114e)[_0x31c6('0x2f')](_0x58089d);}return null;};}function patchUpdates(_0x5a0f56){return function(_0x4d9d78){try{jsonpatch['apply'](_0x4d9d78,_0x5a0f56,!![]);}catch(_0x21f9a0){return BPromise[_0x31c6('0x30')](_0x21f9a0);}return _0x4d9d78['save']();};}function saveUpdates(_0x26cd29,_0x3f6353){return function(_0x33ed8b){if(_0x33ed8b){return _0x33ed8b[_0x31c6('0x31')](_0x26cd29)[_0x31c6('0x32')](function(_0x57143f){return _0x57143f;});}return null;};}function removeEntity(_0x2d2819,_0x373664){return function(_0x1e95f3){if(_0x1e95f3){return _0x1e95f3[_0x31c6('0x33')]()[_0x31c6('0x32')](function(){var _0xb25a7e=_0x1e95f3[_0x31c6('0x34')]({'plain':!![]});var _0x2d0fdf=_0x31c6('0x35');return db['UserProfileResource'][_0x31c6('0x33')]({'where':{'type':_0x2d0fdf,'resourceId':_0xb25a7e['id']}})[_0x31c6('0x32')](function(){return _0x1e95f3;});})['then'](function(){_0x2d2819[_0x31c6('0x2a')](0xcc)[_0x31c6('0x36')]();});}};}function handleEntityNotFound(_0x488b35,_0x1c8f02){return function(_0x1ee4b7){if(!_0x1ee4b7){_0x488b35[_0x31c6('0x29')](0x194);}return _0x1ee4b7;};}function handleError(_0x577288,_0x426649){_0x426649=_0x426649||0x1f4;return function(_0x56b2d2){logger[_0x31c6('0x26')](_0x56b2d2[_0x31c6('0x37')]);if(_0x56b2d2[_0x31c6('0x38')]){delete _0x56b2d2['name'];}_0x577288[_0x31c6('0x2a')](_0x426649)[_0x31c6('0x39')](_0x56b2d2);};}exports[_0x31c6('0x3a')]=function(_0x29b7a6,_0x5826dc){var _0x506491={},_0x197eed={},_0x2cd4e0={'count':0x0,'rows':[]};var _0x1098c1=_[_0x31c6('0x3b')](db[_0x31c6('0x3c')][_0x31c6('0x3d')],function(_0x2eb144){return{'name':_0x2eb144[_0x31c6('0x3e')],'type':_0x2eb144[_0x31c6('0x3f')][_0x31c6('0x40')]};});_0x197eed['model']=_[_0x31c6('0x3b')](_0x1098c1,_0x31c6('0x38'));_0x197eed['query']=_['keys'](_0x29b7a6[_0x31c6('0x41')]);_0x197eed[_0x31c6('0x42')]=_[_0x31c6('0x43')](_0x197eed[_0x31c6('0x44')],_0x197eed[_0x31c6('0x41')]);_0x506491[_0x31c6('0x45')]=_['intersection'](_0x197eed['model'],qs[_0x31c6('0x46')](_0x29b7a6['query'][_0x31c6('0x46')]));_0x506491[_0x31c6('0x45')]=_0x506491['attributes'][_0x31c6('0x47')]?_0x506491[_0x31c6('0x45')]:_0x197eed[_0x31c6('0x44')];if(!_0x29b7a6[_0x31c6('0x41')][_0x31c6('0x48')](_0x31c6('0x49'))){_0x506491['limit']=qs[_0x31c6('0x2d')](_0x29b7a6[_0x31c6('0x41')][_0x31c6('0x2d')]);_0x506491[_0x31c6('0x2c')]=qs[_0x31c6('0x2c')](_0x29b7a6['query'][_0x31c6('0x2c')]);}_0x506491[_0x31c6('0x4a')]=qs[_0x31c6('0x4b')](_0x29b7a6[_0x31c6('0x41')]['sort']);_0x506491[_0x31c6('0x4c')]=qs['filters'](_[_0x31c6('0x4d')](_0x29b7a6[_0x31c6('0x41')],_0x197eed[_0x31c6('0x42')]));if(_0x29b7a6[_0x31c6('0x41')][_0x31c6('0x4e')]){_0x506491['where']=_[_0x31c6('0x4f')](_0x506491[_0x31c6('0x4c')],{'$or':_[_0x31c6('0x3b')](_0x1098c1,function(_0x337edd){if(_0x337edd[_0x31c6('0x3f')]!==_0x31c6('0x50')){var _0x5bd76c={};_0x5bd76c[_0x337edd[_0x31c6('0x38')]]={'$like':'%'+_0x29b7a6['query'][_0x31c6('0x4e')]+'%'};return _0x5bd76c;}})});}_0x506491=_['merge']({},_0x506491,_0x29b7a6['options']);var _0x23525a={'where':_0x506491[_0x31c6('0x4c')]};return db['ChatQueue'][_0x31c6('0x2b')](_0x23525a)[_0x31c6('0x32')](function(_0x390025){_0x2cd4e0['count']=_0x390025;if(_0x29b7a6['query'][_0x31c6('0x51')]){_0x506491[_0x31c6('0x52')]=[{'all':!![]}];}return db[_0x31c6('0x3c')][_0x31c6('0x53')](_0x506491);})[_0x31c6('0x32')](function(_0x2866c8){_0x2cd4e0[_0x31c6('0x54')]=_0x2866c8;return _0x2cd4e0;})[_0x31c6('0x32')](respondWithFilteredResult(_0x5826dc,_0x506491))[_0x31c6('0x28')](handleError(_0x5826dc,null));};exports[_0x31c6('0x55')]=function(_0x173bcc,_0x8110b3){var _0x4d3b15={'raw':!![],'where':{'id':_0x173bcc['params']['id']}},_0x5b4181={};_0x5b4181[_0x31c6('0x44')]=_[_0x31c6('0x56')](db[_0x31c6('0x3c')][_0x31c6('0x3d')]);_0x5b4181[_0x31c6('0x41')]=_[_0x31c6('0x56')](_0x173bcc[_0x31c6('0x41')]);_0x5b4181['filters']=_['intersection'](_0x5b4181[_0x31c6('0x44')],_0x5b4181[_0x31c6('0x41')]);_0x4d3b15[_0x31c6('0x45')]=_[_0x31c6('0x43')](_0x5b4181['model'],qs[_0x31c6('0x46')](_0x173bcc[_0x31c6('0x41')]['fields']));_0x4d3b15['attributes']=_0x4d3b15['attributes'][_0x31c6('0x47')]?_0x4d3b15[_0x31c6('0x45')]:_0x5b4181[_0x31c6('0x44')];if(_0x173bcc[_0x31c6('0x41')]['includeAll']){_0x4d3b15['include']=[{'all':!![]}];}_0x4d3b15=_[_0x31c6('0x4f')]({},_0x4d3b15,_0x173bcc[_0x31c6('0x57')]);return db['ChatQueue']['find'](_0x4d3b15)[_0x31c6('0x32')](handleEntityNotFound(_0x8110b3,null))['then'](respondWithResult(_0x8110b3,null))[_0x31c6('0x28')](handleError(_0x8110b3,null));};exports[_0x31c6('0x58')]=function(_0x13f958,_0x51ea0e){return db['ChatQueue']['create'](_0x13f958['body'],{})[_0x31c6('0x32')](function(_0x54562a){var _0x3145a9=_0x13f958[_0x31c6('0x59')][_0x31c6('0x34')]({'plain':!![]});if(!_0x3145a9)throw new Error(_0x31c6('0x5a'));if(_0x3145a9['role']===_0x31c6('0x59')){var _0x4bc617=_0x54562a[_0x31c6('0x34')]({'plain':!![]});var _0x54e307=_0x31c6('0x35');return db[_0x31c6('0x5b')][_0x31c6('0x5c')]({'where':{'name':_0x54e307,'userProfileId':_0x3145a9['userProfileId']},'raw':!![]})[_0x31c6('0x32')](function(_0x1229cb){if(_0x1229cb&&_0x1229cb[_0x31c6('0x5d')]===0x0){return db[_0x31c6('0x5e')][_0x31c6('0x58')]({'name':_0x4bc617['name'],'resourceId':_0x4bc617['id'],'type':_0x1229cb[_0x31c6('0x38')],'sectionId':_0x1229cb['id']},{})[_0x31c6('0x32')](function(){return _0x54562a;});}else{return _0x54562a;}})['catch'](function(_0x5c5baa){logger[_0x31c6('0x26')](_0x31c6('0x5f'),_0x5c5baa);throw _0x5c5baa;});}return _0x54562a;})['then'](respondWithResult(_0x51ea0e,0xc9))['catch'](handleError(_0x51ea0e,null));};exports[_0x31c6('0x31')]=function(_0x520053,_0x3adab2){if(_0x520053[_0x31c6('0x60')]['id']){delete _0x520053[_0x31c6('0x60')]['id'];}return db[_0x31c6('0x3c')][_0x31c6('0x5c')]({'where':{'id':_0x520053[_0x31c6('0x61')]['id']}})[_0x31c6('0x32')](handleEntityNotFound(_0x3adab2,null))[_0x31c6('0x32')](saveUpdates(_0x520053[_0x31c6('0x60')],null))['then'](respondWithResult(_0x3adab2,null))[_0x31c6('0x28')](handleError(_0x3adab2,null));};exports[_0x31c6('0x33')]=function(_0x57156b,_0x1f4225){return db[_0x31c6('0x3c')][_0x31c6('0x5c')]({'where':{'id':_0x57156b[_0x31c6('0x61')]['id']}})[_0x31c6('0x32')](handleEntityNotFound(_0x1f4225,null))[_0x31c6('0x32')](removeEntity(_0x1f4225,null))[_0x31c6('0x28')](handleError(_0x1f4225,null));};exports[_0x31c6('0x62')]=function(_0x490bb1,_0x1f2bd6){return db[_0x31c6('0x3c')][_0x31c6('0x62')]()[_0x31c6('0x32')](respondWithResult(_0x1f2bd6,null))[_0x31c6('0x28')](handleError(_0x1f2bd6,null));};exports[_0x31c6('0x63')]=function(_0x54ddb7,_0x2c10c3,_0x1f2683){var _0x4b8384={'raw':!![],'where':{}},_0x449180={},_0x262872;return db[_0x31c6('0x3c')]['findOne']({'where':{'id':_0x54ddb7[_0x31c6('0x61')]['id']}})[_0x31c6('0x32')](handleEntityNotFound(_0x2c10c3,null))['then'](function(_0xbe32f1){if(_0xbe32f1){_0x262872=_0xbe32f1[_0x31c6('0x34')]({'plain':!![]});_0x449180['model']=_[_0x31c6('0x56')](db[_0x31c6('0x64')][_0x31c6('0x3d')]);_0x449180[_0x31c6('0x41')]=_[_0x31c6('0x56')](_0x54ddb7['query']);_0x449180[_0x31c6('0x42')]=_[_0x31c6('0x43')](_0x449180['model'],_0x449180['query']);_0x4b8384['attributes']=_[_0x31c6('0x43')](_0x449180[_0x31c6('0x44')],qs[_0x31c6('0x46')](_0x54ddb7['query']['fields']));_0x4b8384['attributes']=_0x4b8384['attributes'][_0x31c6('0x47')]?_0x4b8384[_0x31c6('0x45')]:_0x449180[_0x31c6('0x44')];if(!_0x54ddb7[_0x31c6('0x41')][_0x31c6('0x48')](_0x31c6('0x49'))){_0x4b8384['limit']=qs[_0x31c6('0x2d')](_0x54ddb7[_0x31c6('0x41')][_0x31c6('0x2d')]);_0x4b8384[_0x31c6('0x2c')]=qs[_0x31c6('0x2c')](_0x54ddb7[_0x31c6('0x41')]['offset']);}_0x4b8384[_0x31c6('0x4a')]=qs[_0x31c6('0x4b')](_0x54ddb7[_0x31c6('0x41')]['sort']);_0x4b8384[_0x31c6('0x4c')]=qs['filters'](_[_0x31c6('0x4d')](_0x54ddb7[_0x31c6('0x41')],_0x449180['filters']));_0x4b8384[_0x31c6('0x4c')]['ChatQueueId']=_0xbe32f1['id'];if(_0x54ddb7['query']['filter']){_0x4b8384['where']=_['merge'](_0x4b8384[_0x31c6('0x4c')],{'$or':_[_0x31c6('0x3b')](_0x4b8384['attributes'],function(_0x30b6c5){var _0x362fac={};_0x362fac[_0x30b6c5]={'$like':'%'+_0x54ddb7['query']['filter']+'%'};return _0x362fac;})});}_0x4b8384=_[_0x31c6('0x4f')]({},_0x4b8384,_0x54ddb7[_0x31c6('0x57')]);return db[_0x31c6('0x64')][_0x31c6('0x53')](_0x4b8384);}})[_0x31c6('0x32')](function(_0x93ae11){if(_0x93ae11){return db[_0x31c6('0x65')][_0x31c6('0x66')]({'where':{'id':_['map'](_0x93ae11,_0x31c6('0x67')),'role':'agent'},'attributes':['id',_0x31c6('0x38'),_0x31c6('0x68'),_0x31c6('0x69'),_0x31c6('0x6a')]});}})[_0x31c6('0x32')](function(_0x47a2e9){if(_0x47a2e9){return{'count':_0x47a2e9['count'],'rows':_[_0x31c6('0x3b')](_0x47a2e9['rows'],function(_0x1432de){return{'membername':_0x1432de[_0x31c6('0x38')],'UserId':_0x1432de['id'],'queue_name':_0x262872[_0x31c6('0x38')],'ChatQueueId':_0x262872['id'],'interface':util['format'](_0x31c6('0x6b'),_0x31c6('0x6c'),_0x1432de[_0x31c6('0x38')]),'penalty':0x0,'paused':_0x1432de[_0x31c6('0x68')],'createdAt':_0x1432de[_0x31c6('0x6a')],'updatedAt':_0x1432de[_0x31c6('0x69')]};})};}else{return{'count':0x0,'rows':[]};}})[_0x31c6('0x32')](respondWithFilteredResult(_0x2c10c3,_0x4b8384))[_0x31c6('0x28')](handleError(_0x2c10c3,null));};exports[_0x31c6('0x6d')]=function(_0x2dbb68,_0x2eabfd,_0x43018c){var _0x4de4aa={};var _0x376d91={};var _0x273505;var _0x4a6472;return db[_0x31c6('0x3c')]['findOne']({'where':{'id':_0x2dbb68[_0x31c6('0x61')]['id']}})[_0x31c6('0x32')](handleEntityNotFound(_0x2eabfd,null))[_0x31c6('0x32')](function(_0x3c7a88){if(_0x3c7a88){_0x273505=_0x3c7a88;_0x376d91[_0x31c6('0x44')]=_[_0x31c6('0x56')](db[_0x31c6('0x6e')][_0x31c6('0x3d')]);_0x376d91[_0x31c6('0x41')]=_[_0x31c6('0x56')](_0x2dbb68[_0x31c6('0x41')]);_0x376d91[_0x31c6('0x42')]=_[_0x31c6('0x43')](_0x376d91[_0x31c6('0x44')],_0x376d91['query']);_0x4de4aa[_0x31c6('0x45')]=_[_0x31c6('0x43')](_0x376d91[_0x31c6('0x44')],qs[_0x31c6('0x46')](_0x2dbb68['query'][_0x31c6('0x46')]));_0x4de4aa[_0x31c6('0x45')]=_0x4de4aa[_0x31c6('0x45')]['length']?_0x4de4aa[_0x31c6('0x45')]:_0x376d91[_0x31c6('0x44')];_0x4de4aa[_0x31c6('0x4a')]=qs['sort'](_0x2dbb68[_0x31c6('0x41')][_0x31c6('0x4b')]);_0x4de4aa[_0x31c6('0x4c')]=qs[_0x31c6('0x42')](_[_0x31c6('0x4d')](_0x2dbb68[_0x31c6('0x41')],_0x376d91[_0x31c6('0x42')]));if(_0x2dbb68[_0x31c6('0x41')][_0x31c6('0x4e')]){_0x4de4aa[_0x31c6('0x4c')]=_['merge'](_0x4de4aa[_0x31c6('0x4c')],{'$or':_['map'](_0x4de4aa[_0x31c6('0x45')],function(_0x57e52d){var _0x2ce3db={};_0x2ce3db[_0x57e52d]={'$like':'%'+_0x2dbb68[_0x31c6('0x41')]['filter']+'%'};return _0x2ce3db;})});}_0x4de4aa=_[_0x31c6('0x4f')]({},_0x4de4aa,_0x2dbb68[_0x31c6('0x57')]);return _0x273505[_0x31c6('0x6d')](_0x4de4aa);}})['then'](function(_0x1d81a6){if(_0x1d81a6){_0x4a6472=_0x1d81a6[_0x31c6('0x47')];if(!_0x2dbb68[_0x31c6('0x41')][_0x31c6('0x48')]('nolimit')){_0x4de4aa[_0x31c6('0x2d')]=qs['limit'](_0x2dbb68[_0x31c6('0x41')][_0x31c6('0x2d')]);_0x4de4aa[_0x31c6('0x2c')]=qs[_0x31c6('0x2c')](_0x2dbb68[_0x31c6('0x41')][_0x31c6('0x2c')]);}return _0x273505[_0x31c6('0x6d')](_0x4de4aa);}})[_0x31c6('0x32')](function(_0x4606ca){if(_0x4606ca){return _0x4606ca?{'count':_0x4a6472,'rows':_0x4606ca}:null;}})[_0x31c6('0x32')](respondWithResult(_0x2eabfd,null))[_0x31c6('0x28')](handleError(_0x2eabfd,null));};exports[_0x31c6('0x6f')]=function(_0x2a59d3,_0x150cee,_0x40e8b1){var _0x54f673=_0x2a59d3[_0x31c6('0x60')]['ids'];return db['Team'][_0x31c6('0x53')]({'where':{'id':_0x54f673},'attributes':['id'],'include':[{'model':db[_0x31c6('0x65')],'as':'Agents','attributes':['id',_0x31c6('0x38'),_0x31c6('0x70'),_0x31c6('0x71'),_0x31c6('0x72')],'raw':!![]}]})[_0x31c6('0x32')](function(_0x434200){if(_0x434200){var _0x28144b=_[_0x31c6('0x73')](_0x434200,function(_0x2eac0d){var _0x86421c=_0x2eac0d[_0x31c6('0x34')]({'plain':!![]});return _0x86421c[_0x31c6('0x74')];});return db['ChatQueue'][_0x31c6('0x5c')]({'where':{'id':_0x2a59d3[_0x31c6('0x61')]['id']}})[_0x31c6('0x32')](function(_0x5bf117){return db[_0x31c6('0x75')][_0x31c6('0x76')](function(_0x3b6a3f){return _0x5bf117['addTeams'](_0x54f673,{'transaction':_0x3b6a3f})[_0x31c6('0x32')](function(){return BPromise[_0x31c6('0x77')](_0x28144b,function(_0x1bb7ec){return db['UserChatQueue'][_0x31c6('0x78')]({'where':{'UserId':_0x1bb7ec['id'],'ChatQueueId':_0x2a59d3[_0x31c6('0x61')]['id']},'transaction':_0x3b6a3f});});})[_0x31c6('0x32')](function(){_0x28144b['forEach'](function(_0x205917){socket[_0x31c6('0x79')](_0x31c6('0x7a'),{'UserId':_0x205917['id'],'ChatQueueId':_0x5bf117['id']});});});});});}})['then'](respondWithStatusCode(_0x150cee,null))['catch'](handleError(_0x150cee,null));};exports[_0x31c6('0x7b')]=function(_0x1e5461,_0x4f3bf3,_0x515eee){return db[_0x31c6('0x6e')][_0x31c6('0x53')]({'where':{'id':_0x1e5461['query'][_0x31c6('0x7c')]},'attributes':['id'],'include':[{'model':db['User'],'as':_0x31c6('0x74'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x4f3bf3,null))[_0x31c6('0x32')](function(_0xd21c51){var _0x3d54a2=_[_0x31c6('0x3b')](_0xd21c51,'id');var _0x2b9d0e=[];var _0x314d11=[];var _0x446340=squel['select']();_0x446340[_0x31c6('0x7d')](_0x31c6('0x7e'))[_0x31c6('0x7f')](_0x31c6('0x80'),'tq')[_0x31c6('0x81')](_0x31c6('0x82'),'ut',_0x31c6('0x83'))[_0x31c6('0x4c')](_0x31c6('0x84'),_0x1e5461[_0x31c6('0x61')]['id']);for(var _0x215153=0x0;_0x215153<_0xd21c51[_0x31c6('0x47')];_0x215153+=0x1){let _0x57fdf5=_0xd21c51[_0x215153];for(var _0x252dc3=0x0;_0x252dc3<_0x57fdf5[_0x31c6('0x74')][_0x31c6('0x47')];_0x252dc3+=0x1){let _0x1d881b=_0x57fdf5[_0x31c6('0x74')][_0x252dc3];var _0x546c3e=_0x446340[_0x31c6('0x85')]();_0x546c3e[_0x31c6('0x4c')](_0x31c6('0x86'),_0x1d881b['id']);_0x314d11[_0x31c6('0x87')](db[_0x31c6('0x75')][_0x31c6('0x41')](_0x546c3e[_0x31c6('0x88')](),{'type':db['sequelize']['QueryTypes'][_0x31c6('0x89')]})[_0x31c6('0x32')](function(_0x4f8589){if(_0x4f8589[_0x31c6('0x47')]===0x1){return _0x1d881b['id'];}else{var _0xd3365e=_[_0x31c6('0x8a')](_[_0x31c6('0x3b')](_0x4f8589,'TeamId'),function(_0x481378){return _[_0x31c6('0x8b')](_0x3d54a2,_0x481378);});if(_0xd3365e){return _0x1d881b['id'];}}}));}}return BPromise[_0x31c6('0x8c')](_0x314d11)[_0x31c6('0x32')](function(_0x4848ec){_0x2b9d0e=_(_0x2b9d0e)['union'](_0x4848ec)[_0x31c6('0x8d')]()[_0x31c6('0x8e')]();return db[_0x31c6('0x3c')][_0x31c6('0x5c')]({'where':{'id':_0x1e5461[_0x31c6('0x61')]['id']}})[_0x31c6('0x32')](function(_0x2d0882){return db[_0x31c6('0x75')][_0x31c6('0x76')](function(_0x1fd44f){return _0x2d0882[_0x31c6('0x7b')](_0x1e5461['query'][_0x31c6('0x7c')],{'transaction':_0x1fd44f})['then'](function(){if(!_[_0x31c6('0x8f')](_0x2b9d0e)){return _0x2d0882[_0x31c6('0x90')](_0x2b9d0e,{'transaction':_0x1fd44f});}})[_0x31c6('0x32')](function(){_0x2b9d0e['forEach'](function(_0x45b646){socket[_0x31c6('0x79')](_0x31c6('0x91'),{'UserId':_0x45b646,'ChatQueueId':_0x2d0882['id']});});});});});});})[_0x31c6('0x32')](respondWithStatusCode(_0x4f3bf3,null))['catch'](handleError(_0x4f3bf3,null));};exports[_0x31c6('0x92')]=function(_0x1d257a,_0x10c8eb,_0x5d925a){return db[_0x31c6('0x3c')]['find']({'where':{'id':_0x1d257a[_0x31c6('0x61')]['id']}})[_0x31c6('0x32')](handleEntityNotFound(_0x10c8eb,null))[_0x31c6('0x32')](function(_0x2765e7){if(_0x2765e7){return _0x2765e7[_0x31c6('0x92')](_0x1d257a['body'][_0x31c6('0x7c')],_[_0x31c6('0x93')](_0x1d257a['body'],[_0x31c6('0x7c'),'id'])||{})['spread'](function(_0x53fdd9){for(var _0x5b5212=0x0;_0x5b5212<_0x1d257a[_0x31c6('0x60')]['ids'][_0x31c6('0x47')];_0x5b5212+=0x1){socket['emit']('userChatQueue:save',{'UserId':_0x1d257a[_0x31c6('0x60')]['ids'][_0x5b5212],'ChatQueueId':_0x1d257a['params']['id']});}return _0x53fdd9;});}})[_0x31c6('0x32')](respondWithResult(_0x10c8eb,null))['catch'](handleError(_0x10c8eb,null));};exports[_0x31c6('0x90')]=function(_0x8d7b78,_0x105804,_0x1a2dfb){return db[_0x31c6('0x3c')][_0x31c6('0x5c')]({'where':{'id':_0x8d7b78[_0x31c6('0x61')]['id']}})[_0x31c6('0x32')](handleEntityNotFound(_0x105804,null))[_0x31c6('0x32')](function(_0x12db79){if(_0x12db79){return _0x12db79[_0x31c6('0x90')](_0x8d7b78['query'][_0x31c6('0x7c')])[_0x31c6('0x32')](function(){if(_['isArray'](_0x8d7b78[_0x31c6('0x41')]['ids'])){for(var _0x2f4315=0x0;_0x2f4315<_0x8d7b78[_0x31c6('0x41')][_0x31c6('0x7c')]['length'];_0x2f4315+=0x1){socket['emit'](_0x31c6('0x91'),{'UserId':Number(_0x8d7b78[_0x31c6('0x41')][_0x31c6('0x7c')][_0x2f4315]),'ChatQueueId':Number(_0x8d7b78['params']['id'])});}}else{socket[_0x31c6('0x79')](_0x31c6('0x91'),{'UserId':Number(_0x8d7b78[_0x31c6('0x41')]['ids']),'ChatQueueId':Number(_0x8d7b78[_0x31c6('0x61')]['id'])});}});}})[_0x31c6('0x32')](respondWithStatusCode(_0x105804,null))[_0x31c6('0x28')](handleError(_0x105804,null));};exports[_0x31c6('0x94')]=function(_0x2fbbf8,_0x1646f6,_0x481cb9){var _0x438343={};var _0x5dee38={};var _0x32b298;var _0xdeeeb6;return db[_0x31c6('0x3c')][_0x31c6('0x95')]({'where':{'id':_0x2fbbf8[_0x31c6('0x61')]['id']}})[_0x31c6('0x32')](handleEntityNotFound(_0x1646f6,null))[_0x31c6('0x32')](function(_0x5c12eb){if(_0x5c12eb){_0x32b298=_0x5c12eb;_0x5dee38[_0x31c6('0x44')]=_[_0x31c6('0x56')](db[_0x31c6('0x65')][_0x31c6('0x3d')]);_0x5dee38[_0x31c6('0x41')]=_[_0x31c6('0x56')](_0x2fbbf8[_0x31c6('0x41')]);_0x5dee38['filters']=_[_0x31c6('0x43')](_0x5dee38['model'],_0x5dee38[_0x31c6('0x41')]);_0x438343['attributes']=_[_0x31c6('0x43')](_0x5dee38['model'],qs[_0x31c6('0x46')](_0x2fbbf8['query'][_0x31c6('0x46')]));_0x438343[_0x31c6('0x45')]=_0x438343[_0x31c6('0x45')][_0x31c6('0x47')]?_0x438343[_0x31c6('0x45')]:_0x5dee38[_0x31c6('0x44')];_0x438343[_0x31c6('0x4a')]=qs[_0x31c6('0x4b')](_0x2fbbf8['query'][_0x31c6('0x4b')]);_0x438343[_0x31c6('0x4c')]=qs['filters'](_[_0x31c6('0x4d')](_0x2fbbf8['query'],_0x5dee38[_0x31c6('0x42')]));if(_0x2fbbf8[_0x31c6('0x41')][_0x31c6('0x4e')]){_0x438343['where']=_[_0x31c6('0x4f')](_0x438343[_0x31c6('0x4c')],{'$or':_['map'](_0x438343[_0x31c6('0x45')],function(_0x2a8701){var _0x2b0ed2={};_0x2b0ed2[_0x2a8701]={'$like':'%'+_0x2fbbf8['query'][_0x31c6('0x4e')]+'%'};return _0x2b0ed2;})});}_0x438343=_[_0x31c6('0x4f')]({},_0x438343,_0x2fbbf8[_0x31c6('0x57')]);return _0x32b298[_0x31c6('0x94')](_0x438343);}})[_0x31c6('0x32')](function(_0x3560f7){if(_0x3560f7){_0xdeeeb6=_0x3560f7['length'];if(!_0x2fbbf8[_0x31c6('0x41')][_0x31c6('0x48')](_0x31c6('0x49'))){_0x438343[_0x31c6('0x2d')]=qs[_0x31c6('0x2d')](_0x2fbbf8[_0x31c6('0x41')]['limit']);_0x438343[_0x31c6('0x2c')]=qs[_0x31c6('0x2c')](_0x2fbbf8[_0x31c6('0x41')]['offset']);}return _0x32b298['getAgents'](_0x438343);}})['then'](function(_0x4e5a27){if(_0x4e5a27){return _0x4e5a27?{'count':_0xdeeeb6,'rows':_0x4e5a27}:null;}})[_0x31c6('0x32')](respondWithResult(_0x1646f6,null))[_0x31c6('0x28')](handleError(_0x1646f6,null));};