Remove one indirection for ConfigContext

Things like ConfigContext.BACKEND_ENDPOINT are dynamically changed, and assigning them statically like this only bypasses that mechanism :(

Co-authored-by: Steve Faulkner <471400+southpolesteve@users.noreply.github.com>
This commit is contained in:
Jordi Bunster
2020-10-06 15:30:24 -07:00
committed by GitHub
parent f5bbd52311
commit 0cc38868a6
13 changed files with 49 additions and 76 deletions

View File

@@ -953,7 +953,6 @@ exports[`SettingsComponent renders 1`] = `
"validPartitionKeyValue": [Function],
"visible": [Function],
},
"extensionEndpoint": [Function],
"features": [Function],
"flight": [Function],
"graphStylingPane": GraphStylingPane {
@@ -2268,7 +2267,6 @@ exports[`SettingsComponent renders 1`] = `
"validPartitionKeyValue": [Function],
"visible": [Function],
},
"extensionEndpoint": [Function],
"features": [Function],
"flight": [Function],
"graphStylingPane": GraphStylingPane {
@@ -3596,7 +3594,6 @@ exports[`SettingsComponent renders 1`] = `
"validPartitionKeyValue": [Function],
"visible": [Function],
},
"extensionEndpoint": [Function],
"features": [Function],
"flight": [Function],
"graphStylingPane": GraphStylingPane {
@@ -4911,7 +4908,6 @@ exports[`SettingsComponent renders 1`] = `
"validPartitionKeyValue": [Function],
"visible": [Function],
},
"extensionEndpoint": [Function],
"features": [Function],
"flight": [Function],
"graphStylingPane": GraphStylingPane {

View File

@@ -140,7 +140,6 @@ export default class Explorer {
public canSaveQueries: ko.Computed<boolean>;
public features: ko.Observable<any>;
public serverId: ko.Observable<string>;
public extensionEndpoint: ko.Observable<string>;
public armEndpoint: ko.Observable<string>;
public isTryCosmosDBSubscription: ko.Observable<boolean>;
public notificationsClient: NotificationsClientBase;
@@ -383,7 +382,6 @@ export default class Explorer {
this.features = ko.observable();
this.serverId = ko.observable<string>();
this.extensionEndpoint = ko.observable<string>(undefined);
this.armEndpoint = ko.observable<string>(undefined);
this.queriesClient = new QueriesClient(this);
this.isTryCosmosDBSubscription = ko.observable<boolean>(false);
@@ -1912,9 +1910,8 @@ export default class Explorer {
}
this.features(inputs.features);
this.serverId(inputs.serverId);
this.extensionEndpoint(inputs.extensionEndpoint || "");
this.armEndpoint(EnvironmentUtility.normalizeArmEndpointUri(inputs.csmEndpoint || configContext.ARM_ENDPOINT));
this.notificationsClient.setExtensionEndpoint(this.extensionEndpoint());
this.notificationsClient.setExtensionEndpoint(configContext.BACKEND_ENDPOINT);
this.databaseAccount(databaseAccount);
this.subscriptionType(inputs.subscriptionType);
this.quotaId(inputs.quotaId);
@@ -1930,6 +1927,7 @@ export default class Explorer {
this._importExplorerConfigComplete = true;
updateConfigContext({
BACKEND_ENDPOINT: inputs.extensionEndpoint || "",
ARM_ENDPOINT: this.armEndpoint()
});
@@ -2633,7 +2631,7 @@ export default class Explorer {
const databaseAccount = this.databaseAccount();
const databaseAccountLocation = databaseAccount && databaseAccount.location.toLowerCase();
const disallowedLocationsUri = `${this.extensionEndpoint()}/api/disallowedLocations`;
const disallowedLocationsUri = `${configContext.BACKEND_ENDPOINT}/api/disallowedLocations`;
const authorizationHeader = getAuthorizationHeader();
try {
const response = await fetch(disallowedLocationsUri, {

View File

@@ -22,6 +22,7 @@ import {
updateDocument,
createDocument
} from "../../Common/DocumentClientUtilityBase";
import { configContext } from "../../ConfigContext";
export interface CassandraTableKeys {
partitionKeys: CassandraTableKey[];
@@ -307,7 +308,7 @@ export class CassandraAPIDataClient extends TableDataClient {
authType === AuthType.EncryptedToken
? Constants.CassandraBackend.guestQueryApi
: Constants.CassandraBackend.queryApi;
$.ajax(`${collection.container.extensionEndpoint()}/${apiEndpoint}`, {
$.ajax(`${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`, {
type: "POST",
data: {
accountName: collection && collection.container.databaseAccount && collection.container.databaseAccount().name,
@@ -558,7 +559,7 @@ export class CassandraAPIDataClient extends TableDataClient {
authType === AuthType.EncryptedToken
? Constants.CassandraBackend.guestKeysApi
: Constants.CassandraBackend.keysApi;
let endpoint = `${collection.container.extensionEndpoint()}/${apiEndpoint}`;
let endpoint = `${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`;
const deferred = Q.defer<CassandraTableKeys>();
$.ajax(endpoint, {
type: "POST",
@@ -613,7 +614,7 @@ export class CassandraAPIDataClient extends TableDataClient {
authType === AuthType.EncryptedToken
? Constants.CassandraBackend.guestSchemaApi
: Constants.CassandraBackend.schemaApi;
let endpoint = `${collection.container.extensionEndpoint()}/${apiEndpoint}`;
let endpoint = `${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`;
const deferred = Q.defer<CassandraTableKey[]>();
$.ajax(endpoint, {
type: "POST",
@@ -667,7 +668,7 @@ export class CassandraAPIDataClient extends TableDataClient {
authType === AuthType.EncryptedToken
? Constants.CassandraBackend.guestCreateOrDeleteApi
: Constants.CassandraBackend.createOrDeleteApi;
$.ajax(`${explorer.extensionEndpoint()}/${apiEndpoint}`, {
$.ajax(`${configContext.BACKEND_ENDPOINT}/${apiEndpoint}`, {
type: "POST",
data: {
accountName: explorer.databaseAccount() && explorer.databaseAccount().name,

View File

@@ -13,6 +13,7 @@ import * as NotificationConsoleUtils from "../../Utils/NotificationConsoleUtils"
import { PlatformType } from "../../PlatformType";
import Explorer from "../Explorer";
import { userContext } from "../../UserContext";
import { configContext } from "../../ConfigContext";
export default class MongoShellTab extends TabsBase {
public url: ko.Computed<string>;
@@ -30,9 +31,8 @@ export default class MongoShellTab extends TabsBase {
const accountName = account && account.name;
const mongoEndpoint = account && (account.properties.mongoEndpoint || account.properties.documentEndpoint);
this._runtimeEndpoint =
window.dataExplorerPlatform == PlatformType.Hosted ? AuthHeadersUtil.extensionEndpoint : "";
const extensionEndpoint: string = this._container.extensionEndpoint() || this._runtimeEndpoint || "";
this._runtimeEndpoint = window.dataExplorerPlatform === PlatformType.Hosted ? configContext.BACKEND_ENDPOINT : "";
const extensionEndpoint: string = configContext.BACKEND_ENDPOINT || this._runtimeEndpoint || "";
let baseUrl = "/content/mongoshell/dist/";
if (this._container.serverId() === "localhost") {
baseUrl = "/content/mongoshell/";
@@ -108,7 +108,7 @@ export default class MongoShellTab extends TabsBase {
) + Constants.MongoDBAccounts.defaultPort.toString();
const databaseId = this.collection.databaseId;
const collectionId = this.collection.id();
const apiEndpoint = this._container.extensionEndpoint();
const apiEndpoint = configContext.BACKEND_ENDPOINT;
const encryptedAuthToken: string = userContext.accessToken;
shellIframe.contentWindow.postMessage(
@@ -125,7 +125,7 @@ export default class MongoShellTab extends TabsBase {
apiEndpoint: apiEndpoint
}
},
this._container.extensionEndpoint()
configContext.BACKEND_ENDPOINT
);
}