@decaf-ts/for-fabric 0.1.22 → 0.1.24

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 (117) 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 +39 -61
  6. package/lib/client/FabricClientAdapter.d.ts +28 -42
  7. package/lib/client/FabricClientAdapter.js.map +1 -1
  8. package/lib/client/FabricClientDispatch.cjs +1 -3
  9. package/lib/client/FabricClientDispatch.d.ts +6 -5
  10. package/lib/client/FabricClientDispatch.js.map +1 -1
  11. package/lib/client/FabricClientPaginator.cjs +5 -56
  12. package/lib/client/FabricClientPaginator.d.ts +6 -6
  13. package/lib/client/FabricClientPaginator.js.map +1 -1
  14. package/lib/client/FabricClientRepository.cjs +50 -103
  15. package/lib/client/FabricClientRepository.d.ts +21 -17
  16. package/lib/client/FabricClientRepository.js.map +1 -1
  17. package/lib/client/FabricClientStatement.cjs +7 -97
  18. package/lib/client/FabricClientStatement.d.ts +6 -7
  19. package/lib/client/FabricClientStatement.js.map +1 -1
  20. package/lib/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
  21. package/lib/client/erc20/FabricERC20ClientRepository.js.map +1 -1
  22. package/lib/client/fabric-fs.d.ts +1 -1
  23. package/lib/client/services/FabricEnrollmentService.d.ts +1 -1
  24. package/lib/contract/Address.cjs +73 -0
  25. package/lib/contract/Address.d.ts +13 -0
  26. package/lib/contract/Address.js.map +1 -0
  27. package/lib/contract/AddressContract.cjs +34 -0
  28. package/lib/contract/AddressContract.d.ts +5 -0
  29. package/lib/contract/AddressContract.js.map +1 -0
  30. package/lib/contract/index.cjs +6 -1
  31. package/lib/contract/index.js.map +1 -1
  32. package/lib/contracts/ContractAdapter.cjs +53 -20
  33. package/lib/contracts/ContractAdapter.d.ts +3 -3
  34. package/lib/contracts/ContractAdapter.js.map +1 -1
  35. package/lib/contracts/ContractContext.cjs +2 -2
  36. package/lib/contracts/ContractContext.d.ts +1 -1
  37. package/lib/contracts/ContractContext.js.map +1 -1
  38. package/lib/contracts/FabricContractRepository.js.map +1 -1
  39. package/lib/contracts/crud/crud-contract.cjs +14 -0
  40. package/lib/contracts/crud/crud-contract.d.ts +15 -4
  41. package/lib/contracts/crud/crud-contract.js.map +1 -1
  42. package/lib/contracts/crud/serialized-crud-contract.cjs +58 -8
  43. package/lib/contracts/crud/serialized-crud-contract.d.ts +6 -2
  44. package/lib/contracts/crud/serialized-crud-contract.js.map +1 -1
  45. package/lib/contracts/types.d.ts +2 -2
  46. package/lib/esm/client/FabricClientAdapter.d.ts +28 -42
  47. package/lib/esm/client/FabricClientAdapter.js +39 -60
  48. package/lib/esm/client/FabricClientAdapter.js.map +1 -1
  49. package/lib/esm/client/FabricClientDispatch.d.ts +6 -5
  50. package/lib/esm/client/FabricClientDispatch.js +3 -5
  51. package/lib/esm/client/FabricClientDispatch.js.map +1 -1
  52. package/lib/esm/client/FabricClientPaginator.d.ts +6 -6
  53. package/lib/esm/client/FabricClientPaginator.js +6 -57
  54. package/lib/esm/client/FabricClientPaginator.js.map +1 -1
  55. package/lib/esm/client/FabricClientRepository.d.ts +21 -17
  56. package/lib/esm/client/FabricClientRepository.js +50 -103
  57. package/lib/esm/client/FabricClientRepository.js.map +1 -1
  58. package/lib/esm/client/FabricClientStatement.d.ts +6 -7
  59. package/lib/esm/client/FabricClientStatement.js +8 -98
  60. package/lib/esm/client/FabricClientStatement.js.map +1 -1
  61. package/lib/esm/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
  62. package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -1
  63. package/lib/esm/client/fabric-fs.d.ts +1 -1
  64. package/lib/esm/client/services/FabricEnrollmentService.d.ts +1 -1
  65. package/lib/esm/contract/Address.d.ts +13 -0
  66. package/lib/esm/contract/Address.js +70 -0
  67. package/lib/esm/contract/Address.js.map +1 -0
  68. package/lib/esm/contract/AddressContract.d.ts +5 -0
  69. package/lib/esm/contract/AddressContract.js +31 -0
  70. package/lib/esm/contract/AddressContract.js.map +1 -0
  71. package/lib/esm/contract/index.js +6 -1
  72. package/lib/esm/contract/index.js.map +1 -1
  73. package/lib/esm/contracts/ContractAdapter.d.ts +3 -3
  74. package/lib/esm/contracts/ContractAdapter.js +53 -20
  75. package/lib/esm/contracts/ContractAdapter.js.map +1 -1
  76. package/lib/esm/contracts/ContractContext.d.ts +1 -1
  77. package/lib/esm/contracts/ContractContext.js +1 -1
  78. package/lib/esm/contracts/ContractContext.js.map +1 -1
  79. package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
  80. package/lib/esm/contracts/crud/crud-contract.d.ts +15 -4
  81. package/lib/esm/contracts/crud/crud-contract.js +17 -3
  82. package/lib/esm/contracts/crud/crud-contract.js.map +1 -1
  83. package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +6 -2
  84. package/lib/esm/contracts/crud/serialized-crud-contract.js +58 -8
  85. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -1
  86. package/lib/esm/contracts/types.d.ts +2 -2
  87. package/lib/esm/shared/decorators.d.ts +7 -8
  88. package/lib/esm/shared/decorators.js +74 -59
  89. package/lib/esm/shared/decorators.js.map +1 -1
  90. package/lib/esm/shared/errors.d.ts +3 -0
  91. package/lib/esm/shared/errors.js +5 -0
  92. package/lib/esm/shared/errors.js.map +1 -1
  93. package/lib/esm/shared/overrides/overrides.js +39 -38
  94. package/lib/esm/shared/overrides/overrides.js.map +1 -1
  95. package/lib/esm/shared/types.d.ts +5 -9
  96. package/lib/esm/shared/utils.d.ts +1 -1
  97. package/lib/esm/version.d.ts +1 -1
  98. package/lib/esm/version.js +1 -1
  99. package/lib/shared/decorators.cjs +71 -56
  100. package/lib/shared/decorators.d.ts +7 -8
  101. package/lib/shared/decorators.js.map +1 -1
  102. package/lib/shared/errors.cjs +7 -1
  103. package/lib/shared/errors.d.ts +3 -0
  104. package/lib/shared/errors.js.map +1 -1
  105. package/lib/shared/overrides/overrides.cjs +39 -38
  106. package/lib/shared/overrides/overrides.js.map +1 -1
  107. package/lib/shared/types.d.ts +5 -9
  108. package/lib/shared/utils.d.ts +1 -1
  109. package/lib/version.cjs +1 -1
  110. package/lib/version.d.ts +1 -1
  111. package/package.json +1 -1
  112. package/lib/client/types.cjs +0 -3
  113. package/lib/client/types.d.ts +0 -7
  114. package/lib/client/types.js.map +0 -1
  115. package/lib/esm/client/types.d.ts +0 -7
  116. package/lib/esm/client/types.js +0 -2
  117. package/lib/esm/client/types.js.map +0 -1
