@warlock.js/cascade 4.0.93 → 4.0.95

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 (69) hide show
  1. package/cjs/contracts/database-driver.contract.d.ts +71 -0
  2. package/cjs/contracts/database-driver.contract.d.ts.map +1 -1
  3. package/cjs/data-source/data-source.d.ts +6 -4
  4. package/cjs/data-source/data-source.d.ts.map +1 -1
  5. package/cjs/data-source/data-source.js.map +1 -1
  6. package/cjs/drivers/mongodb/mongodb-driver.d.ts +36 -0
  7. package/cjs/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
  8. package/cjs/drivers/mongodb/mongodb-driver.js +69 -0
  9. package/cjs/drivers/mongodb/mongodb-driver.js.map +1 -1
  10. package/cjs/drivers/postgres/postgres-driver.d.ts +41 -0
  11. package/cjs/drivers/postgres/postgres-driver.d.ts.map +1 -1
  12. package/cjs/drivers/postgres/postgres-driver.js +100 -4
  13. package/cjs/drivers/postgres/postgres-driver.js.map +1 -1
  14. package/cjs/migration/migration-runner.d.ts.map +1 -1
  15. package/cjs/migration/migration-runner.js +3 -0
  16. package/cjs/migration/migration-runner.js.map +1 -1
  17. package/cjs/model/model.d.ts +71 -13
  18. package/cjs/model/model.d.ts.map +1 -1
  19. package/cjs/model/model.js +172 -23
  20. package/cjs/model/model.js.map +1 -1
  21. package/cjs/remover/database-remover.d.ts.map +1 -1
  22. package/cjs/remover/database-remover.js +7 -2
  23. package/cjs/remover/database-remover.js.map +1 -1
  24. package/cjs/types.d.ts +244 -0
  25. package/cjs/types.d.ts.map +1 -1
  26. package/cjs/utils/connect-to-database.d.ts +42 -45
  27. package/cjs/utils/connect-to-database.d.ts.map +1 -1
  28. package/cjs/utils/connect-to-database.js.map +1 -1
  29. package/cjs/utils/define-model.d.ts +21 -16
  30. package/cjs/utils/define-model.d.ts.map +1 -1
  31. package/cjs/writer/database-writer.d.ts +1 -1
  32. package/cjs/writer/database-writer.d.ts.map +1 -1
  33. package/cjs/writer/database-writer.js +13 -9
  34. package/cjs/writer/database-writer.js.map +1 -1
  35. package/esm/contracts/database-driver.contract.d.ts +71 -0
  36. package/esm/contracts/database-driver.contract.d.ts.map +1 -1
  37. package/esm/data-source/data-source.d.ts +6 -4
  38. package/esm/data-source/data-source.d.ts.map +1 -1
  39. package/esm/data-source/data-source.js.map +1 -1
  40. package/esm/drivers/mongodb/mongodb-driver.d.ts +36 -0
  41. package/esm/drivers/mongodb/mongodb-driver.d.ts.map +1 -1
  42. package/esm/drivers/mongodb/mongodb-driver.js +69 -0
  43. package/esm/drivers/mongodb/mongodb-driver.js.map +1 -1
  44. package/esm/drivers/postgres/postgres-driver.d.ts +41 -0
  45. package/esm/drivers/postgres/postgres-driver.d.ts.map +1 -1
  46. package/esm/drivers/postgres/postgres-driver.js +100 -4
  47. package/esm/drivers/postgres/postgres-driver.js.map +1 -1
  48. package/esm/migration/migration-runner.d.ts.map +1 -1
  49. package/esm/migration/migration-runner.js +3 -0
  50. package/esm/migration/migration-runner.js.map +1 -1
  51. package/esm/model/model.d.ts +71 -13
  52. package/esm/model/model.d.ts.map +1 -1
  53. package/esm/model/model.js +172 -23
  54. package/esm/model/model.js.map +1 -1
  55. package/esm/remover/database-remover.d.ts.map +1 -1
  56. package/esm/remover/database-remover.js +7 -2
  57. package/esm/remover/database-remover.js.map +1 -1
  58. package/esm/types.d.ts +244 -0
  59. package/esm/types.d.ts.map +1 -1
  60. package/esm/utils/connect-to-database.d.ts +42 -45
  61. package/esm/utils/connect-to-database.d.ts.map +1 -1
  62. package/esm/utils/connect-to-database.js.map +1 -1
  63. package/esm/utils/define-model.d.ts +21 -16
  64. package/esm/utils/define-model.d.ts.map +1 -1
  65. package/esm/writer/database-writer.d.ts +1 -1
  66. package/esm/writer/database-writer.d.ts.map +1 -1
  67. package/esm/writer/database-writer.js +13 -9
  68. package/esm/writer/database-writer.js.map +1 -1
  69. package/package.json +4 -4
@@ -1,5 +1,5 @@
1
1
  import { DataSource } from "../data-source/data-source";
2
- import type { DeleteStrategy, StrictMode } from "../types";
2
+ import type { DeleteStrategy, ModelDefaults } from "../types";
3
3
  /**
4
4
  * Supported database driver types.
5
5
  */
@@ -10,49 +10,18 @@ export type DatabaseDriver = "mongodb" | "postgres" | "mysql";
10
10
  * These settings will be applied to all models using this data source,
11
11
  * unless overridden by individual model static properties.
12
12
  *
