@datastax/astra-db-ts
Version:
Data API TypeScript client
37 lines (36 loc) • 1.27 kB
JavaScript
// Copyright Datastax, Inc
// SPDX-License-Identifier: Apache-2.0
import { buildAstraEndpoint } from '../lib/utils.js';
export const extractAstraEnvironment = (endpoint) => {
switch (true) {
case endpoint.includes('apps.astra-dev.datastax.com'):
return 'dev';
case endpoint.includes('apps.astra-test.datastax.com'):
return 'test';
case endpoint.includes('apps.astra.datastax.com'):
return 'prod';
default:
throw new Error(`Cannot extract astra environment for endpoint '${endpoint}'`);
}
};
export const buildAstraDatabaseAdminInfo = (raw, environment) => {
const regions = raw.info.datacenters.map((dc) => ({
name: dc.region,
apiEndpoint: buildAstraEndpoint(raw.id, dc.region, environment),
createdAt: new Date(dc.dateCreated),
}));
return {
id: raw.id,
name: raw.info.name,
orgId: raw.orgId,
ownerId: raw.ownerId,
keyspaces: raw.info.keyspaces ?? [],
environment: environment,
cloudProvider: raw.info.cloudProvider,
createdAt: new Date(raw.creationTime),
lastUsed: new Date(raw.lastUsageTime),
status: raw.status,
regions: regions,
raw: raw,
};
};