@decaf-ts/for-fabric 0.1.2 → 0.1.5
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
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { ChaincodeStub, Iterators, StateQueryResponse } from "fabric-shim";
|
|
2
|
-
import { FabricContractAdapter } from "./ContractAdapter";
|
|
3
|
-
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
|
-
import { Sequence, SequenceOptions } from "@decaf-ts/core";
|
|
5
|
-
import { FabricContractContext } from "./ContractContext";
|
|
6
|
-
import { MangoQuery } from "@decaf-ts/for-couchdb";
|
|
7
|
-
export declare class FabricContractPrivateDataAdapter extends FabricContractAdapter {
|
|
8
|
-
private readonly collections?;
|
|
9
|
-
/**
|
|
10
|
-
* @description Creates a new FabricContractAdapter instance
|
|
11
|
-
* @summary Initializes an adapter for interacting with the Fabric state database
|
|
12
|
-
* @param {void} scope - Not used in this adapter
|
|
13
|
-
* @param {string} [alias] - Optional alias for the adapter instance
|
|
14
|
-
*/
|
|
15
|
-
constructor(scope: void, alias?: string, collections?: string[] | undefined);
|
|
16
|
-
Sequence(options: SequenceOptions): Promise<Sequence>;
|
|
17
|
-
/**
|
|
18
|
-
* @description Reads a record from the state database
|
|
19
|
-
* @summary Retrieves and deserializes a record from the Fabric state database
|
|
20
|
-
* @param {string} tableName - The name of the table/collection
|
|
21
|
-
* @param {string | number} id - The record identifier
|
|
22
|
-
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
23
|
-
* @return {Promise<Record<string, any>>} Promise resolving to the retrieved record
|
|
24
|
-
*/
|
|
25
|
-
read(tableName: string, id: string | number, instance: any, ...args: any[]): Promise<Record<string, any>>;
|
|
26
|
-
/**
|
|
27
|
-
* @description Deletes a record from the state database
|
|
28
|
-
* @summary Retrieves a record and then removes it from the Fabric state database
|
|
29
|
-
* @param {string} tableName - The name of the table/collection
|
|
30
|
-
* @param {string | number} id - The record identifier to delete
|
|
31
|
-
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
32
|
-
* @return {Promise<Record<string, any>>} Promise resolving to the deleted record
|
|
33
|
-
*/
|
|
34
|
-
delete(tableName: string, id: string | number, instance: any, ...args: any[]): Promise<Record<string, any>>;
|
|
35
|
-
prepare<M extends Model>(model: M, pk: keyof M, ...args: any[]): {
|
|
36
|
-
record: Record<string, any>;
|
|
37
|
-
id: string;
|
|
38
|
-
transient?: Record<string, any>;
|
|
39
|
-
};
|
|
40
|
-
createPrefix(tableName: string, id: string | number, model: Record<string, any>, ...args: any[]): (string | number | FabricContractContext | Record<string, any>)[];
|
|
41
|
-
updatePrefix(tableName: string, id: string | number, model: Record<string, any>, ...args: any[]): (string | number | Record<string, any>)[];
|
|
42
|
-
putState(stub: ChaincodeStub, id: string, model: Record<string, any>, ...args: any[]): Promise<Record<string, any>>;
|
|
43
|
-
readState(stub: ChaincodeStub, tableName: string, id: string, instance: any, ...args: any[]): Promise<any[]>;
|
|
44
|
-
deleteState(stub: ChaincodeStub, tableName: string, id: string, instance: any, ...args: any[]): Promise<void>;
|
|
45
|
-
queryResult(stub: ChaincodeStub, rawInput: any, instance: any): Promise<Iterators.StateQueryIterator>;
|
|
46
|
-
queryResultPaginated(stub: ChaincodeStub, rawInput: any, limit: number | undefined, skip: number | undefined, instance: any): Promise<StateQueryResponse<Iterators.StateQueryIterator>>;
|
|
47
|
-
/**
|
|
48
|
-
* @description Executes a raw query against the state database
|
|
49
|
-
* @summary Performs a rich query using CouchDB syntax against the Fabric state database
|
|
50
|
-
* @template R - The return type
|
|
51
|
-
* @param {MangoQuery} rawInput - The Mango Query to execute
|
|
52
|
-
* @param {boolean} docsOnly - Whether to return only documents (not used in this implementation)
|
|
53
|
-
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
54
|
-
* @return {Promise<R>} Promise resolving to the query results
|
|
55
|
-
* @mermaid
|
|
56
|
-
* sequenceDiagram
|
|
57
|
-
* participant Caller
|
|
58
|
-
* participant FabricContractAdapter
|
|
59
|
-
* participant Stub
|
|
60
|
-
* participant StateDB
|
|
61
|
-
*
|
|
62
|
-
* Caller->>FabricContractAdapter: raw(rawInput, docsOnly, ctx)
|
|
63
|
-
* FabricContractAdapter->>FabricContractAdapter: Extract limit and skip
|
|
64
|
-
* alt With pagination
|
|
65
|
-
* FabricContractAdapter->>Stub: getQueryResultWithPagination(query, limit, skip)
|
|
66
|
-
* else Without pagination
|
|
67
|
-
* FabricContractAdapter->>Stub: getQueryResult(query)
|
|
68
|
-
* end
|
|
69
|
-
* Stub->>StateDB: Execute query
|
|
70
|
-
* StateDB-->>Stub: Iterator
|
|
71
|
-
* Stub-->>FabricContractAdapter: Iterator
|
|
72
|
-
* FabricContractAdapter->>FabricContractAdapter: resultIterator(log, iterator)
|
|
73
|
-
* FabricContractAdapter-->>Caller: results
|
|
74
|
-
*/
|
|
75
|
-
raw<R>(rawInput: MangoQuery, docsOnly: boolean, ...args: any[]): Promise<R>;
|
|
76
|
-
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContractPrivateDataAdapter.js","sourceRoot":"","sources":["../../src/contracts/ContractPrivateDataAdapter.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ContractPrivateDataAdapter.js","sourceRoot":"","sources":["../../src/contracts/ContractPrivateDataAdapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -198,8 +198,8 @@ async function oneToOneOnDelete(context, data, key, model) {
|
|
|
198
198
|
if (!(propertyValue instanceof decorator_validation_1.Model))
|
|
199
199
|
deleted = await innerRepo.delete(model[key], context);
|
|
200
200
|
else
|
|
201
|
-
deleted = await innerRepo.delete(model[key][innerRepo.
|
|
202
|
-
await (0, core_1.cacheModelForPopulate)(context, model, key, deleted[innerRepo.
|
|
201
|
+
deleted = await innerRepo.delete(model[key][decorator_validation_1.Model.pk(innerRepo.class)], context);
|
|
202
|
+
await (0, core_1.cacheModelForPopulate)(context, model, key, deleted[decorator_validation_1.Model.pk(innerRepo.class)], deleted);
|
|
203
203
|
}
|
|
204
204
|
/**
|
|
205
205
|
* @description Handles one-to-many relationship creation
|
|
@@ -345,7 +345,7 @@ async function oneToManyOnDelete(context, data, key, model) {
|
|
|
345
345
|
: (0, core_1.repositoryFromTypeMetadata)(model, key, this.adapter.alias);
|
|
346
346
|
const uniqueValues = new Set([
|
|
347
347
|
...(isInstantiated
|
|
348
|
-
? values.map((v) => v[
|
|
348
|
+
? values.map((v) => v[decorator_validation_1.Model.pk(this.class)])
|
|
349
349
|
: values),
|
|
350
350
|
]);
|
|
351
351
|
for (const id of uniqueValues.values()) {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { RelationsMetadata, Repo } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { ContextOfRepository } from "@decaf-ts/db-decorators";
|
|
4
|
+
import { FabricContractRepository } from "./FabricContractRepository";
|
|
5
|
+
import { FabricContractContext } from "./ContractContext";
|
|
5
6
|
/**
|
|
6
7
|
* @description Handles one-to-one relationship creation
|
|
7
8
|
* @summary Processes a one-to-one relationship when creating a model, either by referencing an existing model or creating a new one
|
|
@@ -52,7 +53,7 @@ import { Context } from "@decaf-ts/db-decorators";
|
|
|
52
53
|
*
|
|
53
54
|
* oneToOneOnCreate-->>Caller: void
|
|
54
55
|
*/
|
|
55
|
-
export declare function oneToOneOnCreate<M extends Model, R extends
|
|
56
|
+
export declare function oneToOneOnCreate<M extends Model, R extends FabricContractRepository<M>, V extends RelationsMetadata>(this: R, context: FabricContractContext, data: V, key: keyof M, model: M): Promise<void>;
|
|
56
57
|
/**
|
|
57
58
|
* @description Handles one-to-one relationship updates
|
|
58
59
|
* @summary Processes a one-to-one relationship when updating a model, either by referencing an existing model or updating the related model
|
|
@@ -100,7 +101,7 @@ export declare function oneToOneOnCreate<M extends Model, R extends Repo<M, F, C
|
|
|
100
101
|
*
|
|
101
102
|
* oneToOneOnUpdate-->>Caller: void
|
|
102
103
|
*/
|
|
103
|
-
export declare function oneToOneOnUpdate<M extends Model, R extends
|
|
104
|
+
export declare function oneToOneOnUpdate<M extends Model, R extends FabricContractRepository<M>, V extends RelationsMetadata>(this: R, context: FabricContractContext, data: V, key: keyof M, model: M): Promise<void>;
|
|
104
105
|
/**
|
|
105
106
|
* @description Handles one-to-one relationship deletion
|
|
106
107
|
* @summary Processes a one-to-one relationship when deleting a model, deleting the related model if cascade is enabled
|
|
@@ -142,7 +143,7 @@ export declare function oneToOneOnUpdate<M extends Model, R extends Repo<M, F, C
|
|
|
142
143
|
* oneToOneOnDelete->>cacheModelForPopulate: context, model, key, deleted[innerRepo.pk], deleted
|
|
143
144
|
* oneToOneOnDelete-->>Caller: void
|
|
144
145
|
*/
|
|
145
|
-
export declare function oneToOneOnDelete<M extends Model, R extends
|
|
146
|
+
export declare function oneToOneOnDelete<M extends Model, R extends FabricContractRepository<M>, V extends RelationsMetadata>(this: R, context: FabricContractContext, data: V, key: keyof M, model: M): Promise<void>;
|
|
146
147
|
/**
|
|
147
148
|
* @description Handles one-to-many relationship creation
|
|
148
149
|
* @summary Processes a one-to-many relationship when creating a model, either by referencing existing models or creating new ones
|
|
@@ -197,7 +198,7 @@ export declare function oneToOneOnDelete<M extends Model, R extends Repo<M, F, C
|
|
|
197
198
|
*
|
|
198
199
|
* oneToManyOnCreate-->>Caller: void
|
|
199
200
|
*/
|
|
200
|
-
export declare function oneToManyOnCreate<M extends Model, R extends
|
|
201
|
+
export declare function oneToManyOnCreate<M extends Model, R extends FabricContractRepository<M>, V extends RelationsMetadata>(this: R, context: FabricContractContext, data: V, key: keyof M, model: M): Promise<void>;
|
|
201
202
|
/**
|
|
202
203
|
* @description Handles one-to-many relationship deletion
|
|
203
204
|
* @summary Processes a one-to-many relationship when deleting a model, deleting all related models if cascade delete is enabled
|
|
@@ -246,7 +247,7 @@ export declare function oneToManyOnCreate<M extends Model, R extends Repo<M, F,
|
|
|
246
247
|
* oneToManyOnDelete->>oneToManyOnDelete: set model[key] = [...uniqueValues]
|
|
247
248
|
* oneToManyOnDelete-->>Caller: void
|
|
248
249
|
*/
|
|
249
|
-
export declare function oneToManyOnDelete<M extends Model, R extends
|
|
250
|
+
export declare function oneToManyOnDelete<M extends Model, R extends FabricContractRepository<M>, V extends RelationsMetadata>(this: R, context: FabricContractContext, data: V, key: keyof M, model: M): Promise<void>;
|
|
250
251
|
/**
|
|
251
252
|
* @description Populates a model's relationship
|
|
252
253
|
* @summary Retrieves and attaches related models to a model's relationship property
|
|
@@ -301,4 +302,4 @@ export declare function oneToManyOnDelete<M extends Model, R extends Repo<M, F,
|
|
|
301
302
|
* populate->>populate: set model[key] = isArr ? res : res[0]
|
|
302
303
|
* populate-->>Caller: void
|
|
303
304
|
*/
|
|
304
|
-
export declare function populate<M extends Model, R extends Repo<M
|
|
305
|
+
export declare function populate<M extends Model, R extends Repo<M>, V extends RelationsMetadata>(this: R, context: ContextOfRepository<R>, data: V, key: keyof M, model: M): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricConstruction.js","sourceRoot":"","sources":["../../src/contracts/FabricConstruction.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"FabricConstruction.js","sourceRoot":"","sources":["../../src/contracts/FabricConstruction.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,12 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FabricContractRepository = void 0;
|
|
4
4
|
const core_1 = require("@decaf-ts/core");
|
|
5
|
-
const ContractContext_1 = require("./ContractContext.cjs");
|
|
6
|
-
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
7
5
|
const FabricContractRepositoryObservableHandler_1 = require("./FabricContractRepositoryObservableHandler.cjs");
|
|
8
|
-
const db_decorators_2 = require("@decaf-ts/db-decorators");
|
|
9
|
-
const db_decorators_3 = require("@decaf-ts/db-decorators");
|
|
10
|
-
const FabricContractSequence_1 = require("./FabricContractSequence.cjs");
|
|
11
6
|
const logging_1 = require("@decaf-ts/logging");
|
|
12
7
|
/**
|
|
13
8
|
* @description Repository for Hyperledger Fabric chaincode models
|
|
@@ -85,64 +80,11 @@ class FabricContractRepository extends core_1.Repository {
|
|
|
85
80
|
* @return {ContractLogger} The logger instance
|
|
86
81
|
*/
|
|
87
82
|
logFor(ctx) {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
* @param {M} model - The model to create
|
|
94
|
-
* @param {...any[]} args - Additional arguments, including the chaincode context
|
|
95
|
-
* @return {Promise<M>} Promise resolving to the created model
|
|
96
|
-
*/
|
|
97
|
-
async create(model, ...args) {
|
|
98
|
-
const ctx = args[args.length - 1];
|
|
99
|
-
const log = this.logFor(ctx).for(this.create);
|
|
100
|
-
log.info(`Preparing model: ${JSON.stringify(model)}`);
|
|
101
|
-
// eslint-disable-next-line prefer-const
|
|
102
|
-
let { record, id, transient } = this.adapter.prepare(model, this.pk, this.tableName, ...args);
|
|
103
|
-
log.info(`Creating model: ${JSON.stringify(model)}`);
|
|
104
|
-
record = await this.adapter.create(this.tableName, id, record, ...args);
|
|
105
|
-
let c = undefined;
|
|
106
|
-
if (args.length)
|
|
107
|
-
c = args[args.length - 1];
|
|
108
|
-
log.info(`Reverting model: ${JSON.stringify(model)}`);
|
|
109
|
-
return this.adapter.revert(record, this.class, this.pk, id, c && c.get("rebuildWithTransient") ? transient : undefined);
|
|
110
|
-
}
|
|
111
|
-
async read(id, ...args) {
|
|
112
|
-
const m = await this.adapter.read(this.tableName, id, new this.class(), ...args);
|
|
113
|
-
return this.adapter.revert(m, this.class, this.pk, id);
|
|
114
|
-
}
|
|
115
|
-
/**
|
|
116
|
-
* @description Deletes a model from the database by ID.
|
|
117
|
-
* @summary Removes a model instance from the database using its primary key.
|
|
118
|
-
* @param {string|number|bigint} id - The primary key of the model to delete.
|
|
119
|
-
* @param {...any[]} args - Additional arguments.
|
|
120
|
-
* @return {Promise<M>} The deleted model instance.
|
|
121
|
-
*/
|
|
122
|
-
async delete(id, ...args) {
|
|
123
|
-
const m = await this.adapter.delete(this.tableName, id, new this.class(), ...args);
|
|
124
|
-
return this.adapter.revert(m, this.class, this.pk, id);
|
|
125
|
-
}
|
|
126
|
-
/**
|
|
127
|
-
* @description Updates a single model in the state database
|
|
128
|
-
* @summary Prepares, updates, and reverts a model using the adapter
|
|
129
|
-
* @param {M} model - The model to update
|
|
130
|
-
* @param {...any[]} args - Additional arguments, including the chaincode context
|
|
131
|
-
* @return {Promise<M>} Promise resolving to the updated model
|
|
132
|
-
*/
|
|
133
|
-
async update(model, ...args) {
|
|
134
|
-
const ctx = args[args.length - 1];
|
|
135
|
-
const log = this.logFor(ctx).for(this.update);
|
|
136
|
-
log.info(`Preparing model: ${JSON.stringify(model)}`);
|
|
137
|
-
// eslint-disable-next-line prefer-const
|
|
138
|
-
let { record, id, transient } = this.adapter.prepare(model, this.pk, this.tableName, ...args);
|
|
139
|
-
log.info(`Updating model: ${JSON.stringify(model)}`);
|
|
140
|
-
record = await this.adapter.update(this.tableName, id, record, ...args);
|
|
141
|
-
let c = undefined;
|
|
142
|
-
if (args.length)
|
|
143
|
-
c = args[args.length - 1];
|
|
144
|
-
log.info(`Reverting model: ${JSON.stringify(model)}`);
|
|
145
|
-
return this.adapter.revert(record, this.class, this.pk, id, c && c.get("rebuildWithTransient") ? transient : undefined);
|
|
83
|
+
if (ctx.logger)
|
|
84
|
+
return ctx.logger;
|
|
85
|
+
return logging_1.Logging.for(this, {
|
|
86
|
+
correlationId: ctx.stub.getTxID(),
|
|
87
|
+
}, ctx);
|
|
146
88
|
}
|
|
147
89
|
/**
|
|
148
90
|
* @description Gets the observer handler for this repository
|
|
@@ -152,57 +94,6 @@ class FabricContractRepository extends core_1.Repository {
|
|
|
152
94
|
ObserverHandler() {
|
|
153
95
|
return new FabricContractRepositoryObservableHandler_1.FabricContractRepositoryObservableHandler();
|
|
154
96
|
}
|
|
155
|
-
/**
|
|
156
|
-
* @description Creates multiple models in the state database
|
|
157
|
-
* @summary Prepares, creates, and reverts multiple models using the adapter
|
|
158
|
-
* @param {M[]} models - The models to create
|
|
159
|
-
* @param {...any[]} args - Additional arguments, including the chaincode context
|
|
160
|
-
* @return {Promise<M[]>} Promise resolving to the created models
|
|
161
|
-
*/
|
|
162
|
-
async createAll(models, ...args) {
|
|
163
|
-
if (!models.length)
|
|
164
|
-
return models;
|
|
165
|
-
const prepared = models.map((m) => this.adapter.prepare(m, this.pk, this.tableName, ...args));
|
|
166
|
-
const ids = prepared.map((p) => p.id);
|
|
167
|
-
let records = prepared.map((p) => p.record);
|
|
168
|
-
const transients = prepared.map((p) => p.transient).filter((e) => !!e);
|
|
169
|
-
let c = undefined;
|
|
170
|
-
if (args.length)
|
|
171
|
-
c = args[args.length - 1];
|
|
172
|
-
records = await this.adapter.createAll(this.tableName, ids, records, ...args);
|
|
173
|
-
return records.map((r, i) => this.adapter.revert(r, this.class, this.pk, ids[i], c && c.get("rebuildWithTransient") ? transients : undefined));
|
|
174
|
-
}
|
|
175
|
-
/**
|
|
176
|
-
* @description Updates multiple models in the state database
|
|
177
|
-
* @summary Prepares, updates, and reverts multiple models using the adapter
|
|
178
|
-
* @param {M[]} models - The models to update
|
|
179
|
-
* @param {...any[]} args - Additional arguments, including the chaincode context
|
|
180
|
-
* @return {Promise<M[]>} Promise resolving to the updated models
|
|
181
|
-
*/
|
|
182
|
-
async updateAll(models, ...args) {
|
|
183
|
-
if (!models.length)
|
|
184
|
-
return models;
|
|
185
|
-
const records = models.map((m) => this.adapter.prepare(m, this.pk, this.tableName, ...args));
|
|
186
|
-
const transients = records.map((p) => p.transient).filter((e) => !!e);
|
|
187
|
-
let c = undefined;
|
|
188
|
-
if (args.length)
|
|
189
|
-
c = args[args.length - 1];
|
|
190
|
-
const updated = await this.adapter.updateAll(this.tableName, records.map((r) => r.id), records.map((r) => r.record), ...args);
|
|
191
|
-
return updated.map((u, i) => this.adapter.revert(u, this.class, this.pk, records[i].id, c && c.get("rebuildWithTransient") ? transients : undefined));
|
|
192
|
-
}
|
|
193
|
-
/**
|
|
194
|
-
* @description Executes a raw query against the state database
|
|
195
|
-
* @summary Delegates to the adapter's raw method
|
|
196
|
-
* @param {MangoQuery} rawInput - The Mango Query to execute
|
|
197
|
-
* @param {boolean} docsOnly - Whether to return only documents
|
|
198
|
-
* @param {...any[]} args - Additional arguments, including the chaincode context
|
|
199
|
-
* @return {Promise<any>} Promise resolving to the query results
|
|
200
|
-
*/
|
|
201
|
-
async raw(rawInput, docsOnly, ...args) {
|
|
202
|
-
const ctx = args.pop();
|
|
203
|
-
const transformedArgs = await db_decorators_3.Context.args("QUERY", this.class, [ctx], this["adapter"], {});
|
|
204
|
-
return this.adapter.raw(rawInput, docsOnly, new this.class(), ...transformedArgs.args);
|
|
205
|
-
}
|
|
206
97
|
/**
|
|
207
98
|
* @description Updates observers based on tracked events
|
|
208
99
|
* @summary Filters events based on trackedEvents and delegates to the parent method
|
|
@@ -213,95 +104,9 @@ class FabricContractRepository extends core_1.Repository {
|
|
|
213
104
|
* @param {...any[]} args - Additional arguments
|
|
214
105
|
* @return {Promise<void>} Promise that resolves when observers are updated
|
|
215
106
|
*/
|
|
216
|
-
async updateObservers(table, event, id,
|
|
107
|
+
async updateObservers(table, event, id, ...args) {
|
|
217
108
|
if (!this.trackedEvents || this.trackedEvents.indexOf(event) !== -1)
|
|
218
|
-
return await super.updateObservers(table, event, id,
|
|
219
|
-
}
|
|
220
|
-
async selectWithContext(selector, ctx) {
|
|
221
|
-
let contextArgs;
|
|
222
|
-
if (ctx instanceof ContractContext_1.FabricContractContext) {
|
|
223
|
-
contextArgs.context = ctx;
|
|
224
|
-
}
|
|
225
|
-
else {
|
|
226
|
-
contextArgs = await db_decorators_1.Context.args(db_decorators_2.OperationKeys.CREATE, this.class, [ctx], this.adapter, this._overrides || {});
|
|
227
|
-
}
|
|
228
|
-
if (!selector) {
|
|
229
|
-
return this.adapter
|
|
230
|
-
.Statement(contextArgs.context)
|
|
231
|
-
.select()
|
|
232
|
-
.from(this.class);
|
|
233
|
-
}
|
|
234
|
-
return this.adapter
|
|
235
|
-
.Statement(contextArgs.context)
|
|
236
|
-
.select(selector)
|
|
237
|
-
.from(this.class);
|
|
238
|
-
}
|
|
239
|
-
/**
|
|
240
|
-
* @description Prepares multiple models for creation.
|
|
241
|
-
* @summary Validates multiple models and prepares them for creation in the database.
|
|
242
|
-
* @param {M[]} models - The models to create.
|
|
243
|
-
* @param {...any[]} args - Additional arguments.
|
|
244
|
-
* @return The prepared models and context arguments.
|
|
245
|
-
* @throws {ValidationError} If any model fails validation.
|
|
246
|
-
*/
|
|
247
|
-
async createAllPrefix(models, ...args) {
|
|
248
|
-
const ctx = args[args.length - 1];
|
|
249
|
-
const contextArgs = await db_decorators_1.Context.args(db_decorators_2.OperationKeys.CREATE, this.class, args, this.adapter, this._overrides || {});
|
|
250
|
-
if (!models.length)
|
|
251
|
-
return [models, ...contextArgs.args];
|
|
252
|
-
const opts = core_1.Repository.getSequenceOptions(models[0]);
|
|
253
|
-
let ids = [];
|
|
254
|
-
if (opts.type) {
|
|
255
|
-
if (!opts.name)
|
|
256
|
-
opts.name = FabricContractSequence_1.FabricContractSequence.pk(models[0]);
|
|
257
|
-
ids = await (await this.adapter.Sequence(opts)).range(models.length, ctx);
|
|
258
|
-
}
|
|
259
|
-
else {
|
|
260
|
-
ids = models.map((m, i) => {
|
|
261
|
-
if (typeof m[this.pk] === "undefined")
|
|
262
|
-
throw new db_decorators_1.InternalError(`Primary key is not defined for model in position ${i}`);
|
|
263
|
-
return m[this.pk];
|
|
264
|
-
});
|
|
265
|
-
}
|
|
266
|
-
models = await Promise.all(models.map(async (m, i) => {
|
|
267
|
-
m = new this.class(m);
|
|
268
|
-
if (opts.type)
|
|
269
|
-
m[this.pk] = ids[i];
|
|
270
|
-
await (0, db_decorators_1.enforceDBDecorators)(this, contextArgs.context, m, db_decorators_2.OperationKeys.CREATE, db_decorators_2.OperationKeys.ON);
|
|
271
|
-
return m;
|
|
272
|
-
}));
|
|
273
|
-
const ignoredProps = contextArgs.context.get("ignoredValidationProperties") || [];
|
|
274
|
-
const errors = await Promise.all(models.map((m) => Promise.resolve(m.hasErrors(...ignoredProps))));
|
|
275
|
-
const errorMessages = errors.reduce((accum, e, i) => {
|
|
276
|
-
if (e)
|
|
277
|
-
accum =
|
|
278
|
-
typeof accum === "string"
|
|
279
|
-
? accum + `\n - ${i}: ${e.toString()}`
|
|
280
|
-
: ` - ${i}: ${e.toString()}`;
|
|
281
|
-
return accum;
|
|
282
|
-
}, undefined);
|
|
283
|
-
if (errorMessages)
|
|
284
|
-
throw new db_decorators_1.ValidationError(errorMessages);
|
|
285
|
-
return [models, ...contextArgs.args];
|
|
286
|
-
}
|
|
287
|
-
async createPrefix(model, ...args) {
|
|
288
|
-
const result = await super.createPrefix(model, ...args);
|
|
289
|
-
const id = result[0][this.pk];
|
|
290
|
-
try {
|
|
291
|
-
const res = await this.read(String(id), ...args);
|
|
292
|
-
if (res) {
|
|
293
|
-
throw new db_decorators_1.ConflictError(`Conflict detected while creating model with id: ${id} already exists`);
|
|
294
|
-
}
|
|
295
|
-
}
|
|
296
|
-
catch (e) {
|
|
297
|
-
if (e.code === 404) {
|
|
298
|
-
this.logFor(args[args.length - 1]).info(`Record entry with pk ${id} does not exist, creating it now...`);
|
|
299
|
-
}
|
|
300
|
-
else {
|
|
301
|
-
throw e;
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
return result;
|
|
109
|
+
return await super.updateObservers(table, event, id, ...args);
|
|
305
110
|
}
|
|
306
111
|
}
|
|
307
112
|
exports.FabricContractRepository = FabricContractRepository;
|
|
@@ -1,13 +1,11 @@
|
|
|
1
|
-
import { Repository, ObserverHandler, EventIds,
|
|
2
|
-
import { FabricContractAdapter } from "./ContractAdapter";
|
|
3
|
-
import { FabricContractFlags } from "./types";
|
|
1
|
+
import { Repository, ObserverHandler, EventIds, MaybeContextualArg } from "@decaf-ts/core";
|
|
4
2
|
import { FabricContractContext } from "./ContractContext";
|
|
5
3
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
6
|
-
import { MangoQuery } from "@decaf-ts/for-couchdb";
|
|
7
4
|
import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
|
|
8
5
|
import { Context } from "fabric-contract-api";
|
|
9
6
|
import { ContractLogger } from "./logging";
|
|
10
7
|
import { Constructor } from "@decaf-ts/decoration";
|
|
8
|
+
import type { FabricContractAdapter } from "./ContractAdapter";
|
|
11
9
|
/**
|
|
12
10
|
* @description Repository for Hyperledger Fabric chaincode models
|
|
13
11
|
* @summary Provides CRUD operations for models within Fabric chaincode contracts
|
|
@@ -72,7 +70,7 @@ import { Constructor } from "@decaf-ts/decoration";
|
|
|
72
70
|
* Adapter-->>Repository: model
|
|
73
71
|
* Repository-->>Contract: model
|
|
74
72
|
*/
|
|
75
|
-
export declare class FabricContractRepository<M extends Model> extends Repository<M,
|
|
73
|
+
export declare class FabricContractRepository<M extends Model> extends Repository<M, FabricContractAdapter> {
|
|
76
74
|
protected trackedEvents?: (OperationKeys | BulkCrudOperationKeys | string)[] | undefined;
|
|
77
75
|
constructor(adapter?: FabricContractAdapter, clazz?: Constructor<M>, trackedEvents?: (OperationKeys | BulkCrudOperationKeys | string)[] | undefined);
|
|
78
76
|
/**
|
|
@@ -81,63 +79,13 @@ export declare class FabricContractRepository<M extends Model> extends Repositor
|
|
|
81
79
|
* @param {Ctx} ctx - The Fabric chaincode context
|
|
82
80
|
* @return {ContractLogger} The logger instance
|
|
83
81
|
*/
|
|
84
|
-
logFor(ctx: Context): ContractLogger;
|
|
85
|
-
/**
|
|
86
|
-
* @description Creates a single model in the state database
|
|
87
|
-
* @summary Prepares, creates, and reverts a model using the adapter
|
|
88
|
-
* @param {M} model - The model to create
|
|
89
|
-
* @param {...any[]} args - Additional arguments, including the chaincode context
|
|
90
|
-
* @return {Promise<M>} Promise resolving to the created model
|
|
91
|
-
*/
|
|
92
|
-
create(model: M, ...args: any[]): Promise<M>;
|
|
93
|
-
read(id: string | number | bigint, ...args: any[]): Promise<M>;
|
|
94
|
-
/**
|
|
95
|
-
* @description Deletes a model from the database by ID.
|
|
96
|
-
* @summary Removes a model instance from the database using its primary key.
|
|
97
|
-
* @param {string|number|bigint} id - The primary key of the model to delete.
|
|
98
|
-
* @param {...any[]} args - Additional arguments.
|
|
99
|
-
* @return {Promise<M>} The deleted model instance.
|
|
100
|
-
*/
|
|
101
|
-
delete(id: string, ...args: any[]): Promise<M>;
|
|
102
|
-
/**
|
|
103
|
-
* @description Updates a single model in the state database
|
|
104
|
-
* @summary Prepares, updates, and reverts a model using the adapter
|
|
105
|
-
* @param {M} model - The model to update
|
|
106
|
-
* @param {...any[]} args - Additional arguments, including the chaincode context
|
|
107
|
-
* @return {Promise<M>} Promise resolving to the updated model
|
|
108
|
-
*/
|
|
109
|
-
update(model: M, ...args: any[]): Promise<M>;
|
|
82
|
+
logFor(ctx: Context | FabricContractContext): ContractLogger;
|
|
110
83
|
/**
|
|
111
84
|
* @description Gets the observer handler for this repository
|
|
112
85
|
* @summary Returns a FabricContractRepositoryObservableHandler instance
|
|
113
86
|
* @return {ObserverHandler} The observer handler
|
|
114
87
|
*/
|
|
115
88
|
ObserverHandler(): ObserverHandler;
|
|
116
|
-
/**
|
|
117
|
-
* @description Creates multiple models in the state database
|
|
118
|
-
* @summary Prepares, creates, and reverts multiple models using the adapter
|
|
119
|
-
* @param {M[]} models - The models to create
|
|
120
|
-
* @param {...any[]} args - Additional arguments, including the chaincode context
|
|
121
|
-
* @return {Promise<M[]>} Promise resolving to the created models
|
|
122
|
-
*/
|
|
123
|
-
createAll(models: M[], ...args: any[]): Promise<M[]>;
|
|
124
|
-
/**
|
|
125
|
-
* @description Updates multiple models in the state database
|
|
126
|
-
* @summary Prepares, updates, and reverts multiple models using the adapter
|
|
127
|
-
* @param {M[]} models - The models to update
|
|
128
|
-
* @param {...any[]} args - Additional arguments, including the chaincode context
|
|
129
|
-
* @return {Promise<M[]>} Promise resolving to the updated models
|
|
130
|
-
*/
|
|
131
|
-
updateAll(models: M[], ...args: any[]): Promise<M[]>;
|
|
132
|
-
/**
|
|
133
|
-
* @description Executes a raw query against the state database
|
|
134
|
-
* @summary Delegates to the adapter's raw method
|
|
135
|
-
* @param {MangoQuery} rawInput - The Mango Query to execute
|
|
136
|
-
* @param {boolean} docsOnly - Whether to return only documents
|
|
137
|
-
* @param {...any[]} args - Additional arguments, including the chaincode context
|
|
138
|
-
* @return {Promise<any>} Promise resolving to the query results
|
|
139
|
-
*/
|
|
140
|
-
raw(rawInput: MangoQuery, docsOnly: boolean, ...args: any[]): Promise<unknown>;
|
|
141
89
|
/**
|
|
142
90
|
* @description Updates observers based on tracked events
|
|
143
91
|
* @summary Filters events based on trackedEvents and delegates to the parent method
|
|
@@ -148,16 +96,5 @@ export declare class FabricContractRepository<M extends Model> extends Repositor
|
|
|
148
96
|
* @param {...any[]} args - Additional arguments
|
|
149
97
|
* @return {Promise<void>} Promise that resolves when observers are updated
|
|
150
98
|
*/
|
|
151
|
-
updateObservers(table: string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds,
|
|
152
|
-
selectWithContext<S extends readonly (keyof M)[]>(selector?: readonly [...S], ctx?: FabricContractContext | Context): Promise<WhereOption<M, M[]> | WhereOption<M, Pick<M, S[number]>[]>>;
|
|
153
|
-
/**
|
|
154
|
-
* @description Prepares multiple models for creation.
|
|
155
|
-
* @summary Validates multiple models and prepares them for creation in the database.
|
|
156
|
-
* @param {M[]} models - The models to create.
|
|
157
|
-
* @param {...any[]} args - Additional arguments.
|
|
158
|
-
* @return The prepared models and context arguments.
|
|
159
|
-
* @throws {ValidationError} If any model fails validation.
|
|
160
|
-
*/
|
|
161
|
-
protected createAllPrefix(models: M[], ...args: any[]): Promise<any[]>;
|
|
162
|
-
protected createPrefix(model: M, ...args: any[]): Promise<[M, ...any[]]>;
|
|
99
|
+
updateObservers(table: Constructor<M> | string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args: MaybeContextualArg<FabricContractContext>): Promise<void>;
|
|
163
100
|
}
|