@c9up/atlas 0.1.19 → 0.2.0

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 (121) hide show
  1. package/README.md +55 -14
  2. package/db.darwin-arm64.node +0 -0
  3. package/db.darwin-x64.node +0 -0
  4. package/db.linux-arm64-gnu.node +0 -0
  5. package/db.linux-x64-gnu.node +0 -0
  6. package/db.win32-x64-msvc.node +0 -0
  7. package/dist/AtlasProvider.d.ts +6 -0
  8. package/dist/AtlasProvider.d.ts.map +1 -1
  9. package/dist/AtlasProvider.js +2 -2
  10. package/dist/AtlasProvider.js.map +1 -1
  11. package/dist/BaseEntity.d.ts +164 -5
  12. package/dist/BaseEntity.d.ts.map +1 -1
  13. package/dist/BaseEntity.js +339 -33
  14. package/dist/BaseEntity.js.map +1 -1
  15. package/dist/BaseModel.d.ts +91 -0
  16. package/dist/BaseModel.d.ts.map +1 -0
  17. package/dist/BaseModel.js +193 -0
  18. package/dist/BaseModel.js.map +1 -0
  19. package/dist/BaseRepository.d.ts +71 -15
  20. package/dist/BaseRepository.d.ts.map +1 -1
  21. package/dist/BaseRepository.js +1355 -384
  22. package/dist/BaseRepository.js.map +1 -1
  23. package/dist/ModelQuery.d.ts +341 -18
  24. package/dist/ModelQuery.d.ts.map +1 -1
  25. package/dist/ModelQuery.js +1406 -177
  26. package/dist/ModelQuery.js.map +1 -1
  27. package/dist/Transaction.d.ts +17 -0
  28. package/dist/Transaction.d.ts.map +1 -1
  29. package/dist/Transaction.js +57 -5
  30. package/dist/Transaction.js.map +1 -1
  31. package/dist/adapters/NapiDbAdapter.d.ts +33 -4
  32. package/dist/adapters/NapiDbAdapter.d.ts.map +1 -1
  33. package/dist/adapters/NapiDbAdapter.js +101 -11
  34. package/dist/adapters/NapiDbAdapter.js.map +1 -1
  35. package/dist/console/migrationCommands.d.ts +48 -0
  36. package/dist/console/migrationCommands.d.ts.map +1 -0
  37. package/dist/console/migrationCommands.js +220 -0
  38. package/dist/console/migrationCommands.js.map +1 -0
  39. package/dist/decorators/entity.d.ts +37 -6
  40. package/dist/decorators/entity.d.ts.map +1 -1
  41. package/dist/decorators/entity.js +32 -2
  42. package/dist/decorators/entity.js.map +1 -1
  43. package/dist/events.d.ts +64 -0
  44. package/dist/events.d.ts.map +1 -0
  45. package/dist/events.js +82 -0
  46. package/dist/events.js.map +1 -0
  47. package/dist/index.d.ts +5 -1
  48. package/dist/index.d.ts.map +1 -1
  49. package/dist/index.js +3 -0
  50. package/dist/index.js.map +1 -1
  51. package/dist/metadata-keys.d.ts +3 -2
  52. package/dist/metadata-keys.d.ts.map +1 -1
  53. package/dist/naming/NamingStrategy.d.ts +7 -0
  54. package/dist/naming/NamingStrategy.d.ts.map +1 -1
  55. package/dist/naming/NamingStrategy.js +16 -0
  56. package/dist/naming/NamingStrategy.js.map +1 -1
  57. package/dist/schema/Migration.d.ts +26 -3
  58. package/dist/schema/Migration.d.ts.map +1 -1
  59. package/dist/schema/Migration.js +33 -24
  60. package/dist/schema/Migration.js.map +1 -1
  61. package/dist/schema/MigrationRunner.d.ts +43 -32
  62. package/dist/schema/MigrationRunner.d.ts.map +1 -1
  63. package/dist/schema/MigrationRunner.js +211 -26
  64. package/dist/schema/MigrationRunner.js.map +1 -1
  65. package/dist/schema/Schema.d.ts +57 -0
  66. package/dist/schema/Schema.d.ts.map +1 -1
  67. package/dist/schema/Schema.js +138 -3
  68. package/dist/schema/Schema.js.map +1 -1
  69. package/dist/schema/TableBuilder.d.ts +247 -8
  70. package/dist/schema/TableBuilder.d.ts.map +1 -1
  71. package/dist/schema/TableBuilder.js +607 -41
  72. package/dist/schema/TableBuilder.js.map +1 -1
  73. package/dist/schema/catalog.d.ts +47 -0
  74. package/dist/schema/catalog.d.ts.map +1 -0
  75. package/dist/schema/catalog.js +111 -0
  76. package/dist/schema/catalog.js.map +1 -0
  77. package/dist/schema/types.d.ts +150 -1
  78. package/dist/schema/types.d.ts.map +1 -1
  79. package/dist/schema/types.js +11 -0
  80. package/dist/schema/types.js.map +1 -1
  81. package/dist/services/db.d.ts +6 -0
  82. package/dist/services/db.d.ts.map +1 -1
  83. package/dist/services/db.js +17 -0
  84. package/dist/services/db.js.map +1 -1
  85. package/dist/testing/DatabaseCleanup.d.ts +7 -4
  86. package/dist/testing/DatabaseCleanup.d.ts.map +1 -1
  87. package/dist/testing/DatabaseCleanup.js +21 -18
  88. package/dist/testing/DatabaseCleanup.js.map +1 -1
  89. package/dist/testing/Factory.d.ts +70 -5
  90. package/dist/testing/Factory.d.ts.map +1 -1
  91. package/dist/testing/Factory.js +209 -10
  92. package/dist/testing/Factory.js.map +1 -1
  93. package/index.darwin-arm64.node +0 -0
  94. package/index.darwin-x64.node +0 -0
  95. package/index.linux-arm64-gnu.node +0 -0
  96. package/index.linux-x64-gnu.node +0 -0
  97. package/index.win32-x64-msvc.node +0 -0
  98. package/package.json +3 -1
  99. package/scripts/guard-publish.mjs +15 -0
  100. package/src/AtlasProvider.ts +8 -1
  101. package/src/BaseEntity.ts +431 -41
  102. package/src/BaseModel.ts +324 -0
  103. package/src/BaseRepository.ts +1589 -419
  104. package/src/ModelQuery.ts +1817 -203
  105. package/src/Transaction.ts +68 -5
  106. package/src/adapters/NapiDbAdapter.ts +159 -10
  107. package/src/console/migrationCommands.ts +258 -0
  108. package/src/decorators/entity.ts +53 -6
  109. package/src/events.ts +112 -0
  110. package/src/index.ts +19 -0
  111. package/src/metadata-keys.ts +3 -2
  112. package/src/naming/NamingStrategy.ts +23 -0
  113. package/src/schema/Migration.ts +42 -3
  114. package/src/schema/MigrationRunner.ts +270 -27
  115. package/src/schema/Schema.ts +210 -3
  116. package/src/schema/TableBuilder.ts +735 -41
  117. package/src/schema/catalog.ts +166 -0
  118. package/src/schema/types.ts +137 -2
  119. package/src/services/db.ts +28 -0
  120. package/src/testing/DatabaseCleanup.ts +23 -22
  121. package/src/testing/Factory.ts +332 -15
