Built motion from commit (unavailable).|2.5.30
[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 _0xa9e0=['ut.TeamId\x20=\x20tq.TeamId','OpenchannelQueueId\x20=\x20?','clone','ut.UserId\x20=\x20?','QueryTypes','SELECT','every','TeamId','includes','all','union','value','removeTeams','isEmpty','forEach','userOpenchannelQueue:remove','omit','removeAgents','getAgents','eml-format','rimraf','zip-dir','moment','mustache','util','path','sox','to-csv','fs-extra','lodash','squel','desk.js','papaparse','ioredis','../../components/auth/service','../../components/parsers/qs','../../components/parsers/advancedSearch','../../config/license/hardware','../../config/license/util','../../mysqldb','redis','defaults','localhost','./openchannelQueue.socket','register','status','offset','undefined','limit','count','set','apply','save','update','then','destroy','UserProfileResource','end','sendStatus','error','stack','name','send','index','map','rawAttributes','fieldName','type','key','query','keys','filters','intersection','model','attributes','fields','length','nolimit','order','sort','where','filter','merge','VIRTUAL','options','OpenchannelQueue','includeAll','include','findAll','catch','show','params','create','body','role','user','get','OpenchannelQueues','UserProfileSection','find','autoAssociation','describe','findOne','hasOwnProperty','pick','OpenchannelQueueId','findAndCountAll','agent','openchannelPause','updatedAt','createdAt','rows','format','%s/%s','SIP','Team','getTeams','addTeams','ids','Agents','online','voicePause','interface','sequelize','transaction','each','UserOpenchannelQueue','emit','userOpenchannelQueue:save','User','select','field','tq.TeamId','from','team_has_openchannel_queues','user_has_teams'];(function(_0x5c2b8,_0x101539){var _0x8b8c5d=function(_0x55f255){while(--_0x55f255){_0x5c2b8['push'](_0x5c2b8['shift']());}};_0x8b8c5d(++_0x101539);}(_0xa9e0,0x123));var _0x0a9e=function(_0x481bf7,_0x437f69){_0x481bf7=_0x481bf7-0x0;var _0x461787=_0xa9e0[_0x481bf7];return _0x461787;};'use strict';var emlformat=require(_0x0a9e('0x0'));var rimraf=require(_0x0a9e('0x1'));var zipdir=require(_0x0a9e('0x2'));var jsonpatch=require('fast-json-patch');var rp=require('request-promise');var moment=require(_0x0a9e('0x3'));var BPromise=require('bluebird');var Mustache=require(_0x0a9e('0x4'));var util=require(_0x0a9e('0x5'));var path=require(_0x0a9e('0x6'));var sox=require(_0x0a9e('0x7'));var csv=require(_0x0a9e('0x8'));var ejs=require('ejs');var fs=require('fs');var fs_extra=require(_0x0a9e('0x9'));var _=require(_0x0a9e('0xa'));var squel=require(_0x0a9e('0xb'));var crypto=require('crypto');var jsforce=require('jsforce');var deskjs=require(_0x0a9e('0xc'));var toCsv=require('to-csv');var querystring=require('querystring');var Papa=require(_0x0a9e('0xd'));var Redis=require(_0x0a9e('0xe'));var authService=require(_0x0a9e('0xf'));var qs=require(_0x0a9e('0x10'));var as=require(_0x0a9e('0x11'));var hardwareService=require(_0x0a9e('0x12'));var logger=require('../../config/logger')('api');var utils=require('../../config/utils');var config=require('../../config/environment');var licenseUtil=require(_0x0a9e('0x13'));var db=require(_0x0a9e('0x14'))['db'];config[_0x0a9e('0x15')]=_[_0x0a9e('0x16')](config[_0x0a9e('0x15')],{'host':_0x0a9e('0x17'),'port':0x18eb});var socket=require('socket.io-emitter')(new Redis(config[_0x0a9e('0x15')]));require(_0x0a9e('0x18'))[_0x0a9e('0x19')](socket);function respondWithStatusCode(_0x281129,_0x44dcfd){_0x44dcfd=_0x44dcfd||0xcc;return function(_0x4d5611){if(_0x4d5611){return _0x281129['sendStatus'](_0x44dcfd);}return _0x281129[_0x0a9e('0x1a')](_0x44dcfd)['end']();};}function respondWithResult(_0x1985b6,_0x519dfd){_0x519dfd=_0x519dfd||0xc8;return function(_0x16033c){if(_0x16033c){return _0x1985b6[_0x0a9e('0x1a')](_0x519dfd)['json'](_0x16033c);}};}function respondWithFilteredResult(_0x225616,_0x5a0a06){return function(_0x459eb1){if(_0x459eb1){var _0x478723=typeof _0x5a0a06[_0x0a9e('0x1b')]===_0x0a9e('0x1c')&&typeof _0x5a0a06[_0x0a9e('0x1d')]===_0x0a9e('0x1c');var _0x530eb7=_0x459eb1[_0x0a9e('0x1e')];var _0x1314ae=_0x478723?0x0:_0x5a0a06[_0x0a9e('0x1b')];var _0x1c696a=_0x478723?_0x459eb1[_0x0a9e('0x1e')]:_0x5a0a06['offset']+_0x5a0a06[_0x0a9e('0x1d')];var _0x155cce;if(_0x1c696a>=_0x530eb7){_0x1c696a=_0x530eb7;_0x155cce=0xc8;}else{_0x155cce=0xce;}_0x225616['status'](_0x155cce);return _0x225616[_0x0a9e('0x1f')]('Content-Range',_0x1314ae+'-'+_0x1c696a+'/'+_0x530eb7)['json'](_0x459eb1);}return null;};}function patchUpdates(_0x3a02e1){return function(_0x432e56){try{jsonpatch[_0x0a9e('0x20')](_0x432e56,_0x3a02e1,!![]);}catch(_0x30bae6){return BPromise['reject'](_0x30bae6);}return _0x432e56[_0x0a9e('0x21')]();};}function saveUpdates(_0x2fb0e4,_0x3b45bc){return function(_0x4d00e6){if(_0x4d00e6){return _0x4d00e6[_0x0a9e('0x22')](_0x2fb0e4)[_0x0a9e('0x23')](function(_0x16b1ca){return _0x16b1ca;});}return null;};}function removeEntity(_0x5ea472,_0x59181e){return function(_0x197ec0){if(_0x197ec0){return _0x197ec0[_0x0a9e('0x24')]()[_0x0a9e('0x23')](function(){var _0x33161b=_0x197ec0['get']({'plain':!![]});var _0x384319='OpenchannelQueues';return db[_0x0a9e('0x25')]['destroy']({'where':{'type':_0x384319,'resourceId':_0x33161b['id']}})[_0x0a9e('0x23')](function(){return _0x197ec0;});})[_0x0a9e('0x23')](function(){_0x5ea472[_0x0a9e('0x1a')](0xcc)[_0x0a9e('0x26')]();});}};}function handleEntityNotFound(_0x140511,_0x1538a4){return function(_0x11c3b6){if(!_0x11c3b6){_0x140511[_0x0a9e('0x27')](0x194);}return _0x11c3b6;};}function handleError(_0x5a101a,_0x3652a7){_0x3652a7=_0x3652a7||0x1f4;return function(_0x468813){logger[_0x0a9e('0x28')](_0x468813[_0x0a9e('0x29')]);if(_0x468813['name']){delete _0x468813[_0x0a9e('0x2a')];}_0x5a101a[_0x0a9e('0x1a')](_0x3652a7)[_0x0a9e('0x2b')](_0x468813);};}exports[_0x0a9e('0x2c')]=function(_0x58b06f,_0x563b45){var _0x296f41={},_0x2e8759={},_0x1dbde2={'count':0x0,'rows':[]};var _0x540530=_[_0x0a9e('0x2d')](db['OpenchannelQueue'][_0x0a9e('0x2e')],function(_0x3ae878){return{'name':_0x3ae878[_0x0a9e('0x2f')],'type':_0x3ae878[_0x0a9e('0x30')][_0x0a9e('0x31')]};});_0x2e8759['model']=_[_0x0a9e('0x2d')](_0x540530,_0x0a9e('0x2a'));_0x2e8759[_0x0a9e('0x32')]=_[_0x0a9e('0x33')](_0x58b06f[_0x0a9e('0x32')]);_0x2e8759[_0x0a9e('0x34')]=_[_0x0a9e('0x35')](_0x2e8759[_0x0a9e('0x36')],_0x2e8759['query']);_0x296f41[_0x0a9e('0x37')]=_['intersection'](_0x2e8759[_0x0a9e('0x36')],qs[_0x0a9e('0x38')](_0x58b06f[_0x0a9e('0x32')][_0x0a9e('0x38')]));_0x296f41['attributes']=_0x296f41[_0x0a9e('0x37')][_0x0a9e('0x39')]?_0x296f41[_0x0a9e('0x37')]:_0x2e8759[_0x0a9e('0x36')];if(!_0x58b06f['query']['hasOwnProperty'](_0x0a9e('0x3a'))){_0x296f41['limit']=qs[_0x0a9e('0x1d')](_0x58b06f[_0x0a9e('0x32')][_0x0a9e('0x1d')]);_0x296f41[_0x0a9e('0x1b')]=qs['offset'](_0x58b06f[_0x0a9e('0x32')][_0x0a9e('0x1b')]);}_0x296f41[_0x0a9e('0x3b')]=qs['sort'](_0x58b06f[_0x0a9e('0x32')][_0x0a9e('0x3c')]);_0x296f41[_0x0a9e('0x3d')]=qs['filters'](_['pick'](_0x58b06f[_0x0a9e('0x32')],_0x2e8759[_0x0a9e('0x34')]),_0x540530);if(_0x58b06f['query'][_0x0a9e('0x3e')]){_0x296f41[_0x0a9e('0x3d')]=_[_0x0a9e('0x3f')](_0x296f41[_0x0a9e('0x3d')],{'$or':_['map'](_0x540530,function(_0x5a594b){if(_0x5a594b[_0x0a9e('0x30')]!==_0x0a9e('0x40')){var _0x53f3ee={};_0x53f3ee[_0x5a594b[_0x0a9e('0x2a')]]={'$like':'%'+_0x58b06f[_0x0a9e('0x32')][_0x0a9e('0x3e')]+'%'};return _0x53f3ee;}})});}_0x296f41=_['merge']({},_0x296f41,_0x58b06f[_0x0a9e('0x41')]);var _0x2cfea9={'where':_0x296f41[_0x0a9e('0x3d')]};return db[_0x0a9e('0x42')][_0x0a9e('0x1e')](_0x2cfea9)[_0x0a9e('0x23')](function(_0x2881b3){_0x1dbde2[_0x0a9e('0x1e')]=_0x2881b3;if(_0x58b06f[_0x0a9e('0x32')][_0x0a9e('0x43')]){_0x296f41[_0x0a9e('0x44')]=[{'all':!![]}];}return db[_0x0a9e('0x42')][_0x0a9e('0x45')](_0x296f41);})[_0x0a9e('0x23')](function(_0x37f6cc){_0x1dbde2['rows']=_0x37f6cc;return _0x1dbde2;})['then'](respondWithFilteredResult(_0x563b45,_0x296f41))[_0x0a9e('0x46')](handleError(_0x563b45,null));};exports[_0x0a9e('0x47')]=function(_0x405c8f,_0x315881){var _0x1a69dd={'raw':!![],'where':{'id':_0x405c8f[_0x0a9e('0x48')]['id']}},_0xc9a702={};_0xc9a702[_0x0a9e('0x36')]=_[_0x0a9e('0x33')](db[_0x0a9e('0x42')][_0x0a9e('0x2e')]);_0xc9a702[_0x0a9e('0x32')]=_['keys'](_0x405c8f[_0x0a9e('0x32')]);_0xc9a702[_0x0a9e('0x34')]=_[_0x0a9e('0x35')](_0xc9a702[_0x0a9e('0x36')],_0xc9a702[_0x0a9e('0x32')]);_0x1a69dd[_0x0a9e('0x37')]=_[_0x0a9e('0x35')](_0xc9a702[_0x0a9e('0x36')],qs['fields'](_0x405c8f[_0x0a9e('0x32')]['fields']));_0x1a69dd[_0x0a9e('0x37')]=_0x1a69dd[_0x0a9e('0x37')][_0x0a9e('0x39')]?_0x1a69dd['attributes']:_0xc9a702[_0x0a9e('0x36')];if(_0x405c8f[_0x0a9e('0x32')][_0x0a9e('0x43')]){_0x1a69dd[_0x0a9e('0x44')]=[{'all':!![]}];}_0x1a69dd=_[_0x0a9e('0x3f')]({},_0x1a69dd,_0x405c8f[_0x0a9e('0x41')]);return db[_0x0a9e('0x42')]['find'](_0x1a69dd)[_0x0a9e('0x23')](handleEntityNotFound(_0x315881,null))[_0x0a9e('0x23')](respondWithResult(_0x315881,null))[_0x0a9e('0x46')](handleError(_0x315881,null));};exports[_0x0a9e('0x49')]=function(_0x409789,_0x992c77){return db[_0x0a9e('0x42')][_0x0a9e('0x49')](_0x409789[_0x0a9e('0x4a')],{})['then'](function(_0xe401a){var _0x3fe430=_0x409789['user']['get']({'plain':!![]});if(!_0x3fe430)throw new Error('Unable\x20to\x20retrieve\x20the\x20current\x20user');if(_0x3fe430[_0x0a9e('0x4b')]===_0x0a9e('0x4c')){var _0x37edaa=_0xe401a[_0x0a9e('0x4d')]({'plain':!![]});var _0x61bb17=_0x0a9e('0x4e');return db[_0x0a9e('0x4f')][_0x0a9e('0x50')]({'where':{'name':_0x61bb17,'userProfileId':_0x3fe430['userProfileId']},'raw':!![]})['then'](function(_0x53975a){if(_0x53975a&&_0x53975a[_0x0a9e('0x51')]===0x0){return db[_0x0a9e('0x25')][_0x0a9e('0x49')]({'name':_0x37edaa['name'],'resourceId':_0x37edaa['id'],'type':_0x53975a[_0x0a9e('0x2a')],'sectionId':_0x53975a['id']},{})[_0x0a9e('0x23')](function(){return _0xe401a;});}else{return _0xe401a;}})['catch'](function(_0x5a88da){logger[_0x0a9e('0x28')]('Unable\x20to\x20associate\x20the\x20resource\x20to\x20the\x20User\x20Profile:\x20%s',_0x5a88da);throw _0x5a88da;});}return _0xe401a;})[_0x0a9e('0x23')](respondWithResult(_0x992c77,0xc9))['catch'](handleError(_0x992c77,null));};exports[_0x0a9e('0x22')]=function(_0x3c20b2,_0x439340){if(_0x3c20b2['body']['id']){delete _0x3c20b2[_0x0a9e('0x4a')]['id'];}return db[_0x0a9e('0x42')]['find']({'where':{'id':_0x3c20b2['params']['id']}})[_0x0a9e('0x23')](handleEntityNotFound(_0x439340,null))[_0x0a9e('0x23')](saveUpdates(_0x3c20b2['body'],null))[_0x0a9e('0x23')](respondWithResult(_0x439340,null))['catch'](handleError(_0x439340,null));};exports[_0x0a9e('0x24')]=function(_0x523cd2,_0xe22ccc){return db['OpenchannelQueue']['find']({'where':{'id':_0x523cd2['params']['id']}})[_0x0a9e('0x23')](handleEntityNotFound(_0xe22ccc,null))['then'](removeEntity(_0xe22ccc,null))[_0x0a9e('0x46')](handleError(_0xe22ccc,null));};exports[_0x0a9e('0x52')]=function(_0x3cfd00,_0x19b4df){return db[_0x0a9e('0x42')][_0x0a9e('0x52')]()[_0x0a9e('0x23')](respondWithResult(_0x19b4df,null))[_0x0a9e('0x46')](handleError(_0x19b4df,null));};exports['getMembers']=function(_0x1c693e,_0x121cef,_0x2642bb){var _0x30c491={'raw':!![],'where':{}},_0xb83dfd={},_0x156662;return db['OpenchannelQueue'][_0x0a9e('0x53')]({'where':{'id':_0x1c693e[_0x0a9e('0x48')]['id']}})['then'](handleEntityNotFound(_0x121cef,null))[_0x0a9e('0x23')](function(_0x5cc8fb){if(_0x5cc8fb){_0x156662=_0x5cc8fb[_0x0a9e('0x4d')]({'plain':!![]});_0xb83dfd['model']=_['keys'](db['UserOpenchannelQueue'][_0x0a9e('0x2e')]);_0xb83dfd['query']=_[_0x0a9e('0x33')](_0x1c693e[_0x0a9e('0x32')]);_0xb83dfd[_0x0a9e('0x34')]=_[_0x0a9e('0x35')](_0xb83dfd[_0x0a9e('0x36')],_0xb83dfd[_0x0a9e('0x32')]);_0x30c491['attributes']=_[_0x0a9e('0x35')](_0xb83dfd['model'],qs[_0x0a9e('0x38')](_0x1c693e[_0x0a9e('0x32')][_0x0a9e('0x38')]));_0x30c491['attributes']=_0x30c491[_0x0a9e('0x37')][_0x0a9e('0x39')]?_0x30c491[_0x0a9e('0x37')]:_0xb83dfd[_0x0a9e('0x36')];if(!_0x1c693e['query'][_0x0a9e('0x54')](_0x0a9e('0x3a'))){_0x30c491['limit']=qs[_0x0a9e('0x1d')](_0x1c693e[_0x0a9e('0x32')][_0x0a9e('0x1d')]);_0x30c491[_0x0a9e('0x1b')]=qs[_0x0a9e('0x1b')](_0x1c693e['query'][_0x0a9e('0x1b')]);}_0x30c491[_0x0a9e('0x3b')]=qs[_0x0a9e('0x3c')](_0x1c693e['query'][_0x0a9e('0x3c')]);_0x30c491['where']=qs['filters'](_[_0x0a9e('0x55')](_0x1c693e[_0x0a9e('0x32')],_0xb83dfd[_0x0a9e('0x34')]));_0x30c491[_0x0a9e('0x3d')][_0x0a9e('0x56')]=_0x5cc8fb['id'];if(_0x1c693e[_0x0a9e('0x32')][_0x0a9e('0x3e')]){_0x30c491[_0x0a9e('0x3d')]=_[_0x0a9e('0x3f')](_0x30c491[_0x0a9e('0x3d')],{'$or':_[_0x0a9e('0x2d')](_0x30c491[_0x0a9e('0x37')],function(_0x2bbb86){var _0x2b8192={};_0x2b8192[_0x2bbb86]={'$like':'%'+_0x1c693e[_0x0a9e('0x32')][_0x0a9e('0x3e')]+'%'};return _0x2b8192;})});}_0x30c491=_[_0x0a9e('0x3f')]({},_0x30c491,_0x1c693e[_0x0a9e('0x41')]);return db['UserOpenchannelQueue'][_0x0a9e('0x45')](_0x30c491);}})[_0x0a9e('0x23')](function(_0x243d12){if(_0x243d12){return db['User'][_0x0a9e('0x57')]({'where':{'id':_[_0x0a9e('0x2d')](_0x243d12,'UserId'),'role':_0x0a9e('0x58')},'attributes':['id',_0x0a9e('0x2a'),_0x0a9e('0x59'),_0x0a9e('0x5a'),_0x0a9e('0x5b')]});}})['then'](function(_0x50cdce){if(_0x50cdce){return{'count':_0x50cdce['count'],'rows':_[_0x0a9e('0x2d')](_0x50cdce[_0x0a9e('0x5c')],function(_0x1104ad){return{'membername':_0x1104ad[_0x0a9e('0x2a')],'UserId':_0x1104ad['id'],'queue_name':_0x156662[_0x0a9e('0x2a')],'OpenchannelQueueId':_0x156662['id'],'interface':util[_0x0a9e('0x5d')](_0x0a9e('0x5e'),_0x0a9e('0x5f'),_0x1104ad['name']),'penalty':0x0,'paused':_0x1104ad[_0x0a9e('0x59')],'createdAt':_0x1104ad[_0x0a9e('0x5b')],'updatedAt':_0x1104ad[_0x0a9e('0x5a')]};})};}else{return{'count':0x0,'rows':[]};}})['then'](respondWithFilteredResult(_0x121cef,_0x30c491))[_0x0a9e('0x46')](handleError(_0x121cef,null));};exports['getTeams']=function(_0x4437ff,_0x44351d,_0x4c46c1){var _0x2ed01e={};var _0x75912a={};var _0x2cc7a7;var _0x317c0c;return db['OpenchannelQueue'][_0x0a9e('0x53')]({'where':{'id':_0x4437ff[_0x0a9e('0x48')]['id']}})[_0x0a9e('0x23')](handleEntityNotFound(_0x44351d,null))[_0x0a9e('0x23')](function(_0x5b7fc3){if(_0x5b7fc3){_0x2cc7a7=_0x5b7fc3;_0x75912a[_0x0a9e('0x36')]=_[_0x0a9e('0x33')](db[_0x0a9e('0x60')][_0x0a9e('0x2e')]);_0x75912a['query']=_[_0x0a9e('0x33')](_0x4437ff[_0x0a9e('0x32')]);_0x75912a[_0x0a9e('0x34')]=_[_0x0a9e('0x35')](_0x75912a[_0x0a9e('0x36')],_0x75912a[_0x0a9e('0x32')]);_0x2ed01e[_0x0a9e('0x37')]=_[_0x0a9e('0x35')](_0x75912a[_0x0a9e('0x36')],qs[_0x0a9e('0x38')](_0x4437ff[_0x0a9e('0x32')][_0x0a9e('0x38')]));_0x2ed01e[_0x0a9e('0x37')]=_0x2ed01e[_0x0a9e('0x37')]['length']?_0x2ed01e[_0x0a9e('0x37')]:_0x75912a[_0x0a9e('0x36')];_0x2ed01e[_0x0a9e('0x3b')]=qs['sort'](_0x4437ff[_0x0a9e('0x32')][_0x0a9e('0x3c')]);_0x2ed01e[_0x0a9e('0x3d')]=qs[_0x0a9e('0x34')](_['pick'](_0x4437ff['query'],_0x75912a[_0x0a9e('0x34')]));if(_0x4437ff[_0x0a9e('0x32')]['filter']){_0x2ed01e[_0x0a9e('0x3d')]=_['merge'](_0x2ed01e[_0x0a9e('0x3d')],{'$or':_[_0x0a9e('0x2d')](_0x2ed01e['attributes'],function(_0x28a942){var _0x41cf12={};_0x41cf12[_0x28a942]={'$like':'%'+_0x4437ff[_0x0a9e('0x32')][_0x0a9e('0x3e')]+'%'};return _0x41cf12;})});}_0x2ed01e=_[_0x0a9e('0x3f')]({},_0x2ed01e,_0x4437ff[_0x0a9e('0x41')]);return _0x2cc7a7[_0x0a9e('0x61')](_0x2ed01e);}})['then'](function(_0x2973d3){if(_0x2973d3){_0x317c0c=_0x2973d3[_0x0a9e('0x39')];if(!_0x4437ff[_0x0a9e('0x32')][_0x0a9e('0x54')]('nolimit')){_0x2ed01e[_0x0a9e('0x1d')]=qs[_0x0a9e('0x1d')](_0x4437ff['query'][_0x0a9e('0x1d')]);_0x2ed01e['offset']=qs[_0x0a9e('0x1b')](_0x4437ff[_0x0a9e('0x32')][_0x0a9e('0x1b')]);}return _0x2cc7a7[_0x0a9e('0x61')](_0x2ed01e);}})['then'](function(_0x51ccd7){if(_0x51ccd7){return _0x51ccd7?{'count':_0x317c0c,'rows':_0x51ccd7}:null;}})[_0x0a9e('0x23')](respondWithResult(_0x44351d,null))[_0x0a9e('0x46')](handleError(_0x44351d,null));};exports[_0x0a9e('0x62')]=function(_0x5ac73d,_0x3b4a9f,_0x36e975){var _0x524e38=_0x5ac73d['body'][_0x0a9e('0x63')];return db['Team']['findAll']({'where':{'id':_0x524e38},'attributes':['id'],'include':[{'model':db['User'],'as':_0x0a9e('0x64'),'attributes':['id',_0x0a9e('0x2a'),_0x0a9e('0x65'),_0x0a9e('0x66'),_0x0a9e('0x67')],'raw':!![]}]})[_0x0a9e('0x23')](function(_0x5a8854){if(_0x5a8854){var _0x5fd5db=_['flatMap'](_0x5a8854,function(_0x2871c1){var _0x2aabab=_0x2871c1[_0x0a9e('0x4d')]({'plain':!![]});return _0x2aabab[_0x0a9e('0x64')];});return db['OpenchannelQueue'][_0x0a9e('0x50')]({'where':{'id':_0x5ac73d[_0x0a9e('0x48')]['id']}})[_0x0a9e('0x23')](function(_0x5b74c3){return db[_0x0a9e('0x68')][_0x0a9e('0x69')](function(_0x2a563d){return _0x5b74c3[_0x0a9e('0x62')](_0x524e38,{'transaction':_0x2a563d})[_0x0a9e('0x23')](function(){return BPromise[_0x0a9e('0x6a')](_0x5fd5db,function(_0x32b9bd){return db[_0x0a9e('0x6b')]['findOrCreate']({'where':{'UserId':_0x32b9bd['id'],'OpenchannelQueueId':_0x5ac73d[_0x0a9e('0x48')]['id']},'transaction':_0x2a563d});});})[_0x0a9e('0x23')](function(){_0x5fd5db['forEach'](function(_0x40e0f0){socket[_0x0a9e('0x6c')](_0x0a9e('0x6d'),{'UserId':_0x40e0f0['id'],'OpenchannelQueueId':_0x5b74c3['id']});});});});});}})['then'](respondWithStatusCode(_0x3b4a9f,null))[_0x0a9e('0x46')](handleError(_0x3b4a9f,null));};exports['removeTeams']=function(_0x8c8fbe,_0x2b5148,_0x558a87){return db[_0x0a9e('0x60')][_0x0a9e('0x45')]({'where':{'id':_0x8c8fbe[_0x0a9e('0x32')][_0x0a9e('0x63')]},'attributes':['id'],'include':[{'model':db[_0x0a9e('0x6e')],'as':'Agents','attributes':['id'],'raw':!![]}]})[_0x0a9e('0x23')](handleEntityNotFound(_0x2b5148,null))[_0x0a9e('0x23')](function(_0x17f692){var _0x30ef6e=_[_0x0a9e('0x2d')](_0x17f692,'id');var _0x3df9e4=[];var _0x6803d6=[];var _0x33f0c9=squel[_0x0a9e('0x6f')]();_0x33f0c9[_0x0a9e('0x70')](_0x0a9e('0x71'))[_0x0a9e('0x72')](_0x0a9e('0x73'),'tq')['join'](_0x0a9e('0x74'),'ut',_0x0a9e('0x75'))[_0x0a9e('0x3d')](_0x0a9e('0x76'),_0x8c8fbe[_0x0a9e('0x48')]['id']);for(var _0x5d9ddb=0x0;_0x5d9ddb<_0x17f692[_0x0a9e('0x39')];_0x5d9ddb+=0x1){let _0x1756c7=_0x17f692[_0x5d9ddb];for(var _0x5ce99d=0x0;_0x5ce99d<_0x1756c7[_0x0a9e('0x64')]['length'];_0x5ce99d+=0x1){let _0x45d113=_0x1756c7[_0x0a9e('0x64')][_0x5ce99d];var _0x1d93b1=_0x33f0c9[_0x0a9e('0x77')]();_0x1d93b1['where'](_0x0a9e('0x78'),_0x45d113['id']);_0x6803d6['push'](db[_0x0a9e('0x68')][_0x0a9e('0x32')](_0x1d93b1['toString'](),{'type':db[_0x0a9e('0x68')][_0x0a9e('0x79')][_0x0a9e('0x7a')]})['then'](function(_0x4c788f){if(_0x4c788f[_0x0a9e('0x39')]===0x1){return _0x45d113['id'];}else{var _0x6ba2be=_[_0x0a9e('0x7b')](_[_0x0a9e('0x2d')](_0x4c788f,_0x0a9e('0x7c')),function(_0x2450a8){return _[_0x0a9e('0x7d')](_0x30ef6e,_0x2450a8);});if(_0x6ba2be){return _0x45d113['id'];}}}));}}return BPromise[_0x0a9e('0x7e')](_0x6803d6)[_0x0a9e('0x23')](function(_0x586510){_0x3df9e4=_(_0x3df9e4)[_0x0a9e('0x7f')](_0x586510)['compact']()[_0x0a9e('0x80')]();return db[_0x0a9e('0x42')][_0x0a9e('0x50')]({'where':{'id':_0x8c8fbe[_0x0a9e('0x48')]['id']}})[_0x0a9e('0x23')](function(_0x4e7273){return db[_0x0a9e('0x68')][_0x0a9e('0x69')](function(_0x2791c5){return _0x4e7273[_0x0a9e('0x81')](_0x8c8fbe[_0x0a9e('0x32')]['ids'],{'transaction':_0x2791c5})['then'](function(){if(!_[_0x0a9e('0x82')](_0x3df9e4)){return _0x4e7273['removeAgents'](_0x3df9e4,{'transaction':_0x2791c5});}})[_0x0a9e('0x23')](function(){_0x3df9e4[_0x0a9e('0x83')](function(_0x4672e1){socket[_0x0a9e('0x6c')](_0x0a9e('0x84'),{'UserId':_0x4672e1,'OpenchannelQueueId':_0x4e7273['id']});});});});});});})[_0x0a9e('0x23')](respondWithStatusCode(_0x2b5148,null))['catch'](handleError(_0x2b5148,null));};exports['addAgents']=function(_0x1889ed,_0x5dfbe2,_0x2469d1){return db['OpenchannelQueue'][_0x0a9e('0x50')]({'where':{'id':_0x1889ed['params']['id']}})['then'](handleEntityNotFound(_0x5dfbe2,null))[_0x0a9e('0x23')](function(_0xb8db59){if(_0xb8db59){return _0xb8db59['addAgents'](_0x1889ed[_0x0a9e('0x4a')][_0x0a9e('0x63')],_[_0x0a9e('0x85')](_0x1889ed[_0x0a9e('0x4a')],[_0x0a9e('0x63'),'id'])||{})['spread'](function(_0x5505f4){for(var _0x16449b=0x0;_0x16449b<_0x1889ed[_0x0a9e('0x4a')][_0x0a9e('0x63')][_0x0a9e('0x39')];_0x16449b+=0x1){socket[_0x0a9e('0x6c')]('userOpenchannelQueue:save',{'UserId':_0x1889ed[_0x0a9e('0x4a')][_0x0a9e('0x63')][_0x16449b],'OpenchannelQueueId':_0x1889ed['params']['id']});}return _0x5505f4;});}})[_0x0a9e('0x23')](respondWithResult(_0x5dfbe2,null))[_0x0a9e('0x46')](handleError(_0x5dfbe2,null));};exports[_0x0a9e('0x86')]=function(_0x2427d5,_0x23b25b,_0x23b39e){return db[_0x0a9e('0x42')][_0x0a9e('0x50')]({'where':{'id':_0x2427d5[_0x0a9e('0x48')]['id']}})[_0x0a9e('0x23')](handleEntityNotFound(_0x23b25b,null))['then'](function(_0x1065a7){if(_0x1065a7){return _0x1065a7[_0x0a9e('0x86')](_0x2427d5[_0x0a9e('0x32')][_0x0a9e('0x63')])[_0x0a9e('0x23')](function(){if(_['isArray'](_0x2427d5['query'][_0x0a9e('0x63')])){for(var _0x16ae1a=0x0;_0x16ae1a<_0x2427d5[_0x0a9e('0x32')][_0x0a9e('0x63')][_0x0a9e('0x39')];_0x16ae1a+=0x1){socket['emit'](_0x0a9e('0x84'),{'UserId':Number(_0x2427d5[_0x0a9e('0x32')][_0x0a9e('0x63')][_0x16ae1a]),'OpenchannelQueueId':Number(_0x2427d5['params']['id'])});}}else{socket[_0x0a9e('0x6c')]('userOpenchannelQueue:remove',{'UserId':Number(_0x2427d5[_0x0a9e('0x32')]['ids']),'OpenchannelQueueId':Number(_0x2427d5[_0x0a9e('0x48')]['id'])});}});}})[_0x0a9e('0x23')](respondWithStatusCode(_0x23b25b,null))[_0x0a9e('0x46')](handleError(_0x23b25b,null));};exports['getAgents']=function(_0xc9529d,_0x5ed560,_0x4383da){var _0x2b1824={};var _0x43a00a={};var _0x6c47cd;var _0x3a5836;return db[_0x0a9e('0x42')][_0x0a9e('0x53')]({'where':{'id':_0xc9529d[_0x0a9e('0x48')]['id']}})[_0x0a9e('0x23')](handleEntityNotFound(_0x5ed560,null))[_0x0a9e('0x23')](function(_0x4262d0){if(_0x4262d0){_0x6c47cd=_0x4262d0;_0x43a00a[_0x0a9e('0x36')]=_[_0x0a9e('0x33')](db[_0x0a9e('0x6e')][_0x0a9e('0x2e')]);_0x43a00a[_0x0a9e('0x32')]=_['keys'](_0xc9529d['query']);_0x43a00a[_0x0a9e('0x34')]=_['intersection'](_0x43a00a[_0x0a9e('0x36')],_0x43a00a[_0x0a9e('0x32')]);_0x2b1824['attributes']=_[_0x0a9e('0x35')](_0x43a00a[_0x0a9e('0x36')],qs[_0x0a9e('0x38')](_0xc9529d[_0x0a9e('0x32')]['fields']));_0x2b1824[_0x0a9e('0x37')]=_0x2b1824[_0x0a9e('0x37')][_0x0a9e('0x39')]?_0x2b1824[_0x0a9e('0x37')]:_0x43a00a['model'];_0x2b1824[_0x0a9e('0x3b')]=qs[_0x0a9e('0x3c')](_0xc9529d[_0x0a9e('0x32')]['sort']);_0x2b1824[_0x0a9e('0x3d')]=qs[_0x0a9e('0x34')](_[_0x0a9e('0x55')](_0xc9529d['query'],_0x43a00a[_0x0a9e('0x34')]));if(_0xc9529d[_0x0a9e('0x32')][_0x0a9e('0x3e')]){_0x2b1824[_0x0a9e('0x3d')]=_[_0x0a9e('0x3f')](_0x2b1824['where'],{'$or':_[_0x0a9e('0x2d')](_0x2b1824[_0x0a9e('0x37')],function(_0x4795ae){var _0x3bab3e={};_0x3bab3e[_0x4795ae]={'$like':'%'+_0xc9529d[_0x0a9e('0x32')][_0x0a9e('0x3e')]+'%'};return _0x3bab3e;})});}_0x2b1824=_['merge']({},_0x2b1824,_0xc9529d['options']);return _0x6c47cd['getAgents'](_0x2b1824);}})[_0x0a9e('0x23')](function(_0x4a70ce){if(_0x4a70ce){_0x3a5836=_0x4a70ce['length'];if(!_0xc9529d[_0x0a9e('0x32')][_0x0a9e('0x54')](_0x0a9e('0x3a'))){_0x2b1824['limit']=qs[_0x0a9e('0x1d')](_0xc9529d[_0x0a9e('0x32')][_0x0a9e('0x1d')]);_0x2b1824[_0x0a9e('0x1b')]=qs[_0x0a9e('0x1b')](_0xc9529d[_0x0a9e('0x32')][_0x0a9e('0x1b')]);}return _0x6c47cd[_0x0a9e('0x87')](_0x2b1824);}})[_0x0a9e('0x23')](function(_0x5a1848){if(_0x5a1848){return _0x5a1848?{'count':_0x3a5836,'rows':_0x5a1848}:null;}})[_0x0a9e('0x23')](respondWithResult(_0x5ed560,null))['catch'](handleError(_0x5ed560,null));};