Cleanup extension endpoint loading (#224)
This commit is contained in:
parent
2e747a1a07
commit
91aa91d860
|
@ -170,89 +170,8 @@ export enum MongoBackendEndpointType {
|
||||||
remote
|
remote
|
||||||
}
|
}
|
||||||
|
|
||||||
export class MongoBackend {
|
|
||||||
public static localhostEndpoint: string = "/api/mongo/explorer";
|
|
||||||
public static centralUsEndpoint: string = "https://main.documentdb.ext.azure.com/api/mongo/explorer";
|
|
||||||
public static northEuropeEndpoint: string = "https://main.documentdb.ext.azure.com/api/mongo/explorer";
|
|
||||||
public static southEastAsiaEndpoint: string = "https://main.documentdb.ext.azure.com/api/mongo/explorer";
|
|
||||||
|
|
||||||
public static endpointsByRegion: any = {
|
|
||||||
default: MongoBackend.centralUsEndpoint,
|
|
||||||
northeurope: MongoBackend.northEuropeEndpoint,
|
|
||||||
ukwest: MongoBackend.northEuropeEndpoint,
|
|
||||||
uksouth: MongoBackend.northEuropeEndpoint,
|
|
||||||
westeurope: MongoBackend.northEuropeEndpoint,
|
|
||||||
australiaeast: MongoBackend.southEastAsiaEndpoint,
|
|
||||||
australiasoutheast: MongoBackend.southEastAsiaEndpoint,
|
|
||||||
centralindia: MongoBackend.southEastAsiaEndpoint,
|
|
||||||
eastasia: MongoBackend.southEastAsiaEndpoint,
|
|
||||||
japaneast: MongoBackend.southEastAsiaEndpoint,
|
|
||||||
japanwest: MongoBackend.southEastAsiaEndpoint,
|
|
||||||
koreacentral: MongoBackend.southEastAsiaEndpoint,
|
|
||||||
koreasouth: MongoBackend.southEastAsiaEndpoint,
|
|
||||||
southeastasia: MongoBackend.southEastAsiaEndpoint,
|
|
||||||
southindia: MongoBackend.southEastAsiaEndpoint,
|
|
||||||
westindia: MongoBackend.southEastAsiaEndpoint
|
|
||||||
};
|
|
||||||
|
|
||||||
public static endpointsByEnvironment: any = {
|
|
||||||
default: MongoBackendEndpointType.local,
|
|
||||||
localhost: MongoBackendEndpointType.local,
|
|
||||||
prod1: MongoBackendEndpointType.remote,
|
|
||||||
prod2: MongoBackendEndpointType.remote
|
|
||||||
};
|
|
||||||
}
|
|
||||||
|
|
||||||
// TODO: 435619 Add default endpoints per cloud and use regional only when available
|
// TODO: 435619 Add default endpoints per cloud and use regional only when available
|
||||||
export class CassandraBackend {
|
export class CassandraBackend {
|
||||||
public static readonly localhostEndpoint: string = "https://localhost:12901/";
|
|
||||||
public static readonly devEndpoint: string = "https://platformproxycassandradev.azurewebsites.net/";
|
|
||||||
|
|
||||||
public static readonly centralUsEndpoint: string = "https://main.documentdb.ext.azure.com/";
|
|
||||||
public static readonly northEuropeEndpoint: string = "https://main.documentdb.ext.azure.com/";
|
|
||||||
public static readonly southEastAsiaEndpoint: string = "https://main.documentdb.ext.azure.com/";
|
|
||||||
|
|
||||||
public static readonly bf_default: string = "https://main.documentdb.ext.microsoftazure.de/";
|
|
||||||
public static readonly mc_default: string = "https://main.documentdb.ext.azure.cn/";
|
|
||||||
public static readonly ff_default: string = "https://main.documentdb.ext.azure.us/";
|
|
||||||
|
|
||||||
public static readonly endpointsByRegion: any = {
|
|
||||||
default: CassandraBackend.centralUsEndpoint,
|
|
||||||
northeurope: CassandraBackend.northEuropeEndpoint,
|
|
||||||
ukwest: CassandraBackend.northEuropeEndpoint,
|
|
||||||
uksouth: CassandraBackend.northEuropeEndpoint,
|
|
||||||
westeurope: CassandraBackend.northEuropeEndpoint,
|
|
||||||
australiaeast: CassandraBackend.southEastAsiaEndpoint,
|
|
||||||
australiasoutheast: CassandraBackend.southEastAsiaEndpoint,
|
|
||||||
centralindia: CassandraBackend.southEastAsiaEndpoint,
|
|
||||||
eastasia: CassandraBackend.southEastAsiaEndpoint,
|
|
||||||
japaneast: CassandraBackend.southEastAsiaEndpoint,
|
|
||||||
japanwest: CassandraBackend.southEastAsiaEndpoint,
|
|
||||||
koreacentral: CassandraBackend.southEastAsiaEndpoint,
|
|
||||||
koreasouth: CassandraBackend.southEastAsiaEndpoint,
|
|
||||||
southeastasia: CassandraBackend.southEastAsiaEndpoint,
|
|
||||||
southindia: CassandraBackend.southEastAsiaEndpoint,
|
|
||||||
westindia: CassandraBackend.southEastAsiaEndpoint,
|
|
||||||
|
|
||||||
// Black Forest
|
|
||||||
germanycentral: CassandraBackend.bf_default,
|
|
||||||
germanynortheast: CassandraBackend.bf_default,
|
|
||||||
|
|
||||||
// Fairfax
|
|
||||||
usdodeast: CassandraBackend.ff_default,
|
|
||||||
usdodcentral: CassandraBackend.ff_default,
|
|
||||||
usgovarizona: CassandraBackend.ff_default,
|
|
||||||
usgoviowa: CassandraBackend.ff_default,
|
|
||||||
usgovtexas: CassandraBackend.ff_default,
|
|
||||||
usgovvirginia: CassandraBackend.ff_default,
|
|
||||||
|
|
||||||
// Mooncake
|
|
||||||
chinaeast: CassandraBackend.mc_default,
|
|
||||||
chinaeast2: CassandraBackend.mc_default,
|
|
||||||
chinanorth: CassandraBackend.mc_default,
|
|
||||||
chinanorth2: CassandraBackend.mc_default
|
|
||||||
};
|
|
||||||
|
|
||||||
public static readonly createOrDeleteApi: string = "api/cassandra/createordelete";
|
public static readonly createOrDeleteApi: string = "api/cassandra/createordelete";
|
||||||
public static readonly guestCreateOrDeleteApi: string = "api/guest/cassandra/createordelete";
|
public static readonly guestCreateOrDeleteApi: string = "api/guest/cassandra/createordelete";
|
||||||
public static readonly queryApi: string = "api/cassandra";
|
public static readonly queryApi: string = "api/cassandra";
|
||||||
|
|
|
@ -1,49 +1,8 @@
|
||||||
import * as Constants from "../Common/Constants";
|
|
||||||
import * as ViewModels from "../Contracts/ViewModels";
|
|
||||||
import { AuthType } from "../AuthType";
|
|
||||||
import { StringUtils } from "../Utils/StringUtils";
|
|
||||||
import Explorer from "../Explorer/Explorer";
|
|
||||||
|
|
||||||
export default class EnvironmentUtility {
|
export default class EnvironmentUtility {
|
||||||
public static getMongoBackendEndpoint(serverId: string, location: string, extensionEndpoint: string = ""): string {
|
|
||||||
const defaultEnvironment: string = "default";
|
|
||||||
const defaultLocation: string = "default";
|
|
||||||
let environment: string = serverId;
|
|
||||||
const endpointType: Constants.MongoBackendEndpointType =
|
|
||||||
Constants.MongoBackend.endpointsByEnvironment[environment] ||
|
|
||||||
Constants.MongoBackend.endpointsByEnvironment[defaultEnvironment];
|
|
||||||
if (endpointType === Constants.MongoBackendEndpointType.local) {
|
|
||||||
return `${extensionEndpoint}${Constants.MongoBackend.localhostEndpoint}`;
|
|
||||||
}
|
|
||||||
|
|
||||||
const normalizedLocation = EnvironmentUtility.normalizeRegionName(location);
|
|
||||||
return (
|
|
||||||
Constants.MongoBackend.endpointsByRegion[normalizedLocation] ||
|
|
||||||
Constants.MongoBackend.endpointsByRegion[defaultLocation]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static isAadUser(): boolean {
|
|
||||||
return window.authType === AuthType.AAD;
|
|
||||||
}
|
|
||||||
|
|
||||||
public static getCassandraBackendEndpoint(explorer: Explorer): string {
|
|
||||||
const defaultLocation: string = "default";
|
|
||||||
const location: string = EnvironmentUtility.normalizeRegionName(explorer.databaseAccount().location);
|
|
||||||
return (
|
|
||||||
Constants.CassandraBackend.endpointsByRegion[location] ||
|
|
||||||
Constants.CassandraBackend.endpointsByRegion[defaultLocation]
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
public static normalizeArmEndpointUri(uri: string): string {
|
public static normalizeArmEndpointUri(uri: string): string {
|
||||||
if (uri && uri.slice(-1) !== "/") {
|
if (uri && uri.slice(-1) !== "/") {
|
||||||
return `${uri}/`;
|
return `${uri}/`;
|
||||||
}
|
}
|
||||||
return uri;
|
return uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static normalizeRegionName(region: string): string {
|
|
||||||
return region && StringUtils.stripSpacesFromString(region.toLocaleLowerCase());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,9 +1,8 @@
|
||||||
import { AuthType } from "../AuthType";
|
import { AuthType } from "../AuthType";
|
||||||
import { configContext, resetConfigContext, updateConfigContext } from "../ConfigContext";
|
import { resetConfigContext, updateConfigContext } from "../ConfigContext";
|
||||||
import { DatabaseAccount } from "../Contracts/DataModels";
|
import { DatabaseAccount } from "../Contracts/DataModels";
|
||||||
import { Collection } from "../Contracts/ViewModels";
|
import { Collection } from "../Contracts/ViewModels";
|
||||||
import DocumentId from "../Explorer/Tree/DocumentId";
|
import DocumentId from "../Explorer/Tree/DocumentId";
|
||||||
import { ResourceProviderClient } from "../ResourceProvider/ResourceProviderClient";
|
|
||||||
import { updateUserContext } from "../UserContext";
|
import { updateUserContext } from "../UserContext";
|
||||||
import { deleteDocument, getEndpoint, queryDocuments, readDocument, updateDocument } from "./MongoProxyClient";
|
import { deleteDocument, getEndpoint, queryDocuments, readDocument, updateDocument } from "./MongoProxyClient";
|
||||||
jest.mock("../ResourceProvider/ResourceProviderClient.ts");
|
jest.mock("../ResourceProvider/ResourceProviderClient.ts");
|
||||||
|
@ -237,19 +236,19 @@ describe("MongoProxyClient", () => {
|
||||||
});
|
});
|
||||||
|
|
||||||
it("returns a production endpoint", () => {
|
it("returns a production endpoint", () => {
|
||||||
const endpoint = getEndpoint(databaseAccount as DatabaseAccount);
|
const endpoint = getEndpoint();
|
||||||
expect(endpoint).toEqual("https://main.documentdb.ext.azure.com/api/mongo/explorer");
|
expect(endpoint).toEqual("https://main.documentdb.ext.azure.com/api/mongo/explorer");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("returns a development endpoint", () => {
|
it("returns a development endpoint", () => {
|
||||||
updateConfigContext({ MONGO_BACKEND_ENDPOINT: "https://localhost:1234" });
|
updateConfigContext({ MONGO_BACKEND_ENDPOINT: "https://localhost:1234" });
|
||||||
const endpoint = getEndpoint(databaseAccount as DatabaseAccount);
|
const endpoint = getEndpoint();
|
||||||
expect(endpoint).toEqual("https://localhost:1234/api/mongo/explorer");
|
expect(endpoint).toEqual("https://localhost:1234/api/mongo/explorer");
|
||||||
});
|
});
|
||||||
|
|
||||||
it("returns a guest endpoint", () => {
|
it("returns a guest endpoint", () => {
|
||||||
window.authType = AuthType.EncryptedToken;
|
window.authType = AuthType.EncryptedToken;
|
||||||
const endpoint = getEndpoint(databaseAccount as DatabaseAccount);
|
const endpoint = getEndpoint();
|
||||||
expect(endpoint).toEqual("https://main.documentdb.ext.azure.com/api/guest/mongo/explorer");
|
expect(endpoint).toEqual("https://main.documentdb.ext.azure.com/api/guest/mongo/explorer");
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
@ -10,7 +10,6 @@ import DocumentId from "../Explorer/Tree/DocumentId";
|
||||||
import * as NotificationConsoleUtils from "../Utils/NotificationConsoleUtils";
|
import * as NotificationConsoleUtils from "../Utils/NotificationConsoleUtils";
|
||||||
import { ApiType, HttpHeaders, HttpStatusCodes } from "./Constants";
|
import { ApiType, HttpHeaders, HttpStatusCodes } from "./Constants";
|
||||||
import { userContext } from "../UserContext";
|
import { userContext } from "../UserContext";
|
||||||
import EnvironmentUtility from "./EnvironmentUtility";
|
|
||||||
import { MinimalQueryIterator } from "./IteratorUtilities";
|
import { MinimalQueryIterator } from "./IteratorUtilities";
|
||||||
import { sendMessage } from "./MessageHandler";
|
import { sendMessage } from "./MessageHandler";
|
||||||
|
|
||||||
|
@ -78,7 +77,7 @@ export function queryDocuments(
|
||||||
collection && collection.partitionKey && !collection.partitionKey.systemKey ? collection.partitionKeyProperty : ""
|
collection && collection.partitionKey && !collection.partitionKey.systemKey ? collection.partitionKeyProperty : ""
|
||||||
};
|
};
|
||||||
|
|
||||||
const endpoint = getEndpoint(databaseAccount) || "";
|
const endpoint = getEndpoint() || "";
|
||||||
|
|
||||||
const headers = {
|
const headers = {
|
||||||
...defaultHeaders,
|
...defaultHeaders,
|
||||||
|
@ -139,7 +138,7 @@ export function readDocument(
|
||||||
documentId && documentId.partitionKey && !documentId.partitionKey.systemKey ? documentId.partitionKeyProperty : ""
|
documentId && documentId.partitionKey && !documentId.partitionKey.systemKey ? documentId.partitionKeyProperty : ""
|
||||||
};
|
};
|
||||||
|
|
||||||
const endpoint = getEndpoint(databaseAccount);
|
const endpoint = getEndpoint();
|
||||||
return window
|
return window
|
||||||
.fetch(`${endpoint}?${queryString.stringify(params)}`, {
|
.fetch(`${endpoint}?${queryString.stringify(params)}`, {
|
||||||
method: "GET",
|
method: "GET",
|
||||||
|
@ -179,7 +178,7 @@ export function createDocument(
|
||||||
pk: collection && collection.partitionKey && !collection.partitionKey.systemKey ? partitionKeyProperty : ""
|
pk: collection && collection.partitionKey && !collection.partitionKey.systemKey ? partitionKeyProperty : ""
|
||||||
};
|
};
|
||||||
|
|
||||||
const endpoint = getEndpoint(databaseAccount);
|
const endpoint = getEndpoint();
|
||||||
|
|
||||||
return window
|
return window
|
||||||
.fetch(`${endpoint}/resourcelist?${queryString.stringify(params)}`, {
|
.fetch(`${endpoint}/resourcelist?${queryString.stringify(params)}`, {
|
||||||
|
@ -221,7 +220,7 @@ export function updateDocument(
|
||||||
pk:
|
pk:
|
||||||
documentId && documentId.partitionKey && !documentId.partitionKey.systemKey ? documentId.partitionKeyProperty : ""
|
documentId && documentId.partitionKey && !documentId.partitionKey.systemKey ? documentId.partitionKeyProperty : ""
|
||||||
};
|
};
|
||||||
const endpoint = getEndpoint(databaseAccount);
|
const endpoint = getEndpoint();
|
||||||
|
|
||||||
return window
|
return window
|
||||||
.fetch(`${endpoint}?${queryString.stringify(params)}`, {
|
.fetch(`${endpoint}?${queryString.stringify(params)}`, {
|
||||||
|
@ -260,7 +259,7 @@ export function deleteDocument(databaseId: string, collection: Collection, docum
|
||||||
pk:
|
pk:
|
||||||
documentId && documentId.partitionKey && !documentId.partitionKey.systemKey ? documentId.partitionKeyProperty : ""
|
documentId && documentId.partitionKey && !documentId.partitionKey.systemKey ? documentId.partitionKeyProperty : ""
|
||||||
};
|
};
|
||||||
const endpoint = getEndpoint(databaseAccount);
|
const endpoint = getEndpoint();
|
||||||
|
|
||||||
return window
|
return window
|
||||||
.fetch(`${endpoint}?${queryString.stringify(params)}`, {
|
.fetch(`${endpoint}?${queryString.stringify(params)}`, {
|
||||||
|
@ -303,7 +302,7 @@ export function createMongoCollectionWithProxy(
|
||||||
autoPilotThroughput: params.autoPilotMaxThroughput?.toString()
|
autoPilotThroughput: params.autoPilotMaxThroughput?.toString()
|
||||||
};
|
};
|
||||||
|
|
||||||
const endpoint = getEndpoint(databaseAccount);
|
const endpoint = getEndpoint();
|
||||||
|
|
||||||
return window
|
return window
|
||||||
.fetch(
|
.fetch(
|
||||||
|
@ -327,12 +326,9 @@ export function createMongoCollectionWithProxy(
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getEndpoint(databaseAccount: DataModels.DatabaseAccount): string {
|
export function getEndpoint(): string {
|
||||||
const serverId = window.dataExplorer.serverId();
|
|
||||||
const extensionEndpoint = window.dataExplorer.extensionEndpoint();
|
const extensionEndpoint = window.dataExplorer.extensionEndpoint();
|
||||||
let url = configContext.MONGO_BACKEND_ENDPOINT
|
let url = (configContext.MONGO_BACKEND_ENDPOINT || extensionEndpoint) + "/api/mongo/explorer";
|
||||||
? configContext.MONGO_BACKEND_ENDPOINT + "/api/mongo/explorer"
|
|
||||||
: EnvironmentUtility.getMongoBackendEndpoint(serverId, databaseAccount.location, extensionEndpoint);
|
|
||||||
|
|
||||||
if (window.authType === AuthType.EncryptedToken) {
|
if (window.authType === AuthType.EncryptedToken) {
|
||||||
url = url.replace("api/mongo", "api/guest/mongo");
|
url = url.replace("api/mongo", "api/guest/mongo");
|
||||||
|
|
|
@ -6,7 +6,6 @@ import { AuthType } from "../../AuthType";
|
||||||
import { ConsoleDataType } from "../../Explorer/Menus/NotificationConsole/NotificationConsoleComponent";
|
import { ConsoleDataType } from "../../Explorer/Menus/NotificationConsole/NotificationConsoleComponent";
|
||||||
import * as Constants from "../../Common/Constants";
|
import * as Constants from "../../Common/Constants";
|
||||||
import * as Entities from "./Entities";
|
import * as Entities from "./Entities";
|
||||||
import EnvironmentUtility from "../../Common/EnvironmentUtility";
|
|
||||||
import * as HeadersUtility from "../../Common/HeadersUtility";
|
import * as HeadersUtility from "../../Common/HeadersUtility";
|
||||||
import * as Logger from "../../Common/Logger";
|
import * as Logger from "../../Common/Logger";
|
||||||
import * as NotificationConsoleUtils from "../../Utils/NotificationConsoleUtils";
|
import * as NotificationConsoleUtils from "../../Utils/NotificationConsoleUtils";
|
||||||
|
@ -308,7 +307,7 @@ export class CassandraAPIDataClient extends TableDataClient {
|
||||||
authType === AuthType.EncryptedToken
|
authType === AuthType.EncryptedToken
|
||||||
? Constants.CassandraBackend.guestQueryApi
|
? Constants.CassandraBackend.guestQueryApi
|
||||||
: Constants.CassandraBackend.queryApi;
|
: Constants.CassandraBackend.queryApi;
|
||||||
$.ajax(`${EnvironmentUtility.getCassandraBackendEndpoint(collection.container)}${apiEndpoint}`, {
|
$.ajax(`${collection.container.extensionEndpoint()}${apiEndpoint}`, {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: {
|
data: {
|
||||||
accountName: collection && collection.container.databaseAccount && collection.container.databaseAccount().name,
|
accountName: collection && collection.container.databaseAccount && collection.container.databaseAccount().name,
|
||||||
|
@ -559,7 +558,7 @@ export class CassandraAPIDataClient extends TableDataClient {
|
||||||
authType === AuthType.EncryptedToken
|
authType === AuthType.EncryptedToken
|
||||||
? Constants.CassandraBackend.guestKeysApi
|
? Constants.CassandraBackend.guestKeysApi
|
||||||
: Constants.CassandraBackend.keysApi;
|
: Constants.CassandraBackend.keysApi;
|
||||||
let endpoint = `${EnvironmentUtility.getCassandraBackendEndpoint(collection.container)}${apiEndpoint}`;
|
let endpoint = `${collection.container.extensionEndpoint()}${apiEndpoint}`;
|
||||||
const deferred = Q.defer<CassandraTableKeys>();
|
const deferred = Q.defer<CassandraTableKeys>();
|
||||||
$.ajax(endpoint, {
|
$.ajax(endpoint, {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
|
@ -614,7 +613,7 @@ export class CassandraAPIDataClient extends TableDataClient {
|
||||||
authType === AuthType.EncryptedToken
|
authType === AuthType.EncryptedToken
|
||||||
? Constants.CassandraBackend.guestSchemaApi
|
? Constants.CassandraBackend.guestSchemaApi
|
||||||
: Constants.CassandraBackend.schemaApi;
|
: Constants.CassandraBackend.schemaApi;
|
||||||
let endpoint = `${EnvironmentUtility.getCassandraBackendEndpoint(collection.container)}${apiEndpoint}`;
|
let endpoint = `${collection.container.extensionEndpoint()}${apiEndpoint}`;
|
||||||
const deferred = Q.defer<CassandraTableKey[]>();
|
const deferred = Q.defer<CassandraTableKey[]>();
|
||||||
$.ajax(endpoint, {
|
$.ajax(endpoint, {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
|
@ -668,7 +667,7 @@ export class CassandraAPIDataClient extends TableDataClient {
|
||||||
authType === AuthType.EncryptedToken
|
authType === AuthType.EncryptedToken
|
||||||
? Constants.CassandraBackend.guestCreateOrDeleteApi
|
? Constants.CassandraBackend.guestCreateOrDeleteApi
|
||||||
: Constants.CassandraBackend.createOrDeleteApi;
|
: Constants.CassandraBackend.createOrDeleteApi;
|
||||||
$.ajax(`${EnvironmentUtility.getCassandraBackendEndpoint(explorer)}${apiEndpoint}`, {
|
$.ajax(`${explorer.extensionEndpoint()}${apiEndpoint}`, {
|
||||||
type: "POST",
|
type: "POST",
|
||||||
data: {
|
data: {
|
||||||
accountName: explorer.databaseAccount() && explorer.databaseAccount().name,
|
accountName: explorer.databaseAccount() && explorer.databaseAccount().name,
|
||||||
|
|
|
@ -2,7 +2,6 @@ import * as Constants from "../../Common/Constants";
|
||||||
import * as ko from "knockout";
|
import * as ko from "knockout";
|
||||||
import * as ViewModels from "../../Contracts/ViewModels";
|
import * as ViewModels from "../../Contracts/ViewModels";
|
||||||
import AuthHeadersUtil from "../../Platform/Hosted/Authorization";
|
import AuthHeadersUtil from "../../Platform/Hosted/Authorization";
|
||||||
import EnvironmentUtility from "../../Common/EnvironmentUtility";
|
|
||||||
import { isInvalidParentFrameOrigin } from "../../Utils/MessageValidation";
|
import { isInvalidParentFrameOrigin } from "../../Utils/MessageValidation";
|
||||||
import Q from "q";
|
import Q from "q";
|
||||||
import TabsBase from "./TabsBase";
|
import TabsBase from "./TabsBase";
|
||||||
|
@ -109,11 +108,7 @@ export default class MongoShellTab extends TabsBase {
|
||||||
) + Constants.MongoDBAccounts.defaultPort.toString();
|
) + Constants.MongoDBAccounts.defaultPort.toString();
|
||||||
const databaseId = this.collection.databaseId;
|
const databaseId = this.collection.databaseId;
|
||||||
const collectionId = this.collection.id();
|
const collectionId = this.collection.id();
|
||||||
const apiEndpoint = EnvironmentUtility.getMongoBackendEndpoint(
|
const apiEndpoint = this._container.extensionEndpoint();
|
||||||
this._container.serverId(),
|
|
||||||
userContext.databaseAccount.location,
|
|
||||||
this._container.extensionEndpoint()
|
|
||||||
).replace("/api/mongo/explorer", "");
|
|
||||||
const encryptedAuthToken: string = userContext.accessToken;
|
const encryptedAuthToken: string = userContext.accessToken;
|
||||||
|
|
||||||
shellIframe.contentWindow.postMessage(
|
shellIframe.contentWindow.postMessage(
|
||||||
|
|
Loading…
Reference in New Issue