@rhino-dev/rhino-nestjs 4.4.0 → 4.6.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.
- package/README.md +1 -0
- package/dist/blueprint/blueprint-parser.d.ts +12 -0
- package/dist/blueprint/blueprint-parser.js +11 -0
- package/dist/blueprint/blueprint-parser.js.map +1 -1
- package/dist/blueprint/generators/resource-definition-generator.js +4 -0
- package/dist/blueprint/generators/resource-definition-generator.js.map +1 -1
- package/dist/blueprint/generators/test-generator.js +16 -1
- package/dist/blueprint/generators/test-generator.js.map +1 -1
- package/dist/controllers/global.controller.js +8 -1
- package/dist/controllers/global.controller.js.map +1 -1
- package/dist/decorators/index.d.ts +5 -0
- package/dist/decorators/index.js +11 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/errors/rhino-exception.d.ts +6 -1
- package/dist/errors/rhino-exception.js +7 -0
- package/dist/errors/rhino-exception.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces/rhino-config.interface.d.ts +15 -0
- package/dist/rhino.config.d.ts +7 -0
- package/dist/rhino.config.js +25 -0
- package/dist/rhino.config.js.map +1 -1
- package/dist/rhino.module.js +3 -0
- package/dist/rhino.module.js.map +1 -1
- package/dist/services/query-builder.service.d.ts +8 -0
- package/dist/services/query-builder.service.js +24 -1
- package/dist/services/query-builder.service.js.map +1 -1
- package/dist/services/resource-scope.service.d.ts +50 -0
- package/dist/services/resource-scope.service.js +121 -0
- package/dist/services/resource-scope.service.js.map +1 -0
- package/dist/services/resource.service.d.ts +16 -6
- package/dist/services/resource.service.js +48 -5
- package/dist/services/resource.service.js.map +1 -1
- package/dist/services/serializer.service.d.ts +10 -0
- package/dist/services/serializer.service.js +26 -2
- package/dist/services/serializer.service.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/utils/model-builder.d.ts +2 -0
- package/dist/utils/model-builder.js +2 -0
- package/dist/utils/model-builder.js.map +1 -1
- package/package.json +1 -1
package/dist/rhino.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rhino.config.js","sourceRoot":"","sources":["../src/rhino.config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"rhino.config.js","sourceRoot":"","sources":["../src/rhino.config.ts"],"names":[],"mappings":"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"}
|
package/dist/rhino.module.js
CHANGED
|
@@ -20,6 +20,7 @@ const rhino_config_1 = require("./rhino.config");
|
|
|
20
20
|
const tokens_1 = require("./constants/tokens");
|
|
21
21
|
const prisma_service_1 = require("./prisma/prisma.service");
|
|
22
22
|
const resource_service_1 = require("./services/resource.service");
|
|
23
|
+
const resource_scope_service_1 = require("./services/resource-scope.service");
|
|
23
24
|
const query_builder_service_1 = require("./services/query-builder.service");
|
|
24
25
|
const serializer_service_1 = require("./services/serializer.service");
|
|
25
26
|
const validation_service_1 = require("./services/validation.service");
|
|
@@ -220,6 +221,7 @@ let RhinoModule = RhinoModule_1 = class RhinoModule {
|
|
|
220
221
|
rhino_config_1.RhinoConfigService,
|
|
221
222
|
prisma_service_1.PrismaService,
|
|
222
223
|
resource_service_1.ResourceService,
|
|
224
|
+
resource_scope_service_1.ResourceScopeService,
|
|
223
225
|
query_builder_service_1.QueryBuilderService,
|
|
224
226
|
serializer_service_1.SerializerService,
|
|
225
227
|
validation_service_1.ValidationService,
|
|
@@ -251,6 +253,7 @@ let RhinoModule = RhinoModule_1 = class RhinoModule {
|
|
|
251
253
|
rhino_config_1.RhinoConfigService,
|
|
252
254
|
prisma_service_1.PrismaService,
|
|
253
255
|
resource_service_1.ResourceService,
|
|
256
|
+
resource_scope_service_1.ResourceScopeService,
|
|
254
257
|
query_builder_service_1.QueryBuilderService,
|
|
255
258
|
serializer_service_1.SerializerService,
|
|
256
259
|
validation_service_1.ValidationService,
|
package/dist/rhino.module.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rhino.module.js","sourceRoot":"","sources":["../src/rhino.module.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rhino.module.js","sourceRoot":"","sources":["../src/rhino.module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ModelRegistration } from '../interfaces/rhino-config.interface';
|
|
2
|
+
import { RhinoConfigService } from '../rhino.config';
|
|
2
3
|
export interface ParsedQuery {
|
|
3
4
|
where: Record<string, any>;
|
|
4
5
|
orderBy: any;
|
|
@@ -21,6 +22,13 @@ export interface ParsedQuery {
|
|
|
21
22
|
* ?include=user,comments.author — eager loading with dot-notation
|
|
22
23
|
*/
|
|
23
24
|
export declare class QueryBuilderService {
|
|
25
|
+
private readonly config?;
|
|
26
|
+
/**
|
|
27
|
+
* Config is optional for backwards compatibility (`new QueryBuilderService()`
|
|
28
|
+
* in older tests/consumers) — without it, only the per-model `routeKey`
|
|
29
|
+
* is seeded into `?fields[]` selects (global default falls back to 'id').
|
|
30
|
+
*/
|
|
31
|
+
constructor(config?: RhinoConfigService);
|
|
24
32
|
build(query: Record<string, any>, reg: ModelRegistration, opts?: {
|
|
25
33
|
namedScopes?: boolean;
|
|
26
34
|
}): ParsedQuery;
|
|
@@ -5,9 +5,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
8
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
15
|
exports.QueryBuilderService = void 0;
|
|
10
16
|
const common_1 = require("@nestjs/common");
|
|
17
|
+
const rhino_config_1 = require("../rhino.config");
|
|
11
18
|
const rhino_exception_1 = require("../errors/rhino-exception");
|
|
12
19
|
/**
|
|
13
20
|
* Parses query string parameters into Prisma-compatible `findMany` args.
|
|
@@ -21,6 +28,15 @@ const rhino_exception_1 = require("../errors/rhino-exception");
|
|
|
21
28
|
* ?include=user,comments.author — eager loading with dot-notation
|
|
22
29
|
*/
|
|
23
30
|
let QueryBuilderService = class QueryBuilderService {
|
|
31
|
+
config;
|
|
32
|
+
/**
|
|
33
|
+
* Config is optional for backwards compatibility (`new QueryBuilderService()`
|
|
34
|
+
* in older tests/consumers) — without it, only the per-model `routeKey`
|
|
35
|
+
* is seeded into `?fields[]` selects (global default falls back to 'id').
|
|
36
|
+
*/
|
|
37
|
+
constructor(config) {
|
|
38
|
+
this.config = config;
|
|
39
|
+
}
|
|
24
40
|
build(query, reg, opts = {}) {
|
|
25
41
|
const parsed = {
|
|
26
42
|
where: this.buildWhere(query, reg),
|
|
@@ -148,6 +164,11 @@ let QueryBuilderService = class QueryBuilderService {
|
|
|
148
164
|
const allowed = new Set(reg.allowedFields ?? []);
|
|
149
165
|
const names = String(raw).split(',').map((s) => s.trim()).filter(Boolean);
|
|
150
166
|
const select = { id: true };
|
|
167
|
+
// Seed the resolved route-key column too, so ?fields[] responses always
|
|
168
|
+
// include the value clients need to address the record.
|
|
169
|
+
const routeKey = reg.routeKey ?? this.config?.globalRouteKey() ?? 'id';
|
|
170
|
+
if (routeKey !== 'id')
|
|
171
|
+
select[routeKey] = true;
|
|
151
172
|
for (const name of names) {
|
|
152
173
|
if (allowed.size > 0 && !allowed.has(name)) {
|
|
153
174
|
throw new common_1.BadRequestException(`Field not allowed: ${name}`);
|
|
@@ -165,6 +186,8 @@ let QueryBuilderService = class QueryBuilderService {
|
|
|
165
186
|
};
|
|
166
187
|
exports.QueryBuilderService = QueryBuilderService;
|
|
167
188
|
exports.QueryBuilderService = QueryBuilderService = __decorate([
|
|
168
|
-
(0, common_1.Injectable)()
|
|
189
|
+
(0, common_1.Injectable)(),
|
|
190
|
+
__param(0, (0, common_1.Optional)()),
|
|
191
|
+
__metadata("design:paramtypes", [rhino_config_1.RhinoConfigService])
|
|
169
192
|
], QueryBuilderService);
|
|
170
193
|
//# sourceMappingURL=query-builder.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-builder.service.js","sourceRoot":"","sources":["../../src/services/query-builder.service.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"query-builder.service.js","sourceRoot":"","sources":["../../src/services/query-builder.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { PrismaService } from '../prisma/prisma.service';
|
|
2
|
+
import { RhinoConfigService } from '../rhino.config';
|
|
3
|
+
import { QueryBuilderService } from './query-builder.service';
|
|
4
|
+
import { ScopeService } from './scope.service';
|
|
5
|
+
import { ResourceService, ResourceContext } from './resource.service';
|
|
6
|
+
export interface ScopedWhereOptions {
|
|
7
|
+
/** A whitelisted key of `reg.namedScopes` to AND into the scoped where. */
|
|
8
|
+
namedScope?: string;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Tenant-safe query composer for custom controllers/services that go beyond
|
|
12
|
+
* CRUD (dashboards, aggregations, jobs). This is the NestJS equivalent of the
|
|
13
|
+
* Laravel `Rhino::query` helper.
|
|
14
|
+
*
|
|
15
|
+
* It exposes the SAME scoping `ResourceService` applies to CRUD
|
|
16
|
+
* (`orgFilter` + global `scopes` + optional whitelisted named scope) as a
|
|
17
|
+
* public API, and adds a **fail-closed** guarantee: a model that
|
|
18
|
+
* `belongsToOrganization` MUST be queried with an organization context, or the
|
|
19
|
+
* resolver throws (`403 TENANT_CONTEXT_REQUIRED`) instead of silently returning
|
|
20
|
+
* an unscoped, cross-tenant query.
|
|
21
|
+
*
|
|
22
|
+
* Prefer the convenience delegate helpers (`count`/`aggregate`/`groupBy`/
|
|
23
|
+
* `findMany`) — they inject the scoped where so a caller cannot forget it.
|
|
24
|
+
*/
|
|
25
|
+
export declare class ResourceScopeService extends ResourceService {
|
|
26
|
+
constructor(prisma: PrismaService, config: RhinoConfigService, queryBuilder: QueryBuilderService, scopes?: ScopeService);
|
|
27
|
+
/**
|
|
28
|
+
* Resolve the tenant-safe Prisma `where` for a model in the given context.
|
|
29
|
+
*
|
|
30
|
+
* Composes: `orgFilter` (org isolation) + global `scopes` (user-aware) +
|
|
31
|
+
* an optional whitelisted named scope. **Fails closed** when the model
|
|
32
|
+
* `belongsToOrganization` but no organization is present in `ctx`.
|
|
33
|
+
*/
|
|
34
|
+
scopedWhere(modelSlug: string, ctx?: ResourceContext, opts?: ScopedWhereOptions): Record<string, any>;
|
|
35
|
+
/**
|
|
36
|
+
* Merge the caller-provided `where` under the scoped where so BOTH always
|
|
37
|
+
* apply — the scoped constraints can never be overwritten or dropped.
|
|
38
|
+
*/
|
|
39
|
+
private compose;
|
|
40
|
+
/** Expose the Prisma delegate for advanced use. Prefer the scoped helpers. */
|
|
41
|
+
delegate(modelSlug: string): any;
|
|
42
|
+
/** `count` with the scoped where AND-ed with any caller-provided where. */
|
|
43
|
+
count(modelSlug: string, ctx?: ResourceContext, extraWhere?: Record<string, any>, opts?: ScopedWhereOptions): Promise<number>;
|
|
44
|
+
/** `findMany` with the scoped where AND-ed into `args.where`. */
|
|
45
|
+
findMany(modelSlug: string, ctx?: ResourceContext, args?: Record<string, any>, opts?: ScopedWhereOptions): Promise<any[]>;
|
|
46
|
+
/** `aggregate` with the scoped where AND-ed into `args.where`. */
|
|
47
|
+
aggregate(modelSlug: string, ctx?: ResourceContext, args?: Record<string, any>, opts?: ScopedWhereOptions): Promise<any>;
|
|
48
|
+
/** `groupBy` with the scoped where AND-ed into `args.where`. */
|
|
49
|
+
groupBy(modelSlug: string, ctx?: ResourceContext, args?: Record<string, any>, opts?: ScopedWhereOptions): Promise<any>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.ResourceScopeService = void 0;
|
|
16
|
+
const common_1 = require("@nestjs/common");
|
|
17
|
+
const prisma_service_1 = require("../prisma/prisma.service");
|
|
18
|
+
const rhino_config_1 = require("../rhino.config");
|
|
19
|
+
const query_builder_service_1 = require("./query-builder.service");
|
|
20
|
+
const scope_service_1 = require("./scope.service");
|
|
21
|
+
const resource_service_1 = require("./resource.service");
|
|
22
|
+
const permission_matcher_1 = require("../utils/permission-matcher");
|
|
23
|
+
const rhino_exception_1 = require("../errors/rhino-exception");
|
|
24
|
+
/**
|
|
25
|
+
* Tenant-safe query composer for custom controllers/services that go beyond
|
|
26
|
+
* CRUD (dashboards, aggregations, jobs). This is the NestJS equivalent of the
|
|
27
|
+
* Laravel `Rhino::query` helper.
|
|
28
|
+
*
|
|
29
|
+
* It exposes the SAME scoping `ResourceService` applies to CRUD
|
|
30
|
+
* (`orgFilter` + global `scopes` + optional whitelisted named scope) as a
|
|
31
|
+
* public API, and adds a **fail-closed** guarantee: a model that
|
|
32
|
+
* `belongsToOrganization` MUST be queried with an organization context, or the
|
|
33
|
+
* resolver throws (`403 TENANT_CONTEXT_REQUIRED`) instead of silently returning
|
|
34
|
+
* an unscoped, cross-tenant query.
|
|
35
|
+
*
|
|
36
|
+
* Prefer the convenience delegate helpers (`count`/`aggregate`/`groupBy`/
|
|
37
|
+
* `findMany`) — they inject the scoped where so a caller cannot forget it.
|
|
38
|
+
*/
|
|
39
|
+
let ResourceScopeService = class ResourceScopeService extends resource_service_1.ResourceService {
|
|
40
|
+
constructor(prisma, config, queryBuilder, scopes) {
|
|
41
|
+
super(prisma, config, queryBuilder, scopes);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Resolve the tenant-safe Prisma `where` for a model in the given context.
|
|
45
|
+
*
|
|
46
|
+
* Composes: `orgFilter` (org isolation) + global `scopes` (user-aware) +
|
|
47
|
+
* an optional whitelisted named scope. **Fails closed** when the model
|
|
48
|
+
* `belongsToOrganization` but no organization is present in `ctx`.
|
|
49
|
+
*/
|
|
50
|
+
scopedWhere(modelSlug, ctx = {}, opts = {}) {
|
|
51
|
+
const reg = this.config.model(modelSlug);
|
|
52
|
+
if (!reg)
|
|
53
|
+
throw new Error(`Unknown model: ${modelSlug}`);
|
|
54
|
+
// Fail CLOSED: a tenant-scoped model queried with no org context must NOT
|
|
55
|
+
// silently degrade to an unscoped (cross-tenant) query. Contrast findAll,
|
|
56
|
+
// whose orgFilter simply returns null.
|
|
57
|
+
if (reg.belongsToOrganization && !ctx.organization) {
|
|
58
|
+
throw rhino_exception_1.RhinoException.tenantContextRequired(`Rhino resource scope for '${modelSlug}' requires an organization context`);
|
|
59
|
+
}
|
|
60
|
+
let where = this.orgFilter(modelSlug, ctx.organization) ?? {};
|
|
61
|
+
where = this.applyScopes(where, modelSlug, ctx);
|
|
62
|
+
// AND a client/caller-selected named scope fragment. `applyNamed` fails
|
|
63
|
+
// closed (403) for unknown / non-whitelisted / prototype keys, and AND-wraps
|
|
64
|
+
// so the named scope can never drop the org filter or the global scopes.
|
|
65
|
+
if (opts.namedScope) {
|
|
66
|
+
if (!this.scopes) {
|
|
67
|
+
throw rhino_exception_1.RhinoException.forbidden(`Scope '${opts.namedScope}' is not allowed`);
|
|
68
|
+
}
|
|
69
|
+
where = this.scopes.applyNamed(opts.namedScope, where, reg, {
|
|
70
|
+
user: ctx.user,
|
|
71
|
+
organization: ctx.organization,
|
|
72
|
+
userRole: (0, permission_matcher_1.resolveUserRoleSlug)(ctx.user, ctx.organization?.id),
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
return where;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Merge the caller-provided `where` under the scoped where so BOTH always
|
|
79
|
+
* apply — the scoped constraints can never be overwritten or dropped.
|
|
80
|
+
*/
|
|
81
|
+
compose(modelSlug, ctx, opts, extraWhere) {
|
|
82
|
+
const scoped = this.scopedWhere(modelSlug, ctx, opts);
|
|
83
|
+
if (!extraWhere || Object.keys(extraWhere).length === 0)
|
|
84
|
+
return scoped;
|
|
85
|
+
return { AND: [scoped, extraWhere] };
|
|
86
|
+
}
|
|
87
|
+
/** Expose the Prisma delegate for advanced use. Prefer the scoped helpers. */
|
|
88
|
+
delegate(modelSlug) {
|
|
89
|
+
return super.delegate(modelSlug);
|
|
90
|
+
}
|
|
91
|
+
/** `count` with the scoped where AND-ed with any caller-provided where. */
|
|
92
|
+
count(modelSlug, ctx = {}, extraWhere, opts = {}) {
|
|
93
|
+
const where = this.compose(modelSlug, ctx, opts, extraWhere);
|
|
94
|
+
return this.delegate(modelSlug).count({ where });
|
|
95
|
+
}
|
|
96
|
+
/** `findMany` with the scoped where AND-ed into `args.where`. */
|
|
97
|
+
findMany(modelSlug, ctx = {}, args = {}, opts = {}) {
|
|
98
|
+
const where = this.compose(modelSlug, ctx, opts, args.where);
|
|
99
|
+
return this.delegate(modelSlug).findMany({ ...args, where });
|
|
100
|
+
}
|
|
101
|
+
/** `aggregate` with the scoped where AND-ed into `args.where`. */
|
|
102
|
+
aggregate(modelSlug, ctx = {}, args = {}, opts = {}) {
|
|
103
|
+
const where = this.compose(modelSlug, ctx, opts, args.where);
|
|
104
|
+
return this.delegate(modelSlug).aggregate({ ...args, where });
|
|
105
|
+
}
|
|
106
|
+
/** `groupBy` with the scoped where AND-ed into `args.where`. */
|
|
107
|
+
groupBy(modelSlug, ctx = {}, args = {}, opts = {}) {
|
|
108
|
+
const where = this.compose(modelSlug, ctx, opts, args.where);
|
|
109
|
+
return this.delegate(modelSlug).groupBy({ ...args, where });
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
exports.ResourceScopeService = ResourceScopeService;
|
|
113
|
+
exports.ResourceScopeService = ResourceScopeService = __decorate([
|
|
114
|
+
(0, common_1.Injectable)(),
|
|
115
|
+
__param(3, (0, common_1.Optional)()),
|
|
116
|
+
__metadata("design:paramtypes", [prisma_service_1.PrismaService,
|
|
117
|
+
rhino_config_1.RhinoConfigService,
|
|
118
|
+
query_builder_service_1.QueryBuilderService,
|
|
119
|
+
scope_service_1.ScopeService])
|
|
120
|
+
], ResourceScopeService);
|
|
121
|
+
//# sourceMappingURL=resource-scope.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resource-scope.service.js","sourceRoot":"","sources":["../../src/services/resource-scope.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,13 +17,23 @@ export interface ResourceContext {
|
|
|
17
17
|
onlyTrashed?: boolean;
|
|
18
18
|
}
|
|
19
19
|
export declare class ResourceService {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
protected readonly prisma: PrismaService;
|
|
21
|
+
protected readonly config: RhinoConfigService;
|
|
22
|
+
protected readonly queryBuilder: QueryBuilderService;
|
|
23
|
+
protected readonly scopes?: ScopeService;
|
|
24
24
|
constructor(prisma: PrismaService, config: RhinoConfigService, queryBuilder: QueryBuilderService, scopes?: ScopeService);
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
protected applyScopes(where: Record<string, any>, modelSlug: string, ctx: ResourceContext): Record<string, any>;
|
|
26
|
+
protected delegate(modelSlug: string): any;
|
|
27
|
+
/**
|
|
28
|
+
* Build the where fragment matching the `:id` URL segment. When the model's
|
|
29
|
+
* resolved route key is `'id'` (the default) this is byte-identical to the
|
|
30
|
+
* legacy behavior including `castId` numification. For a custom route key
|
|
31
|
+
* the param is ALWAYS treated as a string — a digit-only hash like "48291"
|
|
32
|
+
* must not be coerced to a number.
|
|
33
|
+
*/
|
|
34
|
+
protected idWhere(modelSlug: string, id: string | number, hasUuid?: boolean): Record<string, any>;
|
|
35
|
+
/** Whether the model resolves its `:id` segment via a non-PK route key. */
|
|
36
|
+
protected hasCustomRouteKey(modelSlug: string): boolean;
|
|
27
37
|
/** Resolve Prisma where filter for the current org context. */
|
|
28
38
|
protected orgFilter(modelSlug: string, org?: any): Record<string, any> | null;
|
|
29
39
|
findAll(modelSlug: string, rawQuery: Record<string, any>, ctx?: ResourceContext): Promise<FindAllResult>;
|
|
@@ -49,6 +49,23 @@ let ResourceService = class ResourceService {
|
|
|
49
49
|
throw new Error(`Unknown model: ${modelSlug}`);
|
|
50
50
|
return this.prisma.model(reg.model);
|
|
51
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Build the where fragment matching the `:id` URL segment. When the model's
|
|
54
|
+
* resolved route key is `'id'` (the default) this is byte-identical to the
|
|
55
|
+
* legacy behavior including `castId` numification. For a custom route key
|
|
56
|
+
* the param is ALWAYS treated as a string — a digit-only hash like "48291"
|
|
57
|
+
* must not be coerced to a number.
|
|
58
|
+
*/
|
|
59
|
+
idWhere(modelSlug, id, hasUuid) {
|
|
60
|
+
const key = this.config.routeKeyFor(modelSlug);
|
|
61
|
+
if (key === 'id')
|
|
62
|
+
return { id: this.castId(id, hasUuid) };
|
|
63
|
+
return { [key]: String(id) };
|
|
64
|
+
}
|
|
65
|
+
/** Whether the model resolves its `:id` segment via a non-PK route key. */
|
|
66
|
+
hasCustomRouteKey(modelSlug) {
|
|
67
|
+
return this.config.routeKeyFor(modelSlug) !== 'id';
|
|
68
|
+
}
|
|
52
69
|
/** Resolve Prisma where filter for the current org context. */
|
|
53
70
|
orgFilter(modelSlug, org) {
|
|
54
71
|
if (!org)
|
|
@@ -125,7 +142,7 @@ let ResourceService = class ResourceService {
|
|
|
125
142
|
throw new Error(`Unknown model: ${modelSlug}`);
|
|
126
143
|
const delegate = this.delegate(modelSlug);
|
|
127
144
|
const parsed = this.queryBuilder.build(rawQuery, reg);
|
|
128
|
-
let where =
|
|
145
|
+
let where = this.idWhere(modelSlug, id, reg.hasUuid);
|
|
129
146
|
const orgScope = this.orgFilter(modelSlug, ctx.organization);
|
|
130
147
|
if (orgScope)
|
|
131
148
|
Object.assign(where, orgScope);
|
|
@@ -150,7 +167,7 @@ let ResourceService = class ResourceService {
|
|
|
150
167
|
if (!reg)
|
|
151
168
|
throw new Error(`Unknown model: ${modelSlug}`);
|
|
152
169
|
const delegate = this.delegate(modelSlug);
|
|
153
|
-
const where =
|
|
170
|
+
const where = this.idWhere(modelSlug, id, reg.hasUuid);
|
|
154
171
|
const orgScope = this.orgFilter(modelSlug, ctx.organization);
|
|
155
172
|
if (orgScope)
|
|
156
173
|
Object.assign(where, orgScope);
|
|
@@ -165,6 +182,15 @@ let ResourceService = class ResourceService {
|
|
|
165
182
|
return null;
|
|
166
183
|
return delegate.findFirst({ where });
|
|
167
184
|
}
|
|
185
|
+
// A custom route key is not guaranteed unique for Prisma's typed `update`
|
|
186
|
+
// where — resolve the record first, then mutate by primary key. Mirrors
|
|
187
|
+
// the org-scoped branch's not-found semantics (null when no match).
|
|
188
|
+
if (this.hasCustomRouteKey(modelSlug)) {
|
|
189
|
+
const existing = await delegate.findFirst({ where });
|
|
190
|
+
if (!existing)
|
|
191
|
+
return null;
|
|
192
|
+
return delegate.update({ where: { id: existing.id }, data: payload });
|
|
193
|
+
}
|
|
168
194
|
return delegate.update({ where: { id: this.castId(id, reg.hasUuid) }, data: payload });
|
|
169
195
|
}
|
|
170
196
|
async delete(modelSlug, id, ctx = {}) {
|
|
@@ -172,7 +198,7 @@ let ResourceService = class ResourceService {
|
|
|
172
198
|
if (!reg)
|
|
173
199
|
throw new Error(`Unknown model: ${modelSlug}`);
|
|
174
200
|
const delegate = this.delegate(modelSlug);
|
|
175
|
-
const where =
|
|
201
|
+
const where = this.idWhere(modelSlug, id, reg.hasUuid);
|
|
176
202
|
const orgScope = this.orgFilter(modelSlug, ctx.organization);
|
|
177
203
|
if (orgScope)
|
|
178
204
|
Object.assign(where, orgScope);
|
|
@@ -184,6 +210,15 @@ let ResourceService = class ResourceService {
|
|
|
184
210
|
const res = await delegate.deleteMany({ where });
|
|
185
211
|
return res.count > 0;
|
|
186
212
|
}
|
|
213
|
+
// Custom route key: not unique for Prisma's typed `delete` where — resolve
|
|
214
|
+
// then delete by primary key, with org-branch not-found semantics (false).
|
|
215
|
+
if (this.hasCustomRouteKey(modelSlug)) {
|
|
216
|
+
const existing = await delegate.findFirst({ where });
|
|
217
|
+
if (!existing)
|
|
218
|
+
return false;
|
|
219
|
+
await delegate.delete({ where: { id: existing.id } });
|
|
220
|
+
return true;
|
|
221
|
+
}
|
|
187
222
|
await delegate.delete({ where: { id: this.castId(id, reg.hasUuid) } });
|
|
188
223
|
return true;
|
|
189
224
|
}
|
|
@@ -192,7 +227,7 @@ let ResourceService = class ResourceService {
|
|
|
192
227
|
if (!reg?.softDeletes)
|
|
193
228
|
throw new Error(`Model ${modelSlug} does not support soft deletes`);
|
|
194
229
|
const delegate = this.delegate(modelSlug);
|
|
195
|
-
const where =
|
|
230
|
+
const where = this.idWhere(modelSlug, id, reg.hasUuid);
|
|
196
231
|
const orgScope = this.orgFilter(modelSlug, ctx.organization);
|
|
197
232
|
if (orgScope)
|
|
198
233
|
Object.assign(where, orgScope);
|
|
@@ -204,7 +239,7 @@ let ResourceService = class ResourceService {
|
|
|
204
239
|
if (!reg)
|
|
205
240
|
throw new Error(`Unknown model: ${modelSlug}`);
|
|
206
241
|
const delegate = this.delegate(modelSlug);
|
|
207
|
-
const where =
|
|
242
|
+
const where = this.idWhere(modelSlug, id, reg.hasUuid);
|
|
208
243
|
const orgScope = this.orgFilter(modelSlug, ctx.organization);
|
|
209
244
|
if (orgScope)
|
|
210
245
|
Object.assign(where, orgScope);
|
|
@@ -212,6 +247,14 @@ let ResourceService = class ResourceService {
|
|
|
212
247
|
const res = await delegate.deleteMany({ where });
|
|
213
248
|
return res.count > 0;
|
|
214
249
|
}
|
|
250
|
+
// Custom route key: resolve then hard-delete by primary key (see delete()).
|
|
251
|
+
if (this.hasCustomRouteKey(modelSlug)) {
|
|
252
|
+
const existing = await delegate.findFirst({ where });
|
|
253
|
+
if (!existing)
|
|
254
|
+
return false;
|
|
255
|
+
await delegate.delete({ where: { id: existing.id } });
|
|
256
|
+
return true;
|
|
257
|
+
}
|
|
215
258
|
await delegate.delete({ where: { id: this.castId(id, reg.hasUuid) } });
|
|
216
259
|
return true;
|
|
217
260
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource.service.js","sourceRoot":"","sources":["../../src/services/resource.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"resource.service.js","sourceRoot":"","sources":["../../src/services/resource.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { ModelRegistration } from '../interfaces/rhino-config.interface';
|
|
2
|
+
import { RhinoConfigService } from '../rhino.config';
|
|
2
3
|
export declare const BASE_HIDDEN_COLUMNS: string[];
|
|
3
4
|
/**
|
|
4
5
|
* Context object for serialization. `organization` is required for role-based
|
|
@@ -23,6 +24,15 @@ export interface SerializeContext {
|
|
|
23
24
|
* 5. Apply policy whitelist (`permittedAttributesForShow`) — `id` always kept
|
|
24
25
|
*/
|
|
25
26
|
export declare class SerializerService {
|
|
27
|
+
private readonly config?;
|
|
28
|
+
/**
|
|
29
|
+
* Config is optional for backwards compatibility (`new SerializerService()`
|
|
30
|
+
* in older tests/consumers) — without it, only the per-model `routeKey`
|
|
31
|
+
* participates in whitelist retention (the global default falls back to 'id').
|
|
32
|
+
*/
|
|
33
|
+
constructor(config?: RhinoConfigService);
|
|
34
|
+
/** Resolved route key: per-model, then global config default, then 'id'. */
|
|
35
|
+
private routeKeyOf;
|
|
26
36
|
/**
|
|
27
37
|
* @param record The raw record to serialize (from Prisma).
|
|
28
38
|
* @param reg The model registration driving policy + computed attrs.
|