@decaf-ts/for-fabric 0.0.2
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/LICENSE.md +22 -0
- package/README.md +647 -0
- package/dist/for-fabric.cjs +6223 -0
- package/dist/for-fabric.esm.cjs +6180 -0
- package/lib/client/FabricClientAdapter.cjs +760 -0
- package/lib/client/FabricClientAdapter.d.ts +381 -0
- package/lib/client/FabricClientDispatch.cjs +186 -0
- package/lib/client/FabricClientDispatch.d.ts +125 -0
- package/lib/client/FabricClientRepository.cjs +131 -0
- package/lib/client/FabricClientRepository.d.ts +100 -0
- package/lib/client/erc20/erc20ClientRepository.cjs +343 -0
- package/lib/client/erc20/erc20ClientRepository.d.ts +254 -0
- package/lib/client/fabric-fs.cjs +234 -0
- package/lib/client/fabric-fs.d.ts +92 -0
- package/lib/client/index.cjs +30 -0
- package/lib/client/index.d.ts +13 -0
- package/lib/client/logging.cjs +102 -0
- package/lib/client/logging.d.ts +60 -0
- package/lib/client/services/LoggedService.cjs +47 -0
- package/lib/client/services/LoggedService.d.ts +42 -0
- package/lib/client/services/constants.cjs +3 -0
- package/lib/client/services/constants.d.ts +15 -0
- package/lib/client/services/enrollementService.cjs +344 -0
- package/lib/client/services/enrollementService.d.ts +176 -0
- package/lib/client/services/index.cjs +18 -0
- package/lib/client/services/index.d.ts +1 -0
- package/lib/contracts/ContractAdapter.cjs +730 -0
- package/lib/contracts/ContractAdapter.d.ts +296 -0
- package/lib/contracts/ContractContext.cjs +85 -0
- package/lib/contracts/ContractContext.d.ts +64 -0
- package/lib/contracts/ContractPrivateDataAdapter.cjs +281 -0
- package/lib/contracts/ContractPrivateDataAdapter.d.ts +74 -0
- package/lib/contracts/FabricConstruction.cjs +441 -0
- package/lib/contracts/FabricConstruction.d.ts +304 -0
- package/lib/contracts/FabricContractRepository.cjs +306 -0
- package/lib/contracts/FabricContractRepository.d.ts +162 -0
- package/lib/contracts/FabricContractRepositoryObservableHandler.cjs +85 -0
- package/lib/contracts/FabricContractRepositoryObservableHandler.d.ts +62 -0
- package/lib/contracts/FabricContractSequence.cjs +139 -0
- package/lib/contracts/FabricContractSequence.d.ts +61 -0
- package/lib/contracts/FabricContractStatement.cjs +119 -0
- package/lib/contracts/FabricContractStatement.d.ts +34 -0
- package/lib/contracts/PrivateSequence.cjs +36 -0
- package/lib/contracts/PrivateSequence.d.ts +15 -0
- package/lib/contracts/crud/crud-contract.cjs +257 -0
- package/lib/contracts/crud/crud-contract.d.ts +168 -0
- package/lib/contracts/crud/index.cjs +19 -0
- package/lib/contracts/crud/index.d.ts +2 -0
- package/lib/contracts/crud/serialized-crud-contract.cjs +172 -0
- package/lib/contracts/crud/serialized-crud-contract.d.ts +37 -0
- package/lib/contracts/erc20/erc20contract.cjs +569 -0
- package/lib/contracts/erc20/erc20contract.d.ts +151 -0
- package/lib/contracts/erc20/index.cjs +21 -0
- package/lib/contracts/erc20/index.d.ts +2 -0
- package/lib/contracts/erc20/models.cjs +209 -0
- package/lib/contracts/erc20/models.d.ts +114 -0
- package/lib/contracts/index.cjs +32 -0
- package/lib/contracts/index.d.ts +15 -0
- package/lib/contracts/logging.cjs +96 -0
- package/lib/contracts/logging.d.ts +49 -0
- package/lib/contracts/private-data.cjs +121 -0
- package/lib/contracts/private-data.d.ts +16 -0
- package/lib/contracts/types.cjs +3 -0
- package/lib/contracts/types.d.ts +26 -0
- package/lib/esm/client/FabricClientAdapter.d.ts +381 -0
- package/lib/esm/client/FabricClientAdapter.js +723 -0
- package/lib/esm/client/FabricClientDispatch.d.ts +125 -0
- package/lib/esm/client/FabricClientDispatch.js +182 -0
- package/lib/esm/client/FabricClientRepository.d.ts +100 -0
- package/lib/esm/client/FabricClientRepository.js +127 -0
- package/lib/esm/client/erc20/erc20ClientRepository.d.ts +254 -0
- package/lib/esm/client/erc20/erc20ClientRepository.js +339 -0
- package/lib/esm/client/fabric-fs.d.ts +92 -0
- package/lib/esm/client/fabric-fs.js +191 -0
- package/lib/esm/client/index.d.ts +13 -0
- package/lib/esm/client/index.js +14 -0
- package/lib/esm/client/logging.d.ts +60 -0
- package/lib/esm/client/logging.js +98 -0
- package/lib/esm/client/services/LoggedService.d.ts +42 -0
- package/lib/esm/client/services/LoggedService.js +43 -0
- package/lib/esm/client/services/constants.d.ts +15 -0
- package/lib/esm/client/services/constants.js +2 -0
- package/lib/esm/client/services/enrollementService.d.ts +176 -0
- package/lib/esm/client/services/enrollementService.js +337 -0
- package/lib/esm/client/services/index.d.ts +1 -0
- package/lib/esm/client/services/index.js +2 -0
- package/lib/esm/contracts/ContractAdapter.d.ts +296 -0
- package/lib/esm/contracts/ContractAdapter.js +724 -0
- package/lib/esm/contracts/ContractContext.d.ts +64 -0
- package/lib/esm/contracts/ContractContext.js +81 -0
- package/lib/esm/contracts/ContractPrivateDataAdapter.d.ts +74 -0
- package/lib/esm/contracts/ContractPrivateDataAdapter.js +277 -0
- package/lib/esm/contracts/FabricConstruction.d.ts +304 -0
- package/lib/esm/contracts/FabricConstruction.js +433 -0
- package/lib/esm/contracts/FabricContractRepository.d.ts +162 -0
- package/lib/esm/contracts/FabricContractRepository.js +302 -0
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.d.ts +62 -0
- package/lib/esm/contracts/FabricContractRepositoryObservableHandler.js +81 -0
- package/lib/esm/contracts/FabricContractSequence.d.ts +61 -0
- package/lib/esm/contracts/FabricContractSequence.js +135 -0
- package/lib/esm/contracts/FabricContractStatement.d.ts +34 -0
- package/lib/esm/contracts/FabricContractStatement.js +115 -0
- package/lib/esm/contracts/PrivateSequence.d.ts +15 -0
- package/lib/esm/contracts/PrivateSequence.js +33 -0
- package/lib/esm/contracts/crud/crud-contract.d.ts +168 -0
- package/lib/esm/contracts/crud/crud-contract.js +253 -0
- package/lib/esm/contracts/crud/index.d.ts +2 -0
- package/lib/esm/contracts/crud/index.js +3 -0
- package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +37 -0
- package/lib/esm/contracts/crud/serialized-crud-contract.js +168 -0
- package/lib/esm/contracts/erc20/erc20contract.d.ts +151 -0
- package/lib/esm/contracts/erc20/erc20contract.js +565 -0
- package/lib/esm/contracts/erc20/index.d.ts +2 -0
- package/lib/esm/contracts/erc20/index.js +4 -0
- package/lib/esm/contracts/erc20/models.d.ts +114 -0
- package/lib/esm/contracts/erc20/models.js +206 -0
- package/lib/esm/contracts/index.d.ts +15 -0
- package/lib/esm/contracts/index.js +16 -0
- package/lib/esm/contracts/logging.d.ts +49 -0
- package/lib/esm/contracts/logging.js +92 -0
- package/lib/esm/contracts/private-data.d.ts +16 -0
- package/lib/esm/contracts/private-data.js +113 -0
- package/lib/esm/contracts/types.d.ts +26 -0
- package/lib/esm/contracts/types.js +2 -0
- package/lib/esm/index.d.ts +8 -0
- package/lib/esm/index.js +9 -0
- package/lib/esm/shared/ClientSerializer.d.ts +52 -0
- package/lib/esm/shared/ClientSerializer.js +80 -0
- package/lib/esm/shared/DeterministicSerializer.d.ts +40 -0
- package/lib/esm/shared/DeterministicSerializer.js +50 -0
- package/lib/esm/shared/SimpleDeterministicSerializer.d.ts +7 -0
- package/lib/esm/shared/SimpleDeterministicSerializer.js +42 -0
- package/lib/esm/shared/constants.d.ts +39 -0
- package/lib/esm/shared/constants.js +42 -0
- package/lib/esm/shared/crypto.d.ts +107 -0
- package/lib/esm/shared/crypto.js +331 -0
- package/lib/esm/shared/decorators.d.ts +24 -0
- package/lib/esm/shared/decorators.js +98 -0
- package/lib/esm/shared/erc20/erc20-constants.d.ts +25 -0
- package/lib/esm/shared/erc20/erc20-constants.js +27 -0
- package/lib/esm/shared/errors.d.ts +116 -0
- package/lib/esm/shared/errors.js +132 -0
- package/lib/esm/shared/events.d.ts +39 -0
- package/lib/esm/shared/events.js +47 -0
- package/lib/esm/shared/fabric-types.d.ts +33 -0
- package/lib/esm/shared/fabric-types.js +2 -0
- package/lib/esm/shared/index.d.ts +13 -0
- package/lib/esm/shared/index.js +14 -0
- package/lib/esm/shared/interfaces/Checkable.d.ts +21 -0
- package/lib/esm/shared/interfaces/Checkable.js +2 -0
- package/lib/esm/shared/math.d.ts +34 -0
- package/lib/esm/shared/math.js +61 -0
- package/lib/esm/shared/model/Identity.d.ts +42 -0
- package/lib/esm/shared/model/Identity.js +78 -0
- package/lib/esm/shared/model/IdentityCredentials.d.ts +41 -0
- package/lib/esm/shared/model/IdentityCredentials.js +74 -0
- package/lib/esm/shared/model/index.d.ts +1 -0
- package/lib/esm/shared/model/index.js +2 -0
- package/lib/esm/shared/model/utils.d.ts +60 -0
- package/lib/esm/shared/model/utils.js +108 -0
- package/lib/esm/shared/types.d.ts +79 -0
- package/lib/esm/shared/types.js +2 -0
- package/lib/esm/shared/utils.d.ts +55 -0
- package/lib/esm/shared/utils.js +148 -0
- package/lib/index.cjs +25 -0
- package/lib/index.d.ts +8 -0
- package/lib/shared/ClientSerializer.cjs +84 -0
- package/lib/shared/ClientSerializer.d.ts +52 -0
- package/lib/shared/DeterministicSerializer.cjs +54 -0
- package/lib/shared/DeterministicSerializer.d.ts +40 -0
- package/lib/shared/SimpleDeterministicSerializer.cjs +46 -0
- package/lib/shared/SimpleDeterministicSerializer.d.ts +7 -0
- package/lib/shared/constants.cjs +45 -0
- package/lib/shared/constants.d.ts +39 -0
- package/lib/shared/crypto.cjs +369 -0
- package/lib/shared/crypto.d.ts +107 -0
- package/lib/shared/decorators.cjs +105 -0
- package/lib/shared/decorators.d.ts +24 -0
- package/lib/shared/erc20/erc20-constants.cjs +30 -0
- package/lib/shared/erc20/erc20-constants.d.ts +25 -0
- package/lib/shared/errors.cjs +142 -0
- package/lib/shared/errors.d.ts +116 -0
- package/lib/shared/events.cjs +51 -0
- package/lib/shared/events.d.ts +39 -0
- package/lib/shared/fabric-types.cjs +4 -0
- package/lib/shared/fabric-types.d.ts +33 -0
- package/lib/shared/index.cjs +30 -0
- package/lib/shared/index.d.ts +13 -0
- package/lib/shared/interfaces/Checkable.cjs +3 -0
- package/lib/shared/interfaces/Checkable.d.ts +21 -0
- package/lib/shared/math.cjs +66 -0
- package/lib/shared/math.d.ts +34 -0
- package/lib/shared/model/Identity.cjs +81 -0
- package/lib/shared/model/Identity.d.ts +42 -0
- package/lib/shared/model/IdentityCredentials.cjs +77 -0
- package/lib/shared/model/IdentityCredentials.d.ts +41 -0
- package/lib/shared/model/index.cjs +18 -0
- package/lib/shared/model/index.d.ts +1 -0
- package/lib/shared/model/utils.cjs +114 -0
- package/lib/shared/model/utils.d.ts +60 -0
- package/lib/shared/types.cjs +3 -0
- package/lib/shared/types.d.ts +79 -0
- package/lib/shared/utils.cjs +185 -0
- package/lib/shared/utils.d.ts +55 -0
- package/package.json +166 -0
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.SerializedCrudContract = void 0;
|
|
13
|
+
const crud_contract_1 = require("./crud-contract.cjs");
|
|
14
|
+
const fabric_contract_api_1 = require("fabric-contract-api");
|
|
15
|
+
const logging_1 = require("@decaf-ts/logging");
|
|
16
|
+
/**
|
|
17
|
+
* @description CRUD contract variant that serializes/deserializes payloads
|
|
18
|
+
* @summary Exposes the same CRUD operations as FabricCrudContract but takes and returns JSON strings to facilitate simple client interactions.
|
|
19
|
+
* @template M - Model type handled by this contract
|
|
20
|
+
* @param {string} name - The contract name
|
|
21
|
+
* @param {Constructor<M>} clazz - The model constructor used to instantiate models from JSON
|
|
22
|
+
* @return {void}
|
|
23
|
+
* @class SerializedCrudContract
|
|
24
|
+
* @example
|
|
25
|
+
* const contract = new SerializedCrudContract<MyModel>('MyModelContract', MyModel);
|
|
26
|
+
* // Client submits JSON string payloads and receives JSON string responses
|
|
27
|
+
*/
|
|
28
|
+
class SerializedCrudContract extends crud_contract_1.FabricCrudContract {
|
|
29
|
+
constructor(name, clazz) {
|
|
30
|
+
super(name, clazz);
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* @description Creates a logger for a specific chaincode context
|
|
34
|
+
* @summary Returns a ContractLogger instance configured for the current context
|
|
35
|
+
* @param {Ctx} ctx - The Fabric chaincode context
|
|
36
|
+
* @return {ContractLogger} The logger instance
|
|
37
|
+
*/
|
|
38
|
+
logFor(ctx) {
|
|
39
|
+
return logging_1.Logging.for(SerializedCrudContract, {}, ctx);
|
|
40
|
+
}
|
|
41
|
+
async create(ctx, model) {
|
|
42
|
+
const log = this.logFor(ctx).for(this.create);
|
|
43
|
+
log.info(`Creating model: ${model}`);
|
|
44
|
+
const m = this.deserialize(model);
|
|
45
|
+
log.info(`Model deserialized: ${JSON.stringify(m)}`);
|
|
46
|
+
return this.serialize((await super.create(ctx, m)));
|
|
47
|
+
}
|
|
48
|
+
async read(ctx, key) {
|
|
49
|
+
const log = this.logFor(ctx).for(this.read);
|
|
50
|
+
log.info(`Reading id: ${key}`);
|
|
51
|
+
return this.serialize((await super.read(ctx, key)));
|
|
52
|
+
}
|
|
53
|
+
async update(ctx, model) {
|
|
54
|
+
const log = this.logFor(ctx).for(this.update);
|
|
55
|
+
log.info(`Updating model: ${model}`);
|
|
56
|
+
return this.serialize((await super.update(ctx, model)));
|
|
57
|
+
}
|
|
58
|
+
async delete(ctx, key) {
|
|
59
|
+
const log = this.logFor(ctx).for(this.delete);
|
|
60
|
+
log.info(`Deleting id: ${key}`);
|
|
61
|
+
return this.serialize((await super.delete(ctx, key)));
|
|
62
|
+
}
|
|
63
|
+
async deleteAll(ctx, keys) {
|
|
64
|
+
const parsedKeys = JSON.parse(keys);
|
|
65
|
+
const log = this.logFor(ctx).for(this.deleteAll);
|
|
66
|
+
log.info(`deleting ${parsedKeys.length} entries from the table`);
|
|
67
|
+
return JSON.stringify((await super.deleteAll(ctx, parsedKeys)).map((m) => this.serialize(m)));
|
|
68
|
+
}
|
|
69
|
+
async readAll(ctx, keys) {
|
|
70
|
+
const parsedKeys = JSON.parse(keys);
|
|
71
|
+
const log = this.logFor(ctx).for(this.readAll);
|
|
72
|
+
log.info(`reading ${parsedKeys.length} entries from the table`);
|
|
73
|
+
return JSON.stringify((await super.readAll(ctx, parsedKeys)).map((m) => this.serialize(m)));
|
|
74
|
+
}
|
|
75
|
+
async updateAll(ctx, models) {
|
|
76
|
+
const log = this.logFor(ctx).for(this.updateAll);
|
|
77
|
+
const list = JSON.parse(models);
|
|
78
|
+
const modelList = list
|
|
79
|
+
.map((m) => this.deserialize(m))
|
|
80
|
+
.map((m) => new this.clazz(m));
|
|
81
|
+
log.info(`Updating ${modelList.length} entries to the table`);
|
|
82
|
+
return JSON.stringify((await super.updateAll(ctx, modelList)).map((m) => this.serialize(m)));
|
|
83
|
+
}
|
|
84
|
+
async raw(ctx, rawInput, docsOnly) {
|
|
85
|
+
const parsedInput = JSON.parse(rawInput);
|
|
86
|
+
return super.raw(ctx, parsedInput, docsOnly);
|
|
87
|
+
}
|
|
88
|
+
async init(ctx) {
|
|
89
|
+
await super.init(ctx);
|
|
90
|
+
}
|
|
91
|
+
async healthcheck(ctx) {
|
|
92
|
+
//TODO: TRIM NOT WORKING CHECK LATER
|
|
93
|
+
return JSON.stringify(await super.healthcheck(ctx));
|
|
94
|
+
}
|
|
95
|
+
async createAll(ctx, models) {
|
|
96
|
+
const log = this.logFor(ctx).for(this.createAll);
|
|
97
|
+
const list = JSON.parse(models);
|
|
98
|
+
const modelList = list
|
|
99
|
+
.map((m) => this.deserialize(m))
|
|
100
|
+
.map((m) => new this.clazz(m));
|
|
101
|
+
log.info(`Adding ${modelList.length} entries to the table`);
|
|
102
|
+
return JSON.stringify((await super.createAll(ctx, modelList)).map((m) => this.serialize(m)));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.SerializedCrudContract = SerializedCrudContract;
|
|
106
|
+
__decorate([
|
|
107
|
+
(0, fabric_contract_api_1.Transaction)(),
|
|
108
|
+
__metadata("design:type", Function),
|
|
109
|
+
__metadata("design:paramtypes", [fabric_contract_api_1.Context, String]),
|
|
110
|
+
__metadata("design:returntype", Promise)
|
|
111
|
+
], SerializedCrudContract.prototype, "create", null);
|
|
112
|
+
__decorate([
|
|
113
|
+
(0, fabric_contract_api_1.Transaction)(false),
|
|
114
|
+
__metadata("design:type", Function),
|
|
115
|
+
__metadata("design:paramtypes", [fabric_contract_api_1.Context, String]),
|
|
116
|
+
__metadata("design:returntype", Promise)
|
|
117
|
+
], SerializedCrudContract.prototype, "read", null);
|
|
118
|
+
__decorate([
|
|
119
|
+
(0, fabric_contract_api_1.Transaction)(),
|
|
120
|
+
__metadata("design:type", Function),
|
|
121
|
+
__metadata("design:paramtypes", [fabric_contract_api_1.Context, String]),
|
|
122
|
+
__metadata("design:returntype", Promise)
|
|
123
|
+
], SerializedCrudContract.prototype, "update", null);
|
|
124
|
+
__decorate([
|
|
125
|
+
(0, fabric_contract_api_1.Transaction)(),
|
|
126
|
+
__metadata("design:type", Function),
|
|
127
|
+
__metadata("design:paramtypes", [fabric_contract_api_1.Context, String]),
|
|
128
|
+
__metadata("design:returntype", Promise)
|
|
129
|
+
], SerializedCrudContract.prototype, "delete", null);
|
|
130
|
+
__decorate([
|
|
131
|
+
(0, fabric_contract_api_1.Transaction)(),
|
|
132
|
+
__metadata("design:type", Function),
|
|
133
|
+
__metadata("design:paramtypes", [fabric_contract_api_1.Context, String]),
|
|
134
|
+
__metadata("design:returntype", Promise)
|
|
135
|
+
], SerializedCrudContract.prototype, "deleteAll", null);
|
|
136
|
+
__decorate([
|
|
137
|
+
(0, fabric_contract_api_1.Transaction)(false),
|
|
138
|
+
__metadata("design:type", Function),
|
|
139
|
+
__metadata("design:paramtypes", [fabric_contract_api_1.Context, String]),
|
|
140
|
+
__metadata("design:returntype", Promise)
|
|
141
|
+
], SerializedCrudContract.prototype, "readAll", null);
|
|
142
|
+
__decorate([
|
|
143
|
+
(0, fabric_contract_api_1.Transaction)(),
|
|
144
|
+
__metadata("design:type", Function),
|
|
145
|
+
__metadata("design:paramtypes", [fabric_contract_api_1.Context, String]),
|
|
146
|
+
__metadata("design:returntype", Promise)
|
|
147
|
+
], SerializedCrudContract.prototype, "updateAll", null);
|
|
148
|
+
__decorate([
|
|
149
|
+
(0, fabric_contract_api_1.Transaction)(false),
|
|
150
|
+
__metadata("design:type", Function),
|
|
151
|
+
__metadata("design:paramtypes", [fabric_contract_api_1.Context, String, Boolean]),
|
|
152
|
+
__metadata("design:returntype", Promise)
|
|
153
|
+
], SerializedCrudContract.prototype, "raw", null);
|
|
154
|
+
__decorate([
|
|
155
|
+
(0, fabric_contract_api_1.Transaction)(),
|
|
156
|
+
__metadata("design:type", Function),
|
|
157
|
+
__metadata("design:paramtypes", [fabric_contract_api_1.Context]),
|
|
158
|
+
__metadata("design:returntype", Promise)
|
|
159
|
+
], SerializedCrudContract.prototype, "init", null);
|
|
160
|
+
__decorate([
|
|
161
|
+
(0, fabric_contract_api_1.Transaction)(false),
|
|
162
|
+
__metadata("design:type", Function),
|
|
163
|
+
__metadata("design:paramtypes", [fabric_contract_api_1.Context]),
|
|
164
|
+
__metadata("design:returntype", Promise)
|
|
165
|
+
], SerializedCrudContract.prototype, "healthcheck", null);
|
|
166
|
+
__decorate([
|
|
167
|
+
(0, fabric_contract_api_1.Transaction)(),
|
|
168
|
+
__metadata("design:type", Function),
|
|
169
|
+
__metadata("design:paramtypes", [fabric_contract_api_1.Context, String]),
|
|
170
|
+
__metadata("design:returntype", Promise)
|
|
171
|
+
], SerializedCrudContract.prototype, "createAll", null);
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplZC1jcnVkLWNvbnRyYWN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbnRyYWN0cy9jcnVkL3NlcmlhbGl6ZWQtY3J1ZC1jb250cmFjdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx1REFBcUQ7QUFHckQsNkRBQTJFO0FBRTNFLCtDQUE0QztBQUU1Qzs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQWEsc0JBRVgsU0FBUSxrQ0FBcUI7SUFDN0IsWUFBWSxJQUFZLEVBQUUsS0FBcUI7UUFDN0MsS0FBSyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDYSxNQUFNLENBQUMsR0FBWTtRQUNqQyxPQUFPLGlCQUFPLENBQUMsR0FBRyxDQUFDLHNCQUFzQixFQUFFLEVBQUUsRUFBRSxHQUFHLENBQW1CLENBQUM7SUFDeEUsQ0FBQztJQUdjLEFBQU4sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFRLEVBQUUsS0FBYTtRQUMzQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsR0FBRyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsS0FBSyxFQUFFLENBQUMsQ0FBQztRQUVyQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFJLEtBQUssQ0FBQyxDQUFDO1FBRXJDLEdBQUcsQ0FBQyxJQUFJLENBQUMsdUJBQXVCLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQU0sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFHYyxBQUFOLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBUSxFQUFFLEdBQVc7UUFDdkMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVDLEdBQUcsQ0FBQyxJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQU0sQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFHYyxBQUFOLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBUSxFQUFFLEtBQWE7UUFDM0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzlDLEdBQUcsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDckMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBTSxDQUFDLENBQUM7SUFDL0QsQ0FBQztJQUdjLEFBQU4sS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFRLEVBQUUsR0FBVztRQUN6QyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDOUMsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFNLENBQUMsQ0FBQztJQUM3RCxDQUFDO0lBR2MsQUFBTixLQUFLLENBQUMsU0FBUyxDQUFDLEdBQVEsRUFBRSxJQUFZO1FBQzdDLE1BQU0sVUFBVSxHQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRWpELEdBQUcsQ0FBQyxJQUFJLENBQUMsWUFBWSxVQUFVLENBQUMsTUFBTSx5QkFBeUIsQ0FBQyxDQUFDO1FBRWpFLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FDbEIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFTLENBQUMsR0FBRyxDQUNuRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQVcsQ0FDbkMsQ0FDRixDQUFDO0lBQ0osQ0FBQztJQUdjLEFBQU4sS0FBSyxDQUFDLE9BQU8sQ0FBQyxHQUFRLEVBQUUsSUFBWTtRQUMzQyxNQUFNLFVBQVUsR0FBYSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTlDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvQyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsVUFBVSxDQUFDLE1BQU0seUJBQXlCLENBQUMsQ0FBQztRQUVoRSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQ2xCLENBQUMsTUFBTSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxVQUFVLENBQUMsQ0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ3hELElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQ2xCLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFHYyxBQUFOLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBUSxFQUFFLE1BQWM7UUFDL0MsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ2pELE1BQU0sSUFBSSxHQUFhLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUMsTUFBTSxTQUFTLEdBQVEsSUFBSTthQUN4QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDL0IsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVqQyxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksU0FBUyxDQUFDLE1BQU0sdUJBQXVCLENBQUMsQ0FBQztRQUM5RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQ2xCLENBQUMsTUFBTSxLQUFLLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxTQUFTLENBQUMsQ0FBUyxDQUFDLEdBQUcsQ0FDbEQsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFXLENBQ25DLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFHYyxBQUFOLEtBQUssQ0FBQyxHQUFHLENBQ2hCLEdBQVEsRUFDUixRQUFnQixFQUNoQixRQUFpQjtRQUVqQixNQUFNLFdBQVcsR0FBZSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3JELE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsV0FBVyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFHYyxBQUFOLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBUTtRQUMxQixNQUFNLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUdjLEFBQU4sS0FBSyxDQUFDLFdBQVcsQ0FBQyxHQUFRO1FBQ2pDLG9DQUFvQztRQUNwQyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxLQUFLLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsQ0FBQztJQUdjLEFBQU4sS0FBSyxDQUFDLFNBQVMsQ0FBQyxHQUFRLEVBQUUsTUFBYztRQUMvQyxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDakQsTUFBTSxJQUFJLEdBQWEsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxQyxNQUFNLFNBQVMsR0FBUSxJQUFJO2FBQ3hCLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUMvQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWpDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxTQUFTLENBQUMsTUFBTSx1QkFBdUIsQ0FBQyxDQUFDO1FBQzVELE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FDbEIsQ0FBQyxNQUFNLEtBQUssQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFNBQVMsQ0FBQyxDQUFTLENBQUMsR0FBRyxDQUNsRCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQVcsQ0FDbkMsQ0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBaklELHdEQWlJQztBQS9HZ0I7SUFEZCxJQUFBLGlDQUFXLEdBQUU7O3FDQUNhLDZCQUFHOztvREFRN0I7QUFHYztJQURkLElBQUEsaUNBQVcsRUFBQyxLQUFLLENBQUM7O3FDQUNNLDZCQUFHOztrREFJM0I7QUFHYztJQURkLElBQUEsaUNBQVcsR0FBRTs7cUNBQ2EsNkJBQUc7O29EQUk3QjtBQUdjO0lBRGQsSUFBQSxpQ0FBVyxHQUFFOztxQ0FDYSw2QkFBRzs7b0RBSTdCO0FBR2M7SUFEZCxJQUFBLGlDQUFXLEdBQUU7O3FDQUNnQiw2QkFBRzs7dURBV2hDO0FBR2M7SUFEZCxJQUFBLGlDQUFXLEVBQUMsS0FBSyxDQUFDOztxQ0FDUyw2QkFBRzs7cURBVzlCO0FBR2M7SUFEZCxJQUFBLGlDQUFXLEdBQUU7O3FDQUNnQiw2QkFBRzs7dURBYWhDO0FBR2M7SUFEZCxJQUFBLGlDQUFXLEVBQUMsS0FBSyxDQUFDOztxQ0FFWiw2QkFBRzs7aURBTVQ7QUFHYztJQURkLElBQUEsaUNBQVcsR0FBRTs7cUNBQ1csNkJBQUc7O2tEQUUzQjtBQUdjO0lBRGQsSUFBQSxpQ0FBVyxFQUFDLEtBQUssQ0FBQzs7cUNBQ2EsNkJBQUc7O3lEQUdsQztBQUdjO0lBRGQsSUFBQSxpQ0FBVyxHQUFFOztxQ0FDZ0IsNkJBQUc7O3VEQWFoQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEZhYnJpY0NydWRDb250cmFjdCB9IGZyb20gXCIuL2NydWQtY29udHJhY3RcIjtcbmltcG9ydCB7IENvbnN0cnVjdG9yLCBNb2RlbCB9IGZyb20gXCJAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb25cIjtcbmltcG9ydCB7IE1hbmdvUXVlcnkgfSBmcm9tIFwiQGRlY2FmLXRzL2Zvci1jb3VjaGRiXCI7XG5pbXBvcnQgeyBDb250ZXh0LCBDb250ZXh0IGFzIEN0eCwgVHJhbnNhY3Rpb24gfSBmcm9tIFwiZmFicmljLWNvbnRyYWN0LWFwaVwiO1xuaW1wb3J0IHsgQ29udHJhY3RMb2dnZXIgfSBmcm9tIFwiLi4vbG9nZ2luZ1wiO1xuaW1wb3J0IHsgTG9nZ2luZyB9IGZyb20gXCJAZGVjYWYtdHMvbG9nZ2luZ1wiO1xuXG4vKipcbiAqIEBkZXNjcmlwdGlvbiBDUlVEIGNvbnRyYWN0IHZhcmlhbnQgdGhhdCBzZXJpYWxpemVzL2Rlc2VyaWFsaXplcyBwYXlsb2Fkc1xuICogQHN1bW1hcnkgRXhwb3NlcyB0aGUgc2FtZSBDUlVEIG9wZXJhdGlvbnMgYXMgRmFicmljQ3J1ZENvbnRyYWN0IGJ1dCB0YWtlcyBhbmQgcmV0dXJucyBKU09OIHN0cmluZ3MgdG8gZmFjaWxpdGF0ZSBzaW1wbGUgY2xpZW50IGludGVyYWN0aW9ucy5cbiAqIEB0ZW1wbGF0ZSBNIC0gTW9kZWwgdHlwZSBoYW5kbGVkIGJ5IHRoaXMgY29udHJhY3RcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lIC0gVGhlIGNvbnRyYWN0IG5hbWVcbiAqIEBwYXJhbSB7Q29uc3RydWN0b3I8TT59IGNsYXp6IC0gVGhlIG1vZGVsIGNvbnN0cnVjdG9yIHVzZWQgdG8gaW5zdGFudGlhdGUgbW9kZWxzIGZyb20gSlNPTlxuICogQHJldHVybiB7dm9pZH1cbiAqIEBjbGFzcyBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0XG4gKiBAZXhhbXBsZVxuICogY29uc3QgY29udHJhY3QgPSBuZXcgU2VyaWFsaXplZENydWRDb250cmFjdDxNeU1vZGVsPignTXlNb2RlbENvbnRyYWN0JywgTXlNb2RlbCk7XG4gKiAvLyBDbGllbnQgc3VibWl0cyBKU09OIHN0cmluZyBwYXlsb2FkcyBhbmQgcmVjZWl2ZXMgSlNPTiBzdHJpbmcgcmVzcG9uc2VzXG4gKi9cbmV4cG9ydCBjbGFzcyBTZXJpYWxpemVkQ3J1ZENvbnRyYWN0PFxuICBNIGV4dGVuZHMgTW9kZWwsXG4+IGV4dGVuZHMgRmFicmljQ3J1ZENvbnRyYWN0PE0+IHtcbiAgY29uc3RydWN0b3IobmFtZTogc3RyaW5nLCBjbGF6ejogQ29uc3RydWN0b3I8TT4pIHtcbiAgICBzdXBlcihuYW1lLCBjbGF6eik7XG4gIH1cblxuICAvKipcbiAgICogQGRlc2NyaXB0aW9uIENyZWF0ZXMgYSBsb2dnZXIgZm9yIGEgc3BlY2lmaWMgY2hhaW5jb2RlIGNvbnRleHRcbiAgICogQHN1bW1hcnkgUmV0dXJucyBhIENvbnRyYWN0TG9nZ2VyIGluc3RhbmNlIGNvbmZpZ3VyZWQgZm9yIHRoZSBjdXJyZW50IGNvbnRleHRcbiAgICogQHBhcmFtIHtDdHh9IGN0eCAtIFRoZSBGYWJyaWMgY2hhaW5jb2RlIGNvbnRleHRcbiAgICogQHJldHVybiB7Q29udHJhY3RMb2dnZXJ9IFRoZSBsb2dnZXIgaW5zdGFuY2VcbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBsb2dGb3IoY3R4OiBDb250ZXh0KTogQ29udHJhY3RMb2dnZXIge1xuICAgIHJldHVybiBMb2dnaW5nLmZvcihTZXJpYWxpemVkQ3J1ZENvbnRyYWN0LCB7fSwgY3R4KSBhcyBDb250cmFjdExvZ2dlcjtcbiAgfVxuXG4gIEBUcmFuc2FjdGlvbigpXG4gIG92ZXJyaWRlIGFzeW5jIGNyZWF0ZShjdHg6IEN0eCwgbW9kZWw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgbG9nID0gdGhpcy5sb2dGb3IoY3R4KS5mb3IodGhpcy5jcmVhdGUpO1xuICAgIGxvZy5pbmZvKGBDcmVhdGluZyBtb2RlbDogJHttb2RlbH1gKTtcblxuICAgIGNvbnN0IG0gPSB0aGlzLmRlc2VyaWFsaXplPE0+KG1vZGVsKTtcblxuICAgIGxvZy5pbmZvKGBNb2RlbCBkZXNlcmlhbGl6ZWQ6ICR7SlNPTi5zdHJpbmdpZnkobSl9YCk7XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplKChhd2FpdCBzdXBlci5jcmVhdGUoY3R4LCBtKSkgYXMgTSk7XG4gIH1cblxuICBAVHJhbnNhY3Rpb24oZmFsc2UpXG4gIG92ZXJyaWRlIGFzeW5jIHJlYWQoY3R4OiBDdHgsIGtleTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZ0ZvcihjdHgpLmZvcih0aGlzLnJlYWQpO1xuICAgIGxvZy5pbmZvKGBSZWFkaW5nIGlkOiAke2tleX1gKTtcbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKGF3YWl0IHN1cGVyLnJlYWQoY3R4LCBrZXkpKSBhcyBNKTtcbiAgfVxuXG4gIEBUcmFuc2FjdGlvbigpXG4gIG92ZXJyaWRlIGFzeW5jIHVwZGF0ZShjdHg6IEN0eCwgbW9kZWw6IHN0cmluZyk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgbG9nID0gdGhpcy5sb2dGb3IoY3R4KS5mb3IodGhpcy51cGRhdGUpO1xuICAgIGxvZy5pbmZvKGBVcGRhdGluZyBtb2RlbDogJHttb2RlbH1gKTtcbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKGF3YWl0IHN1cGVyLnVwZGF0ZShjdHgsIG1vZGVsKSkgYXMgTSk7XG4gIH1cblxuICBAVHJhbnNhY3Rpb24oKVxuICBvdmVycmlkZSBhc3luYyBkZWxldGUoY3R4OiBDdHgsIGtleTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZ0ZvcihjdHgpLmZvcih0aGlzLmRlbGV0ZSk7XG4gICAgbG9nLmluZm8oYERlbGV0aW5nIGlkOiAke2tleX1gKTtcbiAgICByZXR1cm4gdGhpcy5zZXJpYWxpemUoKGF3YWl0IHN1cGVyLmRlbGV0ZShjdHgsIGtleSkpIGFzIE0pO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKClcbiAgb3ZlcnJpZGUgYXN5bmMgZGVsZXRlQWxsKGN0eDogQ3R4LCBrZXlzOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHBhcnNlZEtleXM6IHN0cmluZ1tdID0gSlNPTi5wYXJzZShrZXlzKTtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZ0ZvcihjdHgpLmZvcih0aGlzLmRlbGV0ZUFsbCk7XG5cbiAgICBsb2cuaW5mbyhgZGVsZXRpbmcgJHtwYXJzZWRLZXlzLmxlbmd0aH0gZW50cmllcyBmcm9tIHRoZSB0YWJsZWApO1xuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFxuICAgICAgKChhd2FpdCBzdXBlci5kZWxldGVBbGwoY3R4LCBwYXJzZWRLZXlzKSkgYXMgTVtdKS5tYXAoXG4gICAgICAgIChtKSA9PiB0aGlzLnNlcmlhbGl6ZShtKSBhcyBzdHJpbmdcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKGZhbHNlKVxuICBvdmVycmlkZSBhc3luYyByZWFkQWxsKGN0eDogQ3R4LCBrZXlzOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHBhcnNlZEtleXM6IHN0cmluZ1tdID0gSlNPTi5wYXJzZShrZXlzKTtcblxuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nRm9yKGN0eCkuZm9yKHRoaXMucmVhZEFsbCk7XG4gICAgbG9nLmluZm8oYHJlYWRpbmcgJHtwYXJzZWRLZXlzLmxlbmd0aH0gZW50cmllcyBmcm9tIHRoZSB0YWJsZWApO1xuXG4gICAgcmV0dXJuIEpTT04uc3RyaW5naWZ5KFxuICAgICAgKChhd2FpdCBzdXBlci5yZWFkQWxsKGN0eCwgcGFyc2VkS2V5cykpIGFzIE1bXSkubWFwKChtKSA9PlxuICAgICAgICB0aGlzLnNlcmlhbGl6ZShtKVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBAVHJhbnNhY3Rpb24oKVxuICBvdmVycmlkZSBhc3luYyB1cGRhdGVBbGwoY3R4OiBDdHgsIG1vZGVsczogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBsb2cgPSB0aGlzLmxvZ0ZvcihjdHgpLmZvcih0aGlzLnVwZGF0ZUFsbCk7XG4gICAgY29uc3QgbGlzdDogc3RyaW5nW10gPSBKU09OLnBhcnNlKG1vZGVscyk7XG4gICAgY29uc3QgbW9kZWxMaXN0OiBNW10gPSBsaXN0XG4gICAgICAubWFwKChtKSA9PiB0aGlzLmRlc2VyaWFsaXplKG0pKVxuICAgICAgLm1hcCgobSkgPT4gbmV3IHRoaXMuY2xhenoobSkpO1xuXG4gICAgbG9nLmluZm8oYFVwZGF0aW5nICR7bW9kZWxMaXN0Lmxlbmd0aH0gZW50cmllcyB0byB0aGUgdGFibGVgKTtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoXG4gICAgICAoKGF3YWl0IHN1cGVyLnVwZGF0ZUFsbChjdHgsIG1vZGVsTGlzdCkpIGFzIE1bXSkubWFwKFxuICAgICAgICAobSkgPT4gdGhpcy5zZXJpYWxpemUobSkgYXMgc3RyaW5nXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIEBUcmFuc2FjdGlvbihmYWxzZSlcbiAgb3ZlcnJpZGUgYXN5bmMgcmF3KFxuICAgIGN0eDogQ3R4LFxuICAgIHJhd0lucHV0OiBzdHJpbmcsXG4gICAgZG9jc09ubHk6IGJvb2xlYW5cbiAgKTogUHJvbWlzZTxhbnk+IHtcbiAgICBjb25zdCBwYXJzZWRJbnB1dDogTWFuZ29RdWVyeSA9IEpTT04ucGFyc2UocmF3SW5wdXQpO1xuICAgIHJldHVybiBzdXBlci5yYXcoY3R4LCBwYXJzZWRJbnB1dCwgZG9jc09ubHkpO1xuICB9XG5cbiAgQFRyYW5zYWN0aW9uKClcbiAgb3ZlcnJpZGUgYXN5bmMgaW5pdChjdHg6IEN0eCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLmluaXQoY3R4KTtcbiAgfVxuXG4gIEBUcmFuc2FjdGlvbihmYWxzZSlcbiAgb3ZlcnJpZGUgYXN5bmMgaGVhbHRoY2hlY2soY3R4OiBDdHgpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIC8vVE9ETzogVFJJTSBOT1QgV09SS0lORyBDSEVDSyBMQVRFUlxuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeShhd2FpdCBzdXBlci5oZWFsdGhjaGVjayhjdHgpKTtcbiAgfVxuXG4gIEBUcmFuc2FjdGlvbigpXG4gIG92ZXJyaWRlIGFzeW5jIGNyZWF0ZUFsbChjdHg6IEN0eCwgbW9kZWxzOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGxvZyA9IHRoaXMubG9nRm9yKGN0eCkuZm9yKHRoaXMuY3JlYXRlQWxsKTtcbiAgICBjb25zdCBsaXN0OiBzdHJpbmdbXSA9IEpTT04ucGFyc2UobW9kZWxzKTtcbiAgICBjb25zdCBtb2RlbExpc3Q6IE1bXSA9IGxpc3RcbiAgICAgIC5tYXAoKG0pID0+IHRoaXMuZGVzZXJpYWxpemUobSkpXG4gICAgICAubWFwKChtKSA9PiBuZXcgdGhpcy5jbGF6eihtKSk7XG5cbiAgICBsb2cuaW5mbyhgQWRkaW5nICR7bW9kZWxMaXN0Lmxlbmd0aH0gZW50cmllcyB0byB0aGUgdGFibGVgKTtcbiAgICByZXR1cm4gSlNPTi5zdHJpbmdpZnkoXG4gICAgICAoKGF3YWl0IHN1cGVyLmNyZWF0ZUFsbChjdHgsIG1vZGVsTGlzdCkpIGFzIE1bXSkubWFwKFxuICAgICAgICAobSkgPT4gdGhpcy5zZXJpYWxpemUobSkgYXMgc3RyaW5nXG4gICAgICApXG4gICAgKTtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { FabricCrudContract } from "./crud-contract";
|
|
2
|
+
import { Constructor, Model } from "@decaf-ts/decorator-validation";
|
|
3
|
+
import { Context, Context as Ctx } from "fabric-contract-api";
|
|
4
|
+
import { ContractLogger } from "../logging";
|
|
5
|
+
/**
|
|
6
|
+
* @description CRUD contract variant that serializes/deserializes payloads
|
|
7
|
+
* @summary Exposes the same CRUD operations as FabricCrudContract but takes and returns JSON strings to facilitate simple client interactions.
|
|
8
|
+
* @template M - Model type handled by this contract
|
|
9
|
+
* @param {string} name - The contract name
|
|
10
|
+
* @param {Constructor<M>} clazz - The model constructor used to instantiate models from JSON
|
|
11
|
+
* @return {void}
|
|
12
|
+
* @class SerializedCrudContract
|
|
13
|
+
* @example
|
|
14
|
+
* const contract = new SerializedCrudContract<MyModel>('MyModelContract', MyModel);
|
|
15
|
+
* // Client submits JSON string payloads and receives JSON string responses
|
|
16
|
+
*/
|
|
17
|
+
export declare class SerializedCrudContract<M extends Model> extends FabricCrudContract<M> {
|
|
18
|
+
constructor(name: string, clazz: Constructor<M>);
|
|
19
|
+
/**
|
|
20
|
+
* @description Creates a logger for a specific chaincode context
|
|
21
|
+
* @summary Returns a ContractLogger instance configured for the current context
|
|
22
|
+
* @param {Ctx} ctx - The Fabric chaincode context
|
|
23
|
+
* @return {ContractLogger} The logger instance
|
|
24
|
+
*/
|
|
25
|
+
logFor(ctx: Context): ContractLogger;
|
|
26
|
+
create(ctx: Ctx, model: string): Promise<string>;
|
|
27
|
+
read(ctx: Ctx, key: string): Promise<string>;
|
|
28
|
+
update(ctx: Ctx, model: string): Promise<string>;
|
|
29
|
+
delete(ctx: Ctx, key: string): Promise<string>;
|
|
30
|
+
deleteAll(ctx: Ctx, keys: string): Promise<string>;
|
|
31
|
+
readAll(ctx: Ctx, keys: string): Promise<string>;
|
|
32
|
+
updateAll(ctx: Ctx, models: string): Promise<string>;
|
|
33
|
+
raw(ctx: Ctx, rawInput: string, docsOnly: boolean): Promise<any>;
|
|
34
|
+
init(ctx: Ctx): Promise<void>;
|
|
35
|
+
healthcheck(ctx: Ctx): Promise<string>;
|
|
36
|
+
createAll(ctx: Ctx, models: string): Promise<string>;
|
|
37
|
+
}
|