@spinajs/orm 2.0.480 → 2.0.482

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 (228) hide show
  1. package/README.md +72 -3
  2. package/lib/cjs/bootstrap.js +10 -0
  3. package/lib/cjs/bootstrap.js.map +1 -1
  4. package/lib/cjs/builders.d.ts +115 -11
  5. package/lib/cjs/builders.d.ts.map +1 -1
  6. package/lib/cjs/builders.js +342 -283
  7. package/lib/cjs/builders.js.map +1 -1
  8. package/lib/cjs/converters.d.ts +9 -2
  9. package/lib/cjs/converters.d.ts.map +1 -1
  10. package/lib/cjs/converters.js +48 -8
  11. package/lib/cjs/converters.js.map +1 -1
  12. package/lib/cjs/decorators.d.ts +26 -3
  13. package/lib/cjs/decorators.d.ts.map +1 -1
  14. package/lib/cjs/decorators.js +95 -42
  15. package/lib/cjs/decorators.js.map +1 -1
  16. package/lib/cjs/dehydrators.js +1 -1
  17. package/lib/cjs/dehydrators.js.map +1 -1
  18. package/lib/cjs/descriptor.d.ts +1 -0
  19. package/lib/cjs/descriptor.d.ts.map +1 -1
  20. package/lib/cjs/descriptor.js +16 -40
  21. package/lib/cjs/descriptor.js.map +1 -1
  22. package/lib/cjs/driver.d.ts +136 -7
  23. package/lib/cjs/driver.d.ts.map +1 -1
  24. package/lib/cjs/driver.js +279 -0
  25. package/lib/cjs/driver.js.map +1 -1
  26. package/lib/cjs/existsRelationHandlers.d.ts +29 -0
  27. package/lib/cjs/existsRelationHandlers.d.ts.map +1 -0
  28. package/lib/cjs/existsRelationHandlers.js +104 -0
  29. package/lib/cjs/existsRelationHandlers.js.map +1 -0
  30. package/lib/cjs/fp.d.ts.map +1 -1
  31. package/lib/cjs/fp.js +10 -15
  32. package/lib/cjs/fp.js.map +1 -1
  33. package/lib/cjs/hydrators.d.ts.map +1 -1
  34. package/lib/cjs/hydrators.js +29 -2
  35. package/lib/cjs/hydrators.js.map +1 -1
  36. package/lib/cjs/identity-map.d.ts +60 -0
  37. package/lib/cjs/identity-map.d.ts.map +1 -0
  38. package/lib/cjs/identity-map.js +135 -0
  39. package/lib/cjs/identity-map.js.map +1 -0
  40. package/lib/cjs/index.d.ts +12 -0
  41. package/lib/cjs/index.d.ts.map +1 -1
  42. package/lib/cjs/index.js +12 -0
  43. package/lib/cjs/index.js.map +1 -1
  44. package/lib/cjs/interfaces.d.ts +295 -9
  45. package/lib/cjs/interfaces.d.ts.map +1 -1
  46. package/lib/cjs/interfaces.js +54 -1
  47. package/lib/cjs/interfaces.js.map +1 -1
  48. package/lib/cjs/metadata.d.ts.map +1 -1
  49. package/lib/cjs/metadata.js +4 -1
  50. package/lib/cjs/metadata.js.map +1 -1
  51. package/lib/cjs/metrics.d.ts +53 -0
  52. package/lib/cjs/metrics.d.ts.map +1 -0
  53. package/lib/cjs/metrics.js +82 -0
  54. package/lib/cjs/metrics.js.map +1 -0
  55. package/lib/cjs/middlewares.d.ts +13 -1
  56. package/lib/cjs/middlewares.d.ts.map +1 -1
  57. package/lib/cjs/middlewares.js +55 -15
  58. package/lib/cjs/middlewares.js.map +1 -1
  59. package/lib/cjs/model.d.ts +129 -13
  60. package/lib/cjs/model.d.ts.map +1 -1
  61. package/lib/cjs/model.js +449 -93
  62. package/lib/cjs/model.js.map +1 -1
  63. package/lib/cjs/orm.d.ts.map +1 -1
  64. package/lib/cjs/orm.js +12 -3
  65. package/lib/cjs/orm.js.map +1 -1
  66. package/lib/cjs/orphan.d.ts +27 -0
  67. package/lib/cjs/orphan.d.ts.map +1 -0
  68. package/lib/cjs/orphan.js +55 -0
  69. package/lib/cjs/orphan.js.map +1 -0
  70. package/lib/cjs/primary-keys.d.ts +60 -0
  71. package/lib/cjs/primary-keys.d.ts.map +1 -0
  72. package/lib/cjs/primary-keys.js +243 -0
  73. package/lib/cjs/primary-keys.js.map +1 -0
  74. package/lib/cjs/relation-objects.d.ts +101 -9
  75. package/lib/cjs/relation-objects.d.ts.map +1 -1
  76. package/lib/cjs/relation-objects.js +194 -43
  77. package/lib/cjs/relation-objects.js.map +1 -1
  78. package/lib/cjs/relations.d.ts +7 -1
  79. package/lib/cjs/relations.d.ts.map +1 -1
  80. package/lib/cjs/relations.js +16 -1
  81. package/lib/cjs/relations.js.map +1 -1
  82. package/lib/cjs/resilience.d.ts +50 -0
  83. package/lib/cjs/resilience.d.ts.map +1 -0
  84. package/lib/cjs/resilience.js +70 -0
  85. package/lib/cjs/resilience.js.map +1 -0
  86. package/lib/cjs/snapshot.d.ts +58 -0
  87. package/lib/cjs/snapshot.d.ts.map +1 -0
  88. package/lib/cjs/snapshot.js +125 -0
  89. package/lib/cjs/snapshot.js.map +1 -0
  90. package/lib/cjs/statements.d.ts +11 -1
  91. package/lib/cjs/statements.d.ts.map +1 -1
  92. package/lib/cjs/statements.js +13 -2
  93. package/lib/cjs/statements.js.map +1 -1
  94. package/lib/cjs/subject-builder.d.ts +79 -0
  95. package/lib/cjs/subject-builder.d.ts.map +1 -0
  96. package/lib/cjs/subject-builder.js +296 -0
  97. package/lib/cjs/subject-builder.js.map +1 -0
  98. package/lib/cjs/subject-executor.d.ts +122 -0
  99. package/lib/cjs/subject-executor.d.ts.map +1 -0
  100. package/lib/cjs/subject-executor.js +319 -0
  101. package/lib/cjs/subject-executor.js.map +1 -0
  102. package/lib/cjs/subject-sorter.d.ts +70 -0
  103. package/lib/cjs/subject-sorter.d.ts.map +1 -0
  104. package/lib/cjs/subject-sorter.js +173 -0
  105. package/lib/cjs/subject-sorter.js.map +1 -0
  106. package/lib/cjs/subject.d.ts +100 -0
  107. package/lib/cjs/subject.d.ts.map +1 -0
  108. package/lib/cjs/subject.js +89 -0
  109. package/lib/cjs/subject.js.map +1 -0
  110. package/lib/cjs/unit-of-work.d.ts +52 -0
  111. package/lib/cjs/unit-of-work.d.ts.map +1 -0
  112. package/lib/cjs/unit-of-work.js +170 -0
  113. package/lib/cjs/unit-of-work.js.map +1 -0
  114. package/lib/mjs/bootstrap.js +10 -0
  115. package/lib/mjs/bootstrap.js.map +1 -1
  116. package/lib/mjs/builders.d.ts +115 -11
  117. package/lib/mjs/builders.d.ts.map +1 -1
  118. package/lib/mjs/builders.js +344 -285
  119. package/lib/mjs/builders.js.map +1 -1
  120. package/lib/mjs/converters.d.ts +9 -2
  121. package/lib/mjs/converters.d.ts.map +1 -1
  122. package/lib/mjs/converters.js +48 -8
  123. package/lib/mjs/converters.js.map +1 -1
  124. package/lib/mjs/decorators.d.ts +26 -3
  125. package/lib/mjs/decorators.d.ts.map +1 -1
  126. package/lib/mjs/decorators.js +96 -44
  127. package/lib/mjs/decorators.js.map +1 -1
  128. package/lib/mjs/dehydrators.js +1 -1
  129. package/lib/mjs/dehydrators.js.map +1 -1
  130. package/lib/mjs/descriptor.d.ts +1 -0
  131. package/lib/mjs/descriptor.d.ts.map +1 -1
  132. package/lib/mjs/descriptor.js +17 -39
  133. package/lib/mjs/descriptor.js.map +1 -1
  134. package/lib/mjs/driver.d.ts +136 -7
  135. package/lib/mjs/driver.d.ts.map +1 -1
  136. package/lib/mjs/driver.js +279 -0
  137. package/lib/mjs/driver.js.map +1 -1
  138. package/lib/mjs/existsRelationHandlers.d.ts +29 -0
  139. package/lib/mjs/existsRelationHandlers.d.ts.map +1 -0
  140. package/lib/mjs/existsRelationHandlers.js +100 -0
  141. package/lib/mjs/existsRelationHandlers.js.map +1 -0
  142. package/lib/mjs/fp.d.ts.map +1 -1
  143. package/lib/mjs/fp.js +10 -15
  144. package/lib/mjs/fp.js.map +1 -1
  145. package/lib/mjs/hydrators.d.ts.map +1 -1
  146. package/lib/mjs/hydrators.js +29 -2
  147. package/lib/mjs/hydrators.js.map +1 -1
  148. package/lib/mjs/identity-map.d.ts +60 -0
  149. package/lib/mjs/identity-map.d.ts.map +1 -0
  150. package/lib/mjs/identity-map.js +130 -0
  151. package/lib/mjs/identity-map.js.map +1 -0
  152. package/lib/mjs/index.d.ts +12 -0
  153. package/lib/mjs/index.d.ts.map +1 -1
  154. package/lib/mjs/index.js +12 -0
  155. package/lib/mjs/index.js.map +1 -1
  156. package/lib/mjs/interfaces.d.ts +295 -9
  157. package/lib/mjs/interfaces.d.ts.map +1 -1
  158. package/lib/mjs/interfaces.js +53 -0
  159. package/lib/mjs/interfaces.js.map +1 -1
  160. package/lib/mjs/metadata.d.ts.map +1 -1
  161. package/lib/mjs/metadata.js +4 -1
  162. package/lib/mjs/metadata.js.map +1 -1
  163. package/lib/mjs/metrics.d.ts +53 -0
  164. package/lib/mjs/metrics.d.ts.map +1 -0
  165. package/lib/mjs/metrics.js +76 -0
  166. package/lib/mjs/metrics.js.map +1 -0
  167. package/lib/mjs/middlewares.d.ts +13 -1
  168. package/lib/mjs/middlewares.d.ts.map +1 -1
  169. package/lib/mjs/middlewares.js +55 -15
  170. package/lib/mjs/middlewares.js.map +1 -1
  171. package/lib/mjs/model.d.ts +129 -13
  172. package/lib/mjs/model.d.ts.map +1 -1
  173. package/lib/mjs/model.js +451 -95
  174. package/lib/mjs/model.js.map +1 -1
  175. package/lib/mjs/orm.d.ts.map +1 -1
  176. package/lib/mjs/orm.js +12 -3
  177. package/lib/mjs/orm.js.map +1 -1
  178. package/lib/mjs/orphan.d.ts +27 -0
  179. package/lib/mjs/orphan.d.ts.map +1 -0
  180. package/lib/mjs/orphan.js +52 -0
  181. package/lib/mjs/orphan.js.map +1 -0
  182. package/lib/mjs/primary-keys.d.ts +60 -0
  183. package/lib/mjs/primary-keys.d.ts.map +1 -0
  184. package/lib/mjs/primary-keys.js +223 -0
  185. package/lib/mjs/primary-keys.js.map +1 -0
  186. package/lib/mjs/relation-objects.d.ts +101 -9
  187. package/lib/mjs/relation-objects.d.ts.map +1 -1
  188. package/lib/mjs/relation-objects.js +194 -43
  189. package/lib/mjs/relation-objects.js.map +1 -1
  190. package/lib/mjs/relations.d.ts +7 -1
  191. package/lib/mjs/relations.d.ts.map +1 -1
  192. package/lib/mjs/relations.js +16 -1
  193. package/lib/mjs/relations.js.map +1 -1
  194. package/lib/mjs/resilience.d.ts +50 -0
  195. package/lib/mjs/resilience.d.ts.map +1 -0
  196. package/lib/mjs/resilience.js +64 -0
  197. package/lib/mjs/resilience.js.map +1 -0
  198. package/lib/mjs/snapshot.d.ts +58 -0
  199. package/lib/mjs/snapshot.d.ts.map +1 -0
  200. package/lib/mjs/snapshot.js +115 -0
  201. package/lib/mjs/snapshot.js.map +1 -0
  202. package/lib/mjs/statements.d.ts +11 -1
  203. package/lib/mjs/statements.d.ts.map +1 -1
  204. package/lib/mjs/statements.js +14 -3
  205. package/lib/mjs/statements.js.map +1 -1
  206. package/lib/mjs/subject-builder.d.ts +79 -0
  207. package/lib/mjs/subject-builder.d.ts.map +1 -0
  208. package/lib/mjs/subject-builder.js +292 -0
  209. package/lib/mjs/subject-builder.js.map +1 -0
  210. package/lib/mjs/subject-executor.d.ts +122 -0
  211. package/lib/mjs/subject-executor.d.ts.map +1 -0
  212. package/lib/mjs/subject-executor.js +312 -0
  213. package/lib/mjs/subject-executor.js.map +1 -0
  214. package/lib/mjs/subject-sorter.d.ts +70 -0
  215. package/lib/mjs/subject-sorter.d.ts.map +1 -0
  216. package/lib/mjs/subject-sorter.js +168 -0
  217. package/lib/mjs/subject-sorter.js.map +1 -0
  218. package/lib/mjs/subject.d.ts +100 -0
  219. package/lib/mjs/subject.d.ts.map +1 -0
  220. package/lib/mjs/subject.js +84 -0
  221. package/lib/mjs/subject.js.map +1 -0
  222. package/lib/mjs/unit-of-work.d.ts +52 -0
  223. package/lib/mjs/unit-of-work.d.ts.map +1 -0
  224. package/lib/mjs/unit-of-work.js +166 -0
  225. package/lib/mjs/unit-of-work.js.map +1 -0
  226. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  227. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  228. package/package.json +9 -7
