@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.
Files changed (43) hide show
  1. package/lib/core/operations.d.ts.map +1 -1
  2. package/lib/core/operations.js +13 -11
  3. package/lib/core/operations.js.map +1 -1
  4. package/lib/index.d.ts +2 -1
  5. package/lib/index.d.ts.map +1 -1
  6. package/lib/index.js +2 -1
  7. package/lib/index.js.map +1 -1
  8. package/lib/models/aclmodel.d.ts +32 -5
  9. package/lib/models/aclmodel.d.ts.map +1 -1
  10. package/lib/models/aclmodel.js +34 -9
  11. package/lib/models/aclmodel.js.map +1 -1
  12. package/lib/models/ownermodel.model.d.ts +25 -3
  13. package/lib/models/ownermodel.model.d.ts.map +1 -1
  14. package/lib/models/ownermodel.model.js +44 -9
  15. package/lib/models/ownermodel.model.js.map +1 -1
  16. package/lib/models/permissions.d.ts +236 -0
  17. package/lib/models/permissions.d.ts.map +1 -0
  18. package/lib/models/permissions.js +495 -0
  19. package/lib/models/permissions.js.map +1 -0
  20. package/lib/models/rolemodel.model.d.ts.map +1 -1
  21. package/lib/models/rolemodel.model.js +1 -2
  22. package/lib/models/rolemodel.model.js.map +1 -1
  23. package/lib/models/user.model.d.ts +12 -0
  24. package/lib/models/user.model.d.ts.map +1 -1
  25. package/lib/models/user.model.js +16 -0
  26. package/lib/models/user.model.js.map +1 -1
  27. package/lib/rest/restoperationstransport.service.d.ts.map +1 -1
  28. package/lib/rest/restoperationstransport.service.js +7 -5
  29. package/lib/rest/restoperationstransport.service.js.map +1 -1
  30. package/lib/services/audit.model.d.ts +2 -2
  31. package/lib/services/audit.model.d.ts.map +1 -1
  32. package/lib/services/audit.model.js +14 -5
  33. package/lib/services/audit.model.js.map +1 -1
  34. package/lib/services/binary.service.d.ts +42 -4
  35. package/lib/services/binary.service.d.ts.map +1 -1
  36. package/lib/services/binary.service.js +33 -13
  37. package/lib/services/binary.service.js.map +1 -1
  38. package/lib/services/domainservice.service.d.ts +74 -3
  39. package/lib/services/domainservice.service.d.ts.map +1 -1
  40. package/lib/services/domainservice.service.js +234 -57
  41. package/lib/services/domainservice.service.js.map +1 -1
  42. package/package.json +17 -13
  43. package/webda.module.json +3 -15
