@decaf-ts/for-fabric 0.12.8 → 0.13.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 (181) 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/cjs/cli-module.cjs +109 -4
  6. package/lib/cjs/cli-module.cjs.map +1 -1
  7. package/lib/cjs/client/FabricClientAdapter.cjs +134 -63
  8. package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -1
  9. package/lib/cjs/client/FabricClientContext.cjs +30 -0
  10. package/lib/cjs/client/FabricClientContext.cjs.map +1 -0
  11. package/lib/cjs/client/FabricClientDispatch.cjs +1 -1
  12. package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -1
  13. package/lib/cjs/client/FabricClientRepository.cjs +1 -1
  14. package/lib/cjs/client/FabricClientRepository.cjs.map +1 -1
  15. package/lib/cjs/client/FabricClientStatement.cjs +3 -2
  16. package/lib/cjs/client/FabricClientStatement.cjs.map +1 -1
  17. package/lib/cjs/client/constants.cjs +1 -0
  18. package/lib/cjs/client/constants.cjs.map +1 -1
  19. package/lib/cjs/client/index.cjs +1 -0
  20. package/lib/cjs/client/index.cjs.map +1 -1
  21. package/lib/cjs/client/indexes/generation.cjs +1 -13
  22. package/lib/cjs/client/indexes/generation.cjs.map +1 -1
  23. package/lib/cjs/contract/models/Audit.cjs +1 -3
  24. package/lib/cjs/contract/models/Audit.cjs.map +1 -1
  25. package/lib/cjs/contract/models/History.cjs +2 -76
  26. package/lib/cjs/contract/models/History.cjs.map +1 -1
  27. package/lib/cjs/contract/models/OtherBatchShared.cjs +3 -238
  28. package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -1
  29. package/lib/cjs/contract/models/OtherLeaflet.cjs +5 -117
  30. package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -1
  31. package/lib/cjs/contract/models/OtherLeafletFile.cjs +2 -66
  32. package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -1
  33. package/lib/cjs/contract/models/OtherMarket.cjs +2 -85
  34. package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -1
  35. package/lib/cjs/contract/models/OtherProduct.cjs +2 -78
  36. package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -1
  37. package/lib/cjs/contract/models/OtherProductImage.cjs +2 -60
  38. package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -1
  39. package/lib/cjs/contract/models/OtherProductShared.cjs +2 -100
  40. package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -1
  41. package/lib/cjs/contract/models/OtherProductStrength.cjs +2 -86
  42. package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -1
  43. package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -1
  44. package/lib/cjs/contract/models/SegregatedDocument.cjs +0 -4
  45. package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -1
  46. package/lib/cjs/contract/models/decorators.cjs +0 -3
  47. package/lib/cjs/contract/models/decorators.cjs.map +1 -1
  48. package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs +129 -0
  49. package/lib/cjs/contract/trackedModels/OtherBatchShared.cjs.map +1 -0
  50. package/lib/cjs/contract/trackedModels/OtherProduct.cjs +1 -1
  51. package/lib/cjs/contract/trackedModels/OtherProduct.cjs.map +1 -1
  52. package/lib/cjs/contracts/ContractAdapter.cjs +39 -7
  53. package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -1
  54. package/lib/cjs/contracts/MigrationContract.cjs +4 -5
  55. package/lib/cjs/contracts/MigrationContract.cjs.map +1 -1
  56. package/lib/cjs/contracts/crud/crud-contract.cjs +25 -21
  57. package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -1
  58. package/lib/cjs/shared/constants.cjs +4 -0
  59. package/lib/cjs/shared/constants.cjs.map +1 -1
  60. package/lib/cjs/shared/decorators.cjs +22 -1
  61. package/lib/cjs/shared/decorators.cjs.map +1 -1
  62. package/lib/cjs/shared/overrides/overrides.cjs +34 -0
  63. package/lib/cjs/shared/overrides/overrides.cjs.map +1 -1
  64. package/lib/cjs/version.cjs +16 -2
  65. package/lib/cjs/version.cjs.map +1 -1
  66. package/lib/esm/cli-module.js +109 -4
  67. package/lib/esm/cli-module.js.map +1 -1
  68. package/lib/esm/client/FabricClientAdapter.js +135 -64
  69. package/lib/esm/client/FabricClientAdapter.js.map +1 -1
  70. package/lib/esm/client/FabricClientContext.js +25 -0
  71. package/lib/esm/client/FabricClientContext.js.map +1 -0
  72. package/lib/esm/client/FabricClientDispatch.js +1 -1
  73. package/lib/esm/client/FabricClientDispatch.js.map +1 -1
  74. package/lib/esm/client/FabricClientRepository.js +1 -1
  75. package/lib/esm/client/FabricClientRepository.js.map +1 -1
  76. package/lib/esm/client/FabricClientStatement.js +3 -2
  77. package/lib/esm/client/FabricClientStatement.js.map +1 -1
  78. package/lib/esm/client/constants.js +1 -0
  79. package/lib/esm/client/constants.js.map +1 -1
  80. package/lib/esm/client/index.js +1 -0
  81. package/lib/esm/client/index.js.map +1 -1
  82. package/lib/esm/client/indexes/generation.js +1 -13
  83. package/lib/esm/client/indexes/generation.js.map +1 -1
  84. package/lib/esm/contract/index.js.map +1 -1
  85. package/lib/esm/contract/models/Audit.js +2 -4
  86. package/lib/esm/contract/models/Audit.js.map +1 -1
  87. package/lib/esm/contract/models/History.js +1 -71
  88. package/lib/esm/contract/models/History.js.map +1 -1
  89. package/lib/esm/contract/models/OtherBatchShared.js +1 -231
  90. package/lib/esm/contract/models/OtherBatchShared.js.map +1 -1
  91. package/lib/esm/contract/models/OtherLeaflet.js +2 -111
  92. package/lib/esm/contract/models/OtherLeaflet.js.map +1 -1
  93. package/lib/esm/contract/models/OtherLeafletFile.js +1 -61
  94. package/lib/esm/contract/models/OtherLeafletFile.js.map +1 -1
  95. package/lib/esm/contract/models/OtherMarket.js +1 -80
  96. package/lib/esm/contract/models/OtherMarket.js.map +1 -1
  97. package/lib/esm/contract/models/OtherProduct.js +1 -73
  98. package/lib/esm/contract/models/OtherProduct.js.map +1 -1
  99. package/lib/esm/contract/models/OtherProductImage.js +1 -55
  100. package/lib/esm/contract/models/OtherProductImage.js.map +1 -1
  101. package/lib/esm/contract/models/OtherProductShared.js +1 -95
  102. package/lib/esm/contract/models/OtherProductShared.js.map +1 -1
  103. package/lib/esm/contract/models/OtherProductStrength.js +1 -81
  104. package/lib/esm/contract/models/OtherProductStrength.js.map +1 -1
  105. package/lib/esm/contract/models/ProductStrength.js +1 -1
  106. package/lib/esm/contract/models/ProductStrength.js.map +1 -1
  107. package/lib/esm/contract/models/SegregatedDocument.js +1 -5
  108. package/lib/esm/contract/models/SegregatedDocument.js.map +1 -1
  109. package/lib/esm/contract/models/decorators.js +0 -3
  110. package/lib/esm/contract/models/decorators.js.map +1 -1
  111. package/lib/esm/contract/trackedModels/OtherBatchShared.js +120 -0
  112. package/lib/esm/contract/trackedModels/OtherBatchShared.js.map +1 -0
  113. package/lib/esm/contract/trackedModels/OtherProduct.js +2 -2
  114. package/lib/esm/contract/trackedModels/OtherProduct.js.map +1 -1
  115. package/lib/esm/contract/trackedModels/OtherProductStrength.js.map +1 -1
  116. package/lib/esm/contracts/ContractAdapter.js +40 -8
  117. package/lib/esm/contracts/ContractAdapter.js.map +1 -1
  118. package/lib/esm/contracts/FabricContractStatement.js.map +1 -1
  119. package/lib/esm/contracts/MigrationContract.js +4 -5
  120. package/lib/esm/contracts/MigrationContract.js.map +1 -1
  121. package/lib/esm/contracts/crud/crud-contract.js +27 -23
  122. package/lib/esm/contracts/crud/crud-contract.js.map +1 -1
  123. package/lib/esm/shared/constants.js +4 -0
  124. package/lib/esm/shared/constants.js.map +1 -1
  125. package/lib/esm/shared/decorators.js +17 -0
  126. package/lib/esm/shared/decorators.js.map +1 -1
  127. package/lib/esm/shared/overrides/overrides.js +35 -1
  128. package/lib/esm/shared/overrides/overrides.js.map +1 -1
  129. package/lib/esm/version.js +15 -1
  130. package/lib/esm/version.js.map +1 -1
  131. package/lib/types/client/FabricClientAdapter.d.cts +42 -33
  132. package/lib/types/client/FabricClientAdapter.d.mts +42 -33
  133. package/lib/types/client/FabricClientContext.d.cts +11 -0
  134. package/lib/types/client/FabricClientContext.d.mts +11 -0
  135. package/lib/types/client/FabricClientDispatch.d.cts +5 -5
  136. package/lib/types/client/FabricClientDispatch.d.mts +5 -5
  137. package/lib/types/client/FabricClientStatement.d.cts +6 -6
  138. package/lib/types/client/FabricClientStatement.d.mts +6 -6
  139. package/lib/types/client/index.d.cts +1 -0
  140. package/lib/types/client/index.d.mts +1 -0
  141. package/lib/types/client/types.d.cts +2 -0
  142. package/lib/types/client/types.d.mts +2 -0
  143. package/lib/types/contract/models/History.d.cts +1 -9
  144. package/lib/types/contract/models/History.d.mts +1 -9
  145. package/lib/types/contract/models/OtherBatchShared.d.cts +1 -55
  146. package/lib/types/contract/models/OtherBatchShared.d.mts +1 -55
  147. package/lib/types/contract/models/OtherLeaflet.d.cts +2 -16
  148. package/lib/types/contract/models/OtherLeaflet.d.mts +2 -16
  149. package/lib/types/contract/models/OtherLeafletFile.d.cts +1 -10
  150. package/lib/types/contract/models/OtherLeafletFile.d.mts +1 -10
  151. package/lib/types/contract/models/OtherMarket.d.cts +1 -13
  152. package/lib/types/contract/models/OtherMarket.d.mts +1 -13
  153. package/lib/types/contract/models/OtherProduct.d.cts +1 -12
  154. package/lib/types/contract/models/OtherProduct.d.mts +1 -12
  155. package/lib/types/contract/models/OtherProductImage.d.cts +1 -9
  156. package/lib/types/contract/models/OtherProductImage.d.mts +1 -9
  157. package/lib/types/contract/models/OtherProductShared.d.cts +1 -18
  158. package/lib/types/contract/models/OtherProductShared.d.mts +1 -18
  159. package/lib/types/contract/models/OtherProductStrength.d.cts +1 -12
  160. package/lib/types/contract/models/OtherProductStrength.d.mts +1 -12
  161. package/lib/types/contract/trackedModels/OtherBatchShared.d.cts +19 -0
  162. package/lib/types/contract/trackedModels/OtherBatchShared.d.mts +19 -0
  163. package/lib/types/contracts/ContractAdapter.d.cts +1 -0
  164. package/lib/types/contracts/ContractAdapter.d.mts +1 -0
  165. package/lib/types/contracts/FabricContractStatement.d.cts +2 -3
  166. package/lib/types/contracts/FabricContractStatement.d.mts +2 -3
  167. package/lib/types/contracts/MigrationContract.d.cts +1 -1
  168. package/lib/types/contracts/MigrationContract.d.mts +1 -1
  169. package/lib/types/contracts/crud/crud-contract.d.cts +3 -1
  170. package/lib/types/contracts/crud/crud-contract.d.mts +3 -1
  171. package/lib/types/contracts/types.d.cts +1 -0
  172. package/lib/types/contracts/types.d.mts +1 -0
  173. package/lib/types/shared/constants.d.cts +5 -1
  174. package/lib/types/shared/constants.d.mts +5 -1
  175. package/lib/types/shared/decorators.d.cts +9 -1
  176. package/lib/types/shared/decorators.d.mts +9 -1
  177. package/lib/types/shared/overrides/Model.d.cts +4 -0
  178. package/lib/types/shared/overrides/Model.d.mts +4 -0
  179. package/lib/types/version.d.cts +15 -1
  180. package/lib/types/version.d.mts +15 -1
  181. package/package.json +6 -4
