covara 0.7.0 → 0.8.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 (204) hide show
  1. package/README.md +98 -62
  2. package/dist/cli/args.d.ts +14 -0
  3. package/dist/cli/args.d.ts.map +1 -0
  4. package/dist/cli/args.js +78 -0
  5. package/dist/cli/args.js.map +1 -0
  6. package/dist/cli/commands/data.d.ts +2 -0
  7. package/dist/cli/commands/data.d.ts.map +1 -0
  8. package/dist/cli/commands/data.js +31 -0
  9. package/dist/cli/commands/data.js.map +1 -0
  10. package/dist/cli/commands/db.d.ts +2 -0
  11. package/dist/cli/commands/db.d.ts.map +1 -0
  12. package/dist/cli/commands/db.js +100 -0
  13. package/dist/cli/commands/db.js.map +1 -0
  14. package/dist/cli/commands/dev.d.ts +2 -0
  15. package/dist/cli/commands/dev.d.ts.map +1 -0
  16. package/dist/cli/commands/dev.js +125 -0
  17. package/dist/cli/commands/dev.js.map +1 -0
  18. package/dist/cli/commands/env.d.ts +2 -0
  19. package/dist/cli/commands/env.d.ts.map +1 -0
  20. package/dist/cli/commands/env.js +94 -0
  21. package/dist/cli/commands/env.js.map +1 -0
  22. package/dist/cli/commands/import-export.d.ts +3 -0
  23. package/dist/cli/commands/import-export.d.ts.map +1 -0
  24. package/dist/cli/commands/import-export.js +156 -0
  25. package/dist/cli/commands/import-export.js.map +1 -0
  26. package/dist/cli/commands/migrate.d.ts +2 -0
  27. package/dist/cli/commands/migrate.d.ts.map +1 -0
  28. package/dist/cli/commands/migrate.js +12 -0
  29. package/dist/cli/commands/migrate.js.map +1 -0
  30. package/dist/cli/commands/push.d.ts +2 -0
  31. package/dist/cli/commands/push.d.ts.map +1 -0
  32. package/dist/cli/commands/push.js +45 -0
  33. package/dist/cli/commands/push.js.map +1 -0
  34. package/dist/cli/commands/run.d.ts +2 -0
  35. package/dist/cli/commands/run.d.ts.map +1 -0
  36. package/dist/cli/commands/run.js +54 -0
  37. package/dist/cli/commands/run.js.map +1 -0
  38. package/dist/cli/commands/seed.d.ts +2 -0
  39. package/dist/cli/commands/seed.d.ts.map +1 -0
  40. package/dist/cli/commands/seed.js +32 -0
  41. package/dist/cli/commands/seed.js.map +1 -0
  42. package/dist/cli/commands/studio.d.ts +2 -0
  43. package/dist/cli/commands/studio.d.ts.map +1 -0
  44. package/dist/cli/commands/studio.js +22 -0
  45. package/dist/cli/commands/studio.js.map +1 -0
  46. package/dist/cli/commands/types.d.ts +2 -0
  47. package/dist/cli/commands/types.d.ts.map +1 -0
  48. package/dist/cli/commands/types.js +28 -0
  49. package/dist/cli/commands/types.js.map +1 -0
  50. package/dist/cli/config.d.ts +28 -0
  51. package/dist/cli/config.d.ts.map +1 -0
  52. package/dist/cli/config.js +81 -0
  53. package/dist/cli/config.js.map +1 -0
  54. package/dist/cli/drizzle-bridge.d.ts +29 -0
  55. package/dist/cli/drizzle-bridge.d.ts.map +1 -0
  56. package/dist/cli/drizzle-bridge.js +85 -0
  57. package/dist/cli/drizzle-bridge.js.map +1 -0
  58. package/dist/cli/index.d.ts +2 -1
  59. package/dist/cli/index.d.ts.map +1 -1
  60. package/dist/cli/index.js +74 -20
  61. package/dist/cli/index.js.map +1 -1
  62. package/dist/cli/prompt.d.ts +2 -0
  63. package/dist/cli/prompt.d.ts.map +1 -0
  64. package/dist/cli/prompt.js +16 -0
  65. package/dist/cli/prompt.js.map +1 -0
  66. package/dist/cli/templates/package-json.js +1 -1
  67. package/dist/cli/worker.d.ts +2 -0
  68. package/dist/cli/worker.d.ts.map +1 -0
  69. package/dist/cli/worker.js +120 -0
  70. package/dist/cli/worker.js.map +1 -0
  71. package/dist/client/file-upload.d.ts +2 -1
  72. package/dist/client/file-upload.d.ts.map +1 -1
  73. package/dist/client/file-upload.js +5 -5
  74. package/dist/client/file-upload.js.map +1 -1
  75. package/dist/client/live-store.d.ts.map +1 -1
  76. package/dist/client/live-store.js +12 -6
  77. package/dist/client/live-store.js.map +1 -1
  78. package/dist/client/react-files.js +1 -1
  79. package/dist/client/react-files.js.map +1 -1
  80. package/dist/client/subscription-manager.d.ts.map +1 -1
  81. package/dist/client/subscription-manager.js +7 -0
  82. package/dist/client/subscription-manager.js.map +1 -1
  83. package/dist/htmx/client/runtime.d.ts +2 -0
  84. package/dist/htmx/client/runtime.d.ts.map +1 -0
  85. package/dist/htmx/client/runtime.js +195 -0
  86. package/dist/htmx/client/runtime.js.map +1 -0
  87. package/dist/htmx/context.d.ts +16 -0
  88. package/dist/htmx/context.d.ts.map +1 -0
  89. package/dist/htmx/context.js +52 -0
  90. package/dist/htmx/context.js.map +1 -0
  91. package/dist/htmx/forms.d.ts +3 -0
  92. package/dist/htmx/forms.d.ts.map +1 -0
  93. package/dist/htmx/forms.js +32 -0
  94. package/dist/htmx/forms.js.map +1 -0
  95. package/dist/htmx/ids.d.ts +11 -0
  96. package/dist/htmx/ids.d.ts.map +1 -0
  97. package/dist/htmx/ids.js +27 -0
  98. package/dist/htmx/ids.js.map +1 -0
  99. package/dist/htmx/index.d.ts +11 -0
  100. package/dist/htmx/index.d.ts.map +1 -0
  101. package/dist/htmx/index.js +15 -0
  102. package/dist/htmx/index.js.map +1 -0
  103. package/dist/htmx/live.d.ts +39 -0
  104. package/dist/htmx/live.d.ts.map +1 -0
  105. package/dist/htmx/live.js +37 -0
  106. package/dist/htmx/live.js.map +1 -0
  107. package/dist/htmx/page.d.ts +14 -0
  108. package/dist/htmx/page.d.ts.map +1 -0
  109. package/dist/htmx/page.js +59 -0
  110. package/dist/htmx/page.js.map +1 -0
  111. package/dist/htmx/render-util.d.ts +2 -0
  112. package/dist/htmx/render-util.d.ts.map +1 -0
  113. package/dist/htmx/render-util.js +15 -0
  114. package/dist/htmx/render-util.js.map +1 -0
  115. package/dist/htmx/server.d.ts +21 -0
  116. package/dist/htmx/server.d.ts.map +1 -0
  117. package/dist/htmx/server.js +286 -0
  118. package/dist/htmx/server.js.map +1 -0
  119. package/dist/htmx/sse-render.d.ts +10 -0
  120. package/dist/htmx/sse-render.d.ts.map +1 -0
  121. package/dist/htmx/sse-render.js +40 -0
  122. package/dist/htmx/sse-render.js.map +1 -0
  123. package/dist/htmx/template-gen.d.ts +7 -0
  124. package/dist/htmx/template-gen.d.ts.map +1 -0
  125. package/dist/htmx/template-gen.js +38 -0
  126. package/dist/htmx/template-gen.js.map +1 -0
  127. package/dist/resource/hook.d.ts.map +1 -1
  128. package/dist/resource/hook.js +101 -24
  129. package/dist/resource/hook.js.map +1 -1
  130. package/dist/resource/relations.d.ts +15 -4
  131. package/dist/resource/relations.d.ts.map +1 -1
  132. package/dist/resource/relations.js +146 -26
  133. package/dist/resource/relations.js.map +1 -1
  134. package/dist/resource/subscription.d.ts +15 -2
  135. package/dist/resource/subscription.d.ts.map +1 -1
  136. package/dist/resource/subscription.js +184 -3
  137. package/dist/resource/subscription.js.map +1 -1
  138. package/dist/resource/track-mutations.d.ts.map +1 -1
  139. package/dist/resource/track-mutations.js +11 -1
  140. package/dist/resource/track-mutations.js.map +1 -1
  141. package/dist/resource/types.d.ts +8 -0
  142. package/dist/resource/types.d.ts.map +1 -1
  143. package/dist/server/admin-bypass.d.ts +7 -0
  144. package/dist/server/admin-bypass.d.ts.map +1 -0
  145. package/dist/server/admin-bypass.js +22 -0
  146. package/dist/server/admin-bypass.js.map +1 -0
  147. package/dist/server/app.d.ts +9 -0
  148. package/dist/server/app.d.ts.map +1 -1
  149. package/dist/server/app.js +101 -1
  150. package/dist/server/app.js.map +1 -1
  151. package/dist/server/impersonation.d.ts +18 -0
  152. package/dist/server/impersonation.d.ts.map +1 -0
  153. package/dist/server/impersonation.js +53 -0
  154. package/dist/server/impersonation.js.map +1 -0
  155. package/dist/shared/escape.d.ts +3 -0
  156. package/dist/shared/escape.d.ts.map +1 -0
  157. package/dist/shared/escape.js +12 -0
  158. package/dist/shared/escape.js.map +1 -0
  159. package/dist/storage/local.d.ts +4 -0
  160. package/dist/storage/local.d.ts.map +1 -1
  161. package/dist/storage/local.js +5 -0
  162. package/dist/storage/local.js.map +1 -1
  163. package/dist/storage/resource.d.ts +5 -11
  164. package/dist/storage/resource.d.ts.map +1 -1
  165. package/dist/storage/resource.js +156 -194
  166. package/dist/storage/resource.js.map +1 -1
  167. package/dist/ui/admin-auth.d.ts +6 -0
  168. package/dist/ui/admin-auth.d.ts.map +1 -1
  169. package/dist/ui/admin-auth.js +59 -1
  170. package/dist/ui/admin-auth.js.map +1 -1
  171. package/dist/ui/data-explorer.d.ts.map +1 -1
  172. package/dist/ui/data-explorer.js +91 -4
  173. package/dist/ui/data-explorer.js.map +1 -1
  174. package/dist/ui/html/client/data-explorer-app.d.ts.map +1 -1
  175. package/dist/ui/html/client/data-explorer-app.js +20 -7
  176. package/dist/ui/html/client/data-explorer-app.js.map +1 -1
  177. package/dist/ui/html/client/runtime.d.ts.map +1 -1
  178. package/dist/ui/html/client/runtime.js +70 -2
  179. package/dist/ui/html/client/runtime.js.map +1 -1
  180. package/dist/ui/html/icons.d.ts.map +1 -1
  181. package/dist/ui/html/icons.js +2 -0
  182. package/dist/ui/html/icons.js.map +1 -1
  183. package/dist/ui/html/layout.d.ts +1 -0
  184. package/dist/ui/html/layout.d.ts.map +1 -1
  185. package/dist/ui/html/layout.js +274 -146
  186. package/dist/ui/html/layout.js.map +1 -1
  187. package/dist/ui/html/pages/filter-tester.d.ts.map +1 -1
  188. package/dist/ui/html/pages/filter-tester.js +15 -0
  189. package/dist/ui/html/pages/filter-tester.js.map +1 -1
  190. package/dist/ui/html/pages/users.d.ts.map +1 -1
  191. package/dist/ui/html/pages/users.js +8 -1
  192. package/dist/ui/html/pages/users.js.map +1 -1
  193. package/dist/ui/index.d.ts +1 -1
  194. package/dist/ui/index.d.ts.map +1 -1
  195. package/dist/ui/index.js +1 -1
  196. package/dist/ui/index.js.map +1 -1
  197. package/dist/ui/middleware.d.ts.map +1 -1
  198. package/dist/ui/middleware.js +121 -5
  199. package/dist/ui/middleware.js.map +1 -1
  200. package/dist/ui/schema-registry.d.ts +5 -0
  201. package/dist/ui/schema-registry.d.ts.map +1 -1
  202. package/dist/ui/schema-registry.js +14 -0
  203. package/dist/ui/schema-registry.js.map +1 -1
  204. package/package.json +6 -2