@@ -1 +1 @@
1
- {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/core/operations.ts"],"names":[],"mappings":"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"}
@@ -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 || (e.params && e.params.missingProperty
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 call the method on it
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.ref(uuid).get();
407
- if (!instance || instance.isDeleted?.()) {
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 — call on the model class directly
415
- result = await runWithContext(context, () => modelClass[operations[operationId].method](...callArgs));
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":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAG3C,OAAO,KAAK,UAAU,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAItD,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAGtE,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAExC;;;;;;;;GAQG;AACH,SAAS,wBAAwB,CAC/B,OAAyB,EACzB,WAAmB,EACnB,SAAsE;IAEtE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,WAAW,UAAU,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,SAAS,CAAC,UAAU,EAAE,CAAC;QACzB,SAAS,CAAC,eAAe,KAAK,IAAI,cAAc,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACvE,OAAO,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAyB,EAAE,WAAmB;IAC7E,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC;QACH,OAAO,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAYD;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAA2B,EAAE,GAAY;IAC3E,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClF,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAE,GAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1D,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;QAChE,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAC7B,QAA2B,EAC3B,GAAY;IAEZ,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAE,GAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QAClF,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3F,CAAC;IACD,IAAI,MAAM,GAAQ,GAAG,CAAC;IACtB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;QAClF,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAE5C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAAsD;IACxF,MAAM,OAAO,GAAG,UAAU,EAAoB,CAAC;IAC/C,IAAI,SAA6B,CAAC;IAClC,IAAI,CAAC;QACH,SAAS,GAAG,OAAO,EAAE,YAAY,EAAE,CAAC,WAAW,CAAC,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,uCAAuC;IACzC,CAAC;IACD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IACD,MAAM,QAAQ,GAAG,OAAQ,OAAe,CAAC,aAAa,KAAK,UAAU,CAAC,CAAC,CAAE,OAAiB,CAAC,CAAC,CAAC,SAAS,CAAC;IACvG,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAE,QAAQ,CAAC,WAAmB,CAAC,CAAC,CAAE,OAA0B,CAAC,KAAK,CAAC;IAC9F,MAAM,KAAK,GAAQ,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChF,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnD,MAAM,QAAQ,GAAa,gBAAgB,CAAC,KAAK,CAAC,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC,CAAE,OAA4B,CAAC,GAAG,CAAC;IACvF,MAAM,GAAG,GAAG,mBAAmB,CAAC,QAAQ,EAAE,eAAe,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;IAC7E,IAAI,CAAC,OAAO,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QAClC,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAA6B,CAAC,CAAC;AAC7F,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,OAAyB,EACzB,SAA8B,EAC9B,IAAW,EACX,MAAY;IAEZ,MAAM,QAAQ,GAAG,OAAO,CAAC,YAAY,EAAE,CAAmB,gBAAgB,CAAC,CAAC;IAC5E,IAAI,QAAQ,EAAE,CAAC;QACb,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,iBAAiB,GAAG,SAAS,CAAC,KAAK,KAAK,SAAS,CAAC;IACxD,IAAI,iBAAiB,IAAI,SAAS,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC;IAChF,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAQ,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;IAChF,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,QAAQ,GAAa,SAAS,CAAC,OAAO,EAAE,QAAQ,IAAI,gBAAgB,CAAC,KAAK,CAAC,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1G,IAAI,GAAuB,CAAC;IAC5B,IAAI,iBAAiB,EAAE,CAAC;QACtB,GAAG,GAAG,mBAAmB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;SAAM,IAAI,MAAM,YAAY,KAAK,IAAI,OAAQ,MAAc,CAAC,aAAa,KAAK,UAAU,EAAE,CAAC;QAC1F,uFAAuF;QACvF,GAAG,GAAG,mBAAmB,CAAC,QAAQ,EAAG,MAAc,CAAC,aAAa,EAAE,CAAC,CAAC;IACvE,CAAC;IACD,IAAI,GAAG,KAAK,SAAS,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAM,wBAAwB,CAAC,IAAI,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;QACnG,qFAAqF;QACrF,8DAA8D;QAC9D,GAAG,GAAG,mBAAmB,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAC1G,CAAC;IACD,OAAO,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;AACjE,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,SAAS,CAAC,OAAyB,EAAE,WAAmB,EAAE,IAAW,EAAE,MAAY;IAC1F,MAAM,SAAS,GAAG,kBAAkB,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC/D,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,CAAC;QACH,OAAO,uBAAuB,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,oBAAoB,CAAC,MAAW,EAAE,MAA2B;IACpE,IAAI,CAAC,MAAM,EAAE,UAAU;QAAE,OAAO;IAChC,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAiC,CAAC,EAAE,CAAC;QAC1F,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,SAAS;QACxC,MAAM,MAAM,GAAI,UAAkB,EAAE,IAAI,CAAC;QACzC,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChD,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;YACxB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzC,CAAC;aAAM,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YAChC,IAAI,KAAK,KAAK,MAAM;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;iBACrC,IAAI,KAAK,KAAK,OAAO;gBAAE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;QACnD,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,cAAc,CAAC,OAAyB,EAAE,WAAmB;IAC1E,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC,UAAU,CAAC;IACnD,IAAI,CAAC,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,EAAE,CAAC;QAC7E,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC,GAAG,WAAW,mBAAmB,CAAC,CAAC;IACpE,CAAC;IACD,IAAI,CAAC;QACH,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;YAC9E,6EAA6E;YAC7E,8EAA8E;YAC9E,0EAA0E;YAC1E,yEAAyE;YACzE,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;YAC7C,IAAI,IAAS,CAAC;YACd,IAAI,CAAC;gBACH,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,gDAAgD;YAClD,CAAC;YACD,oEAAoE;YACpE,MAAM,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;YACzF,mEAAmE;YACnE,gEAAgE;YAChE,iEAAiE;YACjE,wDAAwD;YACxD,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;YACjE,oBAAoB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC1C,cAAc,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YACtD,OAAO,CAAC,YAAY,CAAC,wBAAwB,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,eAAe,EAAE,CAAC;YACnC,uEAAuE;YACvE,sEAAsE;YACtE,qEAAqE;YACrE,wCAAwC;YACxC,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM;iBACvB,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,IAAK,CAAC,CAAC,MAAc,CAAC,eAAe;oBAC3E,CAAC,CAAC,IAAK,CAAC,CAAC,MAAc,CAAC,eAAe,EAAE;oBACzC,CAAC,CAAC,GAAG,CAAC,CAAC;gBACT,OAAO,GAAG,IAAI,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC;YAChC,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,MAAM,IAAI,UAAU,CAAC,UAAU,CAAC,GAAG,WAAW,kBAAkB,OAAO,EAAE,EAAE;gBACzE,MAAM,EAAE,GAAG,CAAC,MAAM;aACnB,CAAC,CAAC;QACL,CAAC;QACD,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,OAAyB,EAAE,SAA8B;IAC9F,yEAAyE;IACzE,sEAAsE;IACtE,oEAAoE;IACpE,0EAA0E;IAC1E,yCAAyC;IACzC,IAAI,MAAM,GAAG,OAAO,CAAC,YAAY,CAAM,wBAAwB,CAAC,CAAC;IACjE,IAAI,KAAU,CAAC;IACf,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;QAC7C,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IACxF,CAAC;IAED,0DAA0D;IAC1D,IAAI,SAAS,CAAC,KAAK,IAAI,SAAS,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QAClD,MAAM,GAAG,GAAG,cAAc,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,MAAM,EAAE,UAAU,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjD,wEAAwE;YACxE,OAAO,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC;IAED,iDAAiD;IACjD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1C,OAAO,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,OAAyB,EAAE,WAAmB;IAChF,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC,UAAU,CAAC;IACnD,MAAM,CAAC,OAAO,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC/C,IAAI,QAAQ,GAAU,EAAE,CAAC;IACzB,IAAI,MAAW,CAAC;IAChB,0EAA0E;IAC1E,MAAM,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAC;IAC7D,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;IAClD,IAAI,CAAC;QACH,OAAO,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC3C,OAAO,CAAC,YAAY,CAAC,kBAAkB,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAChF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,aAAa,CAAC,uBAAuB,EAAE,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;YAChE,kFAAkF;SACnF,CAAC,CAAC;QAEH,oEAAoE;QACpE,MAAM,IAAI,GAAG,MAAM,gBAAgB,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;QAEtE,sEAAsE;QACtE,mEAAmE;QACnE,+DAA+D;QAC/D,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAE9C,qEAAqE;QACrE,wEAAwE;QACxE,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC;YACpC,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,CAC1C,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,OAAc,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CAChG,CAAC;QACJ,CAAC;aAAM,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,KAAK,CAAC,CAAC;YAC3D,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;gBAC7C,sEAAsE;gBACtE,sDAAsD;gBACtD,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;gBACzB,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;oBAChD,MAAM,QAAQ,GAAG,MAAM,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,CAAC;oBAClD,IAAI,CAAC,QAAQ,IAAK,QAAgB,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC;wBACjD,MAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;oBACpD,CAAC;oBACD,OAAO,QAAQ,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,CAAC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,yDAAyD;gBACzD,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE,CAC1C,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,CACxD,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,KAAK,CAAC,GAAG,WAAW,mBAAmB,CAAC,CAAC;QACrD,CAAC;QAED,gEAAgE;QAChE,mEAAmE;QACnE,kEAAkE;QAClE,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAC5C,IAAI,OAAO,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,UAAU,EAAE,CAAC;gBACvD,kEAAkE;gBAClE,mEAAmE;gBACnE,OAAO,CAAC,YAAY,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;gBACjD,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBACjC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,CAAC,SAAS,EAAE,KAAK,SAAS,EAAE,CAAC;gBAC7C,+DAA+D;gBAC/D,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,aAAa,CAAC,wBAAwB,EAAE;gBACtC,OAAO;gBACP,WAAW;gBACX,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,CAAC;aAC3D,CAAC;YACF,sEAAsE;SACvE,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,aAAa,CAAC,wBAAwB,EAAE;gBACtC,OAAO;gBACP,WAAW;gBACX,KAAK,EAAE,GAAG;gBACV,OAAO,EAAE,SAAS,CAAC,OAAO,EAAE,WAAW,EAAE,QAAQ,CAAC;aACnD,CAAC;YACF,mFAAmF;SACpF,CAAC,CAAC;QACH,MAAM,GAAG,CAAC;IACZ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACzC,OAAO,CAAC,YAAY,CAAC,gBAAgB,EAAE,aAAa,CAAC,CAAC;IACxD,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,EAAE,CAAC;IAChB,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC,UAAU,CAAC;IACnD,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QAClC,IAAI,CAAC,CAAC,CAAC,GAAG;YACR,GAAG,UAAU,CAAC,CAAC,CAAC;SACjB,CAAC;QACF,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QACvB,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IACxB,CAAC,CAAC,CAAC;IACH,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB;IAChC,OAAO,EAAE,GAAG,kBAAkB,EAAE,CAAC,UAAU,EAAE,CAAC;AAChD,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,WAAmB,EAAE,UAAsG;IAC3J,oCAAoC;IACpC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,6CAA6C,CAAC,EAAE,CAAC;QACtE,MAAM,IAAI,KAAK,CAAC,eAAe,WAAW,wDAAwD,CAAC,CAAC;IACtG,CAAC;IAED,oCAAoC;IACpC,IAAI,UAAU,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;QACzC,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,aAAa,WAAW,YAAY,UAAU,CAAC,OAAO,WAAW,UAAU,CAAC,MAAM,YAAY,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;SAAM,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,UAAU,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,aAAa,WAAW,YAAY,UAAU,CAAC,OAAO,WAAW,UAAU,CAAC,MAAM,YAAY,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,aAAa,WAAW,iCAAiC,CAAC,CAAC;IAC7E,CAAC;IACD,MAAM,UAAU,GAAG,kBAAkB,EAAE,CAAC,UAAU,CAAC;IACnD,uEAAuE;IACvE,UAAU,CAAC,WAAW,CAAC,GAAG;QACxB,GAAG,UAAU;QACb,EAAE,EAAE,WAAW;QACf,KAAK,EAAE,UAAU,CAAC,KAAK,IAAI,MAAM;QACjC,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,MAAM;KACT,CAAC;IAC7B,CAAC,OAAO,EAAE,QAAQ,CAAC;SAChB,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC;SACtF,OAAO,CAAC,GAAG,CAAC,EAAE;QACb,IAAI,CAAC,cAAc,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;YAC9D,UAAU,CAAC,WAAW,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC;QACxC,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC;AAuED;;;;GAIG;AACH,SAAS,SAAS,CAAC,GAAG,IAAW;IAC/B,MAAM,QAAQ,GAAG,CACf,MAAiB,EACjB,OAAoC,EACpC,OAAO,GAAQ,EAAE,EACjB,EAAE;QACF,OAAO,CAAC,QAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC5C,OAAO,CAAC,QAAS,CAAC,kBAAkB,CAAW,CAAC,IAAI,CAAC;YACpD,EAAE,EAAE,OAAO,CAAC,IAAI;YAChB,GAAG,OAAO;YACV,WAAW,EAAE,OAAO,CAAC,IAAI;YACzB,MAAM,EAAE,OAAO,CAAC,MAAM;YACtB,SAAS,EAAE,mBAAmB,CAAC,MAAM,CAAC;SACvC,CAAC,CAAC;QACH,MAAM,OAAO,GAAG,SAAS,gBAAgB,CAAY,GAAG,IAAI;YAC1D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;QACpC,CAAC,CAAC;QACD,OAAe,CAAC,UAAU,GAAG,MAAM,CAAC;QACrC,OAAO,OAAO,CAAC;IACjB,CAAC,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,YAAY,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QAChF,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IACpC,CAAC;IACD,OAAO,CAAC,MAAW,EAAE,OAAoC,EAAE,EAAE;QAC3D,OAAO,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
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";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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":"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"}
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,kBAAkB,EAAE,MAAM,eAAe,CAAC;AAErG,cAAc,mBAAmB,CAAC;AAClC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,yBAAyB,CAAC;AACxC,cAAc,sBAAsB,CAAC;AACrC,cAAc,yBAAyB,CAAC;AACxC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iCAAiC,CAAC;AAChD,cAAc,sCAAsC,CAAC;AACrD,cAAc,8BAA8B,CAAC;AAC7C,cAAc,wBAAwB,CAAC;AACvC,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,qDAAqD,CAAC;AACpE,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,uBAAuB,CAAC;AACtC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,kCAAkC,CAAC;AACjD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,qCAAqC,CAAC;AACpD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,iCAAiC,CAAC;AAChD,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAC7C,cAAc,+CAA+C,CAAC;AAC9D,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,iBAAiB,CAAC;AAChC,cAAc,2CAA2C,CAAC;AAC1D,cAAc,mCAAmC,CAAC;AAClD,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AAEzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,iCAAiC,CAAC;AAChD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC"}
@@ -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
- * ACLs for the object
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
- * @param user - the user object
28
- * @returns the result
55
+ * @returns true or the refusal reason
29
56
  */
30
- canAct(action: string, user?: any): Promise<string | boolean>;
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;;;;;;GAMG;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;;;;;OAKG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,CAYlE;CACF"}
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"}
@@ -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
- * ACLs for the object
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
- * @param user - the user object
30
- * @returns the result
39
+ * @returns true or the refusal reason
31
40
  */
32
- async canAct(action, user) {
33
- for (const ace of this.filter(a => !a.allow)) {
34
- if (ace.action === action) {
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 this.filter(a => a.allow)) {
39
- if (ace.action === action) {
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":"AAMA;;;;;;GAMG;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;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CAAC,MAAc,EAAE,IAAU;QACrC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC7C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,mCAAmC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;gBAC1B,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,iCAAiC,CAAC;IAC3C,CAAC;CACF"}
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 can be changed by 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
- * Return a query to filter OwnerModel
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;AAE5D;;;;;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,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,CAalF;IAED;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,iBAAiB,GAAG,IAAI,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAQjG;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"}
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 can be changed by 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 === "get_binary")) {
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
- if (action === "create") {
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
- * Return a query to filter OwnerModel
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: `_user = '${context.getCurrentUserId()}' OR public = TRUE`,
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":"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"}
1
+ {"version":3,"file":"ownermodel.model.js","sourceRoot":"","sources":["../../src/models/ownermodel.model.ts"],"names":[],"mappings":"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"}