@ductape/sdk 0.0.4-v46 → 0.0.4-v49

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 (126) hide show
  1. package/README.md +1 -1
  2. package/dist/api/services/appApi.service.js +1 -1
  3. package/dist/api/services/appApi.service.js.map +1 -1
  4. package/dist/api/services/productsApi.service.d.ts +1 -0
  5. package/dist/api/services/productsApi.service.js +30 -2
  6. package/dist/api/services/productsApi.service.js.map +1 -1
  7. package/dist/api/services/workspaceSecretsApi.service.d.ts +75 -0
  8. package/dist/api/services/workspaceSecretsApi.service.js +62 -0
  9. package/dist/api/services/workspaceSecretsApi.service.js.map +1 -0
  10. package/dist/api/utils/cache.utils.js +10 -4
  11. package/dist/api/utils/cache.utils.js.map +1 -1
  12. package/dist/apps/services/app.service.js +5 -1
  13. package/dist/apps/services/app.service.js.map +1 -1
  14. package/dist/database/adapters/base.adapter.d.ts +8 -8
  15. package/dist/database/adapters/base.adapter.js.map +1 -1
  16. package/dist/database/adapters/dynamodb.adapter.d.ts +7 -7
  17. package/dist/database/adapters/dynamodb.adapter.js +174 -35
  18. package/dist/database/adapters/dynamodb.adapter.js.map +1 -1
  19. package/dist/database/adapters/mongodb.adapter.d.ts +7 -7
  20. package/dist/database/adapters/mongodb.adapter.js +263 -73
  21. package/dist/database/adapters/mongodb.adapter.js.map +1 -1
  22. package/dist/database/adapters/mysql.adapter.d.ts +7 -7
  23. package/dist/database/adapters/mysql.adapter.js +117 -42
  24. package/dist/database/adapters/mysql.adapter.js.map +1 -1
  25. package/dist/database/adapters/postgresql.adapter.d.ts +7 -7
  26. package/dist/database/adapters/postgresql.adapter.js +194 -63
  27. package/dist/database/adapters/postgresql.adapter.js.map +1 -1
  28. package/dist/database/database.service.d.ts +38 -1
  29. package/dist/database/database.service.js +307 -7
  30. package/dist/database/database.service.js.map +1 -1
  31. package/dist/database/types/aggregation.types.d.ts +73 -14
  32. package/dist/database/types/database.types.d.ts +2 -1
  33. package/dist/database/types/database.types.js +2 -1
  34. package/dist/database/types/database.types.js.map +1 -1
  35. package/dist/database/types/result.types.d.ts +2 -0
  36. package/dist/database/utils/transaction.js +2 -2
  37. package/dist/database/utils/transaction.js.map +1 -1
  38. package/dist/graph/adapters/arangodb.adapter.d.ts +80 -0
  39. package/dist/graph/adapters/arangodb.adapter.js +1393 -0
  40. package/dist/graph/adapters/arangodb.adapter.js.map +1 -0
  41. package/dist/graph/adapters/base.adapter.d.ts +228 -0
  42. package/dist/graph/adapters/base.adapter.js +38 -0
  43. package/dist/graph/adapters/base.adapter.js.map +1 -0
  44. package/dist/graph/adapters/index.d.ts +10 -0
  45. package/dist/graph/adapters/index.js +23 -0
  46. package/dist/graph/adapters/index.js.map +1 -0
  47. package/dist/graph/adapters/memgraph.adapter.d.ts +85 -0
  48. package/dist/graph/adapters/memgraph.adapter.js +1491 -0
  49. package/dist/graph/adapters/memgraph.adapter.js.map +1 -0
  50. package/dist/graph/adapters/neo4j.adapter.d.ts +88 -0
  51. package/dist/graph/adapters/neo4j.adapter.js +1861 -0
  52. package/dist/graph/adapters/neo4j.adapter.js.map +1 -0
  53. package/dist/graph/adapters/neptune.adapter.d.ts +87 -0
  54. package/dist/graph/adapters/neptune.adapter.js +1430 -0
  55. package/dist/graph/adapters/neptune.adapter.js.map +1 -0
  56. package/dist/graph/graph.service.d.ts +278 -0
  57. package/dist/graph/graph.service.js +687 -0
  58. package/dist/graph/graph.service.js.map +1 -0
  59. package/dist/graph/index.d.ts +11 -0
  60. package/dist/graph/index.js +42 -0
  61. package/dist/graph/index.js.map +1 -0
  62. package/dist/graph/types/connection.types.d.ts +158 -0
  63. package/dist/graph/types/connection.types.js +43 -0
  64. package/dist/graph/types/connection.types.js.map +1 -0
  65. package/dist/graph/types/graph.types.d.ts +144 -0
  66. package/dist/graph/types/graph.types.js +84 -0
  67. package/dist/graph/types/graph.types.js.map +1 -0
  68. package/dist/graph/types/index.d.ts +11 -0
  69. package/dist/graph/types/index.js +35 -0
  70. package/dist/graph/types/index.js.map +1 -0
  71. package/dist/graph/types/node.types.d.ts +193 -0
  72. package/dist/graph/types/node.types.js +49 -0
  73. package/dist/graph/types/node.types.js.map +1 -0
  74. package/dist/graph/types/path.types.d.ts +224 -0
  75. package/dist/graph/types/path.types.js +38 -0
  76. package/dist/graph/types/path.types.js.map +1 -0
  77. package/dist/graph/types/query.types.d.ts +247 -0
  78. package/dist/graph/types/query.types.js +23 -0
  79. package/dist/graph/types/query.types.js.map +1 -0
  80. package/dist/graph/types/relationship.types.d.ts +224 -0
  81. package/dist/graph/types/relationship.types.js +35 -0
  82. package/dist/graph/types/relationship.types.js.map +1 -0
  83. package/dist/graph/types/result.types.d.ts +237 -0
  84. package/dist/graph/types/result.types.js +7 -0
  85. package/dist/graph/types/result.types.js.map +1 -0
  86. package/dist/graph/validators/index.d.ts +81 -0
  87. package/dist/graph/validators/index.js +243 -0
  88. package/dist/graph/validators/index.js.map +1 -0
  89. package/dist/index.d.ts +132 -1
  90. package/dist/index.js +207 -0
  91. package/dist/index.js.map +1 -1
  92. package/dist/logs/logs.types.d.ts +1 -0
  93. package/dist/logs/logs.types.js +1 -0
  94. package/dist/logs/logs.types.js.map +1 -1
  95. package/dist/processor/services/processor.service.js.map +1 -1
  96. package/dist/products/services/products.service.d.ts +17 -1
  97. package/dist/products/services/products.service.js +240 -41
  98. package/dist/products/services/products.service.js.map +1 -1
  99. package/dist/products/validators/index.d.ts +3 -1
  100. package/dist/products/validators/index.js +5 -1
  101. package/dist/products/validators/index.js.map +1 -1
  102. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.d.ts +15 -4
  103. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js +501 -109
  104. package/dist/products/validators/joi-validators/create.productDatabaseAction.validator.js.map +1 -1
  105. package/dist/products/validators/joi-validators/create.productGraph.validator.d.ts +3 -0
  106. package/dist/products/validators/joi-validators/create.productGraph.validator.js +82 -0
  107. package/dist/products/validators/joi-validators/create.productGraph.validator.js.map +1 -0
  108. package/dist/products/validators/joi-validators/create.productGraphAction.validator.d.ts +14 -0
  109. package/dist/products/validators/joi-validators/create.productGraphAction.validator.js +696 -0
  110. package/dist/products/validators/joi-validators/create.productGraphAction.validator.js.map +1 -0
  111. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.d.ts +6 -0
  112. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js +28 -26
  113. package/dist/products/validators/joi-validators/update.productDatabaseAction.validator.js.map +1 -1
  114. package/dist/products/validators/joi-validators/update.productGraph.validator.d.ts +3 -0
  115. package/dist/products/validators/joi-validators/update.productGraph.validator.js +87 -0
  116. package/dist/products/validators/joi-validators/update.productGraph.validator.js.map +1 -0
  117. package/dist/products/validators/joi-validators/update.productGraphAction.validator.d.ts +7 -0
  118. package/dist/products/validators/joi-validators/update.productGraphAction.validator.js +72 -0
  119. package/dist/products/validators/joi-validators/update.productGraphAction.validator.js.map +1 -0
  120. package/dist/types/enums.d.ts +2 -1
  121. package/dist/types/enums.js +1 -0
  122. package/dist/types/enums.js.map +1 -1
  123. package/dist/types/productsBuilder.types.d.ts +80 -6
  124. package/dist/types/productsBuilder.types.js +61 -4
  125. package/dist/types/productsBuilder.types.js.map +1 -1
  126. package/package.json +5 -1
