@decaf-ts/for-fabric 0.1.2 → 0.1.4
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.
- package/dist/for-fabric.cjs +1 -1
- package/dist/for-fabric.cjs.map +1 -1
- package/dist/for-fabric.js +1 -1
- package/dist/for-fabric.js.map +1 -1
- package/lib/client/FabricClientAdapter.cjs +94 -81
- package/lib/client/FabricClientAdapter.d.ts +24 -33
- package/lib/client/FabricClientAdapter.js.map +1 -1
- package/lib/client/FabricClientDispatch.cjs +14 -5
- package/lib/client/FabricClientDispatch.d.ts +7 -5
- package/lib/client/FabricClientDispatch.js.map +1 -1
- package/lib/client/FabricClientRepository.cjs +4 -137
- package/lib/client/FabricClientRepository.d.ts +6 -78
- package/lib/client/FabricClientRepository.js.map +1 -1
- package/lib/client/erc20/FabricERC20ClientRepository.cjs +17 -17
- package/lib/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
- package/lib/client/erc20/FabricERC20ClientRepository.js.map +1 -1
- package/lib/client/logging.cjs +1 -3
- package/lib/client/logging.js.map +1 -1
- package/lib/client/services/FabricEnrollmentService.cjs +3 -3
- package/lib/client/services/FabricEnrollmentService.d.ts +2 -2
- package/lib/client/services/FabricEnrollmentService.js.map +1 -1
- package/lib/contracts/ContractAdapter.cjs +204 -115
- package/lib/contracts/ContractAdapter.d.ts +26 -34
- package/lib/contracts/ContractAdapter.js.map +1 -1
- package/lib/contracts/ContractContext.cjs +1 -9
- package/lib/contracts/ContractContext.d.ts +0 -6
- package/lib/contracts/ContractContext.js.map +1 -1
- package/lib/contracts/ContractPrivateDataAdapter.cjs +429 -288
- package/lib/contracts/ContractPrivateDataAdapter.d.ts +0 -76
- package/lib/contracts/ContractPrivateDataAdapter.js.map +1 -1
- package/lib/contracts/FabricConstruction.cjs +3 -3
- package/lib/contracts/FabricConstruction.d.ts +9 -8
- package/lib/contracts/FabricConstruction.js.map +1 -1
- package/lib/contracts/FabricContractRepository.cjs +7 -202
- package/lib/contracts/FabricContractRepository.d.ts +5 -68
- package/lib/contracts/FabricContractRepository.js.map +1 -1
- package/lib/contracts/FabricContractRepositoryObservableHandler.cjs +4 -1
- package/lib/contracts/FabricContractRepositoryObservableHandler.d.ts +4 -4
- package/lib/contracts/FabricContractRepositoryObservableHandler.js.map +1 -1
- package/lib/contracts/FabricContractSequence.cjs +39 -60
- package/lib/contracts/FabricContractSequence.d.ts +29 -41
- package/lib/contracts/FabricContractSequence.js.map +1 -1
- package/lib/contracts/FabricContractStatement.cjs +6 -6
- package/lib/contracts/FabricContractStatement.d.ts +4 -6
- package/lib/contracts/FabricContractStatement.js.map +1 -1
- package/lib/contracts/crud/crud-contract.cjs +74 -44
- package/lib/contracts/crud/crud-contract.d.ts +7 -11
- package/lib/contracts/crud/crud-contract.js.map +1 -1
- package/lib/contracts/crud/serialized-crud-contract.cjs +12 -21
- package/lib/contracts/crud/serialized-crud-contract.d.ts +3 -11
- package/lib/contracts/crud/serialized-crud-contract.js.map +1 -1
- package/lib/contracts/erc20/erc20contract.cjs +73 -67
- package/lib/contracts/erc20/erc20contract.d.ts +13 -12
- package/lib/contracts/erc20/erc20contract.js.map +1 -1
- package/lib/contracts/logging.cjs +3 -9
- package/lib/contracts/logging.d.ts +1 -2
- package/lib/contracts/logging.js.map +1 -1
- package/lib/contracts/private-data.cjs +202 -118
- package/lib/contracts/private-data.d.ts +0 -16
- package/lib/contracts/private-data.js.map +1 -1
- package/lib/contracts/types.d.ts +1 -1
- package/lib/esm/client/FabricClientAdapter.d.ts +24 -33
- package/lib/esm/client/FabricClientAdapter.js +90 -78
- package/lib/esm/client/FabricClientAdapter.js.map +1 -1
- package/lib/esm/client/FabricClientDispatch.d.ts +7 -5
- package/lib/esm/client/FabricClientDispatch.js +17 -8
- package/lib/esm/client/FabricClientDispatch.js.map +1 -1
- package/lib/esm/client/FabricClientRepository.d.ts +6 -78
- package/lib/esm/client/FabricClientRepository.js +4 -137
- package/lib/esm/client/FabricClientRepository.js.map +1 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js +17 -17
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -1
- package/lib/esm/client/logging.js +1 -3
- package/lib/esm/client/logging.js.map +1 -1
- package/lib/esm/client/services/FabricEnrollmentService.d.ts +2 -2
- package/lib/esm/client/services/FabricEnrollmentService.js +3 -3
- package/lib/esm/client/services/FabricEnrollmentService.js.map +1 -1
- package/lib/esm/contracts/ContractAdapter.d.ts +26 -34
- package/lib/esm/contracts/ContractAdapter.js +205 -116
- package/lib/esm/contracts/ContractAdapter.js.map +1 -1
- package/lib/esm/contracts/ContractContext.d.ts +0 -6
- package/lib/esm/contracts/ContractContext.js +1 -9
- package/lib/esm/contracts/ContractContext.js.map +1 -1
- package/lib/esm/contracts/ContractPrivateDataAdapter.d.ts +0 -76
- package/lib/esm/contracts/ContractPrivateDataAdapter.js +430 -285
- package/lib/esm/contracts/ContractPrivateDataAdapter.js.map +1 -1
- package/lib/esm/contracts/FabricConstruction.d.ts +9 -8
- package/lib/esm/contracts/FabricConstruction.js +3 -3
- package/lib/esm/contracts/FabricConstruction.js.map +1 -1
- package/lib/esm/contracts/FabricContractRepository.d.ts +5 -68
- package/lib/esm/contracts/FabricContractRepository.js +7 -202
- package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.d.ts +4 -4
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +5 -2
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js.map +1 -1
- package/lib/esm/contracts/FabricContractSequence.d.ts +29 -41
- package/lib/esm/contracts/FabricContractSequence.js +40 -61
- package/lib/esm/contracts/FabricContractSequence.js.map +1 -1
- package/lib/esm/contracts/FabricContractStatement.d.ts +4 -6
- package/lib/esm/contracts/FabricContractStatement.js +7 -7
- package/lib/esm/contracts/FabricContractStatement.js.map +1 -1
- package/lib/esm/contracts/crud/crud-contract.d.ts +7 -11
- package/lib/esm/contracts/crud/crud-contract.js +75 -45
- package/lib/esm/contracts/crud/crud-contract.js.map +1 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +3 -11
- package/lib/esm/contracts/crud/serialized-crud-contract.js +12 -21
- package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -1
- package/lib/esm/contracts/erc20/erc20contract.d.ts +13 -12
- package/lib/esm/contracts/erc20/erc20contract.js +73 -67
- package/lib/esm/contracts/erc20/erc20contract.js.map +1 -1
- package/lib/esm/contracts/logging.d.ts +1 -2
- package/lib/esm/contracts/logging.js +3 -9
- package/lib/esm/contracts/logging.js.map +1 -1
- package/lib/esm/contracts/private-data.d.ts +0 -16
- package/lib/esm/contracts/private-data.js +203 -111
- package/lib/esm/contracts/private-data.js.map +1 -1
- package/lib/esm/contracts/types.d.ts +1 -1
- package/lib/esm/shared/decorators.d.ts +14 -4
- package/lib/esm/shared/decorators.js +142 -42
- package/lib/esm/shared/decorators.js.map +1 -1
- package/lib/esm/shared/errors.js +2 -2
- package/lib/esm/shared/errors.js.map +1 -1
- package/lib/esm/shared/events.d.ts +1 -5
- package/lib/esm/shared/events.js.map +1 -1
- package/lib/esm/shared/model/Sequence.d.ts +14 -0
- package/lib/esm/shared/model/Sequence.js +33 -0
- package/lib/esm/shared/model/Sequence.js.map +1 -0
- package/lib/esm/shared/model/index.d.ts +2 -0
- package/lib/esm/shared/model/index.js +2 -0
- package/lib/esm/shared/model/index.js.map +1 -1
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/shared/decorators.cjs +148 -41
- package/lib/shared/decorators.d.ts +14 -4
- package/lib/shared/decorators.js.map +1 -1
- package/lib/shared/errors.cjs +2 -2
- package/lib/shared/errors.js.map +1 -1
- package/lib/shared/events.d.ts +1 -5
- package/lib/shared/events.js.map +1 -1
- package/lib/shared/model/Sequence.cjs +36 -0
- package/lib/shared/model/Sequence.d.ts +14 -0
- package/lib/shared/model/Sequence.js.map +1 -0
- package/lib/shared/model/index.cjs +2 -0
- package/lib/shared/model/index.d.ts +2 -0
- package/lib/shared/model/index.js.map +1 -1
- package/lib/version.cjs +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +2 -3
- package/lib/client/services/LoggedService.cjs +0 -47
- package/lib/client/services/LoggedService.d.ts +0 -42
- package/lib/client/services/LoggedService.js.map +0 -1
- package/lib/esm/client/services/LoggedService.d.ts +0 -42
- package/lib/esm/client/services/LoggedService.js +0 -43
- package/lib/esm/client/services/LoggedService.js.map +0 -1
|
@@ -11,15 +11,18 @@ import { CouchDBAdapter, CouchDBKeys, } from "@decaf-ts/for-couchdb";
|
|
|
11
11
|
import { Client } from "@grpc/grpc-js";
|
|
12
12
|
import * as grpc from "@grpc/grpc-js";
|
|
13
13
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
14
|
-
import { debug,
|
|
14
|
+
import { debug, final, Logging } from "@decaf-ts/logging";
|
|
15
15
|
import { connect, } from "@hyperledger/fabric-gateway";
|
|
16
16
|
import { getIdentity, getSigner } from "./fabric-fs.js";
|
|
17
17
|
import { InternalError, OperationKeys, SerializationError, BulkCrudOperationKeys, } from "@decaf-ts/db-decorators";
|
|
18
|
-
import {
|
|
18
|
+
import { Context } from "@decaf-ts/db-decorators";
|
|
19
|
+
import { Adapter, PersistenceKeys, } from "@decaf-ts/core";
|
|
19
20
|
import { FabricClientRepository } from "./FabricClientRepository.js";
|
|
20
21
|
import { FabricFlavour } from "./../shared/constants.js";
|
|
21
22
|
import { ClientSerializer } from "./../shared/ClientSerializer.js";
|
|
22
23
|
import { HSMSignerFactoryCustom } from "./fabric-hsm.js";
|
|
24
|
+
export class FabricClientContext extends Context {
|
|
25
|
+
}
|
|
23
26
|
/**
|
|
24
27
|
* @description Adapter for interacting with Hyperledger Fabric networks
|
|
25
28
|
* @summary The FabricAdapter extends CouchDBAdapter to provide a seamless interface for interacting with Hyperledger Fabric networks.
|
|
@@ -77,18 +80,7 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
77
80
|
*/
|
|
78
81
|
static { this.decoder = new TextDecoder("utf8"); }
|
|
79
82
|
static { this.serializer = new ClientSerializer(); }
|
|
80
|
-
|
|
81
|
-
* @description Static logger instance for the FabricAdapter class
|
|
82
|
-
*/
|
|
83
|
-
static { this.log = new MiniLogger(FabricClientAdapter.name); }
|
|
84
|
-
/**
|
|
85
|
-
* @description Gets the logger instance for this adapter
|
|
86
|
-
* @summary Returns the static logger instance for the FabricAdapter class
|
|
87
|
-
* @return {Logger} The logger instance
|
|
88
|
-
*/
|
|
89
|
-
get log() {
|
|
90
|
-
return FabricClientAdapter.log;
|
|
91
|
-
}
|
|
83
|
+
static { this.log = Logging.for(FabricClientAdapter); }
|
|
92
84
|
/**
|
|
93
85
|
* @description Creates a new FabricAdapter instance
|
|
94
86
|
* @summary Initializes a new adapter for interacting with a Hyperledger Fabric network
|
|
@@ -99,6 +91,12 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
99
91
|
super(config, FabricFlavour, alias);
|
|
100
92
|
this.serializer = FabricClientAdapter.serializer;
|
|
101
93
|
}
|
|
94
|
+
async context(operation, overrides, model, ...args) {
|
|
95
|
+
const log = this.log.for(this.context);
|
|
96
|
+
log.debug(`Creating new context for ${operation} operation on ${Array.isArray(model) ? model.map((m) => m.name) : model.name} model with flag overrides: ${JSON.stringify(overrides)}`);
|
|
97
|
+
const flags = await this.flags(operation, model, overrides, ...args);
|
|
98
|
+
return new FabricClientContext().accumulate(flags);
|
|
99
|
+
}
|
|
102
100
|
/**
|
|
103
101
|
* @description Decodes a Uint8Array to a string
|
|
104
102
|
* @summary Converts binary data received from Fabric to a string using UTF-8 encoding
|
|
@@ -120,15 +118,16 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
120
118
|
* @param {Record<string, any>} transient - Transient data for the transaction
|
|
121
119
|
* @return {Promise<Array<Record<string, any>>>} Promise resolving to the created records
|
|
122
120
|
*/
|
|
123
|
-
async createAll(
|
|
124
|
-
const log = this.log.for(this.createAll);
|
|
121
|
+
async createAll(clazz, ids, models, ...args) {
|
|
125
122
|
if (ids.length !== models.length)
|
|
126
|
-
throw new InternalError(
|
|
127
|
-
|
|
128
|
-
|
|
123
|
+
throw new InternalError("Ids and models must have the same length");
|
|
124
|
+
const ctxArgs = [...args];
|
|
125
|
+
const transient = ctxArgs.shift();
|
|
126
|
+
const { log } = this.logCtx(ctxArgs, this.createAll);
|
|
127
|
+
const tableName = Model.tableName(clazz);
|
|
129
128
|
log.info(`adding ${ids.length} entries to ${tableName} table`);
|
|
130
129
|
log.verbose(`pks: ${ids}`);
|
|
131
|
-
const result = await this.submitTransaction(BulkCrudOperationKeys.CREATE_ALL, [ids, models.map((m) => this.serializer.serialize(m,
|
|
130
|
+
const result = await this.submitTransaction(BulkCrudOperationKeys.CREATE_ALL, [ids, models.map((m) => this.serializer.serialize(m, clazz.name))], transient, undefined, tableName);
|
|
132
131
|
try {
|
|
133
132
|
return JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
|
|
134
133
|
}
|
|
@@ -143,13 +142,12 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
143
142
|
* @param {string[] | number[]} ids - Array of record identifiers to read
|
|
144
143
|
* @return {Promise<Array<Record<string, any>>>} Promise resolving to the retrieved records
|
|
145
144
|
*/
|
|
146
|
-
async readAll(
|
|
147
|
-
const log = this.
|
|
148
|
-
|
|
149
|
-
tableName = tableName.name;
|
|
145
|
+
async readAll(clazz, ids, ...args) {
|
|
146
|
+
const { log } = this.logCtx(args, this.readAll);
|
|
147
|
+
const tableName = Model.tableName(clazz);
|
|
150
148
|
log.info(`reading ${ids.length} entries to ${tableName} table`);
|
|
151
149
|
log.verbose(`pks: ${ids}`);
|
|
152
|
-
const result = await this.
|
|
150
|
+
const result = await this.evaluateTransaction(BulkCrudOperationKeys.READ_ALL, [ids], undefined, undefined, tableName);
|
|
153
151
|
try {
|
|
154
152
|
return JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
|
|
155
153
|
}
|
|
@@ -166,15 +164,16 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
166
164
|
* @param {Record<string, any>} transient - Transient data for the transaction
|
|
167
165
|
* @return {Promise<Array<Record<string, any>>>} Promise resolving to the updated records
|
|
168
166
|
*/
|
|
169
|
-
async updateAll(
|
|
170
|
-
const log = this.log.for(this.updateAll);
|
|
167
|
+
async updateAll(clazz, ids, models, ...args) {
|
|
171
168
|
if (ids.length !== models.length)
|
|
172
|
-
throw new InternalError(
|
|
173
|
-
|
|
174
|
-
|
|
169
|
+
throw new InternalError("Ids and models must have the same length");
|
|
170
|
+
const ctxArgs = [...args];
|
|
171
|
+
const transient = ctxArgs.shift();
|
|
172
|
+
const { log } = this.logCtx(ctxArgs, this.updateAll);
|
|
173
|
+
const tableName = Model.tableName(clazz);
|
|
175
174
|
log.info(`updating ${ids.length} entries to ${tableName} table`);
|
|
176
175
|
log.verbose(`pks: ${ids}`);
|
|
177
|
-
const result = await this.submitTransaction(BulkCrudOperationKeys.UPDATE_ALL, [ids, models.map((m) => this.serializer.serialize(m,
|
|
176
|
+
const result = await this.submitTransaction(BulkCrudOperationKeys.UPDATE_ALL, [ids, models.map((m) => this.serializer.serialize(m, clazz.name))], transient, undefined, clazz.name);
|
|
178
177
|
try {
|
|
179
178
|
return JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
|
|
180
179
|
}
|
|
@@ -190,13 +189,12 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
190
189
|
* @param {Serializer<any>} serializer - Serializer for the model data
|
|
191
190
|
* @return {Promise<Array<Record<string, any>>>} Promise resolving to the deleted records
|
|
192
191
|
*/
|
|
193
|
-
async deleteAll(
|
|
194
|
-
const log =
|
|
195
|
-
|
|
196
|
-
tableName = tableName.name;
|
|
192
|
+
async deleteAll(clazz, ids, ...args) {
|
|
193
|
+
const { log } = Adapter.logCtx(args, this.deleteAll);
|
|
194
|
+
const tableName = Model.tableName(clazz);
|
|
197
195
|
log.info(`deleting ${ids.length} entries to ${tableName} table`);
|
|
198
196
|
log.verbose(`pks: ${ids}`);
|
|
199
|
-
const result = await this.submitTransaction(BulkCrudOperationKeys.DELETE_ALL, [ids], undefined, undefined,
|
|
197
|
+
const result = await this.submitTransaction(BulkCrudOperationKeys.DELETE_ALL, [ids], undefined, undefined, clazz.name);
|
|
200
198
|
try {
|
|
201
199
|
return JSON.parse(this.decode(result)).map((r) => JSON.parse(r));
|
|
202
200
|
}
|
|
@@ -213,8 +211,8 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
213
211
|
* @param pk - The primary key property name
|
|
214
212
|
* @return The prepared data
|
|
215
213
|
*/
|
|
216
|
-
prepare(model,
|
|
217
|
-
const log = this.
|
|
214
|
+
prepare(model, ...args) {
|
|
215
|
+
const { log } = this.logCtx(args, this.prepare);
|
|
218
216
|
const split = Model.segregate(model);
|
|
219
217
|
if (model[PersistenceKeys.METADATA]) {
|
|
220
218
|
log.silly(`Passing along persistence metadata for ${model[PersistenceKeys.METADATA]}`);
|
|
@@ -227,7 +225,7 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
227
225
|
}
|
|
228
226
|
return {
|
|
229
227
|
record: split.model,
|
|
230
|
-
id: model[pk],
|
|
228
|
+
id: model[Model.pk(model.constructor)],
|
|
231
229
|
transient: split.transient,
|
|
232
230
|
};
|
|
233
231
|
}
|
|
@@ -243,31 +241,33 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
243
241
|
* @param [transient] - Transient properties to reattach
|
|
244
242
|
* @return {M} The reconstructed model instance
|
|
245
243
|
*/
|
|
246
|
-
revert(obj, clazz,
|
|
247
|
-
const log = this.
|
|
244
|
+
revert(obj, clazz, id, transient, ...args) {
|
|
245
|
+
const { log, ctx } = this.logCtx(args, this.revert);
|
|
248
246
|
const ob = {};
|
|
247
|
+
const pk = Model.pk(clazz);
|
|
249
248
|
ob[pk] = id;
|
|
250
|
-
const m =
|
|
249
|
+
const m = new clazz(ob);
|
|
251
250
|
log.silly(`Rebuilding model ${m.constructor.name} id ${id}`);
|
|
252
251
|
const metadata = obj[PersistenceKeys.METADATA];
|
|
253
252
|
const result = Object.keys(m).reduce((accum, key) => {
|
|
254
253
|
accum[key] = obj[key];
|
|
255
254
|
return accum;
|
|
256
255
|
}, m);
|
|
257
|
-
if (transient) {
|
|
256
|
+
if (ctx.get("rebuildWithTransient") && transient) {
|
|
258
257
|
log.verbose(`re-adding transient properties: ${Object.keys(transient).join(", ")}`);
|
|
259
258
|
Object.entries(transient).forEach(([key, val]) => {
|
|
260
|
-
if (key in result
|
|
259
|
+
if (key in result)
|
|
261
260
|
throw new InternalError(`Transient property ${key} already exists on model ${m.constructor.name}. should be impossible`);
|
|
262
261
|
result[key] = val;
|
|
263
262
|
});
|
|
264
263
|
}
|
|
265
264
|
if (metadata) {
|
|
265
|
+
// TODO move to couchdb
|
|
266
266
|
log.silly(`Passing along ${this.flavour} persistence metadata for ${m.constructor.name} id ${id}: ${metadata}`);
|
|
267
267
|
Object.defineProperty(result, PersistenceKeys.METADATA, {
|
|
268
268
|
enumerable: false,
|
|
269
|
-
configurable:
|
|
270
|
-
writable:
|
|
269
|
+
configurable: true,
|
|
270
|
+
writable: true,
|
|
271
271
|
value: metadata,
|
|
272
272
|
});
|
|
273
273
|
}
|
|
@@ -292,13 +292,14 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
292
292
|
* @param {Record<string, any>} transient - Transient data for the transaction
|
|
293
293
|
* @return {Promise<Record<string, any>>} Promise resolving to the created record
|
|
294
294
|
*/
|
|
295
|
-
async create(
|
|
296
|
-
const
|
|
297
|
-
|
|
298
|
-
|
|
295
|
+
async create(clazz, id, model, ...args) {
|
|
296
|
+
const ctxArgs = [...args];
|
|
297
|
+
const transient = ctxArgs.shift() || {};
|
|
298
|
+
const { log } = this.logCtx(ctxArgs, this.create);
|
|
299
|
+
const tableName = Model.tableName(clazz);
|
|
299
300
|
log.verbose(`adding entry to ${tableName} table`);
|
|
300
301
|
log.debug(`pk: ${id}`);
|
|
301
|
-
const result = await this.submitTransaction(OperationKeys.CREATE, [this.serializer.serialize(model,
|
|
302
|
+
const result = await this.submitTransaction(OperationKeys.CREATE, [this.serializer.serialize(model, clazz.name)], transient, undefined, clazz.name);
|
|
302
303
|
return this.serializer.deserialize(this.decode(result));
|
|
303
304
|
}
|
|
304
305
|
/**
|
|
@@ -308,21 +309,22 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
308
309
|
* @param {string | number} id - The record identifier
|
|
309
310
|
* @return {Promise<Record<string, any>>} Promise resolving to the retrieved record
|
|
310
311
|
*/
|
|
311
|
-
async read(
|
|
312
|
-
const log = this.
|
|
313
|
-
|
|
314
|
-
tableName = tableName.name;
|
|
312
|
+
async read(clazz, id, ...args) {
|
|
313
|
+
const { log } = this.logCtx(args, this.readAll);
|
|
314
|
+
const tableName = Model.tableName(clazz);
|
|
315
315
|
log.verbose(`reading entry from ${tableName} table`);
|
|
316
316
|
log.debug(`pk: ${id}`);
|
|
317
|
-
const result = await this.evaluateTransaction(OperationKeys.READ, [id.toString()], undefined, undefined,
|
|
317
|
+
const result = await this.evaluateTransaction(OperationKeys.READ, [id.toString()], undefined, undefined, clazz.name);
|
|
318
318
|
return this.serializer.deserialize(this.decode(result));
|
|
319
319
|
}
|
|
320
|
-
updatePrefix(
|
|
320
|
+
updatePrefix(clazz, id, model, ...args) {
|
|
321
|
+
const tableName = Model.tableName(clazz);
|
|
322
|
+
const { ctxArgs } = this.logCtx(args, this.updatePrefix);
|
|
321
323
|
const record = {};
|
|
322
324
|
record[CouchDBKeys.TABLE] = tableName;
|
|
323
325
|
record[CouchDBKeys.ID] = this.generateId(tableName, id);
|
|
324
326
|
Object.assign(record, model);
|
|
325
|
-
return [tableName, id, record];
|
|
327
|
+
return [tableName, id, record, ...ctxArgs];
|
|
326
328
|
}
|
|
327
329
|
/**
|
|
328
330
|
* @description Updates a single record
|
|
@@ -333,13 +335,14 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
333
335
|
* @param {Record<string, any>} transient - Transient data for the transaction
|
|
334
336
|
* @return {Promise<Record<string, any>>} Promise resolving to the updated record
|
|
335
337
|
*/
|
|
336
|
-
async update(
|
|
337
|
-
const
|
|
338
|
-
|
|
339
|
-
|
|
338
|
+
async update(clazz, id, model, ...args) {
|
|
339
|
+
const ctxArgs = [...args];
|
|
340
|
+
const transient = ctxArgs.shift() || {};
|
|
341
|
+
const { log } = this.logCtx(ctxArgs, this.updateAll);
|
|
342
|
+
const tableName = Model.tableName(clazz);
|
|
340
343
|
log.verbose(`updating entry to ${tableName} table`);
|
|
341
344
|
log.debug(`pk: ${id}`);
|
|
342
|
-
const result = await this.submitTransaction(OperationKeys.UPDATE, [this.serializer.serialize(model,
|
|
345
|
+
const result = await this.submitTransaction(OperationKeys.UPDATE, [this.serializer.serialize(model, clazz.name)], transient, undefined, clazz.name);
|
|
343
346
|
return this.serializer.deserialize(this.decode(result));
|
|
344
347
|
}
|
|
345
348
|
/**
|
|
@@ -349,13 +352,12 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
349
352
|
* @param {string | number} id - The record identifier to delete
|
|
350
353
|
* @return {Promise<Record<string, any>>} Promise resolving to the deleted record
|
|
351
354
|
*/
|
|
352
|
-
async delete(
|
|
353
|
-
const log = this.
|
|
354
|
-
|
|
355
|
-
tableName = tableName.name;
|
|
355
|
+
async delete(clazz, id, ...args) {
|
|
356
|
+
const { log } = this.logCtx(args, this.delete);
|
|
357
|
+
const tableName = Model.tableName(clazz);
|
|
356
358
|
log.verbose(`deleting entry from ${tableName} table`);
|
|
357
359
|
log.debug(`pk: ${id}`);
|
|
358
|
-
const result = await this.submitTransaction(OperationKeys.DELETE, [id.toString()], undefined, undefined,
|
|
360
|
+
const result = await this.submitTransaction(OperationKeys.DELETE, [id.toString()], undefined, undefined, clazz.name);
|
|
359
361
|
return this.serializer.deserialize(this.decode(result));
|
|
360
362
|
}
|
|
361
363
|
/**
|
|
@@ -383,8 +385,17 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
383
385
|
* FabricAdapter->>FabricAdapter: Process result based on type
|
|
384
386
|
* FabricAdapter-->>Client: processed result
|
|
385
387
|
*/
|
|
386
|
-
async raw(rawInput,
|
|
387
|
-
const
|
|
388
|
+
async raw(rawInput, ...args) {
|
|
389
|
+
const ctxArgs = [...args];
|
|
390
|
+
if (typeof ctxArgs[0] === "boolean") {
|
|
391
|
+
ctxArgs.shift();
|
|
392
|
+
}
|
|
393
|
+
let tableName;
|
|
394
|
+
if (ctxArgs.length &&
|
|
395
|
+
(typeof ctxArgs[0] === "string" || typeof ctxArgs[0] === "function")) {
|
|
396
|
+
tableName = ctxArgs.shift();
|
|
397
|
+
}
|
|
398
|
+
const { log } = this.logCtx(ctxArgs, this.raw);
|
|
388
399
|
log.info(`Performing raw query on table`);
|
|
389
400
|
log.debug(`processing raw input for query: ${JSON.stringify(rawInput)}`);
|
|
390
401
|
let input;
|
|
@@ -397,7 +408,7 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
397
408
|
let transactionResult;
|
|
398
409
|
try {
|
|
399
410
|
if (typeof tableName !== "string")
|
|
400
|
-
tableName = tableName
|
|
411
|
+
tableName = tableName?.name;
|
|
401
412
|
transactionResult = await this.evaluateTransaction("query", [input], undefined, undefined, tableName);
|
|
402
413
|
}
|
|
403
414
|
catch (e) {
|
|
@@ -588,7 +599,7 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
588
599
|
* @return {Network} The Network instance
|
|
589
600
|
*/
|
|
590
601
|
static getNetwork(gateway, channelName) {
|
|
591
|
-
const log =
|
|
602
|
+
const log = Logging.for(this.getNetwork);
|
|
592
603
|
let network;
|
|
593
604
|
try {
|
|
594
605
|
log.debug(`Connecting to channel ${channelName}`);
|
|
@@ -649,7 +660,7 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
649
660
|
* FabricAdapter-->>Caller: gateway
|
|
650
661
|
*/
|
|
651
662
|
static async getConnection(client, config) {
|
|
652
|
-
const log =
|
|
663
|
+
const log = Logging.for(this.getConnection);
|
|
653
664
|
log.debug(`Retrieving Peer Identity for ${config.mspId} under ${config.certCertOrDirectoryPath}`);
|
|
654
665
|
const identity = await getIdentity(config.mspId, config.certCertOrDirectoryPath);
|
|
655
666
|
log.debug(`Retrieving signer key from ${config.keyCertOrDirectoryPath}`);
|
|
@@ -720,6 +731,7 @@ export class FabricClientAdapter extends CouchDBAdapter {
|
|
|
720
731
|
* @return {BaseError} The parsed error
|
|
721
732
|
*/
|
|
722
733
|
static parseError(err, reason) {
|
|
734
|
+
// TODO
|
|
723
735
|
return super.parseError(err, reason);
|
|
724
736
|
}
|
|
725
737
|
}
|
|
@@ -735,34 +747,34 @@ __decorate([
|
|
|
735
747
|
debug(),
|
|
736
748
|
final(),
|
|
737
749
|
__metadata("design:type", Function),
|
|
738
|
-
__metadata("design:paramtypes", [
|
|
750
|
+
__metadata("design:paramtypes", [Object, Object, Object, FabricClientContext]),
|
|
739
751
|
__metadata("design:returntype", Promise)
|
|
740
752
|
], FabricClientAdapter.prototype, "create", null);
|
|
741
753
|
__decorate([
|
|
742
754
|
debug(),
|
|
743
755
|
final(),
|
|
744
756
|
__metadata("design:type", Function),
|
|
745
|
-
__metadata("design:paramtypes", [
|
|
757
|
+
__metadata("design:paramtypes", [Object, Object, FabricClientContext]),
|
|
746
758
|
__metadata("design:returntype", Promise)
|
|
747
759
|
], FabricClientAdapter.prototype, "read", null);
|
|
748
760
|
__decorate([
|
|
749
761
|
debug(),
|
|
750
762
|
final(),
|
|
751
763
|
__metadata("design:type", Function),
|
|
752
|
-
__metadata("design:paramtypes", [
|
|
764
|
+
__metadata("design:paramtypes", [Object, Object, Object, FabricClientContext]),
|
|
753
765
|
__metadata("design:returntype", Promise)
|
|
754
766
|
], FabricClientAdapter.prototype, "update", null);
|
|
755
767
|
__decorate([
|
|
756
768
|
debug(),
|
|
757
769
|
final(),
|
|
758
770
|
__metadata("design:type", Function),
|
|
759
|
-
__metadata("design:paramtypes", [
|
|
771
|
+
__metadata("design:paramtypes", [Object, Object, FabricClientContext]),
|
|
760
772
|
__metadata("design:returntype", Promise)
|
|
761
773
|
], FabricClientAdapter.prototype, "delete", null);
|
|
762
774
|
__decorate([
|
|
763
775
|
debug(),
|
|
764
776
|
__metadata("design:type", Function),
|
|
765
|
-
__metadata("design:paramtypes", [Object,
|
|
777
|
+
__metadata("design:paramtypes", [Object, FabricClientContext]),
|
|
766
778
|
__metadata("design:returntype", Promise)
|
|
767
779
|
], FabricClientAdapter.prototype, "raw", null);
|
|
768
780
|
FabricClientAdapter.decoration();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricClientAdapter.js","sourceRoot":"","sources":["../../../src/client/FabricClientAdapter.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FabricClientAdapter.js","sourceRoot":"","sources":["../../../src/client/FabricClientAdapter.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EACL,cAAc,EACd,WAAW,GAEZ,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,KAAK,EAAmB,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE1D,OAAO,EACL,OAAO,GAOR,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,uBAAoB;AACrD,OAAO,EAEL,aAAa,EACb,aAAa,EACb,kBAAkB,EAClB,qBAAqB,GACtB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,OAAO,EAAuB,MAAM,yBAAyB,CAAC;AACvE,OAAO,EACL,OAAO,EACP,eAAe,GAGhB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,sBAAsB,EAAE,oCAAiC;AAClE,OAAO,EAAE,aAAa,EAAE,iCAA4B;AACpD,OAAO,EAAE,gBAAgB,EAAE,wCAAmC;AAE9D,OAAO,EAAE,sBAAsB,EAAE,wBAAqB;AAGtD,MAAM,OAAO,mBAAoB,SAAQ,OAAoB;CAAG;AAChE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkDG;AACH,MAAM,OAAO,mBAAoB,SAAQ,cAIxC;IACC;;OAEG;aACY,YAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,AAA1B,CAA2B;aAElC,eAAU,GAAG,IAAI,gBAAgB,EAAE,AAAzB,CAA0B;aAElC,QAAG,GAAG,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,AAAnC,CAAoC;IAKxD;;;;;OAKG;IACH,YAAY,MAAkB,EAAE,KAAc;QAC5C,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,CAAC;QAVnB,eAAU,GAC3B,mBAAmB,CAAC,UAAU,CAAC;IAUjC,CAAC;IAEQ,KAAK,CAAC,OAAO,CACpB,SAKU,EACV,SAA+B,EAC/B,KAAwC,EACxC,GAAG,IAAW;QAEd,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvC,GAAG,CAAC,KAAK,CACP,4BAA4B,SAAS,iBAAiB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,+BAA+B,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CAC7K,CAAC;QACF,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;QACrE,OAAO,IAAI,mBAAmB,EAAE,CAAC,UAAU,CAAC,KAAK,CAAwB,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAgB;QACrB,OAAO,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAClD,CAAC;IAEQ,UAAU;QAMjB,OAAO,sBAAmD,CAAC;IAC7D,CAAC;IAED;;;;;;;;OAQG;IACM,KAAK,CAAC,SAAS,CACtB,KAAqB,EACrB,GAAqB,EACrB,MAA6B,EAC7B,GAAG,IAAyC;QAE5C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;YAC9B,MAAM,IAAI,aAAa,CAAC,0CAA0C,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,CAAC,GAAI,IAAyB,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAyB,CAAC;QACzD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CACzB,OAA8C,EAC9C,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEzC,GAAG,CAAC,IAAI,CAAC,UAAU,GAAG,CAAC,MAAM,eAAe,SAAS,QAAQ,CAAC,CAAC;QAC/D,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,qBAAqB,CAAC,UAAU,EAChC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAClE,SAAS,EACT,SAAS,EACT,SAAS,CACV,CAAC;QACF,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,CAAC,CAAU,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACM,KAAK,CAAC,OAAO,CACpB,KAAqB,EACrB,GAAqB,EACrB,GAAG,IAAyC;QAE5C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,MAAM,eAAe,SAAS,QAAQ,CAAC,CAAC;QAChE,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC3C,qBAAqB,CAAC,QAAQ,EAC9B,CAAC,GAAG,CAAC,EACL,SAAS,EACT,SAAS,EACT,SAAS,CACV,CAAC;QACF,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,CAAC,CAAU,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACM,KAAK,CAAC,SAAS,CACtB,KAAqB,EACrB,GAAqB,EACrB,MAA6B,EAC7B,GAAG,IAAyC;QAE5C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,MAAM;YAC9B,MAAM,IAAI,aAAa,CAAC,0CAA0C,CAAC,CAAC;QACtE,MAAM,OAAO,GAAG,CAAC,GAAI,IAAyB,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,EAAyB,CAAC;QACzD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CACzB,OAA8C,EAC9C,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,eAAe,SAAS,QAAQ,CAAC,CAAC;QACjE,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAE3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,qBAAqB,CAAC,UAAU,EAChC,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAClE,SAAS,EACT,SAAS,EACT,KAAK,CAAC,IAAI,CACX,CAAC;QACF,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,CAAC,CAAU,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACM,KAAK,CAAC,SAAS,CACtB,KAAqB,EACrB,GAAqB,EACrB,GAAG,IAAyC;QAE5C,MAAM,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,MAAM,eAAe,SAAS,QAAQ,CAAC,CAAC;QACjE,GAAG,CAAC,OAAO,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QAC3B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,qBAAqB,CAAC,UAAU,EAChC,CAAC,GAAG,CAAC,EACL,SAAS,EACT,SAAS,EACT,KAAK,CAAC,IAAI,CACX,CAAC;QACF,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxE,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,kBAAkB,CAAC,CAAU,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACM,OAAO,CACd,KAAQ,EACR,GAAG,IAAyC;QAE5C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACrC,IAAK,KAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,KAAK,CACP,0CAA2C,KAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,EAAE,CACrF,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,QAAQ,EAAE;gBAC3D,UAAU,EAAE,KAAK;gBACjB,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,IAAI;gBAClB,KAAK,EAAG,KAAa,CAAC,eAAe,CAAC,QAAQ,CAAC;aAChD,CAAC,CAAC;QACL,CAAC;QAED,OAAO;YACL,MAAM,EAAE,KAAK,CAAC,KAAK;YACnB,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,WAA6B,CAAC,CAAW;YAClE,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;OAWG;IACM,MAAM,CACb,GAAwB,EACxB,KAAqB,EACrB,EAAkB,EAClB,SAA+B,EAC/B,GAAG,IAAyC;QAE5C,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACpD,MAAM,EAAE,GAAwB,EAAE,CAAC;QACnC,MAAM,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,KAAK,CAAW,CAAC;QACrC,EAAE,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;QACZ,MAAM,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAM,CAAC;QAC7B,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,WAAW,CAAC,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;QAC7D,MAAM,QAAQ,GAAG,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,KAAQ,EAAE,GAAG,EAAE,EAAE;YACpD,KAA6B,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/C,OAAO,KAAK,CAAC;QACf,CAAC,EAAE,CAAC,CAAC,CAAC;QAEN,IAAI,GAAG,CAAC,GAAG,CAAC,sBAAsB,CAAC,IAAI,SAAS,EAAE,CAAC;YACjD,GAAG,CAAC,OAAO,CACT,mCAAmC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACvE,CAAC;YACF,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;gBAC/C,IAAI,GAAG,IAAI,MAAM;oBACf,MAAM,IAAI,aAAa,CACrB,sBAAsB,GAAG,4BAA4B,CAAC,CAAC,WAAW,CAAC,IAAI,wBAAwB,CAChG,CAAC;gBACJ,MAAM,CAAC,GAAc,CAAC,GAAG,GAAG,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACb,uBAAuB;YACvB,GAAG,CAAC,KAAK,CACP,iBAAiB,IAAI,CAAC,OAAO,6BAA6B,CAAC,CAAC,WAAW,CAAC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CACrG,CAAC;YACF,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,eAAe,CAAC,QAAQ,EAAE;gBACtD,UAAU,EAAE,KAAK;gBACjB,YAAY,EAAE,IAAI;gBAClB,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,QAAQ;aAChB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IAGO,KAAK,CAAI,MAAsB;QACvC,MAAM,IAAI,KAAK,EAAE,CAAC;IACpB,CAAC;IAED;;;;;;;;OAQG;IAGY,AAAN,KAAK,CAAC,MAAM,CACnB,KAAqB,EACrB,EAAkB,EAClB,KAA0B,EAC1B,GAAG,IAAyC;QAE5C,MAAM,OAAO,GAAG,CAAC,GAAI,IAAyB,CAAC,CAAC;QAChD,MAAM,SAAS,GAAI,OAAO,CAAC,KAAK,EAA0B,IAAI,EAAE,CAAC;QACjE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CACzB,OAA8C,EAC9C,IAAI,CAAC,MAAM,CACZ,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,GAAG,CAAC,OAAO,CAAC,mBAAmB,SAAS,QAAQ,CAAC,CAAC;QAClD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,aAAa,CAAC,MAAM,EACpB,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAC9C,SAAS,EACT,SAAS,EACT,KAAK,CAAC,IAAI,CACX,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IAGG,AAAN,KAAK,CAAC,IAAI,CACR,KAAqB,EACrB,EAAkB,EAClB,GAAG,IAAyC;QAE5C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAEzC,GAAG,CAAC,OAAO,CAAC,sBAAsB,SAAS,QAAQ,CAAC,CAAC;QACrD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAC3C,aAAa,CAAC,IAAI,EAClB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EACf,SAAS,EACT,SAAS,EACT,KAAK,CAAC,IAAI,CACX,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAEQ,YAAY,CACnB,KAAqB,EACrB,EAAkB,EAClB,KAA0B,EAC1B,GAAG,IAA6C;QAEhD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,MAAM,GAAwB,EAAE,CAAC;QACvC,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACxD,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC7B,OAAO,CAAC,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;;OAQG;IAGG,AAAN,KAAK,CAAC,MAAM,CACV,KAAqB,EACrB,EAAkB,EAClB,KAA0B,EAC1B,GAAG,IAAyC;QAE5C,MAAM,OAAO,GAAG,CAAC,GAAI,IAAyB,CAAC,CAAC;QAChD,MAAM,SAAS,GAAI,OAAO,CAAC,KAAK,EAA0B,IAAI,EAAE,CAAC;QACjE,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CACzB,OAA8C,EAC9C,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,GAAG,CAAC,OAAO,CAAC,qBAAqB,SAAS,QAAQ,CAAC,CAAC;QACpD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,aAAa,CAAC,MAAM,EACpB,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,EAC9C,SAAS,EACT,SAAS,EACT,KAAK,CAAC,IAAI,CACX,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;OAMG;IAGY,AAAN,KAAK,CAAC,MAAM,CACnB,KAAqB,EACrB,EAAkB,EAClB,GAAG,IAAyC;QAE5C,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC/C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACzC,GAAG,CAAC,OAAO,CAAC,uBAAuB,SAAS,QAAQ,CAAC,CAAC;QACtD,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QACvB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACzC,aAAa,CAAC,MAAM,EACpB,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,EACf,SAAS,EACT,SAAS,EACT,KAAK,CAAC,IAAI,CACX,CAAC;QACF,OAAO,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IAC1D,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IAEY,AAAN,KAAK,CAAC,GAAG,CAChB,QAAoB,EACpB,GAAG,IAAyC;QAE5C,MAAM,OAAO,GAAG,CAAC,GAAI,IAAyB,CAAC,CAAC;QAChD,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YACpC,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,SAAgD,CAAC;QACrD,IACE,OAAO,CAAC,MAAM;YACd,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,OAAO,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,EACpE,CAAC;YACD,SAAS,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,CAAC;QACD,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CACzB,OAA8C,EAC9C,IAAI,CAAC,GAAG,CACT,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC3C,GAAG,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACzE,IAAI,KAAa,CAAC;QAClB,IAAI,CAAC;YACH,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,kBAAkB,CAC1B,0CAA0C,CAAC,EAAE,CAC9C,CAAC;QACJ,CAAC;QACD,IAAI,iBAAsB,CAAC;QAC3B,IAAI,CAAC;YACH,IAAI,OAAO,SAAS,KAAK,QAAQ;gBAC/B,SAAS,GAAI,SAA0C,EAAE,IAAI,CAAC;YAChE,iBAAiB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAChD,OAAO,EACP,CAAC,KAAK,CAAC,EACP,SAAS,EACT,SAAS,EACT,SAAS,CACV,CAAC;QACJ,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,UAAU,CAAC,CAAU,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,MAAW,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,kBAAkB,CAAC,6BAA6B,CAAC,EAAE,CAAC,CAAC;QACjE,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,MAAwB,EAAE,EAAE;YAC/C,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC;QAEF,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,MAAM;gBAAE,OAAO,MAAW,CAAC;YACvC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;gBACnB,8CAA8C;gBAC9C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAM,CAAC;YAClD,OAAO,MAAW,CAAC;QACrB,CAAC;QAED,OAAO,WAAW,CAAC,MAAa,CAAM,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACM,SAAS;QAChB,IAAI,CAAC,IAAI,CAAC,OAAO;YACf,IAAI,CAAC,OAAO,GAAG,mBAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,OAAO;QACrB,OAAO,mBAAmB,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IAEO,eAAe,CAAC,SAAkB;QACxC,IAAI,CAAC,SAAS;YAAE,OAAO,SAAS,CAAC;QACjC,OAAO,GAAG,SAAS,UAAU,CAAC;IAChC,CAAC;IAED;;;;OAIG;IACO,KAAK,CAAC,QAAQ,CAAC,YAAqB;QAC5C,OAAO,mBAAmB,CAAC,WAAW,CACpC,MAAM,IAAI,CAAC,OAAO,EAAE,EACpB,IAAI,CAAC,MAAM,EACX,YAAY,CACb,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACO,KAAK,CAAC,WAAW,CACzB,GAAW,EACX,MAAM,GAAG,IAAI,EACb,IAAY,EACZ,aAAsC,EACtC,sBAAsC,EACtC,SAAkB;QAElB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC;YACtE,GAAG,CAAC,OAAO,CACT,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,oBAAoB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,GAAG,EAAE,CAC1H,CAAC;YACF,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;YAC1E,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAE5D,sBAAsB,GAAG,sBAAsB,EAAE,MAAM;gBACrD,CAAC,CAAC,sBAAsB;gBACxB,CAAC,CAAC,SAAS,CAAC;YACd,MAAM,eAAe,GAAoB;gBACvC,SAAS,EAAE,IAAI,IAAI,EAAE;gBACrB,aAAa,EAAE,aAAa;gBAC5B,0EAA0E;aAC3E,CAAC;YAEF,OAAO,MAAM,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,EAAE,eAAe,CAAC,CAAC;QAC3D,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,IAAI,CAAC,CAAC,IAAI,KAAK,EAAE,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC7C,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;gBAAS,CAAC;YACT,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,KAAK,qBAAqB,CAAC,CAAC;YAClE,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACM,UAAU,CACjB,GAAmB,EACnB,MAAe;QAEf,OAAO,mBAAmB,CAAC,UAAU,CAAI,GAAG,EAAE,MAAM,CAAC,CAAC;IACxD,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,iBAAiB,CACrB,GAAW,EACX,IAAY,EACZ,aAAsC,EACtC,sBAAsC,EACtC,SAAkB;QAElB,OAAO,IAAI,CAAC,WAAW,CACrB,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,aAAa,EACb,sBAAsB,EACtB,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,mBAAmB,CACvB,GAAW,EACX,IAAY,EACZ,aAAsC,EACtC,sBAAsC,EACtC,SAAkB;QAElB,OAAO,IAAI,CAAC,WAAW,CACrB,GAAG,EACH,KAAK,EACL,IAAI,EACJ,aAAa,EACb,sBAAsB,EACtB,SAAS,CACV,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,CAAC,MAAM,CAAC,KAAK,iBAAiB,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACtB,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,WAAW,CAChB,OAAgB,EAChB,MAAkB,EAClB,YAAqB;QAErB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QACzD,IAAI,QAAkB,CAAC;QACvB,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,CACP,wBAAwB,MAAM,CAAC,aAAa,aAAa,YAAY,IAAI,MAAM,CAAC,YAAY,iBAAiB,MAAM,CAAC,OAAO,EAAE,CAC9H,CAAC;YACF,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;YACjE,QAAQ,GAAG,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACrE,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,OAAgB,EAAE,WAAmB;QACrD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzC,IAAI,OAAgB,CAAC;QACrB,IAAI,CAAC;YACH,GAAG,CAAC,KAAK,CAAC,yBAAyB,WAAW,EAAE,CAAC,CAAC;YAClD,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAkB,EAAE,MAAe;QACzD,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAC9B,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EACxC,MAAM,CACP,CAAY,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,SAAS,CAAC,MAAkB;QACjC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzC,GAAG,CAAC,KAAK,CAAC,sCAAsC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAChE,MAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAC/C,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAChC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;YAC7B,CAAC,CAAC,MAAM,CAAC,OAAO,CACnB,CAAC;QACF,GAAG,CAAC,KAAK,CAAC,qCAAqC,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QACtE,OAAO,IAAI,MAAM,CAAC,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,MAAc,EAAE,MAAkB;QAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5C,GAAG,CAAC,KAAK,CACP,gCAAgC,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,uBAAuB,EAAE,CACvF,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,WAAW,CAChC,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,uBAAuB,CAC/B,CAAC;QACF,GAAG,CAAC,KAAK,CAAC,8BAA8B,MAAM,CAAC,sBAAsB,EAAE,CAAC,CAAC;QAEzE,IAAI,MAAc,EAChB,KAAK,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;QAC1D,CAAC;aAAM,CAAC;YACN,MAAM,GAAG,GAAG,IAAI,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC3D,MAAM,UAAU,GAAG,GAAG,CAAC,yBAAyB,CAC9C,MAAM,CAAC,uBAAuB,CAC/B,CAAC;YACF,MAAM,YAAY,GAAG,GAAG,CAAC,SAAS,CAAC;gBACjC,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,UAAoB;gBACtC,GAAG,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAW;gBACrC,UAAU,EAAE,UAAU;gBACtB,6BAA6B;aAC9B,CAAC,CAAC;YACH,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC;YAE7B,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;QAC7B,CAAC;QAED,MAAM,OAAO,GAAG;YACd,MAAM;YACN,QAAQ,EAAE,QAAQ;YAClB,MAAM,EAAE,MAAM;YACd,4CAA4C;YAC5C,eAAe,EAAE,GAAG,EAAE;gBACpB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,YAAY;YACtD,CAAC;YACD,cAAc,EAAE,GAAG,EAAE;gBACnB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,aAAa;YACxD,CAAC;YACD,aAAa,EAAE,GAAG,EAAE;gBAClB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,YAAY;YACtD,CAAC;YACD,mBAAmB,EAAE,GAAG,EAAE;gBACxB,OAAO,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC,WAAW;YACtD,CAAC;SACgB,CAAC;QAEpB,GAAG,CAAC,KAAK,CAAC,iBAAiB,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAEjC,iBAAiB;QACjB,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE;gBACvC,KAAK,CAAC,MAAkB,EAAE,OAAY,EAAE,QAAe;oBACrD,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;oBACzC,KAAK,EAAE,CAAC;gBACV,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;;;OAQG;IACM,QAAQ;QACf,OAAO,IAAI,mBAAmB,CAAC,eAAe,CAAC,EAAE,CAAC;IACpD,CAAC;IAED;;;;;;OAMG;IACO,MAAM,CAAU,UAAU,CAClC,GAAmB,EACnB,MAAe;QAEf,OAAO;QACP,OAAO,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAM,CAAC;IAC5C,CAAC;;AA3mBS;IAFT,KAAK,EAAE;IACR,6DAA6D;;;;;gDAG5D;AAac;IAFd,KAAK,EAAE;IACP,KAAK,EAAE;;6DAKkB,mBAAmB;;iDAmB5C;AAWK;IAFL,KAAK,EAAE;IACP,KAAK,EAAE;;qDAIkB,mBAAmB;;+CAe5C;AA4BK;IAFL,KAAK,EAAE;IACP,KAAK,EAAE;;6DAKkB,mBAAmB;;iDAmB5C;AAWc;IAFd,KAAK,EAAE;IACP,KAAK,EAAE;;qDAIkB,mBAAmB;;iDAc5C;AA4Bc;IADd,KAAK,EAAE;;6CAGkB,mBAAmB;;8CA+D5C;AA+XH,mBAAmB,CAAC,UAAU,EAAE,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { Dispatch } from "@decaf-ts/core";
|
|
1
|
+
import { ContextualArgs, Dispatch, EventIds } from "@decaf-ts/core";
|
|
2
2
|
import { Client } from "@grpc/grpc-js";
|
|
3
|
-
import { FabricClientAdapter } from "./FabricClientAdapter";
|
|
3
|
+
import { FabricClientAdapter, FabricClientContext } from "./FabricClientAdapter";
|
|
4
|
+
import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
|
|
5
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
4
6
|
/**
|
|
5
7
|
* @description Event dispatcher for Hyperledger Fabric chaincode events
|
|
6
8
|
* @summary Listens for and processes events emitted by Fabric chaincode, dispatching them to registered observers
|
|
@@ -49,7 +51,7 @@ import { FabricClientAdapter } from "./FabricClientAdapter";
|
|
|
49
51
|
* FabricDispatch-->>Client: callback(id)
|
|
50
52
|
* end
|
|
51
53
|
*/
|
|
52
|
-
export declare class FabricClientDispatch extends Dispatch {
|
|
54
|
+
export declare class FabricClientDispatch extends Dispatch<FabricClientAdapter> {
|
|
53
55
|
protected client: Client;
|
|
54
56
|
/**
|
|
55
57
|
* @description Event listening stack for chaincode events
|
|
@@ -93,7 +95,7 @@ export declare class FabricClientDispatch extends Dispatch {
|
|
|
93
95
|
* @param {any} payload - The event payload
|
|
94
96
|
* @return {Promise<void>} A promise that resolves when all observers have been notified
|
|
95
97
|
*/
|
|
96
|
-
updateObservers(
|
|
98
|
+
updateObservers(model: Constructor<any> | string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args: ContextualArgs<FabricClientContext>): Promise<void>;
|
|
97
99
|
/**
|
|
98
100
|
* @description Processes incoming chaincode events
|
|
99
101
|
* @summary Listens for events from the chaincode and dispatches them to registered observers
|
|
@@ -115,7 +117,7 @@ export declare class FabricClientDispatch extends Dispatch {
|
|
|
115
117
|
* FabricDispatch->>Observers: updateObservers(table, event, payload.id)
|
|
116
118
|
* Observers-->>FabricDispatch: Callbacks executed
|
|
117
119
|
*/
|
|
118
|
-
protected handleEvents(): Promise<void>;
|
|
120
|
+
protected handleEvents(ctxArg?: FabricClientContext): Promise<void>;
|
|
119
121
|
/**
|
|
120
122
|
* @description Initializes the event listener
|
|
121
123
|
* @summary Sets up the connection to the Fabric network and starts listening for chaincode events
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Adapter, Dispatch,
|
|
2
|
-
import { FabricClientAdapter } from "./FabricClientAdapter.js";
|
|
3
|
-
import { InternalError } from "@decaf-ts/db-decorators";
|
|
1
|
+
import { Adapter, Dispatch, UnsupportedError, } from "@decaf-ts/core";
|
|
2
|
+
import { FabricClientAdapter, } from "./FabricClientAdapter.js";
|
|
3
|
+
import { InternalError, OperationKeys, } from "@decaf-ts/db-decorators";
|
|
4
4
|
import { parseEventName } from "./../shared/events.js";
|
|
5
5
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
6
6
|
/**
|
|
@@ -105,13 +105,14 @@ export class FabricClientDispatch extends Dispatch {
|
|
|
105
105
|
* @param {any} payload - The event payload
|
|
106
106
|
* @return {Promise<void>} A promise that resolves when all observers have been notified
|
|
107
107
|
*/
|
|
108
|
-
async updateObservers(
|
|
108
|
+
async updateObservers(model, event, id, ...args) {
|
|
109
|
+
const { log, ctxArgs } = this.logCtx(args, this.updateObservers);
|
|
109
110
|
if (!this.adapter) {
|
|
110
|
-
|
|
111
|
+
log.verbose(`No adapter observed for dispatch; skipping observer update for ${typeof model === "string" ? model : Model.tableName(model)}:${event}`);
|
|
111
112
|
return;
|
|
112
113
|
}
|
|
113
114
|
try {
|
|
114
|
-
await this.adapter.refresh(
|
|
115
|
+
await this.adapter.refresh(model, event, id, ...ctxArgs);
|
|
115
116
|
}
|
|
116
117
|
catch (e) {
|
|
117
118
|
throw new InternalError(`Failed to refresh dispatch: ${e}`);
|
|
@@ -138,11 +139,15 @@ export class FabricClientDispatch extends Dispatch {
|
|
|
138
139
|
* FabricDispatch->>Observers: updateObservers(table, event, payload.id)
|
|
139
140
|
* Observers-->>FabricDispatch: Callbacks executed
|
|
140
141
|
*/
|
|
141
|
-
async handleEvents() {
|
|
142
|
+
async handleEvents(ctxArg) {
|
|
142
143
|
if (!this.listeningStack)
|
|
143
144
|
throw new InternalError(`Event stack not initialized. Ensure that "startListening" is called before attempting this operation.`);
|
|
144
145
|
if (!this.adapter || !this.adapter.config)
|
|
145
146
|
throw new InternalError(`No adapter found. should be impossible`);
|
|
147
|
+
const ctx = ctxArg ||
|
|
148
|
+
(await this.adapter.context(OperationKeys.READ, {
|
|
149
|
+
correlationId: this.adapter.config.chaincodeName,
|
|
150
|
+
}, (this.models && this.models[0]) || Model));
|
|
146
151
|
const log = this.log.for(this.handleEvents);
|
|
147
152
|
log.info(`Listening for incoming events on chaincode "${this.adapter.config.chaincodeName}" on channel "${this.adapter.config.channel}"...`);
|
|
148
153
|
try {
|
|
@@ -152,7 +157,11 @@ export class FabricClientDispatch extends Dispatch {
|
|
|
152
157
|
continue;
|
|
153
158
|
const payload = this.parsePayload(evt.payload);
|
|
154
159
|
try {
|
|
155
|
-
|
|
160
|
+
const targetModel = table
|
|
161
|
+
? Model.get(table)
|
|
162
|
+
: Model.get(this.models[0].name);
|
|
163
|
+
const modelRef = targetModel ?? (table || this.models[0]?.name);
|
|
164
|
+
await this.updateObservers(modelRef, event, payload.id, ctx);
|
|
156
165
|
}
|
|
157
166
|
catch (e) {
|
|
158
167
|
log.error(`Failed update observables for table ${table} event ${event} id: ${payload.id}: ${e}`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricClientDispatch.js","sourceRoot":"","sources":["../../../src/client/FabricClientDispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,OAAO,
|
|
1
|
+
{"version":3,"file":"FabricClientDispatch.js","sourceRoot":"","sources":["../../../src/client/FabricClientDispatch.ts"],"names":[],"mappings":"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"}
|