@@ -1 +1 @@
1
- {"version":3,"file":"cli-module.js","sourceRoot":"","sources":["../../src/cli-module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli-module.js","sourceRoot":"","sources":["../../src/cli-module.ts"],"names":[],"mappings":"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"}
@@ -19,8 +19,9 @@ import { Gateway as LegacyGateway, Wallets } from "fabric-network";
19
19
  import { getIdentity, getSigner, getFirstDirFileNameContent, readFile as readFsFile, } from "./fabric-fs.js";
20
20
  import { InternalError, OperationKeys, SerializationError, BulkCrudOperationKeys, NotFoundError, ConflictError, BadRequestError, ValidationError, } from "@decaf-ts/db-decorators";
21
21
  import { Context, Adapter, AuthorizationError, ConnectionError, ForbiddenError, MigrationError, ObserverError, PagingError, PersistenceKeys, QueryError, UnsupportedError, } from "@decaf-ts/core";
22
- import { FabricFlavour } from "./../shared/constants.js";
22
+ import { FabricFlavour, FabricModelKeys } from "./../shared/constants.js";
23
23
  import { ClientSerializer } from "./../shared/ClientSerializer.js";
24
+ import { FabricClientContext } from "./FabricClientContext.js";
24
25
  import { FabricClientStatement } from "./FabricClientStatement.js";
25
26
  import { FabricClientPaginator } from "./FabricClientPaginator.js";
26
27
  import { FabricClientRepository } from "./FabricClientRepository.js";
@@ -29,6 +30,7 @@ import { DefaultFabricClientFlags } from "./constants.js";
29
30
  import fs from "fs";
30
31
  import { CryptoUtils } from "./crypto.js";
31
32
  import { extractIds } from "./ids/id-extraction.js";
33
+ import { DefaultContractResolver } from "./../shared/index.js";
32
34
  /**
33
35
  * @description Adapter for interacting with Hyperledger Fabric networks
34
36
  * @summary The FabricAdapter extends CouchDBAdapter to provide a seamless interface for interacting with Hyperledger Fabric networks.
@@ -87,6 +89,9 @@ export class FabricClientAdapter extends Adapter {
87
89
  static { this.decoder = new TextDecoder("utf8"); }
88
90
  static { this.serializer = new ClientSerializer(); }
89
91
  static { this.log = Logging.for(FabricClientAdapter); }
92
+ get Context() {
93
+ return FabricClientContext;
94
+ }
90
95
  /**
91
96
  * @description Creates a new FabricAdapter instance
92
97
  * @summary Initializes a new adapter for interacting with a Hyperledger Fabric network
@@ -97,6 +102,15 @@ export class FabricClientAdapter extends Adapter {
97
102
  super(Object.assign({}, DefaultFabricClientFlags, config), FabricFlavour, alias);
98
103
  this.serializer = FabricClientAdapter.serializer;
99
104
  }
105
+ chaincodeFor(model, ...args) {
106
+ return FabricClientAdapter.chaincodeFor(model, this.config, ...args);
107
+ }
108
+ channelFor(model, ...args) {
109
+ return FabricClientAdapter.channelFor(model, this.config, ...args);
110
+ }
111
+ contractFor(model, ...args) {
112
+ return FabricClientAdapter.contractFor(model, this.config, ...args);
113
+ }
100
114
  Statement(overrides) {
101
115
  return new FabricClientStatement(this, overrides);
102
116
  }
@@ -234,10 +248,8 @@ export class FabricClientAdapter extends Adapter {
234
248
  log.verbose(`pks: ${ids}`);
235
249
  const hasTransient = transient && Object.keys(transient).length > 0;
236
250
  const needsFullPayload = hasTransient || this.shouldForceGatewayHydration(ctx);
237
- const transientPayload = hasTransient ? { [tableName]: transient } : {};
238
- const result = await this.submitTransaction(ctx, BulkCrudOperationKeys.CREATE_ALL, [
239
- JSON.stringify(models.map((m) => this.serializer.serialize(m, clazz.name))),
240
- ], transientPayload, this.getEndorsingOrganizations(ctx), clazz.name);
251
+ const serializedModels = models.map((m) => JSON.parse(this.serializer.serialize(m, clazz.name)));
252
+ const result = await this.submitTransaction(ctx, BulkCrudOperationKeys.CREATE_ALL, [JSON.stringify(serializedModels)], hasTransient ? { [tableName]: transient } : undefined, this.getEndorsingOrganizations(ctx), clazz);
241
253
  let res;
242
254
  try {
243
255
  res = JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
@@ -246,7 +258,7 @@ export class FabricClientAdapter extends Adapter {
246
258
  throw new SerializationError(e);
247
259
  }
248
260
  if (this.shouldRefreshAfterWrite(clazz, ctx, needsFullPayload, res[0][Model.pk(clazz)] || ids[0])) {
249
- return this.readAll(clazz, extractIds(clazz, models.map((m, i) => Model.merge(Object.assign({}, m, transient[i] || {}), res[i])), ids), ctx);
261
+ return this.readAll(clazz, extractIds(clazz, models.map((m, i) => Model.merge(Object.assign({}, m, transient?.[i] || {}), res[i])), ids), ctx);
250
262
  }
251
263
  return res;
252
264
  }
@@ -262,7 +274,7 @@ export class FabricClientAdapter extends Adapter {
262
274
  const tableName = Model.tableName(clazz);
263
275
  log.info(`reading ${ids.length} entries to ${tableName} table`);
264
276
  log.verbose(`pks: ${ids}`);
265
- const result = await this.evaluateTransaction(ctx, BulkCrudOperationKeys.READ_ALL, [JSON.stringify(ids)], undefined, undefined, clazz.name);
277
+ const result = await this.evaluateTransaction(ctx, BulkCrudOperationKeys.READ_ALL, [JSON.stringify(ids)], undefined, undefined, clazz);
266
278
  try {
267
279
  return JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
268
280
  }
@@ -290,10 +302,8 @@ export class FabricClientAdapter extends Adapter {
290
302
  log.verbose(`pks: ${ids}`);
291
303
  const hasTransient = transient && Object.keys(transient).length > 0;
292
304
  const needsFullPayload = hasTransient || this.shouldForceGatewayHydration(ctx);
293
- const transientPayload = hasTransient ? { [tableName]: transient } : {};
294
- const result = await this.submitTransaction(ctx, BulkCrudOperationKeys.UPDATE_ALL, [
295
- JSON.stringify(models.map((m) => this.serializer.serialize(m, clazz.name))),
296
- ], transientPayload, this.getEndorsingOrganizations(ctx), clazz.name);
305
+ const serializedModels = models.map((m) => JSON.parse(this.serializer.serialize(m, clazz.name)));
306
+ const result = await this.submitTransaction(ctx, BulkCrudOperationKeys.UPDATE_ALL, [JSON.stringify(serializedModels)], hasTransient ? { [tableName]: transient } : undefined, this.getEndorsingOrganizations(ctx), clazz);
297
307
  let res;
298
308
  try {
299
309
  res = JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
@@ -302,7 +312,7 @@ export class FabricClientAdapter extends Adapter {
302
312
  throw new SerializationError(e);
303
313
  }
304
314
  if (this.shouldRefreshAfterWrite(clazz, ctx, needsFullPayload, ids[0])) {
305
- return this.readAll(clazz, extractIds(clazz, models.map((m, i) => Model.merge(Object.assign({}, m, transient[i] || {}), res[i])), ids), ctx);
315
+ return this.readAll(clazz, extractIds(clazz, models.map((m, i) => Model.merge(Object.assign({}, m, transient?.[i] || {}), res[i])), ids), ctx);
306
316
  }
307
317
  return res;
308
318
  }
@@ -325,7 +335,7 @@ export class FabricClientAdapter extends Adapter {
325
335
  }
326
336
  log.info(`deleting ${ids.length} entries to ${tableName} table`);
327
337
  log.verbose(`pks: ${ids}`);
328
- const res = await this.submitTransaction(ctx, BulkCrudOperationKeys.DELETE_ALL, [JSON.stringify(ids)], undefined, this.getEndorsingOrganizations(ctx), clazz.name);
338
+ const res = await this.submitTransaction(ctx, BulkCrudOperationKeys.DELETE_ALL, [JSON.stringify(ids)], undefined, this.getEndorsingOrganizations(ctx), clazz);
329
339
  try {
330
340
  return shouldHydrate
331
341
  ? result
@@ -438,6 +448,30 @@ export class FabricClientAdapter extends Adapter {
438
448
  }
439
449
  return hasId;
440
450
  }
451
+ injectTransientOverrides(transientData, ctx) {
452
+ const hasTransientData = this.hasMeaningfulTransientData(transientData);
453
+ const shouldInject = !!ctx.getOrUndefined("allowContextTransientMap");
454
+ if (!hasTransientData && !shouldInject)
455
+ return undefined;
456
+ const overrides = ctx.toOverrides();
457
+ const payload = hasTransientData ? Object.assign({}, transientData) : {};
458
+ if (shouldInject && Object.keys(overrides).length) {
459
+ payload[FabricModelKeys.OVERRIDES] = overrides;
460
+ }
461
+ return Object.keys(payload).length ? payload : undefined;
462
+ }
463
+ hasMeaningfulTransientData(value) {
464
+ if (value === undefined || value === null)
465
+ return false;
466
+ if (Array.isArray(value))
467
+ return value.some((item) => this.hasMeaningfulTransientData(item));
468
+ if (typeof value !== "object")
469
+ return true;
470
+ const entries = Object.entries(value);
471
+ if (!entries.length)
472
+ return false;
473
+ return entries.some(([, entry]) => this.hasMeaningfulTransientData(entry));
474
+ }
441
475
  getEndorsingOrganizations(ctx) {
442
476
  const direct = ctx.getOrUndefined("endorsingOrgs") ||
443
477
  ctx.getOrUndefined("endorsingOrgs");
@@ -468,8 +502,7 @@ export class FabricClientAdapter extends Adapter {
468
502
  log.debug(`pk: ${id}`);
469
503
  const hasTransient = transient && Object.keys(transient).length > 0;
470
504
  const needsFullPayload = hasTransient || this.shouldForceGatewayHydration(ctx);
471
- const transientPayload = hasTransient ? { [tableName]: transient } : {};
472
- const result = await this.submitTransaction(ctx, OperationKeys.CREATE, [this.serializer.serialize(model, clazz.name)], transientPayload, this.getEndorsingOrganizations(ctx), clazz.name);
505
+ const result = await this.submitTransaction(ctx, OperationKeys.CREATE, [this.serializer.serialize(model, clazz.name)], hasTransient ? { [tableName]: transient } : undefined, this.getEndorsingOrganizations(ctx), clazz);
473
506
  const deserialized = this.serializer.deserialize(this.decode(result));
474
507
  if (this.shouldRefreshAfterWrite(clazz, ctx, needsFullPayload, id)) {
475
508
  return this.read(clazz, extractIds(clazz, Model.merge(Object.assign({}, model, transient || {}), deserialized, clazz), id), ctx);
@@ -480,7 +513,7 @@ export class FabricClientAdapter extends Adapter {
480
513
  const { log, ctx } = this.logCtx(args, this.healthcheck);
481
514
  const tableName = Model.tableName(clazz);
482
515
  log.verbose(`reading entry from ${tableName} table`);
483
- const result = await this.evaluateTransaction(ctx, "healthcheck", [], undefined, undefined, clazz.name);
516
+ const result = await this.evaluateTransaction(ctx, "healthcheck", [], undefined, undefined, clazz);
484
517
  return JSON.parse(this.decode(result));
485
518
  }
486
519
  /**
@@ -495,7 +528,7 @@ export class FabricClientAdapter extends Adapter {
495
528
  const tableName = Model.tableName(clazz);
496
529
  log.verbose(`reading entry from ${tableName} table`);
497
530
  log.debug(`pk: ${id}`);
498
- const result = await this.evaluateTransaction(ctx, OperationKeys.READ, [id.toString()], undefined, undefined, clazz.name);
531
+ const result = await this.evaluateTransaction(ctx, OperationKeys.READ, [id.toString()], undefined, undefined, clazz);
499
532
  return this.serializer.deserialize(this.decode(result));
500
533
  }
501
534
  updatePrefix(clazz, id, model, ...args) {
@@ -525,9 +558,7 @@ export class FabricClientAdapter extends Adapter {
525
558
  log.debug(`pk: ${id}`);
526
559
  const hasTransient = transient && Object.keys(transient).length > 0;
527
560
  const needsFullPayload = hasTransient || this.shouldForceGatewayHydration(ctx);
528
- const transientPayload = hasTransient ? { [tableName]: transient } : {};
529
- const result = await this.submitTransaction(ctx, OperationKeys.UPDATE, [this.serializer.serialize(model, clazz.name || clazz)], // TODO should be receving class but is receiving string
530
- transientPayload, this.getEndorsingOrganizations(ctx), clazz.name);
561
+ const result = await this.submitTransaction(ctx, OperationKeys.UPDATE, [this.serializer.serialize(model, clazz.name)], hasTransient ? { [tableName]: transient } : undefined, this.getEndorsingOrganizations(ctx), clazz);
531
562
  const deserialized = this.serializer.deserialize(this.decode(result));
532
563
  if (this.shouldRefreshAfterWrite(clazz, ctx, needsFullPayload, id)) {
533
564
  return this.read(clazz, extractIds(clazz, Model.merge(Object.assign({}, model, transient || {}), deserialized, clazz), id), ctx);
@@ -552,7 +583,7 @@ export class FabricClientAdapter extends Adapter {
552
583
  }
553
584
  log.verbose(`deleting entry from ${tableName} table`);
554
585
  log.debug(`pk: ${id}`);
555
- const res = await this.submitTransaction(ctx, OperationKeys.DELETE, [id.toString()], undefined, this.getEndorsingOrganizations(ctx), clazz.name);
586
+ const res = await this.submitTransaction(ctx, OperationKeys.DELETE, [id.toString()], undefined, this.getEndorsingOrganizations(ctx), clazz);
556
587
  return shouldHydrate
557
588
  ? result
558
589
  : this.serializer.deserialize(this.decode(res));
@@ -584,11 +615,10 @@ export class FabricClientAdapter extends Adapter {
584
615
  */
585
616
  async raw(rawInput, docsOnly = true, clazz, ...args) {
586
617
  const { log, ctx } = this.logCtx(args, this.raw);
587
- const tableName = clazz.name;
588
618
  log.info(`Performing raw statement on table ${Model.tableName(clazz)}`);
589
619
  let transactionResult;
590
620
  try {
591
- transactionResult = await this.evaluateTransaction(ctx, "raw", [JSON.stringify(rawInput), docsOnly], undefined, undefined, tableName);
621
+ transactionResult = await this.evaluateTransaction(ctx, "raw", [JSON.stringify(rawInput), docsOnly], undefined, undefined, clazz);
592
622
  }
593
623
  catch (e) {
594
624
  throw this.parseError(e);
@@ -623,7 +653,7 @@ export class FabricClientAdapter extends Adapter {
623
653
  * @param {string} ddoc - Design document name
624
654
  * @param {string} viewName - View name
625
655
  * @param {Record<string, any>} options - View query options
626
- * @param {...ContextualArgs<Context<FabricClientFlags>>} args - Optional contextual arguments
656
+ * @param {...ContextualArgs<FabricClientContext>} args - Optional contextual arguments
627
657
  * @return {Promise<ViewResponse<R>>} The view response
628
658
  */
629
659
  async view(ddoc, viewName, options, ...args) {
@@ -663,18 +693,13 @@ export class FabricClientAdapter extends Adapter {
663
693
  async Gateway(ctx) {
664
694
  return FabricClientAdapter.getGateway(ctx, this.config, this.client);
665
695
  }
666
- getContractName(className) {
667
- if (!className)
668
- return undefined;
669
- return `${className}Contract`;
670
- }
671
696
  /**
672
697
  * @description Gets a Contract instance for the Fabric chaincode
673
698
  * @summary Creates a new Contract instance using the current Gateway
674
699
  * @return {Promise<Contrakt>} Promise resolving to the Contract instance
675
700
  */
676
- async Contract(ctx, contractName) {
677
- return FabricClientAdapter.getContract(await this.Gateway(ctx), this.config, contractName);
701
+ async Contract(ctx, clazzOrContractName) {
702
+ return FabricClientAdapter.getContract(await this.Gateway(ctx), this.config, clazzOrContractName, ctx);
678
703
  }
679
704
  /**
680
705
  * @description Executes a transaction on the Fabric network
@@ -704,23 +729,33 @@ export class FabricClientAdapter extends Adapter {
704
729
  * Contract-->>FabricAdapter: result
705
730
  * FabricAdapter->>Gateway: close()
706
731
  */
707
- async transaction(ctx, api, submit = true, args, transientData = {}, endorsingOrganizations, className) {
732
+ async transaction(ctx, api, submit = true, args, transientData = {}, endorsingOrganizations, clazzOrContractName) {
708
733
  const log = this.log.for(this.transaction);
734
+ transientData = this.injectTransientOverrides(transientData, ctx);
735
+ if (submit && this.shouldUseLegacyGateway(ctx)) {
736
+ const legacyArgs = this.prepareLegacyArgs(args);
737
+ const transientMap = this.buildLegacyTransient(transientData);
738
+ const peerConfigs = this.buildLegacyPeerConfigs(ctx);
739
+ return await this.submitLegacyWithExplicitEndorsers(ctx, api, legacyArgs, transientMap, peerConfigs, clazzOrContractName);
740
+ }
709
741
  const gateway = await this.Gateway(ctx);
710
742
  try {
711
- const contract = await this.Contract(ctx, this.getContractName(className));
712
- log.verbose(`${submit ? "Submit" : "Evaluate"}ting transaction ${this.getContractName(className) || this.config.contractName}.${api}`);
743
+ const contract = await this.Contract(ctx, clazzOrContractName);
744
+ log.verbose(`${submit ? "Submit" : "Evaluate"}ting transaction ${contract.getContractName()}.${api}`);
713
745
  log.debug(`args: ${args?.map((a) => a.toString()).join("\n") || "none"}`);
714
746
  const method = submit ? contract.submit : contract.evaluate;
747
+ const transientEntries = Object.entries(transientData || {});
715
748
  endorsingOrganizations = endorsingOrganizations?.length
716
749
  ? endorsingOrganizations
717
750
  : undefined;
718
751
  const proposalOptions = {
719
752
  arguments: args || [],
720
- transientData: Object.entries(transientData).reduce((acc, [key, val]) => {
721
- acc[key] = JSON.stringify(val);
722
- return acc;
723
- }, {}),
753
+ transientData: transientEntries.length
754
+ ? transientEntries.reduce((acc, [key, val]) => {
755
+ acc[key] = JSON.stringify(val);
756
+ return acc;
757
+ }, {})
758
+ : undefined,
724
759
  endorsingOrganizations: ctx.getOrUndefined("allowManualEndorsingOrgs")
725
760
  ? endorsingOrganizations || undefined
726
761
  : undefined, // mspId list
@@ -817,7 +852,7 @@ export class FabricClientAdapter extends Adapter {
817
852
  }
818
853
  return peers;
819
854
  }
820
- async submitLegacyWithExplicitEndorsers(ctx, fcn, args, transientMap, peerConfigs, className) {
855
+ async submitLegacyWithExplicitEndorsers(ctx, fcn, args, transientMap, peerConfigs, clazzOrContractName) {
821
856
  const log = this.log.for(this.submitLegacyWithExplicitEndorsers);
822
857
  const peers = this.normalizeLegacyPeers(peerConfigs);
823
858
  const identityMaterial = await this.resolveLegacyIdentityMaterial();
@@ -846,8 +881,24 @@ export class FabricClientAdapter extends Adapter {
846
881
  key: identityMaterial.privateKey,
847
882
  },
848
883
  });
849
- const network = await gateway.getNetwork(this.config.channel);
850
- const contract = network.getContract(this.config.chaincodeName, this.getContractName(className));
884
+ let channel = this.config.channel;
885
+ let chaincode = this.config.chaincodeName;
886
+ let contractName = this.config.contractName;
887
+ if (clazzOrContractName) {
888
+ if (typeof clazzOrContractName === "string")
889
+ contractName = clazzOrContractName;
890
+ else {
891
+ if (!ctx)
892
+ throw new InternalError(`No context received to determine chaincode config`);
893
+ channel =
894
+ (await this.channelFor(clazzOrContractName, ctx)) || channel;
895
+ chaincode =
896
+ (await this.chaincodeFor(clazzOrContractName, ctx)) || chaincode;
897
+ contractName = await this.contractFor(clazzOrContractName, ctx);
898
+ }
899
+ }
900
+ const network = await gateway.getNetwork(channel);
901
+ const contract = network.getContract(chaincode, contractName);
851
902
  const transaction = contract.createTransaction(fcn);
852
903
  if (transientMap) {
853
904
  transaction.setTransient(transientMap);
@@ -858,7 +909,7 @@ export class FabricClientAdapter extends Adapter {
858
909
  if (endorsers.length) {
859
910
  transaction.setEndorsingPeers(endorsers);
860
911
  }
861
- log.verbose(`Legacy submitting ${this.getContractName(className) || this.config.contractName}.${fcn} via peers ${peers.map((p) => p.peerEndpoint).join(", ")}`);
912
+ log.verbose(`Legacy submitting ${contractName}.${fcn} via peers ${peers.map((p) => p.peerEndpoint).join(", ")}`);
862
913
  const result = await transaction.submit(...args);
863
914
  return Uint8Array.from(result);
864
915
  }
@@ -986,14 +1037,8 @@ export class FabricClientAdapter extends Adapter {
986
1037
  * @param {Array<string>} [endorsingOrganizations] - Organizations that must endorse the transaction
987
1038
  * @return {Promise<Uint8Array>} Promise resolving to the transaction result
988
1039
  */
989
- async submitTransaction(ctx, api, args, transientData, endorsingOrganizations, className) {
990
- if (this.shouldUseLegacyGateway(ctx)) {
991
- const legacyArgs = this.prepareLegacyArgs(args);
992
- const transientMap = this.buildLegacyTransient(transientData);
993
- const peerConfigs = this.buildLegacyPeerConfigs(ctx);
994
- return this.submitLegacyWithExplicitEndorsers(ctx, api, legacyArgs, transientMap, peerConfigs, className);
995
- }
996
- return this.transaction(ctx, api, true, args, transientData, endorsingOrganizations, className);
1040
+ async submitTransaction(ctx, api, args, transientData, endorsingOrganizations, clazzOrContractName) {
1041
+ return this.transaction(ctx, api, true, args, transientData, endorsingOrganizations, clazzOrContractName);
997
1042
  }
998
1043
  /**
999
1044
  * @description Evaluates a transaction on the Fabric network
@@ -1004,8 +1049,8 @@ export class FabricClientAdapter extends Adapter {
1004
1049
  * @param {Array<string>} [endorsingOrganizations] - Organizations that must endorse the transaction
1005
1050
  * @return {Promise<Uint8Array>} Promise resolving to the transaction result
1006
1051
  */
1007
- async evaluateTransaction(ctx, api, args, transientData, endorsingOrganizations, className) {
1008
- return this.transaction(ctx, api, false, args, transientData, endorsingOrganizations, className);
1052
+ async evaluateTransaction(ctx, api, args, transientData, endorsingOrganizations, clazzOrContractName) {
1053
+ return this.transaction(ctx, api, false, args, transientData, endorsingOrganizations, clazzOrContractName);
1009
1054
  }
1010
1055
  async migrate(reference, ...args) {
1011
1056
  const { ctxArgs } = (await this.logCtx([args], PersistenceKeys.MIGRATION, true)).for(this.migrate);
@@ -1033,14 +1078,30 @@ export class FabricClientAdapter extends Adapter {
1033
1078
  * @param {PeerConfig} config - The peer configuration
1034
1079
  * @return {Contrakt} The Contract instance
1035
1080
  */
1036
- static getContract(gateway, config, contractName) {
1081
+ static async getContract(gateway, config, clazzOrContractName, ctx) {
1037
1082
  const log = this.log.for(this.getContract);
1038
- const network = this.getNetwork(gateway, config.channel);
1083
+ let channel = config.channel;
1084
+ let chaincode = config.chaincodeName;
1085
+ let contractName = config.contractName;
1086
+ if (clazzOrContractName) {
1087
+ if (typeof clazzOrContractName === "string")
1088
+ contractName = clazzOrContractName;
1089
+ else {
1090
+ if (!ctx)
1091
+ throw new InternalError(`No context received to determine chaincode config`);
1092
+ channel =
1093
+ (await this.channelFor(clazzOrContractName, config, ctx)) || channel;
1094
+ chaincode =
1095
+ (await this.chaincodeFor(clazzOrContractName, config, ctx)) ||
1096
+ chaincode;
1097
+ contractName = await this.contractFor(clazzOrContractName, config, ctx);
1098
+ }
1099
+ }
1100
+ const network = this.getNetwork(gateway, channel);
1039
1101
  let contract;
1040
1102
  try {
1041
- log.debug(`Retrieving chaincode ${config.chaincodeName} contract ${contractName || config.contractName} from network ${config.channel}`);
1042
- contractName = contractName ? contractName : config.contractName;
1043
- contract = network.getContract(config.chaincodeName, contractName);
1103
+ log.debug(`Retrieving chaincode ${chaincode} contract ${contractName} from network ${channel}`);
1104
+ contract = network.getContract(chaincode, contractName);
1044
1105
  }
1045
1106
  catch (e) {
1046
1107
  throw this.parseError(e);
@@ -1203,6 +1264,16 @@ export class FabricClientAdapter extends Adapter {
1203
1264
  Dispatch() {
1204
1265
  return new FabricClientAdapter["_baseDispatch"](this.client);
1205
1266
  }
1267
+ static chaincodeFor(model, config, ...args) {
1268
+ return Model.chaincodeOf(model, ...args) || config.chaincodeName;
1269
+ }
1270
+ static channelFor(model, config, ...args) {
1271
+ return Model.channelOf(model, ...args) || config.channel;
1272
+ }
1273
+ static contractFor(model, config, ...args) {
1274
+ return (Model.contractOf(model, ...args) ||
1275
+ DefaultContractResolver(model, ...args));
1276
+ }
1206
1277
  /**
1207
1278
  * @description Parses an error into a BaseError
1208
1279
  * @summary Converts any error into a standardized BaseError using the parent class implementation
@@ -1274,47 +1345,47 @@ __decorate([
1274
1345
  debug(),
1275
1346
  final(),
1276
1347
  __metadata("design:type", Function),
1277
- __metadata("design:paramtypes", [Object, Object, Object, Object, Context]),
1348
+ __metadata("design:paramtypes", [Object, Object, Object, Object, FabricClientContext]),
1278
1349
  __metadata("design:returntype", Promise)
1279
1350
  ], FabricClientAdapter.prototype, "create", null);
1280
1351
  __decorate([
1281
1352
  debug(),
1282
1353
  final(),
1283
1354
  __metadata("design:type", Function),
1284
- __metadata("design:paramtypes", [Object, Context]),
1355
+ __metadata("design:paramtypes", [Object, FabricClientContext]),
1285
1356
  __metadata("design:returntype", Promise)
1286
1357
  ], FabricClientAdapter.prototype, "healthcheck", null);
1287
1358
  __decorate([
1288
1359
  debug(),
1289
1360
  final(),
1290
1361
  __metadata("design:type", Function),
1291
- __metadata("design:paramtypes", [Object, Object, Context]),
1362
+ __metadata("design:paramtypes", [Object, Object, FabricClientContext]),
1292
1363
  __metadata("design:returntype", Promise)
1293
1364
  ], FabricClientAdapter.prototype, "read", null);
1294
1365
  __decorate([
1295
1366
  debug(),
1296
1367
  final(),
1297
1368
  __metadata("design:type", Function),
1298
- __metadata("design:paramtypes", [Object, Object, Object, Object, Context]),
1369
+ __metadata("design:paramtypes", [Object, Object, Object, Object, FabricClientContext]),
1299
1370
  __metadata("design:returntype", Promise)
1300
1371
  ], FabricClientAdapter.prototype, "update", null);
1301
1372
  __decorate([
1302
1373
  debug(),
1303
1374
  final(),
1304
1375
  __metadata("design:type", Function),
1305
- __metadata("design:paramtypes", [Object, Object, Context]),
1376
+ __metadata("design:paramtypes", [Object, Object, FabricClientContext]),
1306
1377
  __metadata("design:returntype", Promise)
1307
1378
  ], FabricClientAdapter.prototype, "delete", null);
1308
1379
  __decorate([
1309
1380
  debug(),
1310
1381
  __metadata("design:type", Function),
1311
- __metadata("design:paramtypes", [Object, typeof (_a = typeof D !== "undefined" && D) === "function" ? _a : Object, Object, Context]),
1382
+ __metadata("design:paramtypes", [Object, typeof (_a = typeof D !== "undefined" && D) === "function" ? _a : Object, Object, FabricClientContext]),
1312
1383
  __metadata("design:returntype", Promise)
1313
1384
  ], FabricClientAdapter.prototype, "raw", null);
1314
1385
  __decorate([
1315
1386
  debug(),
1316
1387
  __metadata("design:type", Function),
1317
- __metadata("design:paramtypes", [String, String, Object, Context]),
1388
+ __metadata("design:paramtypes", [String, String, Object, FabricClientContext]),
1318
1389
  __metadata("design:returntype", Promise)
1319
1390
  ], FabricClientAdapter.prototype, "view", null);
1320
1391
  FabricClientAdapter.decoration();