@webda/core 4.0.0-beta.4 → 4.0.0-beta.5
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/lib/core/operations.d.ts.map +1 -1
- package/lib/core/operations.js +13 -11
- package/lib/core/operations.js.map +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/models/aclmodel.d.ts +32 -5
- package/lib/models/aclmodel.d.ts.map +1 -1
- package/lib/models/aclmodel.js +34 -9
- package/lib/models/aclmodel.js.map +1 -1
- package/lib/models/ownermodel.model.d.ts +25 -3
- package/lib/models/ownermodel.model.d.ts.map +1 -1
- package/lib/models/ownermodel.model.js +44 -9
- package/lib/models/ownermodel.model.js.map +1 -1
- package/lib/models/permissions.d.ts +236 -0
- package/lib/models/permissions.d.ts.map +1 -0
- package/lib/models/permissions.js +495 -0
- package/lib/models/permissions.js.map +1 -0
- package/lib/models/rolemodel.model.d.ts.map +1 -1
- package/lib/models/rolemodel.model.js +1 -2
- package/lib/models/rolemodel.model.js.map +1 -1
- package/lib/models/user.model.d.ts +12 -0
- package/lib/models/user.model.d.ts.map +1 -1
- package/lib/models/user.model.js +16 -0
- package/lib/models/user.model.js.map +1 -1
- package/lib/rest/restoperationstransport.service.d.ts.map +1 -1
- package/lib/rest/restoperationstransport.service.js +7 -5
- package/lib/rest/restoperationstransport.service.js.map +1 -1
- package/lib/services/audit.model.d.ts +2 -2
- package/lib/services/audit.model.d.ts.map +1 -1
- package/lib/services/audit.model.js +14 -5
- package/lib/services/audit.model.js.map +1 -1
- package/lib/services/binary.service.d.ts +42 -4
- package/lib/services/binary.service.d.ts.map +1 -1
- package/lib/services/binary.service.js +33 -13
- package/lib/services/binary.service.js.map +1 -1
- package/lib/services/domainservice.service.d.ts +74 -3
- package/lib/services/domainservice.service.d.ts.map +1 -1
- package/lib/services/domainservice.service.js +234 -57
- package/lib/services/domainservice.service.js.map +1 -1
- package/package.json +17 -13
- package/webda.module.json +3 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAA2B,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AASnE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"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"}
|
package/lib/core/operations.js
CHANGED
|
@@ -7,6 +7,7 @@ import { useDynamicService, useModelMetadata, useService } from "./hooks.js";
|
|
|
7
7
|
import { emitCoreEvent } from "../events/events.js";
|
|
8
8
|
import { isGeneratorFunction } from "node:util/types";
|
|
9
9
|
import { runWithContext, useContext } from "../contexts/execution.js";
|
|
10
|
+
import { checkStaticModelPermission, loadModelForAction } from "../models/permissions.js";
|
|
10
11
|
import { useLog } from "@webda/workout";
|
|
11
12
|
/**
|
|
12
13
|
* Check if an operation can be executed with the current context
|
|
@@ -305,9 +306,8 @@ async function checkOperation(context, operationId) {
|
|
|
305
306
|
// to fields without parsing the string.
|
|
306
307
|
const summary = err.errors
|
|
307
308
|
.map(e => {
|
|
308
|
-
const path = e.instancePath ||
|
|
309
|
-
? `/${e.params.missingProperty}`
|
|
310
|
-
: "/");
|
|
309
|
+
const path = e.instancePath ||
|
|
310
|
+
(e.params && e.params.missingProperty ? `/${e.params.missingProperty}` : "/");
|
|
311
311
|
return `${path} ${e.message}`;
|
|
312
312
|
})
|
|
313
313
|
.join("; ");
|
|
@@ -398,21 +398,23 @@ export async function callOperation(context, operationId) {
|
|
|
398
398
|
}
|
|
399
399
|
else if (operations[operationId].model) {
|
|
400
400
|
const modelClass = useModel(operations[operationId].model);
|
|
401
|
+
const method = operations[operationId].method;
|
|
401
402
|
if (operations[operationId].static === false) {
|
|
402
|
-
// Instance method — load the model instance and
|
|
403
|
+
// Instance method — load the model instance as the caller (a missing object and an object the caller may
|
|
404
|
+
// not read answer the same NotFound; a refused method is Forbidden) and call the method on it
|
|
403
405
|
// The first argument should be the primary key (uuid)
|
|
404
406
|
const uuid = callArgs[0];
|
|
405
407
|
result = await runWithContext(context, async () => {
|
|
406
|
-
const instance = await modelClass
|
|
407
|
-
|
|
408
|
-
throw new WebdaError.NotFound("Object not found");
|
|
409
|
-
}
|
|
410
|
-
return instance[operations[operationId].method](...callArgs.slice(1));
|
|
408
|
+
const instance = await loadModelForAction(modelClass, uuid, context, method);
|
|
409
|
+
return instance[method](...callArgs.slice(1));
|
|
411
410
|
});
|
|
412
411
|
}
|
|
413
412
|
else {
|
|
414
|
-
// Static/class method —
|
|
415
|
-
result = await runWithContext(context, () =>
|
|
413
|
+
// Static/class method — the model's static canAct is asked without object
|
|
414
|
+
result = await runWithContext(context, async () => {
|
|
415
|
+
await checkStaticModelPermission(modelClass, context, method);
|
|
416
|
+
return modelClass[method](...callArgs);
|
|
417
|
+
});
|
|
416
418
|
}
|
|
417
419
|
}
|
|
418
420
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -23,13 +23,14 @@ export * from "./core/hooks.js";
|
|
|
23
23
|
export * from "./cache/cache.js";
|
|
24
24
|
export * from "./stores/istore.js";
|
|
25
25
|
export * from "./stores/memory.service.js";
|
|
26
|
-
export { MemoryRepository, EventRepository, useRepository } from "@webda/models";
|
|
26
|
+
export { MemoryRepository, EventRepository, useRepository, registerRepository } from "@webda/models";
|
|
27
27
|
export type { ModelClass, Repository } from "@webda/models";
|
|
28
28
|
export * from "./stores/store.js";
|
|
29
29
|
export * from "./utils/abstractdeployer.js";
|
|
30
30
|
export * from "./models/simpleuser.model.js";
|
|
31
31
|
export * from "./models/ident.model.js";
|
|
32
32
|
export * from "./models/aclmodel.js";
|
|
33
|
+
export * from "./models/permissions.js";
|
|
33
34
|
export * from "./models/registry.model.js";
|
|
34
35
|
export * from "./models/user.model.js";
|
|
35
36
|
export * from "./models/password.model.js";
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/index.js
CHANGED
|
@@ -23,12 +23,13 @@ export * from "./core/hooks.js";
|
|
|
23
23
|
export * from "./cache/cache.js";
|
|
24
24
|
export * from "./stores/istore.js";
|
|
25
25
|
export * from "./stores/memory.service.js";
|
|
26
|
-
export { MemoryRepository, EventRepository, useRepository } from "@webda/models";
|
|
26
|
+
export { MemoryRepository, EventRepository, useRepository, registerRepository } from "@webda/models";
|
|
27
27
|
export * from "./stores/store.js";
|
|
28
28
|
export * from "./utils/abstractdeployer.js";
|
|
29
29
|
export * from "./models/simpleuser.model.js";
|
|
30
30
|
export * from "./models/ident.model.js";
|
|
31
31
|
export * from "./models/aclmodel.js";
|
|
32
|
+
export * from "./models/permissions.js";
|
|
32
33
|
export * from "./models/registry.model.js";
|
|
33
34
|
export * from "./models/user.model.js";
|
|
34
35
|
export * from "./models/password.model.js";
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,sBAAsB,CAAC;AACrC,OAAO,KAAK,UAAU,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,CAAC;AACtB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,iBAAiB,CAAC;AAChC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/lib/models/aclmodel.d.ts
CHANGED
|
@@ -1,14 +1,37 @@
|
|
|
1
|
+
import type { IOperationContext } from "../contexts/icontext.js";
|
|
2
|
+
/**
|
|
3
|
+
* Access control entry
|
|
4
|
+
*/
|
|
1
5
|
export type Ace = {
|
|
6
|
+
/**
|
|
7
|
+
* Action the entry applies to ("get", "update", "delete", an action name...)
|
|
8
|
+
*/
|
|
2
9
|
action: string;
|
|
10
|
+
/**
|
|
11
|
+
* Kind of principal: a user id or a group name
|
|
12
|
+
*/
|
|
3
13
|
type: "GROUP" | "USER";
|
|
14
|
+
/**
|
|
15
|
+
* The user id (type USER) or group name (type GROUP) the entry applies to.
|
|
16
|
+
* An entry without principal matches nobody.
|
|
17
|
+
*/
|
|
18
|
+
principal?: string;
|
|
19
|
+
/**
|
|
20
|
+
* Allow or deny: a matching deny wins over any allow
|
|
21
|
+
*/
|
|
4
22
|
allow: boolean;
|
|
5
23
|
};
|
|
6
24
|
/**
|
|
7
25
|
* Allow to define ACLs for the object
|
|
8
26
|
*
|
|
9
27
|
* It is used as an attribute in the model so
|
|
10
|
-
* you can add it later on to existing models
|
|
28
|
+
* you can add it later on to existing models; the model delegates its permissions to it:
|
|
11
29
|
*
|
|
30
|
+
* ```ts
|
|
31
|
+
* async canAct(context: IOperationContext, action: string) {
|
|
32
|
+
* return ResourceAcl.from(this.acl ?? []).canAct(context, action);
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
12
35
|
*/
|
|
13
36
|
export declare class ResourceAcl extends Array<Ace> {
|
|
14
37
|
/**
|
|
@@ -22,11 +45,15 @@ export declare class ResourceAcl extends Array<Ace> {
|
|
|
22
45
|
*/
|
|
23
46
|
fromDto(dto: Ace[]): void;
|
|
24
47
|
/**
|
|
25
|
-
*
|
|
48
|
+
* Check the ACL for the current caller, with the same signature as a model `canAct`
|
|
49
|
+
*
|
|
50
|
+
* An entry matches when its action is `action` and its principal is the caller id (USER) or one of the caller
|
|
51
|
+
* groups (GROUP). A matching deny wins, then a matching allow; with no matching entry the action is refused.
|
|
52
|
+
* Anonymous callers match no entry.
|
|
53
|
+
* @param context - the caller context
|
|
26
54
|
* @param action - the action to check
|
|
27
|
-
* @
|
|
28
|
-
* @returns the result
|
|
55
|
+
* @returns true or the refusal reason
|
|
29
56
|
*/
|
|
30
|
-
canAct(
|
|
57
|
+
canAct(context: IOperationContext, action: string): Promise<string | boolean>;
|
|
31
58
|
}
|
|
32
59
|
//# sourceMappingURL=aclmodel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aclmodel.d.ts","sourceRoot":"","sources":["../../src/models/aclmodel.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,GAAG,GAAG;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF
|
|
1
|
+
{"version":3,"file":"aclmodel.d.ts","sourceRoot":"","sources":["../../src/models/aclmodel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,GAAG,GAAG;IAChB;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,KAAK,EAAE,OAAO,CAAC;CAChB,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,qBAAa,WAAY,SAAQ,KAAK,CAAC,GAAG,CAAC;IACzC;;;OAGG;IACH,KAAK,IAAI,GAAG,EAAE,CAEb;IAED;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAKxB;IAED;;;;;;;;;OASG;IACG,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CA4BlF;CACF"}
|
package/lib/models/aclmodel.js
CHANGED
|
@@ -2,8 +2,13 @@
|
|
|
2
2
|
* Allow to define ACLs for the object
|
|
3
3
|
*
|
|
4
4
|
* It is used as an attribute in the model so
|
|
5
|
-
* you can add it later on to existing models
|
|
5
|
+
* you can add it later on to existing models; the model delegates its permissions to it:
|
|
6
6
|
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* async canAct(context: IOperationContext, action: string) {
|
|
9
|
+
* return ResourceAcl.from(this.acl ?? []).canAct(context, action);
|
|
10
|
+
* }
|
|
11
|
+
* ```
|
|
7
12
|
*/
|
|
8
13
|
export class ResourceAcl extends Array {
|
|
9
14
|
/**
|
|
@@ -24,19 +29,39 @@ export class ResourceAcl extends Array {
|
|
|
24
29
|
}
|
|
25
30
|
}
|
|
26
31
|
/**
|
|
27
|
-
*
|
|
32
|
+
* Check the ACL for the current caller, with the same signature as a model `canAct`
|
|
33
|
+
*
|
|
34
|
+
* An entry matches when its action is `action` and its principal is the caller id (USER) or one of the caller
|
|
35
|
+
* groups (GROUP). A matching deny wins, then a matching allow; with no matching entry the action is refused.
|
|
36
|
+
* Anonymous callers match no entry.
|
|
37
|
+
* @param context - the caller context
|
|
28
38
|
* @param action - the action to check
|
|
29
|
-
* @
|
|
30
|
-
* @returns the result
|
|
39
|
+
* @returns true or the refusal reason
|
|
31
40
|
*/
|
|
32
|
-
async canAct(
|
|
33
|
-
|
|
34
|
-
|
|
41
|
+
async canAct(context, action) {
|
|
42
|
+
const userId = context?.getCurrentUserId();
|
|
43
|
+
if (!userId) {
|
|
44
|
+
return "no matching ACE in resource ACL";
|
|
45
|
+
}
|
|
46
|
+
const entries = this.filter(a => a.action === action && a.principal);
|
|
47
|
+
let groups;
|
|
48
|
+
const matches = async (ace) => {
|
|
49
|
+
if (ace.type === "USER") {
|
|
50
|
+
return ace.principal === userId;
|
|
51
|
+
}
|
|
52
|
+
if (ace.type === "GROUP") {
|
|
53
|
+
groups ??= (await context.getCurrentUser())?.getGroups?.() ?? [];
|
|
54
|
+
return groups.includes(ace.principal);
|
|
55
|
+
}
|
|
56
|
+
return false;
|
|
57
|
+
};
|
|
58
|
+
for (const ace of entries.filter(a => !a.allow)) {
|
|
59
|
+
if (await matches(ace)) {
|
|
35
60
|
return "explicitly denied by resource ACL";
|
|
36
61
|
}
|
|
37
62
|
}
|
|
38
|
-
for (const ace of
|
|
39
|
-
if (ace
|
|
63
|
+
for (const ace of entries.filter(a => a.allow)) {
|
|
64
|
+
if (await matches(ace)) {
|
|
40
65
|
return true;
|
|
41
66
|
}
|
|
42
67
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aclmodel.js","sourceRoot":"","sources":["../../src/models/aclmodel.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"aclmodel.js","sourceRoot":"","sources":["../../src/models/aclmodel.ts"],"names":[],"mappings":"AAyBA;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,WAAY,SAAQ,KAAU;IACzC;;;OAGG;IACH,KAAK;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;OAGG;IACH,OAAO,CAAC,GAAU;QAChB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,GAAG,IAAI,GAAG,EAAE,CAAC;YACtB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM,CAAC,OAA0B,EAAE,MAAc;QACrD,MAAM,MAAM,GAAG,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAC3C,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,iCAAiC,CAAC;QAC3C,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC;QACrE,IAAI,MAA4B,CAAC;QACjC,MAAM,OAAO,GAAG,KAAK,EAAE,GAAQ,EAAoB,EAAE;YACnD,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,OAAO,GAAG,CAAC,SAAS,KAAK,MAAM,CAAC;YAClC,CAAC;YACD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,SAAS,EAAE,EAAE,IAAI,EAAE,CAAC;gBACjE,OAAO,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;QACF,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAChD,IAAI,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,mCAAmC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC/C,IAAI,MAAM,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,iCAAiC,CAAC;IAC3C,CAAC;CACF"}
|
|
@@ -4,8 +4,8 @@ import { IOperationContext } from "../contexts/icontext.js";
|
|
|
4
4
|
/**
|
|
5
5
|
* Abstract class to define an object with an owner
|
|
6
6
|
*
|
|
7
|
-
* The owner is the user that created the object
|
|
8
|
-
* The owner
|
|
7
|
+
* The owner is the user that created the object, set from the caller on create.
|
|
8
|
+
* The owner is never taken from client input.
|
|
9
9
|
*/
|
|
10
10
|
export declare abstract class AbstractOwnerModel<T extends User> extends UuidModel {
|
|
11
11
|
/**
|
|
@@ -23,6 +23,17 @@ export declare abstract class AbstractOwnerModel<T extends User> extends UuidMod
|
|
|
23
23
|
* @returns
|
|
24
24
|
*/
|
|
25
25
|
abstract getOwnerModel(): ModelClass<T>;
|
|
26
|
+
/**
|
|
27
|
+
* Attributes never taken from client input by the DomainService (REST, gRPC, MCP) or GraphQL
|
|
28
|
+
* @returns the attribute names
|
|
29
|
+
*/
|
|
30
|
+
static getProtectedAttributes(): string[];
|
|
31
|
+
/**
|
|
32
|
+
* Called by the DomainService (and GraphQL) on a new object built from client input, before the
|
|
33
|
+
* `canAct(context, "create")` check and the save: the caller becomes the owner
|
|
34
|
+
* @param context - the caller context
|
|
35
|
+
*/
|
|
36
|
+
prepareCreate(context: IOperationContext): void;
|
|
26
37
|
/**
|
|
27
38
|
* Set object owner
|
|
28
39
|
* @param uuid - the unique identifier
|
|
@@ -43,7 +54,18 @@ export declare abstract class AbstractOwnerModel<T extends User> extends UuidMod
|
|
|
43
54
|
*/
|
|
44
55
|
canAct(context: IOperationContext, action: string): Promise<string | boolean>;
|
|
45
56
|
/**
|
|
46
|
-
*
|
|
57
|
+
* Whether an action is a binary read (a behavior action of Binary/Binaries): `avatar.download`, `photos.get`...
|
|
58
|
+
* @param action - the action name
|
|
59
|
+
* @returns true for the read actions of binary attributes
|
|
60
|
+
*/
|
|
61
|
+
static isBinaryRead(action: string): boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Return a query to filter OwnerModel: the objects of the caller and the public ones
|
|
64
|
+
*
|
|
65
|
+
* The user id is bound as an escaped WebdaQL value, it can never change the query structure.
|
|
66
|
+
*
|
|
67
|
+
* Subclasses inherit this filter even when they override `canAct` (it fails closed: it can only hide rows). A
|
|
68
|
+
* subclass whose `canAct` is more permissive overrides this method (returning `null` disables the store filter).
|
|
47
69
|
*
|
|
48
70
|
* @param context - the execution context
|
|
49
71
|
* @returns the result
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownermodel.model.d.ts","sourceRoot":"","sources":["../../src/models/ownermodel.model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"ownermodel.model.d.ts","sourceRoot":"","sources":["../../src/models/ownermodel.model.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,UAAU,EAAE,SAAS,EAAE,KAAK,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;;;;GAKG;AACH,8BAAsB,kBAAkB,CAAC,CAAC,SAAS,IAAI,CAAE,SAAQ,SAAS;IACxE;;OAEG;IACH,IAAI,KAAK,IAAI,SAAS,CAAC,CAAC,CAAC,CAExB;IACD,IAAI,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,EAU7D;IACD;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB;;;OAGG;IACH,QAAQ,CAAC,aAAa,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;IAExC;;;OAGG;IACH,MAAM,CAAC,sBAAsB,IAAI,MAAM,EAAE,CAExC;IAED;;;;OAIG;IACH,aAAa,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAQ9C;IAED;;;OAGG;IACH,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,IAAI,CAGtC;IAED;;;;;OAKG;IACH,QAAQ,IAAI,SAAS,CAAC,CAAC,CAAC,CAEvB;IAED;;;;;OAKG;IACG,MAAM,CAAC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAWlF;IAED;;;;OAIG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE3C;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CASjG;IAED,gFAAgF;IAChF,MAAM,IAAI,GAAG,CAQZ;CACF;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,kBAAkB,CAAC,IAAI,CAAC;IACtD;;;OAGG;IACH,aAAa,IAAI,UAAU,CAAC,IAAI,CAAC,CAEhC;CACF"}
|
|
@@ -2,11 +2,12 @@ import { WEBDA_STORAGE } from "@webda/models";
|
|
|
2
2
|
//import { UuidModel } from "./uuid.js";
|
|
3
3
|
import { ModelLink, UuidModel } from "@webda/models";
|
|
4
4
|
import { User } from "./user.model.js";
|
|
5
|
+
import { bind } from "@webda/ql";
|
|
5
6
|
/**
|
|
6
7
|
* Abstract class to define an object with an owner
|
|
7
8
|
*
|
|
8
|
-
* The owner is the user that created the object
|
|
9
|
-
* The owner
|
|
9
|
+
* The owner is the user that created the object, set from the caller on create.
|
|
10
|
+
* The owner is never taken from client input.
|
|
10
11
|
*/
|
|
11
12
|
export class AbstractOwnerModel extends UuidModel {
|
|
12
13
|
/**
|
|
@@ -33,6 +34,28 @@ export class AbstractOwnerModel extends UuidModel {
|
|
|
33
34
|
* @default false
|
|
34
35
|
*/
|
|
35
36
|
public;
|
|
37
|
+
/**
|
|
38
|
+
* Attributes never taken from client input by the DomainService (REST, gRPC, MCP) or GraphQL
|
|
39
|
+
* @returns the attribute names
|
|
40
|
+
*/
|
|
41
|
+
static getProtectedAttributes() {
|
|
42
|
+
return ["_user"];
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Called by the DomainService (and GraphQL) on a new object built from client input, before the
|
|
46
|
+
* `canAct(context, "create")` check and the save: the caller becomes the owner
|
|
47
|
+
* @param context - the caller context
|
|
48
|
+
*/
|
|
49
|
+
prepareCreate(context) {
|
|
50
|
+
const userId = context?.getCurrentUserId();
|
|
51
|
+
if (userId) {
|
|
52
|
+
this.setOwner(userId);
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
// Never keep an owner the caller did not prove
|
|
56
|
+
this._user = undefined;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
36
59
|
/**
|
|
37
60
|
* Set object owner
|
|
38
61
|
* @param uuid - the unique identifier
|
|
@@ -57,8 +80,8 @@ export class AbstractOwnerModel extends UuidModel {
|
|
|
57
80
|
* @returns the result
|
|
58
81
|
*/
|
|
59
82
|
async canAct(context, action) {
|
|
60
|
-
// Object is public
|
|
61
|
-
if (this.public && (action === "get" || action
|
|
83
|
+
// Object is public: readable, binaries included (`<attribute>.download`, `.downloadUrl`, `.get`, `.getUrl`)
|
|
84
|
+
if (this.public && (action === "get" || AbstractOwnerModel.isBinaryRead(action))) {
|
|
62
85
|
return true;
|
|
63
86
|
}
|
|
64
87
|
else if (!context.getCurrentUserId()) {
|
|
@@ -67,13 +90,24 @@ export class AbstractOwnerModel extends UuidModel {
|
|
|
67
90
|
else if (!this.getOwner() && action !== "create") {
|
|
68
91
|
return "Object does not have an owner";
|
|
69
92
|
}
|
|
70
|
-
|
|
71
|
-
//this.setOwner(Uuid.parse(ctx.getCurrentUserId(), this.getOwnerModel()));
|
|
72
|
-
}
|
|
93
|
+
// On create, the owner was set from the caller by prepareCreate: only the owner may create its objects
|
|
73
94
|
return context.getCurrentUserId() === this.getOwner()?.toString();
|
|
74
95
|
}
|
|
75
96
|
/**
|
|
76
|
-
*
|
|
97
|
+
* Whether an action is a binary read (a behavior action of Binary/Binaries): `avatar.download`, `photos.get`...
|
|
98
|
+
* @param action - the action name
|
|
99
|
+
* @returns true for the read actions of binary attributes
|
|
100
|
+
*/
|
|
101
|
+
static isBinaryRead(action) {
|
|
102
|
+
return /^[^.]+\.(download|downloadUrl|get|getUrl)$/.test(action);
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Return a query to filter OwnerModel: the objects of the caller and the public ones
|
|
106
|
+
*
|
|
107
|
+
* The user id is bound as an escaped WebdaQL value, it can never change the query structure.
|
|
108
|
+
*
|
|
109
|
+
* Subclasses inherit this filter even when they override `canAct` (it fails closed: it can only hide rows). A
|
|
110
|
+
* subclass whose `canAct` is more permissive overrides this method (returning `null` disables the store filter).
|
|
77
111
|
*
|
|
78
112
|
* @param context - the execution context
|
|
79
113
|
* @returns the result
|
|
@@ -82,8 +116,9 @@ export class AbstractOwnerModel extends UuidModel {
|
|
|
82
116
|
if (!context) {
|
|
83
117
|
return null;
|
|
84
118
|
}
|
|
119
|
+
const userId = context.getCurrentUserId();
|
|
85
120
|
return {
|
|
86
|
-
query:
|
|
121
|
+
query: userId ? bind("_user = ? OR public = TRUE", [userId]) : "public = TRUE",
|
|
87
122
|
partial: false
|
|
88
123
|
};
|
|
89
124
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ownermodel.model.js","sourceRoot":"","sources":["../../src/models/ownermodel.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,wCAAwC;AACxC,OAAO,EAAmB,SAAS,EAAuB,SAAS,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"ownermodel.model.js","sourceRoot":"","sources":["../../src/models/ownermodel.model.ts"],"names":[],"mappings":"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"}
|