The communications platform that puts data protection first.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Rocket.Chat/app/cloud/client/admin/callback.js

46 lines
1.1 KiB

import './callback.html';
import { Meteor } from 'meteor/meteor';
import { ReactiveVar } from 'meteor/reactive-var';
import { Template } from 'meteor/templating';
import { Tracker } from 'meteor/tracker';
import { FlowRouter } from 'meteor/kadira:flow-router';
import queryString from 'query-string';
import { SideNav } from '../../../ui-utils/client';
Template.cloudCallback.onCreated(function() {
const instance = this;
instance.loading = new ReactiveVar(true);
instance.callbackError = new ReactiveVar({ error: false });
const params = queryString.parse(location.search);
if (params.error_code) {
instance.callbackError.set({ error: true, errorCode: params.error_code });
} else {
Meteor.call('cloud:finishOAuthAuthorization', params.code, params.state, (error) => {
if (error) {
console.warn('cloud:finishOAuthAuthorization', error);
return;
}
FlowRouter.go('/admin/cloud');
});
}
});
Template.cloudCallback.helpers({
callbackError() {
return Template.instance().callbackError.get();
},
});
Template.cloudCallback.onRendered(() => {
Tracker.afterFlush(() => {
SideNav.setFlex('adminFlex');
SideNav.openFlex();
});
});