@@ -6,27 +6,46 @@
6
6
  *
7
7
  * Builds SQL fluently and executes against the database connection.
8
8
  */
9
- import type { BaseEntity } from "./BaseEntity.js";
10
- import type { DatabaseConnection } from "./BaseRepository.js";
9
+ import { type BaseEntity, type DomainEvent } from "./BaseEntity.js";
10
+ import { type DatabaseConnection } from "./BaseRepository.js";
11
11
  import { type AtlasDialect } from "./query/native.js";
12
12
  type PreloadCallback = (query: ModelQuery<BaseEntity>) => void;
13
13
  type ColumnResolver = (column: string) => string;
14
+ /**
15
+ * Lower a value bound for a given property to its DB form — mirrors
16
+ * `BaseRepository.#applyPrepare` (a `@column.dateTime` DateTime → ISO string, a
17
+ * `@Column({ prepare })` adapter runs). Threaded into ModelQuery so the fluent
18
+ * `update()` / WHERE paths don't bypass prepare the way direct repo writes don't.
19
+ */
20
+ type ValuePreparer = (column: string, value: unknown) => unknown;
14
21
  type WhereCallback = (q: ModelQuery<BaseEntity>) => void;
15
- /** Enable or disable Atlas strict mode. When enabled, whereRaw/joinRaw throw in user code. */
22
+ /** Enable or disable Atlas strict mode. When enabled, whereRaw/joinRaw/havingRaw throw in user code. */
16
23
  export declare function setAtlasStrictMode(enabled: boolean): void;
17
24
  /** Current strict mode state — lazy env var read on first access. */
18
25
  export declare function isAtlasStrictMode(): boolean;
19
26
  export declare function runWithAtlasInternalBypass<T>(fn: () => T): T;
20
- /** Multi-condition join builder passed to innerJoin/leftJoin/rightJoin callbacks. */
27
+ /**
28
+ * Multi-condition join builder passed to innerJoin/leftJoin/rightJoin callbacks.
29
+ * `on`/`andOn`/`orOn` join two COLUMNS; `onVal`/`andOnVal`/`orOnVal` join a column
30
+ * to a bound VALUE (AdonisJS/Knex parity) — the value flows through the join-params
31
+ * channel into the compiled parameter list.
32
+ */
21
33
  interface JoinBuilder {
34
+ /** A column-to-column part (`value` absent) or a column-to-value part (`value` set). */
22
35
  parts: Array<{
23
36
  kind: "and" | "or";
24
37
  left: string;
25
- right: string;
38
+ right?: string;
39
+ value?: {
40
+ v: unknown;
41
+ };
26
42
  }>;
27
43
  on(left: string, right: string): JoinBuilder;
28
44
  andOn(left: string, right: string): JoinBuilder;
45
+ orOn(left: string, right: string): JoinBuilder;
46
+ onVal(left: string, value: unknown): JoinBuilder;
29
47
  andOnVal(left: string, value: unknown): JoinBuilder;
48
+ orOnVal(left: string, value: unknown): JoinBuilder;
30
49
  }
31
50
  /** Offset-based paginator (Story 29.10). */