@@ -10,6 +10,8 @@ import { ModelBase } from './model.js';
10
10
  import { DateTime } from 'luxon';
11
11
  import { Relation } from './relation-objects.js';
12
12
  import { Lazy } from '@spinajs/util';
13
+ import { IConnectionResilienceOptions } from './resilience.js';
14
+ import type { IModelSnapshot } from './snapshot.js';
13
15
  export declare enum QueryContext {
14
16
  Insert = 0,
15
17
  Select = 1,
@@ -17,7 +19,9 @@ export declare enum QueryContext {
17
19
  Delete = 3,
18
20
  Schema = 4,
19
21
  Transaction = 5,
20
- Upsert = 6
22
+ Upsert = 6,
23
+ /** INSERT that carries a RETURNING clause and therefore resolves with rows, not a status packet. */
24
+ InsertReturning = 7
21
25
  }
22
26
  export declare enum ColumnAlterationType {
23
27
  Add = 0,
@@ -30,6 +34,27 @@ export interface ISupportedFeature {
30
34
  * To execute tasks accoriding to schedule in DB.
31
35
  */
32
36
  events: boolean;
37
+ /** Can this dialect echo inserted rows back via RETURNING / OUTPUT on a plain INSERT? */
38
+ insertReturning: boolean;
39
+ /**
40
+ * Does the identity value reported after a multi-row `INSERT ... VALUES` name the key of the
41
+ * FIRST row of that statement, with the remaining rows following contiguously?
42
+ *
43
+ * MySQL: **true**. InnoDB treats a statement whose row count is known before execution — every
44
+ * `INSERT ... VALUES (…), (…)` the builder can produce — as a *simple insert*, reserves one
45
+ * contiguous block of auto-increment values under a short mutex, and `LAST_INSERT_ID()` reports
46
+ * the first of them. This holds under `innodb_autoinc_lock_mode = 2`, the MySQL 8 default; the
47
+ * documented "values may not be contiguous" caveat is about *bulk* inserts (`INSERT … SELECT`,
48
+ * row count unknown) and about mixed-mode inserts where some rows carry an explicit key.
49
+ *
50
+ * MSSQL: **false**. `SCOPE_IDENTITY()` returns the LAST identity generated in the scope.
51
+ * SQLite: **false**. `sqlite3_last_insert_rowid()` is likewise the last row, not the first —
52
+ * SQLite gets its keys from RETURNING instead.
53
+ *
54
+ * Optional and defaulting to false, so a custom driver that does not set it simply opts out of
55
+ * the batch key backfill rather than getting wrong keys.
56
+ */
57
+ insertIdIsFirstOfBatch?: boolean;
33
58
  }
34
59
  export interface IRelation<R extends ModelBase<R>, O extends ModelBase<O>> extends Array<R> {
35
60
  TargetModelDescriptor: IModelDescriptor | null;
@@ -101,17 +126,34 @@ export interface IRelation<R extends ModelBase<R>, O extends ModelBase<O>> exten
101
126
  *
102
127
  * @param dataset - data for replace.
103
128
  */
104
- set(obj: R[] | ((data: R[], pKey: string) => R[])): void;
129
+ set(obj: R[] | ((data: R[], pKey: string[]) => R[])): void;
105
130
  /**
106
131
  * Populates this relation ( loads all data related to owner of this relation)
107
132
  */
108
133
  populate(callback?: (this: ISelectQueryBuilder<R[]>) => void): Promise<void>;
109
134
  }
110
135
  export interface DbServerResponse {
136
+ RowsAffected: number;
111
137
  LastInsertId: number;
138
+ Returning: any[];
112
139
  }
113
- export declare abstract class ServerResponseMapper {
114
- abstract read(response: any, pkName?: string): DbServerResponse;
140
+ /**
141
+ * Normalizes a driver's raw insert response into {@link DbServerResponse}.
142
+ *
143
+ * Every driver MUST register an implementation against this token in its container — the
144
+ * shape of an insert response is dialect-specific and there is no meaningful default.
145
+ * Declared as a concrete class that throws rather than as an abstract method, so a container
146
+ * missing the registration reports which contract was not implemented instead of dying with
147
+ * `read is not a function` several frames deep inside a result middleware.
148
+ */
149
+ export declare class ServerResponseMapper {
150
+ /**
151
+ * Normalizes a driver's raw insert response.
152
+ *
153
+ * @param response - whatever the driver's executeOnDb resolved with
154
+ * @param pkNames - primary key column names, used to read a key out of RETURNING rows
155
+ */
156
+ read(_response: any, _pkNames?: string[]): DbServerResponse;
115
157
  }
116
158
  export declare abstract class DefaultValueBuilder<T> {
117
159
  Query: RawQuery;
@@ -175,14 +217,51 @@ export declare enum MigrationTransactionMode {
175
217
  */
176
218
  PerMigration = 1
177
219
  }
220
+ /**
221
+ * Connection pool sizing and timeouts.
222
+ */
223
+ export interface IPoolOptions {
224
+ /**
225
+ * Connections kept open when idle. Default 0.
226
+ */
227
+ Min?: number;
228
+ /**
229
+ * Maximum concurrent connections. Default 10. Overrides the deprecated PoolLimit.
230
+ *
231
+ * SQLite: writes always serialize on one handle — SQLite serializes writers at the file level,
232
+ * so extra writer handles only produce SQLITE_BUSY. `Max` sizes a pool of READ-ONLY handles
233
+ * instead ( `Max - 1` of them ) so concurrent SELECTs stop queueing behind each other. Ignored
234
+ * for `:memory:` and anonymous temporary databases, where each handle would open its own
235
+ * private database.
236
+ */
237
+ Max?: number;
238
+ /**
239
+ * Milliseconds an idle connection is kept before being closed. Default 30000.
240
+ */
241
+ IdleTimeout?: number;
242
+ /**
243
+ * Milliseconds to wait for a free connection before failing. Default 10000.
244
+ */
245
+ AcquireTimeout?: number;
246
+ }
178
247
  /**
179
248
  * Configuration options to set in configuration file and used in OrmDriver
180
249
  */
181
250
  export interface IDriverOptions {
182
251
  /**
183
- * Max connections limit
252
+ * Max connections limit.
253
+ *
254
+ * @deprecated use `Pool.Max`. Still honoured when `Pool.Max` is absent.
184
255
  */
185
256
  PoolLimit?: number;
257
+ /**
258
+ * Connection pool sizing and timeouts.
259
+ */
260
+ Pool?: IPoolOptions;
261
+ /**
262
+ * Reconnect and health-check behaviour.
263
+ */
264
+ Resilience?: IConnectionResilienceOptions;
186
265
  /**
187
266
  * Database name associated with this connection
188
267
  */
@@ -279,11 +358,32 @@ export interface IValueConverterDescriptor {
279
358
  /**
280
359
  * Describes model, used internally
281
360
  */
361
+ /**
362
+ * How a primary key column gets its value.
363
+ * - `auto` — the database assigns it ( identity / auto-increment column ). Default.
364
+ * - `uuid` — generated client-side immediately before insert, so the value is known
365
+ * without a round-trip.
366
+ * - `assigned` — the caller supplies it; inserting without one is an error.
367
+ */
368
+ export type PrimaryKeyGeneration = 'auto' | 'uuid' | 'assigned';
369
+ export interface IPrimaryKeyOptions {
370
+ generated?: PrimaryKeyGeneration;
371
+ }
282
372
  export interface IModelDescriptor {
283
373
  /**
284
- * Primary key name
374
+ * Primary key column names, in declaration order. Empty when the model has no @Primary().
375
+ * A single-column key is a one-element array and must compile to exactly the SQL it did
376
+ * when this field was a plain string.
285
377
  */
286
- PrimaryKey: string;
378
+ PrimaryKey: string[];
379
+ /**
380
+ * Generation strategy per primary key column, keyed by column name. Absent means `auto`.
381
+ *
382
+ * A Map rather than an array because `extractModelDescriptorInherited`'s merger has a
383
+ * dedicated `_.isMap` branch that merges cleanly, unlike the array branch which
384
+ * concatenates ( the duplication trap fixed in Task 3 ).
385
+ */
386
+ PrimaryKeyGeneration: Map<string, PrimaryKeyGeneration>;
287
387
  /**
288
388
  * Connection name, must be avaible in db config
289
389
  */
@@ -356,6 +456,20 @@ export declare enum RelationType {
356
456
  Query = 3,
357
457
  Virtual = 4
358
458
  }
459
+ /**
460
+ * What `save()` does with a row that was removed from a relation.
461
+ *
462
+ * - `nullify` — clear the child's foreign key, leaving the row. The default.
463
+ * - `delete` — delete the child row.
464
+ * - `soft-delete` — stamp the child's `@SoftDelete` column. Requires the target to carry one.
465
+ * - `disable` — do nothing; the caller manages orphans by hand.
466
+ */
467
+ export declare enum OrphanPolicy {
468
+ Nullify = "nullify",
469
+ Delete = "delete",
470
+ SoftDelete = "soft-delete",
471
+ Disable = "disable"
472
+ }
359
473
  export type ForwardRefFunction = () => Constructor<ModelBase>;
360
474
  /**
361
475
  * Returns result of last insert or affected rows ( eg. rows affected would be 0 if insert is ignored )
@@ -364,6 +478,43 @@ export interface IUpdateResult {
364
478
  RowsAffected: number;
365
479
  LastInsertId: number;
366
480
  }
481
+ /**
482
+ * Result of an INSERT. Extends IUpdateResult so existing RowsAffected / LastInsertId readers
483
+ * keep working. `LastInsertId` is 0 when the dialect reports no identity value ( uuid and
484
+ * assigned keys ); `Returning` holds the rows the dialect echoed back, empty when unsupported.
485
+ */
486
+ export interface IInsertResult extends IUpdateResult {
487
+ Returning: any[];
488
+ }
489
+ /**
490
+ * Options for `ModelBase.save()`.
491
+ */
492
+ export interface ISaveOptions {
493
+ /**
494
+ * Re-read the current database state of every already-persisted model in the graph inside
495
+ * the transaction and diff against that, instead of against the snapshot taken at
496
+ * hydration. Costs one SELECT per involved table; use it when another process may have
497
+ * changed the same rows since they were loaded.
498
+ */
499
+ reload?: boolean;
500
+ /**
501
+ * Maximum number of rows per batched statement — junction inserts and the key lists of
502
+ * orphan statements. Defaults to 100. Rows whose primary key the database generates are
503
+ * always inserted one statement at a time so the generated key can be read back exactly.
504
+ */
505
+ chunk?: number;
506
+ }
507
+ /**
508
+ * What one `save()` actually did.
509
+ */
510
+ export interface ISaveResult {
511
+ Inserted: number;
512
+ Updated: number;
513
+ Deleted: number;
514
+ SoftDeleted: number;
515
+ JunctionInserted: number;
516
+ JunctionDeleted: number;
517
+ }
367
518
  export interface IRelationDescriptor {
368
519
  /**
369
520
  * Name of relations, defaults for property name in model that owns relation
@@ -417,6 +568,11 @@ export interface IRelationDescriptor {
417
568
  * Is this relation recursive ? Used for hierarchical / paren one-to-one relations
418
569
  */
419
570
  Recursive: boolean;
571
+ /**
572
+ * What happens to a member removed from this relation during `save()`.
573
+ * Unset means "decide from the foreign key's nullability" — see `resolveOrphanPolicy`.
574
+ */
575
+ Orphan?: OrphanPolicy;
420
576
  /**
421
577
  * Relation factory, sometimes we dont want to create standard relation object
422
578
  */
@@ -466,12 +622,30 @@ export interface IModelStatic extends Constructor<ModelBase<unknown>> {
466
622
  export interface IModelBase {
467
623
  ModelDescriptor: IModelDescriptor | null;
468
624
  Container: IContainer;
469
- PrimaryKeyName: string;
625
+ PrimaryKeyName: string[];
470
626
  PrimaryKeyValue: any;
471
627
  /**
472
628
  * Marks model as dirty. It means that model have unsaved changes
473
629
  */
474
630
  IsDirty: boolean;
631
+ /**
632
+ * Diff baseline captured at hydration, or null for a model that has never been in the database.
633
+ */
634
+ Snapshot: IModelSnapshot | null;
635
+ /** Captures the current column values as the diff baseline. */
636
+ takeSnapshot(): void;
637
+ /** Captures relation `name`'s current member primary keys into the baseline. */
638
+ snapshotRelation(name: string): void;
639
+ /** Discards the diff baseline. */
640
+ clearSnapshot(): void;
641
+ /** Column names whose current value differs from the baseline. */
642
+ changedColumns(): string[];
643
+ /** Records `prop` as changed and marks the model dirty. */
644
+ markDirty(prop: string): void;
645
+ /**
646
+ * Persists this model and everything reachable from it in one transaction.
647
+ */
648
+ save(options?: ISaveOptions): Promise<ISaveResult>;
475
649
  getFlattenRelationModels(): IModelBase[];
476
650
  /**
477
651
  * Fills model with data. It only fills properties that exists in database
@@ -638,6 +812,30 @@ export interface IValueConverter {
638
812
  * @param value - value to convert
639
813
  */
640
814
  fromDB(value: any, rawData: any, options: any): any;
815
+ /**
816
+ * Value copy of `value` to hold as the `save()` diff baseline, for a converter whose
817
+ * runtime type the ORM cannot copy on its own.
818
+ *
819
+ * Implement this together with {@link snapshotEquals} whenever `fromDB` returns a MUTABLE
820
+ * instance of a class the ORM does not own. Without it the baseline can only either alias
821
+ * the live object — making the diff permanently empty, so edits to the column are silently
822
+ * never written — or treat the column as always-changed. The ORM takes the second, loud
823
+ * option; this hook is how a converter opts into a precise diff instead.
824
+ *
825
+ * Immutable value types (the column always gets a fresh instance on assignment) need
826
+ * neither hook: reference equality already answers the question.
827
+ *
828
+ * @param value - the converted, in-memory column value
829
+ */
830
+ snapshotValue?(value: any): any;
831
+ /**
832
+ * Diff equality for two values produced by this converter — the baseline from
833
+ * {@link snapshotValue} and the model's current value.
834
+ *
835
+ * @param a - baseline value
836
+ * @param b - current value
837
+ */
838
+ snapshotEquals?(a: any, b: any): boolean;
641
839
  }
642
840
  /**
643
841
  * Model timestamps description
@@ -722,6 +920,7 @@ export interface IOrderByBuilder {
722
920
  orderByDescending(column: string): this;
723
921
  order(column: string, direction: SortOrder): this;
724
922
  getSort(): ISort | null;
923
+ getSorts(): ISort[];
725
924
  }
726
925
  export interface IColumnsBuilder {
727
926
  /**
@@ -806,6 +1005,12 @@ export interface IWhereBuilder<T> {
806
1005
  export interface IWithRecursiveBuilder {
807
1006
  CteRecursive: IQueryStatement | undefined;
808
1007
  withRecursive(recKeyName: string, pkKeyName: string): this;
1008
+ /**
1009
+ * Drops the recursive CTE, so this builder compiles as a plain SELECT. Used on the clones
1010
+ * that make up the CTE's own anchor and recursive members, which must not be recursive
1011
+ * themselves.
1012
+ */
1013
+ clearRecursive(): this;
809
1014
  }
810
1015
  export interface IGroupByBuilder {
811
1016
  GroupStatements: IQueryStatement[];
@@ -856,6 +1061,14 @@ export interface IJoinBuilder {
856
1061
  export interface IBuilder<T> extends PromiseLike<T> {
857
1062
  middleware(middleware: IBuilderMiddleware<T>): this;
858
1063
  toDB(): ICompilerOutput | ICompilerOutput[];
1064
+ /**
1065
+ * Executes the query and resolves with its result.
1066
+ *
1067
+ * The single execution entry point — `then()` delegates to it. Execution is memoized:
1068
+ * a builder runs at most once, and awaiting it again resolves with the same result.
1069
+ * Use `clone()` when a second round-trip is intended.
1070
+ */
1071
+ execute(): Promise<T>;
859
1072
  }
860
1073
  export interface IUpdateQueryBuilder<T> extends IColumnsBuilder, IWhereBuilder<T> {
861
1074
  }
@@ -875,6 +1088,10 @@ export interface ISelectQueryBuilder<T = unknown> extends IColumnsBuilder, IOrde
875
1088
  setTable(table: string, alias?: string): this;
876
1089
  distinct(): this;
877
1090
  clone(): this;
1091
+ /**
1092
+ * Includes soft-deleted rows (@SoftDelete models) that are excluded by default.
1093
+ */
1094
+ withDeleted(): this;
878
1095
  /**
879
1096
  * Returns true/false if query result exists in db
880
1097
  */
@@ -889,7 +1106,7 @@ export interface ISelectQueryBuilder<T = unknown> extends IColumnsBuilder, IOrde
889
1106
  * Returns all records. Its for type castin when using with scopes mostly.
890
1107
  */
891
1108
  all(): Promise<T>;
892
- mergeBuilder(builder: ISelectQueryBuilder): void;
1109
+ mergeBuilder(builder: ISelectQueryBuilder, includeStatements?: boolean): void;
893
1110
  }
894
1111
  export interface ICompilerOutput {
895
1112
  expression: string | null;
@@ -1028,8 +1245,36 @@ export interface IBuilderMiddleware<T = any[]> {
1028
1245
  */
1029
1246
  afterHydration(data: ModelBase[]): Promise<any[] | void>;
1030
1247
  }
1248
+ /**
1249
+ * Hooks into the lifetime of every query builder. Both hooks run for EVERY builder type —
1250
+ * select, insert, update and delete.
1251
+ *
1252
+ * The two differ in what the query is guaranteed to contain, and that difference is
1253
+ * load-bearing rather than stylistic:
1254
+ *
1255
+ * - `afterQueryCreation` runs from the builder's CONSTRUCTOR. The model and the query context
1256
+ * are set; nothing the caller does afterwards has happened yet — no `where()`, no
1257
+ * `update()`, no `values()`. It is the place to ADD a constraint (rbac appends its owner
1258
+ * `WHERE` here) and the wrong place to read or amend the payload, which does not exist yet.
1259
+ * - `beforeQueryExecution` runs once per builder, immediately before the driver is called, so
1260
+ * the query is complete. It is the place to inspect or rewrite what is about to be written
1261
+ * (rbac stamps the owner column of an INSERT here, because a value written at construction
1262
+ * would be overwritten by the caller's own `values()` call).
1263
+ *
1264
+ * A middleware that throws from either hook aborts the query.
1265
+ */
1031
1266
  export declare abstract class QueryMiddleware {
1267
+ /**
1268
+ * Called from the builder's constructor, before the caller has added anything to it.
1269
+ *
1270
+ * @param query - the freshly constructed builder
1271
+ */
1032
1272
  abstract afterQueryCreation(query: QueryBuilder): void;
1273
+ /**
1274
+ * Called once per builder immediately before execution, with the query fully assembled.
1275
+ *
1276
+ * @param query - the completed builder
1277
+ */
1033
1278
  abstract beforeQueryExecution(query: QueryBuilder): void;
1034
1279
  }
1035
1280
  export declare abstract class ModelMiddleware {
@@ -1192,4 +1437,45 @@ export interface ITransaction {
1192
1437
  commit(): Promise<void>;
1193
1438
  rollback(): Promise<void>;
1194
1439
  }
1440
+ /**
1441
+ * SQL standard transaction isolation levels. Which of these a driver actually honours is
1442
+ * declared per driver in `OrmDriver.SupportedIsolationLevels`; requesting one that is not
1443
+ * listed is rejected rather than silently ignored.
1444
+ */
1445
+ export type IsolationLevel = 'READ UNCOMMITTED' | 'READ COMMITTED' | 'REPEATABLE READ' | 'SERIALIZABLE';
1446
+ export interface ITransactionOptions {
1447
+ /**
1448
+ * Isolation level for the outermost transaction. Ignored by nested calls, which map onto
1449
+ * savepoints inside the enclosing transaction and therefore inherit its isolation.
1450
+ */
1451
+ isolation?: IsolationLevel;
1452
+ }
1453
+ /**
1454
+ * Canonicalizes `(model constructor, primary key)` to one instance for the duration of a
1455
+ * `save()` graph walk or a transaction. See `IdentityMap` in `identity-map.ts`.
1456
+ */
1457
+ export interface IIdentityMap {
1458
+ get(model: Constructor<ModelBase>, pk: unknown): ModelBase | undefined;
1459
+ has(model: Constructor<ModelBase>, pk: unknown): boolean;
1460
+ /** Registers `model`, returning the canonical instance for its identity. */
1461
+ add(model: ModelBase): ModelBase;
1462
+ readonly Size: number;
1463
+ clear(): void;
1464
+ }
1465
+ /**
1466
+ * Per-transaction state carried through `AsyncLocalStorage`.
1467
+ *
1468
+ * `connection` is the driver's own connection handle type and is absent for drivers with a
1469
+ * single shared handle (SQLite). `depth` counts savepoints taken so far, 0 at the outermost
1470
+ * transaction; it is used to mint unique savepoint names.
1471
+ */
1472
+ export interface ITransactionContext {
1473
+ connection?: unknown;
1474
+ depth: number;
1475
+ /**
1476
+ * Identity map shared by every `save()` that runs inside this transaction. Created lazily
1477
+ * by the first `save()` and discarded with the context, so nothing survives the commit.
1478
+ */
1479
+ IdentityMap?: IIdentityMap;
1480
+ }
1195
1481
  //# sourceMappingURL=interfaces.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"interfaces.d.ts","sourceRoot":"","sources":["../../src/interfaces.ts"],"names":[],"mappings":"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"}