@decaf-ts/for-fabric 0.1.60 → 0.1.62

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 (141) hide show
  1. package/dist/for-fabric.cjs +1 -1
  2. package/dist/for-fabric.cjs.map +1 -1
  3. package/dist/for-fabric.js +1 -1
  4. package/dist/for-fabric.js.map +1 -1
  5. package/lib/cli-module.cjs +101 -10
  6. package/lib/cli-module.js.map +1 -1
  7. package/lib/client/FabricClientDispatch.cjs +1 -0
  8. package/lib/client/FabricClientDispatch.d.ts +1 -1
  9. package/lib/client/FabricClientDispatch.js.map +1 -1
  10. package/lib/client/collections/generation.cjs +75 -107
  11. package/lib/client/collections/generation.d.ts +24 -5
  12. package/lib/client/collections/generation.js.map +1 -1
  13. package/lib/client/indexes/generation.cjs +9 -6
  14. package/lib/client/indexes/generation.d.ts +1 -1
  15. package/lib/client/indexes/generation.js.map +1 -1
  16. package/lib/contract/OtherProductContract.cjs +30 -0
  17. package/lib/contract/OtherProductContract.d.ts +5 -0
  18. package/lib/contract/OtherProductContract.js.map +1 -0
  19. package/lib/contract/OtherProductSharedContract.cjs +30 -0
  20. package/lib/contract/OtherProductSharedContract.d.ts +5 -0
  21. package/lib/contract/OtherProductSharedContract.js.map +1 -0
  22. package/lib/contract/index.cjs +2 -0
  23. package/lib/contract/index.js.map +1 -1
  24. package/lib/contract/models/Audit.cjs +20 -2
  25. package/lib/contract/models/Audit.d.ts +2 -1
  26. package/lib/contract/models/Audit.js.map +1 -1
  27. package/lib/contract/models/Batch.cjs +2 -2
  28. package/lib/contract/models/Batch.js.map +1 -1
  29. package/lib/contract/models/Leaflet.cjs +2 -2
  30. package/lib/contract/models/Leaflet.js.map +1 -1
  31. package/lib/contract/models/OtherProduct.cjs +74 -0
  32. package/lib/contract/models/OtherProduct.d.ts +12 -0
  33. package/lib/contract/models/OtherProduct.js.map +1 -0
  34. package/lib/contract/models/OtherProductShared.cjs +75 -0
  35. package/lib/contract/models/OtherProductShared.d.ts +12 -0
  36. package/lib/contract/models/OtherProductShared.js.map +1 -0
  37. package/lib/contract/models/Product.cjs +4 -4
  38. package/lib/contract/models/Product.js.map +1 -1
  39. package/lib/contract/models/decorators.cjs +15 -8
  40. package/lib/contract/models/decorators.d.ts +8 -5
  41. package/lib/contract/models/decorators.js.map +1 -1
  42. package/lib/contracts/ContractAdapter.js.map +1 -1
  43. package/lib/contracts/FabricConstruction.cjs +1 -1
  44. package/lib/contracts/FabricConstruction.js.map +1 -1
  45. package/lib/contracts/FabricContractPaginator.cjs +7 -3
  46. package/lib/contracts/FabricContractPaginator.js.map +1 -1
  47. package/lib/contracts/FabricContractRepository.cjs +12 -3
  48. package/lib/contracts/FabricContractRepository.d.ts +3 -1
  49. package/lib/contracts/FabricContractRepository.js.map +1 -1
  50. package/lib/contracts/FabricContractSequence.cjs +4 -4
  51. package/lib/contracts/FabricContractSequence.js.map +1 -1
  52. package/lib/contracts/index.cjs +7 -6
  53. package/lib/contracts/index.d.ts +1 -0
  54. package/lib/contracts/index.js.map +1 -1
  55. package/lib/contracts/overrides.cjs +8 -0
  56. package/lib/contracts/overrides.d.ts +1 -0
  57. package/lib/contracts/overrides.js.map +1 -0
  58. package/lib/contracts/types.d.ts +1 -0
  59. package/lib/contracts/uuid.cjs +75 -0
  60. package/lib/contracts/uuid.d.ts +2 -0
  61. package/lib/contracts/uuid.js.map +1 -0
  62. package/lib/esm/cli-module.js +102 -11
  63. package/lib/esm/cli-module.js.map +1 -1
  64. package/lib/esm/client/FabricClientDispatch.d.ts +1 -1
  65. package/lib/esm/client/FabricClientDispatch.js +1 -0
  66. package/lib/esm/client/FabricClientDispatch.js.map +1 -1
  67. package/lib/esm/client/collections/generation.d.ts +24 -5
  68. package/lib/esm/client/collections/generation.js +70 -103
  69. package/lib/esm/client/collections/generation.js.map +1 -1
  70. package/lib/esm/client/indexes/generation.d.ts +1 -1
  71. package/lib/esm/client/indexes/generation.js +9 -6
  72. package/lib/esm/client/indexes/generation.js.map +1 -1
  73. package/lib/esm/contract/OtherProductContract.d.ts +5 -0
  74. package/lib/esm/contract/OtherProductContract.js +27 -0
  75. package/lib/esm/contract/OtherProductContract.js.map +1 -0
  76. package/lib/esm/contract/OtherProductSharedContract.d.ts +5 -0
  77. package/lib/esm/contract/OtherProductSharedContract.js +27 -0
  78. package/lib/esm/contract/OtherProductSharedContract.js.map +1 -0
  79. package/lib/esm/contract/index.js +2 -0
  80. package/lib/esm/contract/index.js.map +1 -1
  81. package/lib/esm/contract/models/Audit.d.ts +2 -1
  82. package/lib/esm/contract/models/Audit.js +22 -4
  83. package/lib/esm/contract/models/Audit.js.map +1 -1
  84. package/lib/esm/contract/models/Batch.js +2 -2
  85. package/lib/esm/contract/models/Batch.js.map +1 -1
  86. package/lib/esm/contract/models/Leaflet.js +2 -2
  87. package/lib/esm/contract/models/Leaflet.js.map +1 -1
  88. package/lib/esm/contract/models/OtherProduct.d.ts +12 -0
  89. package/lib/esm/contract/models/OtherProduct.js +71 -0
  90. package/lib/esm/contract/models/OtherProduct.js.map +1 -0
  91. package/lib/esm/contract/models/OtherProductShared.d.ts +12 -0
  92. package/lib/esm/contract/models/OtherProductShared.js +72 -0
  93. package/lib/esm/contract/models/OtherProductShared.js.map +1 -0
  94. package/lib/esm/contract/models/Product.js +4 -4
  95. package/lib/esm/contract/models/Product.js.map +1 -1
  96. package/lib/esm/contract/models/decorators.d.ts +8 -5
  97. package/lib/esm/contract/models/decorators.js +15 -8
  98. package/lib/esm/contract/models/decorators.js.map +1 -1
  99. package/lib/esm/contracts/ContractAdapter.js.map +1 -1
  100. package/lib/esm/contracts/FabricConstruction.js +1 -1
  101. package/lib/esm/contracts/FabricConstruction.js.map +1 -1
  102. package/lib/esm/contracts/FabricContractPaginator.js +8 -4
  103. package/lib/esm/contracts/FabricContractPaginator.js.map +1 -1
  104. package/lib/esm/contracts/FabricContractRepository.d.ts +3 -1
  105. package/lib/esm/contracts/FabricContractRepository.js +12 -3
  106. package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
  107. package/lib/esm/contracts/FabricContractSequence.js +4 -4
  108. package/lib/esm/contracts/FabricContractSequence.js.map +1 -1
  109. package/lib/esm/contracts/index.d.ts +1 -0
  110. package/lib/esm/contracts/index.js +1 -0
  111. package/lib/esm/contracts/index.js.map +1 -1
  112. package/lib/esm/contracts/overrides.d.ts +1 -0
  113. package/lib/esm/contracts/overrides.js +6 -0
  114. package/lib/esm/contracts/overrides.js.map +1 -0
  115. package/lib/esm/contracts/types.d.ts +1 -0
  116. package/lib/esm/contracts/uuid.d.ts +2 -0
  117. package/lib/esm/contracts/uuid.js +38 -0
  118. package/lib/esm/contracts/uuid.js.map +1 -0
  119. package/lib/esm/shared/constants.d.ts +4 -3
  120. package/lib/esm/shared/constants.js +3 -2
  121. package/lib/esm/shared/constants.js.map +1 -1
  122. package/lib/esm/shared/decorators.d.ts +15 -2
  123. package/lib/esm/shared/decorators.js +114 -69
  124. package/lib/esm/shared/decorators.js.map +1 -1
  125. package/lib/esm/shared/overrides/Model.d.ts +7 -0
  126. package/lib/esm/shared/overrides/overrides.js +28 -15
  127. package/lib/esm/shared/overrides/overrides.js.map +1 -1
  128. package/lib/esm/version.d.ts +1 -1
  129. package/lib/esm/version.js +1 -1
  130. package/lib/shared/constants.cjs +3 -2
  131. package/lib/shared/constants.d.ts +4 -3
  132. package/lib/shared/constants.js.map +1 -1
  133. package/lib/shared/decorators.cjs +118 -68
  134. package/lib/shared/decorators.d.ts +15 -2
  135. package/lib/shared/decorators.js.map +1 -1
  136. package/lib/shared/overrides/Model.d.ts +7 -0
  137. package/lib/shared/overrides/overrides.cjs +28 -15
  138. package/lib/shared/overrides/overrides.js.map +1 -1
  139. package/lib/version.cjs +1 -1
  140. package/lib/version.d.ts +1 -1
  141. package/package.json +2 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../src/contracts/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,kBAAe;AAEtC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAAC,IAAY;IACtD,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC,CAAC"}
