@ductape/sdk 0.0.4-v42 → 0.0.4-v43

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/dist/apps/services/app.service.d.ts +10 -0
  2. package/dist/apps/services/app.service.js +22 -0
  3. package/dist/apps/services/app.service.js.map +1 -1
  4. package/dist/database/adapters/base.adapter.d.ts +176 -0
  5. package/dist/database/adapters/base.adapter.js +31 -0
  6. package/dist/database/adapters/base.adapter.js.map +1 -0
  7. package/dist/database/adapters/dynamodb.adapter.d.ts +83 -0
  8. package/dist/database/adapters/dynamodb.adapter.js +1237 -0
  9. package/dist/database/adapters/dynamodb.adapter.js.map +1 -0
  10. package/dist/database/adapters/mongodb.adapter.d.ts +70 -0
  11. package/dist/database/adapters/mongodb.adapter.js +717 -0
  12. package/dist/database/adapters/mongodb.adapter.js.map +1 -0
  13. package/dist/database/adapters/mysql.adapter.d.ts +141 -0
  14. package/dist/database/adapters/mysql.adapter.js +1221 -0
  15. package/dist/database/adapters/mysql.adapter.js.map +1 -0
  16. package/dist/database/adapters/postgresql.adapter.d.ts +142 -0
  17. package/dist/database/adapters/postgresql.adapter.js +1288 -0
  18. package/dist/database/adapters/postgresql.adapter.js.map +1 -0
  19. package/dist/database/database.service.d.ts +190 -0
  20. package/dist/database/database.service.js +552 -0
  21. package/dist/database/database.service.js.map +1 -0
  22. package/dist/database/index.d.ts +18 -0
  23. package/dist/database/index.js +98 -0
  24. package/dist/database/index.js.map +1 -0
  25. package/dist/database/types/aggregation.types.d.ts +202 -0
  26. package/dist/database/types/aggregation.types.js +21 -0
  27. package/dist/database/types/aggregation.types.js.map +1 -0
  28. package/dist/database/types/connection.types.d.ts +132 -0
  29. package/dist/database/types/connection.types.js +6 -0
  30. package/dist/database/types/connection.types.js.map +1 -0
  31. package/dist/database/types/database.types.d.ts +173 -0
  32. package/dist/database/types/database.types.js +73 -0
  33. package/dist/database/types/database.types.js.map +1 -0
  34. package/dist/database/types/index.d.ts +12 -0
  35. package/dist/database/types/index.js +37 -0
  36. package/dist/database/types/index.js.map +1 -0
  37. package/dist/database/types/index.types.d.ts +220 -0
  38. package/dist/database/types/index.types.js +27 -0
  39. package/dist/database/types/index.types.js.map +1 -0
  40. package/dist/database/types/migration.types.d.ts +205 -0
  41. package/dist/database/types/migration.types.js +44 -0
  42. package/dist/database/types/migration.types.js.map +1 -0
  43. package/dist/database/types/query.types.d.ts +274 -0
  44. package/dist/database/types/query.types.js +57 -0
  45. package/dist/database/types/query.types.js.map +1 -0
  46. package/dist/database/types/result.types.d.ts +218 -0
  47. package/dist/database/types/result.types.js +6 -0
  48. package/dist/database/types/result.types.js.map +1 -0
  49. package/dist/database/types/schema.types.d.ts +190 -0
  50. package/dist/database/types/schema.types.js +69 -0
  51. package/dist/database/types/schema.types.js.map +1 -0
  52. package/dist/database/utils/helpers.d.ts +66 -0
  53. package/dist/database/utils/helpers.js +501 -0
  54. package/dist/database/utils/helpers.js.map +1 -0
  55. package/dist/database/utils/migration.utils.d.ts +151 -0
  56. package/dist/database/utils/migration.utils.js +476 -0
  57. package/dist/database/utils/migration.utils.js.map +1 -0
  58. package/dist/database/utils/transaction.d.ts +64 -0
  59. package/dist/database/utils/transaction.js +130 -0
  60. package/dist/database/utils/transaction.js.map +1 -0
  61. package/dist/database/validators/connection.validator.d.ts +20 -0
  62. package/dist/database/validators/connection.validator.js +267 -0
  63. package/dist/database/validators/connection.validator.js.map +1 -0
  64. package/dist/database/validators/query.validator.d.ts +31 -0
  65. package/dist/database/validators/query.validator.js +305 -0
  66. package/dist/database/validators/query.validator.js.map +1 -0
  67. package/dist/database/validators/schema.validator.d.ts +31 -0
  68. package/dist/database/validators/schema.validator.js +334 -0
  69. package/dist/database/validators/schema.validator.js.map +1 -0
  70. package/dist/index.d.ts +25 -4
  71. package/dist/index.js +36 -4
  72. package/dist/index.js.map +1 -1
  73. package/dist/processor/services/processor.service.js +10 -8
  74. package/dist/processor/services/processor.service.js.map +1 -1
  75. package/dist/types/processor.types.d.ts +2 -2
  76. package/package.json +3 -1
