@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
@@ -15,6 +15,10 @@ const mysql_adapter_1 = require("./adapters/mysql.adapter");
15
15
  const dynamodb_adapter_1 = require("./adapters/dynamodb.adapter");
16
16
  const products_service_1 = __importDefault(require("../products/services/products.service"));
17
17
  const index_types_1 = require("../types/index.types");
18
+ const productsBuilder_types_1 = require("../types/productsBuilder.types");
19
+ const logs_service_1 = __importDefault(require("../logs/logs.service"));
20
+ const logs_types_1 = require("../logs/logs.types");
21
+ const uuid_1 = require("uuid");
18
22
  /**
19
23
  * Main Database Service Class
20
24
  */
@@ -247,8 +251,19 @@ class DatabaseService {
247
251
  * Disconnect from a database
248
252
  */
249
253
  async disconnect(config) {
250
- // TODO: Find and close the connection
251
- throw new Error('Not implemented');
254
+ const connectionKey = `${config.product}-${config.database}-${config.env}`;
255
+ const connection = this.connections.get(connectionKey);
256
+ if (connection) {
257
+ await connection.disconnect();
258
+ this.connections.delete(connectionKey);
259
+ // Clear active connection if it matches
260
+ if (this.activeConnection &&
261
+ this.activeConnection.product === config.product &&
262
+ this.activeConnection.database === config.database &&
263
+ this.activeConnection.env === config.env) {
264
+ this.activeConnection = null;
265
+ }
266
+ }
252
267
  }
253
268
  /**
254
269
  * Test database connection
@@ -482,11 +497,296 @@ class DatabaseService {
482
497
  * Get migration status
483
498
  */
484
499
  async getMigrationStatus(options) {
485
- // TODO: Implement migration status logic
486
- // - Fetch all defined migrations
487
- // - Fetch migration history
488
- // - Compare and return status
489
- throw new Error('Not implemented');
500
+ // Get migration history from database
501
+ const history = await this.getMigrationHistory(options);
502
+ const appliedTags = new Set(history.map((h) => h.tag));
503
+ // Get defined migrations (from options or empty array)
504
+ const definedMigrations = options.definedMigrations || [];
505
+ // Calculate pending migrations
506
+ const pendingMigrations = definedMigrations
507
+ .filter((m) => !appliedTags.has(m.tag))
508
+ .map((m) => ({
509
+ tag: m.tag,
510
+ name: m.name,
511
+ description: m.description,
512
+ createdAt: m.createdAt || new Date(),
513
+ dependencies: m.dependencies,
514
+ }));
515
+ // Get last applied migration
516
+ const lastApplied = history.length > 0 ? history[0] : undefined;
517
+ return {
518
+ total: definedMigrations.length,
519
+ completed: history.length,
520
+ pending: pendingMigrations.length,
521
+ failed: 0, // Would need to track failed migrations separately
522
+ lastApplied,
523
+ pendingMigrations,
524
+ };
525
+ }
526
+ // ==================== Execute Action Methods ====================
527
+ /**
528
+ * Execute a database action by tag
529
+ *
530
+ * @example
531
+ * ```typescript
532
+ * await ductape.database.execute({
533
+ * product: 'my-product',
534
+ * env: 'production',
535
+ * database: 'my-database',
536
+ * action: 'get-users',
537
+ * input: { limit: 10, offset: 0 }
538
+ * });
539
+ * ```
540
+ */
541
+ async execute(options) {
542
+ const { product, env, database, action: actionTag, input = {} } = options;
543
+ const startTime = Date.now();
544
+ const processId = (0, uuid_1.v4)();
545
+ let logService = null;
546
+ let productTag = product;
547
+ try {
548
+ // Create ProductBuilder instance to fetch action
549
+ const productBuilder = new products_service_1.default({
550
+ workspace_id: this.config.workspace_id,
551
+ user_id: this.config.user_id,
552
+ public_key: this.config.public_key,
553
+ token: this.config.token,
554
+ env_type: this.environment,
555
+ redis_client: this.config.redis_client,
556
+ });
557
+ // Initialize the product
558
+ await productBuilder.initializeProductByTag(product);
559
+ productTag = product; // The product parameter is already the tag
560
+ // Initialize LogsService for fire-and-forget logging
561
+ logService = new logs_service_1.default({
562
+ workspace_id: this.config.workspace_id,
563
+ user_id: this.config.user_id,
564
+ public_key: this.config.public_key,
565
+ token: this.config.token,
566
+ product_id: productBuilder.fetchProductId(),
567
+ env_type: this.environment,
568
+ app_id: null,
569
+ });
570
+ // Fetch the database action
571
+ const fullActionTag = `${database}:${actionTag}`;
572
+ const dbAction = await productBuilder.fetchDatabaseAction(fullActionTag);
573
+ if (!dbAction) {
574
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.QUERY_ERROR, `Database action '${fullActionTag}' not found in product '${product}'`);
575
+ }
576
+ // Get connection to the database
577
+ const connectionConfig = {
578
+ product,
579
+ env,
580
+ database,
581
+ };
582
+ const { connection, adapter } = await this.getConnection(connectionConfig);
583
+ // Process the action template with input parameters
584
+ const processedQuery = this.processActionTemplate(dbAction, input);
585
+ // Execute based on action type
586
+ let result;
587
+ switch (dbAction.type) {
588
+ // Query operations (READ is legacy alias for QUERY)
589
+ case productsBuilder_types_1.DatabaseActionTypes.QUERY:
590
+ case productsBuilder_types_1.DatabaseActionTypes.READ:
591
+ result = await adapter.query(connection, Object.assign({ table: dbAction.tableName }, processedQuery)).then(res => res.data);
592
+ break;
593
+ // Insert operations (CREATE is legacy alias for INSERT)
594
+ case productsBuilder_types_1.DatabaseActionTypes.INSERT:
595
+ case productsBuilder_types_1.DatabaseActionTypes.CREATE:
596
+ result = await adapter.insert(connection, {
597
+ table: dbAction.tableName,
598
+ data: processedQuery.data || input,
599
+ returning: true,
600
+ }).then(res => res.data);
601
+ break;
602
+ case productsBuilder_types_1.DatabaseActionTypes.UPDATE:
603
+ result = await adapter.update(connection, {
604
+ table: dbAction.tableName,
605
+ data: processedQuery.data || input,
606
+ where: processedQuery.where,
607
+ returning: true,
608
+ }).then(res => res.data);
609
+ break;
610
+ case productsBuilder_types_1.DatabaseActionTypes.DELETE:
611
+ result = await adapter.delete(connection, {
612
+ table: dbAction.tableName,
613
+ where: processedQuery.where,
614
+ returning: true,
615
+ }).then(res => res.data);
616
+ break;
617
+ case productsBuilder_types_1.DatabaseActionTypes.UPSERT:
618
+ result = await adapter.upsert(connection, {
619
+ table: dbAction.tableName,
620
+ data: processedQuery.data || input,
621
+ uniqueColumns: processedQuery.uniqueColumns || processedQuery.conflictKeys || [],
622
+ updateColumns: processedQuery.updateColumns,
623
+ returning: true,
624
+ }).then(res => res.data);
625
+ break;
626
+ // Aggregation operations
627
+ case productsBuilder_types_1.DatabaseActionTypes.COUNT:
628
+ result = await adapter.count(connection, {
629
+ table: dbAction.tableName,
630
+ where: processedQuery.where,
631
+ column: processedQuery.column,
632
+ distinct: processedQuery.distinct,
633
+ });
634
+ break;
635
+ case productsBuilder_types_1.DatabaseActionTypes.SUM:
636
+ result = await adapter.sum(connection, {
637
+ table: dbAction.tableName,
638
+ column: processedQuery.column,
639
+ where: processedQuery.where,
640
+ });
641
+ break;
642
+ case productsBuilder_types_1.DatabaseActionTypes.AVERAGE:
643
+ result = await adapter.avg(connection, {
644
+ table: dbAction.tableName,
645
+ column: processedQuery.column,
646
+ where: processedQuery.where,
647
+ });
648
+ break;
649
+ case productsBuilder_types_1.DatabaseActionTypes.MINIMUM:
650
+ result = await adapter.min(connection, {
651
+ table: dbAction.tableName,
652
+ column: processedQuery.column,
653
+ where: processedQuery.where,
654
+ });
655
+ break;
656
+ case productsBuilder_types_1.DatabaseActionTypes.MAXIMUM:
657
+ result = await adapter.max(connection, {
658
+ table: dbAction.tableName,
659
+ column: processedQuery.column,
660
+ where: processedQuery.where,
661
+ });
662
+ break;
663
+ case productsBuilder_types_1.DatabaseActionTypes.GROUP_BY:
664
+ result = await adapter.groupBy(connection, {
665
+ table: dbAction.tableName,
666
+ groupBy: processedQuery.groupBy || [],
667
+ aggregate: processedQuery.aggregate,
668
+ where: processedQuery.where,
669
+ having: processedQuery.having,
670
+ orderBy: processedQuery.orderBy,
671
+ limit: processedQuery.limit,
672
+ offset: processedQuery.offset,
673
+ });
674
+ break;
675
+ case productsBuilder_types_1.DatabaseActionTypes.AGGREGATE:
676
+ result = await adapter.aggregate(connection, {
677
+ table: dbAction.tableName,
678
+ operations: processedQuery.operations || {},
679
+ where: processedQuery.where,
680
+ groupBy: processedQuery.groupBy,
681
+ having: processedQuery.having,
682
+ });
683
+ break;
684
+ // Raw SQL query
685
+ case productsBuilder_types_1.DatabaseActionTypes.RAW_SQL:
686
+ result = await adapter.executeRaw(connection, {
687
+ query: processedQuery.query || processedQuery.raw,
688
+ params: processedQuery.params,
689
+ namedParams: processedQuery.namedParams,
690
+ }).then(res => res.rows);
691
+ break;
692
+ default:
693
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.QUERY_ERROR, `Unsupported action type: ${dbAction.type}`);
694
+ }
695
+ // Fire-and-forget success logging
696
+ if (logService) {
697
+ logService.add({
698
+ process_id: processId,
699
+ product_tag: productTag,
700
+ env,
701
+ type: logs_types_1.LogEventTypes.DB_ACTION,
702
+ action: fullActionTag,
703
+ status: logs_types_1.LogEventStatus.SUCCESS,
704
+ start: startTime,
705
+ end: Date.now(),
706
+ data: { action: actionTag, database, actionType: dbAction.type },
707
+ });
708
+ logService.publish().catch(() => { }); // Silent fail - don't affect main request
709
+ }
710
+ return result;
711
+ }
712
+ catch (error) {
713
+ // Fire-and-forget failure logging
714
+ if (logService) {
715
+ logService.add({
716
+ process_id: processId,
717
+ product_tag: productTag,
718
+ env,
719
+ type: logs_types_1.LogEventTypes.DB_ACTION,
720
+ action: `${database}:${actionTag}`,
721
+ status: logs_types_1.LogEventStatus.FAIL,
722
+ start: startTime,
723
+ end: Date.now(),
724
+ data: { action: actionTag, database, error: error.message },
725
+ });
726
+ logService.publish().catch(() => { }); // Silent fail - don't affect main request
727
+ }
728
+ if (error instanceof database_types_1.DatabaseError) {
729
+ throw error;
730
+ }
731
+ throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.QUERY_ERROR, `Failed to execute database action: ${error.message}`);
732
+ }
733
+ }
734
+ /**
735
+ * Process action template with input parameters
736
+ */
737
+ processActionTemplate(action, input) {
738
+ let template = action.template;
739
+ // If template is a string, parse it as JSON
740
+ if (typeof template === 'string') {
741
+ try {
742
+ template = JSON.parse(template);
743
+ }
744
+ catch (_a) {
745
+ // If it's not valid JSON, return it as a raw query
746
+ return { raw: this.replaceTemplateParams(template, input) };
747
+ }
748
+ }
749
+ // Deep clone to avoid mutation
750
+ const processed = JSON.parse(JSON.stringify(template));
751
+ // Replace parameters in the template
752
+ return this.replaceParamsInObject(processed, input);
753
+ }
754
+ /**
755
+ * Replace template parameters with actual values
756
+ */
757
+ replaceTemplateParams(template, params) {
758
+ let result = template;
759
+ for (const [key, value] of Object.entries(params)) {
760
+ const placeholder = new RegExp(`\\{\\{${key}\\}\\}`, 'g');
761
+ result = result.replace(placeholder, typeof value === 'string' ? value : JSON.stringify(value));
762
+ }
763
+ return result;
764
+ }
765
+ /**
766
+ * Recursively replace parameters in an object
767
+ */
768
+ replaceParamsInObject(obj, params) {
769
+ if (typeof obj === 'string') {
770
+ // Check if it's a parameter placeholder
771
+ const match = obj.match(/^\{\{(\w+)\}\}$/);
772
+ if (match) {
773
+ const paramName = match[1];
774
+ return params[paramName] !== undefined ? params[paramName] : obj;
775
+ }
776
+ // Replace inline parameters
777
+ return this.replaceTemplateParams(obj, params);
778
+ }
779
+ if (Array.isArray(obj)) {
780
+ return obj.map(item => this.replaceParamsInObject(item, params));
781
+ }
782
+ if (obj && typeof obj === 'object') {
783
+ const result = {};
784
+ for (const [key, value] of Object.entries(obj)) {
785
+ result[key] = this.replaceParamsInObject(value, params);
786
+ }
787
+ return result;
788
+ }
789
+ return obj;
490
790
  }