@@ -1,5 +1,68 @@
1
- import { and, eq, getTableColumns, inArray, } from "drizzle-orm";
1
+ import { and, eq, getTableColumns, getTableName, inArray, is, } from "drizzle-orm";
2
+ import { SQLiteTable, getTableConfig as sqliteTableConfig } from "drizzle-orm/sqlite-core";
3
+ import { PgTable, getTableConfig as pgTableConfig } from "drizzle-orm/pg-core";
2
4
  import { createResourceFilter } from "./filter.js";
5
+ import { getResourceScopeResolver } from "../ui/schema-registry.js";
6
+ // Dialect-agnostic foreign-key reader: drizzle exposes FK metadata only via the
7
+ // per-dialect getTableConfig, so dispatch on the table's dialect brand.
8
+ const readForeignKeys = (table) => {
9
+ if (is(table, SQLiteTable))
10
+ return sqliteTableConfig(table).foreignKeys;
11
+ if (is(table, PgTable))
12
+ return pgTableConfig(table).foreignKeys;
13
+ return [];
14
+ };
15
+ const relationNameFromForeignKey = (columnName) => {
16
+ const stripped = columnName.replace(/_?[iI]d$/, "");
17
+ return stripped.length > 0 ? stripped : columnName;
18
+ };
19
+ // Derive a RelationsConfig from foreign keys: `belongsTo` from this table's own
20
+ // FKs, and `hasMany` from other registered tables whose FKs reference this one.
21
+ // Only single-column FKs to registered resources are discovered (no guessing);
22
+ // the result reuses the same scope-enforced loader as explicit relations.
23
+ export const discoverRelations = (sourceSchema, registry) => {
24
+ const discovered = {};
25
+ const sourceName = getTableName(sourceSchema);
26
+ for (const fk of readForeignKeys(sourceSchema)) {
27
+ const ref = fk.reference();
28
+ if (ref.columns.length !== 1 || ref.foreignColumns.length !== 1)
29
+ continue;
30
+ const name = relationNameFromForeignKey(ref.columns[0].name);
31
+ if (discovered[name])
32
+ continue;
33
+ discovered[name] = {
34
+ resource: getTableName(ref.foreignTable),
35
+ schema: ref.foreignTable,
36
+ type: "belongsTo",
37
+ foreignKey: ref.columns[0],
38
+ references: ref.foreignColumns[0],
39
+ };
40
+ }
41
+ for (const [, entry] of registry) {
42
+ const other = entry.schema;
43
+ if (getTableName(other) === sourceName)
44
+ continue;
45
+ for (const fk of readForeignKeys(other)) {
46
+ const ref = fk.reference();
47
+ if (ref.columns.length !== 1 || ref.foreignColumns.length !== 1)
48
+ continue;
49
+ if (getTableName(ref.foreignTable) !== sourceName)
50
+ continue;
51
+ const name = getTableName(other);
52
+ if (discovered[name])
53
+ continue;
54
+ discovered[name] = {
55
+ resource: getTableName(other),
56
+ schema: other,
57
+ type: "hasMany",
58
+ foreignKey: ref.columns[0],
59
+ references: ref.foreignColumns[0],
60
+ };
61
+ }
62
+ }
63
+ return discovered;
64
+ };
65
+ const NO_SCOPE = { user: null, enforceScope: false };
3
66
  const splitTopLevel = (str, delimiter) => {
4
67
  const result = [];
5
68
  let depth = 0;
@@ -101,48 +164,97 @@ export const parseNestedFilter = (filterExpr, relations) => {
101
164
  };
102
165
  };