@@ -2,7 +2,7 @@
2
2
  * Base database adapter interface
3
3
  * All database-specific adapters must implement this interface
4
4
  */
5
- import { DatabaseType, IConnection, IDatabaseConfig } from '../types/database.types';
5
+ import { DatabaseType, IConnection, IDatabaseConfig, ITransaction, ISavepoint, ITransactionOptions } from '../types/database.types';
6
6
  import { IQueryOptions, IInsertOptions, IUpdateOptions, IDeleteOptions, IUpsertOptions, IRawQueryOptions } from '../types/query.types';
7
7
  import { ICountOptions, ISumOptions, IAvgOptions, IMinOptions, IMaxOptions, IGroupByOptions, IAggregateOptions, IGroupByResult } from '../types/aggregation.types';
8
8
  import { ITableSchema, IColumnAlteration, ICreateTableOptions, IAlterTableOptions } from '../types/schema.types';
@@ -31,32 +31,32 @@ export declare abstract class BaseDatabaseAdapter {
31
31
  /**
32
32
  * Begin a new transaction
33
33
  */
34
- abstract beginTransaction(connection: IConnection, options?: any): Promise<any>;
34
+ abstract beginTransaction(connection: IConnection, options?: ITransactionOptions): Promise<ITransaction>;
35
35
  /**
36
36
  * Commit a transaction
37
37
  */
38
- abstract commitTransaction(connection: IConnection, transaction: any): Promise<void>;
38
+ abstract commitTransaction(connection: IConnection, transaction: ITransaction): Promise<void>;
39
39
  /**
40
40
  * Rollback a transaction
41
41
  */
42
- abstract rollbackTransaction(connection: IConnection, transaction: any): Promise<void>;
42
+ abstract rollbackTransaction(connection: IConnection, transaction: ITransaction): Promise<void>;
43
43
  /**
44
44
  * Create a savepoint within a transaction
45
45
  */
46
- abstract createSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
46
+ abstract createSavepoint(connection: IConnection, transaction: ITransaction, savepointName: string): Promise<ISavepoint>;
47
47
  /**
48
48
  * Rollback to a savepoint
49
49
  */
50
- abstract rollbackToSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
50
+ abstract rollbackToSavepoint(connection: IConnection, transaction: ITransaction, savepoint: ISavepoint): Promise<void>;
51
51
  /**
52
52
  * Release a savepoint
53
53
  */
54
- abstract releaseSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
54
+ abstract releaseSavepoint(connection: IConnection, transaction: ITransaction, savepoint: ISavepoint): Promise<void>;
55
55
  /**
56
56
  * Execute a callback within a transaction
57
57
  * Automatically commits on success or rolls back on error
58
58
  */
59
- executeTransaction<T>(connection: IConnection, callback: (transaction: any) => Promise<T>, options?: any): Promise<T>;
59
+ executeTransaction<T>(connection: IConnection, callback: (transaction: ITransaction) => Promise<T>, options?: ITransactionOptions): Promise<T>;
60
60
  /**
61
61
  * Execute a select query
62
62
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base.adapter.js","sourceRoot":"","sources":["../../../src/database/adapters/base.adapter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwDH;;;GAGG;AACH,MAAsB,mBAAmB;IAoEvC;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,UAAuB,EACvB,QAA0C,EAC1C,OAAa;QAEb,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CAmOF;AA1TD,kDA0TC"}
1
+ {"version":3,"file":"base.adapter.js","sourceRoot":"","sources":["../../../src/database/adapters/base.adapter.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA2DH;;;GAGG;AACH,MAAsB,mBAAmB;IAoEvC;;;OAGG;IACH,KAAK,CAAC,kBAAkB,CACtB,UAAuB,EACvB,QAAmD,EACnD,OAA6B;QAE7B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAErE,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,CAAC;YAC3C,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;YACxD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;CAmOF;AA1TD,kDA0TC"}
@@ -3,7 +3,7 @@
3
3
  * Implements database operations for Amazon DynamoDB
4
4
  */
5
5
  import { BaseDatabaseAdapter } from './base.adapter';
6
- import { DatabaseType, IConnection, IDatabaseConfig } from '../types/database.types';
6
+ import { DatabaseType, IConnection, IDatabaseConfig, ITransaction, ISavepoint, ITransactionOptions } from '../types/database.types';
7
7
  import { IQueryOptions, IInsertOptions, IUpdateOptions, IDeleteOptions, IUpsertOptions, IRawQueryOptions } from '../types/query.types';
8
8
  import { ICountOptions, ISumOptions, IAvgOptions, IMinOptions, IMaxOptions, IGroupByOptions, IAggregateOptions, IGroupByResult } from '../types/aggregation.types';
9
9
  import { ITableSchema, IColumnAlteration, ICreateTableOptions, IAlterTableOptions } from '../types/schema.types';
@@ -18,12 +18,12 @@ export declare class DynamoDBAdapter extends BaseDatabaseAdapter {
18
18
  connect(config: IDatabaseConfig): Promise<IConnection>;
19
19
  disconnect(connection: IConnection): Promise<void>;
20
20
  testConnection(connection: IConnection): Promise<IConnectionTestResult>;
21
- beginTransaction(connection: IConnection, options?: any): Promise<any>;
22
- commitTransaction(connection: IConnection, transaction: any): Promise<void>;
23
- rollbackTransaction(connection: IConnection, transaction: any): Promise<void>;
24
- createSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
25
- rollbackToSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
26
- releaseSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
21
+ beginTransaction(connection: IConnection, options?: ITransactionOptions): Promise<ITransaction>;
22
+ commitTransaction(_connection: IConnection, transaction: ITransaction): Promise<void>;
23
+ rollbackTransaction(_connection: IConnection, transaction: ITransaction): Promise<void>;
24
+ createSavepoint(_connection: IConnection, _transaction: ITransaction, _savepointName: string): Promise<ISavepoint>;
25
+ rollbackToSavepoint(_connection: IConnection, _transaction: ITransaction, _savepoint: ISavepoint): Promise<void>;
26
+ releaseSavepoint(_connection: IConnection, _transaction: ITransaction, _savepoint: ISavepoint): Promise<void>;
27
27
  query<T = any>(connection: IConnection, options: IQueryOptions): Promise<IQueryResult<T>>;
28
28
  insert<T = any>(connection: IConnection, options: IInsertOptions): Promise<IInsertResult<T>>;
29
29
  update<T = any>(connection: IConnection, options: IUpdateOptions): Promise<IUpdateResult<T>>;
@@ -40,6 +40,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
40
40
  exports.DynamoDBAdapter = void 0;
41
41
  const base_adapter_1 = require("./base.adapter");
42
42
  const database_types_1 = require("../types/database.types");
43
+ const uuid_1 = require("uuid");
43
44
  const schema_types_1 = require("../types/schema.types");
44
45
  const migration_types_1 = require("../types/migration.types");
45
46
  /**
@@ -76,6 +77,74 @@ class DynamoDBConnection {
76
77
  throw new Error('Config not stored in connection');
77
78
  }
78
79
  }
80
+ /**
81
+ * DynamoDB Transaction implementation
82
+ * Note: DynamoDB transactions work differently from SQL - they collect items
83
+ * and execute them atomically on commit using TransactWriteItems.
84
+ * Maximum 100 items per transaction.
85
+ * Does NOT support savepoints.
86
+ */
87
+ class DynamoDBTransaction {
88
+ constructor(connection, _options) {
89
+ this.transactItems = [];
90
+ this.id = (0, uuid_1.v4)();
91
+ this.connection = connection;
92
+ this.status = database_types_1.TransactionStatus.ACTIVE;
93
+ this.createdAt = new Date();
94
+ this.native = { items: this.transactItems };
95
+ }
96
+ async commit() {
97
+ if (this.status !== database_types_1.TransactionStatus.ACTIVE) {
98
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.TRANSACTION_ERROR, `Cannot commit transaction: status is ${this.status}`);
99
+ }
100
+ if (this.transactItems.length === 0) {
101
+ this.status = database_types_1.TransactionStatus.COMMITTED;
102
+ return;
103
+ }
104
+ if (this.transactItems.length > 100) {
105
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.TRANSACTION_ERROR, `DynamoDB transactions are limited to 100 items. Current: ${this.transactItems.length}`);
106
+ }
107
+ try {
108
+ const { TransactWriteCommand } = await Promise.resolve().then(() => __importStar(require('@aws-sdk/lib-dynamodb')));
109
+ const docClient = this.connection.getClient();
110
+ await docClient.send(new TransactWriteCommand({
111
+ TransactItems: this.transactItems,
112
+ }));
113
+ this.status = database_types_1.TransactionStatus.COMMITTED;
114
+ }
115
+ catch (error) {
116
+ this.status = database_types_1.TransactionStatus.ROLLED_BACK;
117
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.TRANSACTION_ERROR, `DynamoDB transaction commit failed: ${error.message}`, error);
118
+ }
119
+ }
120
+ async rollback() {
121
+ if (this.status !== database_types_1.TransactionStatus.ACTIVE) {
122
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.TRANSACTION_ERROR, `Cannot rollback transaction: status is ${this.status}`);
123
+ }
124
+ // DynamoDB transactions are atomic - just clear items and mark as rolled back
125
+ this.transactItems = [];
126
+ this.status = database_types_1.TransactionStatus.ROLLED_BACK;
127
+ }
128
+ async savepoint(_name) {
129
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.NOT_SUPPORTED, 'DynamoDB does not support savepoints. Transactions are atomic batch operations.');
130
+ }
131
+ isActive() {
132
+ return this.status === database_types_1.TransactionStatus.ACTIVE;
133
+ }
134
+ /**
135
+ * Add an item to the transaction batch
136
+ * Used internally by the adapter for transactional operations
137
+ */
138
+ addItem(item) {
139
+ if (this.transactItems.length >= 100) {
140
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.TRANSACTION_ERROR, 'DynamoDB transactions are limited to 100 items');
141
+ }
142
+ this.transactItems.push(item);
143
+ }
144
+ getItems() {
145
+ return this.transactItems;
146
+ }
147
+ }
79
148
  /**
80
149
  * DynamoDB Database Adapter
81
150
  */