491
791
  // ==================== Utility Methods ====================
492
792
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"database.service.js","sourceRoot":"","sources":["../../src/database/database.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database.service.js","sourceRoot":"","sources":["../../src/database/database.service.ts"],"names":[],"mappings":"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"}
@@ -16,18 +16,42 @@ export declare enum AggregationFunction {
16
16
  ARRAY_AGG = "array_agg"
17
17
  }
18
18
  /**
19
- * Single aggregation operation
19
+ * Aggregation operation format
20
+ * Use like: { $COUNT: '*' } or { $SUM: 'column_name' }
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * operations: {
25
+ * total_orders: { $COUNT: '*' },
26
+ * total_revenue: { $SUM: 'total' },
27
+ * avg_order_value: { $AVG: 'total' },
28
+ * min_order: { $MIN: 'total' },
29
+ * max_order: { $MAX: 'total' },
30
+ * }
31
+ * ```
20
32
  */
21
- export interface IAggregationOperation {
22
- /** Aggregation function */
23
- function: AggregationFunction;
24
- /** Column to aggregate */
25
- column: string;
26
- /** Alias for the result */
27
- alias?: string;
28
- /** Distinct values only */
29
- distinct?: boolean;
33
+ export interface ISimplifiedAggregation {
34
+ /** Count - use '*' for all rows or column name for non-null values */
35
+ $COUNT?: string;
36
+ /** Sum of column values */
37
+ $SUM?: string;
38
+ /** Average of column values */
39
+ $AVG?: string;
40
+ /** Minimum value */
41
+ $MIN?: string;
42
+ /** Maximum value */
43
+ $MAX?: string;
44
+ /** Group concatenation (MySQL) */
45
+ $GROUP_CONCAT?: string;
46
+ /** String aggregation (PostgreSQL) */
47
+ $STRING_AGG?: string;
48
+ /** Array aggregation */
49
+ $ARRAY_AGG?: string;
30
50
  }
51
+ /**
52
+ * Aggregation operation input type
53
+ */
54
+ export type AggregationOperationInput = ISimplifiedAggregation;
31
55
  /**
32
56
  * Count options
33
57
  */
@@ -129,8 +153,18 @@ export interface IGroupByOptions {
129
153
  database?: string;
130
154
  /** Columns to group by */
131
155
  groupBy: string[];
132
- /** Aggregation operations */
133
- aggregate?: Record<string, IAggregationOperation>;
156
+ /**
157
+ * Aggregation operations
158
+ * @example
159
+ * ```typescript
160
+ * aggregate: {
161
+ * total_sales: { $SUM: 'amount' },
162
+ * order_count: { $COUNT: '*' },
163
+ * avg_amount: { $AVG: 'amount' },
164
+ * }
165
+ * ```
166
+ */
167
+ aggregate?: Record<string, AggregationOperationInput>;
134
168
  /** Where clause (applied before grouping) */
135
169
  where?: WhereClause;
136
170
  /** Having clause (applied after grouping) */
@@ -144,6 +178,21 @@ export interface IGroupByOptions {
144
178
  }
145
179
  /**
146
180
  * Aggregate options (multiple aggregations)
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * const stats = await db.aggregate({
185
+ * table: 'orders',
186
+ * operations: {
187
+ * total_orders: { $COUNT: '*' },
188
+ * total_revenue: { $SUM: 'total' },
189
+ * avg_order_value: { $AVG: 'total' },
190
+ * min_order: { $MIN: 'total' },
191
+ * max_order: { $MAX: 'total' },
192
+ * },
193
+ * where: { status: 'completed' },
194
+ * });
195
+ * ```
147
196
  */
148
197
  export interface IAggregateOptions {
149
198
  /** Table/Collection name */
@@ -154,8 +203,18 @@ export interface IAggregateOptions {
154
203
  product?: string;
155
204
  /** Database tag (optional if connection is already established) */
156
205
  database?: string;
157
- /** Aggregation operations */
158
- operations: Record<string, IAggregationOperation>;
206
+ /**
207
+ * Aggregation operations
208
+ * @example
209
+ * ```typescript
210
+ * operations: {
211
+ * total_orders: { $COUNT: '*' },
212
+ * total_revenue: { $SUM: 'total' },
213
+ * avg_order_value: { $AVG: 'total' },
214
+ * }
215
+ * ```
216
+ */
217
+ operations: Record<string, AggregationOperationInput>;
159
218
  /** Where clause */
160
219
  where?: WhereClause;
161
220
  /** Group by columns (optional) */
@@ -85,7 +85,8 @@ export declare enum DatabaseErrorType {
85
85
  MIGRATION_ERROR = "migration_error",
86
86
  SCHEMA_ERROR = "schema_error",
87
87
  INDEX_ERROR = "index_error",
88
- TRANSACTION_ERROR = "TRANSACTION_ERROR"
88
+ TRANSACTION_ERROR = "transaction_error",
89
+ NOT_SUPPORTED = "not_supported"
89
90
  }
90
91
  /**
91
92
  * Database error class
@@ -37,7 +37,8 @@ var DatabaseErrorType;
37
37
  DatabaseErrorType["MIGRATION_ERROR"] = "migration_error";
38
38
  DatabaseErrorType["SCHEMA_ERROR"] = "schema_error";
39
39
  DatabaseErrorType["INDEX_ERROR"] = "index_error";
40
- DatabaseErrorType["TRANSACTION_ERROR"] = "TRANSACTION_ERROR";
40
+ DatabaseErrorType["TRANSACTION_ERROR"] = "transaction_error";
41
+ DatabaseErrorType["NOT_SUPPORTED"] = "not_supported";
41
42
  })(DatabaseErrorType || (exports.DatabaseErrorType = DatabaseErrorType = {}));
42
43
  /**
43
44
  * Database error class
@@ -1 +1 @@
1
- {"version":3,"file":"database.types.js","sourceRoot":"","sources":["../../../src/database/types/database.types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AACH,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,yCAAyB,CAAA;IACzB,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;AACnB,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB;AAED;;GAEG;AACH,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,mCAAe,CAAA;AACjB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAiED;;GAEG;AACH,IAAY,iBAQX;AARD,WAAY,iBAAiB;IAC3B,0DAAqC,CAAA;IACrC,gDAA2B,CAAA;IAC3B,0DAAqC,CAAA;IACrC,wDAAmC,CAAA;IACnC,kDAA6B,CAAA;IAC7B,gDAA2B,CAAA;IAC3B,4DAAuC,CAAA;AACzC,CAAC,EARW,iBAAiB,iCAAjB,iBAAiB,QAQ5B;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK;IACtC,YACS,IAAuB,EAC9B,OAAe,EACR,aAAqB;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAmB;QAEvB,kBAAa,GAAb,aAAa,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AATD,sCASC;AAED;;GAEG;AACH,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACnC,kEAAqC,CAAA;IACrC,8DAAiC,CAAA;IACjC,gEAAmC,CAAA;IACnC,0DAA6B,CAAA;AAC/B,CAAC,EALW,yBAAyB,yCAAzB,yBAAyB,QAKpC;AAED;;GAEG;AACH,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;IACvB,gDAA2B,CAAA;IAC3B,sCAAiB,CAAA;AACnB,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B"}
1
+ {"version":3,"file":"database.types.js","sourceRoot":"","sources":["../../../src/database/types/database.types.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;GAEG;AACH,IAAY,YAMX;AAND,WAAY,YAAY;IACtB,yCAAyB,CAAA;IACzB,+BAAe,CAAA;IACf,mCAAmB,CAAA;IACnB,qCAAqB,CAAA;IACrB,iCAAiB,CAAA;AACnB,CAAC,EANW,YAAY,4BAAZ,YAAY,QAMvB;AAED;;GAEG;AACH,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,6CAAyB,CAAA;IACzB,2CAAuB,CAAA;IACvB,mCAAe,CAAA;AACjB,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B;AAiED;;GAEG;AACH,IAAY,iBASX;AATD,WAAY,iBAAiB;IAC3B,0DAAqC,CAAA;IACrC,gDAA2B,CAAA;IAC3B,0DAAqC,CAAA;IACrC,wDAAmC,CAAA;IACnC,kDAA6B,CAAA;IAC7B,gDAA2B,CAAA;IAC3B,4DAAuC,CAAA;IACvC,oDAA+B,CAAA;AACjC,CAAC,EATW,iBAAiB,iCAAjB,iBAAiB,QAS5B;AAED;;GAEG;AACH,MAAa,aAAc,SAAQ,KAAK;IACtC,YACS,IAAuB,EAC9B,OAAe,EACR,aAAqB;QAE5B,KAAK,CAAC,OAAO,CAAC,CAAC;QAJR,SAAI,GAAJ,IAAI,CAAmB;QAEvB,kBAAa,GAAb,aAAa,CAAQ;QAG5B,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AATD,sCASC;AAED;;GAEG;AACH,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACnC,kEAAqC,CAAA;IACrC,8DAAiC,CAAA;IACjC,gEAAmC,CAAA;IACnC,0DAA6B,CAAA;AAC/B,CAAC,EALW,yBAAyB,yCAAzB,yBAAyB,QAKpC;AAED;;GAEG;AACH,IAAY,iBAKX;AALD,WAAY,iBAAiB;IAC3B,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;IACvB,gDAA2B,CAAA;IAC3B,sCAAiB,CAAA;AACnB,CAAC,EALW,iBAAiB,iCAAjB,iBAAiB,QAK5B"}
@@ -67,6 +67,8 @@ export interface IUpsertResult<T = any> {
67
67
  updatedCount: number;
68
68
  /** Total affected rows */
69
69
  affectedCount: number;
70
+ /** Operation performed ('insert' or 'update') - only applicable for single-row upserts */
71
+ operation?: 'insert' | 'update';
70
72
  /** Upserted rows (if returning option was used) */
71
73
  data?: T[];
72
74
  /** Execution time in milliseconds */
@@ -20,13 +20,13 @@ class Savepoint {
20
20
  if (!this.transaction.isActive()) {
21
21
  throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.QUERY_ERROR, 'Cannot rollback savepoint: transaction is not active');
22
22
  }
23
- await this.adapter.rollbackToSavepoint(this.transaction.connection, this.transaction.native, this.name);
23
+ await this.adapter.rollbackToSavepoint(this.transaction.connection, this.transaction.native, this);
24
24
  }
25
25
  async release() {
26
26
  if (!this.transaction.isActive()) {
27
27
  throw new database_types_1.DatabaseError(database_types_1.DatabaseErrorType.QUERY_ERROR, 'Cannot release savepoint: transaction is not active');
28
28
  }
29
- await this.adapter.releaseSavepoint(this.transaction.connection, this.transaction.native, this.name);
29
+ await this.adapter.releaseSavepoint(this.transaction.connection, this.transaction.native, this);
30
30
  }
31
31
  }
32
32
  exports.Savepoint = Savepoint;
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/database/utils/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../../../src/database/utils/transaction.ts"],"names":[],"mappings":"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"}