@decaf-ts/for-fabric 0.1.119 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) 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/client/FabricClientAdapter.cjs +4 -7
  6. package/lib/client/FabricClientAdapter.js.map +1 -1
  7. package/lib/client/services/FabricIdentityService.cjs +3 -2
  8. package/lib/client/services/FabricIdentityService.js.map +1 -1
  9. package/lib/contract/OtherMarketContract.cjs +30 -0
  10. package/lib/contract/OtherMarketContract.d.ts +5 -0
  11. package/lib/contract/OtherMarketContract.js.map +1 -0
  12. package/lib/contract/OtherProductStrengthContract.cjs +30 -0
  13. package/lib/contract/OtherProductStrengthContract.d.ts +5 -0
  14. package/lib/contract/OtherProductStrengthContract.js.map +1 -0
  15. package/lib/contract/index.cjs +4 -0
  16. package/lib/contract/index.js.map +1 -1
  17. package/lib/contract/models/Audit.js.map +1 -1
  18. package/lib/contract/models/OtherAudit.cjs +105 -0
  19. package/lib/contract/models/OtherAudit.d.ts +13 -0
  20. package/lib/contract/models/OtherAudit.js.map +1 -0
  21. package/lib/contract/models/OtherMarket.cjs +78 -0
  22. package/lib/contract/models/OtherMarket.d.ts +12 -0
  23. package/lib/contract/models/OtherMarket.js.map +1 -0
  24. package/lib/contract/models/OtherProductShared.cjs +15 -4
  25. package/lib/contract/models/OtherProductShared.d.ts +4 -0
  26. package/lib/contract/models/OtherProductShared.js.map +1 -1
  27. package/lib/contract/models/OtherProductStrength.cjs +81 -0
  28. package/lib/contract/models/OtherProductStrength.d.ts +11 -0
  29. package/lib/contract/models/OtherProductStrength.js.map +1 -0
  30. package/lib/contract/models/Product.cjs +1 -1
  31. package/lib/contract/models/Product.js.map +1 -1
  32. package/lib/contract/models/ProductStrength.js.map +1 -1
  33. package/lib/contract/models/decorators-private.cjs +88 -0
  34. package/lib/contract/models/decorators-private.d.ts +16 -0
  35. package/lib/contract/models/decorators-private.js.map +1 -0
  36. package/lib/contract/models/decorators.cjs +31 -2
  37. package/lib/contract/models/decorators.d.ts +6 -1
  38. package/lib/contract/models/decorators.js.map +1 -1
  39. package/lib/contracts/ContractAdapter.cjs +259 -409
  40. package/lib/contracts/ContractAdapter.d.ts +5 -29
  41. package/lib/contracts/ContractAdapter.js.map +1 -1
  42. package/lib/contracts/ContractContext.cjs +41 -13
  43. package/lib/contracts/ContractContext.d.ts +13 -8
  44. package/lib/contracts/ContractContext.js.map +1 -1
  45. package/lib/contracts/FabricContractRepository.cjs +70 -0
  46. package/lib/contracts/FabricContractRepository.d.ts +6 -0
  47. package/lib/contracts/FabricContractRepository.js.map +1 -1
  48. package/lib/contracts/FabricContractSequence.cjs +7 -23
  49. package/lib/contracts/FabricContractSequence.js.map +1 -1
  50. package/lib/contracts/FabricContractStatement.cjs +136 -1
  51. package/lib/contracts/FabricContractStatement.d.ts +5 -2
  52. package/lib/contracts/FabricContractStatement.js.map +1 -1
  53. package/lib/contracts/crud/crud-contract.cjs +42 -17
  54. package/lib/contracts/crud/crud-contract.d.ts +6 -5
  55. package/lib/contracts/crud/crud-contract.js.map +1 -1
  56. package/lib/contracts/types.d.ts +9 -2
  57. package/lib/esm/client/FabricClientAdapter.js +4 -7
  58. package/lib/esm/client/FabricClientAdapter.js.map +1 -1
  59. package/lib/esm/client/services/FabricIdentityService.js +3 -2
  60. package/lib/esm/client/services/FabricIdentityService.js.map +1 -1
  61. package/lib/esm/contract/OtherMarketContract.d.ts +5 -0
  62. package/lib/esm/contract/OtherMarketContract.js +27 -0
  63. package/lib/esm/contract/OtherMarketContract.js.map +1 -0
  64. package/lib/esm/contract/OtherProductStrengthContract.d.ts +5 -0
  65. package/lib/esm/contract/OtherProductStrengthContract.js +27 -0
  66. package/lib/esm/contract/OtherProductStrengthContract.js.map +1 -0
  67. package/lib/esm/contract/index.js +4 -0
  68. package/lib/esm/contract/index.js.map +1 -1
  69. package/lib/esm/contract/models/Audit.js +1 -1
  70. package/lib/esm/contract/models/Audit.js.map +1 -1
  71. package/lib/esm/contract/models/OtherAudit.d.ts +13 -0
  72. package/lib/esm/contract/models/OtherAudit.js +102 -0
  73. package/lib/esm/contract/models/OtherAudit.js.map +1 -0
  74. package/lib/esm/contract/models/OtherMarket.d.ts +12 -0
  75. package/lib/esm/contract/models/OtherMarket.js +75 -0
  76. package/lib/esm/contract/models/OtherMarket.js.map +1 -0
  77. package/lib/esm/contract/models/OtherProductShared.d.ts +4 -0
  78. package/lib/esm/contract/models/OtherProductShared.js +16 -5
  79. package/lib/esm/contract/models/OtherProductShared.js.map +1 -1
  80. package/lib/esm/contract/models/OtherProductStrength.d.ts +11 -0
  81. package/lib/esm/contract/models/OtherProductStrength.js +78 -0
  82. package/lib/esm/contract/models/OtherProductStrength.js.map +1 -0
  83. package/lib/esm/contract/models/Product.js +1 -1
  84. package/lib/esm/contract/models/Product.js.map +1 -1
  85. package/lib/esm/contract/models/ProductStrength.js +1 -1
  86. package/lib/esm/contract/models/ProductStrength.js.map +1 -1
  87. package/lib/esm/contract/models/decorators-private.d.ts +16 -0
  88. package/lib/esm/contract/models/decorators-private.js +81 -0
  89. package/lib/esm/contract/models/decorators-private.js.map +1 -0
  90. package/lib/esm/contract/models/decorators.d.ts +6 -1
  91. package/lib/esm/contract/models/decorators.js +30 -2
  92. package/lib/esm/contract/models/decorators.js.map +1 -1
  93. package/lib/esm/contracts/ContractAdapter.d.ts +5 -29
  94. package/lib/esm/contracts/ContractAdapter.js +262 -412
  95. package/lib/esm/contracts/ContractAdapter.js.map +1 -1
  96. package/lib/esm/contracts/ContractContext.d.ts +13 -8
  97. package/lib/esm/contracts/ContractContext.js +41 -13
  98. package/lib/esm/contracts/ContractContext.js.map +1 -1
  99. package/lib/esm/contracts/FabricContractRepository.d.ts +6 -0
  100. package/lib/esm/contracts/FabricContractRepository.js +70 -0
  101. package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
  102. package/lib/esm/contracts/FabricContractSequence.js +9 -25
  103. package/lib/esm/contracts/FabricContractSequence.js.map +1 -1
  104. package/lib/esm/contracts/FabricContractStatement.d.ts +5 -2
  105. package/lib/esm/contracts/FabricContractStatement.js +135 -0
  106. package/lib/esm/contracts/FabricContractStatement.js.map +1 -1
  107. package/lib/esm/contracts/crud/crud-contract.d.ts +6 -5
  108. package/lib/esm/contracts/crud/crud-contract.js +42 -17
  109. package/lib/esm/contracts/crud/crud-contract.js.map +1 -1
  110. package/lib/esm/contracts/types.d.ts +9 -2
  111. package/lib/esm/shared/decorators.d.ts +8 -0
  112. package/lib/esm/shared/decorators.js +90 -83
  113. package/lib/esm/shared/decorators.js.map +1 -1
  114. package/lib/esm/shared/overrides/overrides.js +7 -6
  115. package/lib/esm/shared/overrides/overrides.js.map +1 -1
  116. package/lib/esm/shared/types.d.ts +3 -2
  117. package/lib/esm/version.d.ts +1 -1
  118. package/lib/esm/version.js +1 -1
  119. package/lib/shared/decorators.cjs +91 -82
  120. package/lib/shared/decorators.d.ts +8 -0
  121. package/lib/shared/decorators.js.map +1 -1
  122. package/lib/shared/overrides/overrides.cjs +7 -6
  123. package/lib/shared/overrides/overrides.js.map +1 -1
  124. package/lib/shared/types.d.ts +3 -2
  125. package/lib/version.cjs +1 -1
  126. package/lib/version.d.ts +1 -1
  127. package/package.json +3 -3
  128. package/lib/contracts/ContractPrivateDataAdapter.cjs +0 -426
  129. package/lib/contracts/ContractPrivateDataAdapter.d.ts +0 -0
  130. package/lib/contracts/ContractPrivateDataAdapter.js.map +0 -1
  131. package/lib/contracts/FabricConstruction.cjs +0 -441
  132. package/lib/contracts/FabricConstruction.d.ts +0 -305
  133. package/lib/contracts/FabricConstruction.js.map +0 -1
  134. package/lib/contracts/private-data.cjs +0 -204
  135. package/lib/contracts/private-data.d.ts +0 -0
  136. package/lib/contracts/private-data.js.map +0 -1
  137. package/lib/esm/contracts/ContractPrivateDataAdapter.d.ts +0 -0
  138. package/lib/esm/contracts/ContractPrivateDataAdapter.js +0 -426
  139. package/lib/esm/contracts/ContractPrivateDataAdapter.js.map +0 -1
  140. package/lib/esm/contracts/FabricConstruction.d.ts +0 -305
  141. package/lib/esm/contracts/FabricConstruction.js +0 -433
  142. package/lib/esm/contracts/FabricConstruction.js.map +0 -1
  143. package/lib/esm/contracts/private-data.d.ts +0 -0
  144. package/lib/esm/contracts/private-data.js +0 -204
  145. package/lib/esm/contracts/private-data.js.map +0 -1