@@ -142,37 +211,23 @@ class DynamoDBAdapter extends base_adapter_1.BaseDatabaseAdapter {
142
211
  }
143
212
  // ==================== Transaction Methods ====================
144
213
  async beginTransaction(connection, options) {
145
- // DynamoDB transactions are handled differently - store items for batch execution
146
- return {
147
- items: [],
148
- connection,
149
- };
214
+ // DynamoDB transactions collect items and execute them atomically on commit
215
+ return new DynamoDBTransaction(connection, options);
150
216
  }
151
- async commitTransaction(connection, transaction) {
152
- // Execute transactional write
153
- if (transaction.items.length === 0) {
154
- return;
155
- }
156
- const { TransactWriteCommand } = await Promise.resolve().then(() => __importStar(require('@aws-sdk/lib-dynamodb')));
157
- const docClient = connection.getClient();
158
- await docClient.send(new TransactWriteCommand({
159
- TransactItems: transaction.items,
160
- }));
217
+ async commitTransaction(_connection, transaction) {
218
+ await transaction.commit();
161
219
  }
162
- async rollbackTransaction(connection, transaction) {
163
- // DynamoDB transactions are atomic - no explicit rollback needed
164
- // Just clear the items
165
- transaction.items = [];
220
+ async rollbackTransaction(_connection, transaction) {
221
+ await transaction.rollback();
166
222
  }
167
- async createSavepoint(connection, transaction, savepointName) {
168
- // DynamoDB doesn't support savepoints
169
- throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.QUERY_ERROR, 'DynamoDB does not support savepoints');
223
+ async createSavepoint(_connection, _transaction, _savepointName) {
224
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.NOT_SUPPORTED, 'DynamoDB does not support savepoints. Transactions are atomic batch operations.');
170
225
  }
171
- async rollbackToSavepoint(connection, transaction, savepointName) {
172
- throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.QUERY_ERROR, 'DynamoDB does not support savepoints');
226
+ async rollbackToSavepoint(_connection, _transaction, _savepoint) {
227
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.NOT_SUPPORTED, 'DynamoDB does not support savepoints.');
173
228
  }
