Built motion from commit 746c7d2a.|2.5.35
[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 _0x706f=['forEach','emit','userOpenchannelQueue:save','removeTeams','select','field','tq.TeamId','from','team_has_openchannel_queues','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','push','toString','QueryTypes','SELECT','TeamId','includes','all','union','compact','value','transaction','isEmpty','removeAgents','userOpenchannelQueue:remove','omit','spread','isArray','getAgents','rimraf','zip-dir','fast-json-patch','request-promise','moment','mustache','util','sox','to-csv','ejs','fs-extra','squel','crypto','jsforce','desk.js','querystring','papaparse','ioredis','../../components/auth/service','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/logger','api','../../config/license/util','defaults','localhost','socket.io-emitter','redis','./openchannelQueue.socket','register','sendStatus','end','status','offset','undefined','limit','count','set','Content-Range','apply','reject','save','update','destroy','then','OpenchannelQueues','UserProfileResource','stack','name','index','map','OpenchannelQueue','rawAttributes','fieldName','model','keys','query','filters','intersection','fields','attributes','length','nolimit','order','sort','where','pick','filter','type','merge','options','includeAll','include','rows','catch','show','params','find','create','body','user','get','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','autoAssociation','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','describe','findOne','UserOpenchannelQueue','OpenchannelQueueId','User','findAndCountAll','UserId','agent','createdAt','format','%s/%s','SIP','updatedAt','getTeams','Team','hasOwnProperty','addTeams','ids','findAll','Agents','online','voicePause','interface','flatMap','sequelize','findOrCreate'];(function(_0x3d9373,_0x2752cf){var _0x25257d=function(_0x130208){while(--_0x130208){_0x3d9373['push'](_0x3d9373['shift']());}};_0x25257d(++_0x2752cf);}(_0x706f,0x149));var _0xf706=function(_0x3a2cb7,_0x585eaf){_0x3a2cb7=_0x3a2cb7-0x0;var _0x2dcd51=_0x706f[_0x3a2cb7];return _0x2dcd51;};'use strict';var emlformat=require('eml-format');var rimraf=require(_0xf706('0x0'));var zipdir=require(_0xf706('0x1'));var jsonpatch=require(_0xf706('0x2'));var rp=require(_0xf706('0x3'));var moment=require(_0xf706('0x4'));var BPromise=require('bluebird');var Mustache=require(_0xf706('0x5'));var util=require(_0xf706('0x6'));var path=require('path');var sox=require(_0xf706('0x7'));var csv=require(_0xf706('0x8'));var ejs=require(_0xf706('0x9'));var fs=require('fs');var fs_extra=require(_0xf706('0xa'));var _=require('lodash');var squel=require(_0xf706('0xb'));var crypto=require(_0xf706('0xc'));var jsforce=require(_0xf706('0xd'));var deskjs=require(_0xf706('0xe'));var toCsv=require(_0xf706('0x8'));var querystring=require(_0xf706('0xf'));var Papa=require(_0xf706('0x10'));var Redis=require(_0xf706('0x11'));var authService=require(_0xf706('0x12'));var qs=require('../../components/parsers/qs');var as=require(_0xf706('0x13'));var hardwareService=require(_0xf706('0x14'));var logger=require(_0xf706('0x15'))(_0xf706('0x16'));var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0xf706('0x17'));var db=require('../../mysqldb')['db'];config['redis']=_[_0xf706('0x18')](config['redis'],{'host':_0xf706('0x19'),'port':0x18eb});var socket=require(_0xf706('0x1a'))(new Redis(config[_0xf706('0x1b')]));require(_0xf706('0x1c'))[_0xf706('0x1d')](socket);function respondWithStatusCode(_0x3e2a95,_0x20fb38){_0x20fb38=_0x20fb38||0xcc;return function(_0x37867f){if(_0x37867f){return _0x3e2a95[_0xf706('0x1e')](_0x20fb38);}return _0x3e2a95['status'](_0x20fb38)[_0xf706('0x1f')]();};}function respondWithResult(_0x489c12,_0x557027){_0x557027=_0x557027||0xc8;return function(_0x4c92a0){if(_0x4c92a0){return _0x489c12[_0xf706('0x20')](_0x557027)['json'](_0x4c92a0);}};}function respondWithFilteredResult(_0x11305a,_0x486126){return function(_0x15ddd0){if(_0x15ddd0){var _0x493a01=typeof _0x486126[_0xf706('0x21')]===_0xf706('0x22')&&typeof _0x486126[_0xf706('0x23')]===_0xf706('0x22');var _0x4b4e7f=_0x15ddd0['count'];var _0x517be0=_0x493a01?0x0:_0x486126['offset'];var _0x256804=_0x493a01?_0x15ddd0[_0xf706('0x24')]:_0x486126[_0xf706('0x21')]+_0x486126[_0xf706('0x23')];var _0x204424;if(_0x256804>=_0x4b4e7f){_0x256804=_0x4b4e7f;_0x204424=0xc8;}else{_0x204424=0xce;}_0x11305a[_0xf706('0x20')](_0x204424);return _0x11305a[_0xf706('0x25')](_0xf706('0x26'),_0x517be0+'-'+_0x256804+'/'+_0x4b4e7f)['json'](_0x15ddd0);}return null;};}function patchUpdates(_0x3f409e){return function(_0x3cfce1){try{jsonpatch[_0xf706('0x27')](_0x3cfce1,_0x3f409e,!![]);}catch(_0x139102){return BPromise[_0xf706('0x28')](_0x139102);}return _0x3cfce1[_0xf706('0x29')]();};}function saveUpdates(_0x4609e4,_0x2712d5){return function(_0x1ba9ef){if(_0x1ba9ef){return _0x1ba9ef[_0xf706('0x2a')](_0x4609e4)['then'](function(_0x5def02){return _0x5def02;});}return null;};}function removeEntity(_0x1290cf,_0x1e7a0b){return function(_0x16c016){if(_0x16c016){return _0x16c016[_0xf706('0x2b')]()[_0xf706('0x2c')](function(){var _0x14adfe=_0x16c016['get']({'plain':!![]});var _0x42491c=_0xf706('0x2d');return db[_0xf706('0x2e')]['destroy']({'where':{'type':_0x42491c,'resourceId':_0x14adfe['id']}})[_0xf706('0x2c')](function(){return _0x16c016;});})[_0xf706('0x2c')](function(){_0x1290cf[_0xf706('0x20')](0xcc)[_0xf706('0x1f')]();});}};}function handleEntityNotFound(_0x7122ac,_0x2df952){return function(_0x378aa9){if(!_0x378aa9){_0x7122ac[_0xf706('0x1e')](0x194);}return _0x378aa9;};}function handleError(_0x2aa379,_0x865073){_0x865073=_0x865073||0x1f4;return function(_0x3dbacc){logger['error'](_0x3dbacc[_0xf706('0x2f')]);if(_0x3dbacc[_0xf706('0x30')]){delete _0x3dbacc[_0xf706('0x30')];}_0x2aa379['status'](_0x865073)['send'](_0x3dbacc);};}exports[_0xf706('0x31')]=function(_0xd07681,_0x45acbd){var _0x5addee={},_0x3cde77={},_0x328bf2={'count':0x0,'rows':[]};var _0x3b4df9=_[_0xf706('0x32')](db[_0xf706('0x33')][_0xf706('0x34')],function(_0x559dfc){return{'name':_0x559dfc[_0xf706('0x35')],'type':_0x559dfc['type']['key']};});_0x3cde77[_0xf706('0x36')]=_[_0xf706('0x32')](_0x3b4df9,_0xf706('0x30'));_0x3cde77['query']=_[_0xf706('0x37')](_0xd07681[_0xf706('0x38')]);_0x3cde77[_0xf706('0x39')]=_[_0xf706('0x3a')](_0x3cde77['model'],_0x3cde77[_0xf706('0x38')]);_0x5addee['attributes']=_[_0xf706('0x3a')](_0x3cde77[_0xf706('0x36')],qs[_0xf706('0x3b')](_0xd07681[_0xf706('0x38')][_0xf706('0x3b')]));_0x5addee[_0xf706('0x3c')]=_0x5addee[_0xf706('0x3c')][_0xf706('0x3d')]?_0x5addee[_0xf706('0x3c')]:_0x3cde77[_0xf706('0x36')];if(!_0xd07681[_0xf706('0x38')]['hasOwnProperty'](_0xf706('0x3e'))){_0x5addee['limit']=qs[_0xf706('0x23')](_0xd07681['query'][_0xf706('0x23')]);_0x5addee[_0xf706('0x21')]=qs[_0xf706('0x21')](_0xd07681[_0xf706('0x38')]['offset']);}_0x5addee[_0xf706('0x3f')]=qs[_0xf706('0x40')](_0xd07681[_0xf706('0x38')][_0xf706('0x40')]);_0x5addee[_0xf706('0x41')]=qs[_0xf706('0x39')](_[_0xf706('0x42')](_0xd07681[_0xf706('0x38')],_0x3cde77[_0xf706('0x39')]),_0x3b4df9);if(_0xd07681[_0xf706('0x38')][_0xf706('0x43')]){_0x5addee[_0xf706('0x41')]=_['merge'](_0x5addee[_0xf706('0x41')],{'$or':_[_0xf706('0x32')](_0x3b4df9,function(_0x52d4d1){if(_0x52d4d1[_0xf706('0x44')]!=='VIRTUAL'){var _0x286641={};_0x286641[_0x52d4d1[_0xf706('0x30')]]={'$like':'%'+_0xd07681['query'][_0xf706('0x43')]+'%'};return _0x286641;}})});}_0x5addee=_[_0xf706('0x45')]({},_0x5addee,_0xd07681[_0xf706('0x46')]);var _0x2635d6={'where':_0x5addee[_0xf706('0x41')]};return db[_0xf706('0x33')][_0xf706('0x24')](_0x2635d6)[_0xf706('0x2c')](function(_0x45aeda){_0x328bf2['count']=_0x45aeda;if(_0xd07681[_0xf706('0x38')][_0xf706('0x47')]){_0x5addee[_0xf706('0x48')]=[{'all':!![]}];}return db[_0xf706('0x33')]['findAll'](_0x5addee);})[_0xf706('0x2c')](function(_0x3e117a){_0x328bf2[_0xf706('0x49')]=_0x3e117a;return _0x328bf2;})['then'](respondWithFilteredResult(_0x45acbd,_0x5addee))[_0xf706('0x4a')](handleError(_0x45acbd,null));};exports[_0xf706('0x4b')]=function(_0x5311f7,_0x41b6db){var _0x50514c={'raw':!![],'where':{'id':_0x5311f7[_0xf706('0x4c')]['id']}},_0x1e5e26={};_0x1e5e26['model']=_[_0xf706('0x37')](db[_0xf706('0x33')][_0xf706('0x34')]);_0x1e5e26[_0xf706('0x38')]=_[_0xf706('0x37')](_0x5311f7[_0xf706('0x38')]);_0x1e5e26[_0xf706('0x39')]=_['intersection'](_0x1e5e26['model'],_0x1e5e26[_0xf706('0x38')]);_0x50514c[_0xf706('0x3c')]=_[_0xf706('0x3a')](_0x1e5e26['model'],qs[_0xf706('0x3b')](_0x5311f7[_0xf706('0x38')]['fields']));_0x50514c['attributes']=_0x50514c[_0xf706('0x3c')][_0xf706('0x3d')]?_0x50514c['attributes']:_0x1e5e26[_0xf706('0x36')];if(_0x5311f7[_0xf706('0x38')][_0xf706('0x47')]){_0x50514c['include']=[{'all':!![]}];}_0x50514c=_['merge']({},_0x50514c,_0x5311f7['options']);return db[_0xf706('0x33')][_0xf706('0x4d')](_0x50514c)[_0xf706('0x2c')](handleEntityNotFound(_0x41b6db,null))['then'](respondWithResult(_0x41b6db,null))[_0xf706('0x4a')](handleError(_0x41b6db,null));};exports['create']=function(_0x31df80,_0x35b268){return db[_0xf706('0x33')][_0xf706('0x4e')](_0x31df80[_0xf706('0x4f')],{})[_0xf706('0x2c')](function(_0x40790c){var _0x3e2f35=_0x31df80[_0xf706('0x50')][_0xf706('0x51')]({'plain':!![]});if(!_0x3e2f35)throw new Error(_0xf706('0x52'));if(_0x3e2f35[_0xf706('0x53')]==='user'){var _0x59c0ef=_0x40790c[_0xf706('0x51')]({'plain':!![]});var _0x307d8b=_0xf706('0x2d');return db[_0xf706('0x54')][_0xf706('0x4d')]({'where':{'name':_0x307d8b,'userProfileId':_0x3e2f35[_0xf706('0x55')]},'raw':!![]})['then'](function(_0x59d345){if(_0x59d345&&_0x59d345[_0xf706('0x56')]===0x0){return db[_0xf706('0x2e')][_0xf706('0x4e')]({'name':_0x59c0ef['name'],'resourceId':_0x59c0ef['id'],'type':_0x59d345[_0xf706('0x30')],'sectionId':_0x59d345['id']},{})['then'](function(){return _0x40790c;});}else{return _0x40790c;}})[_0xf706('0x4a')](function(_0x287cd1){logger[_0xf706('0x57')](_0xf706('0x58'),_0x287cd1);throw _0x287cd1;});}return _0x40790c;})[_0xf706('0x2c')](respondWithResult(_0x35b268,0xc9))[_0xf706('0x4a')](handleError(_0x35b268,null));};exports[_0xf706('0x2a')]=function(_0xf4fbd6,_0x358e9a){if(_0xf4fbd6['body']['id']){delete _0xf4fbd6[_0xf706('0x4f')]['id'];}return db[_0xf706('0x33')][_0xf706('0x4d')]({'where':{'id':_0xf4fbd6[_0xf706('0x4c')]['id']}})[_0xf706('0x2c')](handleEntityNotFound(_0x358e9a,null))[_0xf706('0x2c')](saveUpdates(_0xf4fbd6[_0xf706('0x4f')],null))['then'](respondWithResult(_0x358e9a,null))[_0xf706('0x4a')](handleError(_0x358e9a,null));};exports[_0xf706('0x2b')]=function(_0x1b7f69,_0x1d9a3d){return db['OpenchannelQueue']['find']({'where':{'id':_0x1b7f69[_0xf706('0x4c')]['id']}})[_0xf706('0x2c')](handleEntityNotFound(_0x1d9a3d,null))[_0xf706('0x2c')](removeEntity(_0x1d9a3d,null))['catch'](handleError(_0x1d9a3d,null));};exports['describe']=function(_0x3e325d,_0x522bfe){return db[_0xf706('0x33')][_0xf706('0x59')]()[_0xf706('0x2c')](respondWithResult(_0x522bfe,null))[_0xf706('0x4a')](handleError(_0x522bfe,null));};exports['getMembers']=function(_0x57743b,_0x50f0db,_0x430c97){var _0x4d30d9={'raw':!![],'where':{}},_0x5532fc={},_0x4c14fa;return db[_0xf706('0x33')][_0xf706('0x5a')]({'where':{'id':_0x57743b[_0xf706('0x4c')]['id']}})[_0xf706('0x2c')](handleEntityNotFound(_0x50f0db,null))['then'](function(_0x517f02){if(_0x517f02){_0x4c14fa=_0x517f02[_0xf706('0x51')]({'plain':!![]});_0x5532fc[_0xf706('0x36')]=_[_0xf706('0x37')](db[_0xf706('0x5b')][_0xf706('0x34')]);_0x5532fc['query']=_[_0xf706('0x37')](_0x57743b[_0xf706('0x38')]);_0x5532fc[_0xf706('0x39')]=_[_0xf706('0x3a')](_0x5532fc[_0xf706('0x36')],_0x5532fc['query']);_0x4d30d9['attributes']=_[_0xf706('0x3a')](_0x5532fc[_0xf706('0x36')],qs[_0xf706('0x3b')](_0x57743b['query']['fields']));_0x4d30d9[_0xf706('0x3c')]=_0x4d30d9[_0xf706('0x3c')]['length']?_0x4d30d9['attributes']:_0x5532fc['model'];if(!_0x57743b[_0xf706('0x38')]['hasOwnProperty'](_0xf706('0x3e'))){_0x4d30d9['limit']=qs[_0xf706('0x23')](_0x57743b[_0xf706('0x38')][_0xf706('0x23')]);_0x4d30d9[_0xf706('0x21')]=qs[_0xf706('0x21')](_0x57743b[_0xf706('0x38')][_0xf706('0x21')]);}_0x4d30d9[_0xf706('0x3f')]=qs[_0xf706('0x40')](_0x57743b[_0xf706('0x38')][_0xf706('0x40')]);_0x4d30d9[_0xf706('0x41')]=qs[_0xf706('0x39')](_[_0xf706('0x42')](_0x57743b[_0xf706('0x38')],_0x5532fc[_0xf706('0x39')]));_0x4d30d9[_0xf706('0x41')][_0xf706('0x5c')]=_0x517f02['id'];if(_0x57743b[_0xf706('0x38')][_0xf706('0x43')]){_0x4d30d9['where']=_[_0xf706('0x45')](_0x4d30d9[_0xf706('0x41')],{'$or':_[_0xf706('0x32')](_0x4d30d9[_0xf706('0x3c')],function(_0xc368ec){var _0x1308a5={};_0x1308a5[_0xc368ec]={'$like':'%'+_0x57743b['query']['filter']+'%'};return _0x1308a5;})});}_0x4d30d9=_[_0xf706('0x45')]({},_0x4d30d9,_0x57743b['options']);return db[_0xf706('0x5b')]['findAll'](_0x4d30d9);}})[_0xf706('0x2c')](function(_0x4d4155){if(_0x4d4155){return db[_0xf706('0x5d')][_0xf706('0x5e')]({'where':{'id':_[_0xf706('0x32')](_0x4d4155,_0xf706('0x5f')),'role':_0xf706('0x60')},'attributes':['id',_0xf706('0x30'),'openchannelPause','updatedAt',_0xf706('0x61')]});}})['then'](function(_0x10c7b4){if(_0x10c7b4){return{'count':_0x10c7b4[_0xf706('0x24')],'rows':_[_0xf706('0x32')](_0x10c7b4[_0xf706('0x49')],function(_0x45f1e7){return{'membername':_0x45f1e7[_0xf706('0x30')],'UserId':_0x45f1e7['id'],'queue_name':_0x4c14fa['name'],'OpenchannelQueueId':_0x4c14fa['id'],'interface':util[_0xf706('0x62')](_0xf706('0x63'),_0xf706('0x64'),_0x45f1e7[_0xf706('0x30')]),'penalty':0x0,'paused':_0x45f1e7['openchannelPause'],'createdAt':_0x45f1e7[_0xf706('0x61')],'updatedAt':_0x45f1e7[_0xf706('0x65')]};})};}else{return{'count':0x0,'rows':[]};}})[_0xf706('0x2c')](respondWithFilteredResult(_0x50f0db,_0x4d30d9))[_0xf706('0x4a')](handleError(_0x50f0db,null));};exports[_0xf706('0x66')]=function(_0x26224f,_0x29547e,_0x1f8ea0){var _0x4b6581={};var _0x357793={};var _0xfda2c4;var _0x49cc6a;return db['OpenchannelQueue'][_0xf706('0x5a')]({'where':{'id':_0x26224f[_0xf706('0x4c')]['id']}})[_0xf706('0x2c')](handleEntityNotFound(_0x29547e,null))[_0xf706('0x2c')](function(_0x32a372){if(_0x32a372){_0xfda2c4=_0x32a372;_0x357793[_0xf706('0x36')]=_[_0xf706('0x37')](db[_0xf706('0x67')]['rawAttributes']);_0x357793[_0xf706('0x38')]=_[_0xf706('0x37')](_0x26224f['query']);_0x357793[_0xf706('0x39')]=_[_0xf706('0x3a')](_0x357793[_0xf706('0x36')],_0x357793[_0xf706('0x38')]);_0x4b6581[_0xf706('0x3c')]=_['intersection'](_0x357793['model'],qs[_0xf706('0x3b')](_0x26224f[_0xf706('0x38')]['fields']));_0x4b6581['attributes']=_0x4b6581['attributes'][_0xf706('0x3d')]?_0x4b6581[_0xf706('0x3c')]:_0x357793[_0xf706('0x36')];_0x4b6581[_0xf706('0x3f')]=qs[_0xf706('0x40')](_0x26224f['query']['sort']);_0x4b6581[_0xf706('0x41')]=qs[_0xf706('0x39')](_[_0xf706('0x42')](_0x26224f['query'],_0x357793[_0xf706('0x39')]));if(_0x26224f['query'][_0xf706('0x43')]){_0x4b6581[_0xf706('0x41')]=_[_0xf706('0x45')](_0x4b6581[_0xf706('0x41')],{'$or':_['map'](_0x4b6581['attributes'],function(_0x384a9f){var _0x3c2d65={};_0x3c2d65[_0x384a9f]={'$like':'%'+_0x26224f[_0xf706('0x38')]['filter']+'%'};return _0x3c2d65;})});}_0x4b6581=_['merge']({},_0x4b6581,_0x26224f[_0xf706('0x46')]);return _0xfda2c4['getTeams'](_0x4b6581);}})[_0xf706('0x2c')](function(_0x12f503){if(_0x12f503){_0x49cc6a=_0x12f503[_0xf706('0x3d')];if(!_0x26224f[_0xf706('0x38')][_0xf706('0x68')]('nolimit')){_0x4b6581[_0xf706('0x23')]=qs[_0xf706('0x23')](_0x26224f[_0xf706('0x38')][_0xf706('0x23')]);_0x4b6581[_0xf706('0x21')]=qs['offset'](_0x26224f[_0xf706('0x38')]['offset']);}return _0xfda2c4[_0xf706('0x66')](_0x4b6581);}})[_0xf706('0x2c')](function(_0x36ff9f){if(_0x36ff9f){return _0x36ff9f?{'count':_0x49cc6a,'rows':_0x36ff9f}:null;}})[_0xf706('0x2c')](respondWithResult(_0x29547e,null))[_0xf706('0x4a')](handleError(_0x29547e,null));};exports[_0xf706('0x69')]=function(_0x5c6c30,_0x57ad27,_0x503853){var _0xb66ba5=_0x5c6c30['body'][_0xf706('0x6a')];return db[_0xf706('0x67')][_0xf706('0x6b')]({'where':{'id':_0xb66ba5},'attributes':['id'],'include':[{'model':db[_0xf706('0x5d')],'as':_0xf706('0x6c'),'attributes':['id',_0xf706('0x30'),_0xf706('0x6d'),_0xf706('0x6e'),_0xf706('0x6f')],'raw':!![]}]})['then'](function(_0x1704d1){if(_0x1704d1){var _0x22acec=_[_0xf706('0x70')](_0x1704d1,function(_0x1d2d62){var _0x1098dc=_0x1d2d62[_0xf706('0x51')]({'plain':!![]});return _0x1098dc[_0xf706('0x6c')];});return db[_0xf706('0x33')]['find']({'where':{'id':_0x5c6c30[_0xf706('0x4c')]['id']}})[_0xf706('0x2c')](function(_0x268ba3){return db[_0xf706('0x71')]['transaction'](function(_0x47e5de){return _0x268ba3[_0xf706('0x69')](_0xb66ba5,{'transaction':_0x47e5de})[_0xf706('0x2c')](function(){return BPromise['each'](_0x22acec,function(_0x454e7d){return db[_0xf706('0x5b')][_0xf706('0x72')]({'where':{'UserId':_0x454e7d['id'],'OpenchannelQueueId':_0x5c6c30[_0xf706('0x4c')]['id']},'transaction':_0x47e5de});});})[_0xf706('0x2c')](function(){_0x22acec[_0xf706('0x73')](function(_0x1c2830){socket[_0xf706('0x74')](_0xf706('0x75'),{'UserId':_0x1c2830['id'],'OpenchannelQueueId':_0x268ba3['id']});});});});});}})[_0xf706('0x2c')](respondWithStatusCode(_0x57ad27,null))[_0xf706('0x4a')](handleError(_0x57ad27,null));};exports[_0xf706('0x76')]=function(_0x2b358f,_0x12bbfa,_0x8be9f0){return db[_0xf706('0x67')][_0xf706('0x6b')]({'where':{'id':_0x2b358f[_0xf706('0x38')][_0xf706('0x6a')]},'attributes':['id'],'include':[{'model':db[_0xf706('0x5d')],'as':_0xf706('0x6c'),'attributes':['id'],'raw':!![]}]})[_0xf706('0x2c')](handleEntityNotFound(_0x12bbfa,null))[_0xf706('0x2c')](function(_0x4a2194){var _0x41d52c=_[_0xf706('0x32')](_0x4a2194,'id');var _0x1dde17=[];var _0x300d25=[];var _0xa6a2ea=squel[_0xf706('0x77')]();_0xa6a2ea[_0xf706('0x78')](_0xf706('0x79'))[_0xf706('0x7a')](_0xf706('0x7b'),'tq')[_0xf706('0x7c')](_0xf706('0x7d'),'ut',_0xf706('0x7e'))[_0xf706('0x41')](_0xf706('0x7f'),_0x2b358f[_0xf706('0x4c')]['id']);for(var _0x34aa5c=0x0;_0x34aa5c<_0x4a2194['length'];_0x34aa5c+=0x1){let _0x5ad3f6=_0x4a2194[_0x34aa5c];for(var _0x5058ca=0x0;_0x5058ca<_0x5ad3f6[_0xf706('0x6c')][_0xf706('0x3d')];_0x5058ca+=0x1){let _0x5aa8f7=_0x5ad3f6[_0xf706('0x6c')][_0x5058ca];var _0x20fd10=_0xa6a2ea[_0xf706('0x80')]();_0x20fd10[_0xf706('0x41')](_0xf706('0x81'),_0x5aa8f7['id']);_0x300d25[_0xf706('0x82')](db[_0xf706('0x71')]['query'](_0x20fd10[_0xf706('0x83')](),{'type':db[_0xf706('0x71')][_0xf706('0x84')][_0xf706('0x85')]})[_0xf706('0x2c')](function(_0x42c29a){if(_0x42c29a[_0xf706('0x3d')]===0x1){return _0x5aa8f7['id'];}else{var _0x2a3bfc=_['every'](_['map'](_0x42c29a,_0xf706('0x86')),function(_0x38202e){return _[_0xf706('0x87')](_0x41d52c,_0x38202e);});if(_0x2a3bfc){return _0x5aa8f7['id'];}}}));}}return BPromise[_0xf706('0x88')](_0x300d25)[_0xf706('0x2c')](function(_0x5ac55c){_0x1dde17=_(_0x1dde17)[_0xf706('0x89')](_0x5ac55c)[_0xf706('0x8a')]()[_0xf706('0x8b')]();return db[_0xf706('0x33')][_0xf706('0x4d')]({'where':{'id':_0x2b358f['params']['id']}})[_0xf706('0x2c')](function(_0x4dad3a){return db[_0xf706('0x71')][_0xf706('0x8c')](function(_0x521642){return _0x4dad3a[_0xf706('0x76')](_0x2b358f[_0xf706('0x38')][_0xf706('0x6a')],{'transaction':_0x521642})['then'](function(){if(!_[_0xf706('0x8d')](_0x1dde17)){return _0x4dad3a[_0xf706('0x8e')](_0x1dde17,{'transaction':_0x521642});}})['then'](function(){_0x1dde17[_0xf706('0x73')](function(_0x555d71){socket[_0xf706('0x74')](_0xf706('0x8f'),{'UserId':_0x555d71,'OpenchannelQueueId':_0x4dad3a['id']});});});});});});})[_0xf706('0x2c')](respondWithStatusCode(_0x12bbfa,null))[_0xf706('0x4a')](handleError(_0x12bbfa,null));};exports['addAgents']=function(_0x34903c,_0x1c2d39,_0x449bb8){return db['OpenchannelQueue'][_0xf706('0x4d')]({'where':{'id':_0x34903c[_0xf706('0x4c')]['id']}})[_0xf706('0x2c')](handleEntityNotFound(_0x1c2d39,null))['then'](function(_0x50f68a){if(_0x50f68a){return _0x50f68a['addAgents'](_0x34903c['body'][_0xf706('0x6a')],_[_0xf706('0x90')](_0x34903c[_0xf706('0x4f')],[_0xf706('0x6a'),'id'])||{})[_0xf706('0x91')](function(_0x4fe788){for(var _0x20c8a4=0x0;_0x20c8a4<_0x34903c['body'][_0xf706('0x6a')]['length'];_0x20c8a4+=0x1){socket[_0xf706('0x74')](_0xf706('0x75'),{'UserId':Number(_0x34903c[_0xf706('0x4f')][_0xf706('0x6a')][_0x20c8a4]),'OpenchannelQueueId':Number(_0x34903c[_0xf706('0x4c')]['id'])});}return _0x4fe788;});}})[_0xf706('0x2c')](respondWithResult(_0x1c2d39,null))[_0xf706('0x4a')](handleError(_0x1c2d39,null));};exports[_0xf706('0x8e')]=function(_0x15137a,_0x43c989,_0x45d031){return db[_0xf706('0x33')][_0xf706('0x4d')]({'where':{'id':_0x15137a['params']['id']}})[_0xf706('0x2c')](handleEntityNotFound(_0x43c989,null))[_0xf706('0x2c')](function(_0xc9e385){if(_0xc9e385){return _0xc9e385[_0xf706('0x8e')](_0x15137a[_0xf706('0x38')][_0xf706('0x6a')])[_0xf706('0x2c')](function(){if(_[_0xf706('0x92')](_0x15137a[_0xf706('0x38')][_0xf706('0x6a')])){for(var _0x220ca7=0x0;_0x220ca7<_0x15137a[_0xf706('0x38')][_0xf706('0x6a')][_0xf706('0x3d')];_0x220ca7+=0x1){socket[_0xf706('0x74')](_0xf706('0x8f'),{'UserId':Number(_0x15137a[_0xf706('0x38')][_0xf706('0x6a')][_0x220ca7]),'OpenchannelQueueId':Number(_0x15137a[_0xf706('0x4c')]['id'])});}}else{socket[_0xf706('0x74')](_0xf706('0x8f'),{'UserId':Number(_0x15137a['query'][_0xf706('0x6a')]),'OpenchannelQueueId':Number(_0x15137a[_0xf706('0x4c')]['id'])});}});}})[_0xf706('0x2c')](respondWithStatusCode(_0x43c989,null))[_0xf706('0x4a')](handleError(_0x43c989,null));};exports[_0xf706('0x93')]=function(_0x496a06,_0x56aca3,_0x50708f){var _0x554286={};var _0x3360f1={};var _0x59ff40;var _0x58e1b3;return db[_0xf706('0x33')]['findOne']({'where':{'id':_0x496a06[_0xf706('0x4c')]['id']}})['then'](handleEntityNotFound(_0x56aca3,null))[_0xf706('0x2c')](function(_0x3cf6d6){if(_0x3cf6d6){_0x59ff40=_0x3cf6d6;_0x3360f1['model']=_['keys'](db[_0xf706('0x5d')][_0xf706('0x34')]);_0x3360f1[_0xf706('0x38')]=_['keys'](_0x496a06['query']);_0x3360f1[_0xf706('0x39')]=_[_0xf706('0x3a')](_0x3360f1[_0xf706('0x36')],_0x3360f1['query']);_0x554286[_0xf706('0x3c')]=_[_0xf706('0x3a')](_0x3360f1[_0xf706('0x36')],qs[_0xf706('0x3b')](_0x496a06[_0xf706('0x38')]['fields']));_0x554286['attributes']=_0x554286[_0xf706('0x3c')][_0xf706('0x3d')]?_0x554286[_0xf706('0x3c')]:_0x3360f1[_0xf706('0x36')];_0x554286['order']=qs[_0xf706('0x40')](_0x496a06['query']['sort']);_0x554286['where']=qs[_0xf706('0x39')](_[_0xf706('0x42')](_0x496a06[_0xf706('0x38')],_0x3360f1[_0xf706('0x39')]));if(_0x496a06['query'][_0xf706('0x43')]){_0x554286[_0xf706('0x41')]=_[_0xf706('0x45')](_0x554286[_0xf706('0x41')],{'$or':_[_0xf706('0x32')](_0x554286['attributes'],function(_0xc24ca2){var _0x53b502={};_0x53b502[_0xc24ca2]={'$like':'%'+_0x496a06[_0xf706('0x38')][_0xf706('0x43')]+'%'};return _0x53b502;})});}_0x554286=_[_0xf706('0x45')]({},_0x554286,_0x496a06[_0xf706('0x46')]);return _0x59ff40[_0xf706('0x93')](_0x554286);}})['then'](function(_0x40ac5e){if(_0x40ac5e){_0x58e1b3=_0x40ac5e['length'];if(!_0x496a06[_0xf706('0x38')]['hasOwnProperty'](_0xf706('0x3e'))){_0x554286[_0xf706('0x23')]=qs[_0xf706('0x23')](_0x496a06['query'][_0xf706('0x23')]);_0x554286[_0xf706('0x21')]=qs['offset'](_0x496a06[_0xf706('0x38')]['offset']);}return _0x59ff40['getAgents'](_0x554286);}})[_0xf706('0x2c')](function(_0x54b3aa){if(_0x54b3aa){return _0x54b3aa?{'count':_0x58e1b3,'rows':_0x54b3aa}:null;}})['then'](respondWithResult(_0x56aca3,null))[_0xf706('0x4a')](handleError(_0x56aca3,null));};