From 3a6c7f9f945eebdc4b44d8c434cf09501e7b7433 Mon Sep 17 00:00:00 2001 From: Steve Faulkner Date: Wed, 28 Apr 2021 18:59:13 -0500 Subject: [PATCH] Fixes --- src/Platform/Hosted/Authorization.ts | 4 +--- src/Shared/DefaultExperienceUtility.test.ts | 16 +++++++--------- src/Shared/DefaultExperienceUtility.ts | 14 +++++++------- src/UserContext.ts | 2 +- src/Utils/PricingUtils.ts | 2 +- 5 files changed, 17 insertions(+), 21 deletions(-) diff --git a/src/Platform/Hosted/Authorization.ts b/src/Platform/Hosted/Authorization.ts index 64cd00a72..da9bfb6e1 100644 --- a/src/Platform/Hosted/Authorization.ts +++ b/src/Platform/Hosted/Authorization.ts @@ -1,4 +1,3 @@ -import Q from "q"; import * as Constants from "../../Common/Constants"; import { configContext } from "../../ConfigContext"; import * as DataModels from "../../Contracts/DataModels"; @@ -21,8 +20,7 @@ export default class AuthHeadersUtil { const databaseAccount = userContext.databaseAccount; const subscriptionId: string = userContext.subscriptionId; const resourceGroup = userContext.resourceGroup; - const defaultExperience: string = DefaultExperienceUtility.getDefaultExperienceFromDatabaseAccount(databaseAccount); - const apiKind: DataModels.ApiKind = DefaultExperienceUtility.getApiKindFromDefaultExperience(defaultExperience); + const apiKind: DataModels.ApiKind = DefaultExperienceUtility.getApiKindFromDefaultExperience(userContext.apiType); const accountEndpoint = (databaseAccount && databaseAccount.properties.documentEndpoint) || ""; const sid = subscriptionId || ""; const rg = resourceGroup || ""; diff --git a/src/Shared/DefaultExperienceUtility.test.ts b/src/Shared/DefaultExperienceUtility.test.ts index ece1d6e88..8473a0655 100644 --- a/src/Shared/DefaultExperienceUtility.test.ts +++ b/src/Shared/DefaultExperienceUtility.test.ts @@ -1,6 +1,6 @@ import * as Constants from "../Common/Constants"; import * as DataModels from "../Contracts/DataModels"; -import * as ViewModels from "../Contracts/ViewModels"; +import { userContext } from "../UserContext"; import { DefaultExperienceUtility } from "./DefaultExperienceUtility"; describe("Default Experience Utility", () => { @@ -38,31 +38,29 @@ describe("Default Experience Utility", () => { }); describe("getApiKindFromDefaultExperience()", () => { - function runScenario(defaultExperience: string, expectedApiKind: number): void { + function runScenario(defaultExperience: typeof userContext.apiType, expectedApiKind: number): void { const resolvedApiKind = DefaultExperienceUtility.getApiKindFromDefaultExperience(defaultExperience); expect(resolvedApiKind).toEqual(expectedApiKind); } 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", () => { - it("should return MongoDB", () => - runScenario(Constants.DefaultAccountExperience.MongoDB, DataModels.ApiKind.MongoDB)); + it("should return MongoDB", () => runScenario("Mongo", DataModels.ApiKind.MongoDB)); }); 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", () => { - it("should return Cassandra", () => - runScenario(Constants.DefaultAccountExperience.Cassandra, DataModels.ApiKind.Cassandra)); + it("should return Cassandra", () => runScenario("Cassandra", DataModels.ApiKind.Cassandra)); }); 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", () => { diff --git a/src/Shared/DefaultExperienceUtility.ts b/src/Shared/DefaultExperienceUtility.ts index bee402c1c..625e24e2c 100644 --- a/src/Shared/DefaultExperienceUtility.ts +++ b/src/Shared/DefaultExperienceUtility.ts @@ -1,6 +1,7 @@ import * as _ from "underscore"; import * as Constants from "../Common/Constants"; import * as DataModels from "../Contracts/DataModels"; +import { userContext } from "../UserContext"; export class DefaultExperienceUtility { public static getDefaultExperienceFromDatabaseAccount(databaseAccount: DataModels.DatabaseAccount): string | null { @@ -15,22 +16,21 @@ export class DefaultExperienceUtility { return DefaultExperienceUtility._getDefaultExperience(kind, capabilities); } - public static getApiKindFromDefaultExperience(defaultExperience: string): DataModels.ApiKind { + public static getApiKindFromDefaultExperience(defaultExperience: typeof userContext.apiType): DataModels.ApiKind { if (!defaultExperience) { return DataModels.ApiKind.SQL; } switch (defaultExperience) { - case Constants.DefaultAccountExperience.DocumentDB: + case "SQL": return DataModels.ApiKind.SQL; - case Constants.DefaultAccountExperience.MongoDB: - case Constants.DefaultAccountExperience.ApiForMongoDB: + case "Mongo": return DataModels.ApiKind.MongoDB; - case Constants.DefaultAccountExperience.Table: + case "Tables": return DataModels.ApiKind.Table; - case Constants.DefaultAccountExperience.Cassandra: + case "Cassandra": return DataModels.ApiKind.Cassandra; - case Constants.DefaultAccountExperience.Graph: + case "Gremlin": return DataModels.ApiKind.Graph; default: return DataModels.ApiKind.SQL; diff --git a/src/UserContext.ts b/src/UserContext.ts index 20596249e..4d42c0254 100644 --- a/src/UserContext.ts +++ b/src/UserContext.ts @@ -27,7 +27,7 @@ interface UserContext { 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"; const features = extractFeatures(); diff --git a/src/Utils/PricingUtils.ts b/src/Utils/PricingUtils.ts index b964a6f06..61c06692e 100644 --- a/src/Utils/PricingUtils.ts +++ b/src/Utils/PricingUtils.ts @@ -282,7 +282,7 @@ export function getUpsellMessage( } } -export function getCollectionName(defaultExperience: string): string { +export function getCollectionName(defaultExperience: typeof userContext.apiType): string { switch (defaultExperience) { case "SQL": return "container";