/**Copyright (c) 2009-2023, NVIDIA CORPORATION & AFFILIATES. All rights reserved.**/
"use strict";
/**
* Class which defines Database
* @memberof mdxWebApiCore.Utils
* */class Database{#t;#e;#s;
/**
* Constructor is passed a destructured object as param.
* @param {Object} input - Input object.
* @param {string} input.name
* @param {Object} input.client - Database client
* @param {Map} input.configs
*/
constructor({name:t,client:e,configs:s}={}){this.#t=t,this.#e=e,this.#s=s}
/**
* returns the database name.
* @public
* @returns {string}
* @example
* const mdx = require("@nvidia-mdx/web-api-core");
* const elastic = new mdx.Utils.Elasticsearch({node: "elasticsearch-url"},databaseConfigMap);
* let databaseName = elastic.getName();
*/getName(){return this.#t}
/**
* returns the database configs.
* @public
* @returns {Map}
* @example
* const mdx = require("@nvidia-mdx/web-api-core");
* const elastic = new mdx.Utils.Elasticsearch({node: "elasticsearch-url"},databaseConfigMap);
* let databaseConfigs = elastic.getConfigs();
*/getConfigs(){return this.#s}
/**
* returns the database client.
* @public
* @returns {Object}
* @example
* const mdx = require("@nvidia-mdx/web-api-core");
* const elastic = new mdx.Utils.Elasticsearch({node: "elasticsearch-url"},databaseConfigMap);
* let databaseClient = elastic.getClient();
*/getClient(){return this.#e}}module.exports=Database;