13
- * Note: `autoGenerateId` is NOT included here as it's a driver-level
14
- * setting (configured in MongoDriverOptions), not a model-level one.
13
+ * This is a re-export of Partial<ModelDefaults> for backward compatibility
14
+ * and to provide clearer naming in the connection config context.
15
+ *
16
+ * The full hierarchy is:
17
+ * 1. Model static property (highest priority)
18
+ * 2. Database config modelDefaults (this type)
19
+ * 3. Driver defaults (e.g., snake_case for PostgreSQL, camelCase for MongoDB)
20
+ * 4. Framework defaults (fallback values)
21
+ *
22
+ * @see ModelDefaults for complete type definition and documentation
15
23
  */
16
- export type ModelDefaultConfig = {
17
- /**
18
- * Initial ID value for auto-generated IDs.
19
- * Can be a number or a function that returns a number.
20
- * @default 1
21
- */
22
- initialId?: number | (() => number);
23
- /**
24
- * Randomly generate the initial ID.
25
- * - `true`: Random ID between 10000-499999
26
- * - Function: Custom random ID generator
27
- * @default false
28
- */
29
- randomInitialId?: boolean | (() => number);
30
- /**
31
- * Amount to increment ID by for each new record.
32
- * @default 1
33
- */
34
- incrementIdBy?: number;
35
- /**
36
- * Randomly generate the increment amount.
37
- * - `true`: Random increment between 1-10
38
- * - Function: Custom random increment generator
39
- * @default false
40
- */
41
- randomIncrement?: boolean | (() => number);
42
- /**
43
- * Default delete strategy for models.
44
- * @default undefined (uses data source default or "permanent")
45
- */
46
- deleteStrategy?: DeleteStrategy;
47
- /**
48
- * Default validation strict mode.
49
- * - `"allow"`: Allow unknown fields
50
- * - `"strip"`: Strip unknown fields
51
- * - `"fail"`: Fail on unknown fields
52
- * @default "strip"
53
- */
54
- strictMode?: StrictMode;
55
- };
24
+ export type ModelDefaultConfig = Partial<ModelDefaults>;
56
25
  /**
57
26
  * Connection options for establishing a database connection.
58
27
  *
@@ -160,16 +129,44 @@ export type ConnectionOptions<TDriverOptions = any, TClientOptions = any> = {
160
129
  /**
161
130
  * Default model configuration for all models using this data source.
162
131
  *
163
- * These settings will be applied to models that don't have their own
164
- * static property overrides.
132
+ * These settings override driver defaults but are overridden by
133
+ * individual model static properties.
134
+ *
135
+ * **Configuration Hierarchy (highest to lowest):**
136
+ * 1. Model static property - `User.createdAtColumn = "creation_date"`
137
+ * 2. **modelOptions (this)** - Database-wide overrides
138
+ * 3. Driver defaults - PostgreSQL: snake_case, MongoDB: camelCase
139
+ * 4. Framework defaults - Fallback values
165
140
  *
166
141
  * @example
167
142
  * ```typescript
143
+ * // PostgreSQL database with custom settings
168
144
  * {
145
+ * driver: "postgres",
169
146
  * modelOptions: {
147
+ * // Override PostgreSQL default (snake_case) to use camelCase
148
+ * namingConvention: "camelCase",
149
+ * createdAtColumn: "createdAt",
150
+ * updatedAtColumn: "updatedAt",
151
+ *
152
+ * // ID generation settings (for MongoDB)
170
153
  * randomIncrement: true,
171
154
  * initialId: 1000,
155
+ *
156
+ * // Deletion settings
172
157
  * deleteStrategy: "soft",
158
+ * trashTable: "archive", // All models use same trash table
159
+ * }
160
+ * }
161
+ *
162
+ * // MongoDB database with defaults
163
+ * {
164
+ * driver: "mongodb",
165
+ * modelOptions: {
166
+ * // MongoDB already uses camelCase by default
167
+ * randomIncrement: true,
168
+ * initialId: 10000,
169
+ * deleteStrategy: "trash", // Use RecycleBin
173
170
  * }
174
171
  * }
175
172
  * ```
@@ -1 +1 @@
1
- {"version":3,"file":"connect-to-database.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIxD,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9D;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAEpC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAE3C;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,CAAC;IAE3C;;;OAGG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,MAAM,iBAAiB,CAAC,cAAc,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,IAAI;IAK1E;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAMjB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAM/B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAM/B;;;;;;;;;;;;;;;;OAgBG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAMlC;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,iBAAiB,CAAC,cAAc,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,EAChF,OAAO,EAAE,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,CA2ErB"}
1
+ {"version":3,"file":"connect-to-database.d.ts","sourceRoot":"","sources":["../../src/utils/connect-to-database.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAIxD,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAc,MAAM,UAAU,CAAC;AAE1E;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,OAAO,CAAC;AAE9D;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,MAAM,iBAAiB,CAAC,cAAc,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,IAAI;IAK1E;;;OAGG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAMjB;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAMpB;;;;;OAKG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAM/B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,cAAc,CAAC;IAM/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4CG;IACH,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAMlC;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AACH,wBAAsB,iBAAiB,CAAC,cAAc,GAAG,GAAG,EAAE,cAAc,GAAG,GAAG,EAChF,OAAO,EAAE,iBAAiB,CAAC,cAAc,EAAE,cAAc,CAAC,GACzD,OAAO,CAAC,UAAU,CAAC,CA2ErB"}
@@ -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":"+TA2PA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CG;AACI,eAAe,iBAAiB,CACrC,OAA0D,EAAA;;AAG1D,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;AAC/C,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;AACjD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;;AAG5C,IAAA,IAAI,MAAsB,CAAC;AAE3B,IAAA,QAAQ,UAAU;QAChB,KAAK,SAAS,EAAE;YACd,MAAM,GAAG,IAAIA,2BAAa,CACxB;gBACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAoB;AAC5C,aAAA,EACD,OAAO,CAAC,aAAoB,CAC7B,CAAC;YACF,MAAM;AACP,SAAA;QAED,KAAK,UAAU,EAAE;YACf,MAAM,GAAG,IAAIC,6BAAc,CAAC;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,gBAAgB,EAAE,OAAO,CAAC,GAAG;gBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;AAClB,gBAAA,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;gBAC1B,IAAI,EAAE,OAAO,CAAC,QAAQ;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;;gBAE1B,GAAI,OAAO,CAAC,aAAwB;AACrC,aAAA,CAAC,CAAC;YACH,MAAM;AACP,SAAA;AAED,QAAA,KAAK,OAAO;AACV,YAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AAEvE,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,oBAAoB,UAAU,CAAA,8CAAA,CAAgD,CAC/E,CAAC;AACL,KAAA;;AAGD,IAAA,MAAMC,YAAU,GAAG,IAAIC,qBAAU,CAAC;AAChC,QAAA,IAAI,EAAE,cAAc;QACpB,MAAM;QACN,SAAS;QACT,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,YAAY;AACpC,KAAA,CAAC,CAAC;;AAGH,IAAAC,qCAAkB,CAAC,QAAQ,CAACF,YAAU,CAAC,CAAC;;IAGxC,IAAI;AACF,QAAA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACxB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnB,MAAM,IAAI,KAAK,CACb,CAAwB,qBAAA,EAAA,UAAU,cAAc,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA,CACzG,CAAC;AACH,KAAA;AAED,IAAA,OAAOA,YAAU,CAAC;AACpB"}
1
+ {"version":3,"file":"connect-to-database.js","sources":["../../src/utils/connect-to-database.ts"],"sourcesContent":[null],"names":["MongoDbDriver","PostgresDriver","dataSource","DataSource","dataSourceRegistry"],"mappings":"+TAmPA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2CG;AACI,eAAe,iBAAiB,CACrC,OAA0D,EAAA;;AAG1D,IAAA,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,SAAS,CAAC;AAC/C,IAAA,MAAM,cAAc,GAAG,OAAO,CAAC,IAAI,IAAI,SAAS,CAAC;AACjD,IAAA,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC;;AAG5C,IAAA,IAAI,MAAsB,CAAC;AAE3B,IAAA,QAAQ,UAAU;QAChB,KAAK,SAAS,EAAE;YACd,MAAM,GAAG,IAAIA,2BAAa,CACxB;gBACE,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,aAAa,EAAE,OAAO,CAAC,aAAoB;AAC5C,aAAA,EACD,OAAO,CAAC,aAAoB,CAC7B,CAAC;YACF,MAAM;AACP,SAAA;QAED,KAAK,UAAU,EAAE;YACf,MAAM,GAAG,IAAIC,6BAAc,CAAC;gBAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ;gBAC1B,gBAAgB,EAAE,OAAO,CAAC,GAAG;gBAC7B,IAAI,EAAE,OAAO,CAAC,IAAI;AAClB,gBAAA,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI;gBAC1B,IAAI,EAAE,OAAO,CAAC,QAAQ;gBACtB,QAAQ,EAAE,OAAO,CAAC,QAAQ;;gBAE1B,GAAI,OAAO,CAAC,aAAwB;AACrC,aAAA,CAAC,CAAC;YACH,MAAM;AACP,SAAA;AAED,QAAA,KAAK,OAAO;AACV,YAAA,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;AAEvE,QAAA;AACE,YAAA,MAAM,IAAI,KAAK,CACb,oBAAoB,UAAU,CAAA,8CAAA,CAAgD,CAC/E,CAAC;AACL,KAAA;;AAGD,IAAA,MAAMC,YAAU,GAAG,IAAIC,qBAAU,CAAC;AAChC,QAAA,IAAI,EAAE,cAAc;QACpB,MAAM;QACN,SAAS;QACT,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;QACpD,iBAAiB,EAAE,OAAO,CAAC,iBAAiB;QAC5C,aAAa,EAAE,OAAO,CAAC,YAAY;AACpC,KAAA,CAAC,CAAC;;AAGH,IAAAC,qCAAkB,CAAC,QAAQ,CAACF,YAAU,CAAC,CAAC;;IAGxC,IAAI;AACF,QAAA,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;AACxB,KAAA;AAAC,IAAA,OAAO,KAAK,EAAE;AACd,QAAA,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAEnB,MAAM,IAAI,KAAK,CACb,CAAwB,qBAAA,EAAA,UAAU,cAAc,KAAK,YAAY,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,CAAE,CAAA,CACzG,CAAC;AACH,KAAA;AAED,IAAA,OAAOA,YAAU,CAAC;AACpB"}
@@ -192,6 +192,7 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
192
192
  on<TContext_1 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_1>): () => void;
193
193
  once<TContext_2 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_2>): () => void;
194
194
  off<TContext_3 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_3>): void;
195
+ generateNextId(): Promise<number>;
195
196
  destroy(options?: {
196
197
  strategy?: DeleteStrategy;
197
198
  skipEvents?: boolean;
@@ -256,6 +257,7 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
256
257
  on<TContext_1 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_1>): () => void;
257
258
  once<TContext_2 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_2>): () => void;
258
259
  off<TContext_3 = unknown>(event: import("..").ModelEventName, listener: import("..").ModelEventListener<any, TContext_3>): void;
260
+ generateNextId(): Promise<number>;
259
261
  destroy(options?: {
260
262
  strategy?: DeleteStrategy;
261
263
  skipEvents?: boolean;
@@ -316,7 +318,7 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
316
318
  incrementIdBy?: number;
317
319
  createdAtColumn?: string | false;
318
320
  updatedAtColumn?: string | false;
319
- deletedAtColumn: string;
321
+ deletedAtColumn: string | false;
320
322
  trashTable?: string;
321
323
  globalScopes: Map<string, import("../model/model").GlobalScopeDefinition>;
322
324
  localScopes: Map<string, import("../model/model").LocalScopeCallback>;
@@ -351,27 +353,30 @@ export declare function defineModel<TSchema extends ModelSchema, TSchemaValidato
351
353
  increase<TModel_20 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_20>, filter: Record<string, unknown>, field: string, amount: number): Promise<number>;
352
354
  decrease<TModel_21 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_21>, filter: Record<string, unknown>, field: string, amount: number): Promise<number>;
353
355
  atomic<TModel_22 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_22>, filter: Record<string, unknown>, operations: Record<string, unknown>): Promise<number>;
354
- delete<TModel_23 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_23>, filter?: Record<string, unknown>): Promise<number>;
355
- deleteOne<TModel_24 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_24>, filter?: Record<string, unknown>): Promise<number>;
356
- restore<TModel_25 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_25>, id: string | number, options?: {
356
+ findOneAndUpdate<TModel_23 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_23>, filter: Record<string, unknown>, update: Record<string, unknown>): Promise<TModel_23>;
357
+ delete<TModel_24 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_24>, filter?: Record<string, unknown>): Promise<number>;
358
+ deleteOne<TModel_25 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_25>, filter?: Record<string, unknown>): Promise<number>;
359
+ restore<TModel_26 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_26>, id: string | number, options?: {
357
360
  onIdConflict?: "fail" | "assignNew";
358
361
  skipEvents?: boolean;
359
- }): Promise<TModel_25>;
360
- restoreAll<TModel_26 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_26>, options?: {
362
+ }): Promise<TModel_26>;
363
+ restoreAll<TModel_27 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_27>, options?: {
361
364
  onIdConflict?: "fail" | "assignNew";
362
365
  skipEvents?: boolean;
363
- }): Promise<TModel_26[]>;
364
- create<TModel_27 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_1 extends ModelSchema = TModel_27 extends Model<infer S extends ModelSchema> ? S : ModelSchema>(this: import("../model/model").ChildModel<TModel_27>, data: Partial<TSchema_1>): Promise<TModel_27>;
365
- createMany<TModel_28 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_2 extends ModelSchema = TModel_28 extends Model<infer S_1 extends ModelSchema> ? S_1 : ModelSchema>(this: import("../model/model").ChildModel<TModel_28>, data: Partial<TSchema_2>[]): Promise<TModel_28[]>;
366
- findOrCreate<TModel_29 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_3 extends ModelSchema = TModel_29 extends Model<infer S_2 extends ModelSchema> ? S_2 : ModelSchema>(this: import("../model/model").ChildModel<TModel_29>, filter: Partial<TSchema_3>, data: Partial<TSchema_3>): Promise<TModel_29>;
367
- updateOrCreate<TModel_30 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_4 extends ModelSchema = TModel_30 extends Model<infer S_3 extends ModelSchema> ? S_3 : ModelSchema>(this: import("../model/model").ChildModel<TModel_30>, filter: Partial<TSchema_4>, data: Partial<TSchema_4>): Promise<TModel_30>;
368
- events<TModel_31 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_31>): import("..").ModelEvents<TModel_31>;
366
+ }): Promise<TModel_27[]>;
367
+ create<TModel_28 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_1 extends ModelSchema = TModel_28 extends Model<infer S extends ModelSchema> ? S : ModelSchema>(this: import("../model/model").ChildModel<TModel_28>, data: Partial<TSchema_1>): Promise<TModel_28>;
368
+ createMany<TModel_29 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_2 extends ModelSchema = TModel_29 extends Model<infer S_1 extends ModelSchema> ? S_1 : ModelSchema>(this: import("../model/model").ChildModel<TModel_29>, data: Partial<TSchema_2>[]): Promise<TModel_29[]>;
369
+ findOrCreate<TModel_30 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_3 extends ModelSchema = TModel_30 extends Model<infer S_2 extends ModelSchema> ? S_2 : ModelSchema>(this: import("../model/model").ChildModel<TModel_30>, filter: Partial<TSchema_3>, data: Partial<TSchema_3>): Promise<TModel_30>;
370
+ upsert<TModel_31 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_4 extends ModelSchema = TModel_31 extends Model<infer S_3 extends ModelSchema> ? S_3 : ModelSchema>(this: import("../model/model").ChildModel<TModel_31>, filter: Partial<TSchema_4>, data: Partial<TSchema_4>, options?: Record<string, unknown>): Promise<TModel_31>;
371
+ updateOrCreate<TModel_32 extends Model<ModelSchema> = Model<ModelSchema>, TSchema_5 extends ModelSchema = TModel_32 extends Model<infer S_4 extends ModelSchema> ? S_4 : ModelSchema>(this: import("../model/model").ChildModel<TModel_32>, filter: Partial<TSchema_5>, data: Partial<TSchema_5>, options?: Record<string, unknown>): Promise<TModel_32>;
372
+ findOneAndDelete<TModel_33 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_33>, filter: Record<string, unknown>, options?: Record<string, unknown>): Promise<TModel_33>;
373
+ events<TModel_34 extends Model<ModelSchema> = Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_34>): import("..").ModelEvents<TModel_34>;
369
374
  $cleanup(): void;
370
- on<TModel_32 extends Model<ModelSchema> = Model<ModelSchema>, TContext_4 = unknown>(this: import("../model/model").ChildModel<TModel_32>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_32, TContext_4>): () => void;
371
- once<TModel_33 extends Model<ModelSchema> = Model<ModelSchema>, TContext_5 = unknown>(this: import("../model/model").ChildModel<TModel_33>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_33, TContext_5>): () => void;
372
- off<TModel_34 extends Model<ModelSchema> = Model<ModelSchema>, TContext_6 = unknown>(this: import("../model/model").ChildModel<TModel_34>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_34, TContext_6>): void;
375
+ on<TModel_35 extends Model<ModelSchema> = Model<ModelSchema>, TContext_4 = unknown>(this: import("../model/model").ChildModel<TModel_35>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_35, TContext_4>): () => void;
376
+ once<TModel_36 extends Model<ModelSchema> = Model<ModelSchema>, TContext_5 = unknown>(this: import("../model/model").ChildModel<TModel_36>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_36, TContext_5>): () => void;
377
+ off<TModel_37 extends Model<ModelSchema> = Model<ModelSchema>, TContext_6 = unknown>(this: import("../model/model").ChildModel<TModel_37>, event: import("..").ModelEventName, listener: import("..").ModelEventListener<TModel_37, TContext_6>): void;
373
378
  globalEvents(): import("..").ModelEvents<Model<ModelSchema>>;
374
- deserialize<TModel_35 extends Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_35>, data: any): TModel_35;
379
+ deserialize<TModel_38 extends Model<ModelSchema>>(this: import("../model/model").ChildModel<TModel_38>, data: any): TModel_38;
375
380
  }, "new"> & TStatics;
376
381
  /**
377
382
  * Type helper to infer the schema type from a defined model.
@@ -1 +1 @@
1
- {"version":3,"file":"define-model.d.ts","sourceRoot":"","sources":["../../src/utils/define-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,WAAW,IAAI;IAC5D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,WAAW,CACzB,OAAO,SAAS,WAAW,EAC3B,gBAAgB,SAAS,eAAe,GAAG,eAAe,EAC1D,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAC5C,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAEzC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG;IACrC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IACpE,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;CACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKC;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;oBAC2B,cAAc;IAE5C;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA4BN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,KAC1E,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,CAAC,GACR,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,GACD,KAAK,GACP,KAAK,CAAC"}
1
+ {"version":3,"file":"define-model.d.ts","sourceRoot":"","sources":["../../src/utils/define-model.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,OAAO,KAAK,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3D;;GAEG;AACH,MAAM,MAAM,kBAAkB,CAAC,OAAO,SAAS,WAAW,IAAI;IAC5D;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;OAGG;IACH,MAAM,EAAE,eAAe,CAAC;IAExB;;;;;OAKG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAEhC;;;;OAIG;IACH,UAAU,CAAC,EAAE,UAAU,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAE5D;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC/B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,wBAAgB,WAAW,CACzB,OAAO,SAAS,WAAW,EAC3B,gBAAgB,SAAS,eAAe,GAAG,eAAe,EAC1D,WAAW,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAC5C,QAAQ,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,EAAE,EAEzC,OAAO,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG;IACrC,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;IACpE,OAAO,CAAC,EAAE,QAAQ,CAAC,OAAO,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;CACtE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAKC;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;oBAC2B,cAAc;IAE5C;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;IAGH;;OAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBA4BN;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,UAAU,CAAC,OAAO,WAAW,CAAC,IAAI,CAAC,SAAS,KAC1E,GAAG,IAAI,EAAE,GAAG,EAAE,KACX,MAAM,CAAC,GACR,CAAC,SAAS,KAAK,CAAC,MAAM,CAAC,CAAC,GACtB,CAAC,GACD,KAAK,GACP,KAAK,CAAC"}
@@ -104,7 +104,7 @@ export declare class DatabaseWriter implements WriterContract {
104
104
  *
105
105
  * @private
106
106
  */