@@ -21,6 +21,7 @@ export interface FabricContractFlags extends FabricFlags {
21
21
  identity: ClientIdentity;
22
22
  roles?: string[];
23
23
  cert: string;
24
+ segregate?: string;
24
25
  /**
25
26
  * @description Logger instance for the contract
26
27
  */
@@ -0,0 +1,2 @@
1
+ export declare function bytesToUuidV5Style(bytes16: Uint8Array): string;
2
+ export declare function uuidFromSeed(seed: string): Promise<string>;
@@ -0,0 +1,38 @@
1
+ const encoder = new TextEncoder();
2
+ export function bytesToUuidV5Style(bytes16) {
3
+ const b = bytes16.slice(0, 16);
4
+ // Set version to 5 (0101xxxx) to signal deterministic hashing
5
+ b[6] = (b[6] & 0x0f) | 0x50;
6
+ // Set variant to RFC 4122 (10xxxxxx)
7
+ b[8] = (b[8] & 0x3f) | 0x80;
8
+ const hex = [...b].map((x) => x.toString(16).padStart(2, "0")).join("");
9
+ return [
10
+ hex.slice(0, 8),
11
+ hex.slice(8, 12),
12
+ hex.slice(12, 16),
13
+ hex.slice(16, 20),
14
+ hex.slice(20, 32),
15
+ ].join("-");
16
+ }
17
+ export async function uuidFromSeed(seed) {
18
+ // Browser / any runtime with WebCrypto
19
+ if (globalThis.crypto?.subtle) {
20
+ const data = encoder.encode(seed);
21
+ const digest = await globalThis.crypto.subtle.digest("SHA-256", data);
22
+ return bytesToUuidV5Style(new Uint8Array(digest).slice(0, 16));
23
+ }
24
+ // Node fallback: dynamic import avoids bundling node:crypto into browser
25
+ const nodeCrypto = await import("crypto");
26
+ const { createHash, webcrypto } = nodeCrypto;
27
+ if (webcrypto?.subtle) {
28
+ const data = encoder.encode(seed);
29
+ const digest = await webcrypto.subtle.digest("SHA-256", data);
30
+ return bytesToUuidV5Style(new Uint8Array(digest).slice(0, 16));
31
+ }
32
+ const hex = createHash("sha256").update(seed).digest("hex");
33
+ const bytes = new Uint8Array(16);
34
+ for (let i = 0; i < 16; i++)
35
+ bytes[i] = parseInt(hex.slice(i * 2, i * 2 + 2), 16);
36
+ return bytesToUuidV5Style(bytes);
37
+ }
38
+ //# sourceMappingURL=uuid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"uuid.js","sourceRoot":"","sources":["../../../src/contracts/uuid.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;AAElC,MAAM,UAAU,kBAAkB,CAAC,OAAmB;IACpD,MAAM,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAE/B,8DAA8D;IAC9D,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAE5B,qCAAqC;IACrC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IAE5B,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAExE,OAAO;QACL,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;QACf,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;QAChB,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QACjB,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;QACjB,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC;KAClB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,IAAY;IAC7C,uCAAuC;IACvC,IAAI,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;QAC9B,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QACtE,OAAO,kBAAkB,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,yEAAyE;IACzE,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC;IAE7C,IAAI,SAAS,EAAE,MAAM,EAAE,CAAC;QACtB,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAC9D,OAAO,kBAAkB,CAAC,IAAI,UAAU,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,MAAM,GAAG,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE;QACzB,KAAK,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,OAAO,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC"}
@@ -10,9 +10,10 @@ export declare enum FabricModelKeys {
10
10
  PRIVATE = "private",
11
11
  SHARED = "shared",
12
12
  /** Namespace prefix used for Fabric-specific metadata keys */
13
- FABRIC = "fabric.",
14
- OWNEDBY = "owned-by",
15
- TRANSACTION_ID = "transaction-id"
13
+ FABRIC = "fabric",
14
+ OWNED_BY = "owned-by",
15
+ TRANSACTION_ID = "transaction-id",
16
+ MIRROR = "mirror"
16
17
  }
17
18
  /**
18
19
  * @description Supported identity types for Fabric credentials
@@ -11,9 +11,10 @@ export var FabricModelKeys;
11
11
  FabricModelKeys["PRIVATE"] = "private";
12
12
  FabricModelKeys["SHARED"] = "shared";
13
13
  /** Namespace prefix used for Fabric-specific metadata keys */
14
- FabricModelKeys["FABRIC"] = "fabric.";
15
- FabricModelKeys["OWNEDBY"] = "owned-by";
14
+ FabricModelKeys["FABRIC"] = "fabric";
15
+ FabricModelKeys["OWNED_BY"] = "owned-by";
16
16
  FabricModelKeys["TRANSACTION_ID"] = "transaction-id";
17
+ FabricModelKeys["MIRROR"] = "mirror";
17
18
  })(FabricModelKeys || (FabricModelKeys = {}));
