@datastax/astra-db-ts
Version:
Data API TypeScript client
42 lines (41 loc) • 1.55 kB
JavaScript
;
// Copyright Datastax, Inc
// SPDX-License-Identifier: Apache-2.0
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildAstraDatabaseAdminInfo = exports.extractAstraEnvironment = void 0;
const utils_js_1 = require("../lib/utils.js");
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}'`);
}
};
exports.extractAstraEnvironment = extractAstraEnvironment;
const buildAstraDatabaseAdminInfo = (raw, environment) => {
const regions = raw.info.datacenters.map((dc) => ({
name: dc.region,
apiEndpoint: (0, utils_js_1.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,
};
};
exports.buildAstraDatabaseAdminInfo = buildAstraDatabaseAdminInfo;