32
51
  export declare class Paginator<T> {
@@ -43,8 +62,18 @@ export declare class Paginator<T> {
43
62
  total: number;
44
63
  perPage: number;
45
64
  currentPage: number;
46
- });
65
+ }, metaKeys?: Record<string, string>);
47
66
  all(): T[];
67
+ /** Total row count across all pages. */
68
+ get total(): number;
69
+ /** Rows per page. */
70
+ get perPage(): number;
71
+ /** The current page number. */
72
+ get currentPage(): number;
73
+ /** The last page number. */
74
+ get lastPage(): number;
75
+ /** The first page number (always 1). */
76
+ get firstPage(): number;
48
77
  /** True when there is more than one page of results (AdonisJS `hasPages`). */
49
78
  get hasPages(): boolean;
50
79
  /** True when there is at least one more page after the current one (AdonisJS `hasMorePages`). */
@@ -53,18 +82,33 @@ export declare class Paginator<T> {
53
82
  fields?: string[];
54
83
  }): {
55
84
  data: unknown[];
56
- meta: Paginator<T>["meta"];
85
+ meta: Record<string, unknown>;
57
86
  };
58
87
  baseUrl(url: string): this;
59
88
  queryString(qs: Record<string, unknown>): this;
89
+ /**
90
+ * Build the URL for a page number, honouring `baseUrl` + `queryString`.
91
+ * Returns `''` when no `baseUrl` was set (AdonisJS `getUrl`).
92
+ */
93
+ getUrl(page: number): string;
94
+ /** URL of the next page, or `null` when on the last page (AdonisJS `getNextPageUrl`). */
95
+ getNextPageUrl(): string | null;
96
+ /** URL of the previous page, or `null` when on the first page (AdonisJS `getPreviousPageUrl`). */
97
+ getPreviousPageUrl(): string | null;
98
+ /** URLs for an inclusive page range, clamped to `[1, lastPage]` (AdonisJS `getUrlsForRange`). */
99
+ getUrlsForRange(start: number, end: number): Array<{
100
+ page: number;
101
+ url: string;
102
+ isActive: boolean;
103
+ }>;
60
104
  toJSON(): {
61
105
  data: unknown[];
62
- meta: Paginator<T>["meta"] & Record<string, unknown>;
106
+ meta: Record<string, unknown>;
63
107
  };
64
108
  }
