@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
@@ -2,7 +2,11 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.FabricStatement = void 0;
4
4
  const for_couchdb_1 = require("@decaf-ts/for-couchdb");
5
+ const decorator_validation_1 = require("@decaf-ts/decorator-validation");
6
+ const for_couchdb_2 = require("@decaf-ts/for-couchdb");
7
+ const core_1 = require("@decaf-ts/core");
5
8
  const db_decorators_1 = require("@decaf-ts/db-decorators");
9
+ const decorators_1 = require("./../shared/decorators.cjs");
6
10
  /**
7
11
  * @description Statement wrapper for executing Mango queries within Fabric contracts
8
12
  * @summary Bridges CouchDB-style queries to Fabric via the FabricContractAdapter, handling identity and primary key projection when needed.
@@ -27,7 +31,7 @@ const db_decorators_1 = require("@decaf-ts/db-decorators");
27
31
  * Adapter-->>Statement: rows
28
32
  * Statement-->>App: models
29
33
  */
30
- class FabricStatement extends for_couchdb_1.CouchDBStatement {
34
+ class FabricStatement extends for_couchdb_2.CouchDBStatement {
31
35
  constructor(adapter) {
32
36
  super(adapter);
33
37
  }
@@ -37,6 +41,137 @@ class FabricStatement extends for_couchdb_1.CouchDBStatement {
37
41
  throw new db_decorators_1.InternalError(`Received an undefined in the paginator for ${method}: ${args}`);
38
42
  return super.executionPrefix(method, ...args);
39
43
  }
44
+ build() {
45
+ const log = this.log.for(this.build);
46
+ this.manualAggregation = undefined;
47
+ const aggregateInfo = this.buildAggregateInfo();
48
+ if (aggregateInfo) {
49
+ if (this.shouldUseManualAggregation()) {
50
+ this.manualAggregation = aggregateInfo;
51
+ }
52
+ else {
53
+ return this.createAggregateQuery(aggregateInfo);
54
+ }
55
+ }
56
+ const selectors = {};
57
+ selectors[for_couchdb_1.CouchDBKeys.TABLE] = {};
58
+ selectors[for_couchdb_1.CouchDBKeys.TABLE] = decorator_validation_1.Model.tableName(this.fromSelector);
59
+ const query = { selector: selectors };
60
+ if (this.selectSelector)
61
+ query.fields = this.selectSelector;
62
+ if (this.whereCondition) {
63
+ const condition = this.parseCondition(core_1.Condition.and(this.whereCondition, core_1.Condition.attribute(for_couchdb_1.CouchDBKeys.TABLE).eq(query.selector[for_couchdb_1.CouchDBKeys.TABLE]))).selector;
64
+ const selectorKeys = Object.keys(condition);
65
+ if (selectorKeys.length === 1 &&
66
+ Object.values(for_couchdb_1.CouchDBGroupOperator).indexOf(selectorKeys[0]) !== -1)
67
+ switch (selectorKeys[0]) {
68
+ case for_couchdb_1.CouchDBGroupOperator.AND:
69
+ condition[for_couchdb_1.CouchDBGroupOperator.AND] = [
70
+ ...Object.values(condition[for_couchdb_1.CouchDBGroupOperator.AND]).reduce((accum, val) => {
71
+ const keys = Object.keys(val);
72
+ if (keys.length !== 1)
73
+ throw new Error("Too many keys in query selector. should be one");
74
+ const k = keys[0];
75
+ if (k === for_couchdb_1.CouchDBGroupOperator.AND)
76
+ accum.push(...val[k]);
77
+ else
78
+ accum.push(val);
79
+ return accum;
80
+ }, []),
81
+ ];
82
+ query.selector = condition;
83
+ break;
84
+ case for_couchdb_1.CouchDBGroupOperator.OR: {
85
+ const s = {};
86
+ s[for_couchdb_1.CouchDBGroupOperator.AND] = [
87
+ condition,
88
+ ...Object.entries(query.selector).map(([key, val]) => {
89
+ const result = {};
90
+ result[key] = val;
91
+ return result;
92
+ }),
93
+ ];
94
+ query.selector = s;
95
+ break;
96
+ }
97
+ default:
98
+ throw new Error("This should be impossible");
99
+ }
100
+ else {
101
+ Object.entries(condition).forEach(([key, val]) => {
102
+ if (query.selector[key])
103
+ log.warn(`A ${key} query param is about to be overridden: ${query.selector[key]} by ${val}`);
104
+ query.selector[key] = val;
105
+ });
106
+ }
107
+ }
108
+ if (this.orderBySelectors?.length) {
109
+ query.sort = query.sort || [];
110
+ query.selector = query.selector || {};
111
+ for (const [selectorKey, direction] of this.orderBySelectors) {
112
+ const selector = selectorKey;
113
+ const rec = {};
114
+ rec[selector] = direction;
115
+ query.sort.push(rec);
116
+ if (!query.selector[selector]) {
117
+ query.selector[selector] = {};
118
+ query.selector[selector][for_couchdb_1.CouchDBOperator.BIGGER] =
119
+ null;
120
+ }
121
+ }
122
+ }
123
+ const hasManualAggregate = !!this.manualAggregation;
124
+ if (this.limitSelector) {
125
+ query.limit = this.limitSelector;
126
+ }
127
+ else if (!hasManualAggregate) {
128
+ // log.warn(
129
+ // `No limit selector defined. Using default couchdb limit of ${CouchDBQueryLimit}`
130
+ // );
131
+ // query.limit = CouchDBQueryLimit;
132
+ // do nothing
133
+ }
134
+ if (this.offsetSelector)
135
+ query.skip = this.offsetSelector;
136
+ return query;
137
+ }
138
+ async execute(...args) {
139
+ const { log, ctx, ctxArgs } = this.logCtx(args, this.execute);
140
+ const msp = (0, decorators_1.extractMspId)(ctx.identity);
141
+ const { privateCols, sharedCols } = decorator_validation_1.Model.collectionsFor(this.fromSelector);
142
+ const collections = [
143
+ ...new Set(await Promise.all([...privateCols, ...sharedCols].map((c) => typeof c === "string" ? c : c(this.fromSelector, msp, ctx)))),
144
+ ];
145
+ (0, decorators_1.applySegregationFlags)(new this.fromSelector(), collections, ctx);
146
+ try {
147
+ if (this.prepared)
148
+ return this.executePrepared(...args);
149
+ log.silly(`Building raw statement...`);
150
+ const query = this.build();
151
+ log.silly(`executing raw statement`);
152
+ const results = (await this.raw(query, true, ...ctxArgs));
153
+ if (this.hasAggregation()) {
154
+ return results;
155
+ }
156
+ if (!this.selectSelector) {
157
+ const pkAttr = decorator_validation_1.Model.pk(this.fromSelector);
158
+ const processor = function recordProcessor(r) {
159
+ const id = r[pkAttr];
160
+ return this.adapter.revert(r, this.fromSelector, id, undefined, ctx);
161
+ }.bind(this);
162
+ if (this.groupBySelectors?.length) {
163
+ return this.revertGroupedResults(results, processor);
164
+ }
165
+ if (Array.isArray(results))
166
+ return results.map(processor);
167
+ return processor(results);
168
+ }
169
+ return results;
170
+ }
171
+ catch (e) {
172
+ throw new core_1.QueryError(e);
173
+ }
174
+ }
40
175
  }
41
176
  exports.FabricStatement = FabricStatement;
42
177
  //# sourceMappingURL=FabricContractStatement.js.map
@@ -1,8 +1,9 @@
1
- import { CouchDBAdapter } from "@decaf-ts/for-couchdb";
1
+ import { CouchDBAdapter, MangoQuery } from "@decaf-ts/for-couchdb";
2
2
  import { Model } from "@decaf-ts/decorator-validation";
3
3
  import { FabricContractContext } from "./ContractContext";
4
4
  import { CouchDBStatement } from "@decaf-ts/for-couchdb";
5
5
  import { MaybeContextualArg } from "@decaf-ts/core";
6
+ import { Constructor } from "@decaf-ts/decoration";
6
7
  /**
7
8
  * @description Statement wrapper for executing Mango queries within Fabric contracts
8
9
  * @summary Bridges CouchDB-style queries to Fabric via the FabricContractAdapter, handling identity and primary key projection when needed.
@@ -29,5 +30,7 @@ import { MaybeContextualArg } from "@decaf-ts/core";
29
30
  */
30
31
  export declare class FabricStatement<M extends Model, R> extends CouchDBStatement<M, CouchDBAdapter<any, void, FabricContractContext>, R> {
31
32
  constructor(adapter: CouchDBAdapter<any, void, FabricContractContext>);
32
- protected executionPrefix(method: any, ...args: MaybeContextualArg<FabricContractContext>): Promise<[import("@decaf-ts/decoration").Constructor<M>, ...any[], any]>;
33
+ protected executionPrefix(method: any, ...args: MaybeContextualArg<FabricContractContext>): Promise<[Constructor<M>, ...any[], any]>;
34
+ protected build(): MangoQuery;
35
+ execute(...args: MaybeContextualArg<FabricContractContext>): Promise<R>;
33
36
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FabricContractStatement.js","sourceRoot":"","sources":["../../src/contracts/FabricContractStatement.ts"],"names":[],"mappings":";;;AAGA,uDAAyD;AAEzD,2DAAwD;AAExD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAa,eAAoC,SAAQ,8BAIxD;IACC,YAAY,OAAyD;QACnE,KAAK,CAAC,OAAO,CAAC,CAAC;IACjB,CAAC;IAEkB,KAAK,CAAC,eAAe,CACtC,MAAW,EACX,GAAG,IAA+C;QAElD,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CACzB,OAAO,CACqC,CAAC;QAC/C,IAAI,IAAI,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM;YAChC,MAAM,IAAI,6BAAa,CACrB,8CAA8C,MAAM,KAAK,IAAI,EAAE,CAChE,CAAC;QACJ,OAAO,KAAK,CAAC,eAAe,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,CAAC;IAChD,CAAC;CACF;AAtBD,0CAsBC"}
1
+ {"version":3,"file":"FabricContractStatement.js","sourceRoot":"","sources":["../../src/contracts/FabricContractStatement.ts"],"names":[],"mappings":"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"}
@@ -144,8 +144,8 @@ class FabricCrudContract extends fabric_contract_api_1.Contract {
144
144
  * @param {...any[]} args - Additional arguments
145
145
  * @return {Promise<M>} Promise resolving to the created model
146
146
  */
147
- async create(ctx, model, ...args) {
148
- const { log, ctxArgs } = (await this.logCtx([...args, ctx], db_decorators_1.OperationKeys.CREATE, true)).for(this.create);
147
+ async create(context, model, ...args) {
148
+ const { log, ctxArgs, ctx } = (await this.logCtx([...args, context], db_decorators_1.OperationKeys.CREATE, true)).for(this.create);
149
149
  log.info(`CONTRACT CREATE, ${ctxArgs}`);
150
150
  if (typeof model === "string")
151
151
  model = this.deserialize(model);
@@ -153,7 +153,9 @@ class FabricCrudContract extends fabric_contract_api_1.Contract {
153
153
  const transient = this.getTransientData(ctx);
154
154
  log.info(`Merging transient data...`);
155
155
  model = decorator_validation_1.Model.merge(model, transient, this.clazz);
156
- return this.repo.create(model, ...ctxArgs);
156
+ const created = await this.repo.create(model, ...ctxArgs);
157
+ const result = new this.clazz(decorator_validation_1.Model.segregate(created).model);
158
+ return result;
157
159
  }
158
160
  /**
159
161
  * @description Reads a single model from the state database
@@ -174,6 +176,10 @@ class FabricCrudContract extends fabric_contract_api_1.Contract {
174
176
  if (transientMap.has(this.repo["tableName"])) {
175
177
  transient = JSON.parse(transientMap.get(this.repo["tableName"])?.toString("utf8"));
176
178
  }
179
+ if (transientMap.has("__overrides")) {
180
+ const overrides = JSON.parse(transientMap.get(this.repo["tableName"])?.toString("utf8"));
181
+ ctx.accumulate(overrides);
182
+ }
177
183
  return transient;
178
184
  }
179
185
  /**
@@ -184,15 +190,17 @@ class FabricCrudContract extends fabric_contract_api_1.Contract {
184
190
  * @param {...any[]} args - Additional arguments
185
191
  * @return {Promise<M>} Promise resolving to the updated model
186
192
  */
187
- async update(ctx, model, ...args) {
188
- const { log, ctxArgs } = (await this.logCtx([...args, ctx], db_decorators_1.OperationKeys.UPDATE, true)).for(this.update);
193
+ async update(context, model, ...args) {
194
+ const { log, ctxArgs, ctx } = (await this.logCtx([...args, context], db_decorators_1.OperationKeys.UPDATE, true)).for(this.update);
189
195
  if (typeof model === "string")
190
196
  model = this.deserialize(model);
191
197
  log.info(`Updating model: ${JSON.stringify(model)}`);
192
198
  const transient = this.getTransientData(ctx);
193
199
  log.info(`Merging transient data...`);
194
200
  model = decorator_validation_1.Model.merge(model, transient, this.clazz);
195
- return this.repo.update(model, ...ctxArgs);
201
+ const updated = await this.repo.update(model, ...ctxArgs);
202
+ const result = new this.clazz(decorator_validation_1.Model.segregate(updated).model);
203
+ return result;
196
204
  }
197
205
  /**
198
206
  * @description Deletes a single model from the state database
@@ -219,7 +227,9 @@ class FabricCrudContract extends fabric_contract_api_1.Contract {
219
227
  const { ctxArgs } = (await this.logCtx([...args, ctx], db_decorators_1.BulkCrudOperationKeys.DELETE_ALL, true)).for(this.deleteAll);
220
228
  if (typeof keys === "string")
221
229
  keys = JSON.parse(keys);
222
- return this.repo.deleteAll(keys, ...ctxArgs);
230
+ const deleted = await this.repo.deleteAll(keys, ...ctxArgs);
231
+ const result = deleted.map((c) => new this.clazz(decorator_validation_1.Model.segregate(c).model));
232
+ return result;
223
233
  }
224
234
  /**
225
235
  * @description Reads multiple models from the state database
@@ -243,14 +253,22 @@ class FabricCrudContract extends fabric_contract_api_1.Contract {
243
253
  * @param {...any[]} args - Additional arguments
244
254
  * @return {Promise<M[]>} Promise resolving to the updated models
245
255
  */
246
- async updateAll(ctx, models, ...args) {
247
- const { log, ctxArgs } = (await this.logCtx([...args, ctx], db_decorators_1.BulkCrudOperationKeys.UPDATE_ALL, true)).for(this.updateAll);
256
+ async updateAll(context, models, ...args) {
257
+ const { log, ctxArgs, ctx } = (await this.logCtx([...args, context], db_decorators_1.BulkCrudOperationKeys.UPDATE_ALL, true)).for(this.updateAll);
248
258
  if (typeof models === "string")
249
259
  models = JSON.parse(models)
250
260
  .map((m) => this.deserialize(m))
251
261
  .map((m) => new this.clazz(m));
252
- log.info(`updating ${models.length} entries to the table`);
253
- return this.repo.updateAll(models, ...ctxArgs);
262
+ const transient = this.getTransientData(ctx);
263
+ log.info(`Merging transient data...`);
264
+ models = models.map((m, i) => {
265
+ const t = Array.isArray(transient) ? transient[i] : transient;
266
+ return decorator_validation_1.Model.merge(m, t || {}, this.clazz);
267
+ });
268
+ log.info(`adding ${models.length} entries to the table`);
269
+ const updated = await this.repo.updateAll(models, ...ctxArgs);
270
+ const result = updated.map((c) => new this.clazz(decorator_validation_1.Model.segregate(c).model));
271
+ return result;
254
272
  }
255
273
  /**
256
274
  * @description Executes a query with the specified conditions and options.
@@ -258,6 +276,7 @@ class FabricCrudContract extends fabric_contract_api_1.Contract {
258
276
  * @param {Condition<M>} condition - The condition to filter records.
259
277
  * @param orderBy - The field to order results by.
260
278
  * @param {OrderDirection} [order=OrderDirection.ASC] - The sort direction.
279
+ * @param {OrderDirection} [order=OrderDirection.ASC] - The sort direction.
261
280
  * @param {number} [limit] - Optional maximum number of results to return.
262
281
  * @param {number} [skip] - Optional number of results to skip.
263
282
  * @return {Promise<M[]>} The query results as model instances.
@@ -286,7 +305,7 @@ class FabricCrudContract extends fabric_contract_api_1.Contract {
286
305
  return FabricCrudContract.serializer.deserialize(str);
287
306
  }
288
307
  async init(ctx) {
289
- const { log, ctxArgs } = (await this.logCtx([ctx], core_1.PersistenceKeys.INITIALIZATION, true)).for(this.init);
308
+ const { log } = (await this.logCtx([ctx], core_1.PersistenceKeys.INITIALIZATION, true)).for(this.init);
290
309
  log.info(`Running contract ${this.getName()} initialization...`);
291
310
  this.initialized = true;
292
311
  log.info(`Contract initialization completed.`);
@@ -300,8 +319,6 @@ class FabricCrudContract extends fabric_contract_api_1.Contract {
300
319
  package: version_1.PACKAGE_NAME,
301
320
  };
302
321
  }
303
- // export const VERSION = "0.1.119";
304
- // export const PACKAGE_NAME = "@decaf-ts/for-fabric";
305
322
  /**
306
323
  * @description Creates multiple models in the state database
307
324
  * @summary Delegates to the repository's createAll method
@@ -310,14 +327,22 @@ class FabricCrudContract extends fabric_contract_api_1.Contract {
310
327
  * @param {...any[]} args - Additional arguments
311
328
  * @return {Promise<M[]>} Promise resolving to the created models
312
329
  */
313
- async createAll(ctx, models, ...args) {
314
- const { log, ctxArgs } = (await this.logCtx([...args, ctx], db_decorators_1.BulkCrudOperationKeys.CREATE_ALL, true)).for(this.createAll);
330
+ async createAll(context, models, ...args) {
331
+ const { log, ctxArgs, ctx } = (await this.logCtx([...args, context], db_decorators_1.BulkCrudOperationKeys.CREATE_ALL, true)).for(this.createAll);
315
332
  if (typeof models === "string")
316
333
  models = JSON.parse(models)
317
334
  .map((m) => this.deserialize(m))
318
335
  .map((m) => new this.clazz(m));
336
+ const transient = this.getTransientData(ctx);
337
+ log.info(`Merging transient data...`);
338
+ models = models.map((m, i) => {
339
+ const t = Array.isArray(transient) ? transient[i] : transient;
340
+ return decorator_validation_1.Model.merge(m, t || {}, this.clazz);
341
+ });
319
342
  log.info(`adding ${models.length} entries to the table`);
320
- return this.repo.createAll(models, ...ctxArgs);
343
+ const created = await this.repo.createAll(models, ...ctxArgs);
344
+ const result = created.map((c) => new this.clazz(decorator_validation_1.Model.segregate(c).model));
345
+ return result;
321
346
  }
322
347
  logCtx(args, operation, allowCreate = false) {
323
348
  const ctx = args.pop();
@@ -93,7 +93,7 @@ export declare abstract class FabricCrudContract<M extends Model> extends Contra
93
93
  * @param {...any[]} args - Additional arguments
94
94
  * @return {Promise<M>} Promise resolving to the created model
95
95
  */
96
- create(ctx: Ctx | FabricContractContext, model: string | M, ...args: any[]): Promise<string | M>;
96
+ create(context: Ctx | FabricContractContext, model: string | M, ...args: any[]): Promise<string | M>;
97
97
  /**
98
98
  * @description Reads a single model from the state database
99
99
  * @summary Delegates to the repository's read method
@@ -103,7 +103,7 @@ export declare abstract class FabricCrudContract<M extends Model> extends Contra
103
103
  * @return {Promise<M>} Promise resolving to the retrieved model
104
104
  */
105
105
  read(ctx: Ctx | FabricContractContext, key: PrimaryKeyType | string, ...args: any[]): Promise<M | string>;
106
- protected getTransientData(ctx: Ctx | FabricContractContext): any;
106
+ protected getTransientData(ctx: FabricContractContext): any;
107
107
  /**
108
108
  * @description Updates a single model in the state database
109
109
  * @summary Delegates to the repository's update method
@@ -112,7 +112,7 @@ export declare abstract class FabricCrudContract<M extends Model> extends Contra
112
112
  * @param {...any[]} args - Additional arguments
113
113
  * @return {Promise<M>} Promise resolving to the updated model
114
114
  */
115
- update(ctx: Ctx | FabricContractContext, model: string | M, ...args: any[]): Promise<string | M>;
115
+ update(context: Ctx | FabricContractContext, model: string | M, ...args: any[]): Promise<string | M>;
116
116
  /**
117
117
  * @description Deletes a single model from the state database
118
118
  * @summary Delegates to the repository's delete method
@@ -148,13 +148,14 @@ export declare abstract class FabricCrudContract<M extends Model> extends Contra
148
148
  * @param {...any[]} args - Additional arguments
149
149
  * @return {Promise<M[]>} Promise resolving to the updated models
150
150
  */
151
- updateAll(ctx: Ctx | FabricContractContext, models: string | M[], ...args: any[]): Promise<string | M[]>;
151
+ updateAll(context: Ctx | FabricContractContext, models: string | M[], ...args: any[]): Promise<string | M[]>;
152
152
  /**
153
153
  * @description Executes a query with the specified conditions and options.
154
154
  * @summary Provides a simplified way to query the database with common query parameters.
155
155
  * @param {Condition<M>} condition - The condition to filter records.
156
156
  * @param orderBy - The field to order results by.
157
157
  * @param {OrderDirection} [order=OrderDirection.ASC] - The sort direction.
158
+ * @param {OrderDirection} [order=OrderDirection.ASC] - The sort direction.
158
159
  * @param {number} [limit] - Optional maximum number of results to return.
159
160
  * @param {number} [skip] - Optional number of results to skip.
160
161
  * @return {Promise<M[]>} The query results as model instances.
@@ -182,7 +183,7 @@ export declare abstract class FabricCrudContract<M extends Model> extends Contra
182
183
  * @param {...any[]} args - Additional arguments
183
184
  * @return {Promise<M[]>} Promise resolving to the created models
184
185
  */
185
- createAll(ctx: Ctx | FabricContractContext, models: string | M[], ...args: any[]): Promise<string | M[]>;
186
+ createAll(context: Ctx | FabricContractContext, models: string | M[], ...args: any[]): Promise<string | M[]>;
186
187
  protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD): FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>;
187
188
  protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: false): FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>;
188
189
  protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: true): Promise<FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>>;
@@ -1 +1 @@
1
- {"version":3,"file":"crud-contract.js","sourceRoot":"","sources":["../../../src/contracts/crud/crud-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud-contract.js","sourceRoot":"","sources":["../../../src/contracts/crud/crud-contract.ts"],"names":[],"mappings":"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"}
@@ -21,8 +21,15 @@ export interface FabricContractFlags extends FabricFlags {
21
21
  identity: ClientIdentity;
22
22
  roles?: string[];
23
23
  cert: string;
24
- segregateWrite?: Record<string, any>;
25
- segregateRead: string | string[];
24
+ segregateWrite?: Record<string, string[]>;
25
+ segregateRead?: string | string[];
26
+ forceSegregateWrite?: boolean;
27
+ fullySegregated?: boolean;
28
+ sequenceSegregation?: Map<string, {
29
+ fullySegregated: boolean;
30
+ collections: string[];
31
+ }>;
32
+ segregatedData?: Record<string, Record<string, any>>;
26
33
  /**
27
34
  * @description Logger instance for the contract
28
35
  */
@@ -225,19 +225,16 @@ export class FabricClientAdapter extends Adapter {
225
225
  throw new InternalError("Ids and models must have the same length");
226
226
  //HERE!
227
227
  const ctxArgs = [...args];
228
- let transient = ctxArgs.shift();
228
+ const transient = ctxArgs.shift();
229
229
  const { log, ctx } = this.logCtx(ctxArgs, this.createAll);
230
230
  const tableName = Model.tableName(clazz);
231
231
  log.info(`adding ${ids.length} entries to ${tableName} table`);
232
232
  log.verbose(`pks: ${ids}`);
233
- transient =
234
- transient &&
235
- (Array.isArray(transient) ? transient : Object.keys(transient)).length
236
- ? { [tableName]: transient }
237
- : {};
233
+ const hasTransient = transient && Object.keys(transient).length > 0;
234
+ const transientPayload = hasTransient ? { [tableName]: transient } : {};
238
235
  const result = await this.submitTransaction(ctx, BulkCrudOperationKeys.CREATE_ALL, [
239
236
  JSON.stringify(models.map((m) => this.serializer.serialize(m, clazz.name))),
240
- ], transient, ctx.getOrUndefined("endorsingOrgs"), clazz.name);
237
+ ], transientPayload, this.getEndorsingOrganizations(ctx), clazz.name);
241
238
  try {
242
239
  return JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
243
240
  }