@decaf-ts/for-fabric 0.1.21 → 0.1.23
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 +26 -74
- package/lib/client/FabricClientAdapter.d.ts +27 -41
- package/lib/client/FabricClientAdapter.js.map +1 -1
- package/lib/client/FabricClientDispatch.cjs +1 -3
- package/lib/client/FabricClientDispatch.d.ts +6 -5
- package/lib/client/FabricClientDispatch.js.map +1 -1
- package/lib/client/FabricClientPaginator.cjs +5 -56
- package/lib/client/FabricClientPaginator.d.ts +6 -6
- package/lib/client/FabricClientPaginator.js.map +1 -1
- package/lib/client/FabricClientRepository.cjs +51 -104
- package/lib/client/FabricClientRepository.d.ts +21 -17
- package/lib/client/FabricClientRepository.js.map +1 -1
- package/lib/client/FabricClientStatement.cjs +7 -97
- package/lib/client/FabricClientStatement.d.ts +6 -7
- package/lib/client/FabricClientStatement.js.map +1 -1
- package/lib/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
- package/lib/client/erc20/FabricERC20ClientRepository.js.map +1 -1
- package/lib/client/services/FabricEnrollmentService.d.ts +1 -1
- package/lib/contracts/ContractAdapter.cjs +53 -27
- package/lib/contracts/ContractAdapter.d.ts +3 -3
- package/lib/contracts/ContractAdapter.js.map +1 -1
- package/lib/contracts/ContractContext.cjs +2 -2
- package/lib/contracts/ContractContext.d.ts +1 -1
- package/lib/contracts/ContractContext.js.map +1 -1
- package/lib/contracts/FabricContractRepository.js.map +1 -1
- package/lib/contracts/crud/crud-contract.cjs +14 -16
- package/lib/contracts/crud/crud-contract.d.ts +15 -4
- package/lib/contracts/crud/crud-contract.js.map +1 -1
- package/lib/contracts/crud/serialized-crud-contract.cjs +58 -8
- package/lib/contracts/crud/serialized-crud-contract.d.ts +6 -2
- package/lib/contracts/crud/serialized-crud-contract.js.map +1 -1
- package/lib/contracts/types.d.ts +2 -2
- package/lib/esm/client/FabricClientAdapter.d.ts +27 -41
- package/lib/esm/client/FabricClientAdapter.js +26 -73
- package/lib/esm/client/FabricClientAdapter.js.map +1 -1
- package/lib/esm/client/FabricClientDispatch.d.ts +6 -5
- package/lib/esm/client/FabricClientDispatch.js +3 -5
- package/lib/esm/client/FabricClientDispatch.js.map +1 -1
- package/lib/esm/client/FabricClientPaginator.d.ts +6 -6
- package/lib/esm/client/FabricClientPaginator.js +6 -57
- package/lib/esm/client/FabricClientPaginator.js.map +1 -1
- package/lib/esm/client/FabricClientRepository.d.ts +21 -17
- package/lib/esm/client/FabricClientRepository.js +51 -104
- package/lib/esm/client/FabricClientRepository.js.map +1 -1
- package/lib/esm/client/FabricClientStatement.d.ts +6 -7
- package/lib/esm/client/FabricClientStatement.js +8 -98
- package/lib/esm/client/FabricClientStatement.js.map +1 -1
- package/lib/esm/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
- package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -1
- package/lib/esm/client/services/FabricEnrollmentService.d.ts +1 -1
- package/lib/esm/contracts/ContractAdapter.d.ts +3 -3
- package/lib/esm/contracts/ContractAdapter.js +53 -27
- package/lib/esm/contracts/ContractAdapter.js.map +1 -1
- package/lib/esm/contracts/ContractContext.d.ts +1 -1
- package/lib/esm/contracts/ContractContext.js +1 -1
- package/lib/esm/contracts/ContractContext.js.map +1 -1
- package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
- package/lib/esm/contracts/crud/crud-contract.d.ts +15 -4
- package/lib/esm/contracts/crud/crud-contract.js +17 -19
- package/lib/esm/contracts/crud/crud-contract.js.map +1 -1
- package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +6 -2
- package/lib/esm/contracts/crud/serialized-crud-contract.js +58 -8
- package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -1
- package/lib/esm/contracts/types.d.ts +2 -2
- package/lib/esm/shared/decorators.d.ts +6 -7
- package/lib/esm/shared/decorators.js +73 -58
- package/lib/esm/shared/decorators.js.map +1 -1
- package/lib/esm/shared/overrides/overrides.js +39 -38
- package/lib/esm/shared/overrides/overrides.js.map +1 -1
- package/lib/esm/shared/types.d.ts +5 -9
- package/lib/esm/version.d.ts +1 -1
- package/lib/esm/version.js +1 -1
- package/lib/shared/decorators.cjs +69 -54
- package/lib/shared/decorators.d.ts +6 -7
- package/lib/shared/decorators.js.map +1 -1
- package/lib/shared/overrides/overrides.cjs +39 -38
- package/lib/shared/overrides/overrides.js.map +1 -1
- package/lib/shared/types.d.ts +5 -9
- package/lib/version.cjs +1 -1
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/lib/client/types.cjs +0 -3
- package/lib/client/types.d.ts +0 -7
- package/lib/client/types.js.map +0 -1
- package/lib/esm/client/types.d.ts +0 -7
- package/lib/esm/client/types.js +0 -2
- package/lib/esm/client/types.js.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { Paginator } from "@decaf-ts/core";
|
|
1
|
+
import { MaybeContextualArg, Paginator, PreparedStatement } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { FabricQuery } from "./types";
|
|
4
3
|
import { Constructor } from "@decaf-ts/decoration";
|
|
5
4
|
import { FabricClientAdapter } from "./FabricClientAdapter";
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
protected prepare(rawStatement:
|
|
5
|
+
import { MangoQuery } from "@decaf-ts/for-couchdb";
|
|
6
|
+
export declare class FabricClientPaginator<M extends Model> extends Paginator<M, M, MangoQuery> {
|
|
7
|
+
constructor(adapter: FabricClientAdapter, query: MangoQuery | PreparedStatement<any>, size: number, clazz: Constructor<M>);
|
|
8
|
+
protected prepare(rawStatement: MangoQuery): MangoQuery;
|
|
9
|
+
page(page?: number, ...args: MaybeContextualArg<any>): Promise<M[]>;
|
|
10
10
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricClientPaginator.js","sourceRoot":"","sources":["../../src/client/FabricClientPaginator.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"FabricClientPaginator.js","sourceRoot":"","sources":["../../src/client/FabricClientPaginator.ts"],"names":[],"mappings":";;;AAAA,yCAKwB;AAMxB,MAAa,qBAAuC,SAAQ,gBAI3D;IACC,YACE,OAA4B,EAC5B,KAA0C,EAC1C,IAAY,EACZ,KAAqB;QAErB,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IAED,6DAA6D;IACnD,OAAO,CAAC,YAAwB;QACxC,MAAM,IAAI,uBAAgB,CACxB,qGAAqG,CACtG,CAAC;IACJ,CAAC;IAEQ,IAAI,CACX,OAAe,CAAC,EAChB,GAAG,IAA6B;QAEhC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,6CAA6C;IACjF,CAAC;CACF;AA3BD,sDA2BC"}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.FabricClientRepository = void 0;
|
|
4
4
|
const core_1 = require("@decaf-ts/core");
|
|
5
5
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
6
|
-
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
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.
|
|
@@ -35,133 +34,81 @@ const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
|
35
34
|
class FabricClientRepository extends core_1.Repository {
|
|
36
35
|
constructor(adapter, clazz) {
|
|
37
36
|
super(adapter, clazz);
|
|
38
|
-
this._overrides = {
|
|
39
|
-
ignoreValidation:
|
|
37
|
+
this._overrides = Object.assign({}, super["_overrides"], {
|
|
38
|
+
ignoreValidation: false,
|
|
40
39
|
ignoreHandlers: true,
|
|
41
|
-
|
|
40
|
+
allowRawStatements: false,
|
|
41
|
+
forcePrepareSimpleQueries: true,
|
|
42
|
+
forcePrepareComplexQueries: true,
|
|
43
|
+
});
|
|
42
44
|
}
|
|
43
45
|
async paginateBy(key, order, size, ...args) {
|
|
44
|
-
const contextArgs = await
|
|
46
|
+
const contextArgs = await core_1.Context.args(core_1.PreparedStatementKeys.PAGE_BY, this.class, args, this.adapter, this._overrides || {});
|
|
45
47
|
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.paginateBy);
|
|
46
48
|
log.verbose(`paginating ${decorator_validation_1.Model.tableName(this.class)} with page size ${size}`);
|
|
47
|
-
return
|
|
49
|
+
return this.select()
|
|
50
|
+
.orderBy([key, order])
|
|
51
|
+
.paginate(size, ...ctxArgs);
|
|
48
52
|
}
|
|
49
53
|
async listBy(key, order, ...args) {
|
|
50
|
-
const contextArgs = await
|
|
54
|
+
const contextArgs = await core_1.Context.args("list", this.class, args, this.adapter, this._overrides || {});
|
|
51
55
|
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.listBy);
|
|
52
56
|
log.verbose(`listing ${decorator_validation_1.Model.tableName(this.class)} by ${key} ${order}`);
|
|
53
|
-
return (await this.statement(this.listBy.name, key, order, ...ctxArgs));
|
|
57
|
+
return (await this.statement(this.listBy.name, key, { direction: order }, ...ctxArgs));
|
|
58
|
+
}
|
|
59
|
+
async findBy(key, value, ...args) {
|
|
60
|
+
const contextArgs = await core_1.Context.args(core_1.PreparedStatementKeys.FIND_BY, this.class, args, this.adapter, this._overrides || {});
|
|
61
|
+
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.findBy);
|
|
62
|
+
log.verbose(`finding all ${decorator_validation_1.Model.tableName(this.class)} with ${key} ${value}`);
|
|
63
|
+
return (await this.statement(this.findBy.name, key, value, {}, ...ctxArgs));
|
|
54
64
|
}
|
|
55
65
|
async findOneBy(key, value, ...args) {
|
|
56
|
-
const contextArgs = await
|
|
66
|
+
const contextArgs = await core_1.Context.args(core_1.PreparedStatementKeys.FIND_ONE_BY, this.class, args, this.adapter, this._overrides || {});
|
|
57
67
|
const { log, ctxArgs } = this.logCtx(contextArgs.args, this.findOneBy);
|
|
58
|
-
log.verbose(`finding ${decorator_validation_1.Model.tableName(this.class)} with ${key} ${value}`);
|
|
59
|
-
return (await this.statement(this.findOneBy.name, key, value, ...ctxArgs));
|
|
68
|
+
log.verbose(`finding One ${decorator_validation_1.Model.tableName(this.class)} with ${key} ${value}`);
|
|
69
|
+
return (await this.statement(this.findOneBy.name, key, value, {}, ...ctxArgs));
|
|
60
70
|
}
|
|
61
71
|
async statement(name, ...args) {
|
|
62
|
-
const contextArgs = await
|
|
63
|
-
const { log
|
|
72
|
+
const contextArgs = await core_1.Context.args(core_1.PersistenceKeys.STATEMENT, this.class, args, this.adapter, this._overrides || {});
|
|
73
|
+
const { log } = this.logCtx(contextArgs.args, this.statement);
|
|
64
74
|
log.verbose(`Executing prepared statement ${name}`);
|
|
65
|
-
return this.adapter.evaluateTransaction(core_1.PersistenceKeys.STATEMENT,
|
|
66
|
-
}
|
|
67
|
-
async createPrefix(model, ...args) {
|
|
68
|
-
const contextArgs = await db_decorators_1.Context.args(db_decorators_1.OperationKeys.CREATE, this.class, args, this.adapter, this._overrides || {});
|
|
69
|
-
const ignoreHandlers = contextArgs.context.get("ignoreHandlers");
|
|
70
|
-
const ignoreValidate = contextArgs.context.get("ignoreValidation");
|
|
71
|
-
model = new this.class(model);
|
|
72
|
-
if (!ignoreHandlers)
|
|
73
|
-
await (0, db_decorators_1.enforceDBDecorators)(this, contextArgs.context, model, db_decorators_1.OperationKeys.CREATE, db_decorators_1.OperationKeys.ON);
|
|
74
|
-
if (!ignoreValidate) {
|
|
75
|
-
const errors = await Promise.resolve(model.hasErrors(...(contextArgs.context.get("ignoredValidationProperties") || [])));
|
|
76
|
-
if (errors)
|
|
77
|
-
throw new db_decorators_1.ValidationError(errors.toString());
|
|
78
|
-
}
|
|
79
|
-
return [model, ...contextArgs.args];
|
|
80
|
-
}
|
|
81
|
-
async createAllPrefix(models, ...args) {
|
|
82
|
-
const contextArgs = await db_decorators_1.Context.args(db_decorators_1.OperationKeys.CREATE, this.class, args, this.adapter, this._overrides || {});
|
|
83
|
-
const ignoreHandlers = contextArgs.context.get("ignoreHandlers");
|
|
84
|
-
const ignoreValidate = contextArgs.context.get("ignoreValidation");
|
|
85
|
-
if (!models.length)
|
|
86
|
-
return [models, ...contextArgs.args];
|
|
87
|
-
const opts = decorator_validation_1.Model.sequenceFor(models[0]);
|
|
88
|
-
let ids = [];
|
|
89
|
-
if (opts.type) {
|
|
90
|
-
if (!opts.name)
|
|
91
|
-
opts.name = core_1.Sequence.pk(models[0]);
|
|
92
|
-
ids = await (await this.adapter.Sequence(opts)).range(models.length, ...contextArgs.args);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
ids = models.map((m, i) => {
|
|
96
|
-
if (typeof m[this.pk] === "undefined")
|
|
97
|
-
throw new db_decorators_1.InternalError(`Primary key is not defined for model in position ${i}`);
|
|
98
|
-
return m[this.pk];
|
|
99
|
-
});
|
|
100
|
-
}
|
|
101
|
-
models = await Promise.all(models.map(async (m, i) => {
|
|
102
|
-
m = new this.class(m);
|
|
103
|
-
if (opts.type) {
|
|
104
|
-
m[this.pk] = (opts.type !== "String"
|
|
105
|
-
? ids[i]
|
|
106
|
-
: opts.generated
|
|
107
|
-
? ids[i]
|
|
108
|
-
: `${m[this.pk]}`.toString());
|
|
109
|
-
}
|
|
110
|
-
if (!ignoreHandlers)
|
|
111
|
-
await (0, db_decorators_1.enforceDBDecorators)(this, contextArgs.context, m, db_decorators_1.OperationKeys.CREATE, db_decorators_1.OperationKeys.ON);
|
|
112
|
-
return m;
|
|
113
|
-
}));
|
|
114
|
-
if (!ignoreValidate) {
|
|
115
|
-
const ignoredProps = contextArgs.context.get("ignoredValidationProperties") || [];
|
|
116
|
-
const errors = await Promise.all(models.map((m) => Promise.resolve(m.hasErrors(...ignoredProps))));
|
|
117
|
-
const errorMessages = (0, db_decorators_1.reduceErrorsToPrint)(errors);
|
|
118
|
-
if (errorMessages)
|
|
119
|
-
throw new db_decorators_1.ValidationError(errorMessages);
|
|
120
|
-
}
|
|
121
|
-
return [models, ...contextArgs.args];
|
|
122
|
-
}
|
|
123
|
-
async readPrefix(key, ...args) {
|
|
124
|
-
const contextArgs = await db_decorators_1.Context.args(db_decorators_1.OperationKeys.READ, this.class, args, this.adapter, this._overrides || {});
|
|
125
|
-
const model = new this.class();
|
|
126
|
-
model[this.pk] = key;
|
|
127
|
-
await (0, db_decorators_1.enforceDBDecorators)(this, contextArgs.context, model, db_decorators_1.OperationKeys.READ, db_decorators_1.OperationKeys.ON);
|
|
128
|
-
return [key, ...contextArgs.args];
|
|
129
|
-
}
|
|
130
|
-
async readAllPrefix(keys, ...args) {
|
|
131
|
-
const contextArgs = await db_decorators_1.Context.args(db_decorators_1.OperationKeys.READ, this.class, args, this.adapter, this._overrides || {});
|
|
132
|
-
await Promise.all(keys.map(async (k) => {
|
|
133
|
-
const m = new this.class();
|
|
134
|
-
m[this.pk] = k;
|
|
135
|
-
return (0, db_decorators_1.enforceDBDecorators)(this, contextArgs.context, m, db_decorators_1.OperationKeys.READ, db_decorators_1.OperationKeys.ON);
|
|
136
|
-
}));
|
|
137
|
-
return [keys, ...contextArgs.args];
|
|
75
|
+
return this.adapter.evaluateTransaction(core_1.PersistenceKeys.STATEMENT, contextArgs.args);
|
|
138
76
|
}
|
|
139
|
-
async
|
|
140
|
-
const
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
const oldModel = await this.read(pk, ...contextArgs.args);
|
|
147
|
-
model = decorator_validation_1.Model.merge(oldModel, model, this.class);
|
|
148
|
-
if (!ignoreHandlers)
|
|
149
|
-
await (0, db_decorators_1.enforceDBDecorators)(this, contextArgs.context, model, db_decorators_1.OperationKeys.UPDATE, db_decorators_1.OperationKeys.ON, oldModel);
|
|
150
|
-
if (!ignoreValidate) {
|
|
151
|
-
const errors = await Promise.resolve(model.hasErrors(oldModel, ...decorator_validation_1.Model.relations(this.class), ...(contextArgs.context.get("ignoredValidationProperties") || [])));
|
|
152
|
-
if (errors)
|
|
153
|
-
throw new db_decorators_1.ValidationError(errors.toString());
|
|
154
|
-
}
|
|
155
|
-
return [model, ...contextArgs.args];
|
|
77
|
+
async create(model, ...args) {
|
|
78
|
+
const { ctx, log, ctxArgs } = this.logCtx(args, this.create);
|
|
79
|
+
log.debug(`Creating new ${this.class.name} in table ${decorator_validation_1.Model.tableName(this.class)}`);
|
|
80
|
+
// eslint-disable-next-line prefer-const
|
|
81
|
+
let { record, id, transient } = this.adapter.prepare(model, ctx);
|
|
82
|
+
record = await this.adapter.create(this.class, id, record, transient, ...ctxArgs);
|
|
83
|
+
return this.adapter.revert(record, this.class, id, transient, ctx);
|
|
156
84
|
}
|
|
157
85
|
async update(model, ...args) {
|
|
158
86
|
const { ctxArgs, log, ctx } = this.logCtx(args, this.update);
|
|
159
87
|
// eslint-disable-next-line prefer-const
|
|
160
88
|
let { record, id, transient } = this.adapter.prepare(model, ctx);
|
|
161
89
|
log.debug(`updating ${this.class.name} in table ${decorator_validation_1.Model.tableName(this.class)} with id ${id}`);
|
|
162
|
-
record = await this.adapter.update(this.class, id, record, ...ctxArgs);
|
|
90
|
+
record = await this.adapter.update(this.class, id, record, transient, ...ctxArgs);
|
|
163
91
|
return this.adapter.revert(record, this.class, id, transient, ctx);
|
|
164
92
|
}
|
|
93
|
+
async createAll(models, ...args) {
|
|
94
|
+
if (!models.length)
|
|
95
|
+
return models;
|
|
96
|
+
const { ctx, log, ctxArgs } = this.logCtx(args, this.createAll);
|
|
97
|
+
log.debug(`Creating ${models.length} new ${this.class.name} in table ${decorator_validation_1.Model.tableName(this.class)}`);
|
|
98
|
+
const prepared = models.map((m) => this.adapter.prepare(m, ctx));
|
|
99
|
+
const ids = prepared.map((p) => p.id);
|
|
100
|
+
let records = prepared.map((p) => p.record);
|
|
101
|
+
const transient = prepared.map((p) => p.transient);
|
|
102
|
+
records = await this.adapter.createAll(this.class, ids, records, transient, ...ctxArgs);
|
|
103
|
+
return records.map((r, i) => this.adapter.revert(r, this.class, ids[i], ctx.get("rebuildWithTransient") ? prepared[i].transient : undefined, ctx));
|
|
104
|
+
}
|
|
105
|
+
async updateAll(models, ...args) {
|
|
106
|
+
const { ctx, log, ctxArgs } = this.logCtx(args, this.updateAll);
|
|
107
|
+
log.debug(`Updating ${models.length} new ${this.class.name} in table ${decorator_validation_1.Model.tableName(this.class)}`);
|
|
108
|
+
const records = models.map((m) => this.adapter.prepare(m, ctx));
|
|
109
|
+
const updated = await this.adapter.updateAll(this.class, records.map((r) => r.id), records.map((r) => r.record), records.map((r) => r.transient), ...ctxArgs);
|
|
110
|
+
return updated.map((u, i) => this.adapter.revert(u, this.class, records[i].id, ctx.get("rebuildWithTransient") ? records[i].transient : undefined, ctx));
|
|
111
|
+
}
|
|
165
112
|
}
|
|
166
113
|
exports.FabricClientRepository = FabricClientRepository;
|
|
167
114
|
//# sourceMappingURL=FabricClientRepository.js.map
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import { OrderDirection,
|
|
2
|
-
import type {
|
|
1
|
+
import { OrderDirection, Repository, ContextOf } from "@decaf-ts/core";
|
|
2
|
+
import type { MaybeContextualArg } from "@decaf-ts/core";
|
|
3
3
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
4
4
|
import { Constructor } from "@decaf-ts/decoration";
|
|
5
|
-
import type
|
|
6
|
-
import { PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
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,17 +31,22 @@ import { PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
|
32
31
|
* Adapter-->>Repo: result
|
|
33
32
|
* Repo-->>App: model
|
|
34
33
|
*/
|
|
35
|
-
export declare class FabricClientRepository<M extends Model> extends Repository<M,
|
|
36
|
-
_overrides
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
34
|
+
export declare class FabricClientRepository<M extends Model, A extends FabricClientAdapter> extends Repository<M, A> {
|
|
35
|
+
protected _overrides: Partial<import("@decaf-ts/core").FlagsOf<ContextOf<A>>> & Partial<import("@decaf-ts/db-decorators").FlagsOf<ContextOf<A>>> & {
|
|
36
|
+
ignoreValidation: boolean;
|
|
37
|
+
ignoreHandlers: boolean;
|
|
38
|
+
allowRawStatements: boolean;
|
|
39
|
+
forcePrepareSimpleQueries: boolean;
|
|
40
|
+
forcePrepareComplexQueries: boolean;
|
|
41
|
+
};
|
|
42
|
+
constructor(adapter?: A, clazz?: Constructor<M>);
|
|
43
|
+
paginateBy(key: keyof M, order: OrderDirection, size: number, ...args: MaybeContextualArg<ContextOf<A>>): Promise<import("@decaf-ts/core").Paginator<M, M[], any>>;
|
|
44
|
+
listBy(key: keyof M, order: OrderDirection, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
45
|
+
findBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
46
|
+
findOneBy(key: keyof M, value: any, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M>;
|
|
47
|
+
statement(name: string, ...args: MaybeContextualArg<ContextOf<A>>): Promise<any>;
|
|
48
|
+
create(model: M, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M>;
|
|
49
|
+
update(model: M, ...args: MaybeContextualArg<ContextOf<A>>): Promise<M>;
|
|
50
|
+
createAll(models: M[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
51
|
+
updateAll(models: M[], ...args: MaybeContextualArg<ContextOf<A>>): Promise<M[]>;
|
|
48
52
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricClientRepository.js","sourceRoot":"","sources":["../../src/client/FabricClientRepository.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"FabricClientRepository.js","sourceRoot":"","sources":["../../src/client/FabricClientRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,109 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.FabricClientStatement = void 0;
|
|
4
4
|
const core_1 = require("@decaf-ts/core");
|
|
5
|
-
const logging_1 = require("@decaf-ts/logging");
|
|
6
|
-
const FabricClientPaginator_1 = require("./FabricClientPaginator.cjs");
|
|
7
|
-
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
8
5
|
class FabricClientStatement extends core_1.Statement {
|
|
9
|
-
constructor(adapter) {
|
|
10
|
-
super(adapter);
|
|
6
|
+
constructor(adapter, overrides) {
|
|
7
|
+
super(adapter, overrides);
|
|
11
8
|
}
|
|
12
9
|
build() {
|
|
13
|
-
|
|
14
|
-
const args = [];
|
|
15
|
-
const params = {};
|
|
16
|
-
if (this.whereCondition) {
|
|
17
|
-
const parsed = this.parseCondition(this.whereCondition);
|
|
18
|
-
method.push(parsed.method);
|
|
19
|
-
if (parsed.args && parsed.args.length)
|
|
20
|
-
args.push(...parsed.args);
|
|
21
|
-
}
|
|
22
|
-
if (this.selectSelector)
|
|
23
|
-
method.push(core_1.QueryClause.SELECT, this.selectSelector.join(` ${core_1.QueryClause.AND.toLowerCase()} `));
|
|
24
|
-
if (this.orderBySelector)
|
|
25
|
-
method.push(core_1.QueryClause.ORDER_BY, ...this.orderBySelector);
|
|
26
|
-
if (this.groupBySelector)
|
|
27
|
-
method.push(core_1.QueryClause.GROUP_BY, this.groupBySelector);
|
|
28
|
-
if (this.limitSelector)
|
|
29
|
-
params.limit = this.limitSelector;
|
|
30
|
-
if (this.offsetSelector) {
|
|
31
|
-
params.skip = this.offsetSelector;
|
|
32
|
-
}
|
|
33
|
-
return {
|
|
34
|
-
class: this.fromSelector,
|
|
35
|
-
method: (0, logging_1.toCamelCase)(method.join(" ")),
|
|
36
|
-
args: args,
|
|
37
|
-
params: Object.keys(params).length ? params : undefined,
|
|
38
|
-
};
|
|
10
|
+
throw new core_1.UnsupportedError(`This method is only called is prepared statements are not used. If so, a dedicated implementation for the native queries used is required`);
|
|
39
11
|
}
|
|
40
|
-
|
|
12
|
+
parseCondition(
|
|
13
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
|
+
condition,
|
|
41
15
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
42
16
|
...args) {
|
|
43
|
-
|
|
44
|
-
const query = this.build();
|
|
45
|
-
return new FabricClientPaginator_1.FabricClientPaginator(this.adapter, query, size, this.fromSelector);
|
|
46
|
-
}
|
|
47
|
-
catch (e) {
|
|
48
|
-
throw new db_decorators_1.InternalError(e);
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
parseCondition(condition) {
|
|
52
|
-
// @ts-expect-error accessing protected properties
|
|
53
|
-
// eslint-disable-next-line prefer-const
|
|
54
|
-
let { attr1, operator, comparison } = condition;
|
|
55
|
-
const result = {};
|
|
56
|
-
switch (operator) {
|
|
57
|
-
case core_1.GroupOperator.AND:
|
|
58
|
-
case core_1.GroupOperator.OR: {
|
|
59
|
-
let side1 = attr1, side2 = comparison;
|
|
60
|
-
if (typeof attr1 !== "string") {
|
|
61
|
-
const condition1 = this.parseCondition(attr1);
|
|
62
|
-
side1 = condition1.method;
|
|
63
|
-
result.args = [...(result.args || []), ...(condition1.args || [])];
|
|
64
|
-
}
|
|
65
|
-
if (comparison instanceof core_1.Condition) {
|
|
66
|
-
const condition2 = this.parseCondition(comparison);
|
|
67
|
-
side2 = condition2.method;
|
|
68
|
-
result.args = [...(result.args || []), ...(condition2.args || [])];
|
|
69
|
-
}
|
|
70
|
-
result.method = `${side1} ${operator.toLowerCase()} ${side2}`;
|
|
71
|
-
break;
|
|
72
|
-
}
|
|
73
|
-
case core_1.Operator.EQUAL:
|
|
74
|
-
result.method = attr1;
|
|
75
|
-
result.args = [...(result.args || []), comparison];
|
|
76
|
-
break;
|
|
77
|
-
case core_1.Operator.DIFFERENT:
|
|
78
|
-
result.method = `${attr1} diff`;
|
|
79
|
-
result.args = [...(result.args || []), comparison];
|
|
80
|
-
break;
|
|
81
|
-
case core_1.Operator.REGEXP:
|
|
82
|
-
result.method = `${attr1} matches`;
|
|
83
|
-
result.args = [...(result.args || []), comparison];
|
|
84
|
-
break;
|
|
85
|
-
case core_1.Operator.BIGGER:
|
|
86
|
-
result.method = `${attr1} bigger`;
|
|
87
|
-
result.args = [...(result.args || []), comparison];
|
|
88
|
-
break;
|
|
89
|
-
case core_1.Operator.BIGGER_EQ:
|
|
90
|
-
result.method = `${attr1} bigger than equal`;
|
|
91
|
-
break;
|
|
92
|
-
case core_1.Operator.SMALLER:
|
|
93
|
-
result.method = `${attr1} less`;
|
|
94
|
-
result.args = [...(result.args || []), comparison];
|
|
95
|
-
break;
|
|
96
|
-
case core_1.Operator.SMALLER_EQ:
|
|
97
|
-
result.method = `${attr1} less than equal`;
|
|
98
|
-
result.args = [...(result.args || []), comparison];
|
|
99
|
-
break;
|
|
100
|
-
case core_1.Operator.IN:
|
|
101
|
-
result.method = `${attr1} in`;
|
|
102
|
-
result.args = [...(result.args || []), comparison];
|
|
103
|
-
break;
|
|
104
|
-
default:
|
|
105
|
-
throw new core_1.QueryError(`Unsupported operator ${operator}`);
|
|
106
|
-
}
|
|
107
|
-
return result;
|
|
17
|
+
throw new core_1.UnsupportedError(`This method is only called is prepared statements are not used. Is so, a dedicated implementation for the native queries used is required`);
|
|
108
18
|
}
|
|
109
19
|
}
|
|
110
20
|
exports.FabricClientStatement = FabricClientStatement;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AdapterFlags, Condition, Statement } from "@decaf-ts/core";
|
|
2
2
|
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
|
-
import { FabricQuery } from "./types";
|
|
4
3
|
import { FabricClientAdapter } from "./FabricClientAdapter";
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
protected parseCondition(condition: Condition<M
|
|
4
|
+
import { MangoQuery } from "@decaf-ts/for-couchdb";
|
|
5
|
+
export declare class FabricClientStatement<M extends Model, R> extends Statement<M, FabricClientAdapter, R, MangoQuery> {
|
|
6
|
+
constructor(adapter: FabricClientAdapter, overrides?: Partial<AdapterFlags>);
|
|
7
|
+
protected build(): MangoQuery;
|
|
8
|
+
protected parseCondition(condition: Condition<M>, ...args: any[]): MangoQuery;
|
|
10
9
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricClientStatement.js","sourceRoot":"","sources":["../../src/client/FabricClientStatement.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"FabricClientStatement.js","sourceRoot":"","sources":["../../src/client/FabricClientStatement.ts"],"names":[],"mappings":";;;AAAA,yCAKwB;AAKxB,MAAa,qBAA0C,SAAQ,gBAK9D;IACC,YAAY,OAA4B,EAAE,SAAiC;QACzE,KAAK,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC5B,CAAC;IAEkB,KAAK;QACtB,MAAM,IAAI,uBAAgB,CACxB,2IAA2I,CAC5I,CAAC;IACJ,CAAC;IAEkB,cAAc;IAC/B,6DAA6D;IAC7D,SAAuB;IACvB,6DAA6D;IAC7D,GAAG,IAAW;QAEd,MAAM,IAAI,uBAAgB,CACxB,2IAA2I,CAC5I,CAAC;IACJ,CAAC;CACF;AA1BD,sDA0BC"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { FabricClientRepository } from "../FabricClientRepository";
|
|
2
2
|
import { ERC20Token, ERC20Wallet } from "../../contracts/erc20/models";
|
|
3
3
|
import { Model, Serializer } from "@decaf-ts/decorator-validation";
|
|
4
|
-
import { FabricClientAdapter
|
|
5
|
-
import { ContextualArgs, EventIds } from "@decaf-ts/core";
|
|
4
|
+
import { FabricClientAdapter } from "../FabricClientAdapter";
|
|
5
|
+
import { ContextOf, ContextualArgs, EventIds } from "@decaf-ts/core";
|
|
6
6
|
import { BulkCrudOperationKeys, OperationKeys } from "@decaf-ts/db-decorators";
|
|
7
7
|
import { Constructor } from "@decaf-ts/decoration";
|
|
8
8
|
/**
|
|
9
9
|
* Repository for interacting with ERC20 contracts on a Hyperledger Fabric network.
|
|
10
10
|
* Extends the base FabricClientRepository class and utilizes the ClientSerializer for data serialization.
|
|
11
11
|
*/
|
|
12
|
-
export declare class FabricERC20ClientRepository extends FabricClientRepository<ERC20Wallet> {
|
|
12
|
+
export declare class FabricERC20ClientRepository<A extends FabricClientAdapter> extends FabricClientRepository<ERC20Wallet, A> {
|
|
13
13
|
private static serializer;
|
|
14
14
|
protected readonly serializer: Serializer<any>;
|
|
15
15
|
private static decoder;
|
|
@@ -23,7 +23,7 @@ export declare class FabricERC20ClientRepository extends FabricClientRepository<
|
|
|
23
23
|
* @return {Promise<void>} A promise that resolves when all observers have been notified.
|
|
24
24
|
* @throws {InternalError} If the observer handler is not initialized.
|
|
25
25
|
*/
|
|
26
|
-
updateObservers<M extends Model>(table: Constructor<M> | string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args: ContextualArgs<
|
|
26
|
+
updateObservers<M extends Model>(table: Constructor<M> | string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args: ContextualArgs<ContextOf<A>>): Promise<void>;
|
|
27
27
|
/**
|
|
28
28
|
* Decodes a Uint8Array into a string using the TextDecoder.
|
|
29
29
|
*
|
|
@@ -31,7 +31,7 @@ export declare class FabricERC20ClientRepository extends FabricClientRepository<
|
|
|
31
31
|
* @returns The decoded string.
|
|
32
32
|
*/
|
|
33
33
|
decode(data: Uint8Array): string;
|
|
34
|
-
constructor(adapter?:
|
|
34
|
+
constructor(adapter?: A);
|
|
35
35
|
/**
|
|
36
36
|
* Retrieves the name of the ERC20 token.
|
|
37
37
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricERC20ClientRepository.js","sourceRoot":"","sources":["../../../src/client/erc20/FabricERC20ClientRepository.ts"],"names":[],"mappings":";;;AAAA,4EAAmE;AACnE,+DAAuE;AACvE,yEAAmE;
|
|
1
|
+
{"version":3,"file":"FabricERC20ClientRepository.js","sourceRoot":"","sources":["../../../src/client/erc20/FabricERC20ClientRepository.ts"],"names":[],"mappings":"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"}
|
|
@@ -115,7 +115,7 @@ export declare class FabricEnrollmentService extends LoggedClass {
|
|
|
115
115
|
* @return {Promise<FabricIdentity[]>} The list of identities registered in the CA.
|
|
116
116
|
*/
|
|
117
117
|
getIdentities(): Promise<FabricIdentity[]>;
|
|
118
|
-
protected parseError(e: Error):
|
|
118
|
+
protected parseError(e: Error): AuthorizationError | ConflictError;
|
|
119
119
|
/**
|
|
120
120
|
* @description Retrieve affiliations from the CA.
|
|
121
121
|
* @summary Queries the CA for the list of affiliations available under the configured CA.
|