@@ -8,14 +8,16 @@ var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
10
  import { model, required } from "@decaf-ts/decorator-validation";
11
- import { column, index, OrderDirection, pk, table } from "@decaf-ts/core";
11
+ import { Cascade, column, index, oneToMany, OrderDirection, pk, table, } from "@decaf-ts/core";
12
12
  // import {BlockOperations, OperationKeys, readonly} from "@decaf-ts/db-decorators";
13
13
  import { uses } from "@decaf-ts/decoration";
14
14
  import { BaseIdentifiedModel } from "./BaseIdentifiedModel.js";
15
15
  import { gtin } from "./gtin.js";
16
- import { audit } from "./decorators.js";
17
- import { FabricFlavour, mirror, NamespaceCollection, ownedBy, sharedData, } from "./../../shared/index.js";
16
+ import { audit } from "./decorators-private.js";
17
+ import { FabricFlavour, NamespaceCollection, ownedBy, sharedData, } from "./../../shared/index.js";
18
18
  import { version } from "@decaf-ts/db-decorators";
19
+ import { OtherProductStrength } from "./OtherProductStrength.js";
20
+ import { OtherMarket } from "./OtherMarket.js";
19
21
  let OtherProductShared = class OtherProductShared extends BaseIdentifiedModel {
20
22
  constructor(args) {
21
23
  super(args);
@@ -24,8 +26,9 @@ let OtherProductShared = class OtherProductShared extends BaseIdentifiedModel {
24
26
  };
25
27
  __decorate([
26
28
  pk(),
27
- gtin(),
28
- mirror("mirror-collection", "org-a"),
29
+ gtin()
30
+ // @mirror("mirror-collection", "org-a")
31
+ ,
29
32
  audit(OtherProductShared),
30
33
  __metadata("design:type", String)
31
34
  ], OtherProductShared.prototype, "productCode", void 0);
@@ -54,6 +57,14 @@ __decorate([
54
57
  version(),
55
58
  __metadata("design:type", Number)
56
59
  ], OtherProductShared.prototype, "counter", void 0);
60
+ __decorate([
61
+ oneToMany(() => OtherProductStrength, { update: Cascade.CASCADE, delete: Cascade.CASCADE }, false),
62
+ __metadata("design:type", Array)
63
+ ], OtherProductShared.prototype, "strengths", void 0);
64
+ __decorate([
65
+ oneToMany(() => OtherMarket, { update: Cascade.CASCADE, delete: Cascade.CASCADE }, false),
66
+ __metadata("design:type", Array)
67
+ ], OtherProductShared.prototype, "markets", void 0);
57
68
  __decorate([
58
69
  column(),
59
70
  ownedBy(),
@@ -1 +1 @@
1
- {"version":3,"file":"OtherProductShared.js","sourceRoot":"","sources":["../../../../src/contract/models/OtherProductShared.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAC1E,oFAAoF;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAC5D,OAAO,EAAE,IAAI,EAAE,kBAAe;AAC9B,OAAO,EAAE,KAAK,EAAE,wBAAqB;AACrC,OAAO,EACL,aAAa,EACb,MAAM,EACN,mBAAmB,EACnB,OAAO,EACP,UAAU,GACX,gCAA2B;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAO3C,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,mBAAmB;IAgEzD,YAAY,IAAmC;QAC7C,KAAK,CAAC,IAAI,CAAC,CAAC;QA3Cd,kBAAa,GAAY,KAAK,CAAC;IA4C/B,CAAC;CACF,CAAA;AA9DC;IAJC,EAAE,EAAE;IACJ,IAAI,EAAE;IACN,MAAM,CAAC,mBAAmB,EAAE,OAAO,CAAC;IACpC,KAAK,CAAC,kBAAkB,CAAC;;uDACL;AAKrB;IAHC,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;wDAC1B;AAKtB;IAHC,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;gEAClB;AAG9B;IADC,MAAM,EAAE;;gEACqB;AAI9B;IAFC,MAAM,EAAE;IACR,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;yDACjB;AAsB/B;IADC,OAAO,EAAE;;mDACO;AAkBjB;IAFC,MAAM,EAAE;IACR,OAAO,EAAE;;mDACO;AA9DN,kBAAkB;IAL9B,UAAU,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAI,CAAC,aAAa,CAAC;IACpB,2CAA2C;;IAC1C,KAAK,CAAC,sBAAsB,CAAC;IAC7B,KAAK,EAAE;;GACK,kBAAkB,CAmE9B"}
1
+ {"version":3,"file":"OtherProductShared.js","sourceRoot":"","sources":["../../../../src/contract/models/OtherProductShared.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,OAAO,EACP,MAAM,EACN,KAAK,EACL,SAAS,EACT,cAAc,EACd,EAAE,EACF,KAAK,GACN,MAAM,gBAAgB,CAAC;AACxB,oFAAoF;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAC5D,OAAO,EAAE,IAAI,EAAE,kBAAe;AAC9B,OAAO,EAAE,KAAK,EAAE,gCAA6B;AAC7C,OAAO,EACL,aAAa,EAEb,mBAAmB,EACnB,OAAO,EACP,UAAU,GACX,gCAA2B;AAC5B,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAE,oBAAoB,EAAE,kCAA+B;AAC9D,OAAO,EAAE,WAAW,EAAE,yBAAsB;AAOrC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,mBAAmB;IAgEzD,YAAY,IAAmC;QAC7C,KAAK,CAAC,IAAI,CAAC,CAAC;QA3Cd,kBAAa,GAAY,KAAK,CAAC;IA4C/B,CAAC;CACF,CAAA;AA9DC;IAJC,EAAE,EAAE;IACJ,IAAI,EAAE;IACP,wCAAwC;;IACvC,KAAK,CAAC,kBAAkB,CAAC;;uDACL;AAKrB;IAHC,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;wDAC1B;AAKtB;IAHC,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;gEAClB;AAG9B;IADC,MAAM,EAAE;;gEACqB;AAI9B;IAFC,MAAM,EAAE;IACR,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;yDACjB;AAsB/B;IADC,OAAO,EAAE;;mDACO;AAOjB;IALC,SAAS,CACR,GAAG,EAAE,CAAC,oBAAoB,EAC1B,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,EACpD,KAAK,CACN;;qDACkC;AAOnC;IALC,SAAS,CACR,GAAG,EAAE,CAAC,WAAW,EACjB,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,EACpD,KAAK,CACN;;mDACuB;AAIxB;IAFC,MAAM,EAAE;IACR,OAAO,EAAE;;mDACO;AA9DN,kBAAkB;IAL9B,UAAU,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAI,CAAC,aAAa,CAAC;IACpB,2CAA2C;;IAC1C,KAAK,CAAC,sBAAsB,CAAC;IAC7B,KAAK,EAAE;;GACK,kBAAkB,CAmE9B"}
@@ -0,0 +1,11 @@
1
+ import type { ModelArg } from "@decaf-ts/decorator-validation";
2
+ import { BaseIdentifiedModel } from "./BaseIdentifiedModel";
3
+ export declare class OtherProductStrength extends BaseIdentifiedModel {
4
+ id: string;
5
+ uuid: string;
6
+ productCode: string;
7
+ strength: string;
8
+ substance?: string;
9
+ legalEntityName?: string;
10
+ constructor(model?: ModelArg<OtherProductStrength>);
11
+ }
@@ -0,0 +1,78 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { model, required } from "@decaf-ts/decorator-validation";
11
+ import { column, index, OrderDirection, pk, table, uuid } from "@decaf-ts/core";
12
+ import { TableNames } from "./constants.js";
13
+ import { description, uses } from "@decaf-ts/decoration";
14
+ import { BaseIdentifiedModel } from "./BaseIdentifiedModel.js";
15
+ import { FabricFlavour, NamespaceCollection, sharedData, } from "./../../shared/index.js";
16
+ import { composed, InternalError } from "@decaf-ts/db-decorators";
17
+ import { gtin } from "./gtin.js";
18
+ function strengthSeed(m) {
19
+ try {
20
+ return `${m.productCode}${m.strength}${m.substance ? m.substance : ""}`;
21
+ }
22
+ catch (e) {
23
+ throw new InternalError(`Failed to generate deterministic uuid: ${e}`);
24
+ }
25
+ }
26
+ let OtherProductStrength = class OtherProductStrength extends BaseIdentifiedModel {
27
+ constructor(model) {
28
+ super(model);
29
+ }
30
+ };
31
+ __decorate([
32
+ pk()
33
+ // @mirror("mirror-collection", "org-a")
34
+ ,
35
+ composed(["productCode", "uuid"], ":"),
36
+ description("Unique identifier of the product strength."),
37
+ __metadata("design:type", String)
38
+ ], OtherProductStrength.prototype, "id", void 0);
39
+ __decorate([
40
+ uuid(strengthSeed),
41
+ required(),
42
+ description("Unique identifier of the audit record."),
43
+ __metadata("design:type", String)
44
+ ], OtherProductStrength.prototype, "uuid", void 0);
45
+ __decorate([
46
+ gtin(),
47
+ index([OrderDirection.ASC, OrderDirection.DSC]),
48
+ description("Product code associated with this strength entry."),
49
+ __metadata("design:type", String)
50
+ ], OtherProductStrength.prototype, "productCode", void 0);
51
+ __decorate([
52
+ column(),
53
+ required(),
54
+ index([OrderDirection.ASC, OrderDirection.DSC]),
55
+ description("Product concentration or dosage (e.g., 500mg, 10%)."),
56
+ __metadata("design:type", String)
57
+ ], OtherProductStrength.prototype, "strength", void 0);
58
+ __decorate([
59
+ column(),
60
+ index([OrderDirection.ASC, OrderDirection.DSC]),
61
+ description("Active substance related to this product strength."),
62
+ __metadata("design:type", String)
63
+ ], OtherProductStrength.prototype, "substance", void 0);
64
+ __decorate([
65
+ column(),
66
+ description("Legal entity name responsible for the product."),
67
+ __metadata("design:type", String)
68
+ ], OtherProductStrength.prototype, "legalEntityName", void 0);
69
+ OtherProductStrength = __decorate([
70
+ sharedData(NamespaceCollection("decaf-namespace")),
71
+ uses(FabricFlavour),
72
+ table(TableNames.ProductStrength),
73
+ model(),
74
+ description("Represents the product’s strength and composition details."),
75
+ __metadata("design:paramtypes", [Object])
76
+ ], OtherProductStrength);
77
+ export { OtherProductStrength };
78
+ //# sourceMappingURL=OtherProductStrength.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OtherProductStrength.js","sourceRoot":"","sources":["../../../../src/contract/models/OtherProductStrength.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAChF,OAAO,EAAE,UAAU,EAAE,uBAAoB;AACzC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAE5D,OAAO,EACL,aAAa,EAEb,mBAAmB,EACnB,UAAU,GACX,gCAA2B;AAC5B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,kBAAe;AAE9B,SAAS,YAAY,CAAC,CAAuB;IAC3C,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1E,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,IAAI,aAAa,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAOM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,mBAAmB;IAqC3D,YAAY,KAAsC;QAChD,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF,CAAA;AAnCC;IAJC,EAAE,EAAE;IACL,wCAAwC;;IACvC,QAAQ,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC;IACtC,WAAW,CAAC,4CAA4C,CAAC;;gDAC9C;AAKZ;IAHC,IAAI,CAAC,YAAY,CAAC;IAClB,QAAQ,EAAE;IACV,WAAW,CAAC,wCAAwC,CAAC;;kDACxC;AAUd;IAHC,IAAI,EAAE;IACN,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,WAAW,CAAC,mDAAmD,CAAC;;yDAC5C;AAMrB;IAJC,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,WAAW,CAAC,qDAAqD,CAAC;;sDACjD;AAKlB;IAHC,MAAM,EAAE;IACR,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,WAAW,CAAC,oDAAoD,CAAC;;uDAC/C;AAInB;IAFC,MAAM,EAAE;IACR,WAAW,CAAC,gDAAgD,CAAC;;6DACrC;AAnCd,oBAAoB;IALhC,UAAU,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;IAClD,IAAI,CAAC,aAAa,CAAC;IACnB,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;IACjC,KAAK,EAAE;IACP,WAAW,CAAC,4DAA4D,CAAC;;GAC7D,oBAAoB,CAwChC"}
@@ -59,7 +59,7 @@ __decorate([
59
59
  __metadata("design:type", Array)
60
60
  ], Product.prototype, "strengths", void 0);
61
61
  __decorate([
62
- oneToMany(() => Market, { update: Cascade.NONE, delete: Cascade.NONE }, false),
62
+ oneToMany(() => Market, { update: Cascade.CASCADE, delete: Cascade.CASCADE }, false),
63
63
  __metadata("design:type", Array)
64
64
  ], Product.prototype, "markets", void 0);
65
65
  Product = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"Product.js","sourceRoot":"","sources":["../../../../src/contract/models/Product.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,MAAM,EACN,KAAK,EACL,SAAS,EACT,KAAK,EACL,cAAc,EACd,EAAE,EACF,OAAO,GACR,MAAM,gBAAgB,CAAC;AACxB,oFAAoF;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,6BAA0B;AACpD,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAClC,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAC5D,OAAO,EAAE,IAAI,EAAE,kBAAe;AAE9B,OAAO,EAAE,KAAK,EAAE,wBAAqB;AACrC,OAAO,EAAE,aAAa,EAAE,oCAA+B;AAMhD,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,mBAAmB;IA2D9C,YAAY,IAAwB;QAClC,KAAK,CAAC,IAAI,CAAC,CAAC;QAvCd,kBAAa,GAAY,KAAK,CAAC;IAwC/B,CAAC;CACF,CAAA;AA1DC;IAHC,IAAI,EAAE;IACN,KAAK,CAAC,OAAO,CAAC;IACd,EAAE,EAAE;;4CACgB;AAKrB;IAHC,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;6CAC1B;AAKtB;IAHC,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;qDAClB;AAG9B;IADC,MAAM,EAAE;;qDACqB;AAI9B;IAFC,MAAM,EAAE;IACR,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;8CACjB;AAsB/B;IADC,MAAM,EAAE;;wCACQ;AAOjB;IALC,SAAS,CACR,GAAG,EAAE,CAAC,eAAe,EACrB,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,EACpD,KAAK,CACN;;0CAC6B;AAO9B;IALC,SAAS,CACR,GAAG,EAAE,CAAC,MAAM,EACZ,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,EAC9C,KAAK,CACN;;wCACkB;AAzDR,OAAO;IAJnB,IAAI,CAAC,aAAa,CAAC;IACpB,2CAA2C;;IAC1C,KAAK,EAAE;IACP,KAAK,EAAE;;GACK,OAAO,CA8DnB"}
1
+ {"version":3,"file":"Product.js","sourceRoot":"","sources":["../../../../src/contract/models/Product.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,MAAM,EACN,KAAK,EACL,SAAS,EACT,KAAK,EACL,cAAc,EACd,EAAE,EACF,OAAO,GACR,MAAM,gBAAgB,CAAC;AACxB,oFAAoF;AACpF,OAAO,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAC5C,OAAO,EAAE,eAAe,EAAE,6BAA0B;AACpD,OAAO,EAAE,MAAM,EAAE,oBAAiB;AAClC,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAC5D,OAAO,EAAE,IAAI,EAAE,kBAAe;AAE9B,OAAO,EAAE,KAAK,EAAE,wBAAqB;AACrC,OAAO,EAAE,aAAa,EAAE,oCAA+B;AAMhD,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,mBAAmB;IA2D9C,YAAY,IAAwB;QAClC,KAAK,CAAC,IAAI,CAAC,CAAC;QAvCd,kBAAa,GAAY,KAAK,CAAC;IAwC/B,CAAC;CACF,CAAA;AA1DC;IAHC,IAAI,EAAE;IACN,KAAK,CAAC,OAAO,CAAC;IACd,EAAE,EAAE;;4CACgB;AAKrB;IAHC,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;6CAC1B;AAKtB;IAHC,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;qDAClB;AAG9B;IADC,MAAM,EAAE;;qDACqB;AAI9B;IAFC,MAAM,EAAE;IACR,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;;8CACjB;AAsB/B;IADC,MAAM,EAAE;;wCACQ;AAOjB;IALC,SAAS,CACR,GAAG,EAAE,CAAC,eAAe,EACrB,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,EACpD,KAAK,CACN;;0CAC6B;AAO9B;IALC,SAAS,CACR,GAAG,EAAE,CAAC,MAAM,EACZ,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,EACpD,KAAK,CACN;;wCACkB;AAzDR,OAAO;IAJnB,IAAI,CAAC,aAAa,CAAC;IACpB,2CAA2C;;IAC1C,KAAK,EAAE;IACP,KAAK,EAAE;;GACK,OAAO,CA8DnB"}
@@ -12,7 +12,7 @@ import { column, index, OrderDirection, pk, table, uuid, } from "@decaf-ts/core"
12
12
  import { TableNames } from "./constants.js";
13
13
  import { description, uses } from "@decaf-ts/decoration";
14
14
  import { BaseIdentifiedModel } from "./BaseIdentifiedModel.js";
15
- import { FabricFlavour } from "./../../shared/index.js";
15
+ import { FabricFlavour, } from "./../../shared/index.js";
16
16
  import { composed, InternalError } from "@decaf-ts/db-decorators";
17
17
  import { gtin } from "./gtin.js";
18
18
  function strengthSeed(m) {
@@ -1 +1 @@
1
- {"version":3,"file":"ProductStrength.js","sourceRoot":"","sources":["../../../../src/contract/models/ProductStrength.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,MAAM,EAEN,KAAK,EACL,cAAc,EACd,EAAE,EACF,KAAK,EACL,IAAI,GACL,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,uBAAoB;AACzC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAE5D,OAAO,EAAE,aAAa,EAAE,gCAA2B;AACnD,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,kBAAe;AAE9B,SAAS,YAAY,CAAC,CAAkB;IACtC,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1E,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,IAAI,aAAa,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAMM,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,mBAAmB;IAoCtD,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF,CAAA;AAnCC;IAHC,EAAE,EAAE;IACJ,QAAQ,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC;IACtC,WAAW,CAAC,4CAA4C,CAAC;;2CAC9C;AAKZ;IAHC,IAAI,CAAC,YAAY,CAAC;IAClB,QAAQ,EAAE;IACV,WAAW,CAAC,wCAAwC,CAAC;;6CACxC;AAUd;IAHC,IAAI,EAAE;IACN,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,WAAW,CAAC,mDAAmD,CAAC;;oDAC5C;AAMrB;IAJC,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,WAAW,CAAC,qDAAqD,CAAC;;iDACjD;AAKlB;IAHC,MAAM,EAAE;IACR,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,WAAW,CAAC,oDAAoD,CAAC;;kDAC/C;AAInB;IAFC,MAAM,EAAE;IACR,WAAW,CAAC,gDAAgD,CAAC;;wDACrC;AAlCd,eAAe;IAJ3B,IAAI,CAAC,aAAa,CAAC;IACnB,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;IACjC,KAAK,EAAE;IACP,WAAW,CAAC,4DAA4D,CAAC;;GAC7D,eAAe,CAuC3B"}
1
+ {"version":3,"file":"ProductStrength.js","sourceRoot":"","sources":["../../../../src/contract/models/ProductStrength.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EACL,MAAM,EAEN,KAAK,EACL,cAAc,EACd,EAAE,EACF,KAAK,EACL,IAAI,GACL,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,uBAAoB;AACzC,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,iCAA8B;AAE5D,OAAO,EACL,aAAa,GAId,gCAA2B;AAC5B,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,IAAI,EAAE,kBAAe;AAE9B,SAAS,YAAY,CAAC,CAAkB;IACtC,IAAI,CAAC;QACH,OAAO,GAAG,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAC1E,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,MAAM,IAAI,aAAa,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAMM,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,mBAAmB;IAoCtD,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF,CAAA;AAnCC;IAHC,EAAE,EAAE;IACJ,QAAQ,CAAC,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC;IACtC,WAAW,CAAC,4CAA4C,CAAC;;2CAC9C;AAKZ;IAHC,IAAI,CAAC,YAAY,CAAC;IAClB,QAAQ,EAAE;IACV,WAAW,CAAC,wCAAwC,CAAC;;6CACxC;AAUd;IAHC,IAAI,EAAE;IACN,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,WAAW,CAAC,mDAAmD,CAAC;;oDAC5C;AAMrB;IAJC,MAAM,EAAE;IACR,QAAQ,EAAE;IACV,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,WAAW,CAAC,qDAAqD,CAAC;;iDACjD;AAKlB;IAHC,MAAM,EAAE;IACR,KAAK,CAAC,CAAC,cAAc,CAAC,GAAG,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,WAAW,CAAC,oDAAoD,CAAC;;kDAC/C;AAInB;IAFC,MAAM,EAAE;IACR,WAAW,CAAC,gDAAgD,CAAC;;wDACrC;AAlCd,eAAe;IAJ3B,IAAI,CAAC,aAAa,CAAC;IACnB,KAAK,CAAC,UAAU,CAAC,eAAe,CAAC;IACjC,KAAK,EAAE;IACP,WAAW,CAAC,4DAA4D,CAAC;;GAC7D,eAAe,CAuC3B"}
@@ -0,0 +1,16 @@
1
+ import { Model } from "@decaf-ts/decorator-validation";
2
+ import { Constructor } from "@decaf-ts/decoration";
3
+ import { Repository } from "@decaf-ts/core";
4
+ import { FabricContractContext } from "../../contracts/ContractContext";
5
+ import { CollectionResolver } from "../../shared/decorators";
6
+ export declare function rebuildForMatchingCollection<M extends Model>(model: M, context: any, collections: {
7
+ privateCols: (string | CollectionResolver)[];
8
+ sharedCols: (string | CollectionResolver)[];
9
+ }): Promise<M>;
10
+ export declare function createAuditHandler<M extends Model, R extends Repository<M, any>>(this: R, context: FabricContractContext, data: AuditMetadata, key: keyof M, model: M): Promise<void>;
11
+ export declare function updateAuditHandler<M extends Model, R extends Repository<M, any>>(this: R, context: FabricContractContext, data: AuditMetadata, key: keyof M, model: M, oldModel: M): Promise<void>;
12
+ export declare function deleteAuditHandler<M extends Model, R extends Repository<M, any>>(this: R, context: FabricContractContext, data: AuditMetadata, key: keyof M, model: M): Promise<void>;
13
+ export type AuditMetadata = {
14
+ class: Constructor<Model>;
15
+ };
16
+ export declare function audit(model: Constructor<Model<boolean>>): (target: object, propertyKey?: string | symbol | unknown, descriptor?: PropertyDescriptor | number) => void;
@@ -0,0 +1,81 @@
1
+ import { Model } from "@decaf-ts/decorator-validation";
2
+ import { metadata, apply } from "@decaf-ts/decoration";
3
+ import { afterCreate, afterDelete, afterUpdate, InternalError, OperationKeys, } from "@decaf-ts/db-decorators";
4
+ import { OtherAudit } from "./OtherAudit.js";
5
+ import { Repository } from "@decaf-ts/core";
6
+ export async function rebuildForMatchingCollection(model, context, collections) {
7
+ const mapToCollections = collections && (collections.privateCols || collections.sharedCols);
8
+ let cols = undefined;
9
+ if (mapToCollections) {
10
+ const msp = Model.ownerOf(model) || (await context.stub.getCreator()).mspid;
11
+ cols = [
12
+ ...new Set([...collections.privateCols, ...collections.sharedCols].map((col) => {
13
+ return typeof col === "string"
14
+ ? col
15
+ : col(model, msp);
16
+ })),
17
+ ];
18
+ const pk = Model.pk(model);
19
+ cols.forEach((col) => {
20
+ const segData = context.get("segregatedData");
21
+ Object.assign(model, segData[col][model[pk]]);
22
+ });
23
+ }
24
+ return model;
25
+ }
26
+ export async function createAuditHandler(context, data, key, model) {
27
+ const repo = Repository.forModel(OtherAudit);
28
+ const collections = Model.collectionsFor(OtherAudit);
29
+ model = await rebuildForMatchingCollection(model, context, collections);
30
+ if (!context.identity || !context.identity.getID)
31
+ throw new InternalError(`Lost context apparently for audit`);
32
+ const toCreate = new OtherAudit({
33
+ userGroup: context.identity.getID(),
34
+ userId: context.identity.getID(),
35
+ model: Model.tableName(data.class),
36
+ transaction: context.stub.getTxID(),
37
+ action: OperationKeys.CREATE,
38
+ diffs: new this.class().compare(model),
39
+ });
40
+ const audit = await repo.override(this._overrides).create(toCreate, context);
41
+ context.logger.info(`Audit log for ${OperationKeys.CREATE} of ${Model.tableName(this.class)} created: ${audit.id}: ${JSON.stringify(audit, undefined, 2)}`);
42
+ }
43
+ export async function updateAuditHandler(context, data, key, model, oldModel) {
44
+ const repo = Repository.forModel(OtherAudit);
45
+ const collections = Model.collectionsFor(OtherAudit);
46
+ model = await rebuildForMatchingCollection(model, context, collections);
47
+ if (!context.identity || !context.identity.getID)
48
+ throw new InternalError(`Lost context apparently for audit`);
49
+ const toCreate = new OtherAudit({
50
+ userGroup: context.identity.getID(),
51
+ userId: context.identity.getID(),
52
+ model: Model.tableName(data.class),
53
+ transaction: context.stub.getTxID(),
54
+ action: OperationKeys.UPDATE,
55
+ diffs: model.compare(oldModel),
56
+ });
57
+ const audit = await repo.override(this._overrides).create(toCreate, context);
58
+ context.logger.info(`Audit log for ${OperationKeys.UPDATE} of ${Model.tableName(this.class)} created: ${JSON.stringify(audit, undefined, 2)}`);
59
+ }
60
+ export async function deleteAuditHandler(context, data, key, model) {
61
+ if (!context.identity || !context.identity.getID)
62
+ throw new InternalError(`Lost context apprently. no getId in identity`);
63
+ const toCreate = new OtherAudit({
64
+ userGroup: context.identity.getID(),
65
+ userId: context.identity.getID(),
66
+ model: Model.tableName(data.class),
67
+ transaction: context.stub.getTxID(),
68
+ action: OperationKeys.DELETE,
69
+ diffs: model.compare(new this.class()),
70
+ });
71
+ const repo = Repository.forModel(OtherAudit);
72
+ const audit = await repo.override(this._overrides).create(toCreate, context);
73
+ context.logger.info(`Audit log for ${OperationKeys.DELETE} of ${Model.tableName(this.class)} created: ${JSON.stringify(audit, undefined, 2)}`);
74
+ }
75
+ export function audit(model) {
76
+ const meta = {
77
+ class: model,
78
+ };
79
+ return apply(afterCreate(createAuditHandler, meta), afterUpdate(updateAuditHandler, meta), afterDelete(deleteAuditHandler, meta), metadata("audit", true));
80
+ }
81
+ //# sourceMappingURL=decorators-private.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decorators-private.js","sourceRoot":"","sources":["../../../../src/contract/models/decorators-private.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,12 @@
1
1
  import { Model } from "@decaf-ts/decorator-validation";
2
2
  import { Constructor } from "@decaf-ts/decoration";
3
3
  import { Repository } from "@decaf-ts/core";
4
- import { FabricContractContext } from "../../contracts/index";
4
+ import { FabricContractContext } from "../../contracts/ContractContext";
5
+ import { CollectionResolver } from "../../shared/decorators";
6
+ export declare function rebuildForMatchingCollection<M extends Model>(model: M, context: any, collections: {
7
+ privateCols: (string | CollectionResolver)[];
8
+ sharedCols: (string | CollectionResolver)[];
9
+ }): Promise<M>;
5
10
  export declare function createAuditHandler<M extends Model, R extends Repository<M, any>>(this: R, context: FabricContractContext, data: AuditMetadata, key: keyof M, model: M): Promise<void>;
6
11
  export declare function updateAuditHandler<M extends Model, R extends Repository<M, any>>(this: R, context: FabricContractContext, data: AuditMetadata, key: keyof M, model: M, oldModel: M): Promise<void>;
7
12
  export declare function deleteAuditHandler<M extends Model, R extends Repository<M, any>>(this: R, context: FabricContractContext, data: AuditMetadata, key: keyof M, model: M): Promise<void>;
@@ -3,10 +3,33 @@ import { metadata, apply } from "@decaf-ts/decoration";
3
3
  import { afterCreate, afterDelete, afterUpdate, InternalError, OperationKeys, } from "@decaf-ts/db-decorators";
4
4
  import { Audit } from "./Audit.js";
5
5
  import { Repository } from "@decaf-ts/core";
6
+ export async function rebuildForMatchingCollection(model, context, collections) {
7
+ const mapToCollections = collections && (collections.privateCols || collections.sharedCols);
8
+ let cols = undefined;
9
+ if (mapToCollections) {
10
+ const msp = Model.ownerOf(model) || (await context.stub.getCreator()).mspid;
11
+ cols = [
12
+ ...new Set([...collections.privateCols, ...collections.sharedCols].map((col) => {
13
+ return typeof col === "string"
14
+ ? col
15
+ : col(model, msp);
16
+ })),
17
+ ];
18
+ const pk = Model.pk(model);
19
+ cols.forEach((col) => {
20
+ const segData = context.get("segregatedData");
21
+ Object.assign(model, segData[col][model[pk]]);
22
+ });
23
+ }
24
+ return model;
25
+ }
6
26
  export async function createAuditHandler(context, data, key, model) {
7
27
  const repo = Repository.forModel(Audit);
28
+ const collections = Model.collectionsFor(Audit);
29
+ //
30
+ // model = await rebuildForMatchingCollection(model, context, collections);
8
31
  if (!context.identity || !context.identity.getID)
9
- throw new InternalError(`Lost context apparently. no getId in identity`);
32
+ throw new InternalError(`Lost context apparently for audit`);
10
33
  const toCreate = new Audit({
11
34
  userGroup: context.identity.getID(),
12
35
  userId: context.identity.getID(),
@@ -19,6 +42,12 @@ export async function createAuditHandler(context, data, key, model) {
19
42
  context.logger.info(`Audit log for ${OperationKeys.CREATE} of ${Model.tableName(this.class)} created: ${audit.id}: ${JSON.stringify(audit, undefined, 2)}`);
20
43
  }
21
44
  export async function updateAuditHandler(context, data, key, model, oldModel) {
45
+ const repo = Repository.forModel(Audit);
46
+ const collections = Model.collectionsFor(Audit);
47
+ //
48
+ // model = await rebuildForMatchingCollection(model, context, collections);
49
+ if (!context.identity || !context.identity.getID)
50
+ throw new InternalError(`Lost context apparently for audit`);
22
51
  const toCreate = new Audit({
23
52
  userGroup: context.identity.getID(),
24
53
  userId: context.identity.getID(),
@@ -27,7 +56,6 @@ export async function updateAuditHandler(context, data, key, model, oldModel) {
27
56
  action: OperationKeys.UPDATE,
28
57
  diffs: model.compare(oldModel),
29
58
  });
30
- const repo = Repository.forModel(Audit);
31
59
  const audit = await repo.override(this._overrides).create(toCreate, context);
32
60
  context.logger.info(`Audit log for ${OperationKeys.UPDATE} of ${Model.tableName(this.class)} created: ${JSON.stringify(audit, undefined, 2)}`);
33
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/contract/models/decorators.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../../src/contract/models/decorators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAe,MAAM,sBAAsB,CAAC;AACpE,OAAO,EACL,WAAW,EACX,WAAW,EACX,WAAW,EACX,aAAa,EACb,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,mBAAgB;AAChC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAI5C,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,KAAQ,EACR,OAAY,EACZ,WAGC;IAED,MAAM,gBAAgB,GACpB,WAAW,IAAI,CAAC,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IACrE,IAAI,IAAI,GAAyB,SAAS,CAAC;IAC3C,IAAI,gBAAgB,EAAE,CAAC;QACrB,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC;QAC5E,IAAI,GAAG;YACL,GAAG,IAAI,GAAG,CACR,CAAC,GAAG,WAAW,CAAC,WAAW,EAAE,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBAClE,OAAO,OAAO,GAAG,KAAK,QAAQ;oBAC5B,CAAC,CAAC,GAAG;oBACL,CAAC,CAAE,GAA0B,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9C,CAAC,CAAC,CACH;SACF,CAAC;QAEF,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QAE3B,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACnB,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YAC9C,MAAM,CAAC,MAAM,CAAC,KAAK,EAAG,OAAe,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAKtC,OAA8B,EAC9B,IAAmB,EACnB,GAAY,EACZ,KAAQ;IAER,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAChD,EAAE;IACF,2EAA2E;IAE3E,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;QAC9C,MAAM,IAAI,aAAa,CAAC,mCAAmC,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;QACnC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;QAChC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;QACnC,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,KAAK,EAAE,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7E,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,iBAAiB,aAAa,CAAC,MAAM,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,KAAK,CAAC,EAAE,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CACvI,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAKtC,OAA8B,EAC9B,IAAmB,EACnB,GAAY,EACZ,KAAQ,EACR,QAAW;IAEX,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAExC,MAAM,WAAW,GAAG,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAChD,EAAE;IACF,2EAA2E;IAE3E,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;QAC9C,MAAM,IAAI,aAAa,CAAC,mCAAmC,CAAC,CAAC;IAE/D,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;QACnC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;QAChC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;QACnC,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC;KAC/B,CAAC,CAAC;IAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7E,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,iBAAiB,aAAa,CAAC,MAAM,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAC1H,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAKtC,OAA8B,EAC9B,IAAmB,EACnB,GAAY,EACZ,KAAQ;IAER,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,KAAK;QAC9C,MAAM,IAAI,aAAa,CAAC,8CAA8C,CAAC,CAAC;IAE1E,MAAM,QAAQ,GAAG,IAAI,KAAK,CAAC;QACzB,SAAS,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;QACnC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE;QAChC,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;QAClC,WAAW,EAAE,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE;QACnC,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;KACvC,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC7E,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,iBAAiB,aAAa,CAAC,MAAM,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAC1H,CAAC;AACJ,CAAC;AAMD,MAAM,UAAU,KAAK,CAAC,KAAkC;IACtD,MAAM,IAAI,GAAkB;QAC1B,KAAK,EAAE,KAAK;KACb,CAAC;IACF,OAAO,KAAK,CACV,WAAW,CAAC,kBAAyB,EAAE,IAAI,CAAC,EAC5C,WAAW,CAAC,kBAAyB,EAAE,IAAI,CAAC,EAC5C,WAAW,CAAC,kBAAyB,EAAE,IAAI,CAAC,EAC5C,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CACxB,CAAC;AACJ,CAAC"}
@@ -86,18 +86,6 @@ export declare class FabricContractAdapter extends CouchDBAdapter<any, void, Fab
86
86
  */
87
87
  private static textDecoder;
88
88
  protected static readonly serializer: SimpleDeterministicSerializer<Model<false>>;
89
- /**
90
- * @description Stores segregation metadata per sequence name
91
- * @summary Needed because the Sequence creates its own context (via logCtx),
92
- * losing flags set by extractSegregatedCollections on the handler context.
93
- * The adapter persists across operations, making it a reliable store.
94
- */
95
- private _sequenceSegregation;
96
- setSequenceSegregation(seqName: string, fullySegregated: boolean, collections: string[]): void;
97
- getSequenceSegregation(seqName: string): {
98
- fullySegregated: boolean;
99
- collections: string[];
100
- } | undefined;
101
89
  /**
102
90
  * @description Context constructor for this adapter
103
91
  * @summary Overrides the base Context constructor with FabricContractContext
@@ -120,6 +108,7 @@ export declare class FabricContractAdapter extends CouchDBAdapter<any, void, Fab
120
108
  */
121
109
  constructor(scope: void, alias?: string);
122
110
  for(config: Partial<any>, ...args: any): typeof this;
111
+ protected getModelDefaults<M extends Model>(clazz: Constructor<M>): Record<keyof M, any>;
123
112
  /**
124
113
  * @description Creates a record in the state database
125
114
  * @summary Serializes a model and stores it in the Fabric state database
@@ -131,7 +120,7 @@ export declare class FabricContractAdapter extends CouchDBAdapter<any, void, Fab
131
120
  * @return {Promise<Record<string, any>>} Promise resolving to the created record
132
121
  */
133
122
  create<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<Context<FabricContractFlags>>): Promise<Record<string, any>>;
134
- private normalizeForPublic;
123
+ createAll<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<FabricContractContext>): Promise<Record<string, any>[]>;
135
124
  /**
136
125
  * @description Reads a record from the state database
137
126
  * @summary Retrieves and deserializes a record from the Fabric state database
@@ -164,16 +153,9 @@ export declare class FabricContractAdapter extends CouchDBAdapter<any, void, Fab
164
153
  protected deleteState(id: string, context: FabricContractContext): Promise<void>;
165
154
  forPrivate(collection: string): FabricContractAdapter;
166
155
  protected putState(id: string, model: Record<string, any>, ctx: FabricContractContext): Promise<Record<string, any>>;
167
- private flushSegregatedWrites;
168
- private buildSegregatedRecord;
169
- private mergeSegregatedReads;
170
- private readPrivateRecord;
171
- private deleteSegregatedCollections;
172
156
  protected readState(id: string, ctx: FabricContractContext): Promise<any>;
173
157
  protected queryResult(stub: ChaincodeStub, rawInput: any, ...args: ContextualArgs<FabricContractContext>): Promise<Iterators.StateQueryIterator>;
174
- private createRowsIterator;
175
158
  protected queryResultPaginated(stub: ChaincodeStub, rawInput: any, limit?: number, page?: number, bookmark?: string | number, ...args: any[]): Promise<StateQueryResponse<Iterators.StateQueryIterator>>;
176
- protected mergeModels(results: Record<string, any>[]): Record<string, any>;
177
159
  /**
178
160
  * @description Decodes binary data to string
179
161
  * @summary Converts a Uint8Array to a string using UTF-8 encoding
@@ -257,7 +239,6 @@ export declare class FabricContractAdapter extends CouchDBAdapter<any, void, Fab
257
239
  raw<R, D extends boolean>(rawInput: MangoQuery, docsOnly?: D, ...args: ContextualArgs<FabricContractContext>): Promise<RawResult<R, D>>;
258
240
  view<R>(ddoc: string, viewName: string, options: Record<string, any>, ..._args: ContextualArgs<FabricContractContext>): Promise<ViewResponse<R>>;
259
241
  Statement<M extends Model>(): FabricStatement<M, any>;
260
- createAll<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<FabricContractContext>): Promise<Record<string, any>[]>;
261
242
  updateAll<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<FabricContractContext>): Promise<Record<string, any>[]>;
262
243
  /**
263
244
  *
@@ -265,16 +246,11 @@ export declare class FabricContractAdapter extends CouchDBAdapter<any, void, Fab
265
246
  * @param {string} pk
266
247
  * @param args
267
248
  */
268
- prepare<M extends Model>(model: M, ...args: ContextualArgs<FabricContractContext>): PreparedModel;
269
- /**
270
- * @description Gets the property names that belong to a specific private/shared collection
271
- * @summary Looks up per-property metadata set by @privateData/@sharedData decorators
272
- * to determine which properties are decorated for the given collection name.
273
- */
274
- private getFieldsForCollection;
249
+ prepare<M extends Model>(model: M, ...args: ContextualArgs<FabricContractContext>): PreparedModel & {
250
+ segregated?: Record<string, Record<string, any>>;
251
+ };
275
252
  revert<M extends Model>(obj: Record<string, any>, clazz: Constructor<M>, id: PrimaryKeyType, transient?: Record<string, any>, ...args: ContextualArgs<FabricContractContext>): M;
276
253
  private shouldRebuildWithTransient;
277
- private hasPublicState;
278
254
  private getContextMsp;
279
255
  private enforceMirrorAuthorization;
280
256
  createPrefix<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: MaybeContextualArg<FabricContractContext>): [Constructor<M>, PrimaryKeyType, Record<string, any>, ...any[], FabricContractContext];