Remove excessive scalar auth checks in manager util class

pull/21833/head
Travis Ralston 2019-06-17 15:50:09 -06:00
parent 974a11ed20
commit d58ab8e6d0
1 changed files with 16 additions and 49 deletions

View File

@ -22,55 +22,22 @@ import ScalarAuthClient from './ScalarAuthClient';
import RoomViewStore from './stores/RoomViewStore'; import RoomViewStore from './stores/RoomViewStore';
import MatrixClientPeg from "./MatrixClientPeg"; import MatrixClientPeg from "./MatrixClientPeg";
if (!global.mxIntegrationManager) { // TODO: We should use this everywhere.
global.mxIntegrationManager = {};
}
// TODO: TravisR - What even is this?
export default class IntegrationManager { export default class IntegrationManager {
static _init() { /**
if (!global.mxIntegrationManager.client || !global.mxIntegrationManager.connected) { * Launch the integrations manager on the specified integration page
if (SdkConfig.get().integrations_ui_url && SdkConfig.get().integrations_rest_url) { * @param {string} integName integration / widget type
ScalarMessaging.startListening(); * @param {string} integId integration / widget ID
global.mxIntegrationManager.client = new ScalarAuthClient(); * @param {function} onFinished Callback to invoke on integration manager close
*/
return global.mxIntegrationManager.client.connect().then(() => { static async open(integName, integId, onFinished) {
global.mxIntegrationManager.connected = true; // The dialog will take care of scalar auth for us
}).catch((e) => { const IntegrationsManager = sdk.getComponent("views.settings.IntegrationsManager");
console.error("Failed to connect to integrations server", e); Modal.createTrackedDialog('Integrations Manager', '', IntegrationsManager, {
global.mxIntegrationManager.error = e; room: MatrixClientPeg.get().getRoom(RoomViewStore.getRoomId()),
}); screen: 'type_' + integName,
} else { integrationId: integId,
console.error('Invalid integration manager config', SdkConfig.get()); onFinished: onFinished,
} }, "mx_IntegrationsManager");
} }
}
/**
* Launch the integrations manager on the specified integration page
* @param {string} integName integration / widget type
* @param {string} integId integration / widget ID
* @param {function} onFinished Callback to invoke on integration manager close
*/
static async open(integName, integId, onFinished) {
await IntegrationManager._init();
if (global.mxIntegrationManager.client) {
await global.mxIntegrationManager.client.connect();
} else {
return;
}
const IntegrationsManager = sdk.getComponent("views.settings.IntegrationsManager");
if (global.mxIntegrationManager.error ||
!(global.mxIntegrationManager.client && global.mxIntegrationManager.client.hasCredentials())) {
console.error("Scalar error", global.mxIntegrationManager);
return;
}
Modal.createTrackedDialog('Integrations Manager', '', IntegrationsManager, {
room: MatrixClientPeg.get().getRoom(RoomViewStore.getRoomId()),
screen: 'type_' + integName,
integrationId: integId,
onFinished: onFinished,
}, "mx_IntegrationsManager");
}
} }