@@ -1,8 +1,8 @@
1
- import { AuthorizationError } from "@decaf-ts/core";
2
- import { InternalError, NotFoundError, onCreate, readonly, } from "@decaf-ts/db-decorators";
3
- import { Model, required } from "@decaf-ts/decorator-validation";
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";
4
4
  import { FabricModelKeys } from "./constants.js";
5
- import { apply, Decoration, Metadata, propMetadata, } from "@decaf-ts/decoration";
5
+ import { apply, Decoration, metadata, Metadata, propMetadata, } from "@decaf-ts/decoration";
6
6
  /**
7
7
  * Decorator for marking methods that require ownership authorization.
8
8
  * Checks the owner of the token before allowing the method to be executed.
@@ -55,7 +55,7 @@ export async function ownedByOnCreate(context, data, key, model) {
55
55
  };
56
56
  setOwnedByKeyValue(model, key, owner);
57
57
  }
58
- export function OwnedBy() {
58
+ export function ownedBy() {
59
59
  const key = getFabricModelKey(FabricModelKeys.OWNEDBY);
60
60
  function ownedBy() {
61
61
  return function (obj, attribute) {
@@ -78,18 +78,45 @@ export const ImplicitPrivateCollection = (model) => {
78
78
  export async function segregatedDataOnCreate(context, data, keys, model) {
79
79
  if (keys.length !== data.length)
80
80
  throw new InternalError(`Segregated data keys and metadata length mismatch`);
81
- let key, d;
82
- for (let i = 0; i < keys.length; i++) {
83
- key = keys[i];
84
- d = data[i];
85
- const collection = typeof d.collections === "function"
86
- ? d.collections(model)
87
- : d.collections;
88
- // await this.saveToCollection(context, collection, key, model[key]);
89
- }
90
- Model.segregate(model);
81
+ const collectionResolver = data[0].collections;
82
+ const collection = typeof collectionResolver === "string"
83
+ ? collectionResolver
84
+ : collectionResolver(model);
85
+ const rebuilt = keys.reduce((acc, k, i) => {
86
+ const c = typeof data[i].collections === "string"
87
+ ? data[i].collections
88
+ : data[i].collections(model);
89
+ if (c !== collection)
90
+ throw new UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
91
+ acc[k] = model[k];
92
+ return acc;
93
+ }, {});
94
+ const toCreate = new this.class(rebuilt);
95
+ // const segregated = Model.segregate(model);
96
+ const created = await this.override({ segregated: collection }).create(toCreate, context);
97
+ Object.assign(model, created);
98
+ }
99
+ export async function segregatedDataOnRead(context, data, keys, model) {
100
+ if (keys.length !== data.length)
101
+ throw new InternalError(`Segregated data keys and metadata length mismatch`);
102
+ const collectionResolver = data[0].collections;
103
+ const collection = typeof collectionResolver === "string"
104
+ ? collectionResolver
105
+ : collectionResolver(model);
106
+ const rebuilt = keys.reduce((acc, k, i) => {
107
+ const c = typeof data[i].collections === "string"
108
+ ? data[i].collections
109
+ : data[i].collections(model);
110
+ if (c !== collection)
111
+ throw new UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
112
+ acc[k] = model[k];
113
+ return acc;
114
+ }, {});
115
+ const toCreate = new this.class(rebuilt);
116
+ // const segregated = Model.segregate(model);
117
+ const created = await this.override({ segregated: collection }).create(toCreate, context);
118
+ Object.assign(model, created);
91
119
  }
92
- export async function segregatedDataOnRead(context, data, key, model) { }
93
120
  export async function segregatedDataOnUpdate(context, data, key, model, oldModel) { }
94
121
  export async function segregatedDataOnDelete(context, data, key, model) { }
95
122
  function segregated(collection, type) {
@@ -109,49 +136,37 @@ function segregated(collection, type) {
109
136
  meta.collections = [...collections];
110
137
  Metadata.set(constr, key, meta);
111
138
  }
112
- //
113
- // const decs = [
114
- // segregatedDec,
115
- // transient(),
116
- // onCreate(
117
- // segregatedDataOnCreate,
118
- // { collections: collection },
119
- // {
120
- // priority: 95,
121
- // group:
122
- // typeof collection === "string" ? collection : collection.toString(),
123
- // }
124
- // ),
125
- // onRead(
126
- // segregatedDataOnRead,
127
- // { collections: collection },
128
- // {
129
- // priority: 95,
130
- // group:
131
- // typeof collection === "string" ? collection : collection.toString(),
132
- // }
133
- // ),
134
- // onUpdate(
135
- // segregatedDataOnUpdate,
136
- // { collections: collection },
137
- // {
138
- // priority: 95,
139
- // group:
140
- // typeof collection === "string" ? collection : collection.toString(),
141
- // }
142
- // ),
143
- // onDelete(
144
- // segregatedDataOnDelete,
145
- // { collections: collection },
146
- // {
147
- // priority: 95,
148
- // group:
149
- // typeof collection === "string" ? collection : collection.toString(),
150
- // }
151
- // ),
152
- // ];
153
- // return apply(...decs)(target, propertyKey);
154
- return apply()(target, propertyKey);
139
+ const decs = [];
140
+ if (!propertyKey) {
141
+ // decorated at the class level
142
+ Metadata.properties(target)?.forEach((p) => segregated(collection, type)(target, p));
143
+ return metadata(type, true)(target);
144
+ }
145
+ else {
146
+ decs.push(transient(), segregatedDec, onCreate(segregatedDataOnCreate, { collections: collection }, {
147
+ priority: 95,
148
+ group: typeof collection === "string"
149
+ ? collection
150
+ : collection.toString(),
151
+ }), onRead(segregatedDataOnRead, { collections: collection }, {
152
+ priority: 95,
153
+ group: typeof collection === "string"
154
+ ? collection
155
+ : collection.toString(),
156
+ }), onUpdate(segregatedDataOnUpdate, { collections: collection }, {
157
+ priority: 95,
158
+ group: typeof collection === "string"
159
+ ? collection
160
+ : collection.toString(),
161
+ }), onDelete(segregatedDataOnDelete, { collections: collection }, {
162
+ priority: 95,
163
+ group: typeof collection === "string"
164
+ ? collection
165
+ : collection.toString(),
166
+ }));
167
+ }
168
+ return apply(...decs)(target, propertyKey);
169
+ // return apply()(target, propertyKey);
155
170
  };
156
171
  }
157
172
  export function privateData(collection = ImplicitPrivateCollection) {
@@ -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":"AAAA,OAAO,EACL,kBAAkB,EAGlB,gBAAgB,GAEjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,aAAa,EACb,aAAa,EACb,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,SAAS,GACV,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAS,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,uBAAoB;AAG9C,OAAO,EACL,KAAK,EAEL,UAAU,EACV,QAAQ,EACR,QAAQ,EACR,YAAY,GACb,MAAM,sBAAsB,CAAC;AAG9B;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,KAAK;IACnB,OAAO,UACL,MAAW,EACX,WAAmB,EACnB,UAA8B;QAE9B,MAAM,cAAc,GAAG,UAAU,CAAC,KAAK,CAAC;QAExC,UAAU,CAAC,KAAK,GAAG,KAAK,WAEtB,GAAG,IAAW;YAEd,MAAM,GAAG,GAAc,IAAI,CAAC,CAAC,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAE5C,MAAM,MAAM,GAAG,MAAO,IAA4B,CAChD,iBAAiB,CAClB,CAAC,MAAM,EAAE,CAAC;YAEX,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAEzC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBACvB,MAAM,IAAI,aAAa,CAAC,qBAAqB,CAAC,CAAC;YACjD,CAAC;YAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,IAAI,aAAa,CAAC,6BAA6B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACxE,CAAC;YAED,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAChC,MAAM,IAAI,kBAAkB,CAC1B,8BAA8B,WAAW,eAAe,CACzD,CAAC;YACJ,CAAC;YAED,OAAO,MAAM,cAAc,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAMnC,OAAqB,EACrB,IAAO,EACP,GAAY,EACZ,KAAQ;IAER,MAAM,EAAE,IAAI,EAAE,GAAG,OAAc,CAAC;IAEhC,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,CAAC;IACxC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE5B,MAAM,kBAAkB,GAAG,UACzB,MAAS,EACT,WAAmB,EACnB,KAA+B;QAE/B,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE;YACzC,UAAU,EAAE,IAAI;YAChB,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK;SACb,CAAC,CAAC;IACL,CAAC,CAAC;IAEF,kBAAkB,CAAC,KAAK,EAAE,GAAa,EAAE,KAAK,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,OAAO;IACrB,MAAM,GAAG,GAAG,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;IAEvD,SAAS,OAAO;QACd,OAAO,UAAU,GAAQ,EAAE,SAAe;YACxC,OAAO,KAAK,CACV,QAAQ,EAAE,EACV,QAAQ,EAAE,EACV,QAAQ,CAAC,eAAe,CAAC,EACzB,YAAY,CAAC,iBAAiB,CAAC,eAAe,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,CACpE,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;SACvB,MAAM,CAAC;QACN,SAAS,EAAE,OAAO;QAClB,IAAI,EAAE,EAAE;KACT,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,GAAW;IAC3C,OAAO,QAAQ,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;AACpD,CAAC;AAID,MAAM,CAAC,MAAM,yBAAyB,GAAuB,CAC3D,KAAQ,EACR,EAAE;IACF,OAAO,KAAK,KAAK,CAAC,WAAW,CAAC,IAAI,mBAAmB,CAAC;AACxD,CAAC,CAAC;AAMF,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAE1C,OAA6B,EAC7B,IAA8B,EAC9B,IAAiB,EACjB,KAAQ;IAER,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAC7B,MAAM,IAAI,aAAa,CACrB,mDAAmD,CACpD,CAAC;IAEJ,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/C,MAAM,UAAU,GACd,OAAO,kBAAkB,KAAK,QAAQ;QACpC,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CACzB,CAAC,GAAyB,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,CAAC,GACL,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ;YACrC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;YACrB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,UAAU;YAClB,MAAM,IAAI,gBAAgB,CACxB,wCAAwC,CAAC,OAAO,UAAU,EAAE,CAC7D,CAAC;QACJ,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAA0B,CAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEzC,6CAA6C;IAE7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAS,CAAC,CAAC,MAAM,CAC3E,QAAQ,EACR,OAAO,CACR,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAExC,OAA6B,EAC7B,IAA8B,EAC9B,IAAiB,EACjB,KAAQ;IAER,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;QAC7B,MAAM,IAAI,aAAa,CACrB,mDAAmD,CACpD,CAAC;IAEJ,MAAM,kBAAkB,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;IAC/C,MAAM,UAAU,GACd,OAAO,kBAAkB,KAAK,QAAQ;QACpC,CAAC,CAAC,kBAAkB;QACpB,CAAC,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAEhC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CACzB,CAAC,GAAyB,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;QAClC,MAAM,CAAC,GACL,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,KAAK,QAAQ;YACrC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW;YACrB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,KAAK,UAAU;YAClB,MAAM,IAAI,gBAAgB,CACxB,wCAAwC,CAAC,OAAO,UAAU,EAAE,CAC7D,CAAC;QACJ,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAClB,OAAO,GAAG,CAAC;IACb,CAAC,EACD,EAA0B,CAC3B,CAAC;IAEF,MAAM,QAAQ,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEzC,6CAA6C;IAE7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,EAAE,UAAU,EAAE,UAAU,EAAS,CAAC,CAAC,MAAM,CAC3E,QAAQ,EACR,OAAO,CACR,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAE1C,OAA6B,EAC7B,IAA8B,EAC9B,GAAc,EACd,KAAQ,EACR,QAAW,IACK,CAAC;AAEnB,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAM1C,OAA6B,EAC7B,IAAS,EACT,GAAc,EACd,KAAQ,IACQ,CAAC;AAEnB,SAAS,UAAU,CACjB,UAAuC,EACvC,IAAsD;IAEtD,OAAO,SAAS,eAAe,CAAC,MAAc,EAAE,WAAiB;QAC/D,SAAS,aAAa,CAAC,MAAc,EAAE,WAAiB;YACtD,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAqB,CAAC,IAAI,EAAE,CAAC;gBAC/D,KAAK,MAAM,IAAI,IAAI,KAAK;oBAAE,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;gBACrE,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAC5C,MAAM,MAAM,GAAgB,MAAM,CAAC,WAA0B,CAAC;YAE9D,MAAM,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAqB,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC;YAC5D,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YACpD,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC5B,IAAI,CAAC,WAAW,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC;YACpC,QAAQ,CAAC,GAAG,CAAC,MAAqB,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,IAAI,GAAU,EAAE,CAAC;QACvB,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,+BAA+B;YAC/B,QAAQ,CAAC,UAAU,CAAC,MAAqB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CACxD,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CACxC,CAAC;YACF,OAAO,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CACP,SAAS,EAAE,EACX,aAAa,EACb,QAAQ,CACN,sBAAsB,EACtB,EAAE,WAAW,EAAE,UAAU,EAAE,EAC3B;gBACE,QAAQ,EAAE,EAAE;gBACZ,KAAK,EACH,OAAO,UAAU,KAAK,QAAQ;oBAC5B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;aAC5B,CACF,EACD,MAAM,CACJ,oBAA2B,EAC3B,EAAE,WAAW,EAAE,UAAU,EAAE,EAC3B;gBACE,QAAQ,EAAE,EAAE;gBACZ,KAAK,EACH,OAAO,UAAU,KAAK,QAAQ;oBAC5B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;aAC5B,CACF,EACD,QAAQ,CACN,sBAA6B,EAC7B,EAAE,WAAW,EAAE,UAAU,EAAE,EAC3B;gBACE,QAAQ,EAAE,EAAE;gBACZ,KAAK,EACH,OAAO,UAAU,KAAK,QAAQ;oBAC5B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;aAC5B,CACF,EACD,QAAQ,CACN,sBAA6B,EAC7B,EAAE,WAAW,EAAE,UAAU,EAAE,EAC3B;gBACE,QAAQ,EAAE,EAAE;gBACZ,KAAK,EACH,OAAO,UAAU,KAAK,QAAQ;oBAC5B,CAAC,CAAC,UAAU;oBACZ,CAAC,CAAC,UAAU,CAAC,QAAQ,EAAE;aAC5B,CACF,CACF,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC3C,uCAAuC;IACzC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,aAA0C,yBAAyB;IAEnE,SAAS,WAAW,CAAC,UAAuC;QAC1D,OAAO,UAAU,CAAC,UAAU,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,OAAO,CAAC;SAC3C,MAAM,CAAC;QACN,SAAS,EAAE,WAAW;QACtB,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,UAAuC;IAChE,SAAS,UAAU,CAAC,UAAuC;QACzD,OAAO,UAAU,CAAC,UAAU,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC;IAED,OAAO,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,MAAM,CAAC;SAC1C,MAAM,CAAC;QACN,SAAS,EAAE,UAAU;QACrB,IAAI,EAAE,CAAC,UAAU,CAAC;KACnB,CAAC;SACD,KAAK,EAAE,CAAC;AACb,CAAC;AACD,EAAE;AACF,qDAAqD;AACrD,uBAAuB;AACvB,sDAAsD;AACtD,MAAM;AACN,EAAE;AACF,iDAAiD;AACjD,EAAE;AACF,kDAAkD;AAClD,iCAAiC;AACjC,sBAAsB;AACtB,QAAQ;AACR,qBAAqB;AACrB,6EAA6E;AAC7E,EAAE;AACF,kDAAkD;AAClD,8DAA8D;AAC9D,EAAE;AACF,0BAA0B;AAC1B,4BAA4B;AAC5B,iCAAiC;AACjC,uDAAuD;AACvD,4BAA4B;AAC5B,YAAY;AACZ,+BAA+B;AAC/B,sCAAsC;AACtC,EAAE;AACF,uBAAuB;AACvB,8BAA8B;AAC9B,sEAAsE;AACtE,qDAAqD;AACrD,qCAAqC;AACrC,2DAA2D;AAC3D,4BAA4B;AAC5B,8BAA8B;AAC9B,uCAAuC;AACvC,QAAQ;AACR,OAAO;AACP,IAAI"}
@@ -117,3 +117,6 @@ export declare class NotInitializedError extends BaseError {
117
117
  export declare class MissingPKCSS11Lib extends InternalError {
118
118
  constructor(msg: string | Error);
119
119
  }
120
+ export declare class EndorsementError extends InternalError {
121
+ constructor(message: string | Error);
122
+ }
@@ -134,4 +134,9 @@ export class MissingPKCSS11Lib extends InternalError {
134
134
  super(msg, MissingPKCSS11Lib.name, 500);
135
135
  }
136
136
  }
137
+ export class EndorsementError extends InternalError {
138
+ constructor(message) {
139
+ super(message, EndorsementError.name, 500);
140
+ }
141
+ }
137
142
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/shared/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,kFAAkF;AAClF;;;;;;;;;GASG;AACH,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAkB,SAAQ,kBAAkB;IACvD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,6BAA8B,SAAQ,SAAS;IAC1D,YAAY,MAAsB,oCAAoC;QACpE,KAAK,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,YAAY,GAAmB;QAC7B,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/shared/errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,kFAAkF;AAClF;;;;;;;;;GASG;AACH,MAAM,OAAO,aAAc,SAAQ,aAAa;IAC9C,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,YAAa,SAAQ,aAAa;IAC7C,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;CACF;AAED;;;;;;;;;GASG;AACH,MAAM,OAAO,cAAe,SAAQ,aAAa;IAC/C,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAClC,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,iBAAkB,SAAQ,kBAAkB;IACvD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,6BAA8B,SAAQ,SAAS;IAC1D,YAAY,MAAsB,oCAAoC;QACpE,KAAK,CAAC,6BAA6B,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IACtD,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,OAAO,mBAAoB,SAAQ,SAAS;IAChD,YAAY,GAAmB;QAC7B,KAAK,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAClD,YAAY,GAAmB;QAC7B,KAAK,CAAC,GAAG,EAAE,iBAAiB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,aAAa;IACjD,YAAY,OAAuB;QACjC,KAAK,CAAC,OAAO,EAAE,gBAAgB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;IAC7C,CAAC;CACF"}
@@ -4,6 +4,7 @@ import { Metadata } from "@decaf-ts/decoration";
4
4
  // import { DBKeys } from "../model/constants";
5
5
  // import { SerializationError } from "../repository/errors";
6
6
  import { FabricModelKeys } from "./../constants.js";
7
+ import { DBKeys } from "@decaf-ts/db-decorators";
7
8
  Model.prototype.isShared = function isShared() {
8
9
  return Model.isShared(this.constructor);
9
10
  };
@@ -13,45 +14,45 @@ Model.prototype.isPrivate = function isPrivate() {
13
14
  Model.prototype.segregate = function segregate() {
14
15
  return Model.segregate(this);
15
16
  };
16
- //
17
- // (Model as any).toTransient = function toTransient<M extends Model>(model: M) {
18
- // if (!Metadata.isTransient(model)) return { model: model };
19
- // const decoratedProperties = Metadata.validatableProperties(
20
- // model.constructor as any
21
- // );
22
- //
23
- // const transientProps = Metadata.get(
24
- // model.constructor as any,
25
- // DBKeys.TRANSIENT
26
- // );
27
- //
28
- // const result = {
29
- // model: {} as Record<string, any>,
30
- // transient: {} as Record<string, any>,
31
- // };
32
- // for (const key of decoratedProperties) {
33
- // const isTransient = Object.keys(transientProps).includes(key);
34
- // if (isTransient) {
35
- // result.transient = result.transient || {};
36
- // try {
37
- // result.transient[key] = model[key as keyof M];
38
- // } catch (e: unknown) {
39
- // throw new SerializationError(
40
- // `Failed to serialize transient property ${key}: ${e}`
41
- // );
42
- // }
43
- // } else {
44
- // result.model = result.model || {};
45
- // result.model[key] = (model as Record<string, any>)[key];
46
- // }
47
- // }
48
- //
49
- // result.model = Model.build(result.model, model.constructor.name);
50
- // return result as { model: M; transient?: Record<string, any> };
51
- // };
52
- const seg = Model.segregate;
53
17
  Model.segregate = function segregate(model) {
54
- return seg.call(Model, model);
18
+ if (!Model.isTransient(model))
19
+ return { model: model };
20
+ const decoratedProperties = Metadata.validatableProperties(model.constructor);
21
+ const transientProps = Metadata.get(model.constructor, DBKeys.TRANSIENT);
22
+ const privateProperties = Metadata.get(model.constructor, FabricModelKeys.PRIVATE);
23
+ const sharedProperties = Metadata.get(model.constructor, FabricModelKeys.PRIVATE);
24
+ const result = {
25
+ model: {},
26
+ transient: {},
27
+ private: {},
28
+ shared: {},
29
+ };
30
+ const transientKeys = Object.keys(transientProps);
31
+ const privateKeys = Object.keys(privateProperties);
32
+ const sharedKeys = Object.keys(sharedProperties);
33
+ for (const key of decoratedProperties) {
34
+ const isTransient = transientKeys.includes(key);
35
+ const isPrivate = privateKeys.includes(key);
36
+ const isShared = sharedKeys.includes(key);
37
+ if (isTransient) {
38
+ result.transient = result.transient || {};
39
+ result.transient[key] = model[key];
40
+ if (isPrivate) {
41
+ result.private = result.private || {};
42
+ result.private[key] = model[key];
43
+ }
44
+ if (isShared) {
45
+ result.shared = result.shared || {};
46
+ result.shared[key] = model[key];
47
+ }
48
+ }
49
+ else {
50
+ result.model = result.model || {};
51
+ result.model[key] = model[key];
52
+ }
53
+ }
54
+ result.model = Model.build(result.model, model.constructor.name);
55
+ return result;
55
56
  }.bind(Model);
56
57
  Model.isPrivate = function isPrivate(model) {
57
58
  return !!Metadata.get(typeof model !== "function" ? model.constructor : model, FabricModelKeys.PRIVATE);
@@ -1 +1 @@
1
- {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../../src/shared/overrides/overrides.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AACvD,yDAAyD;AACzD,OAAO,EAAe,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC7D,+CAA+C;AAC/C,6DAA6D;AAC7D,OAAO,EAAE,eAAe,EAAE,0BAAqB;AAG/C,KAAK,CAAC,SAAS,CAAC,QAAQ,GAAG,SAAS,QAAQ;IAG1C,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAA6B,CAAC,CAAC;AAC5D,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,SAAS;IAG5C,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,WAA6B,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,SAAS,SAAS;IAG5C,OAAO,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;AAC/B,CAAC,CAAC;AAEF,EAAE;AACF,iFAAiF;AACjF,+DAA+D;AAC/D,gEAAgE;AAChE,+BAA+B;AAC/B,OAAO;AACP,EAAE;AACF,yCAAyC;AACzC,gCAAgC;AAChC,uBAAuB;AACvB,OAAO;AACP,EAAE;AACF,qBAAqB;AACrB,wCAAwC;AACxC,4CAA4C;AAC5C,OAAO;AACP,6CAA6C;AAC7C,qEAAqE;AACrE,yBAAyB;AACzB,mDAAmD;AACnD,cAAc;AACd,yDAAyD;AACzD,+BAA+B;AAC/B,wCAAwC;AACxC,kEAAkE;AAClE,aAAa;AACb,UAAU;AACV,eAAe;AACf,2CAA2C;AAC3C,iEAAiE;AACjE,QAAQ;AACR,MAAM;AACN,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,KAAK;AAEL,MAAM,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC;AAE3B,KAAa,CAAC,SAAS,GAAG,SAAS,SAAS,CAC3C,KAAQ;IAER,OAAO,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAuB,CAAC;AACtD,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,KAAa,CAAC,SAAS,GAAG,SAAS,SAAS,CAC3C,KAAyB;IAEzB,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,eAAe,CAAC,OAAO,CACxB,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAEb,QAAgB,CAAC,QAAQ,GAAG,SAAS,QAAQ,CAC5C,KAAyB;IAEzB,OAAO,CAAC,CAAC,QAAQ,CAAC,GAAG,CACnB,OAAO,KAAK,KAAK,UAAU,CAAC,CAAC,CAAE,KAAK,CAAC,WAAmB,CAAC,CAAC,CAAC,KAAK,EAChE,eAAe,CAAC,MAAM,CACvB,CAAC;AACJ,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"overrides.js","sourceRoot":"","sources":["../../../../src/shared/overrides/overrides.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
- import { RepositoryFlags } from "@decaf-ts/db-decorators";
2
1
  import { TLSOptions } from "fabric-ca-client";
3
2
  import { Model } from "@decaf-ts/decorator-validation";
3
+ import { AdapterFlags } from "@decaf-ts/core";
4
+ import { Logger } from "@decaf-ts/logging";
4
5
  export type HSMOptions = {
5
6
  library: string;
6
7
  slot?: number;
@@ -48,14 +49,6 @@ export type PeerConfig = {
48
49
  channel: string;
49
50
  hsm?: HSMOptions;
50
51
  };
51
- /**
52
- * @description Flags for Fabric operations
53
- * @summary Combines repository flags with peer configuration overrides
54
- * @interface FabricFlags
55
- * @extends {RepositoryFlags}
56
- * @memberOf module:for-fabric.shared
57
- */
58
- export type FabricFlags = RepositoryFlags;
59
52
  /**
60
53
  * @description Configuration for connecting to a Hyperledger Fabric peer
61
54
  * @summary Contains all the necessary parameters to establish a connection to a Fabric peer and interact with chaincode
@@ -94,3 +87,6 @@ export type SegregatedModel<M extends Model> = {
94
87
  private?: Record<keyof M, any>;
95
88
  shared?: Record<keyof M, any>;
96
89
  };
90
+ export type FabricFlags<LOG extends Logger = Logger> = AdapterFlags<LOG> & {
91
+ segregated?: string;
92
+ };
@@ -43,7 +43,7 @@ export declare class CoreUtils {
43
43
  * @param {string|Buffer} contentOrPath - Path to a file on disk or an already-loaded Buffer
44
44
  * @return {Promise<string|Uint8Array|Buffer>} The file content as a Buffer/string depending on reader
45
45
  */
