@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
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Repository } from "@decaf-ts/core";
|
|
2
|
+
import type { FlagsOf } from "@decaf-ts/core";
|
|
2
3
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { MangoQuery } from "@decaf-ts/for-couchdb";
|
|
4
|
-
import { Context } from "@decaf-ts/db-decorators";
|
|
5
|
-
import { FabricFlags } from "../shared";
|
|
6
4
|
import { Constructor } from "@decaf-ts/decoration";
|
|
5
|
+
import type { FabricClientAdapter } from "./FabricClientAdapter";
|
|
7
6
|
/**
|
|
8
7
|
* @description Repository implementation for Fabric client operations
|
|
9
8
|
* @summary Extends the generic Repository to prepare context and arguments for CRUD operations executed via a Fabric client Adapter, wiring RepositoryFlags and Fabric-specific overrides.
|
|
@@ -32,78 +31,7 @@ import { Constructor } from "@decaf-ts/decoration";
|
|
|
32
31
|
* Adapter-->>Repo: result
|
|
33
32
|
* Repo-->>App: model
|
|
34
33
|
*/
|
|
35
|
-
export declare class FabricClientRepository<M extends Model> extends Repository<M,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
* @description Prepare arguments and context for create
|
|
39
|
-
* @summary Builds repository context and ensures the model is instantiated with the repository's class before delegating to the adapter
|
|
40
|
-
* @param {M} model - The model instance to create
|
|
41
|
-
* @param {...any[]} args - Additional operation arguments and flags
|
|
42
|
-
* @return {...any[]} Tuple containing the prepared model and the processed arguments
|
|
43
|
-
*/
|
|
44
|
-
protected createPrefix(model: M, ...args: any[]): Promise<[M, ...any[]]>;
|
|
45
|
-
/**
|
|
46
|
-
* @description Prepare arguments and context for bulk create
|
|
47
|
-
* @summary Resolves repository context for a createAll operation passing through models and processed arguments
|
|
48
|
-
* @param {M[]} models - Array of model instances to create
|
|
49
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
50
|
-
* @return {...any[]} Tuple containing the models array and processed arguments
|
|
51
|
-
*/
|
|
52
|
-
protected createAllPrefix(models: M[], ...args: any[]): Promise<any[]>;
|
|
53
|
-
/**
|
|
54
|
-
* @description Prepare arguments and context for read
|
|
55
|
-
* @summary Resolves repository context for a read operation and forwards the key and processed arguments
|
|
56
|
-
* @param {string} key - The model primary key to read
|
|
57
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
58
|
-
* @return {...any[]} Tuple containing the key and processed arguments
|
|
59
|
-
*/
|
|
60
|
-
protected readPrefix(key: string, ...args: any[]): Promise<any[]>;
|
|
61
|
-
/**
|
|
62
|
-
* @description Prepare arguments and context for bulk read
|
|
63
|
-
* @summary Resolves repository context for a readAll operation and forwards the keys and processed arguments
|
|
64
|
-
* @param {(string[]|number[])} keys - Array of model primary keys to read
|
|
65
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
66
|
-
* @return {...any[]} Tuple containing the keys and processed arguments
|
|
67
|
-
*/
|
|
68
|
-
protected readAllPrefix(keys: string[] | number[], ...args: any[]): Promise<any[]>;
|
|
69
|
-
/**
|
|
70
|
-
* @description Prepare arguments and context for update
|
|
71
|
-
* @summary Resolves repository context for an update operation and forwards the model and processed arguments
|
|
72
|
-
* @param {M} model - The model instance to update
|
|
73
|
-
* @param {...any[]} args - Additional operation arguments and flags
|
|
74
|
-
* @return {...any[]} Tuple containing the model and processed arguments
|
|
75
|
-
*/
|
|
76
|
-
protected updatePrefix(model: M, ...args: any[]): Promise<[M, ...args: any[]]>;
|
|
77
|
-
update(model: M, ...args: any[]): Promise<M>;
|
|
78
|
-
/**
|
|
79
|
-
* @description Prepare arguments and context for bulk update
|
|
80
|
-
* @summary Resolves repository context for an updateAll operation and forwards the models and processed arguments
|
|
81
|
-
* @param {M[]} models - The model instances to update
|
|
82
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
83
|
-
* @return {...any[]} Tuple containing the models and processed arguments
|
|
84
|
-
*/
|
|
85
|
-
protected updateAllPrefix(models: M[], ...args: any[]): Promise<any[]>;
|
|
86
|
-
/**
|
|
87
|
-
* @description Prepare arguments and context for delete
|
|
88
|
-
* @summary Resolves repository context for a delete operation, ensures the target exists via read, then forwards key and processed arguments
|
|
89
|
-
* @param {string|number} key - The model primary key to delete
|
|
90
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
91
|
-
* @return {...any[]} Tuple containing the key and processed arguments
|
|
92
|
-
*/
|
|
93
|
-
protected deletePrefix(key: any, ...args: any[]): Promise<any[]>;
|
|
94
|
-
/**
|
|
95
|
-
* @description Prepare arguments and context for bulk delete
|
|
96
|
-
* @summary Resolves repository context for a deleteAll operation, validates existence via readAll, then forwards keys and processed arguments
|
|
97
|
-
* @param {(string[]|number[])} keys - The model primary keys to delete
|
|
98
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
99
|
-
* @return {...any[]} Tuple containing the keys and processed arguments
|
|
100
|
-
*/
|
|
101
|
-
protected deleteAllPrefix(keys: string[] | number[], ...args: any[]): Promise<any[]>;
|
|
102
|
-
create(model: M, ...args: any[]): Promise<M>;
|
|
103
|
-
createAll(models: M[], ...args: any[]): Promise<M[]>;
|
|
104
|
-
read(id: string | number | bigint, ...args: any[]): Promise<M>;
|
|
105
|
-
readAll(keys: string[] | number[], ...args: any[]): Promise<M[]>;
|
|
106
|
-
updateAll(models: M[], ...args: any[]): Promise<M[]>;
|
|
107
|
-
delete(id: string | number | bigint, ...args: any[]): Promise<M>;
|
|
108
|
-
deleteAll(keys: string[] | number[], ...args: any[]): Promise<M[]>;
|
|
34
|
+
export declare class FabricClientRepository<M extends Model> extends Repository<M, FabricClientAdapter> {
|
|
35
|
+
_overrides?: Partial<FlagsOf<FabricClientAdapter>>;
|
|
36
|
+
constructor(adapter?: FabricClientAdapter, clazz?: Constructor<M>);
|
|
109
37
|
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Repository } from "@decaf-ts/core";
|
|
2
|
-
import { Context, OperationKeys, } from "@decaf-ts/db-decorators";
|
|
3
2
|
/**
|
|
4
3
|
* @description Repository implementation for Fabric client operations
|
|
5
4
|
* @summary Extends the generic Repository to prepare context and arguments for CRUD operations executed via a Fabric client Adapter, wiring RepositoryFlags and Fabric-specific overrides.
|
|
@@ -31,142 +30,10 @@ import { Context, OperationKeys, } from "@decaf-ts/db-decorators";
|
|
|
31
30
|
export class FabricClientRepository extends Repository {
|
|
32
31
|
constructor(adapter, clazz) {
|
|
33
32
|
super(adapter, clazz);
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
* @param {M} model - The model instance to create
|
|
39
|
-
* @param {...any[]} args - Additional operation arguments and flags
|
|
40
|
-
* @return {...any[]} Tuple containing the prepared model and the processed arguments
|
|
41
|
-
*/
|
|
42
|
-
async createPrefix(model, ...args) {
|
|
43
|
-
const contextArgs = await Context.args(OperationKeys.CREATE, this.class, args, this.adapter, this._overrides || {});
|
|
44
|
-
model = new this.class(model);
|
|
45
|
-
return [model, ...contextArgs.args];
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* @description Prepare arguments and context for bulk create
|
|
49
|
-
* @summary Resolves repository context for a createAll operation passing through models and processed arguments
|
|
50
|
-
* @param {M[]} models - Array of model instances to create
|
|
51
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
52
|
-
* @return {...any[]} Tuple containing the models array and processed arguments
|
|
53
|
-
*/
|
|
54
|
-
async createAllPrefix(models, ...args) {
|
|
55
|
-
const contextArgs = await Context.args(OperationKeys.CREATE, this.class, args, this.adapter, this._overrides || {});
|
|
56
|
-
return [models, ...contextArgs.args];
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* @description Prepare arguments and context for read
|
|
60
|
-
* @summary Resolves repository context for a read operation and forwards the key and processed arguments
|
|
61
|
-
* @param {string} key - The model primary key to read
|
|
62
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
63
|
-
* @return {...any[]} Tuple containing the key and processed arguments
|
|
64
|
-
*/
|
|
65
|
-
async readPrefix(key, ...args) {
|
|
66
|
-
const contextArgs = await Context.args(OperationKeys.READ, this.class, args, this.adapter, this._overrides || {});
|
|
67
|
-
return [key, ...contextArgs.args];
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* @description Prepare arguments and context for bulk read
|
|
71
|
-
* @summary Resolves repository context for a readAll operation and forwards the keys and processed arguments
|
|
72
|
-
* @param {(string[]|number[])} keys - Array of model primary keys to read
|
|
73
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
74
|
-
* @return {...any[]} Tuple containing the keys and processed arguments
|
|
75
|
-
*/
|
|
76
|
-
async readAllPrefix(keys, ...args) {
|
|
77
|
-
const contextArgs = await Context.args(OperationKeys.READ, this.class, args, this.adapter, this._overrides || {});
|
|
78
|
-
return [keys, ...contextArgs.args];
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* @description Prepare arguments and context for update
|
|
82
|
-
* @summary Resolves repository context for an update operation and forwards the model and processed arguments
|
|
83
|
-
* @param {M} model - The model instance to update
|
|
84
|
-
* @param {...any[]} args - Additional operation arguments and flags
|
|
85
|
-
* @return {...any[]} Tuple containing the model and processed arguments
|
|
86
|
-
*/
|
|
87
|
-
async updatePrefix(model, ...args) {
|
|
88
|
-
const contextArgs = await Context.args(OperationKeys.UPDATE, this.class, args, this.adapter, this._overrides || {});
|
|
89
|
-
return [model, ...contextArgs.args];
|
|
90
|
-
}
|
|
91
|
-
async update(model, ...args) {
|
|
92
|
-
// eslint-disable-next-line prefer-const
|
|
93
|
-
let { record, id, transient } = this.adapter.prepare(model, this.pk);
|
|
94
|
-
record = await this.adapter.update(this.class, id, record, ...args);
|
|
95
|
-
return this.adapter.revert(record, this.class, this.pk, id, transient);
|
|
96
|
-
}
|
|
97
|
-
/**
|
|
98
|
-
* @description Prepare arguments and context for bulk update
|
|
99
|
-
* @summary Resolves repository context for an updateAll operation and forwards the models and processed arguments
|
|
100
|
-
* @param {M[]} models - The model instances to update
|
|
101
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
102
|
-
* @return {...any[]} Tuple containing the models and processed arguments
|
|
103
|
-
*/
|
|
104
|
-
async updateAllPrefix(models, ...args) {
|
|
105
|
-
const contextArgs = await Context.args(OperationKeys.UPDATE, this.class, args, this.adapter, this._overrides || {});
|
|
106
|
-
return [models, ...contextArgs.args];
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* @description Prepare arguments and context for delete
|
|
110
|
-
* @summary Resolves repository context for a delete operation, ensures the target exists via read, then forwards key and processed arguments
|
|
111
|
-
* @param {string|number} key - The model primary key to delete
|
|
112
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
113
|
-
* @return {...any[]} Tuple containing the key and processed arguments
|
|
114
|
-
*/
|
|
115
|
-
async deletePrefix(key, ...args) {
|
|
116
|
-
const contextArgs = await Context.args(OperationKeys.DELETE, this.class, args, this.adapter, this._overrides || {});
|
|
117
|
-
await this.read(key, ...contextArgs.args);
|
|
118
|
-
return [key, ...contextArgs.args];
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* @description Prepare arguments and context for bulk delete
|
|
122
|
-
* @summary Resolves repository context for a deleteAll operation, validates existence via readAll, then forwards keys and processed arguments
|
|
123
|
-
* @param {(string[]|number[])} keys - The model primary keys to delete
|
|
124
|
-
* @param {...any} args - Additional operation arguments and flags
|
|
125
|
-
* @return {...any[]} Tuple containing the keys and processed arguments
|
|
126
|
-
*/
|
|
127
|
-
async deleteAllPrefix(keys, ...args) {
|
|
128
|
-
const contextArgs = await Context.args(OperationKeys.DELETE, this.class, args, this.adapter, this._overrides || {});
|
|
129
|
-
await this.readAll(keys, ...contextArgs.args);
|
|
130
|
-
return [keys, ...contextArgs.args];
|
|
131
|
-
}
|
|
132
|
-
async create(model, ...args) {
|
|
133
|
-
// eslint-disable-next-line prefer-const
|
|
134
|
-
let { record, id, transient } = this.adapter.prepare(model, this.pk);
|
|
135
|
-
record = await this.adapter.create(this.class, id, record, ...args);
|
|
136
|
-
let c = undefined;
|
|
137
|
-
if (args.length)
|
|
138
|
-
c = args[args.length - 1];
|
|
139
|
-
return this.adapter.revert(record, this.class, this.pk, id, c && c.get("rebuildWithTransient") ? transient : undefined);
|
|
140
|
-
}
|
|
141
|
-
async createAll(models, ...args) {
|
|
142
|
-
if (!models.length)
|
|
143
|
-
return models;
|
|
144
|
-
const prepared = models.map((m) => this.adapter.prepare(m, this.pk));
|
|
145
|
-
const ids = prepared.map((p) => p.id);
|
|
146
|
-
let records = prepared.map((p) => p.record);
|
|
147
|
-
records = await this.adapter.createAll(this.class, ids, records, ...args);
|
|
148
|
-
return records.map((r, i) => this.adapter.revert(r, this.class, this.pk, ids[i]));
|
|
149
|
-
}
|
|
150
|
-
async read(id, ...args) {
|
|
151
|
-
const m = await this.adapter.read(this.class, id, ...args);
|
|
152
|
-
return this.adapter.revert(m, this.class, this.pk, id);
|
|
153
|
-
}
|
|
154
|
-
async readAll(keys, ...args) {
|
|
155
|
-
const records = await this.adapter.readAll(this.class, keys, ...args);
|
|
156
|
-
return records.map((r, i) => this.adapter.revert(r, this.class, this.pk, keys[i]));
|
|
157
|
-
}
|
|
158
|
-
async updateAll(models, ...args) {
|
|
159
|
-
const records = models.map((m) => this.adapter.prepare(m, this.pk));
|
|
160
|
-
const updated = await this.adapter.updateAll(this.class, records.map((r) => r.id), records.map((r) => r.record), ...args);
|
|
161
|
-
return updated.map((u, i) => this.adapter.revert(u, this.class, this.pk, records[i].id));
|
|
162
|
-
}
|
|
163
|
-
async delete(id, ...args) {
|
|
164
|
-
const m = await this.adapter.delete(this.class, id, ...args);
|
|
165
|
-
return this.adapter.revert(m, this.class, this.pk, id);
|
|
166
|
-
}
|
|
167
|
-
async deleteAll(keys, ...args) {
|
|
168
|
-
const results = await this.adapter.deleteAll(this.class, keys, ...args);
|
|
169
|
-
return results.map((r, i) => this.adapter.revert(r, this.class, this.pk, keys[i]));
|
|
33
|
+
this._overrides = {
|
|
34
|
+
ignoreValidation: true,
|
|
35
|
+
ignoreHandlers: true,
|
|
36
|
+
};
|
|
170
37
|
}
|
|
171
38
|
}
|
|
172
39
|
//# sourceMappingURL=FabricClientRepository.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricClientRepository.js","sourceRoot":"","sources":["../../../src/client/FabricClientRepository.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"FabricClientRepository.js","sourceRoot":"","sources":["../../../src/client/FabricClientRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAM5C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,OAAO,sBAAwC,SAAQ,UAG5D;IAMC,YAAY,OAA6B,EAAE,KAAsB;QAC/D,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QANf,eAAU,GAA2C;YAC5D,gBAAgB,EAAE,IAAI;YACtB,cAAc,EAAE,IAAI;SACrB,CAAC;IAIF,CAAC;CACF"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { FabricClientRepository } from "../FabricClientRepository";
|
|
2
2
|
import { ERC20Token, ERC20Wallet } from "../../contracts/erc20/models";
|
|
3
|
-
import { Serializer } from "@decaf-ts/decorator-validation";
|
|
4
|
-
import { FabricClientAdapter } from "../FabricClientAdapter";
|
|
5
|
-
import { EventIds } from "@decaf-ts/core";
|
|
3
|
+
import { Model, Serializer } from "@decaf-ts/decorator-validation";
|
|
4
|
+
import { FabricClientAdapter, FabricClientContext } from "../FabricClientAdapter";
|
|
5
|
+
import { ContextualArgs, EventIds } from "@decaf-ts/core";
|
|
6
6
|
import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
|
|
7
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
7
8
|
/**
|
|
8
9
|
* Repository for interacting with ERC20 contracts on a Hyperledger Fabric network.
|
|
9
10
|
* Extends the base FabricClientRepository class and utilizes the ClientSerializer for data serialization.
|
|
@@ -22,7 +23,7 @@ export declare class FabricERC20ClientRepository extends FabricClientRepository<
|
|
|
22
23
|
* @return {Promise<void>} A promise that resolves when all observers have been notified.
|
|
23
24
|
* @throws {InternalError} If the observer handler is not initialized.
|
|
24
25
|
*/
|
|
25
|
-
updateObservers(table: string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args:
|
|
26
|
+
updateObservers<M extends Model>(table: Constructor<M> | string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args: ContextualArgs<FabricClientContext>): Promise<void>;
|
|
26
27
|
/**
|
|
27
28
|
* Decodes a Uint8Array into a string using the TextDecoder.
|
|
28
29
|
*
|
|
@@ -30,7 +31,6 @@ export declare class FabricERC20ClientRepository extends FabricClientRepository<
|
|
|
30
31
|
* @returns The decoded string.
|
|
31
32
|
*/
|
|
32
33
|
decode(data: Uint8Array): string;
|
|
33
|
-
protected get adapter(): FabricClientAdapter;
|
|
34
34
|
constructor(adapter?: FabricClientAdapter);
|
|
35
35
|
/**
|
|
36
36
|
* Retrieves the name of the ERC20 token.
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { FabricClientRepository } from "./../FabricClientRepository.js";
|
|
2
2
|
import { ERC20Wallet } from "./../../contracts/erc20/models.js";
|
|
3
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
4
|
import { ClientSerializer } from "./../../shared/ClientSerializer.js";
|
|
4
5
|
import { Sequence } from "@decaf-ts/core";
|
|
5
6
|
import { InternalError, } from "@decaf-ts/db-decorators";
|
|
@@ -23,20 +24,20 @@ export class FabricERC20ClientRepository extends FabricClientRepository {
|
|
|
23
24
|
async updateObservers(table, event, id, ...args) {
|
|
24
25
|
if (!this.observerHandler)
|
|
25
26
|
throw new InternalError("ObserverHandler not initialized. Did you register any observables?");
|
|
26
|
-
this.
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
const { log, ctxArgs } = this.logCtx(args, this.updateObservers);
|
|
28
|
+
log.verbose(`Updating ${this.observerHandler.count()} observers for ${this}`);
|
|
29
|
+
table = (typeof table === "string" ? Model.get(table) : table);
|
|
29
30
|
let parsedId;
|
|
30
31
|
if (id === undefined) {
|
|
31
32
|
parsedId = undefined;
|
|
32
33
|
}
|
|
33
34
|
else if (Array.isArray(id)) {
|
|
34
|
-
parsedId = id.map((i) => Sequence.parseValue(
|
|
35
|
+
parsedId = id.map((i) => Sequence.parseValue(Model.sequenceFor(table).type, i));
|
|
35
36
|
}
|
|
36
37
|
else {
|
|
37
|
-
parsedId = Sequence.parseValue(
|
|
38
|
+
parsedId = Sequence.parseValue(Model.sequenceFor(table).type, id);
|
|
38
39
|
}
|
|
39
|
-
await this.observerHandler.updateObservers(
|
|
40
|
+
await this.observerHandler.updateObservers(table, event, parsedId, ...ctxArgs);
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
43
|
* Decodes a Uint8Array into a string using the TextDecoder.
|
|
@@ -47,9 +48,6 @@ export class FabricERC20ClientRepository extends FabricClientRepository {
|
|
|
47
48
|
decode(data) {
|
|
48
49
|
return FabricERC20ClientRepository.decoder.decode(data);
|
|
49
50
|
}
|
|
50
|
-
get adapter() {
|
|
51
|
-
return super.adapter;
|
|
52
|
-
}
|
|
53
51
|
constructor(adapter) {
|
|
54
52
|
super(adapter, ERC20Wallet);
|
|
55
53
|
this.serializer = FabricERC20ClientRepository.serializer;
|
|
@@ -66,7 +64,7 @@ export class FabricERC20ClientRepository extends FabricClientRepository {
|
|
|
66
64
|
* @throws {Error} If the transaction fails or the decoding process fails.
|
|
67
65
|
*/
|
|
68
66
|
async tokenName() {
|
|
69
|
-
const name = await this.adapter.
|
|
67
|
+
const name = await this.adapter.evaluateTransaction("TokenName");
|
|
70
68
|
return this.decode(name);
|
|
71
69
|
}
|
|
72
70
|
/**
|
|
@@ -80,7 +78,7 @@ export class FabricERC20ClientRepository extends FabricClientRepository {
|
|
|
80
78
|
* @throws {Error} If the transaction fails or the decoding process fails.
|
|
81
79
|
*/
|
|
82
80
|
async symbol() {
|
|
83
|
-
const symbol = await this.adapter.
|
|
81
|
+
const symbol = await this.adapter.evaluateTransaction("Symbol");
|
|
84
82
|
return this.decode(symbol);
|
|
85
83
|
}
|
|
86
84
|
/**
|
|
@@ -94,7 +92,7 @@ export class FabricERC20ClientRepository extends FabricClientRepository {
|
|
|
94
92
|
* @throws {Error} If the transaction fails or the decoding process fails.
|
|
95
93
|
*/
|
|
96
94
|
async decimals() {
|
|
97
|
-
const decimals = await this.adapter.
|
|
95
|
+
const decimals = await this.adapter.evaluateTransaction("Decimals");
|
|
98
96
|
return Number(this.decode(decimals));
|
|
99
97
|
}
|
|
100
98
|
/**
|
|
@@ -108,7 +106,7 @@ export class FabricERC20ClientRepository extends FabricClientRepository {
|
|
|
108
106
|
* @throws {Error} If the transaction fails or the decoding process fails.
|
|
109
107
|
*/
|
|
110
108
|
async totalSupply() {
|
|
111
|
-
const total = await this.adapter.
|
|
109
|
+
const total = await this.adapter.evaluateTransaction("TotalSupply");
|
|
112
110
|
return Number(this.decode(total));
|
|
113
111
|
}
|
|
114
112
|
/**
|
|
@@ -126,7 +124,9 @@ export class FabricERC20ClientRepository extends FabricClientRepository {
|
|
|
126
124
|
* @throws {Error} If the transaction fails or the decoding process fails.
|
|
127
125
|
*/
|
|
128
126
|
async balanceOf(owner) {
|
|
129
|
-
const balance = await this.adapter.
|
|
127
|
+
const balance = await this.adapter.evaluateTransaction("BalanceOf", [
|
|
128
|
+
owner,
|
|
129
|
+
]);
|
|
130
130
|
return Number(this.decode(balance));
|
|
131
131
|
}
|
|
132
132
|
/**
|
|
@@ -250,7 +250,7 @@ export class FabricERC20ClientRepository extends FabricClientRepository {
|
|
|
250
250
|
* @throws {Error} If the transaction fails.
|
|
251
251
|
*/
|
|
252
252
|
async checkInitialized() {
|
|
253
|
-
await this.adapter.
|
|
253
|
+
await this.adapter.evaluateTransaction("CheckInitialized");
|
|
254
254
|
}
|
|
255
255
|
/**
|
|
256
256
|
* Mints a specified amount of ERC20 tokens.
|
|
@@ -317,7 +317,7 @@ export class FabricERC20ClientRepository extends FabricClientRepository {
|
|
|
317
317
|
* @throws {Error} If the transaction fails or the decoding process fails.
|
|
318
318
|
*/
|
|
319
319
|
async clientAccountBalance() {
|
|
320
|
-
const serializedAccountBalance = await this.adapter.
|
|
320
|
+
const serializedAccountBalance = await this.adapter.evaluateTransaction("ClientAccountBalance");
|
|
321
321
|
return Number(this.decode(serializedAccountBalance));
|
|
322
322
|
}
|
|
323
323
|
/**
|
|
@@ -332,7 +332,7 @@ export class FabricERC20ClientRepository extends FabricClientRepository {
|
|
|
332
332
|
* @throws {Error} If the transaction fails or the decoding process fails.
|
|
333
333
|
*/
|
|
334
334
|
async clientAccountID() {
|
|
335
|
-
const clientAccountID = await this.adapter.
|
|
335
|
+
const clientAccountID = await this.adapter.evaluateTransaction("ClientAccountID");
|
|
336
336
|
return this.decode(clientAccountID);
|
|
337
337
|
}
|
|
338
338
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricERC20ClientRepository.js","sourceRoot":"","sources":["../../../../src/client/erc20/FabricERC20ClientRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,uCAAkC;AACnE,OAAO,EAAc,WAAW,EAAE,0CAAqC;
|
|
1
|
+
{"version":3,"file":"FabricERC20ClientRepository.js","sourceRoot":"","sources":["../../../../src/client/erc20/FabricERC20ClientRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,uCAAkC;AACnE,OAAO,EAAc,WAAW,EAAE,0CAAqC;AACvE,OAAO,EAAE,KAAK,EAAc,MAAM,gCAAgC,CAAC;AAKnE,OAAO,EAAE,gBAAgB,EAAE,2CAAsC;AACjE,OAAO,EAA4B,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACpE,OAAO,EAEL,aAAa,GAEd,MAAM,yBAAyB,CAAC;AAEjC;;;GAGG;AACH,MAAM,OAAO,2BAA4B,SAAQ,sBAAmC;aACnE,eAAU,GAAG,IAAI,gBAAgB,EAAE,AAAzB,CAA0B;aAKpC,YAAO,GAAG,IAAI,WAAW,CAAC,MAAM,CAAC,AAA1B,CAA2B;IAEjD;;;;;;;;;OASG;IACM,KAAK,CAAC,eAAe,CAC5B,KAA8B,EAC9B,KAAqD,EACrD,EAAY,EACZ,GAAG,IAAyC;QAE5C,IAAI,CAAC,IAAI,CAAC,eAAe;YACvB,MAAM,IAAI,aAAa,CACrB,oEAAoE,CACrE,CAAC;QACJ,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;QACjE,GAAG,CAAC,OAAO,CACT,YAAY,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,kBAAkB,IAAI,EAAE,CACjE,CAAC;QAEF,KAAK,GAAG,CACN,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CACnC,CAAC;QACpB,IAAI,QAAuC,CAAC;QAE5C,IAAI,EAAE,KAAK,SAAS,EAAE,CAAC;YACrB,QAAQ,GAAG,SAAS,CAAC;QACvB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;YAC7B,QAAQ,GAAG,EAAE,CAAC,GAAG,CACf,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAW,CACvE,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAC5B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,IAAI,EAC7B,EAAE,CACO,CAAC;QACd,CAAC;QACD,MAAM,IAAI,CAAC,eAAe,CAAC,eAAe,CACxC,KAAK,EACL,KAAK,EACL,QAAS,EACT,GAAG,OAAO,CACX,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAgB;QACrB,OAAO,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1D,CAAC;IAED,YAAY,OAA6B;QACvC,KAAK,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAlEX,eAAU,GAC3B,2BAA2B,CAAC,UAAU,CAAC;IAkEzC,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,MAAM;QACV,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,QAAQ;QACZ,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,WAAW;QACf,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,SAAS,CAAC,KAAa;QAC3B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,EAAE;YAClE,KAAK;SACN,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACtC,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,KAAa;QACtC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE;YACnE,EAAE;YACF,KAAK,CAAC,QAAQ,EAAE;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,KAAK,CAAC,YAAY,CAChB,IAAY,EACZ,EAAU,EACV,KAAa;QAEb,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,cAAc,EAAE;YACvE,IAAI;YACJ,EAAE;YACF,KAAK,CAAC,QAAQ,EAAE;SACjB,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,KAAa;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,EAAE;YAC/D,OAAO;YACP,KAAK,CAAC,QAAQ,EAAE;SACjB,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;;OAcG;IACH,KAAK,CAAC,SAAS,CAAC,KAAa,EAAE,OAAe;QAC5C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,EAAE;YAClE,KAAK;YACL,OAAO;SACR,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,UAAU,CAAC,KAAiB;QAChC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,YAAY,EAAE;YACrE,2BAA2B,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC;SACxD,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5D,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CAAC,gBAAgB;QACpB,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;;OAYG;IACH,KAAK,CAAC,IAAI,CAAC,MAAc;QACvB,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;IACpE,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,MAAc;QAC5C,MAAM,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,UAAU,EAAE;YAC/C,OAAO;YACP,MAAM,CAAC,QAAQ,EAAE;SAClB,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,oBAAoB;QACxB,MAAM,wBAAwB,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CACrE,sBAAsB,CACvB,CAAC;QAEF,OAAO,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC;IACvD,CAAC;IAED;;;;;;;;;;OAUG;IACH,KAAK,CAAC,eAAe;QACnB,MAAM,eAAe,GACnB,MAAM,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,CAAC;QAE5D,OAAO,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC"}
|
|
@@ -91,9 +91,7 @@ export class FabricLogger extends MiniLogger {
|
|
|
91
91
|
* @memberOf module:for-fabric.client
|
|
92
92
|
*/
|
|
93
93
|
const factory = (object, config) => {
|
|
94
|
-
|
|
95
|
-
throw new Error("Missing Object String");
|
|
96
|
-
return new FabricLogger(object, config || {});
|
|
94
|
+
return new FabricLogger(object || "MISSING", config || {});
|
|
97
95
|
};
|
|
98
96
|
// Set the factory as the default logger factory
|
|
99
97
|
Logging.setFactory(factory);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/client/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAEP,QAAQ,EACR,UAAU,EACV,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAG3B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,YAAa,SAAQ,UAAU;IAM1C,YAAY,OAAe,EAAE,IAAwC;QACnE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACgB,GAAG,CACpB,KAAe,EACf,GAAuB,EACvB,KAAa;QAEb,IACE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;YAClD,gBAAgB,CAAC,KAAK,CAAC;YAEvB,OAAO;QAET,IAAI,MAAM,CAAC;QACX,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,QAAQ,CAAC,IAAI;gBAChB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1B,MAAM;YACR,KAAK,QAAQ,CAAC,OAAO;gBACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC7B,MAAM;YACR,KAAK,QAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,QAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,QAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,GAAkB,CAC7B,MAAe,EACf,MAA2C,EAC3C,EAAE;IACF,
|
|
1
|
+
{"version":3,"file":"logging.js","sourceRoot":"","sources":["../../../src/client/logging.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAEP,QAAQ,EACR,UAAU,EACV,gBAAgB,GAEjB,MAAM,mBAAmB,CAAC;AAG3B;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,OAAO,YAAa,SAAQ,UAAU;IAM1C,YAAY,OAAe,EAAE,IAAwC;QACnE,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,IAAI,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACgB,GAAG,CACpB,KAAe,EACf,GAAuB,EACvB,KAAa;QAEb,IACE,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAa,CAAC;YAClD,gBAAgB,CAAC,KAAK,CAAC;YAEvB,OAAO;QAET,IAAI,MAAM,CAAC;QACX,QAAQ,KAAK,EAAE,CAAC;YACd,KAAK,QAAQ,CAAC,IAAI;gBAChB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;gBAC1B,MAAM;YACR,KAAK,QAAQ,CAAC,OAAO;gBACnB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC7B,MAAM;YACR,KAAK,QAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,QAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR,KAAK,QAAQ,CAAC,KAAK;gBACjB,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM;YACR;gBACE,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACzC,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;CACF;AAED;;;;;;;;GAQG;AACH,MAAM,OAAO,GAAkB,CAC7B,MAAe,EACf,MAA2C,EAC3C,EAAE;IACF,OAAO,IAAI,YAAY,CAAC,MAAM,IAAI,SAAS,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC;AAC7D,CAAC,CAAC;AAEF,gDAAgD;AAChD,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC"}
|
|
@@ -7,7 +7,7 @@ import { AuthorizationError } from "@decaf-ts/core";
|
|
|
7
7
|
import { ConflictError } from "@decaf-ts/db-decorators";
|
|
8
8
|
import { CA_ROLE } from "./constants";
|
|
9
9
|
import { CertificateResponse, FabricIdentity, GetCertificatesRequest } from "../../shared/fabric-types";
|
|
10
|
-
import {
|
|
10
|
+
import { LoggedClass } from "@decaf-ts/logging";
|
|
11
11
|
/**
|
|
12
12
|
* @description Hyperledger Fabric CA identity types.
|
|
13
13
|
* @summary Enumerates the supported identity types recognized by Fabric CA for registration and identity management.
|
|
@@ -84,7 +84,7 @@ export declare enum HFCAIdentityAttributes {
|
|
|
84
84
|
* CA-->>Svc: certificates
|
|
85
85
|
* Svc-->>App: Identity
|
|
86
86
|
*/
|
|
87
|
-
export declare class FabricEnrollmentService extends
|
|
87
|
+
export declare class FabricEnrollmentService extends LoggedClass {
|
|
88
88
|
private caConfig;
|
|
89
89
|
private ca?;
|
|
90
90
|
private certificateService?;
|
|
@@ -5,7 +5,7 @@ import { ConflictError, InternalError, NotFoundError, } from "@decaf-ts/db-decor
|
|
|
5
5
|
import { CoreUtils } from "./../../shared/utils.js";
|
|
6
6
|
import { CryptoUtils } from "./../../shared/crypto.js";
|
|
7
7
|
import { RegistrationError } from "./../../shared/errors.js";
|
|
8
|
-
import {
|
|
8
|
+
import { LoggedClass, Logging } from "@decaf-ts/logging";
|
|
9
9
|
/**
|
|
10
10
|
* @description Hyperledger Fabric CA identity types.
|
|
11
11
|
* @summary Enumerates the supported identity types recognized by Fabric CA for registration and identity management.
|
|
@@ -69,7 +69,7 @@ export var HFCAIdentityAttributes;
|
|
|
69
69
|
* CA-->>Svc: certificates
|
|
70
70
|
* Svc-->>App: Identity
|
|
71
71
|
*/
|
|
72
|
-
export class FabricEnrollmentService extends
|
|
72
|
+
export class FabricEnrollmentService extends LoggedClass {
|
|
73
73
|
constructor(caConfig) {
|
|
74
74
|
CoreUtils.getCryptoSuite(caConfig.hsm
|
|
75
75
|
? {
|
|
@@ -264,7 +264,7 @@ export class FabricEnrollmentService extends LoggedService {
|
|
|
264
264
|
}
|
|
265
265
|
static identityFromEnrollment(enrollment, mspId) {
|
|
266
266
|
const { certificate, key, rootCertificate } = enrollment;
|
|
267
|
-
const log =
|
|
267
|
+
const log = Logging.for(FabricEnrollmentService, {}).for(this.identityFromEnrollment);
|
|
268
268
|
log.debug(`Generating Identity from certificate ${certificate} in msp ${mspId}`);
|
|
269
269
|
const clientId = CryptoUtils.fabricIdFromCertificate(certificate);
|
|
270
270
|
const id = CryptoUtils.encode(clientId);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricEnrollmentService.js","sourceRoot":"","sources":["../../../../src/client/services/FabricEnrollmentService.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,kBAAkB,CAAC;AAWhD,OAAO,EAAE,QAAQ,EAAE,yCAAoC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,GACd,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,gCAA2B;AAE/C,OAAO,EAAE,WAAW,EAAE,iCAA4B;AAOlD,OAAO,EAAE,iBAAiB,EAAE,iCAA4B;AACxD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"FabricEnrollmentService.js","sourceRoot":"","sources":["../../../../src/client/services/FabricEnrollmentService.ts"],"names":[],"mappings":"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"}
|