UNPKG

@nuraly/dbclient

Version:

A comprehensive TypeScript/JavaScript client for Nuraly Database Manager with static interface for all database operations

170 lines 8.45 kB
"use strict"; /** * 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