103
166
  export class RelationLoader {
104
- constructor(db, sourceSchema, relations, resourceRegistry, config = {}) {
167
+ constructor(db, sourceSchema, relations, resourceRegistry, config = {}, auto = false) {
105
168
  this.db = db;
106
169
  this.sourceSchema = sourceSchema;
107
170
  this.relations = relations;
108
171
  this.resourceRegistry = resourceRegistry;
109
172
  this.config = config;
173
+ this.auto = auto;
110
174
  this.filterCache = new Map();
111
175
  }
176
+ // Explicit relations merged over discovered ones (explicit wins). Discovery
177
+ // runs lazily on first use so the resource registry is fully populated, and
178
+ // the result is memoized. With `auto` off this is just the explicit config.
179
+ resolvedRelations() {
180
+ if (!this.auto)
181
+ return this.relations;
182
+ if (!this.memoRelations) {
183
+ this.memoRelations = {
184
+ ...discoverRelations(this.sourceSchema, this.resourceRegistry),
185
+ ...this.relations,
186
+ };
187
+ }
188
+ return this.memoRelations;
189
+ }
112
190
  getEagerIncludes() {
113
191
  const specs = [];
114
- for (const [name, relation] of Object.entries(this.relations)) {
192
+ for (const [name, relation] of Object.entries(this.resolvedRelations())) {
115
193
  if (relation.strategy === "eager") {
116
194
  specs.push({ relation: name });
117
195
  }
118
196
  }
119
197
  return specs;
120
198
  }
121
- buildRelationWhere(targetSchema, filterExpr, baseCondition) {
199
+ buildRelationWhere(targetSchema, filterExpr, baseCondition, scopeCondition) {
200
+ const condition = scopeCondition
201
+ ? and(baseCondition, scopeCondition)
202
+ : baseCondition;
122
203
  if (!filterExpr)
123
- return baseCondition;
204
+ return condition;
124
205
  let filter = this.filterCache.get(filterExpr);
125
206
  if (!filter) {
126
207
  filter = createResourceFilter(targetSchema, this.config.customOperators ?? {});
127
208
  this.filterCache.set(filterExpr, filter);
128
209
  }
129
- return and(baseCondition, filter.convert(filterExpr));
210
+ return and(condition, filter.convert(filterExpr));
130
211
  }
131
- async loadRelationsForItem(item, includes, idColumn, depth = 0) {
212
+ // Resolves the target resource's read scope into a SQL predicate for the
213
+ // effective user, so an included relation can never reveal rows the user
214
+ // could not read by querying that resource directly. Returns:
215
+ // - null → no scope to apply (disabled, public, unscoped, or target not
216
+ // a registered resource)
217
+ // - "DENY" → the user is denied read on the target; yield no rows
218
+ // - SQL → AND this predicate into the relation query
219
+ async scopeCondition(relation, ctx) {
220
+ if (!ctx.enforceScope)
221
+ return null;
222
+ const resolver = getResourceScopeResolver(relation.resource);
223
+ if (!resolver)
224
+ return null;
225
+ if (resolver.isPublic("read"))
226
+ return null;
227
+ let scope;
228
+ try {
229
+ scope = await resolver.resolve("read", ctx.user);
230
+ }
231
+ catch {
232
+ return "DENY";
233
+ }
234
+ if (scope.isEmpty())
235
+ return "DENY";
236
+ const expr = scope.toString();
237
+ if (!expr || expr === "*")
238
+ return null;
239
+ const filter = createResourceFilter(relation.schema, this.config.customOperators ?? {});
240
+ return filter.convert(expr);
241
+ }
242
+ async loadRelationsForItem(item, includes, idColumn, depth = 0, ctx = NO_SCOPE) {
132
243
  if (depth > (this.config.maxDepth ?? 3)) {
133
244
  return item;
134
245
  }
135
246
  const result = { ...item };
247
+ const relations = this.resolvedRelations();
136
248
  for (const include of includes) {
137
- const relation = this.relations[include.relation];
249
+ const relation = relations[include.relation];
138
250
  if (!relation)
139
251
  continue;
140
- const related = await this.loadRelation(item, relation, include, idColumn, depth);
252
+ const related = await this.loadRelation(item, relation, include, idColumn, depth, ctx);
141
253
  result[include.relation] = related;
142
254
  }
143
255
  return result;
144
256
  }
145
- async loadRelationsForItems(items, includes, idColumn, depth = 0) {
257
+ async loadRelationsForItems(items, includes, idColumn, depth = 0, ctx = NO_SCOPE) {
146
258
  if (items.length === 0 || includes.length === 0) {
147
259
  return items;
148
260
  }
@@ -150,11 +262,12 @@ export class RelationLoader {
150
262
  return items;
151
263
  }
152
264
  const results = items.map((item) => ({ ...item }));
265
+ const relations = this.resolvedRelations();
153
266
  for (const include of includes) {
154
- const relation = this.relations[include.relation];
267
+ const relation = relations[include.relation];
155
268
  if (!relation)
156
269
  continue;
157
- const relatedMap = await this.batchLoadRelation(items, relation, include, idColumn, depth);
270
+ const relatedMap = await this.batchLoadRelation(items, relation, include, idColumn, depth, ctx);
158
271
  for (const result of results) {
159
272
  const id = String(result[idColumn]);
160
273
  result[include.relation] =
@@ -166,9 +279,13 @@ export class RelationLoader {
166
279
  }
167
280
  return results;
168
281
  }
169
- async loadRelation(item, relation, include, idColumn, depth) {
282
+ async loadRelation(item, relation, include, idColumn, depth, ctx) {
170
283
  const targetSchema = relation.schema;
171
284
  const targetColumns = getTableColumns(targetSchema);
285
+ const isCollection = relation.type === "hasMany" || relation.type === "manyToMany";
286
+ const sc = await this.scopeCondition(relation, ctx);
287
+ if (sc === "DENY")
288
+ return isCollection ? [] : null;
172
289
  const selectColumns = include.select
173
290
  ? Object.fromEntries(include.select
174
291
  .filter((f) => f in targetColumns)
@@ -180,13 +297,13 @@ export class RelationLoader {
180
297
  const fkValue = item[relation.foreignKey.name];
181
298
  if (fkValue == null)
182
299
  return null;
183
- query = query.where(this.buildRelationWhere(targetSchema, include.filter, eq(relation.references, fkValue)));
300
+ query = query.where(this.buildRelationWhere(targetSchema, include.filter, eq(relation.references, fkValue), sc));
184
301
  break;
185
302
  }
186
303
  case "hasOne":
187
304
  case "hasMany": {
188
305
  const sourceId = item[idColumn];
189
- query = query.where(this.buildRelationWhere(targetSchema, include.filter, eq(relation.foreignKey, sourceId)));
306
+ query = query.where(this.buildRelationWhere(targetSchema, include.filter, eq(relation.foreignKey, sourceId), sc));
190
307
  break;
191
308
  }
192
309
  case "manyToMany": {
@@ -198,7 +315,7 @@ export class RelationLoader {
198
315
  .select(selectColumns)
199
316
  .from(targetSchema)
200
317
  .innerJoin(relation.through.schema, eq(relation.through.targetKey, relation.references))
201
- .where(this.buildRelationWhere(targetSchema, include.filter, eq(relation.through.sourceKey, sourceId)));
318
+ .where(this.buildRelationWhere(targetSchema, include.filter, eq(relation.through.sourceKey, sourceId), sc));
202
319
  break;
203
320
  }
204
321
  }
@@ -220,11 +337,11 @@ export class RelationLoader {
220
337
  const nestedLoader = new RelationLoader(this.db, targetSchema, targetResource.config.relations, this.resourceRegistry, this.config);
221
338
  const targetIdColumn = relation.references.name ?? "id";
222
339
  if (relation.type === "hasMany" || relation.type === "manyToMany") {
223
- return nestedLoader.loadRelationsForItems(results, include.nested, targetIdColumn, depth + 1);
340
+ return nestedLoader.loadRelationsForItems(results, include.nested, targetIdColumn, depth + 1, ctx);
224
341
  }
225
342
  else {
226
343
  return results[0]
227
- ? nestedLoader.loadRelationsForItem(results[0], include.nested, targetIdColumn, depth + 1)
344
+ ? nestedLoader.loadRelationsForItem(results[0], include.nested, targetIdColumn, depth + 1, ctx)
228
345
  : null;
229
346
  }
230
347
  }
@@ -234,10 +351,13 @@ export class RelationLoader {
234
351
  }
235
352
  return results[0] ?? null;
236
353
  }
237
- async batchLoadRelation(items, relation, include, idColumn, depth) {
354
+ async batchLoadRelation(items, relation, include, idColumn, depth, ctx) {
238
355
  const result = new Map();
239
356
  const targetSchema = relation.schema;
240
357
  const targetColumns = getTableColumns(targetSchema);
358
+ const sc = await this.scopeCondition(relation, ctx);
359
+ if (sc === "DENY")
360
+ return result;
241
361
  const sourceIds = items.map((item) => item[idColumn]).filter((id) => id != null);
242
362
  if (sourceIds.length === 0)
243
363
  return result;
@@ -258,7 +378,7 @@ export class RelationLoader {
258
378
  const query = this.db
259
379
  .select(selectColumns)
260
380
  .from(targetSchema)
261
- .where(this.buildRelationWhere(targetSchema, include.filter, inArray(relation.references, fkValues)));
381
+ .where(this.buildRelationWhere(targetSchema, include.filter, inArray(relation.references, fkValues), sc));
262
382
  const targetItems = await query;
263
383
  const targetMap = new Map();
264
384
  for (const targetItem of targetItems) {
@@ -285,7 +405,7 @@ export class RelationLoader {
285
405
  let perQuery = this.db
286
406
  .select(selectColumns)
287
407
  .from(targetSchema)
288
- .where(this.buildRelationWhere(targetSchema, include.filter, eq(relation.foreignKey, sourceId)));
408
+ .where(this.buildRelationWhere(targetSchema, include.filter, eq(relation.foreignKey, sourceId), sc));
289
409
  if (perParentLimit != null) {
290
410
  perQuery = perQuery.limit(perParentLimit);
291
411
  }
@@ -303,7 +423,7 @@ export class RelationLoader {
303
423
  _sourceId: relation.foreignKey,
304
424
  })
305
425
  .from(targetSchema)
306
- .where(this.buildRelationWhere(targetSchema, include.filter, inArray(relation.foreignKey, sourceIds)));
426
+ .where(this.buildRelationWhere(targetSchema, include.filter, inArray(relation.foreignKey, sourceIds), sc));
307
427
  const targetItems = await query;
308
428
  if (relation.type === "hasOne") {
309
429
  for (const targetItem of targetItems) {
@@ -337,7 +457,7 @@ export class RelationLoader {
337
457
  .select(selectColumns)
338
458
  .from(targetSchema)
339
459
  .innerJoin(relation.through.schema, eq(relation.through.targetKey, relation.references))
340
- .where(this.buildRelationWhere(targetSchema, include.filter, eq(relation.through.sourceKey, sourceId)));
460
+ .where(this.buildRelationWhere(targetSchema, include.filter, eq(relation.through.sourceKey, sourceId), sc));
341
461
  if (perParentLimit != null) {
342
462
  perQuery = perQuery.limit(perParentLimit);
343
463
  }
@@ -356,7 +476,7 @@ export class RelationLoader {
356
476
  })
357
477
  .from(targetSchema)
358
478
  .innerJoin(relation.through.schema, eq(relation.through.targetKey, relation.references))
359
- .where(this.buildRelationWhere(targetSchema, include.filter, inArray(relation.through.sourceKey, sourceIds)));
479
+ .where(this.buildRelationWhere(targetSchema, include.filter, inArray(relation.through.sourceKey, sourceIds), sc));
360
480
  const targetItems = await query;
361
481
  for (const targetItem of targetItems) {
362
482
  const sourceId = String(targetItem._sourceId);
@@ -376,11 +496,11 @@ export class RelationLoader {
376
496
  const targetIdColumn = relation.references.name ?? "id";
377
497
  for (const [sourceId, related] of result) {
378
498
  if (Array.isArray(related)) {
379
- const withNested = await nestedLoader.loadRelationsForItems(related, include.nested, targetIdColumn, depth + 1);
499
+ const withNested = await nestedLoader.loadRelationsForItems(related, include.nested, targetIdColumn, depth + 1, ctx);
380
500
  result.set(sourceId, withNested);
381
501
  }
382
502
  else if (related) {
383
- const withNested = await nestedLoader.loadRelationsForItem(related, include.nested, targetIdColumn, depth + 1);
503
+ const withNested = await nestedLoader.loadRelationsForItem(related, include.nested, targetIdColumn, depth + 1, ctx);
384
504
  result.set(sourceId, withNested);
385
505
  }
386
506
  }
@@ -1 +1 @@
1
- {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/resource/relations.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,GAAG,EACH,EAAE,EAIF,eAAe,EACf,OAAO,GACR,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAgDhD,MAAM,aAAa,GAAG,CAAC,GAAW,EAAE,SAAiB,EAAY,EAAE;IACjE,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,OAAO,GAAG,EAAE,CAAC;IAEjB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;QACvB,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;aACrC,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG;YAAE,KAAK,EAAE,CAAC;QAE/C,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,GAAG,EAAE,CAAC;QACf,CAAC;aAAM,CAAC;YACN,OAAO,IAAI,IAAI,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,OAAO;QAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAClC,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,CAAC,UAAkB,EAAwB,EAAE;IACvE,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEtC,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACpC,IAAI,UAAU,KAAK,CAAC,CAAC;YAAE,SAAS;QAEhC,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/C,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,QAAQ;gBACX,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACtD,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC;gBACtB,MAAM;YACR,KAAK,OAAO;gBACV,MAAM,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,CAAC,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACpC,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAY,EAAe,EAAE;IACrD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,QAAQ,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;QACvC,OAAO;YACL,QAAQ,EAAE,MAAM;YAChB,MAAM,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC;SAClC,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QAC3C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClD,MAAM,OAAO,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;QAEhD,OAAO;YACL,QAAQ;YACR,GAAG,OAAO;SACX,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,YAAqB,EAAiB,EAAE;IACnE,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAE7B,MAAM,KAAK,GAAkB,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,aAAa,CAAC,YAAY,EAAE,GAAG,CAAC,CAAC;IAE/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAC/B,UAAkB,EAClB,SAA0B,EACN,EAAE;IACtB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,MAAM,UAAU,GAAa,EAAE,CAAC;IAEhC,MAAM,KAAK,GAAG,aAAa,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC7D,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,CAAC,EAAE,YAAY,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC;YAC3C,IAAI,SAAS,CAAC,YAAa,CAAC,EAAE,CAAC;gBAC7B,MAAM,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,YAAa,CAAC,IAAI,EAAE,CAAC;gBAC1D,eAAe,CAAC,GAAG,CACjB,YAAa,EACb,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,UAAU,EAAE,CAAC,CAAC,CAAC,UAAW,CACrD,CAAC;gBACF,SAAS;YACX,CAAC;QACH,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IAED,OAAO;QACL,WAAW,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC;QACjC,eAAe;KAChB,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,cAAc;IACzB,YACU,EAAmB,EACnB,YAA4B,EAC5B,SAAmC,EACnC,gBAGP,EACO,SAAwB,EAAE;QAP1B,OAAE,GAAF,EAAE,CAAiB;QACnB,iBAAY,GAAZ,YAAY,CAAgB;QAC5B,cAAS,GAAT,SAAS,CAA0B;QACnC,qBAAgB,GAAhB,gBAAgB,CAGvB;QACO,WAAM,GAAN,MAAM,CAAoB;QAG5B,gBAAW,GAAG,IAAI,GAAG,EAAmD,CAAC;IAF9E,CAAC;IAIJ,gBAAgB;QACd,MAAM,KAAK,GAAkB,EAAE,CAAC;QAChC,KAAK,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;gBAClC,KAAK,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,kBAAkB,CACxB,YAAgC,EAChC,UAA8B,EAC9B,aAAyB;QAEzB,IAAI,CAAC,UAAU;YAAE,OAAO,aAAa,CAAC;QAEtC,IAAI,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,GAAG,oBAAoB,CAC3B,YAAY,EACZ,IAAI,CAAC,MAAM,CAAC,eAAe,IAAI,EAAE,CAClC,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,GAAG,CAAC,aAAa,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAe,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,IAAO,EACP,QAAuB,EACvB,QAAgB,EAChB,QAAgB,CAAC;QAEjB,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;YACxC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC;QAE3B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CACrC,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,CACN,CAAC;YAED,MAAkC,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;QAClE,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,KAAU,EACV,QAAuB,EACvB,QAAgB,EAChB,QAAgB,CAAC;QAEjB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAChD,OAAO,KAAwC,CAAC;QAClD,CAAC;QAED,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,EAAE,CAAC;YACxC,OAAO,KAAwC,CAAC;QAClD,CAAC;QAED,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC;QAEnD,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ;gBAAE,SAAS;YAExB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAC7C,KAAK,EACL,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,KAAK,CACN,CAAC;YAEF,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACnC,MAAkC,CAAC,OAAO,CAAC,QAAQ,CAAC;oBACnD,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAClB,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY;4BAC5D,CAAC,CAAC,EAAE;4BACJ,CAAC,CAAC,IAAI,CAAC,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,OAA0C,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,YAAY,CACxB,IAA6B,EAC7B,QAA8C,EAC9C,OAAoB,EACpB,QAAgB,EAChB,KAAa;QAEb,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;QACrC,MAAM,aAAa,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAEpD,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM;YAClC,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,OAAO,CAAC,MAAM;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CACrC;YACH,CAAC,CAAC,aAAa,CAAC;QAElB,IAAI,KAAK,GAAG,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAE7D,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,OAAO,GAAG,IAAI,CACjB,QAAQ,CAAC,UAA2C,CAAC,IAAI,CAC3D,CAAC;gBACF,IAAI,OAAO,IAAI,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACjC,KAAK,GAAG,KAAK,CAAC,KAAK,CACjB,IAAI,CAAC,kBAAkB,CACrB,YAAY,EACZ,OAAO,CAAC,MAAM,EACd,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAgB,CAAC,CAC1C,CACO,CAAC;gBACX,MAAM;YACR,CAAC;YACD,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,KAAK,GAAG,KAAK,CAAC,KAAK,CACjB,IAAI,CAAC,kBAAkB,CACrB,YAAY,EACZ,OAAO,CAAC,MAAM,EACd,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAiB,CAAC,CAC3C,CACO,CAAC;gBACX,MAAM;YACR,CAAC;YACD,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;gBACxE,CAAC;gBACD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;gBAChC,KAAK,GAAG,IAAI,CAAC,EAAE;qBACZ,MAAM,CAAC,aAAa,CAAC;qBACrB,IAAI,CAAC,YAAY,CAAC;qBAClB,SAAS,CACR,QAAQ,CAAC,OAAO,CAAC,MAAM,EACvB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CACpD;qBACA,KAAK,CACJ,IAAI,CAAC,kBAAkB,CACrB,YAAY,EACZ,OAAO,CAAC,MAAM,EACd,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,QAAiB,CAAC,CAClD,CACO,CAAC;gBACb,MAAM;YACR,CAAC;QACH,CAAC;QAED,MAAM,cAAc,GAClB,OAAO,CAAC,KAAK;YACb,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY;gBAC1B,CAAC,CAAC,SAAS,CAAC,CAAC;QAEjB,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;YAC3B,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,cAAc,CAAU,CAAC;QAC/C,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjD,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAU,CAAC;QAChD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,KAAK,CAAC;QAE5B,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrC,MAAM,YAAY,GAAG,IAAI,cAAc,CACrC,IAAI,CAAC,EAAE,EACP,YAAY,EACZ,cAAc,CAAC,MAAM,CAAC,SAAyC,EAC/D,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,MAAM,CACZ,CAAC;gBAEF,MAAM,cAAc,GAEhB,QAAQ,CAAC,UACV,CAAC,IAAI,IAAI,IAAI,CAAC;gBAEjB,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAClE,OAAO,YAAY,CAAC,qBAAqB,CACvC,OAAoC,EACpC,OAAO,CAAC,MAAM,EACd,cAAc,EACd,KAAK,GAAG,CAAC,CACV,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,OAAO,CAAC,CAAC,CAAC;wBACf,CAAC,CAAC,YAAY,CAAC,oBAAoB,CAC/B,OAAO,CAAC,CAAC,CAA4B,EACrC,OAAO,CAAC,MAAM,EACd,cAAc,EACd,KAAK,GAAG,CAAC,CACV;wBACH,CAAC,CAAC,IAAI,CAAC;gBACX,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;YAClE,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;IAC5B,CAAC;IAEO,KAAK,CAAC,iBAAiB,CAC7B,KAAgC,EAChC,QAA8C,EAC9C,OAAoB,EACpB,QAAgB,EAChB,KAAa;QAEb,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,MAAM,CAAC;QACrC,MAAM,aAAa,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;QAEpD,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,IAAI,CAAC,CAAC;QACjF,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,MAAM,CAAC;QAE1C,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM;YAClC,CAAC,CAAC,MAAM,CAAC,WAAW,CAChB,OAAO,CAAC,MAAM;iBACX,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,aAAa,CAAC;iBACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CACrC;YACH,CAAC,CAAC,aAAa,CAAC;QAElB,QAAQ,QAAQ,CAAC,IAAI,EAAE,CAAC;YACtB,KAAK,WAAW,CAAC,CAAC,CAAC;gBACjB,MAAM,MAAM,GAAI,QAAQ,CAAC,UAA2C,CAAC,IAAI,CAAC;gBAC1E,MAAM,QAAQ,GAAG,KAAK;qBACnB,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;qBAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;gBAE5B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,MAAM,CAAC;gBAEzC,MAAM,OAAO,GAAI,QAAQ,CAAC,UAA2C,CAAC,IAAI,CAAC;gBAC3E,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE;qBAClB,MAAM,CAAC,aAAa,CAAC;qBACrB,IAAI,CAAC,YAAY,CAAC;qBAClB,KAAK,CACJ,IAAI,CAAC,kBAAkB,CACrB,YAAY,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAmB,CAAC,CAClD,CACF,CAAC;gBAEJ,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC;gBAEhC,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmB,CAAC;gBAC7C,KAAK,MAAM,UAAU,IAAI,WAAwC,EAAE,CAAC;oBAClE,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;gBACzD,CAAC;gBAED,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC7B,IAAI,OAAO,IAAI,IAAI,EAAE,CAAC;wBACpB,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EACtB,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,IAAI,CACvC,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,QAAQ,CAAC;YACd,KAAK,SAAS,CAAC,CAAC,CAAC;gBACf,MAAM,cAAc,GAClB,QAAQ,CAAC,IAAI,KAAK,SAAS;oBACzB,CAAC,CAAC,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY;oBAC3C,CAAC,CAAC,SAAS,CAAC;gBAEhB,IAAI,cAAc,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAChC,IAAI,QAAQ,IAAI,IAAI;4BAAE,SAAS;wBAE/B,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE;6BACnB,MAAM,CAAC,aAAa,CAAC;6BACrB,IAAI,CAAC,YAAY,CAAC;6BAClB,KAAK,CACJ,IAAI,CAAC,kBAAkB,CACrB,YAAY,EACZ,OAAO,CAAC,MAAM,EACd,EAAE,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAiB,CAAC,CAC3C,CACF,CAAC;wBAEJ,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;4BAC3B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;wBAC5C,CAAC;wBACD,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACjD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC7C,CAAC;wBAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAA8B,CAAC;wBAC3D,MAAM,CAAC,GAAG,CACR,MAAM,CAAC,QAAQ,CAAC,EAChB,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,IAAI,CACpD,CAAC;oBACJ,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE;qBAClB,MAAM,CAAC;oBACN,GAAG,aAAa;oBAChB,SAAS,EAAE,QAAQ,CAAC,UAAU;iBAC/B,CAAC;qBACD,IAAI,CAAC,YAAY,CAAC;qBAClB,KAAK,CACJ,IAAI,CAAC,kBAAkB,CACrB,YAAY,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAoB,CAAC,CACnD,CACF,CAAC;gBAEJ,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC;gBAEhC,IAAI,QAAQ,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC/B,KAAK,MAAM,UAAU,IAAI,WAAwC,EAAE,CAAC;wBAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;wBAC9C,OAAQ,UAAsC,CAAC,SAAS,CAAC;wBACzD,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,UAAU,IAAI,WAAwC,EAAE,CAAC;wBAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;wBAC9C,OAAQ,UAAsC,CAAC,SAAS,CAAC;wBAEzD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;4BAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;wBAC3B,CAAC;wBACA,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBACvD,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,CAAC;YAED,KAAK,YAAY,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,QAAQ,CAAC,OAAO;oBAAE,MAAM;gBAE7B,MAAM,cAAc,GAAG,OAAO,CAAC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC;gBAEjE,IAAI,cAAc,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;oBACrD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;wBACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAChC,IAAI,QAAQ,IAAI,IAAI;4BAAE,SAAS;wBAE/B,IAAI,QAAQ,GAAG,IAAI,CAAC,EAAE;6BACnB,MAAM,CAAC,aAAa,CAAC;6BACrB,IAAI,CAAC,YAAY,CAAC;6BAClB,SAAS,CACR,QAAQ,CAAC,OAAO,CAAC,MAAM,EACvB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CACpD;6BACA,KAAK,CACJ,IAAI,CAAC,kBAAkB,CACrB,YAAY,EACZ,OAAO,CAAC,MAAM,EACd,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,QAAiB,CAAC,CAClD,CACF,CAAC;wBAEJ,IAAI,cAAc,IAAI,IAAI,EAAE,CAAC;4BAC3B,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;wBAC5C,CAAC;wBACD,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACjD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;wBAC7C,CAAC;wBAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAA8B,CAAC;wBAC3D,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,CAAC;oBACrC,CAAC;oBACD,MAAM;gBACR,CAAC;gBAED,MAAM,KAAK,GAAG,IAAI,CAAC,EAAE;qBAClB,MAAM,CAAC;oBACN,GAAG,aAAa;oBAChB,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS;iBACtC,CAAC;qBACD,IAAI,CAAC,YAAY,CAAC;qBAClB,SAAS,CACR,QAAQ,CAAC,OAAO,CAAC,MAAM,EACvB,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,CAAC,UAAU,CAAC,CACpD;qBACA,KAAK,CACJ,IAAI,CAAC,kBAAkB,CACrB,YAAY,EACZ,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,SAAoB,CAAC,CAC1D,CACF,CAAC;gBAEJ,MAAM,WAAW,GAAG,MAAM,KAAK,CAAC;gBAEhC,KAAK,MAAM,UAAU,IAAI,WAAwC,EAAE,CAAC;oBAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBAC9C,OAAQ,UAAsC,CAAC,SAAS,CAAC;oBAEzD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC1B,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAC3B,CAAC;oBACA,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvD,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YACpE,IAAI,cAAc,EAAE,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrC,MAAM,YAAY,GAAG,IAAI,cAAc,CACrC,IAAI,CAAC,EAAE,EACP,YAAY,EACZ,cAAc,CAAC,MAAM,CAAC,SAAyC,EAC/D,IAAI,CAAC,gBAAgB,EACrB,IAAI,CAAC,MAAM,CACZ,CAAC;gBAEF,MAAM,cAAc,GACjB,QAAQ,CAAC,UAA2C,CAAC,IAAI,IAAI,IAAI,CAAC;gBAErE,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,EAAE,CAAC;oBACzC,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;wBAC3B,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,qBAAqB,CACzD,OAAoC,EACpC,OAAO,CAAC,MAAM,EACd,cAAc,EACd,KAAK,GAAG,CAAC,CACV,CAAC;wBACF,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBACnC,CAAC;yBAAM,IAAI,OAAO,EAAE,CAAC;wBACnB,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,oBAAoB,CACxD,OAAkC,EAClC,OAAO,CAAC,MAAM,EACd,cAAc,EACd,KAAK,GAAG,CAAC,CACV,CAAC;wBACF,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;oBACnC,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAClC,EAAmB,EACnB,YAA4B,EAC5B,SAAmC,EACnC,gBAGC,EACD,MAAsB,EACG,EAAE;IAC3B,OAAO,IAAI,cAAc,CAAC,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,CAAC,CAAC;AACnF,CAAC,CAAC"}
1
+ {"version":3,"file":"relations.js","sourceRoot":"","sources":["../../src/resource/relations.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,13 @@
1
1
  import { SSEWriter } from "../server/sse.js";
2
2
  import { Filter } from "./filter.js";
3
- import { Subscription, ChangelogEntry } from "./types.js";
3
+ import { Subscription, SubscriptionEvent, ChangelogEntry } from "./types.js";
4
4
  export type BackpressurePolicy = "invalidate" | "disconnect" | "drop";
5
+ export type EventRenderer = (event: SubscriptionEvent | {
6
+ type: "invalidate";
7
+ reason?: string;
8
+ }) => string;
9
+ export declare const stashRenderer: (renderer: EventRenderer) => string;
10
+ export declare const takeRenderer: (token: string) => EventRenderer | undefined;
5
11
  export declare const registerResourceMask: (resource: string, mask: (item: Record<string, unknown>) => Record<string, unknown>) => void;
6
12
  type AggregateWatcher = (changed?: Record<string, unknown>[]) => void;
7
13
  export declare const registerAggregateWatcher: (resource: string, watcher: AggregateWatcher) => (() => void);
@@ -21,7 +27,7 @@ export interface CreateSubscriptionOptions {
21
27
  export declare const createSubscription: (options: CreateSubscriptionOptions) => Promise<string>;
22
28
  export declare const removeSubscription: (subscriptionId: string) => Promise<void>;
23
29
  export declare const getSubscription: (subscriptionId: string) => Promise<Subscription | undefined>;
24
- export declare const registerHandler: (handlerId: string, writer: SSEWriter, backpressurePolicy?: BackpressurePolicy) => void;
30
+ export declare const registerHandler: (handlerId: string, writer: SSEWriter, backpressurePolicy?: BackpressurePolicy, renderer?: EventRenderer) => void;
25
31
  export declare const unregisterHandler: (handlerId: string) => Promise<void>;
26
32
  export declare const initializeEventSubscription: () => Promise<void>;
27
33
  export declare const sendExistingItems: <T extends Record<string, unknown>>(subscriptionId: string, items: T[], idColumn: string) => Promise<void>;
@@ -34,7 +40,14 @@ export declare const invalidateResourceSubscriptions: (resource: string, reason?
34
40
  export declare const processChangelogEntries: (entries: ChangelogEntry[], filterFactory: Filter, idColumn: string) => Promise<void>;
35
41
  export declare const getSubscriptionsForResource: (resource: string) => Promise<Subscription[]>;
36
42
  export declare const updateSubscriptionSeq: (subscriptionId: string, seq: number) => Promise<void>;
43
+ export declare const updateSubscriptionScope: (subscriptionId: string, scopeFilter: string | undefined) => Promise<void>;
44
+ export declare const applyScopeChange: <T extends Record<string, unknown>>(subscriptionId: string, newScopeFilter: string | undefined, matchingItems: T[], idColumn: string, relationLoader?: RelationLoader<T>) => Promise<{
45
+ added: number;
46
+ removed: number;
47
+ }>;
37
48
  export declare const getCatchupEvents: (subscriptionId: string, sinceSeq: number) => Promise<ChangelogEntry[] | null>;
49
+ export type CatchupResult = "replayed" | "invalidate" | "no-subscription";
50
+ export declare const sendCatchupEvents: <T extends Record<string, unknown>>(subscriptionId: string, sinceSeq: number, uptoSeq: number, filterFactory: Filter, idColumn: string, relationLoader?: RelationLoader<T>) => Promise<CatchupResult>;
38
51
  export declare const isHandlerConnected: (handlerId: string) => boolean;
39
52
  export declare const getHandlerSubscriptions: (handlerId: string) => Promise<string[]>;
40
53
  export declare const clearRelevantObjects: (subscriptionId: string) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/resource/subscription.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"subscription.d.ts","sourceRoot":"","sources":["../../src/resource/subscription.ts"],"names":[],"mappings":"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"}