Files
cosmos-explorer/src/Utils/CapabilityUtils.ts
T
BChoudhury-ms d374458e1b feat: Redesign container-copy flow to select destination account and enable cross-account container creation (#2436)
* feat: Redesign container-copy flow to select destination account and enable cross-account container creation

* upgrade RBAC permissions from read only to read-write

* fix copyjob playwright tests

* swap source-destination content

* fix formating

* use targetAccountOverride for capability checks in AddCollectionPanel

* feat: localize ContainerCopy hardcoded strings using i18next and refactor readDatabasesWithARM

* removed container copy messages json file
2026-05-11 17:24:51 +05:30

37 lines
1.5 KiB
TypeScript

import { AccountOverride } from "Contracts/DataModels";
import { isFabricNative } from "Platform/Fabric/FabricUtil";
import * as Constants from "../Common/Constants";
import { userContext } from "../UserContext";
export const isCapabilityEnabled = (capabilityName: string, targetAccountOverride?: AccountOverride): boolean => {
const { databaseAccount } = userContext;
const capabilities = targetAccountOverride?.capabilities || databaseAccount?.properties?.capabilities;
if (capabilities) {
return capabilities.some((capability) => capability.name === capabilityName);
}
return false;
};
export const isServerlessAccount = (targetAccountOverride?: AccountOverride): boolean => {
const { databaseAccount } = userContext;
const capacityMode = targetAccountOverride?.capacityMode || databaseAccount?.properties?.capacityMode;
return (
capacityMode === Constants.CapacityMode.Serverless ||
isCapabilityEnabled(Constants.CapabilityNames.EnableServerless, targetAccountOverride)
);
};
export const isVectorSearchEnabled = (targetAccountOverride?: AccountOverride): boolean => {
return (
userContext.apiType === "SQL" &&
(isCapabilityEnabled(Constants.CapabilityNames.EnableNoSQLVectorSearch, targetAccountOverride) || isFabricNative())
);
};
export const isFullTextSearchPreviewFeaturesEnabled = (targetAccountOverride?: AccountOverride): boolean => {
return (
userContext.apiType === "SQL" &&
isCapabilityEnabled(Constants.CapabilityNames.EnableNoSQLFullTextSearchPreviewFeatures, targetAccountOverride)
);
};