74104dd574632808b04526746c711ec3b174d3a1
[motion2.git] / server / api / openchannelQueue / openchannelQueue.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 _0x074e=['transaction','each','findOrCreate','forEach','emit','userOpenchannelQueue:save','removeTeams','ids','select','field','tq.TeamId','from','team_has_openchannel_queues','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','clone','ut.UserId\x20=\x20?','push','toString','SELECT','every','TeamId','includes','all','union','value','isEmpty','removeAgents','userOpenchannelQueue:remove','addAgents','omit','spread','isArray','getAgents','pick','eml-format','fast-json-patch','request-promise','moment','bluebird','util','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','desk.js','querystring','ioredis','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','redis','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','end','json','offset','undefined','count','limit','status','set','reject','save','update','then','destroy','UserProfileResource','error','name','index','map','rawAttributes','fieldName','type','key','query','filters','intersection','model','attributes','fields','hasOwnProperty','nolimit','order','sort','filter','where','merge','VIRTUAL','options','includeAll','OpenchannelQueue','findAll','catch','show','params','keys','length','include','find','create','body','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','OpenchannelQueues','UserProfileSection','userProfileId','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','findOne','UserOpenchannelQueue','User','findAndCountAll','UserId','openchannelPause','updatedAt','createdAt','rows','format','%s/%s','Team','getTeams','addTeams','Agents','online','voicePause','interface','flatMap','sequelize'];(function(_0x3dd15e,_0x1f0015){var _0x231fd0=function(_0x4f680a){while(--_0x4f680a){_0x3dd15e['push'](_0x3dd15e['shift']());}};_0x231fd0(++_0x1f0015);}(_0x074e,0x13b));var _0xe074=function(_0x210603,_0x4adbac){_0x210603=_0x210603-0x0;var _0x1bcb7d=_0x074e[_0x210603];return _0x1bcb7d;};'use strict';var emlformat=require(_0xe074('0x0'));var rimraf=require('rimraf');var zipdir=require('zip-dir');var jsonpatch=require(_0xe074('0x1'));var rp=require(_0xe074('0x2'));var moment=require(_0xe074('0x3'));var BPromise=require(_0xe074('0x4'));var Mustache=require('mustache');var util=require(_0xe074('0x5'));var path=require('path');var sox=require(_0xe074('0x6'));var csv=require(_0xe074('0x7'));var ejs=require(_0xe074('0x8'));var fs=require('fs');var fs_extra=require(_0xe074('0x9'));var _=require(_0xe074('0xa'));var squel=require(_0xe074('0xb'));var crypto=require(_0xe074('0xc'));var jsforce=require(_0xe074('0xd'));var deskjs=require(_0xe074('0xe'));var toCsv=require(_0xe074('0x7'));var querystring=require(_0xe074('0xf'));var Papa=require('papaparse');var Redis=require(_0xe074('0x10'));var authService=require('../../components/auth/service');var qs=require(_0xe074('0x11'));var as=require(_0xe074('0x12'));var hardwareService=require(_0xe074('0x13'));var logger=require(_0xe074('0x14'))(_0xe074('0x15'));var utils=require(_0xe074('0x16'));var config=require('../../config/environment');var licenseUtil=require(_0xe074('0x17'));var db=require('../../mysqldb')['db'];config['redis']=_['defaults'](config[_0xe074('0x18')],{'host':'localhost','port':0x18eb});var socket=require(_0xe074('0x19'))(new Redis(config[_0xe074('0x18')]));require(_0xe074('0x1a'))[_0xe074('0x1b')](socket);function respondWithStatusCode(_0x8ad43d,_0x286bf8){_0x286bf8=_0x286bf8||0xcc;return function(_0x87c111){if(_0x87c111){return _0x8ad43d[_0xe074('0x1c')](_0x286bf8);}return _0x8ad43d['status'](_0x286bf8)[_0xe074('0x1d')]();};}function respondWithResult(_0x401941,_0x57a013){_0x57a013=_0x57a013||0xc8;return function(_0x3f04c8){if(_0x3f04c8){return _0x401941['status'](_0x57a013)[_0xe074('0x1e')](_0x3f04c8);}};}function respondWithFilteredResult(_0x4f98b1,_0x329aa3){return function(_0x18080d){if(_0x18080d){var _0x4081b4=typeof _0x329aa3[_0xe074('0x1f')]==='undefined'&&typeof _0x329aa3['limit']===_0xe074('0x20');var _0x1054f8=_0x18080d[_0xe074('0x21')];var _0x2f7d06=_0x4081b4?0x0:_0x329aa3[_0xe074('0x1f')];var _0x31065c=_0x4081b4?_0x18080d['count']:_0x329aa3['offset']+_0x329aa3[_0xe074('0x22')];var _0x110f01;if(_0x31065c>=_0x1054f8){_0x31065c=_0x1054f8;_0x110f01=0xc8;}else{_0x110f01=0xce;}_0x4f98b1[_0xe074('0x23')](_0x110f01);return _0x4f98b1[_0xe074('0x24')]('Content-Range',_0x2f7d06+'-'+_0x31065c+'/'+_0x1054f8)[_0xe074('0x1e')](_0x18080d);}return null;};}function patchUpdates(_0x4f92d0){return function(_0x1a1d46){try{jsonpatch['apply'](_0x1a1d46,_0x4f92d0,!![]);}catch(_0x3933ec){return BPromise[_0xe074('0x25')](_0x3933ec);}return _0x1a1d46[_0xe074('0x26')]();};}function saveUpdates(_0xcf36f4,_0x1b74ff){return function(_0x25708a){if(_0x25708a){return _0x25708a[_0xe074('0x27')](_0xcf36f4)[_0xe074('0x28')](function(_0x38208b){return _0x38208b;});}return null;};}function removeEntity(_0x615373,_0x212f6a){return function(_0x2b3580){if(_0x2b3580){return _0x2b3580[_0xe074('0x29')]()[_0xe074('0x28')](function(){var _0xef74b=_0x2b3580['get']({'plain':!![]});var _0x29cf5f='OpenchannelQueues';return db[_0xe074('0x2a')]['destroy']({'where':{'type':_0x29cf5f,'resourceId':_0xef74b['id']}})[_0xe074('0x28')](function(){return _0x2b3580;});})[_0xe074('0x28')](function(){_0x615373[_0xe074('0x23')](0xcc)[_0xe074('0x1d')]();});}};}function handleEntityNotFound(_0x5bc0e6,_0x1353ef){return function(_0x3c942e){if(!_0x3c942e){_0x5bc0e6[_0xe074('0x1c')](0x194);}return _0x3c942e;};}function handleError(_0x11bf1f,_0x2be2cf){_0x2be2cf=_0x2be2cf||0x1f4;return function(_0x421073){logger[_0xe074('0x2b')](_0x421073['stack']);if(_0x421073[_0xe074('0x2c')]){delete _0x421073[_0xe074('0x2c')];}_0x11bf1f['status'](_0x2be2cf)['send'](_0x421073);};}exports[_0xe074('0x2d')]=function(_0x313dd0,_0x1cf392){var _0x1398da={},_0xea1aaa={},_0x154d9c={'count':0x0,'rows':[]};var _0x2c9fe5=_[_0xe074('0x2e')](db['OpenchannelQueue'][_0xe074('0x2f')],function(_0x5aa972){return{'name':_0x5aa972[_0xe074('0x30')],'type':_0x5aa972[_0xe074('0x31')][_0xe074('0x32')]};});_0xea1aaa['model']=_['map'](_0x2c9fe5,_0xe074('0x2c'));_0xea1aaa[_0xe074('0x33')]=_['keys'](_0x313dd0[_0xe074('0x33')]);_0xea1aaa[_0xe074('0x34')]=_[_0xe074('0x35')](_0xea1aaa[_0xe074('0x36')],_0xea1aaa['query']);_0x1398da[_0xe074('0x37')]=_['intersection'](_0xea1aaa[_0xe074('0x36')],qs[_0xe074('0x38')](_0x313dd0[_0xe074('0x33')][_0xe074('0x38')]));_0x1398da[_0xe074('0x37')]=_0x1398da[_0xe074('0x37')]['length']?_0x1398da[_0xe074('0x37')]:_0xea1aaa[_0xe074('0x36')];if(!_0x313dd0[_0xe074('0x33')][_0xe074('0x39')](_0xe074('0x3a'))){_0x1398da[_0xe074('0x22')]=qs['limit'](_0x313dd0['query']['limit']);_0x1398da['offset']=qs['offset'](_0x313dd0[_0xe074('0x33')]['offset']);}_0x1398da[_0xe074('0x3b')]=qs[_0xe074('0x3c')](_0x313dd0[_0xe074('0x33')]['sort']);_0x1398da['where']=qs[_0xe074('0x34')](_['pick'](_0x313dd0['query'],_0xea1aaa['filters']),_0x2c9fe5);if(_0x313dd0[_0xe074('0x33')][_0xe074('0x3d')]){_0x1398da[_0xe074('0x3e')]=_[_0xe074('0x3f')](_0x1398da[_0xe074('0x3e')],{'$or':_['map'](_0x2c9fe5,function(_0xc05e9e){if(_0xc05e9e[_0xe074('0x31')]!==_0xe074('0x40')){var _0x2fc9f9={};_0x2fc9f9[_0xc05e9e[_0xe074('0x2c')]]={'$like':'%'+_0x313dd0['query'][_0xe074('0x3d')]+'%'};return _0x2fc9f9;}})});}_0x1398da=_[_0xe074('0x3f')]({},_0x1398da,_0x313dd0[_0xe074('0x41')]);var _0x5de993={'where':_0x1398da[_0xe074('0x3e')]};return db['OpenchannelQueue'][_0xe074('0x21')](_0x5de993)['then'](function(_0x1f081f){_0x154d9c['count']=_0x1f081f;if(_0x313dd0[_0xe074('0x33')][_0xe074('0x42')]){_0x1398da['include']=[{'all':!![]}];}return db[_0xe074('0x43')][_0xe074('0x44')](_0x1398da);})[_0xe074('0x28')](function(_0x5675f0){_0x154d9c['rows']=_0x5675f0;return _0x154d9c;})['then'](respondWithFilteredResult(_0x1cf392,_0x1398da))[_0xe074('0x45')](handleError(_0x1cf392,null));};exports[_0xe074('0x46')]=function(_0x56ae9d,_0x2e2ed1){var _0x4deb79={'raw':!![],'where':{'id':_0x56ae9d[_0xe074('0x47')]['id']}},_0x26b854={};_0x26b854['model']=_[_0xe074('0x48')](db[_0xe074('0x43')][_0xe074('0x2f')]);_0x26b854[_0xe074('0x33')]=_[_0xe074('0x48')](_0x56ae9d[_0xe074('0x33')]);_0x26b854[_0xe074('0x34')]=_['intersection'](_0x26b854[_0xe074('0x36')],_0x26b854[_0xe074('0x33')]);_0x4deb79[_0xe074('0x37')]=_[_0xe074('0x35')](_0x26b854[_0xe074('0x36')],qs[_0xe074('0x38')](_0x56ae9d[_0xe074('0x33')][_0xe074('0x38')]));_0x4deb79[_0xe074('0x37')]=_0x4deb79[_0xe074('0x37')][_0xe074('0x49')]?_0x4deb79[_0xe074('0x37')]:_0x26b854[_0xe074('0x36')];if(_0x56ae9d[_0xe074('0x33')][_0xe074('0x42')]){_0x4deb79[_0xe074('0x4a')]=[{'all':!![]}];}_0x4deb79=_['merge']({},_0x4deb79,_0x56ae9d['options']);return db[_0xe074('0x43')][_0xe074('0x4b')](_0x4deb79)[_0xe074('0x28')](handleEntityNotFound(_0x2e2ed1,null))[_0xe074('0x28')](respondWithResult(_0x2e2ed1,null))[_0xe074('0x45')](handleError(_0x2e2ed1,null));};exports['create']=function(_0x189302,_0x520229){return db['OpenchannelQueue'][_0xe074('0x4c')](_0x189302[_0xe074('0x4d')],{})['then'](function(_0x5d203f){var _0x3d4781=_0x189302['user'][_0xe074('0x4e')]({'plain':!![]});if(!_0x3d4781)throw new Error(_0xe074('0x4f'));if(_0x3d4781['role']==='user'){var _0x5e4e4d=_0x5d203f['get']({'plain':!![]});var _0x4f79f1=_0xe074('0x50');return db[_0xe074('0x51')][_0xe074('0x4b')]({'where':{'name':_0x4f79f1,'userProfileId':_0x3d4781[_0xe074('0x52')]},'raw':!![]})[_0xe074('0x28')](function(_0xfd2349){if(_0xfd2349&&_0xfd2349['autoAssociation']===0x0){return db[_0xe074('0x2a')][_0xe074('0x4c')]({'name':_0x5e4e4d['name'],'resourceId':_0x5e4e4d['id'],'type':_0xfd2349[_0xe074('0x2c')],'sectionId':_0xfd2349['id']},{})[_0xe074('0x28')](function(){return _0x5d203f;});}else{return _0x5d203f;}})[_0xe074('0x45')](function(_0x2abdc0){logger[_0xe074('0x2b')](_0xe074('0x53'),_0x2abdc0);throw _0x2abdc0;});}return _0x5d203f;})[_0xe074('0x28')](respondWithResult(_0x520229,0xc9))['catch'](handleError(_0x520229,null));};exports[_0xe074('0x27')]=function(_0x37538f,_0x3ec799){if(_0x37538f[_0xe074('0x4d')]['id']){delete _0x37538f[_0xe074('0x4d')]['id'];}return db[_0xe074('0x43')][_0xe074('0x4b')]({'where':{'id':_0x37538f[_0xe074('0x47')]['id']}})[_0xe074('0x28')](handleEntityNotFound(_0x3ec799,null))[_0xe074('0x28')](saveUpdates(_0x37538f[_0xe074('0x4d')],null))[_0xe074('0x28')](respondWithResult(_0x3ec799,null))[_0xe074('0x45')](handleError(_0x3ec799,null));};exports[_0xe074('0x29')]=function(_0x40ca30,_0x378acf){return db[_0xe074('0x43')]['find']({'where':{'id':_0x40ca30[_0xe074('0x47')]['id']}})['then'](handleEntityNotFound(_0x378acf,null))[_0xe074('0x28')](removeEntity(_0x378acf,null))['catch'](handleError(_0x378acf,null));};exports[_0xe074('0x54')]=function(_0x42798f,_0x318376){return db[_0xe074('0x43')][_0xe074('0x54')]()[_0xe074('0x28')](respondWithResult(_0x318376,null))[_0xe074('0x45')](handleError(_0x318376,null));};exports['getMembers']=function(_0x35dbd9,_0x4d7367,_0x231595){var _0x2e3332={'raw':!![],'where':{}},_0x3d5f90={},_0x1e0030;return db[_0xe074('0x43')][_0xe074('0x55')]({'where':{'id':_0x35dbd9[_0xe074('0x47')]['id']}})[_0xe074('0x28')](handleEntityNotFound(_0x4d7367,null))[_0xe074('0x28')](function(_0x22c2d5){if(_0x22c2d5){_0x1e0030=_0x22c2d5[_0xe074('0x4e')]({'plain':!![]});_0x3d5f90['model']=_[_0xe074('0x48')](db['UserOpenchannelQueue'][_0xe074('0x2f')]);_0x3d5f90['query']=_[_0xe074('0x48')](_0x35dbd9[_0xe074('0x33')]);_0x3d5f90[_0xe074('0x34')]=_['intersection'](_0x3d5f90[_0xe074('0x36')],_0x3d5f90[_0xe074('0x33')]);_0x2e3332[_0xe074('0x37')]=_[_0xe074('0x35')](_0x3d5f90[_0xe074('0x36')],qs['fields'](_0x35dbd9[_0xe074('0x33')][_0xe074('0x38')]));_0x2e3332[_0xe074('0x37')]=_0x2e3332[_0xe074('0x37')][_0xe074('0x49')]?_0x2e3332[_0xe074('0x37')]:_0x3d5f90[_0xe074('0x36')];if(!_0x35dbd9[_0xe074('0x33')]['hasOwnProperty'](_0xe074('0x3a'))){_0x2e3332[_0xe074('0x22')]=qs[_0xe074('0x22')](_0x35dbd9[_0xe074('0x33')]['limit']);_0x2e3332[_0xe074('0x1f')]=qs[_0xe074('0x1f')](_0x35dbd9[_0xe074('0x33')][_0xe074('0x1f')]);}_0x2e3332[_0xe074('0x3b')]=qs[_0xe074('0x3c')](_0x35dbd9[_0xe074('0x33')][_0xe074('0x3c')]);_0x2e3332[_0xe074('0x3e')]=qs[_0xe074('0x34')](_['pick'](_0x35dbd9[_0xe074('0x33')],_0x3d5f90[_0xe074('0x34')]));_0x2e3332[_0xe074('0x3e')]['OpenchannelQueueId']=_0x22c2d5['id'];if(_0x35dbd9[_0xe074('0x33')][_0xe074('0x3d')]){_0x2e3332[_0xe074('0x3e')]=_[_0xe074('0x3f')](_0x2e3332[_0xe074('0x3e')],{'$or':_[_0xe074('0x2e')](_0x2e3332[_0xe074('0x37')],function(_0x2e6544){var _0x13db34={};_0x13db34[_0x2e6544]={'$like':'%'+_0x35dbd9[_0xe074('0x33')][_0xe074('0x3d')]+'%'};return _0x13db34;})});}_0x2e3332=_[_0xe074('0x3f')]({},_0x2e3332,_0x35dbd9['options']);return db[_0xe074('0x56')]['findAll'](_0x2e3332);}})[_0xe074('0x28')](function(_0x35f0c7){if(_0x35f0c7){return db[_0xe074('0x57')][_0xe074('0x58')]({'where':{'id':_['map'](_0x35f0c7,_0xe074('0x59')),'role':'agent'},'attributes':['id',_0xe074('0x2c'),_0xe074('0x5a'),_0xe074('0x5b'),_0xe074('0x5c')]});}})[_0xe074('0x28')](function(_0x3c8ca1){if(_0x3c8ca1){return{'count':_0x3c8ca1[_0xe074('0x21')],'rows':_[_0xe074('0x2e')](_0x3c8ca1[_0xe074('0x5d')],function(_0x77a006){return{'membername':_0x77a006[_0xe074('0x2c')],'UserId':_0x77a006['id'],'queue_name':_0x1e0030['name'],'OpenchannelQueueId':_0x1e0030['id'],'interface':util[_0xe074('0x5e')](_0xe074('0x5f'),'SIP',_0x77a006[_0xe074('0x2c')]),'penalty':0x0,'paused':_0x77a006[_0xe074('0x5a')],'createdAt':_0x77a006[_0xe074('0x5c')],'updatedAt':_0x77a006[_0xe074('0x5b')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xe074('0x28')](respondWithFilteredResult(_0x4d7367,_0x2e3332))['catch'](handleError(_0x4d7367,null));};exports['getTeams']=function(_0x54b07b,_0x2f2778,_0x10f2a0){var _0x160542={};var _0x4f035f={};var _0x27962e;var _0x3cc6da;return db['OpenchannelQueue'][_0xe074('0x55')]({'where':{'id':_0x54b07b[_0xe074('0x47')]['id']}})[_0xe074('0x28')](handleEntityNotFound(_0x2f2778,null))[_0xe074('0x28')](function(_0x22edc1){if(_0x22edc1){_0x27962e=_0x22edc1;_0x4f035f[_0xe074('0x36')]=_[_0xe074('0x48')](db[_0xe074('0x60')][_0xe074('0x2f')]);_0x4f035f[_0xe074('0x33')]=_[_0xe074('0x48')](_0x54b07b[_0xe074('0x33')]);_0x4f035f[_0xe074('0x34')]=_[_0xe074('0x35')](_0x4f035f['model'],_0x4f035f[_0xe074('0x33')]);_0x160542['attributes']=_[_0xe074('0x35')](_0x4f035f[_0xe074('0x36')],qs[_0xe074('0x38')](_0x54b07b[_0xe074('0x33')][_0xe074('0x38')]));_0x160542[_0xe074('0x37')]=_0x160542['attributes'][_0xe074('0x49')]?_0x160542['attributes']:_0x4f035f['model'];_0x160542['order']=qs[_0xe074('0x3c')](_0x54b07b[_0xe074('0x33')][_0xe074('0x3c')]);_0x160542[_0xe074('0x3e')]=qs[_0xe074('0x34')](_['pick'](_0x54b07b[_0xe074('0x33')],_0x4f035f[_0xe074('0x34')]));if(_0x54b07b[_0xe074('0x33')][_0xe074('0x3d')]){_0x160542['where']=_[_0xe074('0x3f')](_0x160542[_0xe074('0x3e')],{'$or':_['map'](_0x160542[_0xe074('0x37')],function(_0x1fa1e5){var _0x4cbfb7={};_0x4cbfb7[_0x1fa1e5]={'$like':'%'+_0x54b07b[_0xe074('0x33')][_0xe074('0x3d')]+'%'};return _0x4cbfb7;})});}_0x160542=_[_0xe074('0x3f')]({},_0x160542,_0x54b07b[_0xe074('0x41')]);return _0x27962e[_0xe074('0x61')](_0x160542);}})[_0xe074('0x28')](function(_0x27fdba){if(_0x27fdba){_0x3cc6da=_0x27fdba[_0xe074('0x49')];if(!_0x54b07b[_0xe074('0x33')][_0xe074('0x39')]('nolimit')){_0x160542[_0xe074('0x22')]=qs[_0xe074('0x22')](_0x54b07b[_0xe074('0x33')]['limit']);_0x160542[_0xe074('0x1f')]=qs['offset'](_0x54b07b[_0xe074('0x33')][_0xe074('0x1f')]);}return _0x27962e[_0xe074('0x61')](_0x160542);}})[_0xe074('0x28')](function(_0x327a1a){if(_0x327a1a){return _0x327a1a?{'count':_0x3cc6da,'rows':_0x327a1a}:null;}})['then'](respondWithResult(_0x2f2778,null))[_0xe074('0x45')](handleError(_0x2f2778,null));};exports[_0xe074('0x62')]=function(_0x45e6ba,_0x35e813,_0x167a89){var _0x15ca16=_0x45e6ba[_0xe074('0x4d')]['ids'];return db[_0xe074('0x60')][_0xe074('0x44')]({'where':{'id':_0x15ca16},'attributes':['id'],'include':[{'model':db['User'],'as':_0xe074('0x63'),'attributes':['id',_0xe074('0x2c'),_0xe074('0x64'),_0xe074('0x65'),_0xe074('0x66')],'raw':!![]}]})[_0xe074('0x28')](function(_0xea7227){if(_0xea7227){var _0x113bb5=_[_0xe074('0x67')](_0xea7227,function(_0x29e8f6){var _0x234474=_0x29e8f6[_0xe074('0x4e')]({'plain':!![]});return _0x234474[_0xe074('0x63')];});return db[_0xe074('0x43')][_0xe074('0x4b')]({'where':{'id':_0x45e6ba[_0xe074('0x47')]['id']}})[_0xe074('0x28')](function(_0x55d102){return db[_0xe074('0x68')][_0xe074('0x69')](function(_0x126fd3){return _0x55d102['addTeams'](_0x15ca16,{'transaction':_0x126fd3})[_0xe074('0x28')](function(){return BPromise[_0xe074('0x6a')](_0x113bb5,function(_0x2212b2){return db[_0xe074('0x56')][_0xe074('0x6b')]({'where':{'UserId':_0x2212b2['id'],'OpenchannelQueueId':_0x45e6ba[_0xe074('0x47')]['id']},'transaction':_0x126fd3});});})[_0xe074('0x28')](function(){_0x113bb5[_0xe074('0x6c')](function(_0x1d4e54){socket[_0xe074('0x6d')](_0xe074('0x6e'),{'UserId':_0x1d4e54['id'],'OpenchannelQueueId':_0x55d102['id']});});});});});}})[_0xe074('0x28')](respondWithStatusCode(_0x35e813,null))[_0xe074('0x45')](handleError(_0x35e813,null));};exports[_0xe074('0x6f')]=function(_0x44550a,_0x3a0100,_0x5d157d){return db[_0xe074('0x60')][_0xe074('0x44')]({'where':{'id':_0x44550a['query'][_0xe074('0x70')]},'attributes':['id'],'include':[{'model':db['User'],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0xe074('0x28')](handleEntityNotFound(_0x3a0100,null))[_0xe074('0x28')](function(_0x16cbf7){var _0x417361=_['map'](_0x16cbf7,'id');var _0x2e60ce=[];var _0x2d3abc=[];var _0x12e448=squel[_0xe074('0x71')]();_0x12e448[_0xe074('0x72')](_0xe074('0x73'))[_0xe074('0x74')](_0xe074('0x75'),'tq')['join'](_0xe074('0x76'),'ut',_0xe074('0x77'))[_0xe074('0x3e')]('OpenchannelQueueId\x20=\x20?',_0x44550a[_0xe074('0x47')]['id']);for(var _0x118d52=0x0;_0x118d52<_0x16cbf7[_0xe074('0x49')];_0x118d52+=0x1){let _0x5601d1=_0x16cbf7[_0x118d52];for(var _0x36c6fc=0x0;_0x36c6fc<_0x5601d1[_0xe074('0x63')][_0xe074('0x49')];_0x36c6fc+=0x1){let _0x57d339=_0x5601d1[_0xe074('0x63')][_0x36c6fc];var _0x2d0f5a=_0x12e448[_0xe074('0x78')]();_0x2d0f5a[_0xe074('0x3e')](_0xe074('0x79'),_0x57d339['id']);_0x2d3abc[_0xe074('0x7a')](db[_0xe074('0x68')]['query'](_0x2d0f5a[_0xe074('0x7b')](),{'type':db[_0xe074('0x68')]['QueryTypes'][_0xe074('0x7c')]})[_0xe074('0x28')](function(_0x32b631){if(_0x32b631['length']===0x1){return _0x57d339['id'];}else{var _0x31a9f5=_[_0xe074('0x7d')](_[_0xe074('0x2e')](_0x32b631,_0xe074('0x7e')),function(_0x321da3){return _[_0xe074('0x7f')](_0x417361,_0x321da3);});if(_0x31a9f5){return _0x57d339['id'];}}}));}}return BPromise[_0xe074('0x80')](_0x2d3abc)[_0xe074('0x28')](function(_0x3e9e5f){_0x2e60ce=_(_0x2e60ce)[_0xe074('0x81')](_0x3e9e5f)['compact']()[_0xe074('0x82')]();return db[_0xe074('0x43')][_0xe074('0x4b')]({'where':{'id':_0x44550a[_0xe074('0x47')]['id']}})[_0xe074('0x28')](function(_0x657cac){return db[_0xe074('0x68')]['transaction'](function(_0x462870){return _0x657cac[_0xe074('0x6f')](_0x44550a[_0xe074('0x33')][_0xe074('0x70')],{'transaction':_0x462870})[_0xe074('0x28')](function(){if(!_[_0xe074('0x83')](_0x2e60ce)){return _0x657cac[_0xe074('0x84')](_0x2e60ce,{'transaction':_0x462870});}})[_0xe074('0x28')](function(){_0x2e60ce[_0xe074('0x6c')](function(_0x1d454b){socket[_0xe074('0x6d')](_0xe074('0x85'),{'UserId':_0x1d454b,'OpenchannelQueueId':_0x657cac['id']});});});});});});})[_0xe074('0x28')](respondWithStatusCode(_0x3a0100,null))[_0xe074('0x45')](handleError(_0x3a0100,null));};exports[_0xe074('0x86')]=function(_0x4e4e32,_0x2a106f,_0x7f233c){return db[_0xe074('0x43')][_0xe074('0x4b')]({'where':{'id':_0x4e4e32[_0xe074('0x47')]['id']}})['then'](handleEntityNotFound(_0x2a106f,null))['then'](function(_0x3a9d40){if(_0x3a9d40){return _0x3a9d40[_0xe074('0x86')](_0x4e4e32['body'][_0xe074('0x70')],_[_0xe074('0x87')](_0x4e4e32[_0xe074('0x4d')],[_0xe074('0x70'),'id'])||{})[_0xe074('0x88')](function(_0x278b28){for(var _0x2b1169=0x0;_0x2b1169<_0x4e4e32[_0xe074('0x4d')][_0xe074('0x70')][_0xe074('0x49')];_0x2b1169+=0x1){socket[_0xe074('0x6d')]('userOpenchannelQueue:save',{'UserId':Number(_0x4e4e32['body'][_0xe074('0x70')][_0x2b1169]),'OpenchannelQueueId':Number(_0x4e4e32[_0xe074('0x47')]['id'])});}return _0x278b28;});}})[_0xe074('0x28')](respondWithResult(_0x2a106f,null))[_0xe074('0x45')](handleError(_0x2a106f,null));};exports[_0xe074('0x84')]=function(_0x295fda,_0x5da4df,_0x3498ed){return db[_0xe074('0x43')][_0xe074('0x4b')]({'where':{'id':_0x295fda[_0xe074('0x47')]['id']}})[_0xe074('0x28')](handleEntityNotFound(_0x5da4df,null))[_0xe074('0x28')](function(_0x2f2bdb){if(_0x2f2bdb){return _0x2f2bdb['removeAgents'](_0x295fda['query'][_0xe074('0x70')])['then'](function(){if(_[_0xe074('0x89')](_0x295fda[_0xe074('0x33')][_0xe074('0x70')])){for(var _0x31ddea=0x0;_0x31ddea<_0x295fda[_0xe074('0x33')][_0xe074('0x70')][_0xe074('0x49')];_0x31ddea+=0x1){socket[_0xe074('0x6d')](_0xe074('0x85'),{'UserId':Number(_0x295fda[_0xe074('0x33')]['ids'][_0x31ddea]),'OpenchannelQueueId':Number(_0x295fda['params']['id'])});}}else{socket['emit'](_0xe074('0x85'),{'UserId':Number(_0x295fda[_0xe074('0x33')][_0xe074('0x70')]),'OpenchannelQueueId':Number(_0x295fda[_0xe074('0x47')]['id'])});}});}})[_0xe074('0x28')](respondWithStatusCode(_0x5da4df,null))['catch'](handleError(_0x5da4df,null));};exports[_0xe074('0x8a')]=function(_0x242498,_0x1846e3,_0x13f585){var _0x218325={};var _0x490a29={};var _0x3b3afe;var _0x1dca89;return db[_0xe074('0x43')][_0xe074('0x55')]({'where':{'id':_0x242498[_0xe074('0x47')]['id']}})['then'](handleEntityNotFound(_0x1846e3,null))['then'](function(_0x116b20){if(_0x116b20){_0x3b3afe=_0x116b20;_0x490a29['model']=_['keys'](db[_0xe074('0x57')][_0xe074('0x2f')]);_0x490a29['query']=_[_0xe074('0x48')](_0x242498[_0xe074('0x33')]);_0x490a29[_0xe074('0x34')]=_['intersection'](_0x490a29[_0xe074('0x36')],_0x490a29[_0xe074('0x33')]);_0x218325[_0xe074('0x37')]=_['intersection'](_0x490a29[_0xe074('0x36')],qs[_0xe074('0x38')](_0x242498[_0xe074('0x33')]['fields']));_0x218325['attributes']=_0x218325[_0xe074('0x37')][_0xe074('0x49')]?_0x218325[_0xe074('0x37')]:_0x490a29[_0xe074('0x36')];_0x218325['order']=qs[_0xe074('0x3c')](_0x242498[_0xe074('0x33')][_0xe074('0x3c')]);_0x218325[_0xe074('0x3e')]=qs[_0xe074('0x34')](_[_0xe074('0x8b')](_0x242498[_0xe074('0x33')],_0x490a29[_0xe074('0x34')]));if(_0x242498[_0xe074('0x33')][_0xe074('0x3d')]){_0x218325[_0xe074('0x3e')]=_[_0xe074('0x3f')](_0x218325[_0xe074('0x3e')],{'$or':_['map'](_0x218325[_0xe074('0x37')],function(_0x5cadee){var _0x466af9={};_0x466af9[_0x5cadee]={'$like':'%'+_0x242498['query'][_0xe074('0x3d')]+'%'};return _0x466af9;})});}_0x218325=_[_0xe074('0x3f')]({},_0x218325,_0x242498[_0xe074('0x41')]);return _0x3b3afe['getAgents'](_0x218325);}})[_0xe074('0x28')](function(_0x3bc5d7){if(_0x3bc5d7){_0x1dca89=_0x3bc5d7[_0xe074('0x49')];if(!_0x242498['query'][_0xe074('0x39')](_0xe074('0x3a'))){_0x218325[_0xe074('0x22')]=qs[_0xe074('0x22')](_0x242498[_0xe074('0x33')][_0xe074('0x22')]);_0x218325['offset']=qs['offset'](_0x242498['query'][_0xe074('0x1f')]);}return _0x3b3afe[_0xe074('0x8a')](_0x218325);}})['then'](function(_0x1bc61f){if(_0x1bc61f){return _0x1bc61f?{'count':_0x1dca89,'rows':_0x1bc61f}:null;}})[_0xe074('0x28')](respondWithResult(_0x1846e3,null))[_0xe074('0x45')](handleError(_0x1846e3,null));};