@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
@@ -1,5 +1,7 @@
1
1
  import type { ModelArg } from "@decaf-ts/decorator-validation";
2
2
  import { BaseIdentifiedModel } from "./BaseIdentifiedModel";
3
+ import { OtherProductStrength } from "./OtherProductStrength";
4
+ import { OtherMarket } from "./OtherMarket";
3
5
  export declare class OtherProductShared extends BaseIdentifiedModel {
4
6
  productCode: string;
5
7
  inventedName: string;
@@ -7,6 +9,8 @@ export declare class OtherProductShared extends BaseIdentifiedModel {
7
9
  internalMaterialCode?: string;
8
10
  productRecall: boolean;
9
11
  counter?: number;
12
+ strengths: OtherProductStrength[];
13
+ markets: OtherMarket[];
10
14
  ownedBy?: string;
11
15
  constructor(args?: ModelArg<OtherProductShared>);
12
16
  }
@@ -1 +1 @@
1
- {"version":3,"file":"OtherProductShared.js","sourceRoot":"","sources":["../../../src/contract/models/OtherProductShared.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yEAAiE;AACjE,yCAA0E;AAC1E,oFAAoF;AACpF,qDAA4C;AAC5C,mEAA4D;AAC5D,qCAA8B;AAC9B,iDAAqC;AACrC,oDAM4B;AAC5B,2DAAkD;AAO3C,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,yCAAmB;IAgEzD,YAAY,IAAmC;QAC7C,KAAK,CAAC,IAAI,CAAC,CAAC;QA3Cd,kBAAa,GAAY,KAAK,CAAC;IA4C/B,CAAC;CACF,CAAA;AAnEY,gDAAkB;AAK7B;IAJC,IAAA,SAAE,GAAE;IACJ,IAAA,WAAI,GAAE;IACN,IAAA,cAAM,EAAC,mBAAmB,EAAE,OAAO,CAAC;IACpC,IAAA,kBAAK,EAAC,kBAAkB,CAAC;;uDACL;AAKrB;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;wDAC1B;AAKtB;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;gEAClB;AAG9B;IADC,IAAA,aAAM,GAAE;;gEACqB;AAI9B;IAFC,IAAA,aAAM,GAAE;IACR,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;yDACjB;AAsB/B;IADC,IAAA,uBAAO,GAAE;;mDACO;AAkBjB;IAFC,IAAA,aAAM,GAAE;IACR,IAAA,eAAO,GAAE;;mDACO;6BA9DN,kBAAkB;IAL9B,IAAA,kBAAU,EAAC,IAAA,2BAAmB,EAAC,iBAAiB,CAAC,CAAC;IAClD,IAAA,iBAAI,EAAC,qBAAa,CAAC;IACpB,2CAA2C;;IAC1C,IAAA,YAAK,EAAC,sBAAsB,CAAC;IAC7B,IAAA,4BAAK,GAAE;;GACK,kBAAkB,CAmE9B"}
1
+ {"version":3,"file":"OtherProductShared.js","sourceRoot":"","sources":["../../../src/contract/models/OtherProductShared.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yEAAiE;AACjE,yCAQwB;AACxB,oFAAoF;AACpF,qDAA4C;AAC5C,mEAA4D;AAC5D,qCAA8B;AAC9B,iEAA6C;AAC7C,oDAM4B;AAC5B,2DAAkD;AAClD,qEAA8D;AAC9D,mDAA4C;AAOrC,IAAM,kBAAkB,GAAxB,MAAM,kBAAmB,SAAQ,yCAAmB;IAgEzD,YAAY,IAAmC;QAC7C,KAAK,CAAC,IAAI,CAAC,CAAC;QA3Cd,kBAAa,GAAY,KAAK,CAAC;IA4C/B,CAAC;CACF,CAAA;AAnEY,gDAAkB;AAK7B;IAJC,IAAA,SAAE,GAAE;IACJ,IAAA,WAAI,GAAE;IACP,wCAAwC;;IACvC,IAAA,0BAAK,EAAC,kBAAkB,CAAC;;uDACL;AAKrB;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;wDAC1B;AAKtB;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;gEAClB;AAG9B;IADC,IAAA,aAAM,GAAE;;gEACqB;AAI9B;IAFC,IAAA,aAAM,GAAE;IACR,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;yDACjB;AAsB/B;IADC,IAAA,uBAAO,GAAE;;mDACO;AAOjB;IALC,IAAA,gBAAS,EACR,GAAG,EAAE,CAAC,2CAAoB,EAC1B,EAAE,MAAM,EAAE,cAAO,CAAC,OAAO,EAAE,MAAM,EAAE,cAAO,CAAC,OAAO,EAAE,EACpD,KAAK,CACN;;qDACkC;AAOnC;IALC,IAAA,gBAAS,EACR,GAAG,EAAE,CAAC,yBAAW,EACjB,EAAE,MAAM,EAAE,cAAO,CAAC,OAAO,EAAE,MAAM,EAAE,cAAO,CAAC,OAAO,EAAE,EACpD,KAAK,CACN;;mDACuB;AAIxB;IAFC,IAAA,aAAM,GAAE;IACR,IAAA,eAAO,GAAE;;mDACO;6BA9DN,kBAAkB;IAL9B,IAAA,kBAAU,EAAC,IAAA,2BAAmB,EAAC,iBAAiB,CAAC,CAAC;IAClD,IAAA,iBAAI,EAAC,qBAAa,CAAC;IACpB,2CAA2C;;IAC1C,IAAA,YAAK,EAAC,sBAAsB,CAAC;IAC7B,IAAA,4BAAK,GAAE;;GACK,kBAAkB,CAmE9B"}
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.OtherProductStrength = void 0;
13
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
14
+ const core_1 = require("@decaf-ts/core");
15
+ const constants_1 = require("./constants.cjs");
16
+ const decoration_1 = require("@decaf-ts/decoration");
17
+ const BaseIdentifiedModel_1 = require("./BaseIdentifiedModel.cjs");
18
+ const index_1 = require("./../../shared/index.cjs");
19
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
20
+ const gtin_1 = require("./gtin.cjs");
21
+ function strengthSeed(m) {
22
+ try {
23
+ return `${m.productCode}${m.strength}${m.substance ? m.substance : ""}`;
24
+ }
25
+ catch (e) {
26
+ throw new db_decorators_1.InternalError(`Failed to generate deterministic uuid: ${e}`);
27
+ }
28
+ }
29
+ let OtherProductStrength = class OtherProductStrength extends BaseIdentifiedModel_1.BaseIdentifiedModel {
30
+ constructor(model) {
31
+ super(model);
32
+ }
33
+ };
34
+ exports.OtherProductStrength = OtherProductStrength;
35
+ __decorate([
36
+ (0, core_1.pk)()
37
+ // @mirror("mirror-collection", "org-a")
38
+ ,
39
+ (0, db_decorators_1.composed)(["productCode", "uuid"], ":"),
40
+ (0, decoration_1.description)("Unique identifier of the product strength."),
41
+ __metadata("design:type", String)
42
+ ], OtherProductStrength.prototype, "id", void 0);
43
+ __decorate([
44
+ (0, core_1.uuid)(strengthSeed),
45
+ (0, decorator_validation_1.required)(),
46
+ (0, decoration_1.description)("Unique identifier of the audit record."),
47
+ __metadata("design:type", String)
48
+ ], OtherProductStrength.prototype, "uuid", void 0);
49
+ __decorate([
50
+ (0, gtin_1.gtin)(),
51
+ (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
52
+ (0, decoration_1.description)("Product code associated with this strength entry."),
53
+ __metadata("design:type", String)
54
+ ], OtherProductStrength.prototype, "productCode", void 0);
55
+ __decorate([
56
+ (0, core_1.column)(),
57
+ (0, decorator_validation_1.required)(),
58
+ (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
59
+ (0, decoration_1.description)("Product concentration or dosage (e.g., 500mg, 10%)."),
60
+ __metadata("design:type", String)
61
+ ], OtherProductStrength.prototype, "strength", void 0);
62
+ __decorate([
63
+ (0, core_1.column)(),
64
+ (0, core_1.index)([core_1.OrderDirection.ASC, core_1.OrderDirection.DSC]),
65
+ (0, decoration_1.description)("Active substance related to this product strength."),
66
+ __metadata("design:type", String)
67
+ ], OtherProductStrength.prototype, "substance", void 0);
68
+ __decorate([
69
+ (0, core_1.column)(),
70
+ (0, decoration_1.description)("Legal entity name responsible for the product."),
71
+ __metadata("design:type", String)
72
+ ], OtherProductStrength.prototype, "legalEntityName", void 0);
73
+ exports.OtherProductStrength = OtherProductStrength = __decorate([
74
+ (0, index_1.sharedData)((0, index_1.NamespaceCollection)("decaf-namespace")),
75
+ (0, decoration_1.uses)(index_1.FabricFlavour),
76
+ (0, core_1.table)(constants_1.TableNames.ProductStrength),
77
+ (0, decorator_validation_1.model)(),
78
+ (0, decoration_1.description)("Represents the product’s strength and composition details."),
79
+ __metadata("design:paramtypes", [Object])
80
+ ], OtherProductStrength);
81
+ //# sourceMappingURL=OtherProductStrength.js.map
@@ -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 @@
1
+ {"version":3,"file":"OtherProductStrength.js","sourceRoot":"","sources":["../../../src/contract/models/OtherProductStrength.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yEAAiE;AACjE,yCAAgF;AAChF,+CAAyC;AACzC,qDAAyD;AACzD,mEAA4D;AAE5D,oDAK4B;AAC5B,2DAAkE;AAClE,qCAA8B;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,6BAAa,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAOM,IAAM,oBAAoB,GAA1B,MAAM,oBAAqB,SAAQ,yCAAmB;IAqC3D,YAAY,KAAsC;QAChD,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF,CAAA;AAxCY,oDAAoB;AAK/B;IAJC,IAAA,SAAE,GAAE;IACL,wCAAwC;;IACvC,IAAA,wBAAQ,EAAC,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC;IACtC,IAAA,wBAAW,EAAC,4CAA4C,CAAC;;gDAC9C;AAKZ;IAHC,IAAA,WAAI,EAAC,YAAY,CAAC;IAClB,IAAA,+BAAQ,GAAE;IACV,IAAA,wBAAW,EAAC,wCAAwC,CAAC;;kDACxC;AAUd;IAHC,IAAA,WAAI,GAAE;IACN,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAA,wBAAW,EAAC,mDAAmD,CAAC;;yDAC5C;AAMrB;IAJC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAA,wBAAW,EAAC,qDAAqD,CAAC;;sDACjD;AAKlB;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAA,wBAAW,EAAC,oDAAoD,CAAC;;uDAC/C;AAInB;IAFC,IAAA,aAAM,GAAE;IACR,IAAA,wBAAW,EAAC,gDAAgD,CAAC;;6DACrC;+BAnCd,oBAAoB;IALhC,IAAA,kBAAU,EAAC,IAAA,2BAAmB,EAAC,iBAAiB,CAAC,CAAC;IAClD,IAAA,iBAAI,EAAC,qBAAa,CAAC;IACnB,IAAA,YAAK,EAAC,sBAAU,CAAC,eAAe,CAAC;IACjC,IAAA,4BAAK,GAAE;IACP,IAAA,wBAAW,EAAC,4DAA4D,CAAC;;GAC7D,oBAAoB,CAwChC"}
@@ -63,7 +63,7 @@ __decorate([
63
63
  __metadata("design:type", Array)
64
64
  ], Product.prototype, "strengths", void 0);
65
65
  __decorate([
66
- (0, core_1.oneToMany)(() => Market_1.Market, { update: core_1.Cascade.NONE, delete: core_1.Cascade.NONE }, false),
66
+ (0, core_1.oneToMany)(() => Market_1.Market, { update: core_1.Cascade.CASCADE, delete: core_1.Cascade.CASCADE }, false),
67
67
  __metadata("design:type", Array)
68
68
  ], Product.prototype, "markets", void 0);
69
69
  exports.Product = Product = __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"Product.js","sourceRoot":"","sources":["../../../src/contract/models/Product.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yEAAiE;AACjE,yCAQwB;AACxB,oFAAoF;AACpF,qDAA4C;AAC5C,2DAAoD;AACpD,yCAAkC;AAClC,mEAA4D;AAC5D,qCAA8B;AAE9B,iDAAqC;AACrC,4DAAuD;AAMhD,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,yCAAmB;IA2D9C,YAAY,IAAwB;QAClC,KAAK,CAAC,IAAI,CAAC,CAAC;QAvCd,kBAAa,GAAY,KAAK,CAAC;IAwC/B,CAAC;CACF,CAAA;AA9DY,0BAAO;AAIlB;IAHC,IAAA,WAAI,GAAE;IACN,IAAA,kBAAK,EAAC,OAAO,CAAC;IACd,IAAA,SAAE,GAAE;;4CACgB;AAKrB;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;6CAC1B;AAKtB;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;qDAClB;AAG9B;IADC,IAAA,aAAM,GAAE;;qDACqB;AAI9B;IAFC,IAAA,aAAM,GAAE;IACR,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;8CACjB;AAsB/B;IADC,IAAA,aAAM,GAAE;;wCACQ;AAOjB;IALC,IAAA,gBAAS,EACR,GAAG,EAAE,CAAC,iCAAe,EACrB,EAAE,MAAM,EAAE,cAAO,CAAC,OAAO,EAAE,MAAM,EAAE,cAAO,CAAC,OAAO,EAAE,EACpD,KAAK,CACN;;0CAC6B;AAO9B;IALC,IAAA,gBAAS,EACR,GAAG,EAAE,CAAC,eAAM,EACZ,EAAE,MAAM,EAAE,cAAO,CAAC,IAAI,EAAE,MAAM,EAAE,cAAO,CAAC,IAAI,EAAE,EAC9C,KAAK,CACN;;wCACkB;kBAzDR,OAAO;IAJnB,IAAA,iBAAI,EAAC,yBAAa,CAAC;IACpB,2CAA2C;;IAC1C,IAAA,YAAK,GAAE;IACP,IAAA,4BAAK,GAAE;;GACK,OAAO,CA8DnB"}
1
+ {"version":3,"file":"Product.js","sourceRoot":"","sources":["../../../src/contract/models/Product.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yEAAiE;AACjE,yCAQwB;AACxB,oFAAoF;AACpF,qDAA4C;AAC5C,2DAAoD;AACpD,yCAAkC;AAClC,mEAA4D;AAC5D,qCAA8B;AAE9B,iDAAqC;AACrC,4DAAuD;AAMhD,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,yCAAmB;IA2D9C,YAAY,IAAwB;QAClC,KAAK,CAAC,IAAI,CAAC,CAAC;QAvCd,kBAAa,GAAY,KAAK,CAAC;IAwC/B,CAAC;CACF,CAAA;AA9DY,0BAAO;AAIlB;IAHC,IAAA,WAAI,GAAE;IACN,IAAA,kBAAK,EAAC,OAAO,CAAC;IACd,IAAA,SAAE,GAAE;;4CACgB;AAKrB;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;6CAC1B;AAKtB;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;qDAClB;AAG9B;IADC,IAAA,aAAM,GAAE;;qDACqB;AAI9B;IAFC,IAAA,aAAM,GAAE;IACR,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;;8CACjB;AAsB/B;IADC,IAAA,aAAM,GAAE;;wCACQ;AAOjB;IALC,IAAA,gBAAS,EACR,GAAG,EAAE,CAAC,iCAAe,EACrB,EAAE,MAAM,EAAE,cAAO,CAAC,OAAO,EAAE,MAAM,EAAE,cAAO,CAAC,OAAO,EAAE,EACpD,KAAK,CACN;;0CAC6B;AAO9B;IALC,IAAA,gBAAS,EACR,GAAG,EAAE,CAAC,eAAM,EACZ,EAAE,MAAM,EAAE,cAAO,CAAC,OAAO,EAAE,MAAM,EAAE,cAAO,CAAC,OAAO,EAAE,EACpD,KAAK,CACN;;wCACkB;kBAzDR,OAAO;IAJnB,IAAA,iBAAI,EAAC,yBAAa,CAAC;IACpB,2CAA2C;;IAC1C,IAAA,YAAK,GAAE;IACP,IAAA,4BAAK,GAAE;;GACK,OAAO,CA8DnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"ProductStrength.js","sourceRoot":"","sources":["../../../src/contract/models/ProductStrength.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yEAAiE;AACjE,yCAQwB;AACxB,+CAAyC;AACzC,qDAAyD;AACzD,mEAA4D;AAE5D,oDAAmD;AACnD,2DAAkE;AAClE,qCAA8B;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,6BAAa,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAMM,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,yCAAmB;IAoCtD,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF,CAAA;AAvCY,0CAAe;AAI1B;IAHC,IAAA,SAAE,GAAE;IACJ,IAAA,wBAAQ,EAAC,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC;IACtC,IAAA,wBAAW,EAAC,4CAA4C,CAAC;;2CAC9C;AAKZ;IAHC,IAAA,WAAI,EAAC,YAAY,CAAC;IAClB,IAAA,+BAAQ,GAAE;IACV,IAAA,wBAAW,EAAC,wCAAwC,CAAC;;6CACxC;AAUd;IAHC,IAAA,WAAI,GAAE;IACN,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAA,wBAAW,EAAC,mDAAmD,CAAC;;oDAC5C;AAMrB;IAJC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAA,wBAAW,EAAC,qDAAqD,CAAC;;iDACjD;AAKlB;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAA,wBAAW,EAAC,oDAAoD,CAAC;;kDAC/C;AAInB;IAFC,IAAA,aAAM,GAAE;IACR,IAAA,wBAAW,EAAC,gDAAgD,CAAC;;wDACrC;0BAlCd,eAAe;IAJ3B,IAAA,iBAAI,EAAC,qBAAa,CAAC;IACnB,IAAA,YAAK,EAAC,sBAAU,CAAC,eAAe,CAAC;IACjC,IAAA,4BAAK,GAAE;IACP,IAAA,wBAAW,EAAC,4DAA4D,CAAC;;GAC7D,eAAe,CAuC3B"}
1
+ {"version":3,"file":"ProductStrength.js","sourceRoot":"","sources":["../../../src/contract/models/ProductStrength.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,yEAAiE;AACjE,yCAQwB;AACxB,+CAAyC;AACzC,qDAAyD;AACzD,mEAA4D;AAE5D,oDAK4B;AAC5B,2DAAkE;AAClE,qCAA8B;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,6BAAa,CAAC,0CAA0C,CAAC,EAAE,CAAC,CAAC;IACzE,CAAC;AACH,CAAC;AAMM,IAAM,eAAe,GAArB,MAAM,eAAgB,SAAQ,yCAAmB;IAoCtD,YAAY,KAAiC;QAC3C,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF,CAAA;AAvCY,0CAAe;AAI1B;IAHC,IAAA,SAAE,GAAE;IACJ,IAAA,wBAAQ,EAAC,CAAC,aAAa,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC;IACtC,IAAA,wBAAW,EAAC,4CAA4C,CAAC;;2CAC9C;AAKZ;IAHC,IAAA,WAAI,EAAC,YAAY,CAAC;IAClB,IAAA,+BAAQ,GAAE;IACV,IAAA,wBAAW,EAAC,wCAAwC,CAAC;;6CACxC;AAUd;IAHC,IAAA,WAAI,GAAE;IACN,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAA,wBAAW,EAAC,mDAAmD,CAAC;;oDAC5C;AAMrB;IAJC,IAAA,aAAM,GAAE;IACR,IAAA,+BAAQ,GAAE;IACV,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAA,wBAAW,EAAC,qDAAqD,CAAC;;iDACjD;AAKlB;IAHC,IAAA,aAAM,GAAE;IACR,IAAA,YAAK,EAAC,CAAC,qBAAc,CAAC,GAAG,EAAE,qBAAc,CAAC,GAAG,CAAC,CAAC;IAC/C,IAAA,wBAAW,EAAC,oDAAoD,CAAC;;kDAC/C;AAInB;IAFC,IAAA,aAAM,GAAE;IACR,IAAA,wBAAW,EAAC,gDAAgD,CAAC;;wDACrC;0BAlCd,eAAe;IAJ3B,IAAA,iBAAI,EAAC,qBAAa,CAAC;IACnB,IAAA,YAAK,EAAC,sBAAU,CAAC,eAAe,CAAC;IACjC,IAAA,4BAAK,GAAE;IACP,IAAA,wBAAW,EAAC,4DAA4D,CAAC;;GAC7D,eAAe,CAuC3B"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rebuildForMatchingCollection = rebuildForMatchingCollection;
4
+ exports.createAuditHandler = createAuditHandler;
5
+ exports.updateAuditHandler = updateAuditHandler;
6
+ exports.deleteAuditHandler = deleteAuditHandler;
7
+ exports.audit = audit;
8
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
9
+ const decoration_1 = require("@decaf-ts/decoration");
10
+ const db_decorators_1 = require("@decaf-ts/db-decorators");
11
+ const OtherAudit_1 = require("./OtherAudit.cjs");
12
+ const core_1 = require("@decaf-ts/core");
13
+ async function rebuildForMatchingCollection(model, context, collections) {
14
+ const mapToCollections = collections && (collections.privateCols || collections.sharedCols);
15
+ let cols = undefined;
16
+ if (mapToCollections) {
17
+ const msp = decorator_validation_1.Model.ownerOf(model) || (await context.stub.getCreator()).mspid;
18
+ cols = [
19
+ ...new Set([...collections.privateCols, ...collections.sharedCols].map((col) => {
20
+ return typeof col === "string"
21
+ ? col
22
+ : col(model, msp);
23
+ })),
24
+ ];
25
+ const pk = decorator_validation_1.Model.pk(model);
26
+ cols.forEach((col) => {
27
+ const segData = context.get("segregatedData");
28
+ Object.assign(model, segData[col][model[pk]]);
29
+ });
30
+ }
31
+ return model;
32
+ }
33
+ async function createAuditHandler(context, data, key, model) {
34
+ const repo = core_1.Repository.forModel(OtherAudit_1.OtherAudit);
35
+ const collections = decorator_validation_1.Model.collectionsFor(OtherAudit_1.OtherAudit);
36
+ model = await rebuildForMatchingCollection(model, context, collections);
37
+ if (!context.identity || !context.identity.getID)
38
+ throw new db_decorators_1.InternalError(`Lost context apparently for audit`);
39
+ const toCreate = new OtherAudit_1.OtherAudit({
40
+ userGroup: context.identity.getID(),
41
+ userId: context.identity.getID(),
42
+ model: decorator_validation_1.Model.tableName(data.class),
43
+ transaction: context.stub.getTxID(),
44
+ action: db_decorators_1.OperationKeys.CREATE,
45
+ diffs: new this.class().compare(model),
46
+ });
47
+ const audit = await repo.override(this._overrides).create(toCreate, context);
48
+ context.logger.info(`Audit log for ${db_decorators_1.OperationKeys.CREATE} of ${decorator_validation_1.Model.tableName(this.class)} created: ${audit.id}: ${JSON.stringify(audit, undefined, 2)}`);
49
+ }
50
+ async function updateAuditHandler(context, data, key, model, oldModel) {
51
+ const repo = core_1.Repository.forModel(OtherAudit_1.OtherAudit);
52
+ const collections = decorator_validation_1.Model.collectionsFor(OtherAudit_1.OtherAudit);
53
+ model = await rebuildForMatchingCollection(model, context, collections);
54
+ if (!context.identity || !context.identity.getID)
55
+ throw new db_decorators_1.InternalError(`Lost context apparently for audit`);
56
+ const toCreate = new OtherAudit_1.OtherAudit({
57
+ userGroup: context.identity.getID(),
58
+ userId: context.identity.getID(),
59
+ model: decorator_validation_1.Model.tableName(data.class),
60
+ transaction: context.stub.getTxID(),
61
+ action: db_decorators_1.OperationKeys.UPDATE,
62
+ diffs: model.compare(oldModel),
63
+ });
64
+ const audit = await repo.override(this._overrides).create(toCreate, context);
65
+ context.logger.info(`Audit log for ${db_decorators_1.OperationKeys.UPDATE} of ${decorator_validation_1.Model.tableName(this.class)} created: ${JSON.stringify(audit, undefined, 2)}`);
66
+ }
67
+ async function deleteAuditHandler(context, data, key, model) {
68
+ if (!context.identity || !context.identity.getID)
69
+ throw new db_decorators_1.InternalError(`Lost context apprently. no getId in identity`);
70
+ const toCreate = new OtherAudit_1.OtherAudit({
71
+ userGroup: context.identity.getID(),
72
+ userId: context.identity.getID(),
73
+ model: decorator_validation_1.Model.tableName(data.class),
74
+ transaction: context.stub.getTxID(),
75
+ action: db_decorators_1.OperationKeys.DELETE,
76
+ diffs: model.compare(new this.class()),
77
+ });
78
+ const repo = core_1.Repository.forModel(OtherAudit_1.OtherAudit);
79
+ const audit = await repo.override(this._overrides).create(toCreate, context);
80
+ context.logger.info(`Audit log for ${db_decorators_1.OperationKeys.DELETE} of ${decorator_validation_1.Model.tableName(this.class)} created: ${JSON.stringify(audit, undefined, 2)}`);
81
+ }
82
+ function audit(model) {
83
+ const meta = {
84
+ class: model,
85
+ };
86
+ return (0, decoration_1.apply)((0, db_decorators_1.afterCreate)(createAuditHandler, meta), (0, db_decorators_1.afterUpdate)(updateAuditHandler, meta), (0, db_decorators_1.afterDelete)(deleteAuditHandler, meta), (0, decoration_1.metadata)("audit", true));
87
+ }
88
+ //# sourceMappingURL=decorators-private.js.map
@@ -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 @@
1
+ {"version":3,"file":"decorators-private.js","sourceRoot":"","sources":["../../../src/contract/models/decorators-private.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rebuildForMatchingCollection = rebuildForMatchingCollection;
3
4
  exports.createAuditHandler = createAuditHandler;
4
5
  exports.updateAuditHandler = updateAuditHandler;
5
6
  exports.deleteAuditHandler = deleteAuditHandler;
@@ -9,10 +10,33 @@ const decoration_1 = require("@decaf-ts/decoration");
9
10
  const db_decorators_1 = require("@decaf-ts/db-decorators");
10
11
  const Audit_1 = require("./Audit.cjs");
11
12
  const core_1 = require("@decaf-ts/core");
13
+ async function rebuildForMatchingCollection(model, context, collections) {
14
+ const mapToCollections = collections && (collections.privateCols || collections.sharedCols);
15
+ let cols = undefined;
16
+ if (mapToCollections) {
17
+ const msp = decorator_validation_1.Model.ownerOf(model) || (await context.stub.getCreator()).mspid;
18
+ cols = [
19
+ ...new Set([...collections.privateCols, ...collections.sharedCols].map((col) => {
20
+ return typeof col === "string"
21
+ ? col
22
+ : col(model, msp);
23
+ })),
24
+ ];
25
+ const pk = decorator_validation_1.Model.pk(model);
26
+ cols.forEach((col) => {
27
+ const segData = context.get("segregatedData");
28
+ Object.assign(model, segData[col][model[pk]]);
29
+ });
30
+ }
31
+ return model;
32
+ }
12
33
  async function createAuditHandler(context, data, key, model) {
13
34
  const repo = core_1.Repository.forModel(Audit_1.Audit);
35
+ const collections = decorator_validation_1.Model.collectionsFor(Audit_1.Audit);
36
+ //
37
+ // model = await rebuildForMatchingCollection(model, context, collections);
14
38
  if (!context.identity || !context.identity.getID)
15
- throw new db_decorators_1.InternalError(`Lost context apparently. no getId in identity`);
39
+ throw new db_decorators_1.InternalError(`Lost context apparently for audit`);
16
40
  const toCreate = new Audit_1.Audit({
17
41
  userGroup: context.identity.getID(),
18
42
  userId: context.identity.getID(),
@@ -25,6 +49,12 @@ async function createAuditHandler(context, data, key, model) {
25
49
  context.logger.info(`Audit log for ${db_decorators_1.OperationKeys.CREATE} of ${decorator_validation_1.Model.tableName(this.class)} created: ${audit.id}: ${JSON.stringify(audit, undefined, 2)}`);
26
50
  }
27
51
  async function updateAuditHandler(context, data, key, model, oldModel) {
52
+ const repo = core_1.Repository.forModel(Audit_1.Audit);
53
+ const collections = decorator_validation_1.Model.collectionsFor(Audit_1.Audit);
54
+ //
55
+ // model = await rebuildForMatchingCollection(model, context, collections);
56
+ if (!context.identity || !context.identity.getID)
57
+ throw new db_decorators_1.InternalError(`Lost context apparently for audit`);
28
58
  const toCreate = new Audit_1.Audit({
29
59
  userGroup: context.identity.getID(),
30
60
  userId: context.identity.getID(),
@@ -33,7 +63,6 @@ async function updateAuditHandler(context, data, key, model, oldModel) {
33
63
  action: db_decorators_1.OperationKeys.UPDATE,
34
64
  diffs: model.compare(oldModel),
35
65
  });
36
- const repo = core_1.Repository.forModel(Audit_1.Audit);
37
66
  const audit = await repo.override(this._overrides).create(toCreate, context);
38
67
  context.logger.info(`Audit log for ${db_decorators_1.OperationKeys.UPDATE} of ${decorator_validation_1.Model.tableName(this.class)} created: ${JSON.stringify(audit, undefined, 2)}`);
39
68
  }
@@ -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>;
@@ -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":"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"}