mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2025-12-23 02:41:39 +00:00
66 lines
1.8 KiB
TypeScript
66 lines
1.8 KiB
TypeScript
import { TagNames, WorkloadType } from "Common/Constants";
|
|
import { Tags } from "Contracts/DataModels";
|
|
import { isFabric } from "Platform/Fabric/FabricUtil";
|
|
import { ApiType, userContext } from "../UserContext";
|
|
|
|
function isVirtualNetworkFilterEnabled() {
|
|
return userContext.databaseAccount?.properties?.isVirtualNetworkFilterEnabled;
|
|
}
|
|
|
|
function isIpRulesEnabled() {
|
|
return userContext.databaseAccount?.properties?.ipRules?.length > 0;
|
|
}
|
|
|
|
function isPrivateEndpointConnectionsEnabled() {
|
|
return userContext.databaseAccount?.properties?.privateEndpointConnections?.length > 0;
|
|
}
|
|
|
|
export function isPublicInternetAccessAllowed(): boolean {
|
|
return !isVirtualNetworkFilterEnabled() && !isIpRulesEnabled() && !isPrivateEndpointConnectionsEnabled();
|
|
}
|
|
|
|
export function getWorkloadType(): WorkloadType {
|
|
const tags: Tags = userContext?.databaseAccount?.tags;
|
|
const workloadType: WorkloadType = tags && (tags[TagNames.WorkloadType] as WorkloadType);
|
|
if (!workloadType) {
|
|
return WorkloadType.None;
|
|
}
|
|
return workloadType;
|
|
}
|
|
|
|
export function isGlobalSecondaryIndexEnabled(): boolean {
|
|
return (
|
|
!isFabric() && userContext.apiType === "SQL" && userContext.databaseAccount?.properties?.enableMaterializedViews
|
|
);
|
|
}
|
|
|
|
export const getDatabaseEndpoint = (apiType: ApiType): string => {
|
|
switch (apiType) {
|
|
case "Mongo":
|
|
return "mongodbDatabases";
|
|
case "Cassandra":
|
|
return "cassandraKeyspaces";
|
|
case "Gremlin":
|
|
return "gremlinDatabases";
|
|
case "Tables":
|
|
return "tables";
|
|
case "SQL":
|
|
default:
|
|
return "sqlDatabases";
|
|
}
|
|
};
|
|
|
|
export const getCollectionEndpoint = (apiType: ApiType): string => {
|
|
switch (apiType) {
|
|
case "Mongo":
|
|
return "collections";
|
|
case "Cassandra":
|
|
return "tables";
|
|
case "Gremlin":
|
|
return "graphs";
|
|
case "SQL":
|
|
default:
|
|
return "containers";
|
|
}
|
|
};
|