a317546ffe3948179eb6cdd20712eb8d9c3b6c49
[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 _0x5f7a=['desk.js','querystring','papaparse','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','api','../../config/utils','../../config/environment','../../config/license/util','../../mysqldb','redis','defaults','localhost','socket.io-emitter','./openchannelQueue.socket','register','sendStatus','status','end','offset','undefined','limit','count','set','Content-Range','json','reject','save','then','destroy','get','OpenchannelQueues','stack','name','send','index','map','OpenchannelQueue','rawAttributes','fieldName','key','model','keys','filters','query','attributes','intersection','fields','length','hasOwnProperty','nolimit','order','sort','where','pick','filter','merge','type','VIRTUAL','options','includeAll','include','findAll','rows','show','catch','create','body','user','Unable\x20to\x20retrieve\x20the\x20current\x20user','role','UserProfileSection','userProfileId','UserProfileResource','error','Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s','update','params','find','describe','getMembers','findOne','UserOpenchannelQueue','agent','openchannelPause','updatedAt','createdAt','format','%s/%s','SIP','getTeams','Team','ids','User','Agents','online','interface','flatMap','sequelize','each','userOpenchannelQueue:save','removeTeams','from','join','user_has_teams','ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','QueryTypes','SELECT','union','compact','transaction','removeAgents','forEach','emit','userOpenchannelQueue:remove','addAgents','isArray','getAgents','eml-format','rimraf','fast-json-patch','request-promise','moment','bluebird','mustache','util','path','sox','to-csv','ejs','fs-extra','lodash','squel','crypto','jsforce'];(function(_0x321bb2,_0x202794){var _0x9c12ed=function(_0x263dd3){while(--_0x263dd3){_0x321bb2['push'](_0x321bb2['shift']());}};_0x9c12ed(++_0x202794);}(_0x5f7a,0x190));var _0xa5f7=function(_0x5b644e,_0x2e5e07){_0x5b644e=_0x5b644e-0x0;var _0x49c6bf=_0x5f7a[_0x5b644e];return _0x49c6bf;};'use strict';var emlformat=require(_0xa5f7('0x0'));var rimraf=require(_0xa5f7('0x1'));var zipdir=require('zip-dir');var jsonpatch=require(_0xa5f7('0x2'));var rp=require(_0xa5f7('0x3'));var moment=require(_0xa5f7('0x4'));var BPromise=require(_0xa5f7('0x5'));var Mustache=require(_0xa5f7('0x6'));var util=require(_0xa5f7('0x7'));var path=require(_0xa5f7('0x8'));var sox=require(_0xa5f7('0x9'));var csv=require(_0xa5f7('0xa'));var ejs=require(_0xa5f7('0xb'));var fs=require('fs');var fs_extra=require(_0xa5f7('0xc'));var _=require(_0xa5f7('0xd'));var squel=require(_0xa5f7('0xe'));var crypto=require(_0xa5f7('0xf'));var jsforce=require(_0xa5f7('0x10'));var deskjs=require(_0xa5f7('0x11'));var toCsv=require(_0xa5f7('0xa'));var querystring=require(_0xa5f7('0x12'));var Papa=require(_0xa5f7('0x13'));var Redis=require('ioredis');var authService=require('../../components/auth/service');var qs=require(_0xa5f7('0x14'));var as=require(_0xa5f7('0x15'));var hardwareService=require(_0xa5f7('0x16'));var logger=require('../../config/logger')(_0xa5f7('0x17'));var utils=require(_0xa5f7('0x18'));var config=require(_0xa5f7('0x19'));var licenseUtil=require(_0xa5f7('0x1a'));var db=require(_0xa5f7('0x1b'))['db'];config[_0xa5f7('0x1c')]=_[_0xa5f7('0x1d')](config[_0xa5f7('0x1c')],{'host':_0xa5f7('0x1e'),'port':0x18eb});var socket=require(_0xa5f7('0x1f'))(new Redis(config[_0xa5f7('0x1c')]));require(_0xa5f7('0x20'))[_0xa5f7('0x21')](socket);function respondWithStatusCode(_0x4d8a66,_0x18652d){_0x18652d=_0x18652d||0xcc;return function(_0x20e999){if(_0x20e999){return _0x4d8a66[_0xa5f7('0x22')](_0x18652d);}return _0x4d8a66[_0xa5f7('0x23')](_0x18652d)[_0xa5f7('0x24')]();};}function respondWithResult(_0x3fbf3b,_0x239506){_0x239506=_0x239506||0xc8;return function(_0x53c371){if(_0x53c371){return _0x3fbf3b[_0xa5f7('0x23')](_0x239506)['json'](_0x53c371);}};}function respondWithFilteredResult(_0x31e34b,_0x4f8fe5){return function(_0x730162){if(_0x730162){var _0x1f3c22=typeof _0x4f8fe5[_0xa5f7('0x25')]===_0xa5f7('0x26')&&typeof _0x4f8fe5[_0xa5f7('0x27')]===_0xa5f7('0x26');var _0x303c49=_0x730162[_0xa5f7('0x28')];var _0x3a9977=_0x1f3c22?0x0:_0x4f8fe5[_0xa5f7('0x25')];var _0x3f249c=_0x1f3c22?_0x730162[_0xa5f7('0x28')]:_0x4f8fe5['offset']+_0x4f8fe5[_0xa5f7('0x27')];var _0x46156f;if(_0x3f249c>=_0x303c49){_0x3f249c=_0x303c49;_0x46156f=0xc8;}else{_0x46156f=0xce;}_0x31e34b['status'](_0x46156f);return _0x31e34b[_0xa5f7('0x29')](_0xa5f7('0x2a'),_0x3a9977+'-'+_0x3f249c+'/'+_0x303c49)[_0xa5f7('0x2b')](_0x730162);}return null;};}function patchUpdates(_0x32e000){return function(_0x10c6d5){try{jsonpatch['apply'](_0x10c6d5,_0x32e000,!![]);}catch(_0x5c1b6e){return BPromise[_0xa5f7('0x2c')](_0x5c1b6e);}return _0x10c6d5[_0xa5f7('0x2d')]();};}function saveUpdates(_0x2269ff,_0x400952){return function(_0x55f016){if(_0x55f016){return _0x55f016['update'](_0x2269ff)[_0xa5f7('0x2e')](function(_0x3d2431){return _0x3d2431;});}return null;};}function removeEntity(_0x3527f2,_0x14ebb4){return function(_0x368b2d){if(_0x368b2d){return _0x368b2d[_0xa5f7('0x2f')]()['then'](function(){var _0x52b414=_0x368b2d[_0xa5f7('0x30')]({'plain':!![]});var _0x1f2113=_0xa5f7('0x31');return db['UserProfileResource']['destroy']({'where':{'type':_0x1f2113,'resourceId':_0x52b414['id']}})[_0xa5f7('0x2e')](function(){return _0x368b2d;});})[_0xa5f7('0x2e')](function(){_0x3527f2[_0xa5f7('0x23')](0xcc)[_0xa5f7('0x24')]();});}};}function handleEntityNotFound(_0x124959,_0x29c6bc){return function(_0x33ea40){if(!_0x33ea40){_0x124959[_0xa5f7('0x22')](0x194);}return _0x33ea40;};}function handleError(_0x37a453,_0x81cffd){_0x81cffd=_0x81cffd||0x1f4;return function(_0x11fc83){logger['error'](_0x11fc83[_0xa5f7('0x32')]);if(_0x11fc83[_0xa5f7('0x33')]){delete _0x11fc83[_0xa5f7('0x33')];}_0x37a453['status'](_0x81cffd)[_0xa5f7('0x34')](_0x11fc83);};}exports[_0xa5f7('0x35')]=function(_0x3b7a2a,_0x3e867d){var _0x34cadb={},_0xc59cc={},_0x3a3d8e={'count':0x0,'rows':[]};var _0xb1a13e=_[_0xa5f7('0x36')](db[_0xa5f7('0x37')][_0xa5f7('0x38')],function(_0x52478d){return{'name':_0x52478d[_0xa5f7('0x39')],'type':_0x52478d['type'][_0xa5f7('0x3a')]};});_0xc59cc[_0xa5f7('0x3b')]=_[_0xa5f7('0x36')](_0xb1a13e,_0xa5f7('0x33'));_0xc59cc['query']=_[_0xa5f7('0x3c')](_0x3b7a2a['query']);_0xc59cc[_0xa5f7('0x3d')]=_['intersection'](_0xc59cc[_0xa5f7('0x3b')],_0xc59cc[_0xa5f7('0x3e')]);_0x34cadb[_0xa5f7('0x3f')]=_[_0xa5f7('0x40')](_0xc59cc[_0xa5f7('0x3b')],qs[_0xa5f7('0x41')](_0x3b7a2a[_0xa5f7('0x3e')][_0xa5f7('0x41')]));_0x34cadb[_0xa5f7('0x3f')]=_0x34cadb['attributes'][_0xa5f7('0x42')]?_0x34cadb[_0xa5f7('0x3f')]:_0xc59cc[_0xa5f7('0x3b')];if(!_0x3b7a2a[_0xa5f7('0x3e')][_0xa5f7('0x43')](_0xa5f7('0x44'))){_0x34cadb[_0xa5f7('0x27')]=qs['limit'](_0x3b7a2a[_0xa5f7('0x3e')][_0xa5f7('0x27')]);_0x34cadb[_0xa5f7('0x25')]=qs[_0xa5f7('0x25')](_0x3b7a2a[_0xa5f7('0x3e')][_0xa5f7('0x25')]);}_0x34cadb[_0xa5f7('0x45')]=qs[_0xa5f7('0x46')](_0x3b7a2a[_0xa5f7('0x3e')][_0xa5f7('0x46')]);_0x34cadb[_0xa5f7('0x47')]=qs[_0xa5f7('0x3d')](_[_0xa5f7('0x48')](_0x3b7a2a[_0xa5f7('0x3e')],_0xc59cc[_0xa5f7('0x3d')]),_0xb1a13e);if(_0x3b7a2a[_0xa5f7('0x3e')][_0xa5f7('0x49')]){_0x34cadb[_0xa5f7('0x47')]=_[_0xa5f7('0x4a')](_0x34cadb[_0xa5f7('0x47')],{'$or':_[_0xa5f7('0x36')](_0xb1a13e,function(_0x548c7c){if(_0x548c7c[_0xa5f7('0x4b')]!==_0xa5f7('0x4c')){var _0x47de6c={};_0x47de6c[_0x548c7c[_0xa5f7('0x33')]]={'$like':'%'+_0x3b7a2a[_0xa5f7('0x3e')][_0xa5f7('0x49')]+'%'};return _0x47de6c;}})});}_0x34cadb=_['merge']({},_0x34cadb,_0x3b7a2a[_0xa5f7('0x4d')]);var _0x5a5bdc={'where':_0x34cadb[_0xa5f7('0x47')]};return db[_0xa5f7('0x37')][_0xa5f7('0x28')](_0x5a5bdc)[_0xa5f7('0x2e')](function(_0x5e8307){_0x3a3d8e[_0xa5f7('0x28')]=_0x5e8307;if(_0x3b7a2a[_0xa5f7('0x3e')][_0xa5f7('0x4e')]){_0x34cadb[_0xa5f7('0x4f')]=[{'all':!![]}];}return db[_0xa5f7('0x37')][_0xa5f7('0x50')](_0x34cadb);})[_0xa5f7('0x2e')](function(_0x5d177b){_0x3a3d8e[_0xa5f7('0x51')]=_0x5d177b;return _0x3a3d8e;})[_0xa5f7('0x2e')](respondWithFilteredResult(_0x3e867d,_0x34cadb))['catch'](handleError(_0x3e867d,null));};exports[_0xa5f7('0x52')]=function(_0x3de2f7,_0xc2b5c1){var _0x770dec={'raw':!![],'where':{'id':_0x3de2f7['params']['id']}},_0x5f4693={};_0x5f4693['model']=_['keys'](db[_0xa5f7('0x37')]['rawAttributes']);_0x5f4693['query']=_['keys'](_0x3de2f7[_0xa5f7('0x3e')]);_0x5f4693['filters']=_['intersection'](_0x5f4693[_0xa5f7('0x3b')],_0x5f4693['query']);_0x770dec[_0xa5f7('0x3f')]=_['intersection'](_0x5f4693[_0xa5f7('0x3b')],qs['fields'](_0x3de2f7[_0xa5f7('0x3e')][_0xa5f7('0x41')]));_0x770dec['attributes']=_0x770dec[_0xa5f7('0x3f')][_0xa5f7('0x42')]?_0x770dec[_0xa5f7('0x3f')]:_0x5f4693['model'];if(_0x3de2f7[_0xa5f7('0x3e')][_0xa5f7('0x4e')]){_0x770dec[_0xa5f7('0x4f')]=[{'all':!![]}];}_0x770dec=_[_0xa5f7('0x4a')]({},_0x770dec,_0x3de2f7['options']);return db['OpenchannelQueue']['find'](_0x770dec)[_0xa5f7('0x2e')](handleEntityNotFound(_0xc2b5c1,null))[_0xa5f7('0x2e')](respondWithResult(_0xc2b5c1,null))[_0xa5f7('0x53')](handleError(_0xc2b5c1,null));};exports[_0xa5f7('0x54')]=function(_0x43328d,_0x1d2209){return db[_0xa5f7('0x37')][_0xa5f7('0x54')](_0x43328d[_0xa5f7('0x55')],{})[_0xa5f7('0x2e')](function(_0xbab122){var _0x5377d7=_0x43328d[_0xa5f7('0x56')][_0xa5f7('0x30')]({'plain':!![]});if(!_0x5377d7)throw new Error(_0xa5f7('0x57'));if(_0x5377d7[_0xa5f7('0x58')]===_0xa5f7('0x56')){var _0x1d0f96=_0xbab122['get']({'plain':!![]});var _0xd39d41='OpenchannelQueues';return db[_0xa5f7('0x59')]['find']({'where':{'name':_0xd39d41,'userProfileId':_0x5377d7[_0xa5f7('0x5a')]},'raw':!![]})[_0xa5f7('0x2e')](function(_0xd058ce){if(_0xd058ce&&_0xd058ce['autoAssociation']===0x0){return db[_0xa5f7('0x5b')]['create']({'name':_0x1d0f96['name'],'resourceId':_0x1d0f96['id'],'type':_0xd058ce[_0xa5f7('0x33')],'sectionId':_0xd058ce['id']},{})[_0xa5f7('0x2e')](function(){return _0xbab122;});}else{return _0xbab122;}})[_0xa5f7('0x53')](function(_0x3d3f6b){logger[_0xa5f7('0x5c')](_0xa5f7('0x5d'),_0x3d3f6b);throw _0x3d3f6b;});}return _0xbab122;})[_0xa5f7('0x2e')](respondWithResult(_0x1d2209,0xc9))[_0xa5f7('0x53')](handleError(_0x1d2209,null));};exports[_0xa5f7('0x5e')]=function(_0x52e43a,_0x426c64){if(_0x52e43a['body']['id']){delete _0x52e43a[_0xa5f7('0x55')]['id'];}return db['OpenchannelQueue']['find']({'where':{'id':_0x52e43a[_0xa5f7('0x5f')]['id']}})['then'](handleEntityNotFound(_0x426c64,null))[_0xa5f7('0x2e')](saveUpdates(_0x52e43a[_0xa5f7('0x55')],null))[_0xa5f7('0x2e')](respondWithResult(_0x426c64,null))[_0xa5f7('0x53')](handleError(_0x426c64,null));};exports['destroy']=function(_0x1f04bf,_0x24f9c8){return db[_0xa5f7('0x37')][_0xa5f7('0x60')]({'where':{'id':_0x1f04bf[_0xa5f7('0x5f')]['id']}})['then'](handleEntityNotFound(_0x24f9c8,null))[_0xa5f7('0x2e')](removeEntity(_0x24f9c8,null))[_0xa5f7('0x53')](handleError(_0x24f9c8,null));};exports[_0xa5f7('0x61')]=function(_0x2e7ef4,_0x105748){return db['OpenchannelQueue'][_0xa5f7('0x61')]()[_0xa5f7('0x2e')](respondWithResult(_0x105748,null))[_0xa5f7('0x53')](handleError(_0x105748,null));};exports[_0xa5f7('0x62')]=function(_0x5ec7f1,_0x500aa9,_0x4e5749){var _0x42f42e={'raw':!![],'where':{}},_0x29edfb={},_0x2f3fa9;return db['OpenchannelQueue'][_0xa5f7('0x63')]({'where':{'id':_0x5ec7f1[_0xa5f7('0x5f')]['id']}})[_0xa5f7('0x2e')](handleEntityNotFound(_0x500aa9,null))[_0xa5f7('0x2e')](function(_0x474d07){if(_0x474d07){_0x2f3fa9=_0x474d07[_0xa5f7('0x30')]({'plain':!![]});_0x29edfb[_0xa5f7('0x3b')]=_[_0xa5f7('0x3c')](db[_0xa5f7('0x64')][_0xa5f7('0x38')]);_0x29edfb['query']=_[_0xa5f7('0x3c')](_0x5ec7f1[_0xa5f7('0x3e')]);_0x29edfb[_0xa5f7('0x3d')]=_[_0xa5f7('0x40')](_0x29edfb['model'],_0x29edfb[_0xa5f7('0x3e')]);_0x42f42e[_0xa5f7('0x3f')]=_['intersection'](_0x29edfb[_0xa5f7('0x3b')],qs[_0xa5f7('0x41')](_0x5ec7f1[_0xa5f7('0x3e')][_0xa5f7('0x41')]));_0x42f42e[_0xa5f7('0x3f')]=_0x42f42e[_0xa5f7('0x3f')][_0xa5f7('0x42')]?_0x42f42e[_0xa5f7('0x3f')]:_0x29edfb['model'];if(!_0x5ec7f1[_0xa5f7('0x3e')]['hasOwnProperty'](_0xa5f7('0x44'))){_0x42f42e[_0xa5f7('0x27')]=qs[_0xa5f7('0x27')](_0x5ec7f1[_0xa5f7('0x3e')][_0xa5f7('0x27')]);_0x42f42e['offset']=qs['offset'](_0x5ec7f1[_0xa5f7('0x3e')]['offset']);}_0x42f42e[_0xa5f7('0x45')]=qs['sort'](_0x5ec7f1['query'][_0xa5f7('0x46')]);_0x42f42e[_0xa5f7('0x47')]=qs['filters'](_[_0xa5f7('0x48')](_0x5ec7f1[_0xa5f7('0x3e')],_0x29edfb['filters']));_0x42f42e[_0xa5f7('0x47')]['OpenchannelQueueId']=_0x474d07['id'];if(_0x5ec7f1[_0xa5f7('0x3e')][_0xa5f7('0x49')]){_0x42f42e[_0xa5f7('0x47')]=_[_0xa5f7('0x4a')](_0x42f42e['where'],{'$or':_[_0xa5f7('0x36')](_0x42f42e[_0xa5f7('0x3f')],function(_0x540901){var _0x588781={};_0x588781[_0x540901]={'$like':'%'+_0x5ec7f1[_0xa5f7('0x3e')][_0xa5f7('0x49')]+'%'};return _0x588781;})});}_0x42f42e=_[_0xa5f7('0x4a')]({},_0x42f42e,_0x5ec7f1[_0xa5f7('0x4d')]);return db['UserOpenchannelQueue'][_0xa5f7('0x50')](_0x42f42e);}})[_0xa5f7('0x2e')](function(_0x1b4744){if(_0x1b4744){return db['User']['findAndCountAll']({'where':{'id':_[_0xa5f7('0x36')](_0x1b4744,'UserId'),'role':_0xa5f7('0x65')},'attributes':['id',_0xa5f7('0x33'),_0xa5f7('0x66'),_0xa5f7('0x67'),_0xa5f7('0x68')]});}})['then'](function(_0x134927){if(_0x134927){return{'count':_0x134927[_0xa5f7('0x28')],'rows':_[_0xa5f7('0x36')](_0x134927[_0xa5f7('0x51')],function(_0x285832){return{'membername':_0x285832[_0xa5f7('0x33')],'UserId':_0x285832['id'],'queue_name':_0x2f3fa9[_0xa5f7('0x33')],'OpenchannelQueueId':_0x2f3fa9['id'],'interface':util[_0xa5f7('0x69')](_0xa5f7('0x6a'),_0xa5f7('0x6b'),_0x285832[_0xa5f7('0x33')]),'penalty':0x0,'paused':_0x285832[_0xa5f7('0x66')],'createdAt':_0x285832[_0xa5f7('0x68')],'updatedAt':_0x285832[_0xa5f7('0x67')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x500aa9,_0x42f42e))[_0xa5f7('0x53')](handleError(_0x500aa9,null));};exports[_0xa5f7('0x6c')]=function(_0xa4ef09,_0x56e0db,_0x8b0f2f){var _0x49ef15={};var _0x17d223={};var _0x4c1f07;var _0x426361;return db[_0xa5f7('0x37')][_0xa5f7('0x63')]({'where':{'id':_0xa4ef09[_0xa5f7('0x5f')]['id']}})[_0xa5f7('0x2e')](handleEntityNotFound(_0x56e0db,null))[_0xa5f7('0x2e')](function(_0x578528){if(_0x578528){_0x4c1f07=_0x578528;_0x17d223[_0xa5f7('0x3b')]=_[_0xa5f7('0x3c')](db[_0xa5f7('0x6d')][_0xa5f7('0x38')]);_0x17d223[_0xa5f7('0x3e')]=_['keys'](_0xa4ef09[_0xa5f7('0x3e')]);_0x17d223[_0xa5f7('0x3d')]=_['intersection'](_0x17d223[_0xa5f7('0x3b')],_0x17d223[_0xa5f7('0x3e')]);_0x49ef15['attributes']=_[_0xa5f7('0x40')](_0x17d223[_0xa5f7('0x3b')],qs['fields'](_0xa4ef09[_0xa5f7('0x3e')][_0xa5f7('0x41')]));_0x49ef15['attributes']=_0x49ef15['attributes']['length']?_0x49ef15[_0xa5f7('0x3f')]:_0x17d223[_0xa5f7('0x3b')];_0x49ef15[_0xa5f7('0x45')]=qs[_0xa5f7('0x46')](_0xa4ef09[_0xa5f7('0x3e')][_0xa5f7('0x46')]);_0x49ef15[_0xa5f7('0x47')]=qs[_0xa5f7('0x3d')](_[_0xa5f7('0x48')](_0xa4ef09['query'],_0x17d223['filters']));if(_0xa4ef09[_0xa5f7('0x3e')][_0xa5f7('0x49')]){_0x49ef15['where']=_[_0xa5f7('0x4a')](_0x49ef15['where'],{'$or':_[_0xa5f7('0x36')](_0x49ef15['attributes'],function(_0x35586a){var _0x1f8a79={};_0x1f8a79[_0x35586a]={'$like':'%'+_0xa4ef09['query'][_0xa5f7('0x49')]+'%'};return _0x1f8a79;})});}_0x49ef15=_[_0xa5f7('0x4a')]({},_0x49ef15,_0xa4ef09[_0xa5f7('0x4d')]);return _0x4c1f07['getTeams'](_0x49ef15);}})[_0xa5f7('0x2e')](function(_0x59728a){if(_0x59728a){_0x426361=_0x59728a[_0xa5f7('0x42')];if(!_0xa4ef09[_0xa5f7('0x3e')][_0xa5f7('0x43')](_0xa5f7('0x44'))){_0x49ef15[_0xa5f7('0x27')]=qs[_0xa5f7('0x27')](_0xa4ef09[_0xa5f7('0x3e')][_0xa5f7('0x27')]);_0x49ef15[_0xa5f7('0x25')]=qs[_0xa5f7('0x25')](_0xa4ef09[_0xa5f7('0x3e')]['offset']);}return _0x4c1f07[_0xa5f7('0x6c')](_0x49ef15);}})['then'](function(_0x52ef61){if(_0x52ef61){return _0x52ef61?{'count':_0x426361,'rows':_0x52ef61}:null;}})[_0xa5f7('0x2e')](respondWithResult(_0x56e0db,null))[_0xa5f7('0x53')](handleError(_0x56e0db,null));};exports['addTeams']=function(_0x383cc7,_0x171123,_0x55b312){var _0x25ab62=_0x383cc7[_0xa5f7('0x55')][_0xa5f7('0x6e')];return db[_0xa5f7('0x6d')][_0xa5f7('0x50')]({'where':{'id':_0x25ab62},'attributes':['id'],'include':[{'model':db[_0xa5f7('0x6f')],'as':_0xa5f7('0x70'),'attributes':['id','name',_0xa5f7('0x71'),'voicePause',_0xa5f7('0x72')],'raw':!![]}]})[_0xa5f7('0x2e')](function(_0x1fc3f0){if(_0x1fc3f0){var _0xfa9b30=_[_0xa5f7('0x73')](_0x1fc3f0,function(_0x2f0890){var _0x43c1c9=_0x2f0890[_0xa5f7('0x30')]({'plain':!![]});return _0x43c1c9[_0xa5f7('0x70')];});return db['OpenchannelQueue']['find']({'where':{'id':_0x383cc7['params']['id']}})[_0xa5f7('0x2e')](function(_0xaa70b0){return db[_0xa5f7('0x74')]['transaction'](function(_0xac9540){return _0xaa70b0['addTeams'](_0x25ab62,{'transaction':_0xac9540})['then'](function(){return BPromise[_0xa5f7('0x75')](_0xfa9b30,function(_0xd65830){return db['UserOpenchannelQueue']['findOrCreate']({'where':{'UserId':_0xd65830['id'],'OpenchannelQueueId':_0x383cc7[_0xa5f7('0x5f')]['id']},'transaction':_0xac9540});});})[_0xa5f7('0x2e')](function(){_0xfa9b30['forEach'](function(_0x14c7b2){socket['emit'](_0xa5f7('0x76'),{'UserId':_0x14c7b2['id'],'OpenchannelQueueId':_0xaa70b0['id']});});});});});}})[_0xa5f7('0x2e')](respondWithStatusCode(_0x171123,null))[_0xa5f7('0x53')](handleError(_0x171123,null));};exports[_0xa5f7('0x77')]=function(_0x31ec9f,_0x1e1c2f,_0x23a85e){return db['Team']['findAll']({'where':{'id':_0x31ec9f[_0xa5f7('0x3e')][_0xa5f7('0x6e')]},'attributes':['id'],'include':[{'model':db[_0xa5f7('0x6f')],'as':_0xa5f7('0x70'),'attributes':['id'],'raw':!![]}]})['then'](handleEntityNotFound(_0x1e1c2f,null))[_0xa5f7('0x2e')](function(_0x1f32ff){var _0x4c382f=_[_0xa5f7('0x36')](_0x1f32ff,'id');var _0x5f0c51=[];var _0x3a5638=[];var _0x3e6ff7=squel['select']();_0x3e6ff7['field']('tq.TeamId')[_0xa5f7('0x78')]('team_has_openchannel_queues','tq')[_0xa5f7('0x79')](_0xa5f7('0x7a'),'ut',_0xa5f7('0x7b'))[_0xa5f7('0x47')](_0xa5f7('0x7c'),_0x31ec9f['params']['id']);for(var _0x59b546=0x0;_0x59b546<_0x1f32ff[_0xa5f7('0x42')];_0x59b546+=0x1){let _0x2f5416=_0x1f32ff[_0x59b546];for(var _0x3027d1=0x0;_0x3027d1<_0x2f5416['Agents'][_0xa5f7('0x42')];_0x3027d1+=0x1){let _0x2ff5b2=_0x2f5416['Agents'][_0x3027d1];var _0x113b61=_0x3e6ff7[_0xa5f7('0x7d')]();_0x113b61[_0xa5f7('0x47')](_0xa5f7('0x7e'),_0x2ff5b2['id']);_0x3a5638['push'](db[_0xa5f7('0x74')]['query'](_0x113b61['toString'](),{'type':db[_0xa5f7('0x74')][_0xa5f7('0x7f')][_0xa5f7('0x80')]})[_0xa5f7('0x2e')](function(_0x17e6f6){if(_0x17e6f6[_0xa5f7('0x42')]===0x1){return _0x2ff5b2['id'];}else{var _0x4e6598=_['every'](_[_0xa5f7('0x36')](_0x17e6f6,'TeamId'),function(_0x4cb993){return _['includes'](_0x4c382f,_0x4cb993);});if(_0x4e6598){return _0x2ff5b2['id'];}}}));}}return BPromise['all'](_0x3a5638)['then'](function(_0xfea14b){_0x5f0c51=_(_0x5f0c51)[_0xa5f7('0x81')](_0xfea14b)[_0xa5f7('0x82')]()['value']();return db[_0xa5f7('0x37')]['find']({'where':{'id':_0x31ec9f['params']['id']}})[_0xa5f7('0x2e')](function(_0x8a0e7e){return db[_0xa5f7('0x74')][_0xa5f7('0x83')](function(_0x3d2462){return _0x8a0e7e['removeTeams'](_0x31ec9f[_0xa5f7('0x3e')][_0xa5f7('0x6e')],{'transaction':_0x3d2462})[_0xa5f7('0x2e')](function(){if(!_['isEmpty'](_0x5f0c51)){return _0x8a0e7e[_0xa5f7('0x84')](_0x5f0c51,{'transaction':_0x3d2462});}})[_0xa5f7('0x2e')](function(){_0x5f0c51[_0xa5f7('0x85')](function(_0xdee7c3){socket[_0xa5f7('0x86')](_0xa5f7('0x87'),{'UserId':_0xdee7c3,'OpenchannelQueueId':_0x8a0e7e['id']});});});});});});})[_0xa5f7('0x2e')](respondWithStatusCode(_0x1e1c2f,null))['catch'](handleError(_0x1e1c2f,null));};exports[_0xa5f7('0x88')]=function(_0x46b914,_0x4eef54,_0x5eccc5){return db['OpenchannelQueue'][_0xa5f7('0x60')]({'where':{'id':_0x46b914[_0xa5f7('0x5f')]['id']}})['then'](handleEntityNotFound(_0x4eef54,null))[_0xa5f7('0x2e')](function(_0xf00f01){if(_0xf00f01){return _0xf00f01[_0xa5f7('0x88')](_0x46b914[_0xa5f7('0x55')][_0xa5f7('0x6e')],_['omit'](_0x46b914[_0xa5f7('0x55')],[_0xa5f7('0x6e'),'id'])||{})['spread'](function(_0x59a030){for(var _0x5738f8=0x0;_0x5738f8<_0x46b914[_0xa5f7('0x55')][_0xa5f7('0x6e')][_0xa5f7('0x42')];_0x5738f8+=0x1){socket[_0xa5f7('0x86')](_0xa5f7('0x76'),{'UserId':Number(_0x46b914[_0xa5f7('0x55')]['ids'][_0x5738f8]),'OpenchannelQueueId':Number(_0x46b914[_0xa5f7('0x5f')]['id'])});}return _0x59a030;});}})[_0xa5f7('0x2e')](respondWithResult(_0x4eef54,null))[_0xa5f7('0x53')](handleError(_0x4eef54,null));};exports[_0xa5f7('0x84')]=function(_0x1e4df3,_0x1bb2f1,_0x39b640){return db[_0xa5f7('0x37')][_0xa5f7('0x60')]({'where':{'id':_0x1e4df3[_0xa5f7('0x5f')]['id']}})[_0xa5f7('0x2e')](handleEntityNotFound(_0x1bb2f1,null))[_0xa5f7('0x2e')](function(_0x4bbf17){if(_0x4bbf17){return _0x4bbf17[_0xa5f7('0x84')](_0x1e4df3[_0xa5f7('0x3e')][_0xa5f7('0x6e')])[_0xa5f7('0x2e')](function(){if(_[_0xa5f7('0x89')](_0x1e4df3[_0xa5f7('0x3e')][_0xa5f7('0x6e')])){for(var _0x254a68=0x0;_0x254a68<_0x1e4df3['query'][_0xa5f7('0x6e')][_0xa5f7('0x42')];_0x254a68+=0x1){socket['emit'](_0xa5f7('0x87'),{'UserId':Number(_0x1e4df3[_0xa5f7('0x3e')][_0xa5f7('0x6e')][_0x254a68]),'OpenchannelQueueId':Number(_0x1e4df3[_0xa5f7('0x5f')]['id'])});}}else{socket[_0xa5f7('0x86')](_0xa5f7('0x87'),{'UserId':Number(_0x1e4df3[_0xa5f7('0x3e')]['ids']),'OpenchannelQueueId':Number(_0x1e4df3[_0xa5f7('0x5f')]['id'])});}});}})[_0xa5f7('0x2e')](respondWithStatusCode(_0x1bb2f1,null))[_0xa5f7('0x53')](handleError(_0x1bb2f1,null));};exports[_0xa5f7('0x8a')]=function(_0x1d3b52,_0x52ebaa,_0x152381){var _0x4a2511={};var _0x12531a={};var _0x2bb664;var _0x5697bb;return db[_0xa5f7('0x37')]['findOne']({'where':{'id':_0x1d3b52[_0xa5f7('0x5f')]['id']}})[_0xa5f7('0x2e')](handleEntityNotFound(_0x52ebaa,null))[_0xa5f7('0x2e')](function(_0x5a42e8){if(_0x5a42e8){_0x2bb664=_0x5a42e8;_0x12531a[_0xa5f7('0x3b')]=_[_0xa5f7('0x3c')](db[_0xa5f7('0x6f')]['rawAttributes']);_0x12531a[_0xa5f7('0x3e')]=_[_0xa5f7('0x3c')](_0x1d3b52[_0xa5f7('0x3e')]);_0x12531a['filters']=_[_0xa5f7('0x40')](_0x12531a[_0xa5f7('0x3b')],_0x12531a[_0xa5f7('0x3e')]);_0x4a2511[_0xa5f7('0x3f')]=_['intersection'](_0x12531a['model'],qs[_0xa5f7('0x41')](_0x1d3b52[_0xa5f7('0x3e')]['fields']));_0x4a2511[_0xa5f7('0x3f')]=_0x4a2511[_0xa5f7('0x3f')][_0xa5f7('0x42')]?_0x4a2511[_0xa5f7('0x3f')]:_0x12531a[_0xa5f7('0x3b')];_0x4a2511['order']=qs[_0xa5f7('0x46')](_0x1d3b52[_0xa5f7('0x3e')][_0xa5f7('0x46')]);_0x4a2511[_0xa5f7('0x47')]=qs['filters'](_[_0xa5f7('0x48')](_0x1d3b52['query'],_0x12531a[_0xa5f7('0x3d')]));if(_0x1d3b52[_0xa5f7('0x3e')][_0xa5f7('0x49')]){_0x4a2511[_0xa5f7('0x47')]=_['merge'](_0x4a2511[_0xa5f7('0x47')],{'$or':_[_0xa5f7('0x36')](_0x4a2511['attributes'],function(_0x50622b){var _0x2daff2={};_0x2daff2[_0x50622b]={'$like':'%'+_0x1d3b52[_0xa5f7('0x3e')][_0xa5f7('0x49')]+'%'};return _0x2daff2;})});}_0x4a2511=_[_0xa5f7('0x4a')]({},_0x4a2511,_0x1d3b52[_0xa5f7('0x4d')]);return _0x2bb664[_0xa5f7('0x8a')](_0x4a2511);}})[_0xa5f7('0x2e')](function(_0x2eb4e5){if(_0x2eb4e5){_0x5697bb=_0x2eb4e5['length'];if(!_0x1d3b52[_0xa5f7('0x3e')][_0xa5f7('0x43')](_0xa5f7('0x44'))){_0x4a2511['limit']=qs[_0xa5f7('0x27')](_0x1d3b52[_0xa5f7('0x3e')][_0xa5f7('0x27')]);_0x4a2511['offset']=qs[_0xa5f7('0x25')](_0x1d3b52['query']['offset']);}return _0x2bb664['getAgents'](_0x4a2511);}})['then'](function(_0x1568dd){if(_0x1568dd){return _0x1568dd?{'count':_0x5697bb,'rows':_0x1568dd}:null;}})[_0xa5f7('0x2e')](respondWithResult(_0x52ebaa,null))[_0xa5f7('0x53')](handleError(_0x52ebaa,null));};