174
- async releaseSavepoint(connection, transaction, savepointName) {
175
- throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.QUERY_ERROR, 'DynamoDB does not support savepoints');
229
+ async releaseSavepoint(_connection, _transaction, _savepoint) {
230
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.NOT_SUPPORTED, 'DynamoDB does not support savepoints.');
176
231
  }
177
232
  // ==================== Query Methods ====================
178
233
  async query(connection, options) {
@@ -437,6 +492,7 @@ class DynamoDBAdapter extends base_adapter_1.BaseDatabaseAdapter {
437
492
  async groupBy(connection, options) {
438
493
  try {
439
494
  // DynamoDB doesn't support GROUP BY - need to scan and group manually
495
+ // WARNING: This scans the entire table - use with caution on large tables
440
496
  const result = await this.query(connection, {
441
497
  table: options.table,
442
498
  where: options.where,
@@ -459,11 +515,42 @@ class DynamoDBAdapter extends base_adapter_1.BaseDatabaseAdapter {
459
515
  if (options.aggregate) {
460
516
  const groupData = groups.get(groupKey);
461
517
  Object.entries(options.aggregate).forEach(([alias, agg]) => {
462
- const value = item[agg.column];
463
- if (!groupData[alias]) {
464
- groupData[alias] = agg.function === 'count' ? 0 : 0;
518
+ const aggObj = agg;
519
+ // Parse operation and column
520
+ let operation;
521
+ let column;
522
+ if (aggObj.$COUNT !== undefined) {
523
+ operation = 'count';
524
+ column = aggObj.$COUNT;
525
+ }
526
+ else if (aggObj.$SUM !== undefined) {
527
+ operation = 'sum';
528
+ column = aggObj.$SUM;
529
+ }
530
+ else if (aggObj.$AVG !== undefined) {
531
+ operation = 'avg';
532
+ column = aggObj.$AVG;
533
+ }
534
+ else if (aggObj.$MIN !== undefined) {
535
+ operation = 'min';
536
+ column = aggObj.$MIN;
465
537
  }
466
- switch (agg.function.toLowerCase()) {
538
+ else if (aggObj.$MAX !== undefined) {
539
+ operation = 'max';
540
+ column = aggObj.$MAX;
541
+ }
542
+ else {
543
+ return; // Skip unknown format
544
+ }
545
+ const value = column === '*' ? 1 : item[column];
546
+ if (groupData[alias] === undefined) {
547
+ groupData[alias] = 0;
548
+ if (operation === 'min')
549
+ groupData[alias] = Infinity;
550
+ if (operation === 'max')
551
+ groupData[alias] = -Infinity;
552
+ }
553
+ switch (operation) {
467
554
  case 'count':
468
555
  groupData[alias]++;
469
556
  break;
@@ -479,11 +566,30 @@ class DynamoDBAdapter extends base_adapter_1.BaseDatabaseAdapter {
479
566
  groupData[`${alias}_count`]++;
480
567
  groupData[alias] = groupData[`${alias}_sum`] / groupData[`${alias}_count`];
481
568
  break;
569
+ case 'min':
570
+ if (value !== undefined && value < groupData[alias]) {
571
+ groupData[alias] = value;
572
+ }
573
+ break;
574
+ case 'max':
575
+ if (value !== undefined && value > groupData[alias]) {
576
+ groupData[alias] = value;
577
+ }
578
+ break;
482
579
  }
483
580
  });
484
581
  }
485
582
  });
486
- return Array.from(groups.values());
583
+ // Clean up helper fields used for avg calculation
584
+ const results = Array.from(groups.values());
585
+ results.forEach((group) => {
586
+ Object.keys(group).forEach((key) => {
587
+ if (key.endsWith('_sum') || key.endsWith('_count')) {
588
+ delete group[key];
589
+ }
590
+ });
591
+ });
592
+ return results;
487
593
  }
488
594
  catch (error) {
489
595
  throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.QUERY_ERROR, `DynamoDB groupBy failed: ${error.message}`, error);
@@ -491,6 +597,8 @@ class DynamoDBAdapter extends base_adapter_1.BaseDatabaseAdapter {
491
597
  }
492
598
  async aggregate(connection, options) {
493
599
  try {
600
+ // WARNING: DynamoDB does NOT support native aggregations
601
+ // This implementation scans the entire table - use with caution on large tables
494
602
  const result = await this.query(connection, {
495
603
  table: options.table,
496
604
  where: options.where,
@@ -500,8 +608,37 @@ class DynamoDBAdapter extends base_adapter_1.BaseDatabaseAdapter {
500
608
  });
501
609
  const aggregateResult = {};
502
610
  Object.entries(options.operations).forEach(([alias, agg]) => {
503
- const values = result.data.map((item) => item[agg.column]);
504
- switch (agg.function.toLowerCase()) {
611
+ const aggObj = agg;
612
+ // Parse operation and column
613
+ let operation;
614
+ let column;
615
+ if (aggObj.$COUNT !== undefined) {
616
+ operation = 'count';
617
+ column = aggObj.$COUNT;
618
+ }
619
+ else if (aggObj.$SUM !== undefined) {
620
+ operation = 'sum';
621
+ column = aggObj.$SUM;
622
+ }
623
+ else if (aggObj.$AVG !== undefined) {
624
+ operation = 'avg';
625
+ column = aggObj.$AVG;
626
+ }
627
+ else if (aggObj.$MIN !== undefined) {
628
+ operation = 'min';
629
+ column = aggObj.$MIN;
630
+ }
631
+ else if (aggObj.$MAX !== undefined) {
632
+ operation = 'max';
633
+ column = aggObj.$MAX;
634
+ }
635
+ else {
636
+ return; // Skip unknown format
637
+ }
638
+ const values = column === '*'
639
+ ? result.data.map(() => 1)
640
+ : result.data.map((item) => item[column]);
641
+ switch (operation) {
505
642
  case 'count':
506
643
  aggregateResult[alias] = result.data.length;
507
644
  break;
@@ -513,10 +650,12 @@ class DynamoDBAdapter extends base_adapter_1.BaseDatabaseAdapter {
513
650
  aggregateResult[alias] = values.length > 0 ? sum / values.length : 0;
514
651
  break;
515
652
  case 'min':
516
- aggregateResult[alias] = Math.min(...values.filter((v) => v !== undefined));
653
+ const minValues = values.filter((v) => v !== undefined && v !== null);
654
+ aggregateResult[alias] = minValues.length > 0 ? Math.min(...minValues) : null;
517
655
  break;
518
656
  case 'max':
519
- aggregateResult[alias] = Math.max(...values.filter((v) => v !== undefined));
657
+ const maxValues = values.filter((v) => v !== undefined && v !== null);
658
+ aggregateResult[alias] = maxValues.length > 0 ? Math.max(...maxValues) : null;
520
659
  break;
521
660
  }
522
661
  });
@@ -1 +1 @@
1
- {"version":3,"file":"dynamodb.adapter.js","sourceRoot":"","sources":["../../../src/database/adapters/dynamodb.adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamodb.adapter.js","sourceRoot":"","sources":["../../../src/database/adapters/dynamodb.adapter.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Implements database operations for MongoDB
4
4
  */
5
5
  import { BaseDatabaseAdapter } from './base.adapter';
6
- import { DatabaseType, IConnection, IDatabaseConfig } from '../types/database.types';
6
+ import { DatabaseType, IConnection, IDatabaseConfig, ITransaction, ISavepoint, ITransactionOptions } from '../types/database.types';
7
7
  import { IQueryOptions, IInsertOptions, IUpdateOptions, IDeleteOptions, IUpsertOptions, IRawQueryOptions } from '../types/query.types';
8
8
  import { ICountOptions, ISumOptions, IAvgOptions, IMinOptions, IMaxOptions, IGroupByOptions, IAggregateOptions, IGroupByResult } from '../types/aggregation.types';
9
9
  import { ITableSchema, IColumnAlteration, ICreateTableOptions, IAlterTableOptions } from '../types/schema.types';
@@ -19,12 +19,12 @@ export declare class MongoDBAdapter extends BaseDatabaseAdapter {
19
19
  connect(config: IDatabaseConfig): Promise<IConnection>;
20
20
  disconnect(connection: IConnection): Promise<void>;
21
21
  testConnection(connection: IConnection): Promise<IConnectionTestResult>;
22
- beginTransaction(connection: IConnection): Promise<any>;
23
- commitTransaction(connection: IConnection, transaction: any): Promise<void>;
24
- rollbackTransaction(connection: IConnection, transaction: any): Promise<void>;
25
- createSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
26
- rollbackToSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
27
- releaseSavepoint(connection: IConnection, transaction: any, savepointName: string): Promise<void>;
22
+ beginTransaction(connection: IConnection, options?: ITransactionOptions): Promise<ITransaction>;
23
+ commitTransaction(connection: IConnection, transaction: ITransaction): Promise<void>;
24
+ rollbackTransaction(connection: IConnection, transaction: ITransaction): Promise<void>;
25
+ createSavepoint(_connection: IConnection, _transaction: ITransaction, _savepointName: string): Promise<ISavepoint>;
26
+ rollbackToSavepoint(_connection: IConnection, _transaction: ITransaction, _savepoint: ISavepoint): Promise<void>;
27
+ releaseSavepoint(_connection: IConnection, _transaction: ITransaction, _savepoint: ISavepoint): Promise<void>;
28
28
  query<T = any>(connection: IConnection, options: IQueryOptions): Promise<IQueryResult<T>>;
29
29
  insert<T = any>(connection: IConnection, options: IInsertOptions): Promise<IInsertResult<T>>;
30
30
  update<T = any>(connection: IConnection, options: IUpdateOptions): Promise<IUpdateResult<T>>;