46
- static readFile(contentOrPath: string | Buffer): Promise<NonSharedBuffer>;
46
+ static readFile(contentOrPath: string | Buffer): Promise<Buffer<ArrayBufferLike>>;
47
47
  /**
48
48
  * @description Create a Fabric CA User object with enrollment
49
49
  * @summary Constructs a fabric-common User, sets a crypto suite, imports the provided private key, and sets enrollment with certificate and MSP ID.
@@ -1,2 +1,2 @@
1
- export declare const VERSION = "0.1.21";
1
+ export declare const VERSION = "0.1.23";
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.21";
2
+ export const VERSION = "0.1.23";
3
3
  export const PACKAGE_NAME = "@decaf-ts/for-fabric";
4
4
  Metadata.registerLibrary(PACKAGE_NAME, VERSION);
5
5
  //# sourceMappingURL=version.js.map
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ImplicitPrivateCollection = void 0;
4
4
  exports.Owner = Owner;
5
5
  exports.ownedByOnCreate = ownedByOnCreate;
6
- exports.OwnedBy = OwnedBy;
6
+ exports.ownedBy = ownedBy;
7
7
  exports.getFabricModelKey = getFabricModelKey;
8
8
  exports.segregatedDataOnCreate = segregatedDataOnCreate;
9
9
  exports.segregatedDataOnRead = segregatedDataOnRead;
@@ -68,7 +68,7 @@ async function ownedByOnCreate(context, data, key, model) {
68
68
  };
69
69
  setOwnedByKeyValue(model, key, owner);
70
70
  }
71
- function OwnedBy() {
71
+ function ownedBy() {
72
72
  const key = getFabricModelKey(constants_1.FabricModelKeys.OWNEDBY);
73
73
  function ownedBy() {
74
74
  return function (obj, attribute) {
@@ -92,18 +92,45 @@ exports.ImplicitPrivateCollection = ImplicitPrivateCollection;
92
92
  async function segregatedDataOnCreate(context, data, keys, model) {
93
93
  if (keys.length !== data.length)
94
94
  throw new db_decorators_1.InternalError(`Segregated data keys and metadata length mismatch`);
95
- let key, d;
96
- for (let i = 0; i < keys.length; i++) {
97
- key = keys[i];
98
- d = data[i];
99
- const collection = typeof d.collections === "function"
100
- ? d.collections(model)
101
- : d.collections;
102
- // await this.saveToCollection(context, collection, key, model[key]);
103
- }
104
- decorator_validation_1.Model.segregate(model);
95
+ const collectionResolver = data[0].collections;
96
+ const collection = typeof collectionResolver === "string"
97
+ ? collectionResolver
98
+ : collectionResolver(model);
99
+ const rebuilt = keys.reduce((acc, k, i) => {
100
+ const c = typeof data[i].collections === "string"
101
+ ? data[i].collections
102
+ : data[i].collections(model);
103
+ if (c !== collection)
104
+ throw new core_1.UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
105
+ acc[k] = model[k];
106
+ return acc;
107
+ }, {});
108
+ const toCreate = new this.class(rebuilt);
109
+ // const segregated = Model.segregate(model);
110
+ const created = await this.override({ segregated: collection }).create(toCreate, context);
111
+ Object.assign(model, created);
112
+ }
113
+ async function segregatedDataOnRead(context, data, keys, model) {
114
+ if (keys.length !== data.length)
115
+ throw new db_decorators_1.InternalError(`Segregated data keys and metadata length mismatch`);
116
+ const collectionResolver = data[0].collections;
117
+ const collection = typeof collectionResolver === "string"
118
+ ? collectionResolver
119
+ : collectionResolver(model);
120
+ const rebuilt = keys.reduce((acc, k, i) => {
121
+ const c = typeof data[i].collections === "string"
122
+ ? data[i].collections
123
+ : data[i].collections(model);
124
+ if (c !== collection)
125
+ throw new core_1.UnsupportedError(`Segregated data collection mismatch: ${c} vs ${collection}`);
126
+ acc[k] = model[k];
127
+ return acc;
128
+ }, {});
129
+ const toCreate = new this.class(rebuilt);
130
+ // const segregated = Model.segregate(model);
131
+ const created = await this.override({ segregated: collection }).create(toCreate, context);
132
+ Object.assign(model, created);
105
133
  }
106
- async function segregatedDataOnRead(context, data, key, model) { }
107
134
  async function segregatedDataOnUpdate(context, data, key, model, oldModel) { }
108
135
  async function segregatedDataOnDelete(context, data, key, model) { }
109
136
  function segregated(collection, type) {
@@ -123,49 +150,37 @@ function segregated(collection, type) {
123
150
  meta.collections = [...collections];
124
151
  decoration_1.Metadata.set(constr, key, meta);
125
152
  }
126
- //
127
- // const decs = [
128
- // segregatedDec,
129
- // transient(),
130
- // onCreate(
131
- // segregatedDataOnCreate,
132
- // { collections: collection },
133
- // {
134
- // priority: 95,
135
- // group:
136
- // typeof collection === "string" ? collection : collection.toString(),
137
- // }
138
- // ),
139
- // onRead(
140
- // segregatedDataOnRead,
141
- // { collections: collection },
142
- // {
143
- // priority: 95,
144
- // group:
145
- // typeof collection === "string" ? collection : collection.toString(),
146
- // }
147
- // ),
148
- // onUpdate(
149
- // segregatedDataOnUpdate,
150
- // { collections: collection },
151
- // {
152
- // priority: 95,
153
- // group:
154
- // typeof collection === "string" ? collection : collection.toString(),
155
- // }
156
- // ),
157
- // onDelete(
158
- // segregatedDataOnDelete,
159
- // { collections: collection },
160
- // {
161
- // priority: 95,
162
- // group:
163
- // typeof collection === "string" ? collection : collection.toString(),
164
- // }
165
- // ),
166
- // ];
167
- // return apply(...decs)(target, propertyKey);
168
- return (0, decoration_1.apply)()(target, propertyKey);
153
+ const decs = [];
154
+ if (!propertyKey) {
155
+ // decorated at the class level
156
+ decoration_1.Metadata.properties(target)?.forEach((p) => segregated(collection, type)(target, p));
157
+ return (0, decoration_1.metadata)(type, true)(target);
158
+ }
159
+ else {
160
+ decs.push((0, db_decorators_1.transient)(), segregatedDec, (0, db_decorators_1.onCreate)(segregatedDataOnCreate, { collections: collection }, {
161
+ priority: 95,
162
+ group: typeof collection === "string"
163
+ ? collection
164
+ : collection.toString(),
165
+ }), (0, db_decorators_1.onRead)(segregatedDataOnRead, { collections: collection }, {
166
+ priority: 95,
167
+ group: typeof collection === "string"
168
+ ? collection
169
+ : collection.toString(),
170
+ }), (0, db_decorators_1.onUpdate)(segregatedDataOnUpdate, { collections: collection }, {
171
+ priority: 95,
172
+ group: typeof collection === "string"
173
+ ? collection
174
+ : collection.toString(),
175
+ }), (0, db_decorators_1.onDelete)(segregatedDataOnDelete, { collections: collection }, {
176
+ priority: 95,
177
+ group: typeof collection === "string"
178
+ ? collection
179
+ : collection.toString(),
180
+ }));
181
+ }
182
+ return (0, decoration_1.apply)(...decs)(target, propertyKey);
183
+ // return apply()(target, propertyKey);
169
184
  };
170
185
  }
171
186
  function privateData(collection = exports.ImplicitPrivateCollection) {
@@ -1,7 +1,6 @@
1
- import { Repo } from "@decaf-ts/core";
2
- import { Context } from "@decaf-ts/db-decorators";
1
+ import { Repo, Context, Repository } from "@decaf-ts/core";
3
2
  import { Model } from "@decaf-ts/decorator-validation";
4
- import { FabricContractContext, FabricContractRepository } from "../contracts/index";
3
+ import { FabricFlags } from "./types";
5
4
  /**
6
5
  * Decorator for marking methods that require ownership authorization.
7
6
  * Checks the owner of the token before allowing the method to be executed.
@@ -20,16 +19,16 @@ import { FabricContractContext, FabricContractRepository } from "../contracts/in
20
19
  */
