@rhino-dev/rhino-nestjs 4.6.1 → 4.7.2

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.
@@ -42,6 +42,45 @@ export declare class GlobalController {
42
42
  private resolveIncludeTargetSlug;
43
43
  /** Reverse lookup: the registered slug whose model name (or slug) matches. */
44
44
  private slugForModelName;
45
+ /**
46
+ * GET /api/{resource}/computed?attributes=a,b
47
+ *
48
+ * Collection-level computed attributes: each declared callable is evaluated
49
+ * ONCE over the whole (scoped + filtered) collection instead of once per row,
50
+ * which is what makes aggregates such as `activeUsersCount` cheap.
51
+ *
52
+ * Omitting `?attributes=` returns every declared attribute the policy allows.
53
+ */
54
+ /**
55
+ * Split a comma-separated attribute list, dropping blanks and duplicates.
56
+ * A non-string param (e.g. `?attributes[]=x`) is rejected outright.
57
+ */
58
+ private parseAttributeList;
59
+ /**
60
+ * Whether the policy lets this user see a computed attribute.
61
+ *
62
+ * Computed attributes go through the SAME gate as columns:
63
+ * `hiddenAttributesForShow()` blacklists, and `permittedAttributesForShow()`
64
+ * whitelists unless it returns the `['*']` default.
65
+ */
66
+ private computedAttributeAllowed;
67
+ /**
68
+ * Parse and authorize `?attributes=a,b` for the /computed endpoint.
69
+ *
70
+ * An undeclared name and a policy-denied name produce the SAME 403, so the
71
+ * endpoint never reveals which attributes a model declares. Omitting the
72
+ * param selects every declared attribute the policy allows.
73
+ */
74
+ private resolveRequestedCollectionAttributes;
75
+ /**
76
+ * Parse and authorize `?computed_attributes=a,b` for index/show/trashed —
77
+ * the OPT-IN record-level computed attributes. Absent or empty means "none",
78
+ * which is byte-for-byte the pre-feature behavior.
79
+ */
80
+ private resolveRequestedComputedAttributes;
81
+ computed(modelSlug: string, query: any, req: ReqWithCtx): Promise<{
82
+ data: Record<string, any>;
83
+ }>;
45
84
  trashed(modelSlug: string, query: any, req: ReqWithCtx): Promise<import("../interceptors/response.interceptor").PaginatedShape | {
46
85
  data: any[];
47
86
  }>;
@@ -114,16 +114,115 @@ let GlobalController = class GlobalController {
114
114
  }
115
115
  return null;
116
116
  }
