Built motion from commit e02f907f.|2.6.14
[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 _0xae70=['fields','length','model','hasOwnProperty','nolimit','sort','where','filter','merge','options','OpenchannelQueue','includeAll','include','findAll','rows','catch','params','rawAttributes','find','create','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','UserProfileSection','autoAssociation','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','body','describe','getMembers','findOne','UserOpenchannelQueue','order','User','agent','openchannelPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','ids','Agents','voicePause','interface','flatMap','sequelize','transaction','addTeams','each','forEach','emit','removeTeams','Team','field','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','ut.UserId\x20=\x20?','push','QueryTypes','SELECT','every','all','compact','value','isEmpty','removeAgents','userOpenchannelQueue:remove','addAgents','omit','spread','userOpenchannelQueue:save','isArray','getAgents','pick','eml-format','zip-dir','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce','querystring','papaparse','../../components/auth/service','../../components/parsers/qs','../../config/license/hardware','../../config/logger','api','../../config/utils','../../config/license/util','redis','localhost','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','status','end','json','offset','limit','undefined','count','set','Content-Range','apply','reject','save','update','then','destroy','get','OpenchannelQueues','UserProfileResource','error','stack','name','send','map','fieldName','key','query','keys','filters','intersection','attributes'];(function(_0x2fc2e7,_0x208720){var _0x42d924=function(_0x1e4e7d){while(--_0x1e4e7d){_0x2fc2e7['push'](_0x2fc2e7['shift']());}};_0x42d924(++_0x208720);}(_0xae70,0xd5));var _0x0ae7=function(_0xdaa034,_0x3c846b){_0xdaa034=_0xdaa034-0x0;var _0x24de7e=_0xae70[_0xdaa034];return _0x24de7e;};'use strict';var emlformat=require(_0x0ae7('0x0'));var rimraf=require('rimraf');var zipdir=require(_0x0ae7('0x1'));var jsonpatch=require('fast-json-patch');var rp=require(_0x0ae7('0x2'));var moment=require(_0x0ae7('0x3'));var BPromise=require(_0x0ae7('0x4'));var Mustache=require(_0x0ae7('0x5'));var util=require(_0x0ae7('0x6'));var path=require(_0x0ae7('0x7'));var sox=require(_0x0ae7('0x8'));var csv=require(_0x0ae7('0x9'));var ejs=require(_0x0ae7('0xa'));var fs=require('fs');var fs_extra=require(_0x0ae7('0xb'));var _=require(_0x0ae7('0xc'));var squel=require(_0x0ae7('0xd'));var crypto=require(_0x0ae7('0xe'));var jsforce=require(_0x0ae7('0xf'));var deskjs=require('desk.js');var toCsv=require(_0x0ae7('0x9'));var querystring=require(_0x0ae7('0x10'));var Papa=require(_0x0ae7('0x11'));var Redis=require('ioredis');var authService=require(_0x0ae7('0x12'));var qs=require(_0x0ae7('0x13'));var as=require('../../components/parsers/advancedSearch');var hardwareService=require(_0x0ae7('0x14'));var logger=require(_0x0ae7('0x15'))(_0x0ae7('0x16'));var utils=require(_0x0ae7('0x17'));var config=require('../../config/environment');var licenseUtil=require(_0x0ae7('0x18'));var db=require('../../mysqldb')['db'];config[_0x0ae7('0x19')]=_['defaults'](config[_0x0ae7('0x19')],{'host':_0x0ae7('0x1a'),'port':0x18eb});var socket=require(_0x0ae7('0x1b'))(new Redis(config[_0x0ae7('0x19')]));require(_0x0ae7('0x1c'))[_0x0ae7('0x1d')](socket);function respondWithStatusCode(_0x47c3d1,_0x43426b){_0x43426b=_0x43426b||0xcc;return function(_0x324820){if(_0x324820){return _0x47c3d1[_0x0ae7('0x1e')](_0x43426b);}return _0x47c3d1[_0x0ae7('0x1f')](_0x43426b)[_0x0ae7('0x20')]();};}function respondWithResult(_0x4fb683,_0x73c621){_0x73c621=_0x73c621||0xc8;return function(_0x5d10cb){if(_0x5d10cb){return _0x4fb683['status'](_0x73c621)[_0x0ae7('0x21')](_0x5d10cb);}};}function respondWithFilteredResult(_0x12bf66,_0xaee56c){return function(_0x3649fc){if(_0x3649fc){var _0x449041=typeof _0xaee56c[_0x0ae7('0x22')]==='undefined'&&typeof _0xaee56c[_0x0ae7('0x23')]===_0x0ae7('0x24');var _0x20b89d=_0x3649fc['count'];var _0x8c6ac=_0x449041?0x0:_0xaee56c['offset'];var _0x2bb556=_0x449041?_0x3649fc[_0x0ae7('0x25')]:_0xaee56c[_0x0ae7('0x22')]+_0xaee56c[_0x0ae7('0x23')];var _0x4a9d30;if(_0x2bb556>=_0x20b89d){_0x2bb556=_0x20b89d;_0x4a9d30=0xc8;}else{_0x4a9d30=0xce;}_0x12bf66[_0x0ae7('0x1f')](_0x4a9d30);return _0x12bf66[_0x0ae7('0x26')](_0x0ae7('0x27'),_0x8c6ac+'-'+_0x2bb556+'/'+_0x20b89d)[_0x0ae7('0x21')](_0x3649fc);}return null;};}function patchUpdates(_0x51a06c){return function(_0x43240d){try{jsonpatch[_0x0ae7('0x28')](_0x43240d,_0x51a06c,!![]);}catch(_0x28aa30){return BPromise[_0x0ae7('0x29')](_0x28aa30);}return _0x43240d[_0x0ae7('0x2a')]();};}function saveUpdates(_0x4391aa,_0x369ce8){return function(_0x477d1a){if(_0x477d1a){return _0x477d1a[_0x0ae7('0x2b')](_0x4391aa)[_0x0ae7('0x2c')](function(_0x1ea8be){return _0x1ea8be;});}return null;};}function removeEntity(_0x19082e,_0x2ae688){return function(_0x47fa61){if(_0x47fa61){return _0x47fa61[_0x0ae7('0x2d')]()[_0x0ae7('0x2c')](function(){var _0x16665e=_0x47fa61[_0x0ae7('0x2e')]({'plain':!![]});var _0x6632ad=_0x0ae7('0x2f');return db[_0x0ae7('0x30')][_0x0ae7('0x2d')]({'where':{'type':_0x6632ad,'resourceId':_0x16665e['id']}})[_0x0ae7('0x2c')](function(){return _0x47fa61;});})[_0x0ae7('0x2c')](function(){_0x19082e[_0x0ae7('0x1f')](0xcc)[_0x0ae7('0x20')]();});}};}function handleEntityNotFound(_0x42e0ed,_0x52e434){return function(_0x4ee61b){if(!_0x4ee61b){_0x42e0ed[_0x0ae7('0x1e')](0x194);}return _0x4ee61b;};}function handleError(_0x2d20d8,_0x5b9382){_0x5b9382=_0x5b9382||0x1f4;return function(_0x15725a){logger[_0x0ae7('0x31')](_0x15725a[_0x0ae7('0x32')]);if(_0x15725a[_0x0ae7('0x33')]){delete _0x15725a['name'];}_0x2d20d8[_0x0ae7('0x1f')](_0x5b9382)[_0x0ae7('0x34')](_0x15725a);};}exports['index']=function(_0xbdb4d7,_0x46855f){var _0x57141f={},_0xa343b5={},_0x4e2d0b={'count':0x0,'rows':[]};var _0xc6238d=_[_0x0ae7('0x35')](db['OpenchannelQueue']['rawAttributes'],function(_0x2bc60a){return{'name':_0x2bc60a[_0x0ae7('0x36')],'type':_0x2bc60a['type'][_0x0ae7('0x37')]};});_0xa343b5['model']=_[_0x0ae7('0x35')](_0xc6238d,_0x0ae7('0x33'));_0xa343b5[_0x0ae7('0x38')]=_[_0x0ae7('0x39')](_0xbdb4d7[_0x0ae7('0x38')]);_0xa343b5[_0x0ae7('0x3a')]=_[_0x0ae7('0x3b')](_0xa343b5['model'],_0xa343b5[_0x0ae7('0x38')]);_0x57141f[_0x0ae7('0x3c')]=_[_0x0ae7('0x3b')](_0xa343b5['model'],qs[_0x0ae7('0x3d')](_0xbdb4d7[_0x0ae7('0x38')][_0x0ae7('0x3d')]));_0x57141f[_0x0ae7('0x3c')]=_0x57141f[_0x0ae7('0x3c')][_0x0ae7('0x3e')]?_0x57141f['attributes']:_0xa343b5[_0x0ae7('0x3f')];if(!_0xbdb4d7[_0x0ae7('0x38')][_0x0ae7('0x40')](_0x0ae7('0x41'))){_0x57141f[_0x0ae7('0x23')]=qs['limit'](_0xbdb4d7['query'][_0x0ae7('0x23')]);_0x57141f[_0x0ae7('0x22')]=qs[_0x0ae7('0x22')](_0xbdb4d7[_0x0ae7('0x38')][_0x0ae7('0x22')]);}_0x57141f['order']=qs[_0x0ae7('0x42')](_0xbdb4d7[_0x0ae7('0x38')]['sort']);_0x57141f[_0x0ae7('0x43')]=qs[_0x0ae7('0x3a')](_['pick'](_0xbdb4d7[_0x0ae7('0x38')],_0xa343b5[_0x0ae7('0x3a')]),_0xc6238d);if(_0xbdb4d7[_0x0ae7('0x38')][_0x0ae7('0x44')]){_0x57141f['where']=_['merge'](_0x57141f[_0x0ae7('0x43')],{'$or':_[_0x0ae7('0x35')](_0xc6238d,function(_0x4ee396){if(_0x4ee396['type']!=='VIRTUAL'){var _0x257d58={};_0x257d58[_0x4ee396[_0x0ae7('0x33')]]={'$like':'%'+_0xbdb4d7[_0x0ae7('0x38')]['filter']+'%'};return _0x257d58;}})});}_0x57141f=_[_0x0ae7('0x45')]({},_0x57141f,_0xbdb4d7[_0x0ae7('0x46')]);var _0x55354a={'where':_0x57141f['where']};return db[_0x0ae7('0x47')][_0x0ae7('0x25')](_0x55354a)['then'](function(_0x18a33a){_0x4e2d0b[_0x0ae7('0x25')]=_0x18a33a;if(_0xbdb4d7[_0x0ae7('0x38')][_0x0ae7('0x48')]){_0x57141f[_0x0ae7('0x49')]=[{'all':!![]}];}return db[_0x0ae7('0x47')][_0x0ae7('0x4a')](_0x57141f);})['then'](function(_0x3929d8){_0x4e2d0b[_0x0ae7('0x4b')]=_0x3929d8;return _0x4e2d0b;})[_0x0ae7('0x2c')](respondWithFilteredResult(_0x46855f,_0x57141f))[_0x0ae7('0x4c')](handleError(_0x46855f,null));};exports['show']=function(_0x1d6f50,_0x3f8ae0){var _0x2f3e81={'raw':!![],'where':{'id':_0x1d6f50[_0x0ae7('0x4d')]['id']}},_0x1339d4={};_0x1339d4[_0x0ae7('0x3f')]=_[_0x0ae7('0x39')](db[_0x0ae7('0x47')][_0x0ae7('0x4e')]);_0x1339d4[_0x0ae7('0x38')]=_['keys'](_0x1d6f50[_0x0ae7('0x38')]);_0x1339d4['filters']=_['intersection'](_0x1339d4['model'],_0x1339d4['query']);_0x2f3e81['attributes']=_['intersection'](_0x1339d4[_0x0ae7('0x3f')],qs[_0x0ae7('0x3d')](_0x1d6f50[_0x0ae7('0x38')][_0x0ae7('0x3d')]));_0x2f3e81[_0x0ae7('0x3c')]=_0x2f3e81[_0x0ae7('0x3c')][_0x0ae7('0x3e')]?_0x2f3e81[_0x0ae7('0x3c')]:_0x1339d4[_0x0ae7('0x3f')];if(_0x1d6f50[_0x0ae7('0x38')][_0x0ae7('0x48')]){_0x2f3e81[_0x0ae7('0x49')]=[{'all':!![]}];}_0x2f3e81=_[_0x0ae7('0x45')]({},_0x2f3e81,_0x1d6f50[_0x0ae7('0x46')]);return db[_0x0ae7('0x47')][_0x0ae7('0x4f')](_0x2f3e81)['then'](handleEntityNotFound(_0x3f8ae0,null))[_0x0ae7('0x2c')](respondWithResult(_0x3f8ae0,null))[_0x0ae7('0x4c')](handleError(_0x3f8ae0,null));};exports['create']=function(_0x50833d,_0x225037){return db[_0x0ae7('0x47')][_0x0ae7('0x50')](_0x50833d['body'],{})[_0x0ae7('0x2c')](function(_0x2f194a){var _0x60d34c=_0x50833d[_0x0ae7('0x51')]['get']({'plain':!![]});if(!_0x60d34c)throw new Error(_0x0ae7('0x52'));if(_0x60d34c['role']===_0x0ae7('0x51')){var _0x29729a=_0x2f194a[_0x0ae7('0x2e')]({'plain':!![]});var _0x13ed22='OpenchannelQueues';return db[_0x0ae7('0x53')][_0x0ae7('0x4f')]({'where':{'name':_0x13ed22,'userProfileId':_0x60d34c['userProfileId']},'raw':!![]})[_0x0ae7('0x2c')](function(_0x3736c2){if(_0x3736c2&&_0x3736c2[_0x0ae7('0x54')]===0x0){return db['UserProfileResource'][_0x0ae7('0x50')]({'name':_0x29729a[_0x0ae7('0x33')],'resourceId':_0x29729a['id'],'type':_0x3736c2[_0x0ae7('0x33')],'sectionId':_0x3736c2['id']},{})['then'](function(){return _0x2f194a;});}else{return _0x2f194a;}})[_0x0ae7('0x4c')](function(_0xac16ca){logger[_0x0ae7('0x31')](_0x0ae7('0x55'),_0xac16ca);throw _0xac16ca;});}return _0x2f194a;})[_0x0ae7('0x2c')](respondWithResult(_0x225037,0xc9))[_0x0ae7('0x4c')](handleError(_0x225037,null));};exports[_0x0ae7('0x2b')]=function(_0x4938eb,_0x2e4e64){if(_0x4938eb['body']['id']){delete _0x4938eb['body']['id'];}return db[_0x0ae7('0x47')][_0x0ae7('0x4f')]({'where':{'id':_0x4938eb[_0x0ae7('0x4d')]['id']}})[_0x0ae7('0x2c')](handleEntityNotFound(_0x2e4e64,null))[_0x0ae7('0x2c')](saveUpdates(_0x4938eb[_0x0ae7('0x56')],null))['then'](respondWithResult(_0x2e4e64,null))['catch'](handleError(_0x2e4e64,null));};exports[_0x0ae7('0x2d')]=function(_0x35698c,_0x4c899c){return db[_0x0ae7('0x47')][_0x0ae7('0x4f')]({'where':{'id':_0x35698c[_0x0ae7('0x4d')]['id']}})[_0x0ae7('0x2c')](handleEntityNotFound(_0x4c899c,null))[_0x0ae7('0x2c')](removeEntity(_0x4c899c,null))['catch'](handleError(_0x4c899c,null));};exports[_0x0ae7('0x57')]=function(_0x2f7612,_0x3736a1){return db[_0x0ae7('0x47')]['describe']()[_0x0ae7('0x2c')](respondWithResult(_0x3736a1,null))[_0x0ae7('0x4c')](handleError(_0x3736a1,null));};exports[_0x0ae7('0x58')]=function(_0x4ff506,_0x4046a7,_0x451531){var _0xa4a9ad={'raw':!![],'where':{}},_0x27e7e0={},_0x1c73b0;return db[_0x0ae7('0x47')][_0x0ae7('0x59')]({'where':{'id':_0x4ff506[_0x0ae7('0x4d')]['id']}})['then'](handleEntityNotFound(_0x4046a7,null))[_0x0ae7('0x2c')](function(_0x29cbd7){if(_0x29cbd7){_0x1c73b0=_0x29cbd7[_0x0ae7('0x2e')]({'plain':!![]});_0x27e7e0['model']=_[_0x0ae7('0x39')](db[_0x0ae7('0x5a')][_0x0ae7('0x4e')]);_0x27e7e0[_0x0ae7('0x38')]=_['keys'](_0x4ff506[_0x0ae7('0x38')]);_0x27e7e0[_0x0ae7('0x3a')]=_[_0x0ae7('0x3b')](_0x27e7e0[_0x0ae7('0x3f')],_0x27e7e0['query']);_0xa4a9ad[_0x0ae7('0x3c')]=_[_0x0ae7('0x3b')](_0x27e7e0['model'],qs['fields'](_0x4ff506[_0x0ae7('0x38')]['fields']));_0xa4a9ad[_0x0ae7('0x3c')]=_0xa4a9ad[_0x0ae7('0x3c')][_0x0ae7('0x3e')]?_0xa4a9ad['attributes']:_0x27e7e0[_0x0ae7('0x3f')];if(!_0x4ff506['query'][_0x0ae7('0x40')](_0x0ae7('0x41'))){_0xa4a9ad[_0x0ae7('0x23')]=qs[_0x0ae7('0x23')](_0x4ff506[_0x0ae7('0x38')][_0x0ae7('0x23')]);_0xa4a9ad[_0x0ae7('0x22')]=qs[_0x0ae7('0x22')](_0x4ff506[_0x0ae7('0x38')]['offset']);}_0xa4a9ad[_0x0ae7('0x5b')]=qs[_0x0ae7('0x42')](_0x4ff506[_0x0ae7('0x38')][_0x0ae7('0x42')]);_0xa4a9ad[_0x0ae7('0x43')]=qs[_0x0ae7('0x3a')](_['pick'](_0x4ff506['query'],_0x27e7e0[_0x0ae7('0x3a')]));_0xa4a9ad[_0x0ae7('0x43')]['OpenchannelQueueId']=_0x29cbd7['id'];if(_0x4ff506[_0x0ae7('0x38')][_0x0ae7('0x44')]){_0xa4a9ad[_0x0ae7('0x43')]=_[_0x0ae7('0x45')](_0xa4a9ad['where'],{'$or':_[_0x0ae7('0x35')](_0xa4a9ad[_0x0ae7('0x3c')],function(_0x52f25c){var _0x450616={};_0x450616[_0x52f25c]={'$like':'%'+_0x4ff506[_0x0ae7('0x38')][_0x0ae7('0x44')]+'%'};return _0x450616;})});}_0xa4a9ad=_[_0x0ae7('0x45')]({},_0xa4a9ad,_0x4ff506['options']);return db[_0x0ae7('0x5a')][_0x0ae7('0x4a')](_0xa4a9ad);}})['then'](function(_0x4b0e03){if(_0x4b0e03){return db[_0x0ae7('0x5c')]['findAndCountAll']({'where':{'id':_[_0x0ae7('0x35')](_0x4b0e03,'UserId'),'role':_0x0ae7('0x5d')},'attributes':['id',_0x0ae7('0x33'),_0x0ae7('0x5e'),_0x0ae7('0x5f'),_0x0ae7('0x60')]});}})['then'](function(_0x3b247b){if(_0x3b247b){return{'count':_0x3b247b['count'],'rows':_[_0x0ae7('0x35')](_0x3b247b[_0x0ae7('0x4b')],function(_0x36da30){return{'membername':_0x36da30[_0x0ae7('0x33')],'UserId':_0x36da30['id'],'queue_name':_0x1c73b0[_0x0ae7('0x33')],'OpenchannelQueueId':_0x1c73b0['id'],'interface':util[_0x0ae7('0x61')](_0x0ae7('0x62'),_0x0ae7('0x63'),_0x36da30[_0x0ae7('0x33')]),'penalty':0x0,'paused':_0x36da30['openchannelPause'],'createdAt':_0x36da30['createdAt'],'updatedAt':_0x36da30['updatedAt']};})};}else{return{'count':0x0,'rows':[]};}})[_0x0ae7('0x2c')](respondWithFilteredResult(_0x4046a7,_0xa4a9ad))[_0x0ae7('0x4c')](handleError(_0x4046a7,null));};exports[_0x0ae7('0x64')]=function(_0x1a009e,_0x37e89e,_0x38d541){var _0x46bdde={};var _0x2b02e9={};var _0x31d90e;var _0x1fb0c4;return db[_0x0ae7('0x47')][_0x0ae7('0x59')]({'where':{'id':_0x1a009e[_0x0ae7('0x4d')]['id']}})[_0x0ae7('0x2c')](handleEntityNotFound(_0x37e89e,null))[_0x0ae7('0x2c')](function(_0x48d112){if(_0x48d112){_0x31d90e=_0x48d112;_0x2b02e9['model']=_[_0x0ae7('0x39')](db['Team'][_0x0ae7('0x4e')]);_0x2b02e9['query']=_[_0x0ae7('0x39')](_0x1a009e[_0x0ae7('0x38')]);_0x2b02e9[_0x0ae7('0x3a')]=_[_0x0ae7('0x3b')](_0x2b02e9[_0x0ae7('0x3f')],_0x2b02e9[_0x0ae7('0x38')]);_0x46bdde[_0x0ae7('0x3c')]=_[_0x0ae7('0x3b')](_0x2b02e9[_0x0ae7('0x3f')],qs[_0x0ae7('0x3d')](_0x1a009e[_0x0ae7('0x38')][_0x0ae7('0x3d')]));_0x46bdde[_0x0ae7('0x3c')]=_0x46bdde['attributes']['length']?_0x46bdde['attributes']:_0x2b02e9[_0x0ae7('0x3f')];_0x46bdde['order']=qs[_0x0ae7('0x42')](_0x1a009e['query'][_0x0ae7('0x42')]);_0x46bdde[_0x0ae7('0x43')]=qs[_0x0ae7('0x3a')](_['pick'](_0x1a009e[_0x0ae7('0x38')],_0x2b02e9['filters']));if(_0x1a009e[_0x0ae7('0x38')][_0x0ae7('0x44')]){_0x46bdde[_0x0ae7('0x43')]=_['merge'](_0x46bdde[_0x0ae7('0x43')],{'$or':_['map'](_0x46bdde['attributes'],function(_0x21962b){var _0x264130={};_0x264130[_0x21962b]={'$like':'%'+_0x1a009e[_0x0ae7('0x38')][_0x0ae7('0x44')]+'%'};return _0x264130;})});}_0x46bdde=_[_0x0ae7('0x45')]({},_0x46bdde,_0x1a009e[_0x0ae7('0x46')]);return _0x31d90e['getTeams'](_0x46bdde);}})[_0x0ae7('0x2c')](function(_0x593340){if(_0x593340){_0x1fb0c4=_0x593340[_0x0ae7('0x3e')];if(!_0x1a009e[_0x0ae7('0x38')][_0x0ae7('0x40')](_0x0ae7('0x41'))){_0x46bdde[_0x0ae7('0x23')]=qs[_0x0ae7('0x23')](_0x1a009e[_0x0ae7('0x38')][_0x0ae7('0x23')]);_0x46bdde['offset']=qs[_0x0ae7('0x22')](_0x1a009e[_0x0ae7('0x38')]['offset']);}return _0x31d90e[_0x0ae7('0x64')](_0x46bdde);}})[_0x0ae7('0x2c')](function(_0x50bfe7){if(_0x50bfe7){return _0x50bfe7?{'count':_0x1fb0c4,'rows':_0x50bfe7}:null;}})['then'](respondWithResult(_0x37e89e,null))['catch'](handleError(_0x37e89e,null));};exports['addTeams']=function(_0x9958e7,_0x5b0988,_0x5c82ca){var _0x11318e=_0x9958e7[_0x0ae7('0x56')][_0x0ae7('0x65')];return db['Team'][_0x0ae7('0x4a')]({'where':{'id':_0x11318e},'attributes':['id'],'include':[{'model':db[_0x0ae7('0x5c')],'as':_0x0ae7('0x66'),'attributes':['id','name','online',_0x0ae7('0x67'),_0x0ae7('0x68')],'raw':!![]}]})[_0x0ae7('0x2c')](function(_0x1eedda){if(_0x1eedda){var _0xdeb526=_[_0x0ae7('0x69')](_0x1eedda,function(_0x1e72b8){var _0x40b338=_0x1e72b8[_0x0ae7('0x2e')]({'plain':!![]});return _0x40b338[_0x0ae7('0x66')];});return db['OpenchannelQueue']['find']({'where':{'id':_0x9958e7['params']['id']}})[_0x0ae7('0x2c')](function(_0x36a97b){return db[_0x0ae7('0x6a')][_0x0ae7('0x6b')](function(_0x2d51a4){return _0x36a97b[_0x0ae7('0x6c')](_0x11318e,{'transaction':_0x2d51a4})[_0x0ae7('0x2c')](function(){return BPromise[_0x0ae7('0x6d')](_0xdeb526,function(_0x48a930){return db[_0x0ae7('0x5a')]['findOrCreate']({'where':{'UserId':_0x48a930['id'],'OpenchannelQueueId':_0x9958e7[_0x0ae7('0x4d')]['id']},'transaction':_0x2d51a4});});})[_0x0ae7('0x2c')](function(){_0xdeb526[_0x0ae7('0x6e')](function(_0x32e25c){socket[_0x0ae7('0x6f')]('userOpenchannelQueue:save',{'UserId':_0x32e25c['id'],'OpenchannelQueueId':_0x36a97b['id']});});});});});}})[_0x0ae7('0x2c')](respondWithStatusCode(_0x5b0988,null))[_0x0ae7('0x4c')](handleError(_0x5b0988,null));};exports[_0x0ae7('0x70')]=function(_0x1c6456,_0x537917,_0xbda386){return db[_0x0ae7('0x71')][_0x0ae7('0x4a')]({'where':{'id':_0x1c6456[_0x0ae7('0x38')][_0x0ae7('0x65')]},'attributes':['id'],'include':[{'model':db[_0x0ae7('0x5c')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x0ae7('0x2c')](handleEntityNotFound(_0x537917,null))['then'](function(_0x1b0876){var _0x501d60=_[_0x0ae7('0x35')](_0x1b0876,'id');var _0x3f9521=[];var _0x337a7a=[];var _0x1894b0=squel['select']();_0x1894b0[_0x0ae7('0x72')]('tq.TeamId')['from']('team_has_openchannel_queues','tq')[_0x0ae7('0x73')](_0x0ae7('0x74'),'ut',_0x0ae7('0x75'))['where'](_0x0ae7('0x76'),_0x1c6456[_0x0ae7('0x4d')]['id']);for(var _0x4cd2f5=0x0;_0x4cd2f5<_0x1b0876[_0x0ae7('0x3e')];_0x4cd2f5+=0x1){let _0x3131b1=_0x1b0876[_0x4cd2f5];for(var _0xece2b7=0x0;_0xece2b7<_0x3131b1[_0x0ae7('0x66')]['length'];_0xece2b7+=0x1){let _0x803075=_0x3131b1[_0x0ae7('0x66')][_0xece2b7];var _0xd4d203=_0x1894b0['clone']();_0xd4d203[_0x0ae7('0x43')](_0x0ae7('0x77'),_0x803075['id']);_0x337a7a[_0x0ae7('0x78')](db[_0x0ae7('0x6a')][_0x0ae7('0x38')](_0xd4d203['toString'](),{'type':db['sequelize'][_0x0ae7('0x79')][_0x0ae7('0x7a')]})[_0x0ae7('0x2c')](function(_0x1311cf){if(_0x1311cf['length']===0x1){return _0x803075['id'];}else{var _0x25b33f=_[_0x0ae7('0x7b')](_[_0x0ae7('0x35')](_0x1311cf,'TeamId'),function(_0x43b94e){return _['includes'](_0x501d60,_0x43b94e);});if(_0x25b33f){return _0x803075['id'];}}}));}}return BPromise[_0x0ae7('0x7c')](_0x337a7a)[_0x0ae7('0x2c')](function(_0x391b01){_0x3f9521=_(_0x3f9521)['union'](_0x391b01)[_0x0ae7('0x7d')]()[_0x0ae7('0x7e')]();return db[_0x0ae7('0x47')][_0x0ae7('0x4f')]({'where':{'id':_0x1c6456[_0x0ae7('0x4d')]['id']}})[_0x0ae7('0x2c')](function(_0x36e95d){return db[_0x0ae7('0x6a')]['transaction'](function(_0x109da3){return _0x36e95d[_0x0ae7('0x70')](_0x1c6456[_0x0ae7('0x38')][_0x0ae7('0x65')],{'transaction':_0x109da3})[_0x0ae7('0x2c')](function(){if(!_[_0x0ae7('0x7f')](_0x3f9521)){return _0x36e95d[_0x0ae7('0x80')](_0x3f9521,{'transaction':_0x109da3});}})[_0x0ae7('0x2c')](function(){_0x3f9521['forEach'](function(_0x1f9668){socket[_0x0ae7('0x6f')](_0x0ae7('0x81'),{'UserId':_0x1f9668,'OpenchannelQueueId':_0x36e95d['id']});});});});});});})[_0x0ae7('0x2c')](respondWithStatusCode(_0x537917,null))[_0x0ae7('0x4c')](handleError(_0x537917,null));};exports[_0x0ae7('0x82')]=function(_0x62d5d8,_0x4521f0,_0x409faf){return db[_0x0ae7('0x47')][_0x0ae7('0x4f')]({'where':{'id':_0x62d5d8[_0x0ae7('0x4d')]['id']}})[_0x0ae7('0x2c')](handleEntityNotFound(_0x4521f0,null))[_0x0ae7('0x2c')](function(_0x3c5d17){if(_0x3c5d17){return _0x3c5d17[_0x0ae7('0x82')](_0x62d5d8['body'][_0x0ae7('0x65')],_[_0x0ae7('0x83')](_0x62d5d8[_0x0ae7('0x56')],[_0x0ae7('0x65'),'id'])||{})[_0x0ae7('0x84')](function(_0x4b9c59){for(var _0x386938=0x0;_0x386938<_0x62d5d8[_0x0ae7('0x56')]['ids'][_0x0ae7('0x3e')];_0x386938+=0x1){socket[_0x0ae7('0x6f')](_0x0ae7('0x85'),{'UserId':Number(_0x62d5d8[_0x0ae7('0x56')]['ids'][_0x386938]),'OpenchannelQueueId':Number(_0x62d5d8['params']['id'])});}return _0x4b9c59;});}})['then'](respondWithResult(_0x4521f0,null))[_0x0ae7('0x4c')](handleError(_0x4521f0,null));};exports[_0x0ae7('0x80')]=function(_0x2ccc67,_0xd81745,_0x117e85){return db[_0x0ae7('0x47')][_0x0ae7('0x4f')]({'where':{'id':_0x2ccc67[_0x0ae7('0x4d')]['id']}})[_0x0ae7('0x2c')](handleEntityNotFound(_0xd81745,null))[_0x0ae7('0x2c')](function(_0x216aa2){if(_0x216aa2){return _0x216aa2[_0x0ae7('0x80')](_0x2ccc67[_0x0ae7('0x38')][_0x0ae7('0x65')])['then'](function(){if(_[_0x0ae7('0x86')](_0x2ccc67[_0x0ae7('0x38')][_0x0ae7('0x65')])){for(var _0x5ec2be=0x0;_0x5ec2be<_0x2ccc67[_0x0ae7('0x38')]['ids'][_0x0ae7('0x3e')];_0x5ec2be+=0x1){socket[_0x0ae7('0x6f')](_0x0ae7('0x81'),{'UserId':Number(_0x2ccc67[_0x0ae7('0x38')]['ids'][_0x5ec2be]),'OpenchannelQueueId':Number(_0x2ccc67[_0x0ae7('0x4d')]['id'])});}}else{socket[_0x0ae7('0x6f')](_0x0ae7('0x81'),{'UserId':Number(_0x2ccc67[_0x0ae7('0x38')][_0x0ae7('0x65')]),'OpenchannelQueueId':Number(_0x2ccc67[_0x0ae7('0x4d')]['id'])});}});}})[_0x0ae7('0x2c')](respondWithStatusCode(_0xd81745,null))[_0x0ae7('0x4c')](handleError(_0xd81745,null));};exports[_0x0ae7('0x87')]=function(_0x7d48f9,_0x3872f7,_0x2d1c3c){var _0x3d2892={};var _0x17ff20={};var _0x49b2b4;var _0x4c1566;return db[_0x0ae7('0x47')][_0x0ae7('0x59')]({'where':{'id':_0x7d48f9[_0x0ae7('0x4d')]['id']}})[_0x0ae7('0x2c')](handleEntityNotFound(_0x3872f7,null))['then'](function(_0xfb0525){if(_0xfb0525){_0x49b2b4=_0xfb0525;_0x17ff20[_0x0ae7('0x3f')]=_[_0x0ae7('0x39')](db[_0x0ae7('0x5c')][_0x0ae7('0x4e')]);_0x17ff20['query']=_[_0x0ae7('0x39')](_0x7d48f9[_0x0ae7('0x38')]);_0x17ff20[_0x0ae7('0x3a')]=_[_0x0ae7('0x3b')](_0x17ff20[_0x0ae7('0x3f')],_0x17ff20['query']);_0x3d2892['attributes']=_[_0x0ae7('0x3b')](_0x17ff20[_0x0ae7('0x3f')],qs[_0x0ae7('0x3d')](_0x7d48f9['query'][_0x0ae7('0x3d')]));_0x3d2892[_0x0ae7('0x3c')]=_0x3d2892[_0x0ae7('0x3c')]['length']?_0x3d2892[_0x0ae7('0x3c')]:_0x17ff20[_0x0ae7('0x3f')];_0x3d2892[_0x0ae7('0x5b')]=qs[_0x0ae7('0x42')](_0x7d48f9[_0x0ae7('0x38')]['sort']);_0x3d2892[_0x0ae7('0x43')]=qs['filters'](_[_0x0ae7('0x88')](_0x7d48f9['query'],_0x17ff20[_0x0ae7('0x3a')]));if(_0x7d48f9[_0x0ae7('0x38')][_0x0ae7('0x44')]){_0x3d2892[_0x0ae7('0x43')]=_[_0x0ae7('0x45')](_0x3d2892[_0x0ae7('0x43')],{'$or':_[_0x0ae7('0x35')](_0x3d2892['attributes'],function(_0x5e5062){var _0xe9ee25={};_0xe9ee25[_0x5e5062]={'$like':'%'+_0x7d48f9['query'][_0x0ae7('0x44')]+'%'};return _0xe9ee25;})});}_0x3d2892=_[_0x0ae7('0x45')]({},_0x3d2892,_0x7d48f9[_0x0ae7('0x46')]);return _0x49b2b4[_0x0ae7('0x87')](_0x3d2892);}})[_0x0ae7('0x2c')](function(_0x22451f){if(_0x22451f){_0x4c1566=_0x22451f[_0x0ae7('0x3e')];if(!_0x7d48f9[_0x0ae7('0x38')]['hasOwnProperty']('nolimit')){_0x3d2892[_0x0ae7('0x23')]=qs['limit'](_0x7d48f9['query'][_0x0ae7('0x23')]);_0x3d2892['offset']=qs['offset'](_0x7d48f9[_0x0ae7('0x38')][_0x0ae7('0x22')]);}return _0x49b2b4[_0x0ae7('0x87')](_0x3d2892);}})['then'](function(_0xc50a8a){if(_0xc50a8a){return _0xc50a8a?{'count':_0x4c1566,'rows':_0xc50a8a}:null;}})[_0x0ae7('0x2c')](respondWithResult(_0x3872f7,null))[_0x0ae7('0x4c')](handleError(_0x3872f7,null));};