18
19
  /**
19
20
  * @description Supported identity types for Fabric credentials
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,0FAA0F;IAC1F,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;IACjB,8DAA8D;IAC9D,qCAAkB,CAAA;IAClB,uCAAoB,CAAA;IACpB,oDAAiC,CAAA;AACnC,CAAC,EARW,eAAe,KAAf,eAAe,QAQ1B;AACD;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,gEAAgE;IAChE,8BAAc,CAAA;AAChB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/shared/constants.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,eASX;AATD,WAAY,eAAe;IACzB,0FAA0F;IAC1F,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;IACjB,8DAA8D;IAC9D,oCAAiB,CAAA;IACjB,wCAAqB,CAAA;IACrB,oDAAiC,CAAA;IACjC,oCAAiB,CAAA;AACnB,CAAC,EATW,eAAe,KAAf,eAAe,QAS1B;AACD;;;;;;GAMG;AACH,MAAM,CAAN,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,gEAAgE;IAChE,8BAAc,CAAA;AAChB,CAAC,EAHW,YAAY,KAAZ,YAAY,QAGvB;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC"}
@@ -1,6 +1,9 @@
1
1
  import { Repo, Context, Repository, ContextOf } from "@decaf-ts/core";
2
2
  import { Model } from "@decaf-ts/decorator-validation";
3
+ import { Constructor } from "@decaf-ts/decoration";
3
4
  import { FabricFlags } from "./types";
5
+ import { FabricContractFlags } from "../contracts/types";
6
+ import "../shared/overrides";
4
7
  /**
5
8
  * Decorator for marking methods that require ownership authorization.
6
9
  * Checks the owner of the token before allowing the method to be executed.
@@ -22,8 +25,18 @@ export declare function ownedByOnCreate<M extends Model<boolean>, R extends Repo
22
25
  export declare function ownedBy(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
23
26
  export declare function transactionIdOnCreate<M extends Model<boolean>, R extends Repo<M>, V>(this: R, context: ContextOf<R>, data: V, key: keyof M, model: M): Promise<void>;
24
27
  export declare function transactionId(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
25
- export declare function getFabricModelKey(key: string): string;
26
- export type CollectionResolver = <M extends Model>(model: M) => string;
28
+ export type MirrorCondition = (msp: string) => boolean;
29
+ export type MirrorMetadata = {
30
+ condition: MirrorCondition;
31
+ resolver: CollectionResolver | string;
32
+ };
33
+ export declare function evalMirrorMetadata<M extends Model>(model: M, resolver: undefined | string | CollectionResolver, ctx: Context<FabricContractFlags>): Promise<string>;
34
+ export declare function createMirrorHandler<M extends Model, R extends Repository<M, any>>(this: R, context: Context<FabricContractFlags>, data: MirrorMetadata, key: keyof M, model: M): Promise<void>;
35
+ export declare function updateMirrorHandler<M extends Model, R extends Repository<M, any>>(this: R, context: Context<FabricContractFlags>, data: MirrorMetadata, key: keyof M, model: M): Promise<void>;
36
+ export declare function deleteMirrorHandler<M extends Model, R extends Repository<M, any>>(this: R, context: Context<FabricContractFlags>, data: MirrorMetadata, key: keyof M, model: M): Promise<void>;
37
+ export declare function mirror(collection: CollectionResolver | string, condition?: MirrorCondition): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
38
+ export type CollectionResolver = <M extends Model>(model: M | Constructor<M>, msp?: string, ...args: any[]) => string;
39
+ export declare const ModelCollection: CollectionResolver;
27
40
  export declare const ImplicitPrivateCollection: CollectionResolver;
28
41
  export type SegregatedDataMetadata = {
29
42
  collections: string | CollectionResolver;
@@ -1,8 +1,10 @@
1
1
  import { AuthorizationError, UnsupportedError, } from "@decaf-ts/core";
2
- import { InternalError, NotFoundError, onCreate, onDelete, onRead, onUpdate, readonly, transient, } from "@decaf-ts/db-decorators";
3
- import { required } from "@decaf-ts/decorator-validation";
2
+ import { afterCreate, afterDelete, afterUpdate, InternalError, NotFoundError, onCreate, onDelete, onRead, onUpdate, readonly, transient, ValidationError, } from "@decaf-ts/db-decorators";
3
+ import { Model, required } from "@decaf-ts/decorator-validation";
4
4
  import { FabricModelKeys } from "./constants.js";
5
- import { apply, Decoration, metadata, Metadata, propMetadata, } from "@decaf-ts/decoration";
5
+ import { apply, Decoration, metadata, Metadata, prop, propMetadata, } from "@decaf-ts/decoration";
6
+ import { toPascalCase } from "@decaf-ts/logging";
7
+ import "./overrides/index.js";
6
8
  /**
7
9
  * Decorator for marking methods that require ownership authorization.
8
10
  * Checks the owner of the token before allowing the method to be executed.
@@ -56,13 +58,12 @@ export async function ownedByOnCreate(context, data, key, model) {
56
58
  setOwnedByKeyValue(model, key, owner);
57
59
  }
58
60
  export function ownedBy() {
59
- const key = getFabricModelKey(FabricModelKeys.OWNEDBY);
60
61
  function ownedBy() {
61
62
  return function (obj, attribute) {
62
- return apply(required(), readonly(), onCreate(ownedByOnCreate), propMetadata(getFabricModelKey(FabricModelKeys.OWNEDBY), attribute))(obj, attribute);
63
+ return apply(required(), readonly(), onCreate(ownedByOnCreate), propMetadata(Metadata.key(FabricModelKeys.FABRIC, FabricModelKeys.OWNED_BY), attribute))(obj, attribute);
63
64
  };
64
65
  }
65
- return Decoration.for(key)
66
+ return Decoration.for(FabricModelKeys.OWNED_BY)
66
67
  .define({
67
68
  decorator: ownedBy,
68
69
  args: [],
@@ -86,23 +87,94 @@ export function transactionId() {
86
87
  })
87
88
  .apply();
88
89
  }
89
- export function getFabricModelKey(key) {
90
- return Metadata.key(FabricModelKeys.FABRIC + key);
90
+ export async function evalMirrorMetadata(model, resolver, ctx) {
91
+ let collection = resolver;
92
+ if (typeof collection !== "string") {
93
+ try {
94
+ const owner = Model.ownerOf(model) || ctx.get("stub").getCreator().toString();
95
+ if (resolver && typeof resolver === "function")
96
+ collection = await resolver(model, owner, ctx);
97
+ }
98
+ catch (e) {
99
+ throw new InternalError(`Failed to resolve collection mirror name: ${e}`);
100
+ }
101
+ }
102
+ if (!collection || typeof collection !== "string")
103
+ throw new InternalError(`No collection found model ${model.constructor.name}`);
104
+ return collection;
105
+ }
106
+ export async function createMirrorHandler(context, data, key, model) {
107
+ const collection = await evalMirrorMetadata(model, data.resolver, context);
108
+ const repo = this.override(Object.assign({}, this._overrides, {
109
+ segregate: collection,
110
+ ignoreValidation: true,
111
+ ignoreHandlers: true,
112
+ }));
113
+ const mirror = await repo.create(model, context);
114
+ context.logger.info(`Mirror for ${Model.tableName(this.class)} created with ${Model.pk(model)}: ${mirror[Model.pk(model)]}`);
115
+ }
116
+ export async function updateMirrorHandler(context, data, key, model) {
117
+ const collection = await evalMirrorMetadata(model, data.resolver, context);
118
+ const repo = this.override(Object.assign({}, this._overrides, {
119
+ segregate: collection,
120
+ ignoreValidation: true,
121
+ ignoreHandlers: true,
122
+ }));
123
+ const mirror = await repo.update(model, context);
124
+ context.logger.info(`Mirror for ${Model.tableName(this.class)} updated with ${Model.pk(model)}: ${mirror[Model.pk(model)]}`);
125
+ }
126
+ export async function deleteMirrorHandler(context, data, key, model) {
127
+ const collection = await evalMirrorMetadata(model, data.resolver, context);
128
+ const repo = this.override(Object.assign({}, this._overrides, {
129
+ segregate: collection,
130
+ ignoreValidation: true,
131
+ ignoreHandlers: true,
132
+ }));
133
+ const mirror = await repo.delete(Model.pk(model), context);
134
+ context.logger.info(`Mirror for ${Model.tableName(this.class)} deleted with ${Model.pk(model)}: ${mirror[Model.pk(model)]}`);
135
+ }
136
+ export function mirror(collection, condition) {
137
+ function mirror(resolver, condition) {
138
+ const meta = {
139
+ condition: condition,
140
+ resolver: resolver,
141
+ };
142
+ return apply(metadata(Metadata.key(FabricModelKeys.FABRIC, FabricModelKeys.MIRROR), meta), privateData(collection), afterCreate(createMirrorHandler, meta, { priority: 95 }), afterUpdate(updateMirrorHandler, meta, { priority: 95 }), afterDelete(deleteMirrorHandler, meta, { priority: 95 }));
143
+ }
144
+ return Decoration.for(FabricModelKeys.MIRROR)
145
+ .define({
146
+ decorator: mirror,
147
+ args: [collection, condition],
148
+ })
149
+ .apply();
91
150
  }
92
- export const ImplicitPrivateCollection = (model) => {
93
- return `__${model.constructor.name}PrivateCollection`;
151
+ export const ModelCollection = (model, mspId) => {
152
+ const orgName = mspId || (typeof model !== "function" ? Model.ownerOf(model) : undefined);
153
+ const constr = typeof model === "function" ? model : model.constructor;
154
+ if (!orgName)
155
+ throw new InternalError(`Model ${constr.name} is not owned by any organization. did you use @ownedBy() (or provide the name)?`);
156
+ return `${toPascalCase(constr.name)}${mspId ? toPascalCase(mspId) : ""}`;
157
+ };
158
+ export const ImplicitPrivateCollection = (model, mspId) => {
159
+ const orgName = mspId || (typeof model !== "function" ? Model.ownerOf(model) : undefined);
160
+ if (!orgName)
161
+ throw new InternalError(`Model ${model.constructor.name} is not owned by any organization. did you use @ownedBy() (or provide the name)?`);
162
+ return `__${toPascalCase(orgName)}PrivateCollection`;
94
163
  };
95
164
  export async function segregatedDataOnCreate(context, data, keys, model) {
96
165
  if (keys.length !== data.length)
97
166
  throw new InternalError(`Segregated data keys and metadata length mismatch`);
167
+ const msp = Model.ownerOf(model);
168
+ if (!msp)
169
+ throw new ValidationError(`There's no assigned organization for model ${model.constructor.name}`);
98
170
  const collectionResolver = data[0].collections;
99
171
  const collection = typeof collectionResolver === "string"
100
172
  ? collectionResolver
101
- : collectionResolver(model);
173
+ : collectionResolver(model, msp, context);
102
174
  const rebuilt = keys.reduce((acc, k, i) => {
103
175
  const c = typeof data[i].collections === "string"
104
176
  ? data[i].collections
105
- : data[i].collections(model);
177
+ : data[i].collections(model, msp, context);
106
178
  if (c !== collection)
107
179
  throw new UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
108
180
  acc[k] = model[k];
@@ -110,41 +182,46 @@ export async function segregatedDataOnCreate(context, data, keys, model) {
110
182
  }, {});
111
183
  const toCreate = new this.class(rebuilt);
112
184
  // const segregated = Model.segregate(model);
113
- const created = await this.override({ segregated: collection }).create(toCreate, context);
185
+ const created = await this.override({
186
+ segregated: collection,
187
+ mergeModel: false,
188
+ ignoreHandlers: true,
189
+ ignoreValidation: true,
190
+ }).create(toCreate, context);
114
191
  Object.assign(model, created);
115
192
  }
116
193
  export async function segregatedDataOnRead(context, data, keys, model) {
117
194
  if (keys.length !== data.length)
118
195
  throw new InternalError(`Segregated data keys and metadata length mismatch`);
196
+ const msp = Model.ownerOf(model);
197
+ if (!msp)
198
+ throw new ValidationError(`There's no assigned organization for model ${model.constructor.name}`);
119
199
  const collectionResolver = data[0].collections;
120
200
  const collection = typeof collectionResolver === "string"
121
201
  ? collectionResolver
122
- : collectionResolver(model);
202
+ : await collectionResolver(model, msp, context);
123
203
  const rebuilt = keys.reduce((acc, k, i) => {
124
204
  const c = typeof data[i].collections === "string"
125
205
  ? data[i].collections
126
- : data[i].collections(model);
206
+ : data[i].collections(model, msp, context);
127
207
  if (c !== collection)
128
- throw new UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
208
+ return acc;
129
209
  acc[k] = model[k];
130
210
  return acc;
131
211
  }, {});
132
- const toCreate = new this.class(rebuilt);
133
212
  // const segregated = Model.segregate(model);
134
- const created = await this.override({ segregated: collection }).create(toCreate, context);
135
- Object.assign(model, created);
213
+ //
214
+ // const created = await this.override({ segregated: collection } as any).readAll(
215
+ // toCreate,
216
+ // context
217
+ // );
218
+ // Object.assign(model, created);
136
219
  }
137
220
  export async function segregatedDataOnUpdate(context, data, key, model, oldModel) { }
138
221
  export async function segregatedDataOnDelete(context, data, key, model) { }
139
- function segregated(collection, type) {
222
+ function segregated(collection, type, filter) {
140
223
  return function innerSegregated(target, propertyKey) {
141
224
  function segregatedDec(target, propertyKey) {
142
- if (!propertyKey) {
143
- const props = Metadata.properties(target) || [];
144
- for (const prop of props)
145
- segregated(collection, type)(target, prop);
146
- return target;
147
- }
148
225
  const key = Metadata.key(type, propertyKey);
149
226
  const constr = target.constructor;
150
227
  const meta = Metadata.get(constr, key) || {};
@@ -152,15 +229,23 @@ function segregated(collection, type) {
152
229
  collections.add(collection);
153
230
  meta.collections = [...collections];
154
231
  Metadata.set(constr, key, meta);
232
+ const constrMeta = Metadata.get(constr, type) || {};
233
+ const constrCollections = new Set(constrMeta.collections || []);
234
+ constrCollections.add(collection);
235
+ meta.collections = [...collections];
236
+ Metadata.set(constr, type, meta);
155
237
  }
156
238
  const decs = [];
157
239
  if (!propertyKey) {
158
240
  // decorated at the class level
159
- Metadata.properties(target)?.forEach((p) => segregated(collection, type)(target, p));
160
- return metadata(type, true)(target);
241
+ Metadata.properties(target)?.forEach((p) => {
242
+ if (!filter || filter(p)) {
243
+ segregated(collection, type)(target.prototype, p);
244
+ }
245
+ });
161
246
  }
162
247
  else {
163
- decs.push(transient(), segregatedDec, onCreate(segregatedDataOnCreate, { collections: collection }, {
248
+ decs.push(prop(), transient(), segregatedDec, onCreate(segregatedDataOnCreate, { collections: collection }, {
164
249
  priority: 95,
165
250
  group: typeof collection === "string"
166
251
  ? collection
@@ -183,7 +268,6 @@ function segregated(collection, type) {
183
268
  }));
184
269
  }
185
270
  return apply(...decs)(target, propertyKey);
186
- // return apply()(target, propertyKey);
187
271
  };
188
272
  }
189
273
  export function privateData(collection = ImplicitPrivateCollection) {
@@ -208,43 +292,4 @@ export function sharedData(collection) {
208
292
  })
209
293
  .apply();
210
294
  }
211
- //
212
- // export function privateData(collection?: string) {
213
- // if (!collection) {
214
- // throw new Error("Collection name is required");
215
- // }
216
- //
217
- // const key: string = FabricModelKeys.PRIVATE;
218
- //
219
- // return function privateData<M extends Model>(
220
- // model: M | Constructor<M>,
221
- // attribute?: any
222
- // ) {
223
- // const constr =
224
- // model instanceof Model ? (model.constructor as Constructor) : model;
225
- //
226
- // const metaData: any = Metadata.get(constr);
227
- // const modeldata = metaData?.private?.collections || [];
228
- //
229
- // propMetadata(key, {
230
- // ...(!attribute && {
231
- // collections: modeldata
232
- // ? [...new Set([...modeldata, collection])]
233
- // : [collection],
234
- // }),
235
- // isPrivate: !attribute,
236
- // })(attribute ? constr : model);
237
- //
238
- // if (attribute) {
239
- // const attributeData =
240
- // (metaData?.private?.[attribute] as any)?.collections || [];
241
- // propMetadata(Metadata.key(key, attribute), {
242
- // collections: attributeData
243
- // ? [...new Set([...attributeData, collection])]
244
- // : [collection],
245
- // })(model, attribute);
246
- // transient()(model, attribute);
247
- // }
248
- // };
249
- // }
250
295
  //# sourceMappingURL=decorators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/shared/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/shared/decorators.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { SegregatedModel } from "../types";
2
2
  import { Constructor } from "@decaf-ts/decoration";
3
3
  import "@decaf-ts/decorator-validation";
4
+ import { CollectionResolver, MirrorMetadata } from "../decorators";
4
5
  declare module "@decaf-ts/decorator-validation" {
5
6
  interface Model {
6
7
  isPrivate<M extends Model>(this: M): boolean;
@@ -11,5 +12,11 @@ declare module "@decaf-ts/decorator-validation" {
11
12
  function isPrivate<M extends Model>(model: Constructor<M>): boolean;
12
13
  function isShared<M extends Model>(model: Constructor<M>): boolean;
13
14
  function segregate<M extends Model>(model: M): SegregatedModel<M>;
15
+ function ownerOf<M extends Model>(model: M): string;
16
+ function mirroredAt<M extends Model>(model: M | Constructor<M>): MirrorMetadata | undefined;
17
+ function collectionsFor<M extends Model>(model: M | Constructor<M>): {
18
+ privateCols: (string | CollectionResolver)[];
19
+ sharedCols: (string | CollectionResolver)[];
20
+ };
14
21
  }
15
22
  }
@@ -1,11 +1,7 @@
1
1
  import { Model } from "@decaf-ts/decorator-validation";
2
- // import { validateCompare } from "../model/validation";
3
2
  import { Metadata } from "@decaf-ts/decoration";
4
- // import { DBKeys } from "../model/constants";
5
- // import { SerializationError } from "../repository/errors";
6
3
  import { FabricModelKeys } from "./../constants.js";
7
4
  import { DBKeys } from "@decaf-ts/db-decorators";
8
- import { PersistenceKeys } from "@decaf-ts/core";
9
5
  Model.prototype.isShared = function isShared() {
10
6
  return Model.isShared(this.constructor);
11
7
  };
@@ -55,19 +51,36 @@ Model.segregate = function segregate(model) {
55
51
  result.model = Model.build(result.model, model.constructor.name);
56
52
  return result;
57
53
  }.bind(Model);
58
- Model.tableName = function (model) {
59
- const target = model instanceof Model ? model.constructor : model;
60
- const meta = Metadata.get(target, PersistenceKeys.TABLE);
61
- if (meta)
62
- return meta;
63
- if (model instanceof Model)
64
- return model.constructor.name;
65
- return model.name;
66
- };
67
54
  Model.isPrivate = function isPrivate(model) {
68
55
  return !!Metadata.get(typeof model !== "function" ? model.constructor : model, FabricModelKeys.PRIVATE);
69
56
  }.bind(Model);
70
- Metadata.isShared = function isShared(model) {
57
+ Model.isShared = function isShared(model) {
71
58
  return !!Metadata.get(typeof model !== "function" ? model.constructor : model, FabricModelKeys.SHARED);
72
- }.bind(Metadata);
59
+ }.bind(Model);
60
+ Model.mirrored = function mirrored(model) {
61
+ return Metadata.get(typeof model !== "function" ? model.constructor : model, Metadata.key(FabricModelKeys.FABRIC, FabricModelKeys.MIRROR));
62
+ }.bind(Model);
63
+ Model.ownerOf = function ownerOf(model) {
64
+ const meta = Metadata.get(model.constructor, Metadata.key(FabricModelKeys.FABRIC, FabricModelKeys.OWNED_BY));
65
+ if (!meta)
66
+ return undefined;
67
+ return model[meta];
68
+ }.bind(Model);
69
+ Model.mirroredAt = function mirroredAt(model) {
70
+ model = typeof model !== "function" ? model.constructor : model;
71
+ return Metadata.get(model, Metadata.key(FabricModelKeys.FABRIC, FabricModelKeys.MIRROR));
72
+ }.bind(Model);
73
+ Model.collectionsFor = function collectionsFor(model) {
74
+ const privateKeys = [FabricModelKeys.PRIVATE];
75
+ const sharedKeys = [FabricModelKeys.SHARED];
76
+ const privateKey = Metadata.key(...privateKeys);
77
+ const sharedKey = Metadata.key(...sharedKeys);
78
+ const constr = typeof model === "function" ? model : model.constructor;
79
+ const privateMeta = Metadata.get(constr, privateKey);
80
+ const sharedMeta = Metadata.get(constr, sharedKey);
81
+ return {
82
+ privateCols: privateMeta?.collections || [],
83
+ sharedCols: sharedMeta?.collections || [],
84
+ };
85
+ }.bind(Model);
73
86
  //# sourceMappingURL=overrides.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../../src/shared/overrides/overrides.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../../src/shared/overrides/overrides.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.1.59";
1
+ export declare const VERSION = "0.1.61";
2
2
  export declare const PACKAGE_NAME = "@decaf-ts/for-fabric";
@@ -1,5 +1,5 @@
1
1
  import { Metadata } from "@decaf-ts/decoration";
2
- export const VERSION = "0.1.59";
2
+ export const VERSION = "0.1.61";
3
3
  export const PACKAGE_NAME = "@decaf-ts/for-fabric";
4
4
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
5
5
  //# sourceMappingURL=version.js.map
@@ -14,9 +14,10 @@ var FabricModelKeys;
14
14
  FabricModelKeys["PRIVATE"] = "private";
15
15
  FabricModelKeys["SHARED"] = "shared";
16
16
  /** Namespace prefix used for Fabric-specific metadata keys */