117
+ /**
118
+ * GET /api/{resource}/computed?attributes=a,b
119
+ *
120
+ * Collection-level computed attributes: each declared callable is evaluated
121
+ * ONCE over the whole (scoped + filtered) collection instead of once per row,
122
+ * which is what makes aggregates such as `activeUsersCount` cheap.
123
+ *
124
+ * Omitting `?attributes=` returns every declared attribute the policy allows.
125
+ */
126
+ /**
127
+ * Split a comma-separated attribute list, dropping blanks and duplicates.
128
+ * A non-string param (e.g. `?attributes[]=x`) is rejected outright.
129
+ */
130
+ parseAttributeList(raw) {
131
+ if (typeof raw !== 'string') {
132
+ throw rhino_exception_1.RhinoException.forbidden('Computed attributes are not allowed');
133
+ }
134
+ return [...new Set(raw.split(',').map((s) => s.trim()).filter(Boolean))];
135
+ }
136
+ /**
137
+ * Whether the policy lets this user see a computed attribute.
138
+ *
139
+ * Computed attributes go through the SAME gate as columns:
140
+ * `hiddenAttributesForShow()` blacklists, and `permittedAttributesForShow()`
141
+ * whitelists unless it returns the `['*']` default.
142
+ */
143
+ computedAttributeAllowed(name, reg, req) {
144
+ if (!reg.policy)
145
+ return true;
146
+ const policy = new reg.policy();
147
+ const hidden = policy.hiddenAttributesForShow(req.user, req.organization) ?? [];
148
+ if (hidden.includes(name))
149
+ return false;
150
+ const permitted = policy.permittedAttributesForShow(req.user, req.organization) ?? ['*'];
151
+ if (permitted.length === 1 && permitted[0] === '*')
152
+ return true;
153
+ return permitted.includes(name);
154
+ }
155
+ /**
156
+ * Parse and authorize `?attributes=a,b` for the /computed endpoint.
157
+ *
158
+ * An undeclared name and a policy-denied name produce the SAME 403, so the
159
+ * endpoint never reveals which attributes a model declares. Omitting the
160
+ * param selects every declared attribute the policy allows.
161
+ */
162
+ resolveRequestedCollectionAttributes(raw, declared, reg, req) {
163
+ if (raw == null || raw === '') {
164
+ return Object.keys(declared).filter((name) => this.computedAttributeAllowed(name, reg, req));
165
+ }
166
+ const names = this.parseAttributeList(raw);
167
+ for (const name of names) {
168
+ const isDeclared = Object.prototype.hasOwnProperty.call(declared, name);
169
+ if (!isDeclared || !this.computedAttributeAllowed(name, reg, req)) {
170
+ throw rhino_exception_1.RhinoException.forbidden(`Computed attribute '${name}' is not allowed`);
171
+ }
172
+ }
173
+ return names;
174
+ }
175
+ /**
176
+ * Parse and authorize `?computed_attributes=a,b` for index/show/trashed —
177
+ * the OPT-IN record-level computed attributes. Absent or empty means "none",
178
+ * which is byte-for-byte the pre-feature behavior.
179
+ */
180
+ resolveRequestedComputedAttributes(query, reg, req) {
181
+ const raw = query?.computed_attributes ?? query?.computedAttributes;
182
+ if (raw == null || raw === '')
183
+ return [];
184
+ const names = this.parseAttributeList(raw);
185
+ if (names.length === 0)
186
+ return [];
187
+ const declared = reg.recordComputedAttributes ?? {};
188
+ for (const name of names) {
189
+ const isDeclared = Object.prototype.hasOwnProperty.call(declared, name);
190
+ if (!isDeclared || !this.computedAttributeAllowed(name, reg, req)) {
191
+ throw rhino_exception_1.RhinoException.forbidden(`Computed attribute '${name}' is not allowed`);
192
+ }
193
+ }
194
+ return names;
195
+ }
196
+ async computed(modelSlug, query, req) {
197
+ const reg = this.assertActionAllowed(modelSlug, 'computed');
198
+ const declared = reg.collectionComputedAttributes;
199
+ // A model that declares nothing keeps the pre-feature behavior: the path
200
+ // is simply not a resource of this API.
201
+ if (!declared || Object.keys(declared).length === 0) {
202
+ throw rhino_exception_1.RhinoException.notFound();
203
+ }
204
+ const names = this.resolveRequestedCollectionAttributes(query?.attributes, declared, reg, req);
205
+ const data = await this.resources.computeCollectionAttributes(modelSlug, query, names, {
206
+ user: req.user,
207
+ organization: req.organization,
208
+ });
209
+ return { data };
210
+ }
117
211
  async trashed(modelSlug, query, req) {
118
212
  const reg = this.assertActionAllowed(modelSlug, 'trashed');
119
213
  if (!reg.softDeletes)
120
214
  throw rhino_exception_1.RhinoException.actionDisabled('trashed');
215
+ const computedAttributes = this.resolveRequestedComputedAttributes(query, reg, req);
121
216
  const result = await this.resources.findAll(modelSlug, query, {
122
217
  user: req.user,
123
218
  organization: req.organization,
124
219
  onlyTrashed: true,
125
220
  });
126
- const items = this.serializer.serializeMany(result.items, reg, { user: req.user, organization: req.organization });
221
+ const items = this.serializer.serializeMany(result.items, reg, {
222
+ user: req.user,
223
+ organization: req.organization,
224
+ computedAttributes,
225
+ });
127
226
  if (result.total != null) {
128
227
  return (0, response_interceptor_1.paginated)(items, result.total, result.page, result.perPage);
129
228
  }
@@ -132,11 +231,16 @@ let GlobalController = class GlobalController {
132
231
  async index(modelSlug, query, req) {
133
232
  const reg = this.assertActionAllowed(modelSlug, 'index');
134
233
  this.assertIncludesAuthorized(query?.include, req, modelSlug);
234
+ const computedAttributes = this.resolveRequestedComputedAttributes(query, reg, req);
135
235
  const result = await this.resources.findAll(modelSlug, query, {
136
236
  user: req.user,
137
237
  organization: req.organization,
138
238
  });
139
- const items = this.serializer.serializeMany(result.items, reg, { user: req.user, organization: req.organization });
239
+ const items = this.serializer.serializeMany(result.items, reg, {
240
+ user: req.user,
241
+ organization: req.organization,
242
+ computedAttributes,
243
+ });
140
244
  if (result.total != null) {
141
245
  return (0, response_interceptor_1.paginated)(items, result.total, result.page, result.perPage);
142
246
  }
@@ -145,13 +249,18 @@ let GlobalController = class GlobalController {
145
249
  async show(modelSlug, id, query, req) {
146
250
  const reg = this.assertActionAllowed(modelSlug, 'show');
147
251
  this.assertIncludesAuthorized(query?.include, req, modelSlug);
252
+ const computedAttributes = this.resolveRequestedComputedAttributes(query, reg, req);
148
253
  const record = await this.resources.findOne(modelSlug, id, query, {
149
254
  user: req.user,
150
255
  organization: req.organization,
151
256
  });
152
257
  if (!record)
153
258
  throw rhino_exception_1.RhinoException.notFound();
154
- return this.serializer.serializeOne(record, reg, { user: req.user, organization: req.organization });
259
+ return this.serializer.serializeOne(record, reg, {
260
+ user: req.user,
261
+ organization: req.organization,
262
+ computedAttributes,
263
+ });
155
264
  }
156
265
  async store(modelSlug, body, req) {
157
266
  const reg = this.assertActionAllowed(modelSlug, 'store');
@@ -315,6 +424,15 @@ let GlobalController = class GlobalController {
315
424
  }
316
425
  };
317
426
  exports.GlobalController = GlobalController;
427
+ __decorate([
428
+ (0, common_1.Get)(':modelSlug/computed'),
429
+ __param(0, (0, common_1.Param)('modelSlug')),
430
+ __param(1, (0, common_1.Query)()),
431
+ __param(2, (0, common_1.Req)()),
432
+ __metadata("design:type", Function),
433
+ __metadata("design:paramtypes", [String, Object, Object]),
434
+ __metadata("design:returntype", Promise)
435
+ ], GlobalController.prototype, "computed", null);
318
436
  __decorate([
319
437
  (0, common_1.Get)(':modelSlug/trashed'),
320
438
  __param(0, (0, common_1.Param)('modelSlug')),
@@ -1 +1 @@
1
- {"version":3,"file":"global.controller.js","sourceRoot":"","sources":["../../src/controllers/global.controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"global.controller.js","sourceRoot":"","sources":["../../src/controllers/global.controller.ts"],"names":[],"mappings":"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"}
@@ -171,6 +171,13 @@ function buildModelFolder(slug, reg, groupPrefix) {
171
171
  if (!exceptActions.includes('destroy')) {
172
172
  folders.push({ name: 'Destroy', item: buildDestroyRequests(basePath) });
173
173
  }
174
+ const collectionComputed = Object.keys(reg.collectionComputedAttributes ?? {});
175
+ if (collectionComputed.length > 0 && !exceptActions.includes('computed')) {
176
+ folders.push({
177
+ name: 'Computed Attributes',
178
+ item: buildComputedRequests(basePath, collectionComputed),
179
+ });
180
+ }
174
181
  if (reg.softDeletes) {
175
182
  if (!exceptActions.includes('trashed')) {
176
183
  folders.push({ name: 'Trashed', item: buildTrashedRequests(basePath, reg) });
@@ -223,6 +230,11 @@ function buildIndexRequests(basePath, slug, reg) {
223
230
  [`fields[${slug}]`]: fields.slice(0, 5).join(','),
224
231
  }, hdrs));
225
232
  }
233
+ for (const attribute of Object.keys(reg.recordComputedAttributes ?? {})) {
234
+ requests.push(requestItem(`With computed attribute ${attribute}`, 'GET', basePath, {
235
+ computed_attributes: attribute,
236
+ }, hdrs));
237
+ }
226
238
  if ((reg.allowedSearch ?? []).length > 0) {
227
239
  requests.push(requestItem('Search', 'GET', basePath, { search: 'example' }, hdrs));
228
240
  }
@@ -249,6 +261,23 @@ function buildIndexRequests(basePath, slug, reg) {
249
261
  requests.push(requestItem('Combined', 'GET', basePath, combined, hdrs));
250
262
  return requests;
251
263
  }
264
+ /** Requests for GET {resource}/computed — the collection-level aggregates. */
265
+ function buildComputedRequests(basePath, attributes) {
266
+ const hdrs = defaultHeaders();
267
+ const path = `${basePath}/computed`;
268
+ const requests = [
269
+ requestItem('All computed attributes', 'GET', path, {}, hdrs),
270
+ ];
271
+ for (const attribute of attributes) {
272
+ requests.push(requestItem(`Computed: ${attribute}`, 'GET', path, { attributes: attribute }, hdrs));
273
+ }
274
+ if (attributes.length > 1) {
275
+ requests.push(requestItem('Computed: multiple attributes', 'GET', path, {
276
+ attributes: attributes.join(','),
277
+ }, hdrs));
278
+ }
279
+ return requests;
280
+ }
252
281
  function buildShowRequests(basePath, slug, reg) {
253
282
  const path = `${basePath}/{{modelId}}`;
254
283
  const hdrs = defaultHeaders();
@@ -265,6 +294,11 @@ function buildShowRequests(basePath, slug, reg) {
265
294
  [`fields[${slug}]`]: fields.slice(0, 5).join(','),
266
295
  }, hdrs));
267
296
  }
297
+ for (const attribute of Object.keys(reg.recordComputedAttributes ?? {})) {
298
+ requests.push(requestItem(`Show with computed attribute ${attribute}`, 'GET', path, {
299
+ computed_attributes: attribute,
300
+ }, hdrs));
301
+ }
268
302
  return requests;
269
303
  }
270
304
  function buildStoreRequests(basePath, reg) {
@@ -1 +1 @@
1
- {"version":3,"file":"postman-exporter.js","sourceRoot":"","sources":["../../src/exporters/postman-exporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"postman-exporter.js","sourceRoot":"","sources":["../../src/exporters/postman-exporter.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,10 @@ let ResourcePolicyGuard = class ResourcePolicyGuard {
66
66
  case 'trashed':
67
67
  allowed = policy.viewTrashed(user, org);
68
68
  break;
69
+ case 'computed':
70
+ // The /computed endpoint is a collection read — same gate as index.
71
+ allowed = policy.viewAny(user, org);
72
+ break;
69
73
  case 'restore':
70
74
  allowed = policy.restore(user, null, org);
71
75
  break;
@@ -88,6 +92,8 @@ let ResourcePolicyGuard = class ResourcePolicyGuard {
88
92
  const last = parts[parts.length - 1];
89
93
  if (method === 'GET' && last === 'trashed')
90
94
  return 'trashed';
95
+ if (method === 'GET' && last === 'computed')
96
+ return 'computed';
91
97
  if (method === 'POST' && last === 'restore')
92
98
  return 'restore';
93
99
  if (method === 'DELETE' && (last === 'force-delete' || last === 'force'))
@@ -1 +1 @@
1
- {"version":3,"file":"resource-policy.guard.js","sourceRoot":"","sources":["../../src/guards/resource-policy.guard.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAIwB;AACxB,kDAAqD;AACrD,iEAA6D;AAC7D,oEAAgE;AAChE,+DAA2D;AAG3D,MAAM,cAAc,GAA2B;IAC7C,QAAQ,EAAE,OAAO;IACjB,OAAO,EAAE,MAAM;IACf,IAAI,EAAE,OAAO;IACb,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,QAAQ;IACf,MAAM,EAAE,SAAS;CAClB,CAAC;AAEF;;;GAGG;AAEI,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IACD;IAA7B,YAA6B,MAA0B;QAA1B,WAAM,GAAN,MAAM,CAAoB;IAAG,CAAC;IAE3D,WAAW,CAAC,OAAyB;QACnC,MAAM,GAAG,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,UAAU,EAAgB,CAAC;QAC9D,MAAM,SAAS,GAAW,GAAG,CAAC,MAAM,EAAE,SAAS,IAAK,GAAG,CAAC,MAAc,EAAE,KAAK,CAAC;QAC9E,IAAI,CAAC,SAAS;YAAE,OAAO,IAAI,CAAC,CAAC,2CAA2C;QAExE,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG;YAAE,MAAM,gCAAc,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAE1D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACvC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,GAAG,GAAG,GAAG,CAAC,YAAY,CAAC;QAE7B,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,CAAC;QAC/B,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,gCAAc,EAAE,CAAC;QACtE,MAAM,CAAC,YAAY,GAAG,SAAS,CAAC;QAEhC,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,QAAQ,MAAM,EAAE,CAAC;YACf,KAAK,OAAO;gBACV,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACpC,MAAM;YACR,KAAK,MAAM;gBACT,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACvC,MAAM;YACR,KAAK,OAAO;gBACV,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACnC,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBACzC,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBACxC,MAAM;YACR,KAAK,SAAS;gBACZ,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC1C,MAAM;YACR,KAAK,aAAa;gBAChB,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC9C,MAAM;YACR;gBACE,OAAO,GAAG,IAAA,sCAAiB,EAAC,IAAI,EAAE,GAAG,SAAS,IAAI,MAAM,EAAE,EAAE,GAAG,CAAC,CAAC;QACrE,CAAC;QAED,IAAI,CAAC,OAAO;YAAE,MAAM,gCAAc,CAAC,SAAS,EAAE,CAAC;QAC/C,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,aAAa,CAAC,GAAQ;QAC5B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAgB,CAAC;QACpC,MAAM,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,IAAI,EAAE,CAAW,CAAC;QAC1D,MAAM,KAAK,GAAG,GAAG,CAAC,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACrC,IAAI,MAAM,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC7D,IAAI,MAAM,KAAK,MAAM,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC9D,IAAI,MAAM,KAAK,QAAQ,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,KAAK,OAAO,CAAC;YAAE,OAAO,aAAa,CAAC;QAC/F,IAAI,MAAM,KAAK,KAAK;YAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QACtD,IAAI,MAAM,KAAK,MAAM;YAAE,OAAO,OAAO,CAAC;QACtC,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,OAAO;YAAE,OAAO,QAAQ,CAAC;QAC5D,IAAI,MAAM,KAAK,QAAQ;YAAE,OAAO,SAAS,CAAC;QAC1C,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAA;AArEY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAE0B,iCAAkB;GAD5C,mBAAmB,CAqE/B"}
1
+ {"version":3,"file":"resource-policy.guard.js","sourceRoot":"","sources":["../../src/guards/resource-policy.guard.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,22 @@ import type { ZodSchema } from 'zod';
4
4
  import type { ResourcePolicy } from '../policies/resource-policy';
5
5
  import type { PrismaClientLike } from '../prisma/prisma.service';
6
6
  import type { RhinoNamedScope } from '../services/scope.service';
7
+ /** Callable behind an opt-in record-level computed attribute. */
8
+ export type RecordComputedAttribute = (record: any, user: any) => any;
9
+ /** Context handed to a collection-level computed attribute. */
10
+ export interface CollectionComputedContext {
11
+ /** Fully scoped Prisma where filter — org scope, model scopes, ?scope=, ?filter[]=, ?search=. */
12
+ where: Record<string, any>;
13
+ /** Prisma delegate for this model (e.g. `prisma.user`). */
14
+ delegate: any;
15
+ /** The Prisma client, for aggregates that need to reach other models. */
16
+ prisma: PrismaClientLike;
17
+ user?: any;
18
+ organization?: any;
19
+ modelSlug: string;
20
+ }
21
+ /** Callable behind a collection-level computed attribute. */
22
+ export type CollectionComputedAttribute = (ctx: CollectionComputedContext) => any | Promise<any>;
7
23
  export interface ModelRegistration {
8
24
  /** Prisma model name (camelCase or PascalCase — matches the delegate on prisma client) */
9
25
  model: string;
@@ -50,6 +66,30 @@ export interface ModelRegistration {
50
66
  additionalHiddenColumns?: string[];
51
67
  auditExclude?: string[];
52
68
  computedAttributes?: (record: any, user: any) => Record<string, any>;
69
+ /**
70
+ * OPT-IN record-level computed attributes. Unlike `computedAttributes`,
71
+ * nothing here is evaluated unless the client names it in
72
+ * `?computed_attributes=a,b` on index/show/trashed — so expensive per-row
73
+ * work is only paid for when it is actually wanted. Merged before policy
74
+ * filtering, so `hiddenAttributesForShow()` / `permittedAttributesForShow()`
75
+ * still govern them.
76
+ */
77
+ recordComputedAttributes?: Record<string, RecordComputedAttribute>;
78
+ /**
79
+ * COLLECTION-level computed attributes, served by
80
+ * `GET /api/{resource}/computed?attributes=a,b`. Each entry is evaluated
81
+ * ONCE for the whole collection — not once per row — which is what makes
82
+ * aggregates such as `activeUsersCount` cheap.
83
+ *
84
+ * `ctx.where` is the fully scoped Prisma filter (organization scope, model
85
+ * scopes, `?scope=`, `?filter[]=` and `?search=` already applied), and
86
+ * `ctx.delegate` is the Prisma delegate for the model, so the usual shape is
87
+ * `ctx.delegate.count({ where: { ...ctx.where, status: 'active' } })`.
88
+ *
89
+ * Declaring at least one attribute here is what makes the `/computed` route
90
+ * respond for the model.
91
+ */
92
+ collectionComputedAttributes?: Record<string, CollectionComputedAttribute>;
53
93
  scopes?: Type<any>[];
54
94
  /**
55
95
  * Client-selectable named scopes for ?scope=<key>. Only declared keys are
@@ -131,6 +171,13 @@ export interface RouteGroupConfig {
131
171
  * store a NULL org. When omitted, a group is treated as a tenant group iff
132
172
  * multi-tenancy is enabled. Set `tenant: false` for org-less groups even when
133
173
  * multi-tenancy is on.
174
+ *
175
+ * `tenant: false` also tells the resource-scope resolver
176
+ * (`ResourceScopeService`) that queries made in this group legitimately span
177
+ * every organization: it applies no organization filter and does not throw
178
+ * TENANT_CONTEXT_REQUIRED for an org-scoped model, leaving access to the
179
+ * model's own `scopes`. Only an explicit `false` opts out — every other group
180
+ * keeps failing closed — and an explicit `ctx.organization` still scopes.
134
181
  */
135
182
  tenant?: boolean;
136
183
  }
@@ -10,7 +10,8 @@ export interface TenantRouteRewriteOptions {
10
10
  /**
11
11
  * Path segments to treat as non-tenant even when they match an org slug
12
12
  * (they sit at the api root). Defaults cover the library's built-in
13
- * public/auth endpoints plus `nested`.
13
+ * public/auth endpoints plus `nested`. The prefixes of every route group
14
+ * declared `tenant: false` are always added to this list.
14
15
  */
15
16
  reservedSegments?: string[];
16
17
  /**
@@ -43,7 +43,16 @@ exports.createTenantRouteRewrite = createTenantRouteRewrite;
43
43
  */
44
44
  function createTenantRouteRewrite(args) {
45
45
  const { apiPrefix = 'api', reservedSegments = ['auth', 'invitations', 'nested'], strict = true, enforceMembership = true, } = args.options ?? {};
46
- const reserved = new Set(reservedSegments);
46
+ // Non-tenant route groups (`tenant: false`) live at the API root, alongside
47
+ // auth/invitations/nested — their first path segment is never an organization
48
+ // slug, so it must pass through unrewritten. Merged in rather than replacing
49
+ // an explicit `reservedSegments`, so declaring a back-office group is enough
50
+ // to make its routes reachable.
51
+ const nonTenantPrefixes = Object.values(args.config.routeGroups ?? {})
52
+ .filter((group) => group?.tenant === false)
53
+ .map((group) => String(group?.prefix ?? '').replace(/^\/+/, '').split('/')[0])
54
+ .filter((segment) => segment !== '' && !segment.startsWith(':') && !segment.startsWith('{'));
55
+ const reserved = new Set([...reservedSegments, ...nonTenantPrefixes]);
47
56
  const orgModel = args.config.multiTenant?.organizationModel ?? 'organization';
48
57
  const userOrgModel = args.config.multiTenant?.userOrganizationModel ?? 'userRole';
49
58
  const idColumn = args.config.multiTenant?.organizationIdentifierColumn ?? 'slug';
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-route-rewrite.js","sourceRoot":"","sources":["../../src/middleware/tenant-route-rewrite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant-route-rewrite.js","sourceRoot":"","sources":["../../src/middleware/tenant-route-rewrite.ts"],"names":[],"mappings":"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"}
@@ -49,6 +49,18 @@ export declare class RhinoConfigService {
49
49
  * predicate: multi-tenant enabled and not the public group.
50
50
  */
51
51
  isTenantGroup(name: string | null | undefined): boolean;
52
+ /**
53
+ * Whether the resource-scope resolver must fail closed for a request served
54
+ * by route group `name` — i.e. whether that group has a tenant boundary.
55
+ *
56
+ * Deliberately STRICTER than {@link isTenantGroup}, which answers a
57
+ * membership question and treats the conventional `public` group as org-less:
58
+ * here only a group that explicitly declares `tenant: false` opts out, so a
59
+ * query that reaches an organization-scoped model in any other group (an
60
+ * unknown group, an untagged request, a `public` group, or no request at all)
61
+ * still fails closed instead of silently spanning every tenant.
62
+ */
63
+ groupHasTenantBoundary(name: string | null | undefined): boolean;
52
64
  multiTenantEnabled(): boolean;
53
65
  organizationIdentifierColumn(): string;
54
66
  /**
@@ -114,6 +114,25 @@ let RhinoConfigService = class RhinoConfigService {
114
114
  // Default: a group is org-scoped iff multi-tenancy is enabled.
115
115
  return this.multiTenantEnabled();
116
116
  }
117
+ /**
118
+ * Whether the resource-scope resolver must fail closed for a request served
119
+ * by route group `name` — i.e. whether that group has a tenant boundary.
120
+ *
121
+ * Deliberately STRICTER than {@link isTenantGroup}, which answers a
122
+ * membership question and treats the conventional `public` group as org-less:
123
+ * here only a group that explicitly declares `tenant: false` opts out, so a
124
+ * query that reaches an organization-scoped model in any other group (an
125
+ * unknown group, an untagged request, a `public` group, or no request at all)
126
+ * still fails closed instead of silently spanning every tenant.
127
+ */
128
+ groupHasTenantBoundary(name) {
129
+ if (!name)
130
+ return true;
131
+ const group = this.routeGroup(name);
132
+ if (!group)
133
+ return true;
134
+ return group.tenant !== false;
135
+ }
117
136
  multiTenantEnabled() {
118
137
  const mt = this.config.multiTenant;
119
138
  if (!mt)