Built motion from commit (unavailable).|2.4.4
[motion2.git] / server / api / chatQueue / chatQueue.controller.js
1 // *************************************************************************
2 // *                                                                       *
3 // * xCALLY Motion -  The Omnichannel Contact Center                       *
4 // * Copyright (c) Xenialab s.r.l. All Rights Reserved                     *
5 // *                                                                       *
6 // *************************************************************************
7 // *                                                                       *
8 // * Email: info@xcally.com                                                *
9 // * Website: https://www.xcally.com                                       *
10 // *                                                                       *
11 // *************************************************************************
12 // *                                                                       *
13 // * The SOFTWARE PRODUCT is protected by copyright laws and international *
14 // * copyright treaties, as well as other intellectual property laws and   *
15 // * treaties. The SOFTWARE PRODUCT is licensed, not sold.                         *
16 // *                                                                       *
17 // *************************************************************************
18 var _0x881d=['register','jayson/promise','client','http','test','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','request\x20sent','ChatQueue,\x20%s,\x20%s,\x20%s','stringify','error','code','ChatQueue,\x20%s,\x20%s','message','result','catch','sendStatus','status','end','count','offset','limit','set','Content-Range','json','apply','save','update','destroy','get','UserProfileResource','stack','name','index','ChatQueue','rawAttributes','model','query','keys','filters','intersection','attributes','fields','length','hasOwnProperty','nolimit','order','sort','where','filter','merge','map','type','key','VIRTUAL','field','includeAll','include','rows','show','params','options','find','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','ChatQueues','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','getMembers','pick','ChatQueueId','findAll','User','chatPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','findOne','Team','addTeams','teams','Agents','online','voicePause','interface','flatMap','sequelize','transaction','each','forEach','emit','userChatQueue:save','ids','select','tq.TeamId','from','team_has_chat_queues','join','user_has_teams','ChatQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','toString','SELECT','TeamId','includes','all','isEmpty','removeAgents','userChatQueue:remove','addAgents','omit','spread','isArray','getAgents','html-pdf','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','api','../../config/environment','../../mysqldb','redis','localhost','socket.io-emitter','./chatQueue.socket'];(function(_0x66ef29,_0x2fe794){var _0x10e9c5=function(_0x2d648a){while(--_0x2d648a){_0x66ef29['push'](_0x66ef29['shift']());}};_0x10e9c5(++_0x2fe794);}(_0x881d,0x1ad));var _0xd881=function(_0x2576d7,_0x167624){_0x2576d7=_0x2576d7-0x0;var _0x16a08c=_0x881d[_0x2576d7];return _0x16a08c;};'use strict';var pdf=require(_0xd881('0x0'));var emlformat=require(_0xd881('0x1'));var rimraf=require(_0xd881('0x2'));var zipdir=require('zip-dir');var jsonpatch=require(_0xd881('0x3'));var rp=require(_0xd881('0x4'));var moment=require(_0xd881('0x5'));var BPromise=require(_0xd881('0x6'));var Mustache=require('mustache');var util=require(_0xd881('0x7'));var path=require('path');var sox=require(_0xd881('0x8'));var csv=require(_0xd881('0x9'));var ejs=require('ejs');var fs=require('fs');var _=require(_0xd881('0xa'));var squel=require(_0xd881('0xb'));var crypto=require(_0xd881('0xc'));var jsforce=require(_0xd881('0xd'));var deskjs=require(_0xd881('0xe'));var toCsv=require('to-csv');var querystring=require(_0xd881('0xf'));var Papa=require('papaparse');var Redis=require(_0xd881('0x10'));var authService=require(_0xd881('0x11'));var qs=require(_0xd881('0x12'));var hardwareService=require(_0xd881('0x13'));var logger=require('../../config/logger')(_0xd881('0x14'));var utils=require('../../config/utils');var config=require(_0xd881('0x15'));var db=require(_0xd881('0x16'))['db'];config[_0xd881('0x17')]=_['defaults'](config['redis'],{'host':_0xd881('0x18'),'port':0x18eb});var socket=require(_0xd881('0x19'))(new Redis(config[_0xd881('0x17')]));require(_0xd881('0x1a'))[_0xd881('0x1b')](socket);var jayson=require(_0xd881('0x1c'));var client=jayson[_0xd881('0x1d')][_0xd881('0x1e')]({'port':0x232a});function checkPasswordPattern(_0x57a8d1,_0x5c0595,_0x4e95c6){if(_0x4e95c6){var _0x1a54a9=new RegExp(/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[?!@#\$%\^&\*~\-_=+[{\]\}])(?=.{8,})/);if(_0x1a54a9[_0xd881('0x1f')](_0x5c0595)){return _0x57a8d1;}else{throw new Error(_0xd881('0x20'));}}else{return _0x57a8d1;}}function respondWithRpcPromise(_0x10b28b,_0x5a048d,_0xd905d6,_0x3cca7b){return new BPromise(function(_0xfde7be,_0x441af2){var _0x5a9891=_0x3cca7b||client;return _0x5a9891[_0xd881('0x21')](_0x10b28b,_0xd905d6)[_0xd881('0x22')](function(_0x4a56d5){logger[_0xd881('0x23')]('ChatQueue,\x20%s,\x20%s',_0x5a048d,_0xd881('0x24'));logger['debug'](_0xd881('0x25'),_0x5a048d,_0xd881('0x24'),JSON[_0xd881('0x26')](_0x4a56d5));if(_0x4a56d5[_0xd881('0x27')]){if(_0x4a56d5[_0xd881('0x27')][_0xd881('0x28')]===0x1f4){logger[_0xd881('0x27')](_0xd881('0x29'),_0x5a048d,_0x4a56d5[_0xd881('0x27')][_0xd881('0x2a')]);return _0x441af2(_0x4a56d5[_0xd881('0x27')][_0xd881('0x2a')]);}logger[_0xd881('0x27')]('ChatQueue,\x20%s,\x20%s',_0x5a048d,_0x4a56d5[_0xd881('0x27')][_0xd881('0x2a')]);return _0xfde7be(_0x4a56d5['error'][_0xd881('0x2a')]);}else{logger[_0xd881('0x23')]('ChatQueue,\x20%s,\x20%s',_0x5a048d,_0xd881('0x24'));_0xfde7be(_0x4a56d5[_0xd881('0x2b')][_0xd881('0x2a')]);}})[_0xd881('0x2c')](function(_0x5da98f){logger[_0xd881('0x27')](_0xd881('0x29'),_0x5a048d,_0x5da98f);_0x441af2(_0x5da98f);});});}function respondWithStatusCode(_0x3f9447,_0x331bec){_0x331bec=_0x331bec||0xcc;return function(_0x5a00d6){if(_0x5a00d6){return _0x3f9447[_0xd881('0x2d')](_0x331bec);}return _0x3f9447[_0xd881('0x2e')](_0x331bec)[_0xd881('0x2f')]();};}function respondWithResult(_0x5a4e1d,_0x1e4f53){_0x1e4f53=_0x1e4f53||0xc8;return function(_0x208041){if(_0x208041){return _0x5a4e1d[_0xd881('0x2e')](_0x1e4f53)['json'](_0x208041);}};}function respondWithFilteredResult(_0x2cbee4,_0x3e6a15){return function(_0x22bb7d){if(_0x22bb7d){var _0x5e191e=_0x22bb7d[_0xd881('0x30')],_0x50b51b=_0x3e6a15[_0xd881('0x31')],_0x6514ad=_0x3e6a15[_0xd881('0x31')]+_0x3e6a15[_0xd881('0x32')],_0x43b899;if(_0x6514ad>=_0x5e191e){_0x6514ad=_0x5e191e;_0x43b899=0xc8;}else{_0x43b899=0xce;}_0x2cbee4['status'](_0x43b899);return _0x2cbee4[_0xd881('0x33')](_0xd881('0x34'),_0x50b51b+'-'+_0x6514ad+'/'+_0x5e191e)[_0xd881('0x35')](_0x22bb7d);}return null;};}function patchUpdates(_0x510f46){return function(_0x485f7f){try{jsonpatch[_0xd881('0x36')](_0x485f7f,_0x510f46,!![]);}catch(_0x328a4a){return BPromise['reject'](_0x328a4a);}return _0x485f7f[_0xd881('0x37')]();};}function saveUpdates(_0x531ff8,_0x455642){return function(_0x5de8ed){if(_0x5de8ed){return _0x5de8ed[_0xd881('0x38')](_0x531ff8)[_0xd881('0x22')](function(_0x4dcfbb){return _0x4dcfbb;});}return null;};}function removeEntity(_0x299277,_0x18cdb9){return function(_0x4f51af){if(_0x4f51af){return _0x4f51af[_0xd881('0x39')]()[_0xd881('0x22')](function(){var _0x1fe1d3=_0x4f51af[_0xd881('0x3a')]({'plain':!![]});var _0x2f84df='ChatQueues';return db[_0xd881('0x3b')][_0xd881('0x39')]({'where':{'type':_0x2f84df,'resourceId':_0x1fe1d3['id']}})[_0xd881('0x22')](function(){return _0x4f51af;});})['then'](function(){_0x299277['status'](0xcc)[_0xd881('0x2f')]();});}};}function handleEntityNotFound(_0x405ccb,_0x429f55){return function(_0x2c9c09){if(!_0x2c9c09){_0x405ccb[_0xd881('0x2d')](0x194);}return _0x2c9c09;};}function handleError(_0x52f884,_0x2567b2){_0x2567b2=_0x2567b2||0x1f4;return function(_0x1ba774){logger[_0xd881('0x27')](_0x1ba774[_0xd881('0x3c')]);if(_0x1ba774['name']){delete _0x1ba774[_0xd881('0x3d')];}_0x52f884['status'](_0x2567b2)['send'](_0x1ba774);};}exports[_0xd881('0x3e')]=function(_0x3eac07,_0x38b884){var _0x5828c8={},_0xd43e35={},_0x574654={'count':0x0,'rows':[]};var _0xb64897=db[_0xd881('0x3f')][_0xd881('0x40')];_0xd43e35[_0xd881('0x41')]=_['keys'](_0xb64897);_0xd43e35[_0xd881('0x42')]=_[_0xd881('0x43')](_0x3eac07['query']);_0xd43e35[_0xd881('0x44')]=_[_0xd881('0x45')](_0xd43e35[_0xd881('0x41')],_0xd43e35[_0xd881('0x42')]);_0x5828c8[_0xd881('0x46')]=_[_0xd881('0x45')](_0xd43e35['model'],qs[_0xd881('0x47')](_0x3eac07[_0xd881('0x42')][_0xd881('0x47')]));_0x5828c8[_0xd881('0x46')]=_0x5828c8['attributes'][_0xd881('0x48')]?_0x5828c8[_0xd881('0x46')]:_0xd43e35[_0xd881('0x41')];if(!_0x3eac07[_0xd881('0x42')][_0xd881('0x49')](_0xd881('0x4a'))){_0x5828c8[_0xd881('0x32')]=qs[_0xd881('0x32')](_0x3eac07[_0xd881('0x42')]['limit']);_0x5828c8[_0xd881('0x31')]=qs[_0xd881('0x31')](_0x3eac07['query'][_0xd881('0x31')]);}_0x5828c8[_0xd881('0x4b')]=qs[_0xd881('0x4c')](_0x3eac07[_0xd881('0x42')][_0xd881('0x4c')]);_0x5828c8[_0xd881('0x4d')]=qs[_0xd881('0x44')](_['pick'](_0x3eac07[_0xd881('0x42')],_0xd43e35[_0xd881('0x44')]));if(_0x3eac07[_0xd881('0x42')][_0xd881('0x4e')]){_0x5828c8[_0xd881('0x4d')]=_[_0xd881('0x4f')](_0x5828c8['where'],{'$or':_[_0xd881('0x50')](_0xb64897,function(_0x464bad){if(_0x464bad[_0xd881('0x51')][_0xd881('0x52')]!==_0xd881('0x53')){var _0x5511b9={};_0x5511b9[_0x464bad[_0xd881('0x54')]]={'$like':'%'+_0x3eac07[_0xd881('0x42')][_0xd881('0x4e')]+'%'};return _0x5511b9;}})});}_0x5828c8=_[_0xd881('0x4f')]({},_0x5828c8,_0x3eac07['options']);var _0x28f2a8={'where':_0x5828c8['where']};return db[_0xd881('0x3f')]['count'](_0x28f2a8)[_0xd881('0x22')](function(_0x1d0914){_0x574654['count']=_0x1d0914;if(_0x3eac07[_0xd881('0x42')][_0xd881('0x55')]){_0x5828c8[_0xd881('0x56')]=[{'all':!![]}];}return db[_0xd881('0x3f')]['findAll'](_0x5828c8);})['then'](function(_0x5ee169){_0x574654[_0xd881('0x57')]=_0x5ee169;return _0x574654;})[_0xd881('0x22')](respondWithFilteredResult(_0x38b884,_0x5828c8))[_0xd881('0x2c')](handleError(_0x38b884,null));};exports[_0xd881('0x58')]=function(_0x18bf23,_0x2841e2){var _0xe217fe={'raw':!![],'where':{'id':_0x18bf23[_0xd881('0x59')]['id']}},_0x30611c={};_0x30611c['model']=_[_0xd881('0x43')](db[_0xd881('0x3f')][_0xd881('0x40')]);_0x30611c['query']=_[_0xd881('0x43')](_0x18bf23[_0xd881('0x42')]);_0x30611c[_0xd881('0x44')]=_[_0xd881('0x45')](_0x30611c[_0xd881('0x41')],_0x30611c[_0xd881('0x42')]);_0xe217fe[_0xd881('0x46')]=_['intersection'](_0x30611c[_0xd881('0x41')],qs[_0xd881('0x47')](_0x18bf23['query'][_0xd881('0x47')]));_0xe217fe[_0xd881('0x46')]=_0xe217fe[_0xd881('0x46')]['length']?_0xe217fe[_0xd881('0x46')]:_0x30611c[_0xd881('0x41')];if(_0x18bf23['query'][_0xd881('0x55')]){_0xe217fe[_0xd881('0x56')]=[{'all':!![]}];}_0xe217fe=_[_0xd881('0x4f')]({},_0xe217fe,_0x18bf23[_0xd881('0x5a')]);return db[_0xd881('0x3f')][_0xd881('0x5b')](_0xe217fe)[_0xd881('0x22')](handleEntityNotFound(_0x2841e2,null))[_0xd881('0x22')](respondWithResult(_0x2841e2,null))['catch'](handleError(_0x2841e2,null));};exports[_0xd881('0x5c')]=function(_0x4d5be4,_0x42a757){return db[_0xd881('0x3f')]['create'](_0x4d5be4[_0xd881('0x5d')],{})[_0xd881('0x22')](function(_0x2793eb){var _0xceb2a=_0x4d5be4[_0xd881('0x5e')][_0xd881('0x3a')]({'plain':!![]});if(!_0xceb2a)throw new Error(_0xd881('0x5f'));if(_0xceb2a[_0xd881('0x60')]==='user'){var _0x59c2b8=_0x2793eb[_0xd881('0x3a')]({'plain':!![]});var _0x2a576e=_0xd881('0x61');return db[_0xd881('0x62')][_0xd881('0x5b')]({'where':{'name':_0x2a576e,'userProfileId':_0xceb2a[_0xd881('0x63')]},'raw':!![]})['then'](function(_0x44a8d4){if(_0x44a8d4&&_0x44a8d4['autoAssociation']===0x0){return db[_0xd881('0x3b')]['create']({'name':_0x59c2b8[_0xd881('0x3d')],'resourceId':_0x59c2b8['id'],'type':_0x44a8d4['name'],'sectionId':_0x44a8d4['id']},{})[_0xd881('0x22')](function(){return _0x2793eb;});}else{return _0x2793eb;}})['catch'](function(_0x129ee8){logger[_0xd881('0x27')](_0xd881('0x64'),_0x129ee8);throw _0x129ee8;});}return _0x2793eb;})[_0xd881('0x22')](respondWithResult(_0x42a757,0xc9))['catch'](handleError(_0x42a757,null));};exports[_0xd881('0x38')]=function(_0x47662d,_0x30422a){if(_0x47662d[_0xd881('0x5d')]['id']){delete _0x47662d[_0xd881('0x5d')]['id'];}return db[_0xd881('0x3f')]['find']({'where':{'id':_0x47662d[_0xd881('0x59')]['id']}})[_0xd881('0x22')](handleEntityNotFound(_0x30422a,null))[_0xd881('0x22')](saveUpdates(_0x47662d[_0xd881('0x5d')],null))['then'](respondWithResult(_0x30422a,null))[_0xd881('0x2c')](handleError(_0x30422a,null));};exports[_0xd881('0x39')]=function(_0xe9970d,_0x4bc13c){return db[_0xd881('0x3f')][_0xd881('0x5b')]({'where':{'id':_0xe9970d['params']['id']}})[_0xd881('0x22')](handleEntityNotFound(_0x4bc13c,null))[_0xd881('0x22')](removeEntity(_0x4bc13c,null))[_0xd881('0x2c')](handleError(_0x4bc13c,null));};exports[_0xd881('0x65')]=function(_0x3c6ab8,_0x150d48){return db[_0xd881('0x3f')]['describe']()[_0xd881('0x22')](respondWithResult(_0x150d48,null))['catch'](handleError(_0x150d48,null));};exports[_0xd881('0x66')]=function(_0x5d8d88,_0x294d31,_0x4d828e){var _0x90c403={'raw':!![],'where':{}},_0x29ac77={},_0x31146b;return db[_0xd881('0x3f')]['findOne']({'where':{'id':_0x5d8d88[_0xd881('0x59')]['id']}})['then'](handleEntityNotFound(_0x294d31,null))[_0xd881('0x22')](function(_0x506ea0){if(_0x506ea0){_0x31146b=_0x506ea0[_0xd881('0x3a')]({'plain':!![]});_0x29ac77[_0xd881('0x41')]=_[_0xd881('0x43')](db['UserChatQueue'][_0xd881('0x40')]);_0x29ac77[_0xd881('0x42')]=_[_0xd881('0x43')](_0x5d8d88[_0xd881('0x42')]);_0x29ac77[_0xd881('0x44')]=_[_0xd881('0x45')](_0x29ac77[_0xd881('0x41')],_0x29ac77[_0xd881('0x42')]);_0x90c403[_0xd881('0x46')]=_['intersection'](_0x29ac77['model'],qs['fields'](_0x5d8d88['query'][_0xd881('0x47')]));_0x90c403['attributes']=_0x90c403[_0xd881('0x46')][_0xd881('0x48')]?_0x90c403[_0xd881('0x46')]:_0x29ac77[_0xd881('0x41')];if(!_0x5d8d88[_0xd881('0x42')][_0xd881('0x49')](_0xd881('0x4a'))){_0x90c403[_0xd881('0x32')]=qs[_0xd881('0x32')](_0x5d8d88[_0xd881('0x42')][_0xd881('0x32')]);_0x90c403[_0xd881('0x31')]=qs[_0xd881('0x31')](_0x5d8d88[_0xd881('0x42')][_0xd881('0x31')]);}_0x90c403[_0xd881('0x4b')]=qs[_0xd881('0x4c')](_0x5d8d88[_0xd881('0x42')]['sort']);_0x90c403[_0xd881('0x4d')]=qs[_0xd881('0x44')](_[_0xd881('0x67')](_0x5d8d88[_0xd881('0x42')],_0x29ac77[_0xd881('0x44')]));_0x90c403['where'][_0xd881('0x68')]=_0x506ea0['id'];if(_0x5d8d88[_0xd881('0x42')][_0xd881('0x4e')]){_0x90c403[_0xd881('0x4d')]=_[_0xd881('0x4f')](_0x90c403['where'],{'$or':_['map'](_0x90c403['attributes'],function(_0x5e7d60){var _0x919362={};_0x919362[_0x5e7d60]={'$like':'%'+_0x5d8d88['query'][_0xd881('0x4e')]+'%'};return _0x919362;})});}_0x90c403=_[_0xd881('0x4f')]({},_0x90c403,_0x5d8d88[_0xd881('0x5a')]);return db['UserChatQueue'][_0xd881('0x69')](_0x90c403);}})[_0xd881('0x22')](function(_0x431479){if(_0x431479){return db[_0xd881('0x6a')]['findAndCountAll']({'where':{'id':_[_0xd881('0x50')](_0x431479,'UserId'),'role':'agent'},'attributes':['id','name',_0xd881('0x6b'),_0xd881('0x6c'),_0xd881('0x6d')]});}})[_0xd881('0x22')](function(_0x506143){if(_0x506143){return{'count':_0x506143[_0xd881('0x30')],'rows':_[_0xd881('0x50')](_0x506143['rows'],function(_0x127998){return{'membername':_0x127998['name'],'UserId':_0x127998['id'],'queue_name':_0x31146b[_0xd881('0x3d')],'ChatQueueId':_0x31146b['id'],'interface':util[_0xd881('0x6e')](_0xd881('0x6f'),_0xd881('0x70'),_0x127998[_0xd881('0x3d')]),'penalty':0x0,'paused':_0x127998[_0xd881('0x6b')],'createdAt':_0x127998[_0xd881('0x6d')],'updatedAt':_0x127998[_0xd881('0x6c')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xd881('0x22')](respondWithFilteredResult(_0x294d31,_0x90c403))[_0xd881('0x2c')](handleError(_0x294d31,null));};exports[_0xd881('0x71')]=function(_0x1143e7,_0x3e8fba,_0x131b91){var _0x336c97={};var _0x363842={};var _0x4a715e;var _0x4524bd;return db['ChatQueue'][_0xd881('0x72')]({'where':{'id':_0x1143e7[_0xd881('0x59')]['id']}})['then'](handleEntityNotFound(_0x3e8fba,null))[_0xd881('0x22')](function(_0x55b004){if(_0x55b004){_0x4a715e=_0x55b004;_0x363842[_0xd881('0x41')]=_[_0xd881('0x43')](db[_0xd881('0x73')]['rawAttributes']);_0x363842['query']=_['keys'](_0x1143e7[_0xd881('0x42')]);_0x363842['filters']=_[_0xd881('0x45')](_0x363842[_0xd881('0x41')],_0x363842[_0xd881('0x42')]);_0x336c97[_0xd881('0x46')]=_[_0xd881('0x45')](_0x363842[_0xd881('0x41')],qs[_0xd881('0x47')](_0x1143e7['query'][_0xd881('0x47')]));_0x336c97[_0xd881('0x46')]=_0x336c97[_0xd881('0x46')][_0xd881('0x48')]?_0x336c97[_0xd881('0x46')]:_0x363842[_0xd881('0x41')];_0x336c97[_0xd881('0x4b')]=qs[_0xd881('0x4c')](_0x1143e7[_0xd881('0x42')][_0xd881('0x4c')]);_0x336c97[_0xd881('0x4d')]=qs[_0xd881('0x44')](_[_0xd881('0x67')](_0x1143e7[_0xd881('0x42')],_0x363842[_0xd881('0x44')]));if(_0x1143e7[_0xd881('0x42')][_0xd881('0x4e')]){_0x336c97[_0xd881('0x4d')]=_[_0xd881('0x4f')](_0x336c97['where'],{'$or':_['map'](_0x336c97[_0xd881('0x46')],function(_0x3b15e7){var _0x282169={};_0x282169[_0x3b15e7]={'$like':'%'+_0x1143e7['query']['filter']+'%'};return _0x282169;})});}_0x336c97=_['merge']({},_0x336c97,_0x1143e7[_0xd881('0x5a')]);return _0x4a715e[_0xd881('0x71')](_0x336c97);}})[_0xd881('0x22')](function(_0x4f7ed4){if(_0x4f7ed4){_0x4524bd=_0x4f7ed4[_0xd881('0x48')];if(!_0x1143e7['query'][_0xd881('0x49')](_0xd881('0x4a'))){_0x336c97[_0xd881('0x32')]=qs['limit'](_0x1143e7[_0xd881('0x42')]['limit']);_0x336c97['offset']=qs[_0xd881('0x31')](_0x1143e7[_0xd881('0x42')][_0xd881('0x31')]);}return _0x4a715e[_0xd881('0x71')](_0x336c97);}})[_0xd881('0x22')](function(_0x472714){if(_0x472714){return _0x472714?{'count':_0x4524bd,'rows':_0x472714}:null;}})[_0xd881('0x22')](respondWithResult(_0x3e8fba,null))[_0xd881('0x2c')](handleError(_0x3e8fba,null));};exports[_0xd881('0x74')]=function(_0x205a3e,_0x31341a,_0x446a34){var _0x30052f=_0x205a3e[_0xd881('0x5d')][_0xd881('0x75')];return db[_0xd881('0x73')][_0xd881('0x69')]({'where':{'id':_['map'](_0x30052f,'id')},'attributes':['id'],'include':[{'model':db[_0xd881('0x6a')],'as':_0xd881('0x76'),'attributes':['id','name',_0xd881('0x77'),_0xd881('0x78'),_0xd881('0x79')],'raw':!![]}]})['then'](function(_0x42c5e8){if(_0x42c5e8){var _0x4dae90=_[_0xd881('0x7a')](_0x42c5e8,function(_0x568e7c){var _0xfd0908=_0x568e7c[_0xd881('0x3a')]({'plain':!![]});return _0xfd0908['Agents'];});return db[_0xd881('0x3f')][_0xd881('0x5b')]({'where':{'id':_0x205a3e[_0xd881('0x59')]['id']}})[_0xd881('0x22')](function(_0xeb986a){return db[_0xd881('0x7b')][_0xd881('0x7c')](function(_0x4eb49f){return _0xeb986a[_0xd881('0x74')](_[_0xd881('0x50')](_0x30052f,'id'),{'transaction':_0x4eb49f})[_0xd881('0x22')](function(){return BPromise[_0xd881('0x7d')](_0x4dae90,function(_0x55f791){return db['UserChatQueue']['findOrCreate']({'where':{'UserId':_0x55f791['id'],'ChatQueueId':_0x205a3e['params']['id']},'transaction':_0x4eb49f});});})[_0xd881('0x22')](function(){_0x4dae90[_0xd881('0x7e')](function(_0x12d12a){socket[_0xd881('0x7f')](_0xd881('0x80'),{'UserId':_0x12d12a['id'],'ChatQueueId':_0xeb986a['id']});});});});});}})[_0xd881('0x22')](respondWithStatusCode(_0x31341a,null))['catch'](handleError(_0x31341a,null));};exports['removeTeams']=function(_0x209b84,_0x37c6b0,_0x3880e3){return db['Team'][_0xd881('0x69')]({'where':{'id':_0x209b84[_0xd881('0x42')][_0xd881('0x81')]},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xd881('0x22')](handleEntityNotFound(_0x37c6b0,null))['then'](function(_0xe6d84d){var _0x5a93e5=_['map'](_0xe6d84d,'id');var _0x3b8a59=[];var _0x5993c4=[];var _0x1644fa=squel[_0xd881('0x82')]();_0x1644fa[_0xd881('0x54')](_0xd881('0x83'))[_0xd881('0x84')](_0xd881('0x85'),'tq')[_0xd881('0x86')](_0xd881('0x87'),'ut','ut.TeamId\x20=\x20tq.TeamId')[_0xd881('0x4d')](_0xd881('0x88'),_0x209b84[_0xd881('0x59')]['id']);for(var _0x82473e=0x0;_0x82473e<_0xe6d84d['length'];_0x82473e+=0x1){let _0x6d55da=_0xe6d84d[_0x82473e];for(var _0xfaa4c5=0x0;_0xfaa4c5<_0x6d55da[_0xd881('0x76')]['length'];_0xfaa4c5+=0x1){let _0x1276bb=_0x6d55da[_0xd881('0x76')][_0xfaa4c5];var _0x234ac0=_0x1644fa['clone']();_0x234ac0['where'](_0xd881('0x89'),_0x1276bb['id']);_0x5993c4[_0xd881('0x8a')](db['sequelize']['query'](_0x234ac0[_0xd881('0x8b')](),{'type':db['sequelize']['QueryTypes'][_0xd881('0x8c')]})[_0xd881('0x22')](function(_0x5562f3){if(_0x5562f3['length']===0x1){return _0x1276bb['id'];}else{var _0x246a2d=_['every'](_['map'](_0x5562f3,_0xd881('0x8d')),function(_0x30b6dd){return _[_0xd881('0x8e')](_0x5a93e5,_0x30b6dd);});if(_0x246a2d){return _0x1276bb['id'];}}}));}}return BPromise[_0xd881('0x8f')](_0x5993c4)[_0xd881('0x22')](function(_0x5d9a2d){_0x3b8a59=_(_0x3b8a59)['union'](_0x5d9a2d)['compact']()['value']();return db[_0xd881('0x3f')][_0xd881('0x5b')]({'where':{'id':_0x209b84[_0xd881('0x59')]['id']}})['then'](function(_0x2b74fa){return db['sequelize'][_0xd881('0x7c')](function(_0x3fe7c8){return _0x2b74fa['removeTeams'](_0x209b84['query'][_0xd881('0x81')],{'transaction':_0x3fe7c8})[_0xd881('0x22')](function(){if(!_[_0xd881('0x90')](_0x3b8a59)){return _0x2b74fa[_0xd881('0x91')](_0x3b8a59,{'transaction':_0x3fe7c8});}})[_0xd881('0x22')](function(){_0x3b8a59['forEach'](function(_0x1c2dfa){socket['emit'](_0xd881('0x92'),{'UserId':_0x1c2dfa,'ChatQueueId':_0x2b74fa['id']});});});});});});})[_0xd881('0x22')](respondWithStatusCode(_0x37c6b0,null))[_0xd881('0x2c')](handleError(_0x37c6b0,null));};exports[_0xd881('0x93')]=function(_0x66ad29,_0x18dcba,_0x51a08e){return db['ChatQueue'][_0xd881('0x5b')]({'where':{'id':_0x66ad29['params']['id']}})['then'](handleEntityNotFound(_0x18dcba,null))['then'](function(_0x25617d){if(_0x25617d){return _0x25617d['addAgents'](_0x66ad29['body'][_0xd881('0x81')],_[_0xd881('0x94')](_0x66ad29[_0xd881('0x5d')],[_0xd881('0x81'),'id'])||{})[_0xd881('0x95')](function(_0xf844d4){for(var _0x27d5a7=0x0;_0x27d5a7<_0x66ad29[_0xd881('0x5d')]['ids']['length'];_0x27d5a7+=0x1){socket[_0xd881('0x7f')](_0xd881('0x80'),{'UserId':_0x66ad29['body']['ids'][_0x27d5a7],'ChatQueueId':_0x66ad29[_0xd881('0x59')]['id']});}return _0xf844d4;});}})[_0xd881('0x22')](respondWithResult(_0x18dcba,null))['catch'](handleError(_0x18dcba,null));};exports[_0xd881('0x91')]=function(_0x473810,_0x115cd5,_0x5a7d0c){return db[_0xd881('0x3f')]['find']({'where':{'id':_0x473810[_0xd881('0x59')]['id']}})['then'](handleEntityNotFound(_0x115cd5,null))[_0xd881('0x22')](function(_0x395862){if(_0x395862){return _0x395862[_0xd881('0x91')](_0x473810[_0xd881('0x42')][_0xd881('0x81')])[_0xd881('0x22')](function(){if(_[_0xd881('0x96')](_0x473810['query'][_0xd881('0x81')])){for(var _0x46d1e1=0x0;_0x46d1e1<_0x473810['query'][_0xd881('0x81')][_0xd881('0x48')];_0x46d1e1+=0x1){socket['emit'](_0xd881('0x92'),{'UserId':Number(_0x473810[_0xd881('0x42')][_0xd881('0x81')][_0x46d1e1]),'ChatQueueId':Number(_0x473810['params']['id'])});}}else{socket['emit'](_0xd881('0x92'),{'UserId':Number(_0x473810[_0xd881('0x42')][_0xd881('0x81')]),'ChatQueueId':Number(_0x473810[_0xd881('0x59')]['id'])});}});}})[_0xd881('0x22')](respondWithStatusCode(_0x115cd5,null))['catch'](handleError(_0x115cd5,null));};exports[_0xd881('0x97')]=function(_0x49e975,_0x5778f3,_0x1f97c5){var _0x5a4d00={};var _0x2a94e0={};var _0x215b9d;var _0x62d37c;return db['ChatQueue'][_0xd881('0x72')]({'where':{'id':_0x49e975[_0xd881('0x59')]['id']}})[_0xd881('0x22')](handleEntityNotFound(_0x5778f3,null))['then'](function(_0x279040){if(_0x279040){_0x215b9d=_0x279040;_0x2a94e0[_0xd881('0x41')]=_[_0xd881('0x43')](db['User']['rawAttributes']);_0x2a94e0[_0xd881('0x42')]=_[_0xd881('0x43')](_0x49e975[_0xd881('0x42')]);_0x2a94e0[_0xd881('0x44')]=_[_0xd881('0x45')](_0x2a94e0[_0xd881('0x41')],_0x2a94e0['query']);_0x5a4d00[_0xd881('0x46')]=_[_0xd881('0x45')](_0x2a94e0['model'],qs['fields'](_0x49e975[_0xd881('0x42')][_0xd881('0x47')]));_0x5a4d00[_0xd881('0x46')]=_0x5a4d00[_0xd881('0x46')][_0xd881('0x48')]?_0x5a4d00[_0xd881('0x46')]:_0x2a94e0['model'];_0x5a4d00[_0xd881('0x4b')]=qs[_0xd881('0x4c')](_0x49e975['query'][_0xd881('0x4c')]);_0x5a4d00[_0xd881('0x4d')]=qs[_0xd881('0x44')](_[_0xd881('0x67')](_0x49e975[_0xd881('0x42')],_0x2a94e0['filters']));if(_0x49e975[_0xd881('0x42')][_0xd881('0x4e')]){_0x5a4d00[_0xd881('0x4d')]=_[_0xd881('0x4f')](_0x5a4d00['where'],{'$or':_[_0xd881('0x50')](_0x5a4d00[_0xd881('0x46')],function(_0x3227bf){var _0x4e3847={};_0x4e3847[_0x3227bf]={'$like':'%'+_0x49e975['query']['filter']+'%'};return _0x4e3847;})});}_0x5a4d00=_[_0xd881('0x4f')]({},_0x5a4d00,_0x49e975[_0xd881('0x5a')]);return _0x215b9d[_0xd881('0x97')](_0x5a4d00);}})[_0xd881('0x22')](function(_0x4379f1){if(_0x4379f1){_0x62d37c=_0x4379f1[_0xd881('0x48')];if(!_0x49e975[_0xd881('0x42')][_0xd881('0x49')](_0xd881('0x4a'))){_0x5a4d00['limit']=qs[_0xd881('0x32')](_0x49e975['query']['limit']);_0x5a4d00[_0xd881('0x31')]=qs['offset'](_0x49e975[_0xd881('0x42')][_0xd881('0x31')]);}return _0x215b9d[_0xd881('0x97')](_0x5a4d00);}})[_0xd881('0x22')](function(_0x29e3f2){if(_0x29e3f2){return _0x29e3f2?{'count':_0x62d37c,'rows':_0x29e3f2}:null;}})[_0xd881('0x22')](respondWithResult(_0x5778f3,null))[_0xd881('0x2c')](handleError(_0x5778f3,null));};