This commit is contained in:
Steve Faulkner
2021-04-28 18:59:13 -05:00
parent 7b5b752d9c
commit 3a6c7f9f94
5 changed files with 17 additions and 21 deletions

View File

@@ -1,4 +1,3 @@
import Q from "q";
import * as Constants from "../../Common/Constants"; import * as Constants from "../../Common/Constants";
import { configContext } from "../../ConfigContext"; import { configContext } from "../../ConfigContext";
import * as DataModels from "../../Contracts/DataModels"; import * as DataModels from "../../Contracts/DataModels";
@@ -21,8 +20,7 @@ export default class AuthHeadersUtil {
const databaseAccount = userContext.databaseAccount; const databaseAccount = userContext.databaseAccount;
const subscriptionId: string = userContext.subscriptionId; const subscriptionId: string = userContext.subscriptionId;
const resourceGroup = userContext.resourceGroup; const resourceGroup = userContext.resourceGroup;
const defaultExperience: string = DefaultExperienceUtility.getDefaultExperienceFromDatabaseAccount(databaseAccount); const apiKind: DataModels.ApiKind = DefaultExperienceUtility.getApiKindFromDefaultExperience(userContext.apiType);
const apiKind: DataModels.ApiKind = DefaultExperienceUtility.getApiKindFromDefaultExperience(defaultExperience);
const accountEndpoint = (databaseAccount && databaseAccount.properties.documentEndpoint) || ""; const accountEndpoint = (databaseAccount && databaseAccount.properties.documentEndpoint) || "";
const sid = subscriptionId || ""; const sid = subscriptionId || "";
const rg = resourceGroup || ""; const rg = resourceGroup || "";

View File

@@ -1,6 +1,6 @@
import * as Constants from "../Common/Constants"; import * as Constants from "../Common/Constants";
import * as DataModels from "../Contracts/DataModels"; import * as DataModels from "../Contracts/DataModels";
import * as ViewModels from "../Contracts/ViewModels"; import { userContext } from "../UserContext";
import { DefaultExperienceUtility } from "./DefaultExperienceUtility"; import { DefaultExperienceUtility } from "./DefaultExperienceUtility";
describe("Default Experience Utility", () => { describe("Default Experience Utility", () => {
@@ -38,31 +38,29 @@ describe("Default Experience Utility", () => {
}); });
describe("getApiKindFromDefaultExperience()", () => { describe("getApiKindFromDefaultExperience()", () => {
function runScenario(defaultExperience: string, expectedApiKind: number): void { function runScenario(defaultExperience: typeof userContext.apiType, expectedApiKind: number): void {
const resolvedApiKind = DefaultExperienceUtility.getApiKindFromDefaultExperience(defaultExperience); const resolvedApiKind = DefaultExperienceUtility.getApiKindFromDefaultExperience(defaultExperience);
expect(resolvedApiKind).toEqual(expectedApiKind); expect(resolvedApiKind).toEqual(expectedApiKind);
} }
describe("On SQL", () => { describe("On SQL", () => {
it("should return SQL", () => runScenario(Constants.DefaultAccountExperience.DocumentDB, DataModels.ApiKind.SQL)); it("should return SQL", () => runScenario("SQL", DataModels.ApiKind.SQL));
}); });
describe("On MongoDB", () => { describe("On MongoDB", () => {
it("should return MongoDB", () => it("should return MongoDB", () => runScenario("Mongo", DataModels.ApiKind.MongoDB));
runScenario(Constants.DefaultAccountExperience.MongoDB, DataModels.ApiKind.MongoDB));
}); });
describe("On Table", () => { describe("On Table", () => {
it("should return Table", () => runScenario(Constants.DefaultAccountExperience.Table, DataModels.ApiKind.Table)); it("should return Table", () => runScenario("Tables", DataModels.ApiKind.Table));
}); });
describe("On Cassandra", () => { describe("On Cassandra", () => {
it("should return Cassandra", () => it("should return Cassandra", () => runScenario("Cassandra", DataModels.ApiKind.Cassandra));
runScenario(Constants.DefaultAccountExperience.Cassandra, DataModels.ApiKind.Cassandra));
}); });
describe("On Graph", () => { describe("On Graph", () => {
it("should return Graph", () => runScenario(Constants.DefaultAccountExperience.Graph, DataModels.ApiKind.Graph)); it("should return Graph", () => runScenario("Gremlin", DataModels.ApiKind.Graph));
}); });
describe("On null", () => { describe("On null", () => {

View File

@@ -1,6 +1,7 @@
import * as _ from "underscore"; import * as _ from "underscore";
import * as Constants from "../Common/Constants"; import * as Constants from "../Common/Constants";
import * as DataModels from "../Contracts/DataModels"; import * as DataModels from "../Contracts/DataModels";
import { userContext } from "../UserContext";
export class DefaultExperienceUtility { export class DefaultExperienceUtility {
public static getDefaultExperienceFromDatabaseAccount(databaseAccount: DataModels.DatabaseAccount): string | null { public static getDefaultExperienceFromDatabaseAccount(databaseAccount: DataModels.DatabaseAccount): string | null {
@@ -15,22 +16,21 @@ export class DefaultExperienceUtility {
return DefaultExperienceUtility._getDefaultExperience(kind, capabilities); return DefaultExperienceUtility._getDefaultExperience(kind, capabilities);
} }
public static getApiKindFromDefaultExperience(defaultExperience: string): DataModels.ApiKind { public static getApiKindFromDefaultExperience(defaultExperience: typeof userContext.apiType): DataModels.ApiKind {
if (!defaultExperience) { if (!defaultExperience) {
return DataModels.ApiKind.SQL; return DataModels.ApiKind.SQL;
} }
switch (defaultExperience) { switch (defaultExperience) {
case Constants.DefaultAccountExperience.DocumentDB: case "SQL":
return DataModels.ApiKind.SQL; return DataModels.ApiKind.SQL;
case Constants.DefaultAccountExperience.MongoDB: case "Mongo":
case Constants.DefaultAccountExperience.ApiForMongoDB:
return DataModels.ApiKind.MongoDB; return DataModels.ApiKind.MongoDB;
case Constants.DefaultAccountExperience.Table: case "Tables":
return DataModels.ApiKind.Table; return DataModels.ApiKind.Table;
case Constants.DefaultAccountExperience.Cassandra: case "Cassandra":
return DataModels.ApiKind.Cassandra; return DataModels.ApiKind.Cassandra;
case Constants.DefaultAccountExperience.Graph: case "Gremlin":
return DataModels.ApiKind.Graph; return DataModels.ApiKind.Graph;
default: default:
return DataModels.ApiKind.SQL; return DataModels.ApiKind.SQL;

View File

@@ -27,7 +27,7 @@ interface UserContext {
readonly hasWriteAccess: boolean; readonly hasWriteAccess: boolean;
} }
type ApiType = "SQL" | "Mongo" | "Gremlin" | "Tables" | "Cassandra"; export type ApiType = "SQL" | "Mongo" | "Gremlin" | "Tables" | "Cassandra";
export type PortalEnv = "localhost" | "blackforest" | "fairfax" | "mooncake" | "prod" | "dev"; export type PortalEnv = "localhost" | "blackforest" | "fairfax" | "mooncake" | "prod" | "dev";
const features = extractFeatures(); const features = extractFeatures();

View File

@@ -282,7 +282,7 @@ export function getUpsellMessage(
} }
} }
export function getCollectionName(defaultExperience: string): string { export function getCollectionName(defaultExperience: typeof userContext.apiType): string {
switch (defaultExperience) { switch (defaultExperience) {
case "SQL": case "SQL":
return "container"; return "container";