@nuraly/dbclient
Version:
A comprehensive TypeScript/JavaScript client for Nuraly Database Manager with static interface for all database operations
170 lines • 8.45 kB
JavaScript
;
/**
* Main Database Client Class
*
* Combines all modules into a single unified interface while maintaining
* backward compatibility with the original static interface.
*
* @author Nuraly Team
* @version 1.1.0
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.Database = void 0;
const BaseClient_1 = require("./core/BaseClient");
const TableManager_1 = require("./modules/TableManager");
const SchemaManager_1 = require("./modules/SchemaManager");
const DataManager_1 = require("./modules/DataManager");
const AggregationManager_1 = require("./modules/AggregationManager");
const ConnectionManager_1 = require("./modules/ConnectionManager");
const UtilityManager_1 = require("./modules/UtilityManager");
/**
* Main Database class that provides a unified static interface
* for all database operations by combining multiple specialized modules.
*/
class Database extends BaseClient_1.BaseClient {
// ============================================================================
// CONFIGURATION AND CONNECTION METHODS (from BaseClient)
// ============================================================================
/**
* Configure the Database client
*/
static configure(baseUrl = '/api/v1/database', options = {}) {
BaseClient_1.BaseClient.configure(baseUrl, options);
}
/**
* Set the active database connection
*/
static setConnection(connectionId) {
BaseClient_1.BaseClient.setConnection(connectionId);
return Database;
}
;
// ============================================================================
// HELPER METHODS FOR MODULE ACCESS
// ============================================================================
/**
* Get direct access to the TableManager module
*/
static get tables() {
return TableManager_1.TableManager;
}
/**
* Get direct access to the SchemaManager module
*/
static get schema() {
return SchemaManager_1.SchemaManager;
}
/**
* Get direct access to the DataManager module
*/
static get data() {
return DataManager_1.DataManager;
}
/**
* Get direct access to the AggregationManager module
*/
static get aggregation() {
return AggregationManager_1.AggregationManager;
}
/**
* Get direct access to the ConnectionManager module
*/
static get connections() {
return ConnectionManager_1.ConnectionManager;
}
/**
* Get direct access to the UtilityManager module
*/
static get utilities() {
return UtilityManager_1.UtilityManager;
}
}
exports.Database = Database;
/**
* Check the health status of the database service
*/
Database.health = BaseClient_1.BaseClient.health;
/**
* Get database connection information and metadata
*/
Database.getInfo = BaseClient_1.BaseClient.getInfo;
// ============================================================================
// TABLE MANAGEMENT METHODS (from TableManager)
// ============================================================================
Database.createTable = TableManager_1.TableManager.createTable;
Database.updateSchema = TableManager_1.TableManager.updateSchema;
Database.dropTable = TableManager_1.TableManager.dropTable;
Database.listTables = TableManager_1.TableManager.listTables;
Database.getTableSchema = TableManager_1.TableManager.getTableSchema;
// ============================================================================
// SCHEMA INTROSPECTION METHODS (from SchemaManager)
// ============================================================================
Database.schemaQuery = SchemaManager_1.SchemaManager.schemaQuery;
Database.tableExists = SchemaManager_1.SchemaManager.tableExists;
Database.columns = SchemaManager_1.SchemaManager.columns;
Database.getDatabaseInfo = SchemaManager_1.SchemaManager.getDatabaseInfo;
Database.getConstraints = SchemaManager_1.SchemaManager.getConstraints;
Database.getForeignKeys = SchemaManager_1.SchemaManager.getForeignKeys;
// ============================================================================
// DATA MANAGEMENT METHODS (from DataManager)
// ============================================================================
Database.insert = DataManager_1.DataManager.insert;
Database.bulkInsert = DataManager_1.DataManager.bulkInsert;
Database.select = DataManager_1.DataManager.select;
Database.update = DataManager_1.DataManager.update;
Database.delete = DataManager_1.DataManager.delete;
Database.findOne = DataManager_1.DataManager.findOne;
Database.findByIds = DataManager_1.DataManager.findByIds;
Database.exists = DataManager_1.DataManager.exists;
Database.upsert = DataManager_1.DataManager.upsert;
// ============================================================================
// AGGREGATION METHODS (from AggregationManager)
// ============================================================================
Database.count = AggregationManager_1.AggregationManager.count;
Database.sum = AggregationManager_1.AggregationManager.sum;
Database.avg = AggregationManager_1.AggregationManager.avg;
Database.min = AggregationManager_1.AggregationManager.min;
Database.max = AggregationManager_1.AggregationManager.max;
Database.aggregate = AggregationManager_1.AggregationManager.aggregate;
Database.paginate = AggregationManager_1.AggregationManager.paginate;
Database.getFieldStatistics = AggregationManager_1.AggregationManager.getFieldStatistics;
Database.groupBy = AggregationManager_1.AggregationManager.groupBy;
// ============================================================================
// CONNECTION MANAGEMENT METHODS (from ConnectionManager)
// ============================================================================
Database.listConnections = ConnectionManager_1.ConnectionManager.listConnections;
Database.getConnection = ConnectionManager_1.ConnectionManager.getConnection;
Database.createConnection = ConnectionManager_1.ConnectionManager.createConnection;
Database.updateConnection = ConnectionManager_1.ConnectionManager.updateConnection;
Database.deleteConnection = ConnectionManager_1.ConnectionManager.deleteConnection;
Database.testConnection = ConnectionManager_1.ConnectionManager.testConnection;
Database.activateConnection = ConnectionManager_1.ConnectionManager.activateConnection;
Database.deactivateConnection = ConnectionManager_1.ConnectionManager.deactivateConnection;
Database.setDefaultConnection = ConnectionManager_1.ConnectionManager.setDefaultConnection;
Database.getDefaultConnection = ConnectionManager_1.ConnectionManager.getDefaultConnection;
Database.getActiveConnections = ConnectionManager_1.ConnectionManager.getActiveConnections;
Database.searchConnections = ConnectionManager_1.ConnectionManager.searchConnections;
Database.cloneConnection = ConnectionManager_1.ConnectionManager.cloneConnection;
Database.getConnectionStats = ConnectionManager_1.ConnectionManager.getConnectionStats;
// ============================================================================
// UTILITY METHODS (from UtilityManager)
// ============================================================================
Database.search = UtilityManager_1.UtilityManager.search;
Database.batch = UtilityManager_1.UtilityManager.batch;
Database.backup = UtilityManager_1.UtilityManager.backup;
Database.restore = UtilityManager_1.UtilityManager.restore;
Database.truncate = UtilityManager_1.UtilityManager.truncate;
Database.rawQuery = UtilityManager_1.UtilityManager.rawQuery;
Database.getTableStats = UtilityManager_1.UtilityManager.getTableStats;
Database.optimizeTable = UtilityManager_1.UtilityManager.optimizeTable;
Database.analyzeTable = UtilityManager_1.UtilityManager.analyzeTable;
Database.exportTable = UtilityManager_1.UtilityManager.exportTable;
Database.importTable = UtilityManager_1.UtilityManager.importTable;
Database.validateData = UtilityManager_1.UtilityManager.validateData;
Database.getPerformanceMetrics = UtilityManager_1.UtilityManager.getPerformanceMetrics;
Database.clearCache = UtilityManager_1.UtilityManager.clearCache;
Database.getCacheStats = UtilityManager_1.UtilityManager.getCacheStats;
Database.transaction = UtilityManager_1.UtilityManager.transaction;
Database.createIndex = UtilityManager_1.UtilityManager.createIndex;
Database.dropIndex = UtilityManager_1.UtilityManager.dropIndex;
//# sourceMappingURL=Database.js.map