17
- FabricModelKeys["FABRIC"] = "fabric.";
18
- FabricModelKeys["OWNEDBY"] = "owned-by";
17
+ FabricModelKeys["FABRIC"] = "fabric";
18
+ FabricModelKeys["OWNED_BY"] = "owned-by";
19
19
  FabricModelKeys["TRANSACTION_ID"] = "transaction-id";
20
+ FabricModelKeys["MIRROR"] = "mirror";
20
21
  })(FabricModelKeys || (exports.FabricModelKeys = FabricModelKeys = {}));
21
22
  /**
22
23
  * @description Supported identity types for Fabric credentials
@@ -10,9 +10,10 @@ export declare enum FabricModelKeys {
10
10
  PRIVATE = "private",
11
11
  SHARED = "shared",
12
12
  /** Namespace prefix used for Fabric-specific metadata keys */
13
- FABRIC = "fabric.",
14
- OWNEDBY = "owned-by",
15
- TRANSACTION_ID = "transaction-id"
13
+ FABRIC = "fabric",
14
+ OWNED_BY = "owned-by",
15
+ TRANSACTION_ID = "transaction-id",
16
+ MIRROR = "mirror"
16
17
  }
17
18
  /**
18
19
  * @description Supported identity types for Fabric credentials
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,eAQX;AARD,WAAY,eAAe;IACzB,0FAA0F;IAC1F,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;IACjB,8DAA8D;IAC9D,qCAAkB,CAAA;IAClB,uCAAoB,CAAA;IACpB,oDAAiC,CAAA;AACnC,CAAC,EARW,eAAe,+BAAf,eAAe,QAQ1B;AACD;;;;;;GAMG;AACH,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,gEAAgE;IAChE,8BAAc,CAAA;AAChB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED;;;;;GAKG;AACU,QAAA,aAAa,GAAG,YAAY,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/shared/constants.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,IAAY,eASX;AATD,WAAY,eAAe;IACzB,0FAA0F;IAC1F,sCAAmB,CAAA;IACnB,oCAAiB,CAAA;IACjB,8DAA8D;IAC9D,oCAAiB,CAAA;IACjB,wCAAqB,CAAA;IACrB,oDAAiC,CAAA;IACjC,oCAAiB,CAAA;AACnB,CAAC,EATW,eAAe,+BAAf,eAAe,QAS1B;AACD;;;;;;GAMG;AACH,IAAY,YAGX;AAHD,WAAY,YAAY;IACtB,gEAAgE;IAChE,8BAAc,CAAA;AAChB,CAAC,EAHW,YAAY,4BAAZ,YAAY,QAGvB;AAED;;;;;GAKG;AACU,QAAA,aAAa,GAAG,YAAY,CAAC"}