65
109
  export declare class ModelQuery<T extends BaseEntity> {
66
110
  #private;
67
- constructor(tableName: string, db: DatabaseConnection, hydrateFn: (row: Record<string, unknown>) => T, entityClass: new () => T, resolveColumn?: ColumnResolver, softDeletes?: boolean, dialect?: AtlasDialect);
111
+ constructor(tableName: string, db: DatabaseConnection, hydrateFn: (row: Record<string, unknown>) => T, entityClass: new () => T, resolveColumn?: ColumnResolver, softDeletes?: boolean, dialect?: AtlasDialect, prepareValue?: ValuePreparer, onDomainEvents?: (events: DomainEvent[]) => Promise<void>);
68
112
  /** Include soft-deleted rows in the result (default behavior excludes them). */
69
113
  withTrashed(): this;
70
114
  /** Return ONLY soft-deleted rows (deleted_at IS NOT NULL). */
@@ -88,6 +132,29 @@ export declare class ModelQuery<T extends BaseEntity> {
88
132
  orWhere(column: string, operator: string, value: unknown): this;
89
133
  whereNull(column: string): this;
90
134
  whereNotNull(column: string): this;
135
+ andWhere(callback: WhereCallback): this;
136
+ andWhere(column: string, value: unknown): this;
137
+ andWhere(column: string, operator: string, value: unknown): this;
138
+ /** Alias of {@link whereNot} (Lucid parity). */
139
+ andWhereNot(column: string, value: unknown): this;
140
+ /** Alias of {@link whereIn} (Lucid parity). */
141
+ andWhereIn(column: string, values: readonly unknown[]): this;
142
+ /** Alias of {@link whereNotIn} (Lucid parity). */
143
+ andWhereNotIn(column: string, values: readonly unknown[]): this;
144
+ /** Alias of {@link whereNull} (Lucid parity). */
145
+ andWhereNull(column: string): this;
146
+ /** Alias of {@link whereNotNull} (Lucid parity). */
147
+ andWhereNotNull(column: string): this;
148
+ /** Alias of {@link whereBetween} (Lucid parity). */
149
+ andWhereBetween(column: string, range: readonly [unknown, unknown]): this;
150
+ /** Alias of {@link whereNotBetween} (Lucid parity). */
151
+ andWhereNotBetween(column: string, range: readonly [unknown, unknown]): this;
152
+ /** Alias of {@link whereLike} (Lucid parity). */
153
+ andWhereLike(column: string, pattern: string): this;
154
+ /** Alias of {@link whereILike} (Lucid parity). */
155
+ andWhereILike(column: string, pattern: string): this;
156
+ /** Alias of {@link whereColumn} (Lucid parity). */
157
+ andWhereColumn(left: string, operator: string, right: string): this;
91
158
  /** `WHERE col != ?` — negation of `where`. */
92
159
  whereNot(column: string, value: unknown): this;
93
160
  /** `WHERE col IN (...)` — accepts an array of values OR a `ModelQuery` subquery source. */
@@ -147,6 +214,29 @@ export declare class ModelQuery<T extends BaseEntity> {
147
214
  * @unsafe Raw SQL fragment — never concatenate user input into `sql`.
148
215
  */
149
216
  whereRaw(sql: string, bindings?: readonly unknown[]): this;
217
+ /** Alias of {@link whereRaw} (Lucid parity). Subject to the same strict-mode gate. */
218
+ andWhereRaw(sql: string, bindings?: readonly unknown[]): this;
219
+ /**
220
+ * `OR <raw fragment>` (Lucid parity).
221
+ *
222
+ * @unsafe Raw SQL fragment — never concatenate user input into `sql`.
223
+ * Subject to the same strict-mode gate as {@link whereRaw}.
224
+ */
225
+ orWhereRaw(sql: string, bindings?: readonly unknown[]): this;
226
+ /**
227
+ * Framework-internal: register the deferred m2m EXISTS predicate for a lazy
228
+ * `related().query()`. The builder is re-invoked on every `#buildSpec()` with
229
+ * the pivot constraints known at that moment, so `.wherePivot()` added after
230
+ * the proxy returned still applies. Not exported from the barrel.
231
+ */
232
+ setPivotExistsBuilder(builder: (pivotWheres: ReadonlyArray<{
233
+ column: string;
234
+ operator: string;
235
+ value: unknown;
236
+ }>) => {
237
+ sql: string;
238
+ bindings: unknown[];
239
+ }): this;
150
240
  /**
151
241
  * **SAFE** alternative to `whereRaw` for the common case of a single
152
242
  * SQL expression built from a validated column + operator + bound value.
@@ -171,9 +261,67 @@ export declare class ModelQuery<T extends BaseEntity> {
171
261
  * operator is allow-listed; nothing is bound (it's a column reference, not a
172
262
  * value), which the standard `where`/`whereExpr` value-binding path can't do.
173
263
  */
264
+ /** `WHERE EXISTS (subquery)` (Lucid parity). */
265
+ whereExists(subquery: ModelQuery<BaseEntity>): this;
266
+ /** Alias of {@link whereExists} (Lucid parity). */
267
+ andWhereExists(subquery: ModelQuery<BaseEntity>): this;
268
+ /** `OR EXISTS (subquery)` (Lucid parity). */
269
+ orWhereExists(subquery: ModelQuery<BaseEntity>): this;
270
+ /** `WHERE NOT EXISTS (subquery)` (Lucid parity). */
271
+ whereNotExists(subquery: ModelQuery<BaseEntity>): this;
272
+ /** Alias of {@link whereNotExists} (Lucid parity). */
273
+ andWhereNotExists(subquery: ModelQuery<BaseEntity>): this;
274
+ /** `OR NOT EXISTS (subquery)` (Lucid parity). */
275
+ orWhereNotExists(subquery: ModelQuery<BaseEntity>): this;
276
+ /**
277
+ * `WHERE <col at path> <op> ?` — compare a value inside a JSON column
278
+ * (Lucid/Knex `whereJsonPath`). `path` is a JSONPath (`$.a.b`, `$.items[0]`).
279
+ *
280
+ * query.whereJsonPath('data', '$.address.city', '=', 'Paris')
281
+ */
282
+ whereJsonPath(column: string, path: string, operator: string, value: unknown): this;
283
+ /** Alias of {@link whereJsonPath} (Lucid parity). */
284
+ andWhereJsonPath(column: string, path: string, operator: string, value: unknown): this;
285
+ /** `OR <col at path> <op> ?` (Lucid parity). */
286
+ orWhereJsonPath(column: string, path: string, operator: string, value: unknown): this;
287
+ /**
288
+ * `WHERE <col> @> ?` — the JSON column contains `value` (Lucid/Knex
289
+ * `whereJsonSupersetOf`). `value` is any JSON-serialisable value.
290
+ *
291
+ * Postgres and MySQL only — SQLite has no JSON containment operator and the
292
+ * compiler raises `E_UNSUPPORTED` there.
293
+ */
294
+ whereJsonSupersetOf(column: string, value: unknown): this;
295
+ /** Alias of {@link whereJsonSupersetOf} (Lucid parity). */
296
+ andWhereJsonSupersetOf(column: string, value: unknown): this;
297
+ /** `OR <col> @> ?` (Lucid parity). See {@link whereJsonSupersetOf}. */
298
+ orWhereJsonSupersetOf(column: string, value: unknown): this;
299
+ /** `WHERE NOT (<col> @> ?)` (Lucid parity). */
300
+ whereNotJsonSupersetOf(column: string, value: unknown): this;
301
+ /** `OR NOT (<col> @> ?)` (Lucid parity). */
302
+ orWhereNotJsonSupersetOf(column: string, value: unknown): this;
303
+ /**
304
+ * `WHERE <col> <@ ?` — the JSON column is contained in `value` (Lucid/Knex
305
+ * `whereJsonSubsetOf`). Postgres/MySQL only; see {@link whereJsonSupersetOf}.
306
+ */
307
+ whereJsonSubsetOf(column: string, value: unknown): this;
308
+ /** Alias of {@link whereJsonSubsetOf} (Lucid parity). */
309
+ andWhereJsonSubsetOf(column: string, value: unknown): this;
310
+ /** `OR <col> <@ ?` (Lucid parity). See {@link whereJsonSubsetOf}. */
311
+ orWhereJsonSubsetOf(column: string, value: unknown): this;
312
+ /** `WHERE NOT (<col> <@ ?)` (Lucid parity). */
313
+ whereNotJsonSubsetOf(column: string, value: unknown): this;
314
+ /** `OR NOT (<col> <@ ?)` (Lucid parity). */
315
+ orWhereNotJsonSubsetOf(column: string, value: unknown): this;
174
316
  whereColumn(left: string, operator: string, right: string): this;
175
317
  /** `OR`-combined {@link whereColumn}. */
176
318
  orWhereColumn(left: string, operator: string, right: string): this;
319
+ /** `WHERE NOT (left <op> right)` — negation of {@link whereColumn} (Lucid parity). */
320
+ whereNotColumn(left: string, operator: string, right: string): this;
321
+ /** Alias of {@link whereNotColumn} (Lucid parity). */
322
+ andWhereNotColumn(left: string, operator: string, right: string): this;
323
+ /** `OR NOT (left <op> right)` (Lucid parity). */
324
+ orWhereNotColumn(left: string, operator: string, right: string): this;
177
325
  /**
178
326
  * `WHERE EXISTS (SELECT * FROM related WHERE <join> AND <cb>)` — filter parent rows
179
327
  * by the existence of related rows, optionally constrained by a callback.
@@ -186,6 +334,10 @@ export declare class ModelQuery<T extends BaseEntity> {
186
334
  /** `WHERE NOT EXISTS (...)` — negation of whereHas. */
187
335
  whereDoesntHave(relationName: string, callback?: (query: ModelQuery<BaseEntity>) => void): this;
188
336
  orWhereDoesntHave(relationName: string, callback?: (query: ModelQuery<BaseEntity>) => void): this;
337
+ /** Alias of {@link whereHas} (Lucid parity) — `whereHas` is already AND. */
338
+ andWhereHas(relationName: string, callback?: (query: ModelQuery<BaseEntity>) => void): this;
339
+ /** Alias of {@link whereDoesntHave} (Lucid parity). */
340
+ andWhereDoesntHave(relationName: string, callback?: (query: ModelQuery<BaseEntity>) => void): this;
189
341
  /**
190
342
  * Short form of `whereHas`. With an operator + count, emits a count threshold:
191
343
  * has('comments') → EXISTS (SELECT * FROM comments WHERE <join>)
@@ -195,6 +347,12 @@ export declare class ModelQuery<T extends BaseEntity> {
195
347
  orHas(relationName: string, countOp?: string, countThreshold?: number): this;
196
348
  /** `WHERE NOT EXISTS (...)` — short form. */
197
349
  doesntHave(relationName: string): this;
350
+ /** `OR NOT EXISTS (...)` — the OR form of {@link doesntHave} (Lucid parity). */
351
+ orDoesntHave(relationName: string): this;
352
+ /** Alias of {@link has} (Lucid parity) — `has` is already AND. */
353
+ andHas(relationName: string, countOp?: string, countThreshold?: number): this;
354
+ /** Alias of {@link doesntHave} (Lucid parity). */
355
+ andDoesntHave(relationName: string): this;
198
356
  /**
199
357
  * Set this query's projection alias — only meaningful when this ModelQuery
200
358
  * is used as the sub-builder callback argument of `withCount` / `withAggregate`.
@@ -235,19 +393,45 @@ export declare class ModelQuery<T extends BaseEntity> {
235
393
  */
236
394
  withAggregate(relationName: string, callback: (query: ModelQuery<BaseEntity>) => void): this;
237
395
  orderBy(column: string, direction?: "asc" | "desc"): this;
396
+ /**
397
+ * `ORDER BY <raw fragment>` (Lucid/Knex `orderByRaw`) — for orderings with
398
+ * no typed form: `NULLS LAST`, `RANDOM()`, a CASE expression, a computed
399
+ * alias.
400
+ *
401
+ * query.orderBy('rank').orderByRaw('created_at DESC NULLS LAST')
402
+ *
403
+ * The fragment keeps its position among the plain `orderBy` terms.
404
+ *
405
+ * **Strict mode**: like {@link whereRaw}, this throws when
406
+ * `setAtlasStrictMode(true)` (or `ATLAS_STRICT`) is on.
407
+ *
408
+ * @unsafe Raw SQL fragment — never concatenate user input into `sql`.
409
+ */
410
+ orderByRaw(sql: string): this;
238
411
  /**
239
412
  * `GROUP BY col1, col2, …` (AdonisJS/Lucid `groupBy`). Columns are resolved
240
413
  * through the entity's column map (camelCase → snake_case) like `orderBy`.
241
- * For a raw grouping expression, use a `whereRaw`-style construct via the
242
- * fluent {@link QueryBuilder}.
414
+ * For a grouping expression with no typed form, see {@link groupByRaw}.
243
415
  */
244
416
  groupBy(...columns: string[]): this;
417
+ /**
418
+ * `GROUP BY <raw fragment>` (Lucid/Knex `groupByRaw`) — for groupings with
419
+ * no typed form, e.g. `DATE_TRUNC('day', created_at)`.
420
+ *
421
+ * The fragment keeps its position among the plain `groupBy` terms.
422
+ *
423
+ * **Strict mode**: like {@link whereRaw}, this throws when
424
+ * `setAtlasStrictMode(true)` (or `ATLAS_STRICT`) is on.
425
+ *
426
+ * @unsafe Raw SQL fragment — never concatenate user input into `sql`.
427
+ */
428
+ groupByRaw(sql: string): this;
245
429
  /**
246
430
  * `HAVING <col> <op> ?` — applied after `groupBy` (AdonisJS/Lucid `having`).
247
- * The column is passed verbatim to the Rust HAVING compiler, which quotes a
248
- * plain identifier or accepts an allow-listed aggregate expression
249
- * (`COUNT(*)`, `SUM(col)`, …) it is NOT run through the entity column map,
250
- * so aggregate expressions and result aliases both work.
431
+ * A bare model property is resolved through the entity column map (honouring
432
+ * `@Column({ columnName })`) via {@link #resolveHavingCol}; an aggregate
433
+ * expression (`COUNT(*)`, `SUM(col)`, …) or a result alias is left verbatim so
434
+ * `having` can still reference `withCount`/`withAggregate` aliases.
251
435
  */
252
436
  having(column: string, operator: string, value: unknown): this;
253
437
  /** `OR HAVING <col> <op> ?` — OR-combined {@link having}. */
@@ -269,12 +453,48 @@ export declare class ModelQuery<T extends BaseEntity> {
269
453
  union(query: ModelQuery<BaseEntity>): this;
270
454
  /** `UNION ALL (<query>)` — duplicate-preserving {@link union}. */
271
455
  unionAll(query: ModelQuery<BaseEntity>): this;
456
+ /** `INTERSECT (<query>)` — rows present in both (Lucid/Knex `intersect`). */
457
+ intersect(query: ModelQuery<BaseEntity>): this;
458
+ /**
459
+ * `INTERSECT ALL (<query>)` — duplicate-preserving {@link intersect}.
460
+ *
461
+ * Postgres and MySQL only: SQLite's compound operators are UNION, UNION ALL,
462
+ * INTERSECT and EXCEPT — there is no INTERSECT ALL — so the compiler raises
463
+ * `E_UNSUPPORTED` there rather than emitting a syntax error.
464
+ */
465
+ intersectAll(query: ModelQuery<BaseEntity>): this;
466
+ /** `EXCEPT (<query>)` — rows in this query but not the other (Lucid/Knex `except`). */
467
+ except(query: ModelQuery<BaseEntity>): this;
468
+ /** `EXCEPT ALL (<query>)` — duplicate-preserving {@link except}. Not on SQLite; see {@link intersectAll}. */
469
+ exceptAll(query: ModelQuery<BaseEntity>): this;
272
470
  /**
273
471
  * `WITH <name> AS (<query>)` — register a Common Table Expression
274
472
  * (AdonisJS/Lucid `with`). The CTE name is validated as an identifier; the
275
473
  * sub-query is compiled and its bindings are re-indexed into the outer list.
276
474
  */
277
475
  with(name: string, query: ModelQuery<BaseEntity>): this;
476
+ /**
477
+ * `WITH RECURSIVE <name> AS (<query>)` — a self-referencing CTE
478
+ * (Lucid/Knex `withRecursive`), for trees and graph walks.
479
+ *
480
+ * RECURSIVE is a property of the WITH clause rather than of one CTE, so a
481
+ * single recursive entry makes the whole clause recursive — which is what
482
+ * all three dialects require. Mixing `with()` and `withRecursive()` is fine.
483
+ *
484
+ * The recursive term itself is a `UNION`/`UNION ALL` inside `query`, e.g.
485
+ * an anchor `SELECT` unioned with a select that references `<name>`.
486
+ */
487
+ withRecursive(name: string, query: ModelQuery<BaseEntity>): this;
488
+ /**
489
+ * `WITH <name> AS MATERIALIZED (<query>)` — force the CTE to be evaluated
490
+ * once and stashed (Lucid/Knex `withMaterialized`).
491
+ *
492
+ * Postgres 12+ and SQLite 3.35+ only; MySQL has no such hint and the
493
+ * compiler raises `E_UNSUPPORTED` rather than emitting a syntax error.
494
+ */
495
+ withMaterialized(name: string, query: ModelQuery<BaseEntity>): this;
496
+ /** `WITH <name> AS NOT MATERIALIZED (<query>)` — let it be inlined (Lucid/Knex `withNotMaterialized`). See {@link withMaterialized}. */
497
+ withNotMaterialized(name: string, query: ModelQuery<BaseEntity>): this;
278
498
  /**
279
499
  * `@ManyToMany` only — filter loaded relations by a PIVOT-table column
280
500
  * (AdonisJS/Lucid `wherePivot`). Recorded separately from the related-table
@@ -285,13 +505,56 @@ export declare class ModelQuery<T extends BaseEntity> {
285
505
  */
286
506
  wherePivot(column: string, value: unknown): this;
287
507
  wherePivot(column: string, operator: string, value: unknown): this;
288
- /** `@ManyToMany` only `WHERE <pivotCol> IN (...)` on the pivot table (Lucid `wherePivotIn`). */
508
+ /** Alias of {@link wherePivot} (Lucid parity) pivot filters already AND together. */
509
+ andWherePivot(column: string, value: unknown): this;
510
+ andWherePivot(column: string, operator: string, value: unknown): this;
511
+ /**
512
+ * `@ManyToMany` only — OR form of {@link wherePivot} (Lucid parity).
513
+ *
514
+ * The pivot filters are compiled as a parenthesised group, so an OR joins
515
+ * the other pivot filters and cannot escape the `pivot_fk IN (parents)`
516
+ * scoping that makes the preload correct.
517
+ */
518
+ orWherePivot(column: string, value: unknown): this;
519
+ orWherePivot(column: string, operator: string, value: unknown): this;
520
+ /** `@ManyToMany` only — `WHERE <pivotCol> IN (...)` on the pivot table (AdonisJS Lucid `whereInPivot`). */
521
+ whereInPivot(column: string, values: readonly unknown[]): this;
522
+ /** Alias of {@link whereInPivot} (Lucid parity). */
523
+ andWhereInPivot(column: string, values: readonly unknown[]): this;
524
+ /** `@ManyToMany` only — OR form of {@link whereInPivot} (Lucid parity). */
525
+ orWhereInPivot(column: string, values: readonly unknown[]): this;
526
+ /** Alias of {@link whereInPivot} kept for the earlier atlas name. */
289
527
  wherePivotIn(column: string, values: readonly unknown[]): this;
528
+ /** `@ManyToMany` only — `WHERE <pivotCol> != <value>` on the pivot table (AdonisJS Lucid `whereNotPivot`). */
529
+ whereNotPivot(column: string, value: unknown): this;
530
+ /** Alias of {@link whereNotPivot} (Lucid parity). */
531
+ andWhereNotPivot(column: string, value: unknown): this;
532
+ /** `@ManyToMany` only — OR form of {@link whereNotPivot} (Lucid parity). */
533
+ orWhereNotPivot(column: string, value: unknown): this;
534
+ /** `@ManyToMany` only — `WHERE <pivotCol> NOT IN (...)` on the pivot table (AdonisJS Lucid `whereNotInPivot`). */
535
+ whereNotInPivot(column: string, values: readonly unknown[]): this;
536
+ /** Alias of {@link whereNotInPivot} (Lucid parity). */
537
+ andWhereNotInPivot(column: string, values: readonly unknown[]): this;
538
+ /** `@ManyToMany` only — OR form of {@link whereNotInPivot} (Lucid parity). */
539
+ orWhereNotInPivot(column: string, values: readonly unknown[]): this;
540
+ /** `@ManyToMany` only — `WHERE <pivotCol> IS NULL` on the pivot table (Lucid `whereNullPivot`). */
541
+ whereNullPivot(column: string): this;
542
+ /** Alias of {@link whereNullPivot} (Lucid parity). */
543
+ andWhereNullPivot(column: string): this;
544
+ /** `@ManyToMany` only — OR form of {@link whereNullPivot} (Lucid parity). */
545
+ orWhereNullPivot(column: string): this;
546
+ /** `@ManyToMany` only — `WHERE <pivotCol> IS NOT NULL` on the pivot table (Lucid `whereNotNullPivot`). */
547
+ whereNotNullPivot(column: string): this;
548
+ /** Alias of {@link whereNotNullPivot} (Lucid parity). */
549
+ andWhereNotNullPivot(column: string): this;
550
+ /** `@ManyToMany` only — OR form of {@link whereNotNullPivot} (Lucid parity). */
551
+ orWhereNotNullPivot(column: string): this;
290
552
  /** Read-only accessor for pivot constraints — consumed by the m2m preload resolver. */
291
553
  get pivotConstraints(): ReadonlyArray<{
292
554
  column: string;
293
555
  operator: string;
294
556
  value: unknown;
557
+ type: "and" | "or";
295
558
  }>;
296
559
  limit(n: number): this;
297
560
  offset(n: number): this;
@@ -324,6 +587,19 @@ export declare class ModelQuery<T extends BaseEntity> {
324
587
  };
325
588
  /** Execute and return all matching entities, with preloaded relations. Fires beforeFetch/afterFetch. */
326
589
  exec(): Promise<T[]>;
590
+ /**
591
+ * Execute and return PLAIN row objects (raw snake_case DB columns), skipping
592
+ * model hydration, `@column({ consume })`, dirty-tracking and preloads —
593
+ * AdonisJS Lucid `pojo()`. Fast read path for reports/exports where model
594
+ * instances aren't needed.
595
+ */
596
+ pojo<R = Record<string, unknown>>(): Promise<R[]>;
597
+ /**
598
+ * Thread arbitrary context onto every instance this query hydrates, exposed as
599
+ * `entity.$sideloaded` (AdonisJS Lucid `sideload`) — e.g. the current tenant or
600
+ * user, so hooks/computed can read it. Merges across calls. Chainable.
601
+ */
602
+ sideload(values: Record<string, unknown>): this;
327
603
  /**
328
604
  * Resolve a relation to its table + correlated join predicate and return an
329
605
  * `ExistsWhere` clause. Used by whereHas / has / doesntHave / whereDoesntHave.
@@ -360,7 +636,7 @@ export declare class ModelQuery<T extends BaseEntity> {
360
636
  *
361
637
  * @unsafe Raw SQL fragment — never concatenate user input into `fragment`.
362
638
  */
363
- joinRaw(fragment: string): this;
639
+ joinRaw(fragment: string, bindings?: readonly unknown[]): this;
364
640
  /**
365
641
  * **SAFE** helper that builds an `INNER JOIN <table> ON <left> = <right>`
366
642
  * with dialect-correct identifier quoting on both sides. Thin sugar over
@@ -374,8 +650,26 @@ export declare class ModelQuery<T extends BaseEntity> {
374
650
  */
375
651
  joinOn(table: string, left: string, right: string): this;
376
652
  distinct(): this;
653
+ /**
654
+ * `SELECT DISTINCT ON (cols) …` — keep the first row per distinct set of
655
+ * `columns` (Lucid/Knex `distinctOn`). Takes precedence over
656
+ * {@link distinct}.
657
+ *
658
+ * Postgres-only, and the compiler refuses it elsewhere: MySQL and SQLite
659
+ * would parse `DISTINCT (a, b)` as a plain DISTINCT over a row value and
660
+ * return a *different* result set rather than fail — a silent wrong answer
661
+ * is worse than an error.
662
+ *
663
+ * Postgres also requires the leading `ORDER BY` terms to match `columns`;
664
+ * that is left to the database to enforce.
665
+ */
666
+ distinctOn(...columns: string[]): this;
377
667
  /** `SELECT COUNT(DISTINCT col)`. */
378
668
  countDistinct(column: string): Promise<number>;
669
+ /** `SUM(DISTINCT col)` (Lucid parity). */
670
+ sumDistinct(column: string): Promise<number | null>;
671
+ /** `AVG(DISTINCT col)` (Lucid parity). */
672
+ avgDistinct(column: string): Promise<number | null>;
379
673
  /** `SELECT 1 FROM ... LIMIT 1` — returns boolean. */
380
674
  exists(): Promise<boolean>;
381
675
  doesntExist(): Promise<boolean>;
@@ -420,14 +714,43 @@ export declare class ModelQuery<T extends BaseEntity> {
420
714
  clone(): ModelQuery<T>;
421
715
  /** Execute a fluent UPDATE. Returns affected rows (or rows when `returning` is set). */
422
716
  update(patch: Record<string, unknown>, returning?: string[]): Promise<number | Record<string, unknown>[]>;
423
- /** Execute a fluent DELETE. Returns affected rows (or rows when `returning` is set). */
717
+ /**
718
+ * Execute a fluent DELETE. For a `@SoftDeletes` model this SOFT-deletes the
719
+ * scoped rows (stamps `deleted_at`) — consistent with the entity-level
720
+ * `delete()`; use {@link forceDelete} for a hard `DELETE`. For a non-soft-delete
721
+ * model it issues a hard `DELETE`. Returns affected rows (or rows when
722
+ * `returning` is set).
723
+ */
424
724
  delete(returning?: string[]): Promise<number | Record<string, unknown>[]>;
725
+ /** Hard `DELETE` of the scoped rows, bypassing `@SoftDeletes` (AdonisJS/Lucid `forceDelete`). */
726
+ forceDelete(returning?: string[]): Promise<number | Record<string, unknown>[]>;
727
+ /**
728
+ * Bulk restore: clear `deleted_at` on the trashed rows matching the user's
729
+ * predicates (the soft-delete counterpart of {@link delete}). No-op count `0`
730
+ * on a non-soft-delete model. Independent of the current soft-scope — it always
731
+ * targets trashed rows (`deleted_at IS NOT NULL`).
732
+ */
733
+ restore(returning?: string[]): Promise<number | Record<string, unknown>[]>;
425
734
  increment(column: string, amount: number): Promise<number>;
426
735
  increment(patch: Record<string, number>): Promise<number>;
427
736
  decrement(column: string, amount: number): Promise<number>;
428
737
  decrement(patch: Record<string, number>): Promise<number>;
429
738
  forUpdate(): this;
430
739
  forShare(): this;
740
+ /** Postgres `FOR NO KEY UPDATE` — a weaker lock that doesn't block FK checks (AdonisJS/Knex). */
741
+ forNoKeyUpdate(): this;
742
+ /** Postgres `FOR KEY SHARE` — the weakest share lock (AdonisJS/Knex). */
743
+ forKeyShare(): this;
744
+ /**
745
+ * Append `SKIP LOCKED` to the lock clause — locked rows are skipped instead of
746
+ * waited on (AdonisJS/Knex). Requires a base lock (`forUpdate`/`forShare`/…).
747
+ */
748
+ skipLocked(): this;
749
+ /**
750
+ * Append `NOWAIT` to the lock clause — error immediately instead of waiting on
751
+ * a locked row (AdonisJS/Knex). Requires a base lock (`forUpdate`/`forShare`/…).
752
+ */
753
+ noWait(): this;
431
754
  }
432
755
  export {};
433
756
  //# sourceMappingURL=ModelQuery.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ModelQuery.d.ts","sourceRoot":"","sources":["../src/ModelQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ModelQuery.d.ts","sourceRoot":"","sources":["../src/ModelQuery.ts"],"names":[],"mappings":"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"}