@@ -0,0 +1,552 @@
1
+ "use strict";
2
+ /**
3
+ * Main Database Service
4
+ * Entry point for all database operations
5
+ */
6
+ var __importDefault = (this && this.__importDefault) || function (mod) {
7
+ return (mod && mod.__esModule) ? mod : { "default": mod };
8
+ };
9
+ Object.defineProperty(exports, "__esModule", { value: true });
10
+ exports.DatabaseService = void 0;
11
+ const database_types_1 = require("./types/database.types");
12
+ const postgresql_adapter_1 = require("./adapters/postgresql.adapter");
13
+ const mongodb_adapter_1 = require("./adapters/mongodb.adapter");
14
+ const mysql_adapter_1 = require("./adapters/mysql.adapter");
15
+ const dynamodb_adapter_1 = require("./adapters/dynamodb.adapter");
16
+ const products_service_1 = __importDefault(require("../products/services/products.service"));
17
+ const index_types_1 = require("../types/index.types");
18
+ /**
19
+ * Main Database Service Class
20
+ */
21
+ class DatabaseService {
22
+ constructor(config) {
23
+ this.connections = new Map();
24
+ this.adapters = new Map();
25
+ this.config = config;
26
+ this.environment = config.env_type || index_types_1.EnvType.PRODUCTION;
27
+ this.initializeAdapters();
28
+ }
29
+ /**
30
+ * Initialize database adapters
31
+ */
32
+ initializeAdapters() {
33
+ // Register PostgreSQL adapter
34
+ this.adapters.set(database_types_1.DatabaseType.POSTGRESQL, new postgresql_adapter_1.PostgreSQLAdapter());
35
+ // Register MongoDB adapter
36
+ this.adapters.set(database_types_1.DatabaseType.MONGODB, new mongodb_adapter_1.MongoDBAdapter());
37
+ // Register MySQL adapter
38
+ this.adapters.set(database_types_1.DatabaseType.MYSQL, new mysql_adapter_1.MySQLAdapter());
39
+ // Register DynamoDB adapter
40
+ this.adapters.set(database_types_1.DatabaseType.DYNAMODB, new dynamodb_adapter_1.DynamoDBAdapter());
41
+ }
42
+ /**
43
+ * Get adapter for database type
44
+ */
45
+ getAdapter(type) {
46
+ const adapter = this.adapters.get(type);
47
+ if (!adapter) {
48
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.CONNECTION_ERROR, `No adapter registered for database type: ${type}`);
49
+ }
50
+ return adapter;
51
+ }
52
+ /**
53
+ * Resolve connection configuration from product database
54
+ */
55
+ async resolveProductConnection(config) {
56
+ var _a;
57
+ try {
58
+ // Create ProductBuilder instance
59
+ const productBuilder = new products_service_1.default({
60
+ workspace_id: this.config.workspace_id,
61
+ user_id: this.config.user_id,
62
+ public_key: this.config.public_key,
63
+ token: this.config.token,
64
+ env_type: this.environment,
65
+ });
66
+ // Initialize the product by tag
67
+ await productBuilder.initializeProductByTag(config.product);
68
+ // Fetch the database configuration
69
+ const database = await productBuilder.fetchDatabase(config.database);
70
+ if (!database) {
71
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.CONNECTION_ERROR, `Database '${config.database}' not found in product '${config.product}'`);
72
+ }
73
+ // Find the environment configuration
74
+ const envConfig = (_a = database.envs) === null || _a === void 0 ? void 0 : _a.find((env) => env.slug === config.env);
75
+ if (!envConfig) {
76
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.CONNECTION_ERROR, `Environment '${config.env}' not found for database '${config.database}'`);
77
+ }
78
+ if (!envConfig.connection_url) {
79
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.CONNECTION_ERROR, `No connection URL configured for database '${config.database}' in environment '${config.env}'`);
80
+ }
81
+ // Parse the connection URL to create a database config
82
+ const dbConfig = this.parseConnectionUrl(envConfig.connection_url, database.type, config.env, config.database);
83
+ // Get the adapter for the database type
84
+ const adapter = this.getAdapter(dbConfig.type);
85
+ // Create connection using the parsed config
86
+ const connectionKey = `${config.product}-${config.database}-${config.env}`;
87
+ let connection = this.connections.get(connectionKey);
88
+ if (connection && connection.isConnected()) {
89
+ return { connection, adapter };
90
+ }
91
+ connection = await adapter.connect(dbConfig);
92
+ this.connections.set(connectionKey, connection);
93
+ return { connection, adapter };
94
+ }
95
+ catch (error) {
96
+ if (error instanceof database_types_1.DatabaseError) {
97
+ throw error;
98
+ }
99
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.CONNECTION_ERROR, `Failed to resolve product connection: ${error.message}`);
100
+ }
101
+ }
102
+ /**
103
+ * Parse connection URL into database config
104
+ */
105
+ parseConnectionUrl(connectionUrl, dbType, env, databaseName) {
106
+ try {
107
+ // Map product database types to DatabaseType enum
108
+ const typeMapping = {
109
+ postgresql: database_types_1.DatabaseType.POSTGRESQL,
110
+ postgres: database_types_1.DatabaseType.POSTGRESQL,
111
+ mysql: database_types_1.DatabaseType.MYSQL,
112
+ mongodb: database_types_1.DatabaseType.MONGODB,
113
+ mongo: database_types_1.DatabaseType.MONGODB,
114
+ dynamodb: database_types_1.DatabaseType.DYNAMODB,
115
+ };
116
+ const mappedType = typeMapping[dbType.toLowerCase()];
117
+ if (!mappedType) {
118
+ throw new Error(`Unsupported database type: ${dbType}`);
119
+ }
120
+ // Parse the connection URL based on database type
121
+ if (mappedType === database_types_1.DatabaseType.MONGODB) {
122
+ // MongoDB connection string format: mongodb://[username:password@]host[:port][/database][?options]
123
+ return {
124
+ type: database_types_1.DatabaseType.MONGODB,
125
+ env,
126
+ database: databaseName,
127
+ options: {
128
+ connectionString: connectionUrl,
129
+ uri: connectionUrl,
130
+ },
131
+ };
132
+ }
133
+ else if (mappedType === database_types_1.DatabaseType.DYNAMODB) {
134
+ // DynamoDB uses region/credentials rather than connection URL
135
+ // Connection URL format: dynamodb://region?accessKeyId=xxx&secretAccessKey=xxx
136
+ const url = new URL(connectionUrl);
137
+ const region = url.hostname;
138
+ const accessKeyId = url.searchParams.get('accessKeyId') || undefined;
139
+ const secretAccessKey = url.searchParams.get('secretAccessKey') || undefined;
140
+ const sessionToken = url.searchParams.get('sessionToken') || undefined;
141
+ return {
142
+ type: database_types_1.DatabaseType.DYNAMODB,
143
+ env,
144
+ database: databaseName,
145
+ options: {
146
+ region,
147
+ accessKeyId,
148
+ secretAccessKey,
149
+ sessionToken,
150
+ },
151
+ };
152
+ }
153
+ else {
154
+ // PostgreSQL/MySQL connection string format: protocol://[user:password@]host[:port]/database[?options]
155
+ const url = new URL(connectionUrl);
156
+ const urlOptions = this.parseUrlOptions(url.searchParams);
157
+ return {
158
+ type: mappedType,
159
+ env,
160
+ database: url.pathname.slice(1) || databaseName,
161
+ options: Object.assign({ host: url.hostname, port: url.port ? parseInt(url.port) : mappedType === database_types_1.DatabaseType.POSTGRESQL ? 5432 : 3306, user: url.username || undefined, username: url.username || undefined, password: url.password || undefined }, urlOptions),
162
+ };
163
+ }
164
+ }
165
+ catch (error) {
166
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.CONNECTION_ERROR, `Failed to parse connection URL: ${error.message}`);
167
+ }
168
+ }
169
+ /**
170
+ * Parse URL search parameters into options object
171
+ */
172
+ parseUrlOptions(params) {
173
+ const options = {};
174
+ params.forEach((value, key) => {
175
+ // Try to parse as number or boolean
176
+ if (value === 'true') {
177
+ options[key] = true;
178
+ }
179
+ else if (value === 'false') {
180
+ options[key] = false;
181
+ }
182
+ else if (!isNaN(Number(value))) {
183
+ options[key] = Number(value);
184
+ }
185
+ else {
186
+ options[key] = value;
187
+ }
188
+ });
189
+ return options;
190
+ }
191
+ /**
192
+ * Get or create a connection
193
+ */
194
+ async getConnection(config) {
195
+ // Check if it's a product-based connection
196
+ if ('product' in config) {
197
+ return this.resolveProductConnection(config);
198
+ }
199
+ // Direct connection configuration
200
+ const adapter = this.getAdapter(config.type);
201
+ const connectionKey = `${config.type}-${config.env}-${config.database}`;
202
+ // Check if connection already exists
203
+ let connection = this.connections.get(connectionKey);
204
+ if (connection && connection.isConnected()) {
205
+ return { connection, adapter };
206
+ }
207
+ // Create new connection
208
+ connection = await adapter.connect(config);
209
+ this.connections.set(connectionKey, connection);
210
+ return { connection, adapter };
211
+ }
212
+ // ==================== Connection Methods ====================
213
+ /**
214
+ * Connect to a database
215
+ */
216
+ async connect(config) {
217
+ const { connection, adapter } = await this.getConnection(config);
218
+ return adapter.testConnection(connection);
219
+ }
220
+ /**
221
+ * Disconnect from a database
222
+ */
223
+ async disconnect(config) {
224
+ // TODO: Find and close the connection
225
+ throw new Error('Not implemented');
226
+ }
227
+ /**
228
+ * Test database connection
229
+ */
230
+ async testConnection(config) {
231
+ const { connection, adapter } = await this.getConnection(config);
232
+ return adapter.testConnection(connection);
233
+ }
234
+ // ==================== Transaction Methods ====================
235
+ /**
236
+ * Begin a new transaction
237
+ */
238
+ async beginTransaction(config, options) {
239
+ const { connection, adapter } = await this.getConnection(config);
240
+ return adapter.beginTransaction(connection, options);
241
+ }
242
+ /**
243
+ * Execute operations within a transaction (callback-based)
244
+ */
245
+ async transaction(config, callback) {
246
+ const { connection, adapter } = await this.getConnection(config);
247
+ return adapter.executeTransaction(connection, callback, config);
248
+ }
249
+ // ==================== Query Methods ====================
250
+ /**
251
+ * Execute a SELECT query
252
+ */
253
+ async query(options) {
254
+ const config = {
255
+ env: options.env,
256
+ product: options.product,
257
+ database: options.database,
258
+ };
259
+ const { connection, adapter } = await this.getConnection(config);
260
+ return adapter.query(connection, options);
261
+ }
262
+ /**
263
+ * Insert records
264
+ */
265
+ async insert(options) {
266
+ const config = {
267
+ env: options.env,
268
+ product: options.product,
269
+ database: options.database,
270
+ };
271
+ const { connection, adapter } = await this.getConnection(config);
272
+ return adapter.insert(connection, options);
273
+ }
274
+ /**
275
+ * Update records
276
+ */
277
+ async update(options) {
278
+ const config = {
279
+ env: options.env,
280
+ product: options.product,
281
+ database: options.database,
282
+ };
283
+ const { connection, adapter } = await this.getConnection(config);
284
+ return adapter.update(connection, options);
285
+ }
286
+ /**
287
+ * Delete records
288
+ */
289
+ async delete(options) {
290
+ const config = {
291
+ env: options.env,
292
+ product: options.product,
293
+ database: options.database,
294
+ };
295
+ const { connection, adapter } = await this.getConnection(config);
296
+ return adapter.delete(connection, options);
297
+ }
298
+ /**
299
+ * Upsert records
300
+ */
301
+ async upsert(options) {
302
+ const config = {
303
+ env: options.env,
304
+ product: options.product,
305
+ database: options.database,
306
+ };
307
+ const { connection, adapter } = await this.getConnection(config);
308
+ return adapter.upsert(connection, options);
309
+ }
310
+ /**
311
+ * Execute raw SQL/query
312
+ */
313
+ async raw(options) {
314
+ const config = {
315
+ env: options.env,
316
+ product: options.product,
317
+ database: options.database,
318
+ };
319
+ const { connection, adapter } = await this.getConnection(config);
320
+ return adapter.executeRaw(connection, options);
321
+ }
322
+ // ==================== Aggregation Methods ====================
323
+ /**
324
+ * Count records
325
+ */
326
+ async count(options) {
327
+ const config = {
328
+ env: options.env,
329
+ product: options.product,
330
+ database: options.database,
331
+ };
332
+ const { connection, adapter } = await this.getConnection(config);
333
+ return adapter.count(connection, options);
334
+ }
335
+ /**
336
+ * Sum column values
337
+ */
338
+ async sum(options) {
339
+ const config = {
340
+ env: options.env,
341
+ product: options.product,
342
+ database: options.database,
343
+ };
344
+ const { connection, adapter } = await this.getConnection(config);
345
+ return adapter.sum(connection, options);
346
+ }
347
+ /**
348
+ * Get average value
349
+ */
350
+ async avg(options) {
351
+ const config = {
352
+ env: options.env,
353
+ product: options.product,
354
+ database: options.database,
355
+ };
356
+ const { connection, adapter } = await this.getConnection(config);
357
+ return adapter.avg(connection, options);
358
+ }
359
+ /**
360
+ * Get minimum value
361
+ */
362
+ async min(options) {
363
+ const config = {
364
+ env: options.env,
365
+ product: options.product,
366
+ database: options.database,
367
+ };
368
+ const { connection, adapter } = await this.getConnection(config);
369
+ return adapter.min(connection, options);
370
+ }
371
+ /**
372
+ * Get maximum value
373
+ */
374
+ async max(options) {
375
+ const config = {
376
+ env: options.env,
377
+ product: options.product,
378
+ database: options.database,
379
+ };
380
+ const { connection, adapter } = await this.getConnection(config);
381
+ return adapter.max(connection, options);
382
+ }
383
+ /**
384
+ * Group by and aggregate
385
+ */
386
+ async groupBy(options) {
387
+ const config = {
388
+ env: options.env,
389
+ product: options.product,
390
+ database: options.database,
391
+ };
392
+ const { connection, adapter } = await this.getConnection(config);
393
+ return adapter.groupBy(connection, options);
394
+ }
395
+ /**
396
+ * Multiple aggregations
397
+ */
398
+ async aggregate(options) {
399
+ const config = {
400
+ env: options.env,
401
+ product: options.product,
402
+ database: options.database,
403
+ };
404
+ const { connection, adapter } = await this.getConnection(config);
405
+ return adapter.aggregate(connection, options);
406
+ }
407
+ // ==================== Schema Methods ====================
408
+ /**
409
+ * Create a table
410
+ */
411
+ async createTable(config, schema, options) {
412
+ const { connection, adapter } = await this.getConnection(config);
413
+ return adapter.createTable(connection, schema, options);
414
+ }
415
+ /**
416
+ * Drop a table
417
+ */
418
+ async dropTable(config, tableName) {
419
+ const { connection, adapter } = await this.getConnection(config);
420
+ return adapter.dropTable(connection, tableName);
421
+ }
422
+ /**
423
+ * Alter a table
424
+ */
425
+ async alterTable(config, tableName, alterations, options) {
426
+ const { connection, adapter } = await this.getConnection(config);
427
+ return adapter.alterTable(connection, tableName, alterations, options);
428
+ }
429
+ /**
430
+ * Get table schema
431
+ */
432
+ async getTableSchema(config, tableName) {
433
+ const { connection, adapter } = await this.getConnection(config);
434
+ return adapter.getTableSchema(connection, tableName);
435
+ }
436
+ /**
437
+ * List all tables
438
+ */
439
+ async listTables(config) {
440
+ const { connection, adapter } = await this.getConnection(config);
441
+ return adapter.listTables(connection);
442
+ }
443
+ /**
444
+ * Check if table exists
445
+ */
446
+ async tableExists(config, tableName) {
447
+ const { connection, adapter } = await this.getConnection(config);
448
+ return adapter.tableExists(connection, tableName);
449
+ }
450
+ // ==================== Index Methods ====================
451
+ /**
452
+ * Create an index
453
+ */
454
+ async createIndex(options) {
455
+ const config = {
456
+ env: options.env,
457
+ product: options.product,
458
+ database: options.database,
459
+ };
460
+ const { connection, adapter } = await this.getConnection(config);
461
+ return adapter.createIndex(connection, options);
462
+ }
463
+ /**
464
+ * Drop an index
465
+ */
466
+ async dropIndex(options) {
467
+ const config = {
468
+ env: options.env,
469
+ product: options.product,
470
+ database: options.database,
471
+ };
472
+ const { connection, adapter } = await this.getConnection(config);
473
+ return adapter.dropIndex(connection, options);
474
+ }
475
+ /**
476
+ * List indexes
477
+ */
478
+ async listIndexes(options) {
479
+ const config = {
480
+ env: options.env,
481
+ product: options.product,
482
+ database: options.database,
483
+ };
484
+ const { connection, adapter } = await this.getConnection(config);
485
+ return adapter.listIndexes(connection, options);
486
+ }
487
+ /**
488
+ * Get index statistics
489
+ */
490
+ async getIndexStatistics(config, tableName, indexName) {
491
+ const { connection, adapter } = await this.getConnection(config);
492
+ return adapter.getIndexStatistics(connection, tableName, indexName);
493
+ }
494
+ // ==================== Migration Methods ====================
495
+ /**
496
+ * Run migrations
497
+ */
498
+ async runMigration(migration, options) {
499
+ const config = {
500
+ env: options.env,
501
+ product: options.product,
502
+ database: options.database,
503
+ };
504
+ const { connection, adapter } = await this.getConnection(config);
505
+ return adapter.runMigration(connection, migration, options);
506
+ }
507
+ /**
508
+ * Rollback migration
509
+ */
510
+ async rollbackMigration(migration, options) {
511
+ const config = {
512
+ env: options.env,
513
+ product: options.product,
514
+ database: options.database,
515
+ };
516
+ const { connection, adapter } = await this.getConnection(config);
517
+ return adapter.rollbackMigration(connection, migration, options);
518
+ }
519
+ /**
520
+ * Get migration history
521
+ */
522
+ async getMigrationHistory(options) {
523
+ const config = {
524
+ env: options.env,
525
+ product: options.product,
526
+ database: options.database,
527
+ };
528
+ const { connection, adapter } = await this.getConnection(config);
529
+ return adapter.getMigrationHistory(connection, options);
530
+ }
531
+ /**
532
+ * Get migration status
533
+ */
534
+ async getMigrationStatus(options) {
535
+ // TODO: Implement migration status logic
536
+ // - Fetch all defined migrations
537
+ // - Fetch migration history
538
+ // - Compare and return status
539
+ throw new Error('Not implemented');
540
+ }
541
+ // ==================== Utility Methods ====================
542
+ /**
543
+ * Close all connections
544
+ */
545
+ async closeAll() {
546
+ const closePromises = Array.from(this.connections.values()).map((connection) => connection.disconnect());
547
+ await Promise.all(closePromises);
548
+ this.connections.clear();
549
+ }
550
+ }
551
+ exports.DatabaseService = DatabaseService;
552
+ //# sourceMappingURL=database.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"database.service.js","sourceRoot":"","sources":["../../src/database/database.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Database module index
3
+ * Exports the main database service and all types
4
+ */
5
+ export { DatabaseService } from './database.service';
6
+ export * from './types';
7
+ export { BaseDatabaseAdapter } from './adapters/base.adapter';
8
+ export { PostgreSQLAdapter } from './adapters/postgresql.adapter';
9
+ export { MongoDBAdapter } from './adapters/mongodb.adapter';
10
+ export { MySQLAdapter } from './adapters/mysql.adapter';
11
+ export { DynamoDBAdapter } from './adapters/dynamodb.adapter';
12
+ export { Transaction, Savepoint, TransactionFactory } from './utils/transaction';
13
+ export { generateMigrationTag, generateMigrationTimestamp, createMigration, createTable, dropTable, addColumn, dropColumn, modifyColumn, renameColumn, addIndex, dropIndex, addConstraint, dropConstraint, rawSql, createTableMigration, addColumnMigration, addIndexMigration, SchemaHelpers, generateMigrationFileContent, generateMigrationTemplate, } from './utils/migration.utils';
14
+ export { mapColumnTypeToNative, buildWhereClause, buildMongoQuery, escapeIdentifier, escapeValue, formatDatabaseError, isConnectionError, isDuplicateKeyError, isForeignKeyError, retryOperation, sanitizeTableName, camelToSnake, snakeToCamel, deepClone, } from './utils/helpers';
15
+ export { validateConnection, assertValidConnection } from './validators/connection.validator';
16
+ export type { IValidationResult } from './validators/connection.validator';
17
+ export { validateTableSchema, validateColumnDefinition, validateIndexDefinition, assertValidTableSchema, assertValidColumn, assertValidIndex, } from './validators/schema.validator';
18
+ export { validateQueryOptions, validateInsertData, validateUpdateData, assertValidQueryOptions, assertValidInsertData, assertValidUpdateData, } from './validators/query.validator';