21
20
  export declare function Owner(): (target: any, propertyKey: string, descriptor: PropertyDescriptor) => PropertyDescriptor;
22
21
  export declare function ownedByOnCreate<M extends Model<boolean>, R extends Repo<M>, V>(this: R, context: Context<any>, data: V, key: keyof M, model: M): Promise<void>;
23
- export declare function OwnedBy(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
22
+ export declare function ownedBy(): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
24
23
  export declare function getFabricModelKey(key: string): string;
25
24
  export type CollectionResolver = <M extends Model>(model: M) => string;
26
25
  export declare const ImplicitPrivateCollection: CollectionResolver;
27
26
  export type SegregatedDataMetadata = {
28
27
  collections: string | CollectionResolver;
29
28
  };
30
- export declare function segregatedDataOnCreate<M extends Model>(this: FabricContractRepository<M>, context: FabricContractContext, data: SegregatedDataMetadata[], keys: (keyof M)[], model: M): Promise<void>;
31
- export declare function segregatedDataOnRead<M extends Model>(this: FabricContractRepository<M>, context: FabricContractContext, data: SegregatedDataMetadata[], key: (keyof M)[], model: M): Promise<void>;
32
- export declare function segregatedDataOnUpdate<M extends Model>(this: FabricContractRepository<M>, context: FabricContractContext, data: SegregatedDataMetadata[], key: keyof M[], model: M, oldModel: M): Promise<void>;
33
- export declare function segregatedDataOnDelete<M extends Model, R extends FabricContractRepository<M>, V extends SegregatedDataMetadata>(this: R, context: FabricContractContext, data: V[], key: keyof M[], model: M): Promise<void>;
29
+ export declare function segregatedDataOnCreate<M extends Model>(this: Repository<M, any>, context: Context<FabricFlags>, data: SegregatedDataMetadata[], keys: (keyof M)[], model: M): Promise<void>;
30
+ export declare function segregatedDataOnRead<M extends Model>(this: Repository<M, any>, context: Context<FabricFlags>, data: SegregatedDataMetadata[], keys: (keyof M)[], model: M): Promise<void>;
31
+ export declare function segregatedDataOnUpdate<M extends Model>(this: Repository<M, any>, context: Context<FabricFlags>, data: SegregatedDataMetadata[], key: keyof M[], model: M, oldModel: M): Promise<void>;
32
+ export declare function segregatedDataOnDelete<M extends Model, R extends Repository<M, any>, V extends SegregatedDataMetadata>(this: R, context: Context<FabricFlags>, data: V[], key: keyof M[], model: M): Promise<void>;
34
33
  export declare function privateData(collection?: string | CollectionResolver): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
35
34
  export declare function sharedData(collection: string | CollectionResolver): (target: any, propertyKey?: any, descriptor?: TypedPropertyDescriptor<any>) => any;
@@ -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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"}