107
- private generateIdIfNeeded;
107
+ generateNextId(): Promise<void>;
108
108
  /**
109
109
  * Build update operations from the model's dirty tracker.
110
110
  *
@@ -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;IA8D7B;;;;;;OAMG;YACW,aAAa;IAsC3B;;;;;;OAMG;YACW,aAAa;IAoC3B;;;;OAIG;YACW,kBAAkB;IAwBhC;;;;;;;;;;;;;;;;;;;;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"}
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;IA8D7B;;;;;;OAMG;YACW,aAAa;IAwC3B;;;;;;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"}
@@ -199,16 +199,18 @@ class DatabaseWriter {
199
199
  */
200
200
  async performInsert(options) {
201
201
  // Generate ID if needed (NoSQL only)
202
- await this.generateIdIfNeeded();
202
+ await this.generateNextId();
203
203
  // Get data to insert (already validated and casted)
204
204
  const dataToInsert = this.model.data;
205
- // add createdAt and updatedAt to the data
206
- const createdAtColumn = this.ctor.createdAtColumn ?? "createdAt";
207
- if (createdAtColumn) {
205
+ // Add createdAt and updatedAt to the data (using resolved column names)
206
+ // The column names are already resolved through the hierarchy:
207
+ // Model static property > Database config > Driver defaults > undefined
208
+ const createdAtColumn = this.ctor.createdAtColumn;
209
+ if (createdAtColumn !== false && createdAtColumn !== undefined) {
208
210
  dataToInsert[createdAtColumn] = new Date();
209
211
  }
210
- const updatedAtColumn = this.ctor.updatedAtColumn ?? "updatedAt";
211
- if (updatedAtColumn) {
212
+ const updatedAtColumn = this.ctor.updatedAtColumn;
213
+ if (updatedAtColumn !== false && updatedAtColumn !== undefined) {
212
214
  dataToInsert[updatedAtColumn] = new Date();
213
215
  }
214
216
  // Emit creating event
@@ -238,8 +240,10 @@ class DatabaseWriter {
238
240
  if (!options.skipEvents) {
239
241
  await this.model.emitEvent("updating");
240
242
  }
241
- if (this.ctor.updatedAtColumn !== false) {
242
- this.model.set(this.ctor.updatedAtColumn ?? "updatedAt", new Date());
243
+ // Update the updatedAt timestamp (using resolved column name)
244
+ const updatedAtColumn = this.ctor.updatedAtColumn;
245
+ if (updatedAtColumn !== false && updatedAtColumn !== undefined) {
246
+ this.model.set(updatedAtColumn, new Date());
243
247
  }
244
248
  if (options.replace) {
245
249
  const document = await this.driver.replace(this.table, {
@@ -262,7 +266,7 @@ class DatabaseWriter {
262
266
  *
263
267
  * @private
264
268
  */
265
- async generateIdIfNeeded() {
269
+ async generateNextId() {
266
270
  if (!this.ctor.autoGenerateId || this.model.get("id")) {
267
271
  return;
268
272
  }
@@ -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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"}
@@ -1,3 +1,4 @@
1
+ import type { ModelDefaults } from "../types";
1
2
  import { DriverBlueprintContract } from "./driver-blueprint.contract";
2
3
  import type { MigrationDriverContract } from "./migration-driver.contract";
3
4
  import type { QueryBuilderContract } from "./query-builder.contract";
@@ -79,6 +80,28 @@ export interface DriverContract {
79
80
  * Database blueprint (Information Schema)
80
81
  */
81
82
  readonly blueprint: DriverBlueprintContract;
83
+ /**
84
+ * Driver-specific model defaults.
85
+ *
86
+ * These defaults are applied to all models using this driver,
87
+ * unless overridden by database config or model static properties.
88
+ *
89
+ * Examples:
90
+ * - MongoDB: camelCase naming (createdAt, updatedAt)
91
+ * - PostgreSQL: snake_case naming (created_at, updated_at)
92
+ *
93
+ * @example
94
+ * ```typescript
95
+ * // PostgreSQL driver
96
+ * readonly modelDefaults: Partial<ModelDefaults> = {
97
+ * namingConvention: "snake_case",
98
+ * createdAtColumn: "created_at",
99
+ * updatedAtColumn: "updated_at",
100
+ * timestamps: true,
101
+ * };
102
+ * ```
103
+ */
104
+ readonly modelDefaults?: Partial<ModelDefaults>;
82
105
  /** Whether the underlying connection is currently established. */
83
106
  readonly isConnected: boolean;
84
107
  /** Establish the underlying database connection/pool. */
@@ -105,6 +128,54 @@ export interface DriverContract {
105
128
  updateMany(table: string, filter: Record<string, unknown>, update: UpdateOperations, options?: Record<string, unknown>): Promise<UpdateResult>;
106
129
  /** Replace a single document that matches the provided filter. */
107
130
  replace<T = unknown>(table: string, filter: Record<string, unknown>, document: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
131
+ /** Find one and update a single document that matches the provided filter and return the updated document */
132
+ findOneAndUpdate<T = unknown>(table: string, filter: Record<string, unknown>, update: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
133
+ /**
134
+ * Upsert (insert or update) a single document/row.
135
+ *
136
+ * If a document matching the filter exists, it will be updated.
137
+ * If no document matches, a new one will be inserted.
138
+ *
139
+ * @param table - Target table/collection name
140
+ * @param filter - Filter conditions to find existing document
141
+ * @param document - Document data to insert or update
142
+ * @param options - Driver-specific options (conflict columns for SQL, etc.)
143
+ * @returns The upserted document
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * // PostgreSQL: upsert on unique email
148
+ * await driver.upsert('users', { email: 'user@example.com' }, {
149
+ * email: 'user@example.com',
150
+ * name: 'John Doe',
151
+ * updatedAt: new Date()
152
+ * }, { conflictColumns: ['email'] });
153
+ *
154
+ * // MongoDB: upsert by filter
155
+ * await driver.upsert('users', { email: 'user@example.com' }, {
156
+ * email: 'user@example.com',
157
+ * name: 'John Doe'
158
+ * });
159
+ * ```
160
+ */
161
+ upsert<T = unknown>(table: string, filter: Record<string, unknown>, document: Record<string, unknown>, options?: Record<string, unknown>): Promise<T>;
162
+ /**
163
+ * Find one and delete a single document that matches the provided filter and return the deleted document.
164
+ *
165
+ * @param table - Target table/collection name
166
+ * @param filter - Filter conditions
167
+ * @param options - Optional delete options
168
+ * @returns The deleted document or null if not found
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * const deleted = await driver.findOneAndDelete('users', { id: 1 });
173
+ * if (deleted) {
174
+ * console.log('Deleted user:', deleted);
175
+ * }
176
+ * ```
177
+ */
178
+ findOneAndDelete<T = unknown>(table: string, filter: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
108
179
  /** Delete a single document that matches the provided filter. */
109
180
  delete(table: string, filter?: Record<string, unknown>, options?: Record<string, unknown>): Promise<number>;
110
181
  /** Delete documents/rows matching the filter. */
@@ -1 +1 @@
1
- {"version":3,"file":"database-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/database-driver.contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"database-driver.contract.d.ts","sourceRoot":"","sources":["../../src/contracts/database-driver.contract.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { DriverContract, IdGeneratorContract } from "../contracts";
2
- import type { DeleteStrategy } from "../types";
3
- import type { ModelDefaultConfig } from "../utils/connect-to-database";
2
+ import type { DeleteStrategy, ModelDefaults } from "../types";
4
3
  /**
5
4
  * Configuration options used when registering a data source.
6
5
  */
@@ -36,9 +35,12 @@ export type DataSourceOptions = {
36
35
  /**
37
36
  * Default model configuration for all models using this data source.
38
37
  *
38
+ * These defaults override driver defaults but are overridden by
39
+ * individual model static properties.
40
+ *
39
41
  * @default undefined
40
42
  */
41
- modelDefaults?: ModelDefaultConfig;
43
+ modelDefaults?: Partial<ModelDefaults>;
42
44
  };
43
45
  /**
44
46
  * Wrapper that couples a driver with its metadata.
@@ -78,7 +80,7 @@ export declare class DataSource {
78
80
  /** Default trash table/collection name for "trash" delete strategy. */
79
81
  readonly defaultTrashTable?: string;
80
82
  /** Default model configuration for all models using this data source. */
81
- readonly modelDefaults?: ModelDefaultConfig;
83
+ readonly modelDefaults?: Partial<ModelDefaults>;
82
84
  /**
83
85
  * Create a new data source.
84
86
  *
@@ -1 +1 @@
1
- {"version":3,"file":"data-source.d.ts","sourceRoot":"","sources":["../../src/data-source/data-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,EAAE,cAAc,CAAC;IACvB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;OAIG;IACH,aAAa,CAAC,EAAE,kBAAkB,CAAC;CACpC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAU;IACrB,gDAAgD;IAChD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,6CAA6C;IAC7C,SAAgB,MAAM,EAAE,cAAc,CAAC;IAEvC,+CAA+C;IAC/C,SAAgB,SAAS,EAAE,OAAO,CAAC;IAEnC,iEAAiE;IACjE,SAAgB,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvD,uEAAuE;IACvE,SAAgB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3C,yEAAyE;IACzE,SAAgB,aAAa,CAAC,EAAE,kBAAkB,CAAC;IAEnD;;;;OAIG;gBACgB,OAAO,EAAE,iBAAiB;IAS7C;;;;;;;;;;;;;;;OAeG;IACH,IAAW,WAAW,IAAI,mBAAmB,GAAG,SAAS,CAOxD;CACF"}
1
+ {"version":3,"file":"data-source.d.ts","sourceRoot":"","sources":["../../src/data-source/data-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACxE,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9D;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,+CAA+C;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,uCAAuC;IACvC,MAAM,EAAE,cAAc,CAAC;IACvB,qEAAqE;IACrE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;;;OASG;IACH,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvC;;;;;;;;;OASG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;;;;;;OAOG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;CACxC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,qBAAa,UAAU;IACrB,gDAAgD;IAChD,SAAgB,IAAI,EAAE,MAAM,CAAC;IAE7B,6CAA6C;IAC7C,SAAgB,MAAM,EAAE,cAAc,CAAC;IAEvC,+CAA+C;IAC/C,SAAgB,SAAS,EAAE,OAAO,CAAC;IAEnC,iEAAiE;IACjE,SAAgB,qBAAqB,CAAC,EAAE,cAAc,CAAC;IAEvD,uEAAuE;IACvE,SAAgB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3C,yEAAyE;IACzE,SAAgB,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAEvD;;;;OAIG;gBACgB,OAAO,EAAE,iBAAiB;IAS7C;;;;;;;;;;;;;;;OAeG;IACH,IAAW,WAAW,IAAI,mBAAmB,GAAG,SAAS,CAOxD;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"data-source.js","sources":["../../src/data-source/data-source.ts"],"sourcesContent":[null],"names":[],"mappings":"AA8CA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;MACU,UAAU,CAAA;;AAEL,IAAA,IAAI,CAAS;;AAGb,IAAA,MAAM,CAAiB;;AAGvB,IAAA,SAAS,CAAU;;AAGnB,IAAA,qBAAqB,CAAkB;;AAGvC,IAAA,iBAAiB,CAAU;;AAG3B,IAAA,aAAa,CAAsB;AAEnD;;;;AAIG;AACH,IAAA,WAAA,CAAmB,OAA0B,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;AAC3D,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;AACnD,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;KAC5C;AAED;;;;;;;;;;;;;;;AAeG;AACH,IAAA,IAAW,WAAW,GAAA;;AAEpB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAa,CAAC;AAClC,QAAA,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU,EAAE;AAC/C,YAAA,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC;AAChC,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;AACF"}
1
+ {"version":3,"file":"data-source.js","sources":["../../src/data-source/data-source.ts"],"sourcesContent":[null],"names":[],"mappings":"AAgDA;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;MACU,UAAU,CAAA;;AAEL,IAAA,IAAI,CAAS;;AAGb,IAAA,MAAM,CAAiB;;AAGvB,IAAA,SAAS,CAAU;;AAGnB,IAAA,qBAAqB,CAAkB;;AAGvC,IAAA,iBAAiB,CAAU;;AAG3B,IAAA,aAAa,CAA0B;AAEvD;;;;AAIG;AACH,IAAA,WAAA,CAAmB,OAA0B,EAAA;AAC3C,QAAA,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;AACzB,QAAA,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AAC5C,QAAA,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC;AAC3D,QAAA,IAAI,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;AACnD,QAAA,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;KAC5C;AAED;;;;;;;;;;;;;;;AAeG;AACH,IAAA,IAAW,WAAW,GAAA;;AAEpB,QAAA,MAAM,MAAM,GAAG,IAAI,CAAC,MAAa,CAAC;AAClC,QAAA,IAAI,OAAO,MAAM,CAAC,cAAc,KAAK,UAAU,EAAE;AAC/C,YAAA,OAAO,MAAM,CAAC,cAAc,EAAE,CAAC;AAChC,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KAClB;AACF"}
@@ -1,5 +1,6 @@
1
1
  import type { ClientSession, Db, MongoClient, MongoClientOptions } from "mongodb";
2
2
  import type { DriverBlueprintContract, DriverContract, DriverEvent, DriverEventListener, DriverTransactionContract, IdGeneratorContract, InsertResult, MigrationDriverContract, QueryBuilderContract, SyncAdapterContract, UpdateResult } from "../../contracts";
3
+ import type { ModelDefaults } from "../../types";
3
4
  import type { MongoDriverOptions } from "./types";
4
5
  /**
5
6
  * MongoDB driver implementation that fulfils the Cascade driver contract.
@@ -24,6 +25,16 @@ export declare class MongoDbDriver implements DriverContract {
24
25
  * The name of this driver.
25
26
  */
26
27
  readonly name = "mongodb";
28
+ /**
29
+ * MongoDB driver model defaults.
30
+ *
31
+ * MongoDB follows NoSQL conventions:
32
+ * - camelCase naming for fields (createdAt, updatedAt, deletedAt)
33
+ * - Manual ID generation (auto-increment id field separate from _id)
34
+ * - Timestamps enabled by default
35
+ * - Trash delete strategy with per-collection trash tables
36
+ */
37
+ readonly modelDefaults: Partial<ModelDefaults>;
27
38
  /**
28
39
  * Create a new MongoDB driver using the supplied connection options.
29
40
  *
@@ -102,6 +113,31 @@ export declare class MongoDbDriver implements DriverContract {
102
113
  * Replace a single document that matches the provided filter.
103
114
  */
104
115
  replace<T = unknown>(table: string, filter: Record<string, unknown>, document: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
116
+ /**
117
+ * Find one and update a single document that matches the provided filter and return the updated document
118
+ */
119
+ findOneAndUpdate<T = unknown>(table: string, filter: Record<string, unknown>, update: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
120
+ /**
121
+ * Upsert (insert or update) a single document.
122
+ *
123
+ * Uses MongoDB's findOneAndUpdate with upsert option.
124
+ *
125
+ * @param table - Target collection name
126
+ * @param filter - Filter conditions to find existing document
127
+ * @param document - Document data to insert or update
128
+ * @param options - Optional upsert options
129
+ * @returns The upserted document
130
+ */
131
+ upsert<T = unknown>(table: string, filter: Record<string, unknown>, document: Record<string, unknown>, options?: Record<string, unknown>): Promise<T>;
132
+ /**
133
+ * Find one and delete a single document that matches the provided filter and return the deleted document.
134
+ *
135
+ * @param table - Target collection name
136
+ * @param filter - Filter conditions
137
+ * @param options - Optional delete options
138
+ * @returns The deleted document or null if not found
139
+ */
140
+ findOneAndDelete<T = unknown>(table: string, filter: Record<string, unknown>, options?: Record<string, unknown>): Promise<T | null>;
105
141
  /**
106
142
  * Update multiple documents that match the provided filter.
107
143
  */
@@ -1 +1 @@
1
- {"version":3,"file":"mongodb-driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/mongodb/mongodb-driver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mongodb-driver.d.ts","sourceRoot":"","sources":["../../../src/drivers/mongodb/mongodb-driver.ts"],"names":[],"mappings":"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"}