@warlock.js/cascade 4.0.135 → 4.0.137
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.
- package/cjs/context/database-transaction-context.d.ts +4 -0
- package/cjs/context/database-transaction-context.d.ts.map +1 -1
- package/cjs/context/database-transaction-context.js +6 -0
- package/cjs/context/database-transaction-context.js.map +1 -1
- package/cjs/contracts/database-driver.contract.d.ts +106 -4
- package/cjs/contracts/database-driver.contract.d.ts.map +1 -1
- package/cjs/contracts/migration-driver.contract.d.ts +49 -1
- package/cjs/contracts/migration-driver.contract.d.ts.map +1 -1
- package/cjs/contracts/query-builder.contract.d.ts +76 -4
- package/cjs/contracts/query-builder.contract.d.ts.map +1 -1
- package/cjs/data-source/data-source.d.ts +40 -1
- package/cjs/data-source/data-source.d.ts.map +1 -1
- package/cjs/data-source/data-source.js +6 -0
- package/cjs/data-source/data-source.js.map +1 -1
- package/cjs/database-dirty-tracker.d.ts +21 -22
- package/cjs/database-dirty-tracker.d.ts.map +1 -1
- package/cjs/database-dirty-tracker.js +14 -17
- package/cjs/database-dirty-tracker.js.map +1 -1
- package/cjs/drivers/mongodb/mongodb-driver.d.ts +29 -1
- package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
- package/cjs/drivers/mongodb/mongodb-driver.js +116 -4
- package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts +22 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -1
- package/cjs/drivers/mongodb/mongodb-migration-driver.js +27 -0
- package/cjs/drivers/mongodb/mongodb-migration-driver.js.map +1 -1
- package/cjs/drivers/mongodb/mongodb-query-builder.d.ts +41 -9
- package/cjs/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -1
- package/cjs/drivers/mongodb/mongodb-query-builder.js +60 -18
- package/cjs/drivers/mongodb/mongodb-query-builder.js.map +1 -1
- package/cjs/drivers/mongodb/types.d.ts +1 -1
- package/cjs/drivers/mongodb/types.d.ts.map +1 -1
- package/cjs/drivers/postgres/postgres-dialect.d.ts +1 -0
- package/cjs/drivers/postgres/postgres-dialect.d.ts.map +1 -1
- package/cjs/drivers/postgres/postgres-dialect.js +24 -1
- package/cjs/drivers/postgres/postgres-dialect.js.map +1 -1
- package/cjs/drivers/postgres/postgres-driver.d.ts +24 -3
- package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -1
- package/cjs/drivers/postgres/postgres-driver.js +101 -8
- package/cjs/drivers/postgres/postgres-driver.js.map +1 -1
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts +30 -1
- package/cjs/drivers/postgres/postgres-migration-driver.d.ts.map +1 -1
- package/cjs/drivers/postgres/postgres-migration-driver.js +61 -2
- package/cjs/drivers/postgres/postgres-migration-driver.js.map +1 -1
- package/cjs/drivers/postgres/postgres-query-builder.d.ts +152 -722
- package/cjs/drivers/postgres/postgres-query-builder.d.ts.map +1 -1
- package/cjs/drivers/postgres/postgres-query-builder.js +592 -1459
- package/cjs/drivers/postgres/postgres-query-builder.js.map +1 -1
- package/cjs/drivers/postgres/postgres-query-parser.d.ts +34 -14
- package/cjs/drivers/postgres/postgres-query-parser.d.ts.map +1 -1
- package/cjs/drivers/postgres/postgres-query-parser.js +197 -39
- package/cjs/drivers/postgres/postgres-query-parser.js.map +1 -1
- package/cjs/drivers/sql/sql-dialect.contract.d.ts +1 -0
- package/cjs/drivers/sql/sql-dialect.contract.d.ts.map +1 -1
- package/cjs/errors/transaction-rollback.error.d.ts +20 -0
- package/cjs/errors/transaction-rollback.error.d.ts.map +1 -0
- package/cjs/errors/transaction-rollback.error.js +27 -0
- package/cjs/errors/transaction-rollback.error.js.map +1 -0
- package/cjs/events/model-events.d.ts +1 -1
- package/cjs/events/model-events.d.ts.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +1 -1
- package/cjs/migration/column-builder.d.ts +4 -0
- package/cjs/migration/column-builder.d.ts.map +1 -1
- package/cjs/migration/column-builder.js +23 -6
- package/cjs/migration/column-builder.js.map +1 -1
- package/cjs/migration/migration-runner.d.ts.map +1 -1
- package/cjs/migration/migration-runner.js +137 -23
- package/cjs/migration/migration-runner.js.map +1 -1
- package/cjs/migration/migration.d.ts +209 -35
- package/cjs/migration/migration.d.ts.map +1 -1
- package/cjs/migration/migration.js +192 -27
- package/cjs/migration/migration.js.map +1 -1
- package/cjs/model/methods/accessor-methods.d.ts +13 -0
- package/cjs/model/methods/accessor-methods.d.ts.map +1 -0
- package/cjs/model/methods/accessor-methods.js +51 -0
- package/cjs/model/methods/accessor-methods.js.map +1 -0
- package/cjs/model/methods/delete-methods.d.ts +10 -0
- package/cjs/model/methods/delete-methods.d.ts.map +1 -0
- package/cjs/model/methods/delete-methods.js +10 -0
- package/cjs/model/methods/delete-methods.js.map +1 -0
- package/cjs/model/methods/dirty-methods.d.ts +10 -0
- package/cjs/model/methods/dirty-methods.d.ts.map +1 -0
- package/cjs/model/methods/dirty-methods.js +15 -0
- package/cjs/model/methods/dirty-methods.js.map +1 -0
- package/cjs/model/methods/hydration-methods.d.ts +10 -0
- package/cjs/model/methods/hydration-methods.d.ts.map +1 -0
- package/cjs/model/methods/hydration-methods.js +57 -0
- package/cjs/model/methods/hydration-methods.js.map +1 -0
- package/cjs/model/methods/instance-event-methods.d.ts +7 -0
- package/cjs/model/methods/instance-event-methods.d.ts.map +1 -0
- package/cjs/model/methods/instance-event-methods.js +15 -0
- package/cjs/model/methods/instance-event-methods.js.map +1 -0
- package/cjs/model/methods/meta-methods.d.ts +7 -0
- package/cjs/model/methods/meta-methods.d.ts.map +1 -0
- package/cjs/model/methods/meta-methods.js +78 -0
- package/cjs/model/methods/meta-methods.js.map +1 -0
- package/cjs/model/methods/query-methods.d.ts +24 -0
- package/cjs/model/methods/query-methods.d.ts.map +1 -0
- package/cjs/model/methods/query-methods.js +161 -0
- package/cjs/model/methods/query-methods.js.map +1 -0
- package/cjs/model/methods/restore-methods.d.ts +10 -0
- package/cjs/model/methods/restore-methods.d.ts.map +1 -0
- package/cjs/model/methods/restore-methods.js +13 -0
- package/cjs/model/methods/restore-methods.js.map +1 -0
- package/cjs/model/methods/scope-methods.d.ts +7 -0
- package/cjs/model/methods/scope-methods.d.ts.map +1 -0
- package/cjs/model/methods/scope-methods.js +15 -0
- package/cjs/model/methods/scope-methods.js.map +1 -0
- package/cjs/model/methods/serialization-methods.d.ts +3 -0
- package/cjs/model/methods/serialization-methods.d.ts.map +1 -0
- package/cjs/model/methods/serialization-methods.js +27 -0
- package/cjs/model/methods/serialization-methods.js.map +1 -0
- package/cjs/model/methods/static-event-methods.d.ts +9 -0
- package/cjs/model/methods/static-event-methods.d.ts.map +1 -0
- package/cjs/model/methods/static-event-methods.js +29 -0
- package/cjs/model/methods/static-event-methods.js.map +1 -0
- package/cjs/model/methods/write-methods.d.ts +10 -0
- package/cjs/model/methods/write-methods.d.ts.map +1 -0
- package/cjs/model/methods/write-methods.js +52 -0
- package/cjs/model/methods/write-methods.js.map +1 -0
- package/cjs/model/model.d.ts +89 -58
- package/cjs/model/model.d.ts.map +1 -1
- package/cjs/model/model.js +166 -424
- package/cjs/model/model.js.map +1 -1
- package/cjs/model/model.types.d.ts +44 -0
- package/cjs/model/model.types.d.ts.map +1 -0
- package/cjs/model/register-model.d.ts +3 -3
- package/cjs/model/register-model.d.ts.map +1 -1
- package/cjs/query-builder/query-builder.d.ts +556 -0
- package/cjs/query-builder/query-builder.d.ts.map +1 -0
- package/cjs/query-builder/query-builder.js +1070 -0
- package/cjs/query-builder/query-builder.js.map +1 -0
- package/cjs/relations/helpers.d.ts.map +1 -1
- package/cjs/relations/helpers.js +4 -0
- package/cjs/relations/helpers.js.map +1 -1
- package/cjs/relations/index.d.ts +2 -0
- package/cjs/relations/index.d.ts.map +1 -1
- package/cjs/relations/relation-hydrator.d.ts +68 -0
- package/cjs/relations/relation-hydrator.d.ts.map +1 -0
- package/cjs/relations/relation-hydrator.js +81 -0
- package/cjs/relations/relation-hydrator.js.map +1 -0
- package/cjs/relations/relation-loader.js +1 -1
- package/cjs/relations/relation-loader.js.map +1 -1
- package/cjs/relations/types.d.ts +26 -0
- package/cjs/relations/types.d.ts.map +1 -1
- package/cjs/sql-database-dirty-tracker.d.ts +13 -0
- package/cjs/sql-database-dirty-tracker.d.ts.map +1 -0
- package/cjs/sql-database-dirty-tracker.js +14 -0
- package/cjs/sql-database-dirty-tracker.js.map +1 -0
- package/cjs/types.d.ts +59 -0
- package/cjs/types.d.ts.map +1 -1
- package/cjs/utils/connect-to-database.d.ts +50 -1
- package/cjs/utils/connect-to-database.d.ts.map +1 -1
- package/cjs/utils/connect-to-database.js +14 -1
- package/cjs/utils/connect-to-database.js.map +1 -1
- package/cjs/utils/database-writer.utils.d.ts +1 -1
- package/cjs/utils/database-writer.utils.d.ts.map +1 -1
- package/cjs/utils/is-valid-date-value.d.ts +5 -0
- package/cjs/utils/is-valid-date-value.d.ts.map +1 -0
- package/cjs/utils/is-valid-date-value.js +25 -0
- package/cjs/utils/is-valid-date-value.js.map +1 -0
- package/cjs/utils/once-connected.d.ts.map +1 -1
- package/cjs/utils/once-connected.js +4 -5
- package/cjs/utils/once-connected.js.map +1 -1
- package/cjs/writer/database-writer.d.ts.map +1 -1
- package/cjs/writer/database-writer.js +7 -6
- package/cjs/writer/database-writer.js.map +1 -1
- package/esm/context/database-transaction-context.d.ts +4 -0
- package/esm/context/database-transaction-context.d.ts.map +1 -1
- package/esm/context/database-transaction-context.js +6 -0
- package/esm/context/database-transaction-context.js.map +1 -1
- package/esm/contracts/database-driver.contract.d.ts +106 -4
- package/esm/contracts/database-driver.contract.d.ts.map +1 -1
- package/esm/contracts/migration-driver.contract.d.ts +49 -1
- package/esm/contracts/migration-driver.contract.d.ts.map +1 -1
- package/esm/contracts/query-builder.contract.d.ts +76 -4
- package/esm/contracts/query-builder.contract.d.ts.map +1 -1
- package/esm/data-source/data-source.d.ts +40 -1
- package/esm/data-source/data-source.d.ts.map +1 -1
- package/esm/data-source/data-source.js +6 -0
- package/esm/data-source/data-source.js.map +1 -1
- package/esm/database-dirty-tracker.d.ts +21 -22
- package/esm/database-dirty-tracker.d.ts.map +1 -1
- package/esm/database-dirty-tracker.js +14 -17
- package/esm/database-dirty-tracker.js.map +1 -1
- package/esm/drivers/mongodb/mongodb-driver.d.ts +29 -1
- package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
- package/esm/drivers/mongodb/mongodb-driver.js +116 -4
- package/esm/drivers/mongodb/mongodb-driver.js.map +1 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts +22 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.d.ts.map +1 -1
- package/esm/drivers/mongodb/mongodb-migration-driver.js +27 -0
- package/esm/drivers/mongodb/mongodb-migration-driver.js.map +1 -1
- package/esm/drivers/mongodb/mongodb-query-builder.d.ts +41 -9
- package/esm/drivers/mongodb/mongodb-query-builder.d.ts.map +1 -1
- package/esm/drivers/mongodb/mongodb-query-builder.js +60 -18
- package/esm/drivers/mongodb/mongodb-query-builder.js.map +1 -1
- package/esm/drivers/mongodb/types.d.ts +1 -1
- package/esm/drivers/mongodb/types.d.ts.map +1 -1
- package/esm/drivers/postgres/postgres-dialect.d.ts +1 -0
- package/esm/drivers/postgres/postgres-dialect.d.ts.map +1 -1
- package/esm/drivers/postgres/postgres-dialect.js +24 -1
- package/esm/drivers/postgres/postgres-dialect.js.map +1 -1
- package/esm/drivers/postgres/postgres-driver.d.ts +24 -3
- package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -1
- package/esm/drivers/postgres/postgres-driver.js +101 -8
- package/esm/drivers/postgres/postgres-driver.js.map +1 -1
- package/esm/drivers/postgres/postgres-migration-driver.d.ts +30 -1
- package/esm/drivers/postgres/postgres-migration-driver.d.ts.map +1 -1
- package/esm/drivers/postgres/postgres-migration-driver.js +61 -2
- package/esm/drivers/postgres/postgres-migration-driver.js.map +1 -1
- package/esm/drivers/postgres/postgres-query-builder.d.ts +152 -722
- package/esm/drivers/postgres/postgres-query-builder.d.ts.map +1 -1
- package/esm/drivers/postgres/postgres-query-builder.js +592 -1459
- package/esm/drivers/postgres/postgres-query-builder.js.map +1 -1
- package/esm/drivers/postgres/postgres-query-parser.d.ts +34 -14
- package/esm/drivers/postgres/postgres-query-parser.d.ts.map +1 -1
- package/esm/drivers/postgres/postgres-query-parser.js +197 -39
- package/esm/drivers/postgres/postgres-query-parser.js.map +1 -1
- package/esm/drivers/sql/sql-dialect.contract.d.ts +1 -0
- package/esm/drivers/sql/sql-dialect.contract.d.ts.map +1 -1
- package/esm/errors/transaction-rollback.error.d.ts +20 -0
- package/esm/errors/transaction-rollback.error.d.ts.map +1 -0
- package/esm/errors/transaction-rollback.error.js +27 -0
- package/esm/errors/transaction-rollback.error.js.map +1 -0
- package/esm/events/model-events.d.ts +1 -1
- package/esm/events/model-events.d.ts.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -1
- package/esm/migration/column-builder.d.ts +4 -0
- package/esm/migration/column-builder.d.ts.map +1 -1
- package/esm/migration/column-builder.js +23 -6
- package/esm/migration/column-builder.js.map +1 -1
- package/esm/migration/migration-runner.d.ts.map +1 -1
- package/esm/migration/migration-runner.js +137 -23
- package/esm/migration/migration-runner.js.map +1 -1
- package/esm/migration/migration.d.ts +209 -35
- package/esm/migration/migration.d.ts.map +1 -1
- package/esm/migration/migration.js +192 -27
- package/esm/migration/migration.js.map +1 -1
- package/esm/model/methods/accessor-methods.d.ts +13 -0
- package/esm/model/methods/accessor-methods.d.ts.map +1 -0
- package/esm/model/methods/accessor-methods.js +51 -0
- package/esm/model/methods/accessor-methods.js.map +1 -0
- package/esm/model/methods/delete-methods.d.ts +10 -0
- package/esm/model/methods/delete-methods.d.ts.map +1 -0
- package/esm/model/methods/delete-methods.js +10 -0
- package/esm/model/methods/delete-methods.js.map +1 -0
- package/esm/model/methods/dirty-methods.d.ts +10 -0
- package/esm/model/methods/dirty-methods.d.ts.map +1 -0
- package/esm/model/methods/dirty-methods.js +15 -0
- package/esm/model/methods/dirty-methods.js.map +1 -0
- package/esm/model/methods/hydration-methods.d.ts +10 -0
- package/esm/model/methods/hydration-methods.d.ts.map +1 -0
- package/esm/model/methods/hydration-methods.js +57 -0
- package/esm/model/methods/hydration-methods.js.map +1 -0
- package/esm/model/methods/instance-event-methods.d.ts +7 -0
- package/esm/model/methods/instance-event-methods.d.ts.map +1 -0
- package/esm/model/methods/instance-event-methods.js +15 -0
- package/esm/model/methods/instance-event-methods.js.map +1 -0
- package/esm/model/methods/meta-methods.d.ts +7 -0
- package/esm/model/methods/meta-methods.d.ts.map +1 -0
- package/esm/model/methods/meta-methods.js +78 -0
- package/esm/model/methods/meta-methods.js.map +1 -0
- package/esm/model/methods/query-methods.d.ts +24 -0
- package/esm/model/methods/query-methods.d.ts.map +1 -0
- package/esm/model/methods/query-methods.js +161 -0
- package/esm/model/methods/query-methods.js.map +1 -0
- package/esm/model/methods/restore-methods.d.ts +10 -0
- package/esm/model/methods/restore-methods.d.ts.map +1 -0
- package/esm/model/methods/restore-methods.js +13 -0
- package/esm/model/methods/restore-methods.js.map +1 -0
- package/esm/model/methods/scope-methods.d.ts +7 -0
- package/esm/model/methods/scope-methods.d.ts.map +1 -0
- package/esm/model/methods/scope-methods.js +15 -0
- package/esm/model/methods/scope-methods.js.map +1 -0
- package/esm/model/methods/serialization-methods.d.ts +3 -0
- package/esm/model/methods/serialization-methods.d.ts.map +1 -0
- package/esm/model/methods/serialization-methods.js +27 -0
- package/esm/model/methods/serialization-methods.js.map +1 -0
- package/esm/model/methods/static-event-methods.d.ts +9 -0
- package/esm/model/methods/static-event-methods.d.ts.map +1 -0
- package/esm/model/methods/static-event-methods.js +29 -0
- package/esm/model/methods/static-event-methods.js.map +1 -0
- package/esm/model/methods/write-methods.d.ts +10 -0
- package/esm/model/methods/write-methods.d.ts.map +1 -0
- package/esm/model/methods/write-methods.js +52 -0
- package/esm/model/methods/write-methods.js.map +1 -0
- package/esm/model/model.d.ts +89 -58
- package/esm/model/model.d.ts.map +1 -1
- package/esm/model/model.js +166 -424
- package/esm/model/model.js.map +1 -1
- package/esm/model/model.types.d.ts +44 -0
- package/esm/model/model.types.d.ts.map +1 -0
- package/esm/model/register-model.d.ts +3 -3
- package/esm/model/register-model.d.ts.map +1 -1
- package/esm/query-builder/query-builder.d.ts +556 -0
- package/esm/query-builder/query-builder.d.ts.map +1 -0
- package/esm/query-builder/query-builder.js +1070 -0
- package/esm/query-builder/query-builder.js.map +1 -0
- package/esm/relations/helpers.d.ts.map +1 -1
- package/esm/relations/helpers.js +4 -0
- package/esm/relations/helpers.js.map +1 -1
- package/esm/relations/index.d.ts +2 -0
- package/esm/relations/index.d.ts.map +1 -1
- package/esm/relations/relation-hydrator.d.ts +68 -0
- package/esm/relations/relation-hydrator.d.ts.map +1 -0
- package/esm/relations/relation-hydrator.js +81 -0
- package/esm/relations/relation-hydrator.js.map +1 -0
- package/esm/relations/relation-loader.js +1 -1
- package/esm/relations/relation-loader.js.map +1 -1
- package/esm/relations/types.d.ts +26 -0
- package/esm/relations/types.d.ts.map +1 -1
- package/esm/sql-database-dirty-tracker.d.ts +13 -0
- package/esm/sql-database-dirty-tracker.d.ts.map +1 -0
- package/esm/sql-database-dirty-tracker.js +14 -0
- package/esm/sql-database-dirty-tracker.js.map +1 -0
- package/esm/types.d.ts +59 -0
- package/esm/types.d.ts.map +1 -1
- package/esm/utils/connect-to-database.d.ts +50 -1
- package/esm/utils/connect-to-database.d.ts.map +1 -1
- package/esm/utils/connect-to-database.js +14 -1
- package/esm/utils/connect-to-database.js.map +1 -1
- package/esm/utils/database-writer.utils.d.ts +1 -1
- package/esm/utils/database-writer.utils.d.ts.map +1 -1
- package/esm/utils/is-valid-date-value.d.ts +5 -0
- package/esm/utils/is-valid-date-value.d.ts.map +1 -0
- package/esm/utils/is-valid-date-value.js +25 -0
- package/esm/utils/is-valid-date-value.js.map +1 -0
- package/esm/utils/once-connected.d.ts.map +1 -1
- package/esm/utils/once-connected.js +4 -5
- package/esm/utils/once-connected.js.map +1 -1
- package/esm/writer/database-writer.d.ts.map +1 -1
- package/esm/writer/database-writer.js +7 -6
- package/esm/writer/database-writer.js.map +1 -1
- package/package.json +4 -4
|
@@ -89,6 +89,8 @@ async function connectToDatabase(options) {
|
|
|
89
89
|
defaultDeleteStrategy: options.defaultDeleteStrategy,
|
|
90
90
|
defaultTrashTable: options.defaultTrashTable,
|
|
91
91
|
modelDefaults: options.modelOptions,
|
|
92
|
+
migrationDefaults: options.migrationOptions,
|
|
93
|
+
migrations: options.migrations,
|
|
92
94
|
});
|
|
93
95
|
// Register data source
|
|
94
96
|
dataSourceRegistry.dataSourceRegistry.register(dataSource$1);
|
|
@@ -101,4 +103,15 @@ async function connectToDatabase(options) {
|
|
|
101
103
|
throw new Error(`Failed to connect to ${driverType} database: ${error instanceof Error ? error.message : String(error)}`);
|
|
102
104
|
}
|
|
103
105
|
return dataSource$1;
|
|
104
|
-
}
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Get current driver instance
|
|
109
|
+
*/
|
|
110
|
+
const currentDatabaseDriver = () => dataSourceRegistry.dataSourceRegistry.get().driver;
|
|
111
|
+
/**
|
|
112
|
+
* Perform database transaction(s)
|
|
113
|
+
* Shorthand to `dataSourceRegister.get().driver.transaction
|
|
114
|
+
*/
|
|
115
|
+
async function transaction(fn, options) {
|
|
116
|
+
return currentDatabaseDriver().transaction(fn, options);
|
|
117
|
+
}exports.connectToDatabase=connectToDatabase;exports.currentDatabaseDriver=currentDatabaseDriver;exports.transaction=transaction;//# sourceMappingURL=connect-to-database.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"connect-to-database.js","sources":["../../src/utils/connect-to-database.ts"],"sourcesContent":[null],"names":["MongoDbDriver","PostgresDriver","dataSource","DataSource","dataSourceRegistry"],"mappings":"+
|
|
1
|
+
{"version":3,"file":"connect-to-database.js","sources":["../../src/utils/connect-to-database.ts"],"sourcesContent":[null],"names":["MongoDbDriver","PostgresDriver","dataSource","DataSource","dataSourceRegistry"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ type transformCallbackOptions = {
|
|
|
6
6
|
isChanged: boolean;
|
|
7
7
|
isNew: boolean;
|
|
8
8
|
};
|
|
9
|
-
type ModelTransformCallback = (options: transformCallbackOptions) => string;
|
|
9
|
+
export type ModelTransformCallback = (options: transformCallbackOptions) => string;
|
|
10
10
|
/**
|
|
11
11
|
* Transfer value before saving it into the database
|
|
12
12
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-writer.utils.d.ts","sourceRoot":"","sources":["../../src/utils/database-writer.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,
|
|
1
|
+
{"version":3,"file":"database-writer.utils.d.ts","sourceRoot":"","sources":["../../src/utils/database-writer.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAE5C,KAAK,wBAAwB,GAAG;IAC9B,KAAK,EAAE,KAAK,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,GAAG,CAAC;IACX,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,EAAE,wBAAwB,KAAK,MAAM,CAAC;AAEnF;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,sBAAsB,uBAWnE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-valid-date-value.d.ts","sourceRoot":"","sources":["../../src/utils/is-valid-date-value.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAsBxD"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
'use strict';const isoRegex = /^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d{3})?Z?)?$/;
|
|
2
|
+
/**
|
|
3
|
+
* Check if the given value is a valid date value
|
|
4
|
+
*/
|
|
5
|
+
function isValidDateValue(value) {
|
|
6
|
+
// ✅ Handle timestamps
|
|
7
|
+
if (typeof value === "number") {
|
|
8
|
+
if (!Number.isFinite(value))
|
|
9
|
+
return false;
|
|
10
|
+
const date = new Date(value);
|
|
11
|
+
return !Number.isNaN(date.getTime());
|
|
12
|
+
}
|
|
13
|
+
// ❌ Only allow strict ISO strings
|
|
14
|
+
if (typeof value !== "string")
|
|
15
|
+
return false;
|
|
16
|
+
if (!isoRegex.test(value))
|
|
17
|
+
return false;
|
|
18
|
+
const date = new Date(value);
|
|
19
|
+
if (Number.isNaN(date.getTime()))
|
|
20
|
+
return false;
|
|
21
|
+
// 🔥 Critical step: prevent JS auto-correction
|
|
22
|
+
// Example: "2023-02-31" → March 3 (WRONG but "valid")
|
|
23
|
+
const [y, m, d] = value.split("T")[0].split("-").map(Number);
|
|
24
|
+
return date.getUTCFullYear() === y && date.getUTCMonth() + 1 === m && date.getUTCDate() === d;
|
|
25
|
+
}exports.isValidDateValue=isValidDateValue;//# sourceMappingURL=is-valid-date-value.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-valid-date-value.js","sources":["../../src/utils/is-valid-date-value.ts"],"sourcesContent":[null],"names":[],"mappings":"aAAA,MAAM,QAAQ,GAAG,sDAAsD,CAAC;AAExE;;AAEG;AACG,SAAU,gBAAgB,CAAC,KAAc,EAAA;;AAE7C,IAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAC7B,QAAA,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;AAAE,YAAA,OAAO,KAAK,CAAC;AAE1C,QAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACtC,KAAA;;IAGD,IAAI,OAAO,KAAK,KAAK,QAAQ;AAAE,QAAA,OAAO,KAAK,CAAC;AAE5C,IAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC;AAAE,QAAA,OAAO,KAAK,CAAC;AAExC,IAAA,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;AAAE,QAAA,OAAO,KAAK,CAAC;;;IAI/C,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAE7D,OAAO,IAAI,CAAC,cAAc,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AAChG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"once-connected.d.ts","sourceRoot":"","sources":["../../src/utils/once-connected.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,wBAAgB,aAAa,CAC3B,0BAA0B,
|
|
1
|
+
{"version":3,"file":"once-connected.d.ts","sourceRoot":"","sources":["../../src/utils/once-connected.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,wBAAgB,aAAa,CAC3B,0BAA0B,EAAE,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC,EACpF,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,GAC1C,IAAI,CAyDN;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;AACH,wBAAgB,gBAAgB,CAC9B,0BAA0B,EAAE,UAAU,GAAG,MAAM,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC,EACpF,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,GAC1C,IAAI,CAyDN"}
|
|
@@ -115,14 +115,13 @@ function onceConnected(dataSourceOrNameOrCallback, callback) {
|
|
|
115
115
|
: ds.name === targetDataSource
|
|
116
116
|
: ds === targetDataSource;
|
|
117
117
|
if (matches) {
|
|
118
|
+
// Remove the listener once our condition is met
|
|
119
|
+
dataSourceRegistry.dataSourceRegistry.off("connected", listener);
|
|
118
120
|
actualCallback(ds);
|
|
119
121
|
}
|
|
120
|
-
|
|
121
|
-
// Not the one we're looking for, keep listening
|
|
122
|
-
dataSourceRegistry.dataSourceRegistry.once("connected", listener);
|
|
123
|
-
}
|
|
122
|
+
// If it doesn't match, we do nothing and just wait for the next "connected" event targeting our DB
|
|
124
123
|
};
|
|
125
|
-
dataSourceRegistry.dataSourceRegistry.
|
|
124
|
+
dataSourceRegistry.dataSourceRegistry.on("connected", listener);
|
|
126
125
|
}
|
|
127
126
|
/**
|
|
128
127
|
* Execute a callback once the driver is disconnected.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"once-connected.js","sources":["../../src/utils/once-connected.ts"],"sourcesContent":[null],"names":["dataSourceRegistry"],"mappings":"sFAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsEG;AACa,SAAA,aAAa,CAC3B,
|
|
1
|
+
{"version":3,"file":"once-connected.js","sources":["../../src/utils/once-connected.ts"],"sourcesContent":[null],"names":["dataSourceRegistry"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-writer.d.ts","sourceRoot":"","sources":["../../src/writer/database-writer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAMxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,cAAe,YAAW,cAAc;IACnD,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IAEzC,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAExC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAkB;IAE1C,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC;;;;;;;;;;;OAWG;gBACgB,KAAK,EAAE,KAAK;IAW/B;;;;;;OAMG;IACU,IAAI,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IA0DrE;;;;;;;;;OASG;YACW,eAAe;
|
|
1
|
+
{"version":3,"file":"database-writer.d.ts","sourceRoot":"","sources":["../../src/writer/database-writer.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EACV,cAAc,EACd,aAAa,EACb,YAAY,EACb,MAAM,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAc,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAMxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,cAAe,YAAW,cAAc;IACnD,yCAAyC;IACzC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;IAE9B,kCAAkC;IAClC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IAEzC,qDAAqD;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC,4CAA4C;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAExC,4BAA4B;IAC5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAE/B,6BAA6B;IAC7B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,qCAAqC;IACrC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAkB;IAE1C,gCAAgC;IAChC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IAExC;;;;;;;;;;;OAWG;gBACgB,KAAK,EAAE,KAAK;IAW/B;;;;;;OAMG;IACU,IAAI,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,YAAY,CAAC;IA0DrE;;;;;;;;;OASG;YACW,eAAe;IAgE7B;;;;;;OAMG;YACW,aAAa;IAyC3B;;;;;;OAMG;YACW,aAAa;IAsC3B;;;;OAIG;IACU,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAwB5C;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;;;;;;;;;OAUG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;;;;;;OAOG;IACH,OAAO,CAAC,SAAS;IAIjB;;;;;;OAMG;IACH;;;;;;;;OAQG;YACW,WAAW;CAI1B"}
|
|
@@ -154,10 +154,10 @@ class DatabaseWriter {
|
|
|
154
154
|
const validationSchema = isInsert
|
|
155
155
|
? this.schema.clone()
|
|
156
156
|
: this.schema.clone(Object.keys(this.model.data)).extend({
|
|
157
|
-
id: seal.v.
|
|
157
|
+
id: seal.v.scalar(),
|
|
158
158
|
_id: seal.v.any(),
|
|
159
|
-
|
|
160
|
-
|
|
159
|
+
[this.ctor.createdAtColumn]: seal.v.date(),
|
|
160
|
+
[this.ctor.updatedAtColumn]: seal.v.date(),
|
|
161
161
|
});
|
|
162
162
|
// Apply strict mode
|
|
163
163
|
if (this.strictMode === "strip") {
|
|
@@ -177,6 +177,7 @@ class DatabaseWriter {
|
|
|
177
177
|
...seal.getSealConfig(),
|
|
178
178
|
});
|
|
179
179
|
if (!result.isValid) {
|
|
180
|
+
console.trace(result.errors);
|
|
180
181
|
const error = new databaseWriterValidationError.DatabaseWriterValidationError(`[${this.model.constructor.name} Model] ${isInsert ? "Insert" : "Update"} Validation failed`, result.errors);
|
|
181
182
|
if (!options.skipEvents) {
|
|
182
183
|
await this.model.emitEvent("validated", { result, error });
|
|
@@ -206,11 +207,11 @@ class DatabaseWriter {
|
|
|
206
207
|
// The column names are already resolved through the hierarchy:
|
|
207
208
|
// Model static property > Database config > Driver defaults > undefined
|
|
208
209
|
const createdAtColumn = this.ctor.createdAtColumn;
|
|
209
|
-
if (createdAtColumn
|
|
210
|
+
if (createdAtColumn) {
|
|
210
211
|
dataToInsert[createdAtColumn] = new Date();
|
|
211
212
|
}
|
|
212
213
|
const updatedAtColumn = this.ctor.updatedAtColumn;
|
|
213
|
-
if (updatedAtColumn
|
|
214
|
+
if (updatedAtColumn) {
|
|
214
215
|
dataToInsert[updatedAtColumn] = new Date();
|
|
215
216
|
}
|
|
216
217
|
// Emit creating event
|
|
@@ -242,7 +243,7 @@ class DatabaseWriter {
|
|
|
242
243
|
}
|
|
243
244
|
// Update the updatedAt timestamp (using resolved column name)
|
|
244
245
|
const updatedAtColumn = this.ctor.updatedAtColumn;
|
|
245
|
-
if (updatedAtColumn
|
|
246
|
+
if (updatedAtColumn) {
|
|
246
247
|
this.model.set(updatedAtColumn, new Date());
|
|
247
248
|
}
|
|
248
249
|
if (options.replace) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-writer.js","sources":["../../src/writer/database-writer.ts"],"sourcesContent":[null],"names":["v","getSealConfig","DatabaseWriterValidationError","events","getModelUpdatedEvent"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"database-writer.js","sources":["../../src/writer/database-writer.ts"],"sourcesContent":[null],"names":["v","getSealConfig","DatabaseWriterValidationError","events","getModelUpdatedEvent"],"mappings":"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"}
|
|
@@ -13,6 +13,10 @@ declare class DatabaseTransactionContext extends Context<TransactionContextStore
|
|
|
13
13
|
* Get the current transaction session
|
|
14
14
|
*/
|
|
15
15
|
getSession<TSession = unknown>(): TSession | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Check if there's an active transaction in the current context
|
|
18
|
+
*/
|
|
19
|
+
hasActiveTransaction(): boolean;
|
|
16
20
|
/**
|
|
17
21
|
* Set the transaction session in context
|
|
18
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-transaction-context.d.ts","sourceRoot":"","sources":["../../src/context/database-transaction-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAE9D,UAAU,uBAAuB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,cAAM,0BAA2B,SAAQ,OAAO,CAAC,uBAAuB,CAAC;IACvE;;OAEG;IACI,UAAU,CAAC,QAAQ,GAAG,OAAO,KAAK,QAAQ,GAAG,SAAS;IAI7D;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC;;OAEG;IACI,IAAI,IAAI,IAAI;IAInB;;OAEG;IACI,UAAU,IAAI,uBAAuB;CAG7C;AAED,eAAO,MAAM,0BAA0B,4BAAmC,CAAC"}
|
|
1
|
+
{"version":3,"file":"database-transaction-context.d.ts","sourceRoot":"","sources":["../../src/context/database-transaction-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAkB,MAAM,qBAAqB,CAAC;AAE9D,UAAU,uBAAuB;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,cAAM,0BAA2B,SAAQ,OAAO,CAAC,uBAAuB,CAAC;IACvE;;OAEG;IACI,UAAU,CAAC,QAAQ,GAAG,OAAO,KAAK,QAAQ,GAAG,SAAS;IAI7D;;OAEG;IACI,oBAAoB,IAAI,OAAO;IAItC;;OAEG;IACI,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIzC;;OAEG;IACI,IAAI,IAAI,IAAI;IAInB;;OAEG;IACI,UAAU,IAAI,uBAAuB;CAG7C;AAED,eAAO,MAAM,0BAA0B,4BAAmC,CAAC"}
|
|
@@ -11,6 +11,12 @@ class DatabaseTransactionContext extends Context {
|
|
|
11
11
|
getSession() {
|
|
12
12
|
return this.get("session");
|
|
13
13
|
}
|
|
14
|
+
/**
|
|
15
|
+
* Check if there's an active transaction in the current context
|
|
16
|
+
*/
|
|
17
|
+
hasActiveTransaction() {
|
|
18
|
+
return this.getSession() !== undefined;
|
|
19
|
+
}
|
|
14
20
|
/**
|
|
15
21
|
* Set the transaction session in context
|
|
16
22
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-transaction-context.js","sources":["../../src/context/database-transaction-context.ts"],"sourcesContent":[null],"names":[],"mappings":"yDAMA;;;;;AAKG;AACH,MAAM,0BAA2B,SAAQ,OAAgC,CAAA;AACvE;;AAEG;IACI,UAAU,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAyB,CAAC;KACpD;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,OAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC9B;AAED;;AAEG;IACI,IAAI,GAAA;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;AAED;;AAEG;IACI,UAAU,GAAA;AACf,QAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KAC/B;AACF,CAAA;AAEY,MAAA,0BAA0B,GAAG,IAAI,0BAA0B,GAAG;AAE3E,cAAc,CAAC,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"database-transaction-context.js","sources":["../../src/context/database-transaction-context.ts"],"sourcesContent":[null],"names":[],"mappings":"yDAMA;;;;;AAKG;AACH,MAAM,0BAA2B,SAAQ,OAAgC,CAAA;AACvE;;AAEG;IACI,UAAU,GAAA;AACf,QAAA,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAyB,CAAC;KACpD;AAED;;AAEG;IACI,oBAAoB,GAAA;AACzB,QAAA,OAAO,IAAI,CAAC,UAAU,EAAE,KAAK,SAAS,CAAC;KACxC;AAED;;AAEG;AACI,IAAA,UAAU,CAAC,OAAgB,EAAA;AAChC,QAAA,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;KAC9B;AAED;;AAEG;IACI,IAAI,GAAA;QACT,IAAI,CAAC,KAAK,EAAE,CAAC;KACd;AAED;;AAEG;IACI,UAAU,GAAA;AACf,QAAA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KAC/B;AACF,CAAA;AAEY,MAAA,0BAA0B,GAAG,IAAI,0BAA0B,GAAG;AAE3E,cAAc,CAAC,QAAQ,CAAC,gBAAgB,EAAE,0BAA0B,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
+
import type { DatabaseDirtyTracker } from "../database-dirty-tracker";
|
|
1
2
|
import type { ModelDefaults } from "../types";
|
|
3
|
+
import { DatabaseDriver } from "../utils/connect-to-database";
|
|
2
4
|
import { DriverBlueprintContract } from "./driver-blueprint.contract";
|
|
3
5
|
import type { MigrationDriverContract } from "./migration-driver.contract";
|
|
4
6
|
import type { QueryBuilderContract } from "./query-builder.contract";
|
|
@@ -7,7 +9,7 @@ import type { SyncAdapterContract } from "./sync-adapter.contract";
|
|
|
7
9
|
export type DriverEvent = "connected" | "disconnected" | string;
|
|
8
10
|
/** Listener signature for driver lifecycle events. */
|
|
9
11
|
export type DriverEventListener = (...args: unknown[]) => void;
|
|
10
|
-
/** Representation of an opened transaction. */
|
|
12
|
+
/** Representation of an opened transaction (manual pattern). */
|
|
11
13
|
export interface DriverTransactionContract<TContext = unknown> {
|
|
12
14
|
/** Driver-specific transaction context (session, connection, ...). */
|
|
13
15
|
context: TContext;
|
|
@@ -16,6 +18,33 @@ export interface DriverTransactionContract<TContext = unknown> {
|
|
|
16
18
|
/** Rollback the transaction. */
|
|
17
19
|
rollback(): Promise<void>;
|
|
18
20
|
}
|
|
21
|
+
/**
|
|
22
|
+
* Transaction context passed to callback-based transaction functions.
|
|
23
|
+
*
|
|
24
|
+
* Provides explicit rollback capability - calling rollback() will
|
|
25
|
+
* throw a TransactionRollbackError to exit the transaction scope.
|
|
26
|
+
*/
|
|
27
|
+
export interface TransactionContext {
|
|
28
|
+
/**
|
|
29
|
+
* Explicitly rollback the transaction.
|
|
30
|
+
*
|
|
31
|
+
* Throws TransactionRollbackError to immediately exit the transaction callback.
|
|
32
|
+
* The transaction will be rolled back and the error will be re-thrown.
|
|
33
|
+
*
|
|
34
|
+
* @param reason - Optional reason for rollback (for logging/debugging)
|
|
35
|
+
* @throws {TransactionRollbackError}
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```typescript
|
|
39
|
+
* await driver.transaction(async (ctx) => {
|
|
40
|
+
* if (!isValid) {
|
|
41
|
+
* ctx.rollback("Invalid data");
|
|
42
|
+
* }
|
|
43
|
+
* });
|
|
44
|
+
* ```
|
|
45
|
+
*/
|
|
46
|
+
rollback(reason?: string): never;
|
|
47
|
+
}
|
|
19
48
|
/** Result returned after insert operations. */
|
|
20
49
|
export type InsertResult<TDocument = unknown> = {
|
|
21
50
|
document: TDocument;
|
|
@@ -75,7 +104,7 @@ export interface DriverContract {
|
|
|
75
104
|
*
|
|
76
105
|
* @example "mongodb", "postgres", "mysql"
|
|
77
106
|
*/
|
|
78
|
-
readonly name:
|
|
107
|
+
readonly name: DatabaseDriver;
|
|
79
108
|
/**
|
|
80
109
|
* Database blueprint (Information Schema)
|
|
81
110
|
*/
|
|
@@ -118,6 +147,12 @@ export interface DriverContract {
|
|
|
118
147
|
* Deserialize the given data
|
|
119
148
|
*/
|
|
120
149
|
deserialize(data: Record<string, unknown>): Record<string, unknown>;
|
|
150
|
+
/**
|
|
151
|
+
* Get the dirty tracker for this driver.
|
|
152
|
+
*
|
|
153
|
+
* @param data The initial data snapshot to track
|
|
154
|
+
*/
|
|
155
|
+
getDirtyTracker(data: Record<string, unknown>): DatabaseDirtyTracker;
|
|
121
156
|
/** Register event listeners (connected/disconnected/custom). */
|
|
122
157
|
on(event: DriverEvent, listener: DriverEventListener): void;
|
|
123
158
|
/** Insert a single document/row into the given table. */
|
|
@@ -204,8 +239,75 @@ export interface DriverContract {
|
|
|
204
239
|
truncateTable(table: string, options?: Record<string, unknown>): Promise<number>;
|
|
205
240
|
/** Obtain a query builder for custom querying. */
|
|
206
241
|
queryBuilder<T = unknown>(table: string): QueryBuilderContract<T>;
|
|
207
|
-
/**
|
|
208
|
-
|
|
242
|
+
/**
|
|
243
|
+
* Start a new transaction scope (manual pattern).
|
|
244
|
+
*
|
|
245
|
+
* Returns a transaction object with commit/rollback methods.
|
|
246
|
+
* You are responsible for calling commit() or rollback() and handling cleanup.
|
|
247
|
+
*
|
|
248
|
+
* For most use cases, prefer the `transaction()` method which handles
|
|
249
|
+
* commit/rollback/cleanup automatically.
|
|
250
|
+
*
|
|
251
|
+
* @param options - Driver-specific transaction options
|
|
252
|
+
* @returns Transaction contract with commit/rollback methods
|
|
253
|
+
*
|
|
254
|
+
* @example
|
|
255
|
+
* ```typescript
|
|
256
|
+
* const tx = await driver.beginTransaction();
|
|
257
|
+
* try {
|
|
258
|
+
* await driver.insert('users', { name: 'Alice' });
|
|
259
|
+
* await tx.commit();
|
|
260
|
+
* } catch (error) {
|
|
261
|
+
* await tx.rollback();
|
|
262
|
+
* throw error;
|
|
263
|
+
* }
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
beginTransaction(options?: Record<string, unknown>): Promise<DriverTransactionContract>;
|
|
267
|
+
/**
|
|
268
|
+
* Execute a function within a transaction scope (recommended pattern).
|
|
269
|
+
*
|
|
270
|
+
* Automatically commits on success, rolls back on any error, and guarantees
|
|
271
|
+
* resource cleanup. This is the recommended way to use transactions.
|
|
272
|
+
*
|
|
273
|
+
* **Features:**
|
|
274
|
+
* - Auto-commit on successful callback completion
|
|
275
|
+
* - Auto-rollback on any thrown error
|
|
276
|
+
* - Explicit rollback via `ctx.rollback()`
|
|
277
|
+
* - Guaranteed resource cleanup (connection/session release)
|
|
278
|
+
* - Returns the callback's return value
|
|
279
|
+
*
|
|
280
|
+
* **Limitations:**
|
|
281
|
+
* - Nested `transaction()` calls are not supported (use `beginTransaction()` with savepoints)
|
|
282
|
+
* - MongoDB: Requires replica set configuration
|
|
283
|
+
*
|
|
284
|
+
* @param fn - Async function to execute within transaction
|
|
285
|
+
* @param options - Driver-specific transaction options (same as beginTransaction)
|
|
286
|
+
* @returns The return value of the callback function
|
|
287
|
+
* @throws {Error} If transaction fails or is explicitly rolled back
|
|
288
|
+
*
|
|
289
|
+
* @example
|
|
290
|
+
* ```typescript
|
|
291
|
+
* // Auto-commit on success
|
|
292
|
+
* const user = await driver.transaction(async (ctx) => {
|
|
293
|
+
* const result = await driver.insert('users', { name: 'Alice' });
|
|
294
|
+
* return result.document;
|
|
295
|
+
* });
|
|
296
|
+
*
|
|
297
|
+
* // Explicit rollback
|
|
298
|
+
* await driver.transaction(async (ctx) => {
|
|
299
|
+
* if (!isValid) {
|
|
300
|
+
* ctx.rollback('Validation failed');
|
|
301
|
+
* }
|
|
302
|
+
* });
|
|
303
|
+
*
|
|
304
|
+
* // Auto-rollback on error
|
|
305
|
+
* await driver.transaction(async (ctx) => {
|
|
306
|
+
* throw new Error('Oops'); // Automatically rolls back
|
|
307
|
+
* });
|
|
308
|
+
* ```
|
|
309
|
+
*/
|
|
310
|
+
transaction<T>(fn: (ctx: TransactionContext) => Promise<T>, options?: Record<string, unknown>): Promise<T>;
|
|
209
311
|
/** Perform atomic updates matching the filter. */
|
|
210
312
|
atomic(table: string, filter: Record<string, unknown>, operations: UpdateOperations, options?: Record<string, unknown>): Promise<UpdateResult>;
|
|
211
313
|
/** Access the sync adapter used for bulk denormalized updates. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"database-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/database-driver.contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE,yCAAyC;AACzC,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,cAAc,GAAG,MAAM,CAAC;AAEhE,sDAAsD;AACtD,MAAM,MAAM,mBAAmB,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;AAE/D
|
|
1
|
+
{"version":3,"file":"database-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/database-driver.contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import type { DataSource } from "../data-source/data-source";
|
|
2
|
+
import type { MigrationDefaults } from "../types";
|
|
2
3
|
import type { DriverContract } from "./database-driver.contract";
|
|
3
4
|
import type { TableIndexInformation } from "./driver-blueprint.contract";
|
|
4
5
|
export type { TableIndexInformation };
|
|
5
6
|
/**
|
|
6
7
|
* Column data types supported across all database drivers.
|
|
7
8
|
*/
|
|
8
|
-
export type ColumnType = "string" | "char" | "text" | "mediumText" | "longText" | "integer" | "smallInteger" | "tinyInteger" | "bigInteger" | "float" | "double" | "decimal" | "boolean" | "date" | "dateTime" | "timestamp" | "time" | "year" | "json" | "binary" | "uuid" | "ulid" | "ipAddress" | "macAddress" | "point" | "polygon" | "lineString" | "geometry" | "vector" | "enum" | "set";
|
|
9
|
+
export type ColumnType = "string" | "char" | "text" | "mediumText" | "longText" | "integer" | "smallInteger" | "tinyInteger" | "bigInteger" | "float" | "double" | "decimal" | "boolean" | "date" | "dateTime" | "timestamp" | "time" | "year" | "json" | "binary" | "uuid" | "ulid" | "ipAddress" | "macAddress" | "point" | "polygon" | "lineString" | "geometry" | "vector" | "enum" | "set" | "arrayInt" | "arrayBigInt" | "arrayFloat" | "arrayDecimal" | "arrayBoolean" | "arrayText" | "arrayDate" | "arrayTimestamp" | "arrayUuid";
|
|
9
10
|
/**
|
|
10
11
|
* Column definition used when adding or modifying columns.
|
|
11
12
|
*/
|
|
@@ -445,6 +446,49 @@ export interface MigrationDriverContract {
|
|
|
445
446
|
* Whether the driver supports transactions.
|
|
446
447
|
*/
|
|
447
448
|
supportsTransactions(): boolean;
|
|
449
|
+
/**
|
|
450
|
+
* Get the default transactional behavior for this driver.
|
|
451
|
+
*
|
|
452
|
+
* This determines whether migrations should be wrapped in transactions
|
|
453
|
+
* by default when no explicit configuration is provided.
|
|
454
|
+
*
|
|
455
|
+
* - **PostgreSQL**: Returns `true` (DDL operations are transactional)
|
|
456
|
+
* - **MongoDB**: Returns `false` (DDL operations cannot be transactional)
|
|
457
|
+
*
|
|
458
|
+
* Can be overridden by:
|
|
459
|
+
* 1. Migration-level `transactional` property
|
|
460
|
+
* 2. Config-level `migrations.transactional` option
|
|
461
|
+
*
|
|
462
|
+
* @returns true if migrations should be transactional by default
|
|
463
|
+
*/
|
|
464
|
+
getDefaultTransactional(): boolean;
|
|
465
|
+
/**
|
|
466
|
+
* Get the default UUID generation expression for this driver.
|
|
467
|
+
*
|
|
468
|
+
* Used by `Migration.primaryUuid()` to set driver-appropriate defaults.
|
|
469
|
+
* SQL drivers return a native expression (e.g., `gen_random_uuid()`).
|
|
470
|
+
* NoSQL drivers return `undefined` (application-level UUID generation).
|
|
471
|
+
*
|
|
472
|
+
* @param migrationDefaults - Optional overrides from DataSource config
|
|
473
|
+
* @returns SQL expression string, or undefined for schema-less DBs
|
|
474
|
+
*
|
|
475
|
+
* @example
|
|
476
|
+
* ```typescript
|
|
477
|
+
* // PostgreSQL with default v4
|
|
478
|
+
* driver.getUuidDefault(); // "gen_random_uuid()"
|
|
479
|
+
*
|
|
480
|
+
* // PostgreSQL with v7 override
|
|
481
|
+
* driver.getUuidDefault({ uuidStrategy: "v7" }); // "uuid_generate_v7()"
|
|
482
|
+
*
|
|
483
|
+
* // PostgreSQL with raw expression escape hatch
|
|
484
|
+
* driver.getUuidDefault({ uuidExpression: "uuid_generate_v1mc()" });
|
|
485
|
+
* // "uuid_generate_v1mc()"
|
|
486
|
+
*
|
|
487
|
+
* // MongoDB
|
|
488
|
+
* driver.getUuidDefault(); // undefined
|
|
489
|
+
* ```
|
|
490
|
+
*/
|
|
491
|
+
getUuidDefault(migrationDefaults?: MigrationDefaults): string | undefined;
|
|
448
492
|
/**
|
|
449
493
|
* Execute raw operations with direct driver access.
|
|
450
494
|
*
|
|
@@ -452,6 +496,10 @@ export interface MigrationDriverContract {
|
|
|
452
496
|
* @returns Result from callback
|
|
453
497
|
*/
|
|
454
498
|
raw<T>(callback: (connection: unknown) => Promise<T>): Promise<T>;
|
|
499
|
+
/**
|
|
500
|
+
* Get database driver
|
|
501
|
+
*/
|
|
502
|
+
driver: DriverContract;
|
|
455
503
|
}
|
|
456
504
|
/**
|
|
457
505
|
* Factory function type for creating migration drivers.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migration-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/migration-driver.contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACzE,YAAY,EAAE,qBAAqB,EAAE,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,QAAQ,GACR,MAAM,GACN,MAAM,GACN,YAAY,GACZ,UAAU,GACV,SAAS,GACT,cAAc,GACd,aAAa,GACb,YAAY,GACZ,OAAO,GACP,QAAQ,GACR,SAAS,GACT,SAAS,GACT,MAAM,GACN,UAAU,GACV,WAAW,GACX,MAAM,GACN,MAAM,GACN,MAAM,GACN,QAAQ,GACR,MAAM,GACN,MAAM,GACN,WAAW,GACX,YAAY,GACZ,OAAO,GACP,SAAS,GACT,YAAY,GACZ,UAAU,GACV,QAAQ,GACR,MAAM,GACN,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"migration-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/migration-driver.contract.ts"],"names":[],"mappings":"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"}
|