UNPKG

@datastax/astra-db-ts

Version:
65 lines (64 loc) 3.29 kB
"use strict"; // Copyright Datastax, Inc // SPDX-License-Identifier: Apache-2.0 // noinspection ExceptionCaughtLocallyJS var _DataAPIDbAdmin_httpClient, _DataAPIDbAdmin_db; Object.defineProperty(exports, "__esModule", { value: true }); exports.DataAPIDbAdmin = void 0; const tslib_1 = require("tslib"); const db_admin_js_1 = require("../administration/db-admin.js"); const constants_js_1 = require("../lib/constants.js"); const internal_logger_js_1 = require("../lib/logging/internal-logger.js"); class DataAPIDbAdmin extends db_admin_js_1.DbAdmin { constructor(db, client, httpClient, rootOpts, adminOpts) { const loggingConfig = internal_logger_js_1.InternalLogger.cfg.concat([rootOpts.dbOptions.logging, adminOpts.logging]); super(client, loggingConfig); _DataAPIDbAdmin_httpClient.set(this, void 0); _DataAPIDbAdmin_db.set(this, void 0); tslib_1.__classPrivateFieldSet(this, _DataAPIDbAdmin_httpClient, httpClient.forDbAdmin(this, adminOpts), "f"); tslib_1.__classPrivateFieldSet(this, _DataAPIDbAdmin_db, db, "f"); Object.defineProperty(this, constants_js_1.$CustomInspect, { value: () => `DataAPIDbAdmin()`, }); } db() { return tslib_1.__classPrivateFieldGet(this, _DataAPIDbAdmin_db, "f"); } async listKeyspaces(options) { const resp = await tslib_1.__classPrivateFieldGet(this, _DataAPIDbAdmin_httpClient, "f").executeCommand({ findKeyspaces: {} }, { timeoutManager: tslib_1.__classPrivateFieldGet(this, _DataAPIDbAdmin_httpClient, "f").tm.single('keyspaceAdminTimeoutMs', options), methodName: 'dbAdmin.listKeyspaces', keyspace: null, }); return resp.status.keyspaces; } async createKeyspace(keyspace, options) { if (options?.updateDbKeyspace) { tslib_1.__classPrivateFieldGet(this, _DataAPIDbAdmin_db, "f").useKeyspace(keyspace); } const replication = options?.replication ?? { class: 'SimpleStrategy', replicationFactor: 1, }; await tslib_1.__classPrivateFieldGet(this, _DataAPIDbAdmin_httpClient, "f").executeCommand({ createKeyspace: { name: keyspace, options: { replication } } }, { timeoutManager: tslib_1.__classPrivateFieldGet(this, _DataAPIDbAdmin_httpClient, "f").tm.single('keyspaceAdminTimeoutMs', options), methodName: 'dbAdmin.createKeyspace', keyspace: null, }); } async dropKeyspace(keyspace, options) { await tslib_1.__classPrivateFieldGet(this, _DataAPIDbAdmin_httpClient, "f").executeCommand({ dropKeyspace: { name: keyspace } }, { timeoutManager: tslib_1.__classPrivateFieldGet(this, _DataAPIDbAdmin_httpClient, "f").tm.single('keyspaceAdminTimeoutMs', options), methodName: 'dbAdmin.dropKeyspace', keyspace: null, }); } get _httpClient() { return tslib_1.__classPrivateFieldGet(this, _DataAPIDbAdmin_httpClient, "f"); } _getDataAPIHttpClient() { return tslib_1.__classPrivateFieldGet(this, _DataAPIDbAdmin_httpClient, "f"); } } exports.DataAPIDbAdmin = DataAPIDbAdmin; _DataAPIDbAdmin_httpClient = new WeakMap(), _DataAPIDbAdmin_db = new WeakMap();