@decaf-ts/for-fabric 0.13.4 → 0.13.7
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/lib/cjs/contracts/ContractAdapter.cjs +174 -79
- package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -1
- package/lib/cjs/contracts/FabricContractPaginator.cjs +1 -0
- package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -1
- package/lib/cjs/contracts/FabricContractRepository.cjs +16 -0
- package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -1
- package/lib/cjs/contracts/FabricContractStatement.cjs +3 -5
- package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -1
- package/lib/cjs/version.cjs +3 -3
- package/lib/esm/contracts/ContractAdapter.js +174 -79
- package/lib/esm/contracts/ContractAdapter.js.map +1 -1
- package/lib/esm/contracts/FabricContractPaginator.js +1 -0
- package/lib/esm/contracts/FabricContractPaginator.js.map +1 -1
- package/lib/esm/contracts/FabricContractRepository.js +16 -0
- package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
- package/lib/esm/contracts/FabricContractStatement.js +3 -5
- package/lib/esm/contracts/FabricContractStatement.js.map +1 -1
- package/lib/esm/version.js +3 -3
- package/lib/types/contracts/ContractAdapter.d.cts +4 -0
- package/lib/types/contracts/ContractAdapter.d.mts +4 -0
- package/lib/types/version.d.cts +3 -3
- package/lib/types/version.d.mts +3 -3
- package/package.json +1 -1
|
@@ -246,13 +246,21 @@ class FabricContractRepository extends core_1.Repository {
|
|
|
246
246
|
const attrs = this.getFabricDefaultQueryAttributes();
|
|
247
247
|
const { log, ctxArgs } = (await this.logCtx(args, core_1.PreparedStatementKeys.PAGE, true)).for(this.page);
|
|
248
248
|
log.verbose(`paging ${decorator_validation_1.Model.tableName(this.class)} by default query attributes ${attrs.join(", ")}`);
|
|
249
|
+
log.debug(`default query page request value=${value} direction=${direction} ref=${JSON.stringify(ref)} attrs=${JSON.stringify(attrs)}`);
|
|
249
250
|
const decoded = this.decodeDefaultQueryBookmark(ref.bookmark);
|
|
251
|
+
if (decoded) {
|
|
252
|
+
log.debug(`decoded default query bookmark attr=${decoded.attr} bookmark=${decoded.bookmark}`);
|
|
253
|
+
}
|
|
250
254
|
if (decoded?.attr && attrs.includes(decoded.attr)) {
|
|
255
|
+
log.debug(`continuing default query page using attr=${decoded.attr}`);
|
|
251
256
|
const page = await this.pageByDefaultAttr(decoded.attr, value, direction, { ...ref, bookmark: decoded.bookmark }, ...ctxArgs);
|
|
257
|
+
log.debug(`default query page completed for attr=${decoded.attr} count=${page.data.length} bookmark=${page.bookmark}`);
|
|
252
258
|
return this.encodeDefaultQueryBookmark(decoded.attr, page.bookmark, page);
|
|
253
259
|
}
|
|
254
260
|
for (const attr of attrs) {
|
|
261
|
+
log.debug(`trying default query page attr=${String(attr)}`);
|
|
255
262
|
const page = await this.pageByDefaultAttr(attr, value, direction, ref, ...ctxArgs);
|
|
263
|
+
log.debug(`default query page attr=${String(attr)} returned count=${page.data.length} bookmark=${page.bookmark}`);
|
|
256
264
|
if (page.data.length > 0) {
|
|
257
265
|
return this.encodeDefaultQueryBookmark(attr, page.bookmark, page);
|
|
258
266
|
}
|
|
@@ -274,11 +282,19 @@ class FabricContractRepository extends core_1.Repository {
|
|
|
274
282
|
async pageByDefaultAttr(attr, value, direction, ref, ...args) {
|
|
275
283
|
const limit = ref.limit || 10;
|
|
276
284
|
const bookmark = ref.bookmark;
|
|
285
|
+
const { log } = await this.logCtx(args, core_1.PreparedStatementKeys.PAGE, true);
|
|
286
|
+
log.debug(`pageByDefaultAttr attr=${String(attr)} value=${value} direction=${direction} limit=${limit} bookmark=${bookmark}`);
|
|
277
287
|
const paginator = await this.select()
|
|
278
288
|
.where(this.attr(attr).startsWith(value))
|
|
279
289
|
.orderBy([attr, direction])
|
|
280
290
|
.paginate(limit, bookmark, ...args);
|
|
281
291
|
const paged = await paginator.page(ref.offset || 1, bookmark, ...args);
|
|
292
|
+
const pagedCount = Array.isArray(paged?.data)
|
|
293
|
+
? paged.data.length
|
|
294
|
+
: Array.isArray(paged)
|
|
295
|
+
? paged.length
|
|
296
|
+
: undefined;
|
|
297
|
+
log.debug(`pageByDefaultAttr attr=${String(attr)} paged count=${String(pagedCount)} paginatorBookmark=${paginator["_bookmark"]}`);
|
|
282
298
|
return paginator.serialize(paged);
|
|
283
299
|
}
|
|
284
300
|
encodeDefaultQueryBookmark(attr, bookmark, page) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricContractRepository.js","sourceRoot":"","sources":["FabricContractRepository.js"],"names":[],"mappings":";;;AAAA,0BAAwB;AACxB,yCAAiH;AACjH,yEAAuD;AACvD,iHAA2G;AAC3G,2DAAoE;AACpE,6DAAmG;AACnG,2BAAoC;AACpC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAa,wBAAyB,SAAQ,iBAAU;IACpD,SAAS,IAAI,CAAC,6BAA6B,GAAG,cAAc,CAAC,CAAC,CAAC;IAC/D,YAAY,OAAO,EAAE,KAAK,EAAE,aAAa;QACrC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,YAAY,CAAC,EAAE;YACrD,gBAAgB,EAAE,KAAK;YACvB,cAAc,EAAE,KAAK;YACrB,kBAAkB,EAAE,IAAI;YACxB,yBAAyB,EAAE,KAAK;YAChC,0BAA0B,EAAE,KAAK;YACjC,oBAAoB,EAAE,KAAK;SAC9B,CAAC,CAAC;IACP,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI;QACvB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,GAAG,CAAC,KAAK,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,4BAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACrF,wCAAwC;QACxC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7F,IAAI,UAAU;YACV,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC1C,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IAC7E,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI;QAC3B,IAAI,CAAC,MAAM,CAAC,MAAM;YACd,OAAO,MAAM,CAAC;QAClB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,GAAG,CAAC,KAAK,CAAC,YAAY,MAAM,CAAC,MAAM,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,4BAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtG,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtC,IAAI,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC5C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACf,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;YACjC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;QAC7E,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IACzG,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,IAAI;QACvB,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC7D,wCAAwC;QACxC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC7E,GAAG,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,4BAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC/F,IAAI,UAAU;YACV,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC1C,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,CAAC,CAAC;IACvE,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,IAAI;QAC3B,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,GAAG,CAAC,OAAO,CAAC,YAAY,MAAM,CAAC,MAAM,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,aAAa,4BAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACxG,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACtC,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YAC1C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACf,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBACtB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvD,CAAC,CAAC,CAAC;YACH,OAAO,GAAG,CAAC;QACf,CAAC,EAAE,EAAE,CAAC,CAAC;QACP,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC;YACjC,GAAG,CAAC,GAAG,CAAC,gBAAgB,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,CAAC;QACnF,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC;IACzG,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI;QAC5B,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,4BAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzG,GAAG,CAAC,OAAO,CAAC,WAAW,4BAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;QACzE,OAAO,IAAI,CAAC,MAAM,EAAE;aACf,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;aACrB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC;IAC7B,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,GAAG,qBAAc,CAAC,GAAG,EAAE,GAAG,IAAI;QACjD,IAAI,OAAO,KAAK,KAAK,QAAQ;YACzB,MAAM,IAAI,iBAAU,CAAC,6BAA6B,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,4BAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpG,GAAG,CAAC,OAAO,CAAC,WAAW,4BAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtG,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE;aAC9D,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACxC,OAAO,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACtB,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACvB,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,MAAM,EAAE,GAAG,4BAAK,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC1B,KAAK,MAAM,MAAM,IAAI,KAAK,IAAI,EAAE,EAAE,CAAC;gBAC/B,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;gBACjD,IAAI,CAAC,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,SAAS;gBACb,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACb,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACxB,CAAC;QACL,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG;QAC/B,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,EAAE;KACZ,EAAE,GAAG,IAAI;QACN,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QAC7B,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QACxC,IAAI,CAAC,MAAM,IAAI,CAAC,QAAQ;YACpB,MAAM,IAAI,iBAAU,CAAC,uCAAuC,CAAC,CAAC;QAClE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,4BAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAClH,GAAG,CAAC,OAAO,CAAC,cAAc,4BAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAC;QACjF,MAAM,GAAG,GAAG,IAAA,4BAAY,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,4BAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrE,MAAM,WAAW,GAAG;YAChB,GAAG,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;SACjI,CAAC;QACF,IAAA,qCAAqB,EAAC,IAAI,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,IAAA,gCAAgB,EAAC,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QAC7C,IAAI,SAAS,CAAC;QACd,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACrB,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;gBAC5B,0BAA0B,EAAE,KAAK;gBACjC,yBAAyB,EAAE,KAAK;aACnC,CAAC;iBACG,MAAM,EAAE;iBACR,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBACrB,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC;QAC/C,CAAC;aACI,IAAI,MAAM,EAAE,CAAC;YACd,SAAS,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC;gBAC5B,0BAA0B,EAAE,KAAK;gBACjC,yBAAyB,EAAE,KAAK;aACnC,CAAC;iBACG,MAAM,EAAE;iBACR,OAAO,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBACrB,QAAQ,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC;QACrC,CAAC;aACI,CAAC;YACF,MAAM,IAAI,iBAAU,CAAC,uCAAuC,CAAC,CAAC;QAClE,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC;QACjE,MAAM,UAAU,GAAG,MAAM,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC7D,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACjC,SAAS,CAAC,YAAY,GAAG,UAAU,CAAC;YACpC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC;QACD,MAAM,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACjD,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC;YACzB,IAAA,mBAAc,EAAC,0BAA0B,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC;gBACpE,GAAG;gBACH,KAAK;gBACL,GAAG;aACN,EAAE,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;QAC/B,CAAC;QACD,OAAO,aAAa,CAAC;IACzB,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,qBAAc,CAAC,GAAG,EAAE,GAAG,GAAG;QACpD,MAAM,EAAE,CAAC;QACT,KAAK,EAAE,EAAE;KACZ,EAAE,GAAG,IAAI;QACN,IAAI,OAAO,KAAK,KAAK,QAAQ;YACzB,MAAM,IAAI,iBAAU,CAAC,6BAA6B,CAAC,CAAC;QACxD,GAAG,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;QAC7B,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,+BAA+B,EAAE,CAAC;QACrD,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,4BAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACpG,GAAG,CAAC,OAAO,CAAC,UAAU,4BAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,gCAAgC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrG,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,OAAO,EAAE,IAAI,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,GAAG,GAAG,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,EAAE,GAAG,OAAO,CAAC,CAAC;YAC9H,OAAO,IAAI,CAAC,0BAA0B,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC9E,CAAC;QACD,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;YACnF,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC,0BAA0B,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;YACtE,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE;YACxD,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC;YACxB,KAAK,EAAE,CAAC;YACR,KAAK,EAAE,CAAC;YACR,IAAI,EAAE,EAAE;YACR,QAAQ,EAAE,SAAS;SACtB,CAAC,CAAC;IACP,CAAC;IACD,+BAA+B;QAC3B,MAAM,KAAK,GAAG,4BAAK,CAAC,sBAAsB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM;YACvB,MAAM,IAAI,iBAAU,CAAC,2CAA2C,4BAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnG,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,IAAI;QACxD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE;aAChC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;aACxC,OAAO,CAAC,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;aAC1B,QAAQ,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QACxC,MAAM,KAAK,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;QACvE,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IACD,0BAA0B,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI;QAC3C,IAAI,CAAC,QAAQ;YACT,OAAO,IAAI,CAAC;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE;YACvB,QAAQ,EAAE,GAAG,wBAAwB,CAAC,6BAA6B,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;gBAC7F,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC;gBAClB,QAAQ;aACX,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;SAC9B,CAAC,CAAC;IACP,CAAC;IACD,0BAA0B,CAAC,QAAQ;QAC/B,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC5B,CAAC,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC,6BAA6B,CAAC;YAC5E,OAAO,SAAS,CAAC;QACrB,IAAI,CAAC;YACD,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,wBAAwB,CAAC,6BAA6B,CAAC,MAAM,CAAC,CAAC;YAC1F,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;YAC1E,IAAI,CAAC,MAAM;gBACP,OAAO,MAAM,KAAK,QAAQ;gBAC1B,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ;gBAC/B,OAAO,SAAS,CAAC;YACrB,OAAO;gBACH,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,QAAQ,EAAE,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ;oBACzC,CAAC,CAAC,MAAM,CAAC,QAAQ;oBACjB,CAAC,CAAC,SAAS;aAClB,CAAC;QACN,CAAC;QACD,MAAM,CAAC;YACH,OAAO,SAAS,CAAC;QACrB,CAAC;IACL,CAAC;IACD,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,IAAI;QACzB,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,sBAAe,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7G,IAAI,CAAC,iBAAU,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC;YAClC,MAAM,IAAI,iBAAU,CAAC,wCAAwC,IAAI,EAAE,CAAC,CAAC;QACzE,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,mBAAmB,IAAI,MAAM,IAAI,EAAE,CAAC,CAAC;QACzD,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,gCAAgC,IAAI,cAAc,OAAO,EAAE,CAAC,CAAC;QACzE,IAAI,MAAM,CAAC;QACX,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC;QAC1C,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACP,IAAI,CAAC,YAAY,yBAAS;gBACtB,MAAM,CAAC,CAAC;YACZ,MAAM,IAAI,6BAAa,CAAC,wCAAwC,IAAI,cAAc,OAAO,KAAK,CAAC,EAAE,CAAC,CAAC;QACvG,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD;;;;OAIG;IACH,eAAe;QACX,OAAO,IAAI,wFAAyC,EAAE,CAAC;IAC3D,CAAC;IACD;;;;;;;;;OASG;IACH,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI;QAC3C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC;YAC1D,OAAO,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IACtE,CAAC;IACD,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS;QAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAChD,CAAC;IACD,uBAAuB,CAAC,IAAI;QACxB,IAAI,IAAI,YAAY,OAAO,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QACnE,CAAC;QACD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,iBAAiB,CAAC,OAAO;QACrB,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,OAAO,CAAC;IACnB,CAAC;IACD,YAAY,CAAC,GAAG;QACZ,GAAG,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;QACjC,GAAG,CAAC,GAAG,CAAC,sBAAsB,EAAE,SAAS,CAAC,CAAC;QAC3C,OAAO,GAAG,CAAC;IACf,CAAC;CACJ;AA7SD,4DA6SC;AACD,KAAK,UAAU,kBAAkB,CAAC,GAAG,EAAE,KAAK;IACxC,MAAM,IAAI,GAAG,GAAG,EAAE,IAAI,CAAC;IACvB,IAAI,CAAC,IAAI;QACL,OAAO,SAAS,CAAC;IACrB,MAAM,KAAK,GAAG,4BAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,GAAG,KAAK,GAAG,CAAC;IAC3B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;IACvB,IAAI,OAAO,IAAI,CAAC,6BAA6B,KAAK,UAAU,EAAE,CAAC;QAC3D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC;YACD,OAAO,IAAI,EAAE,CAAC;gBACV,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;gBACrC,IAAI,MAAM,EAAE,IAAI;oBACZ,MAAM;gBACV,MAAM,GAAG,GAAG,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC;gBAC/B,IAAI,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;oBAChC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBAClB,CAAC;YACL,CAAC;QACL,CAAC;gBACO,CAAC;YACL,IAAI,QAAQ,IAAI,OAAO,QAAQ,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACnD,MAAM,QAAQ,CAAC,KAAK,EAAE,CAAC;YAC3B,CAAC;QACL,CAAC;IACL,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;aAClB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;aACvC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IACD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,4BAAK,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,CAAC,GAAG,WAAW,EAAE,GAAG,UAAU,CAAC,CAAC;IAClD,IAAI,SAAS,CAAC,MAAM,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACxC,MAAM,GAAG,GAAG,IAAA,4BAAY,EAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACvC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QACxI,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;YACnC,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;YAC9C,IAAI,CAAC,OAAO;gBACR,SAAS;YACb,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;iBACf,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;iBACvC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AAC7C,CAAC;AACD,oDAAoD"}
|
|
1
|
+
{"version":3,"file":"FabricContractRepository.js","sourceRoot":"","sources":["FabricContractRepository.js"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ const for_couchdb_1 = require("@decaf-ts/for-couchdb");
|
|
|
5
5
|
const decorator_validation_1 = require("@decaf-ts/decorator-validation");
|
|
6
6
|
const for_couchdb_2 = require("@decaf-ts/for-couchdb");
|
|
7
7
|
const core_1 = require("@decaf-ts/core");
|
|
8
|
-
const db_decorators_1 = require("@decaf-ts/db-decorators");
|
|
9
8
|
const decorators_js_1 = require("./../shared/decorators.cjs");
|
|
10
9
|
/**
|
|
11
10
|
* @description Statement wrapper for executing Mango queries within Fabric contracts
|
|
@@ -39,10 +38,8 @@ class FabricStatement extends for_couchdb_2.CouchDBStatement {
|
|
|
39
38
|
}
|
|
40
39
|
}
|
|
41
40
|
async executionPrefix(method, ...args) {
|
|
42
|
-
const newArgs = args.filter(
|
|
43
|
-
|
|
44
|
-
throw new db_decorators_1.InternalError(`Received an undefined in the paginator for ${method}: ${args}`);
|
|
45
|
-
return super.executionPrefix(method, ...args);
|
|
41
|
+
const newArgs = args.filter((arg) => arg !== undefined && arg !== null);
|
|
42
|
+
return super.executionPrefix(method, ...newArgs);
|
|
46
43
|
}
|
|
47
44
|
build() {
|
|
48
45
|
const log = this.log.for(this.build);
|
|
@@ -137,6 +134,7 @@ class FabricStatement extends for_couchdb_2.CouchDBStatement {
|
|
|
137
134
|
if (this.offsetSelector)
|
|
138
135
|
query.skip = this.offsetSelector;
|
|
139
136
|
this.attachDefaultQueryIndex(query);
|
|
137
|
+
log.debug(`built mango query ${JSON.stringify(query)}`);
|
|
140
138
|
return query;
|
|
141
139
|
}
|
|
142
140
|
async execute(...args) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FabricContractStatement.js","sourceRoot":"","sources":["FabricContractStatement.js"],"names":[],"mappings":";;;AAAA,uDAA4F;AAC5F,yEAAuD;AACvD,uDAAyD;AACzD,yCAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"FabricContractStatement.js","sourceRoot":"","sources":["FabricContractStatement.js"],"names":[],"mappings":"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"}
|
package/lib/cjs/version.cjs
CHANGED
|
@@ -2,21 +2,21 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.PACKAGE_NAME = exports.FULL_VERSION = exports.COMMIT = exports.VERSION = void 0;
|
|
4
4
|
const decoration_1 = require("@decaf-ts/decoration");
|
|
5
|
-
exports.VERSION = "0.13.
|
|
5
|
+
exports.VERSION = "0.13.6";
|
|
6
6
|
/**
|
|
7
7
|
* @description Represents the current commit hash of the module build.
|
|
8
8
|
* @summary Stores the current git commit hash for the package. The build replaces
|
|
9
9
|
* the placeholder with the actual commit hash at publish time.
|
|
10
10
|
* @const COMMIT
|
|
11
11
|
*/
|
|
12
|
-
exports.COMMIT = "
|
|
12
|
+
exports.COMMIT = "fb280d1";
|
|
13
13
|
/**
|
|
14
14
|
* @description Represents the full version string of the module.
|
|
15
15
|
* @summary Stores the semver version and commit hash for the package.
|
|
16
16
|
* The build replaces the placeholder with the actual `<version>-<commit>` value at publish time.
|
|
17
17
|
* @const FULL_VERSION
|
|
18
18
|
*/
|
|
19
|
-
exports.FULL_VERSION = "0.13.
|
|
19
|
+
exports.FULL_VERSION = "0.13.6-fb280d1";
|
|
20
20
|
exports.PACKAGE_NAME = "@decaf-ts/for-fabric";
|
|
21
21
|
decoration_1.Metadata.registerLibrary(exports.PACKAGE_NAME, exports.VERSION);
|
|
22
22
|
//# sourceMappingURL=version.js.map
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CouchDBAdapter, CouchDBKeys, } from "@decaf-ts/for-couchdb";
|
|
2
2
|
import { Model, ValidationKeys } from "@decaf-ts/decorator-validation";
|
|
3
|
+
import { createHash } from "crypto";
|
|
3
4
|
import { FabricContractContext } from "./ContractContext.js";
|
|
4
5
|
import { BadRequestError, BulkCrudOperationKeys, ConflictError, InternalError, NotFoundError, onCreate, onCreateUpdate, SerializationError, } from "@decaf-ts/db-decorators";
|
|
5
6
|
import { Object as FabricObject, Property, Property as FabricProperty, } from "fabric-contract-api";
|
|
@@ -89,6 +90,32 @@ export async function createdByOnFabricCreateUpdate(context, data, key, model) {
|
|
|
89
90
|
*/
|
|
90
91
|
export class FabricContractAdapter extends CouchDBAdapter {
|
|
91
92
|
static { this.PRIVATE_BOOKMARK_PREFIX = "__dcf_pvtbm__"; }
|
|
93
|
+
static stableStringify(value) {
|
|
94
|
+
if (value === null || typeof value !== "object") {
|
|
95
|
+
return JSON.stringify(value);
|
|
96
|
+
}
|
|
97
|
+
if (Array.isArray(value)) {
|
|
98
|
+
return `[${value
|
|
99
|
+
.map((v) => FabricContractAdapter.stableStringify(v))
|
|
100
|
+
.join(",")}]`;
|
|
101
|
+
}
|
|
102
|
+
const obj = value;
|
|
103
|
+
return `{${Object.keys(obj)
|
|
104
|
+
.sort()
|
|
105
|
+
.map((key) => `${JSON.stringify(key)}:${FabricContractAdapter.stableStringify(obj[key])}`)
|
|
106
|
+
.join(",")}}`;
|
|
107
|
+
}
|
|
108
|
+
static privateQueryHash(query) {
|
|
109
|
+
const relevant = {
|
|
110
|
+
selector: query.selector || {},
|
|
111
|
+
sort: query.sort || [],
|
|
112
|
+
fields: query.fields || undefined,
|
|
113
|
+
use_index: query.use_index || undefined,
|
|
114
|
+
};
|
|
115
|
+
return createHash("sha256")
|
|
116
|
+
.update(FabricContractAdapter.stableStringify(relevant))
|
|
117
|
+
.digest("base64url");
|
|
118
|
+
}
|
|
92
119
|
static parseSyntheticPrivateBookmark(bookmark) {
|
|
93
120
|
if (typeof bookmark !== "string")
|
|
94
121
|
return undefined;
|
|
@@ -101,14 +128,18 @@ export class FabricContractAdapter extends CouchDBAdapter {
|
|
|
101
128
|
typeof parsed !== "object" ||
|
|
102
129
|
typeof parsed.sortField !== "string" ||
|
|
103
130
|
typeof parsed.direction !== "string" ||
|
|
104
|
-
typeof parsed.
|
|
131
|
+
typeof parsed.idField !== "string" ||
|
|
132
|
+
typeof parsed.lastId !== "string"
|
|
133
|
+
|| typeof parsed.queryHash !== "string") {
|
|
105
134
|
return undefined;
|
|
106
135
|
}
|
|
107
136
|
return {
|
|
108
137
|
sortField: parsed.sortField,
|
|
109
138
|
direction: parsed.direction === "desc" ? "desc" : "asc",
|
|
139
|
+
idField: parsed.idField,
|
|
110
140
|
lastValue: parsed.lastValue,
|
|
111
141
|
lastId: parsed.lastId,
|
|
142
|
+
queryHash: parsed.queryHash,
|
|
112
143
|
};
|
|
113
144
|
}
|
|
114
145
|
catch {
|
|
@@ -119,35 +150,87 @@ export class FabricContractAdapter extends CouchDBAdapter {
|
|
|
119
150
|
return `${FabricContractAdapter.PRIVATE_BOOKMARK_PREFIX}${Buffer.from(JSON.stringify(cursor)).toString("base64url")}`;
|
|
120
151
|
}
|
|
121
152
|
static buildPrivateCursorSelector(selector, sortField, direction, cursor) {
|
|
122
|
-
const
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
],
|
|
133
|
-
}
|
|
134
|
-
: {
|
|
135
|
-
$or: [
|
|
136
|
-
{ [sortField]: { $gt: cursor.lastValue } },
|
|
137
|
-
{
|
|
138
|
-
$and: [
|
|
139
|
-
{ [sortField]: { $eq: cursor.lastValue } },
|
|
140
|
-
{ id: { $gt: cursor.lastId } },
|
|
141
|
-
],
|
|
142
|
-
},
|
|
143
|
-
],
|
|
153
|
+
const cmp = direction === "desc" ? "$lt" : "$gt";
|
|
154
|
+
if (cursor.idField === sortField) {
|
|
155
|
+
const continuation = {
|
|
156
|
+
[sortField]: {
|
|
157
|
+
[cmp]: cursor.lastValue,
|
|
158
|
+
},
|
|
159
|
+
};
|
|
160
|
+
if (!Object.keys(selector || {}).length)
|
|
161
|
+
return continuation;
|
|
162
|
+
return {
|
|
163
|
+
$and: [selector, continuation],
|
|
144
164
|
};
|
|
165
|
+
}
|
|
166
|
+
const continuation = {
|
|
167
|
+
$or: [
|
|
168
|
+
{
|
|
169
|
+
[sortField]: {
|
|
170
|
+
[cmp]: cursor.lastValue,
|
|
171
|
+
},
|
|
172
|
+
},
|
|
173
|
+
{
|
|
174
|
+
$and: [
|
|
175
|
+
{
|
|
176
|
+
[sortField]: {
|
|
177
|
+
$eq: cursor.lastValue,
|
|
178
|
+
},
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
[cursor.idField]: {
|
|
182
|
+
[cmp]: cursor.lastId,
|
|
183
|
+
},
|
|
184
|
+
},
|
|
185
|
+
],
|
|
186
|
+
},
|
|
187
|
+
],
|
|
188
|
+
};
|
|
145
189
|
if (!Object.keys(selector || {}).length)
|
|
146
190
|
return continuation;
|
|
147
191
|
return {
|
|
148
192
|
$and: [selector, continuation],
|
|
149
193
|
};
|
|
150
194
|
}
|
|
195
|
+
static normalizePrivateSort(query, idField = "id") {
|
|
196
|
+
if (!Array.isArray(query.sort) || query.sort.length === 0) {
|
|
197
|
+
throw new PagingError("Private collection pagination requires an explicit Mango sort");
|
|
198
|
+
}
|
|
199
|
+
const firstSort = Object.entries(query.sort[0] || {})[0];
|
|
200
|
+
if (!firstSort || typeof firstSort[0] !== "string") {
|
|
201
|
+
throw new PagingError("Private collection pagination requires a valid first sort field");
|
|
202
|
+
}
|
|
203
|
+
const sortField = firstSort[0];
|
|
204
|
+
const direction = String(firstSort[1] || "asc").toLowerCase();
|
|
205
|
+
if (direction !== "asc" && direction !== "desc") {
|
|
206
|
+
throw new PagingError(`Unsupported private pagination sort direction: ${direction}`);
|
|
207
|
+
}
|
|
208
|
+
const hasIdTieBreaker = idField === sortField ||
|
|
209
|
+
query.sort.some((entry) => {
|
|
210
|
+
const [field, dir] = Object.entries(entry || {})[0] || [];
|
|
211
|
+
return (field === idField && String(dir || "").toLowerCase() === direction);
|
|
212
|
+
});
|
|
213
|
+
if (!hasIdTieBreaker && idField !== sortField) {
|
|
214
|
+
query.sort = [...query.sort, { [idField]: direction }];
|
|
215
|
+
}
|
|
216
|
+
return {
|
|
217
|
+
sortField,
|
|
218
|
+
direction: direction,
|
|
219
|
+
idField,
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
static parsePrivateResultValue(value) {
|
|
223
|
+
try {
|
|
224
|
+
const parsed = JSON.parse(value.toString("utf8"));
|
|
225
|
+
if (!parsed || typeof parsed !== "object") {
|
|
226
|
+
throw new Error("Private query result is not an object");
|
|
227
|
+
}
|
|
228
|
+
return parsed;
|
|
229
|
+
}
|
|
230
|
+
catch (e) {
|
|
231
|
+
throw new SerializationError(`Failed to parse private query result while building bookmark: ${e}`);
|
|
232
|
+
}
|
|
233
|
+
}
|
|
151
234
|
getClient() {
|
|
152
235
|
throw new UnsupportedError("Client is not supported in Fabric contracts");
|
|
153
236
|
}
|
|
@@ -541,29 +624,34 @@ export class FabricContractAdapter extends CouchDBAdapter {
|
|
|
541
624
|
case "queryResultPaginated": {
|
|
542
625
|
const [stub, rawInput, limit, skip, bookmark, ...args] = argsList;
|
|
543
626
|
const { log } = thisArg["logCtx"](args, prop);
|
|
627
|
+
if (skip !== undefined && skip !== null && Number(skip) > 0) {
|
|
628
|
+
throw new PagingError("Private collection pagination does not support skip/offset pagination. Use the returned bookmark instead.");
|
|
629
|
+
}
|
|
544
630
|
const pageSize = Math.max(1, Number(limit) || 250);
|
|
545
631
|
const query = { ...rawInput };
|
|
546
|
-
const
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
632
|
+
const queryPkField = typeof query["__pkField"] === "string" &&
|
|
633
|
+
query["__pkField"].trim().length
|
|
634
|
+
? String(query["__pkField"])
|
|
635
|
+
: "id";
|
|
636
|
+
delete query["__pkField"];
|
|
637
|
+
const { sortField, direction: sortDirection, idField, } = FabricContractAdapter.normalizePrivateSort(query, queryPkField);
|
|
551
638
|
const syntheticCursor = FabricContractAdapter.parseSyntheticPrivateBookmark(bookmark);
|
|
552
|
-
|
|
639
|
+
if (bookmark !== undefined &&
|
|
553
640
|
bookmark !== null &&
|
|
554
641
|
bookmark !== "" &&
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
query.limit = hasOpaqueBookmark ? pageSize : pageSize + 1;
|
|
642
|
+
!syntheticCursor) {
|
|
643
|
+
throw new PagingError("Private collection pagination only supports adapter-generated synthetic bookmarks");
|
|
644
|
+
}
|
|
645
|
+
log.debug(`Private paginated query input collection=${collection} limit=${limit} skip=${skip} bookmark=${bookmark} sortField=${sortField} direction=${sortDirection} synthetic=${Boolean(syntheticCursor)}`);
|
|
560
646
|
delete query.skip;
|
|
561
647
|
delete query.bookmark;
|
|
648
|
+
query.limit = pageSize + 1;
|
|
649
|
+
const queryHash = FabricContractAdapter.privateQueryHash(query);
|
|
562
650
|
if (syntheticCursor) {
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
query.
|
|
651
|
+
if (syntheticCursor.queryHash !== queryHash) {
|
|
652
|
+
throw new PagingError("Private collection bookmark does not match the current query");
|
|
653
|
+
}
|
|
654
|
+
query.selector = FabricContractAdapter.buildPrivateCursorSelector(query.selector || {}, syntheticCursor.sortField, syntheticCursor.direction, syntheticCursor);
|
|
567
655
|
}
|
|
568
656
|
log.debug(`Querying collection ${collection} for ${JSON.stringify(query)}`);
|
|
569
657
|
const response = await stub.getPrivateDataQueryResult(collection, JSON.stringify(query));
|
|
@@ -572,6 +660,7 @@ export class FabricContractAdapter extends CouchDBAdapter {
|
|
|
572
660
|
const responseMetadata = response.metadata ||
|
|
573
661
|
iterator.metadata ||
|
|
574
662
|
{};
|
|
663
|
+
log.debug(`Private paginated response collection=${collection} metadata=${JSON.stringify(responseMetadata)}`);
|
|
575
664
|
log.verbose(`iterator from collection ${collection} received`);
|
|
576
665
|
const paged = [];
|
|
577
666
|
let hasMore = false;
|
|
@@ -600,6 +689,29 @@ export class FabricContractAdapter extends CouchDBAdapter {
|
|
|
600
689
|
finally {
|
|
601
690
|
await iterator.close();
|
|
602
691
|
}
|
|
692
|
+
log.debug(`Private paginated collection=${collection} produced ${paged.length} rows hasMore=${hasMore}`);
|
|
693
|
+
let nextBookmark = "";
|
|
694
|
+
if (hasMore && paged.length) {
|
|
695
|
+
const last = paged[paged.length - 1];
|
|
696
|
+
const lastDoc = FabricContractAdapter.parsePrivateResultValue(last.value);
|
|
697
|
+
if (!(sortField in lastDoc)) {
|
|
698
|
+
throw new PagingError(`Cannot build private pagination bookmark: sorted field "${sortField}" is missing from the last result`);
|
|
699
|
+
}
|
|
700
|
+
const lastIdValue = lastDoc[idField];
|
|
701
|
+
if (lastIdValue === undefined ||
|
|
702
|
+
lastIdValue === null) {
|
|
703
|
+
throw new PagingError(`Cannot build private pagination bookmark: id field "${idField}" is missing from the last result`);
|
|
704
|
+
}
|
|
705
|
+
nextBookmark =
|
|
706
|
+
FabricContractAdapter.buildSyntheticPrivateBookmark({
|
|
707
|
+
sortField,
|
|
708
|
+
direction: sortDirection,
|
|
709
|
+
idField,
|
|
710
|
+
lastValue: lastDoc[sortField],
|
|
711
|
+
lastId: String(lastIdValue),
|
|
712
|
+
queryHash,
|
|
713
|
+
});
|
|
714
|
+
}
|
|
603
715
|
// Wrap the page in an async iterator for resultIterator()
|
|
604
716
|
let idx = 0;
|
|
605
717
|
const arrayIterator = {
|
|
@@ -615,32 +727,7 @@ export class FabricContractAdapter extends CouchDBAdapter {
|
|
|
615
727
|
iterator: arrayIterator,
|
|
616
728
|
metadata: {
|
|
617
729
|
fetchedRecordsCount: paged.length,
|
|
618
|
-
bookmark:
|
|
619
|
-
responseMetadata.bookmark
|
|
620
|
-
? responseMetadata.bookmark
|
|
621
|
-
: hasMore && paged.length
|
|
622
|
-
? FabricContractAdapter.buildSyntheticPrivateBookmark({
|
|
623
|
-
sortField,
|
|
624
|
-
direction: sortDirection,
|
|
625
|
-
lastValue: (() => {
|
|
626
|
-
try {
|
|
627
|
-
return JSON.parse(paged[paged.length - 1].value.toString("utf8"))?.[sortField];
|
|
628
|
-
}
|
|
629
|
-
catch {
|
|
630
|
-
return undefined;
|
|
631
|
-
}
|
|
632
|
-
})(),
|
|
633
|
-
lastId: (() => {
|
|
634
|
-
try {
|
|
635
|
-
const lastDoc = JSON.parse(paged[paged.length - 1].value.toString("utf8"));
|
|
636
|
-
return String(lastDoc?.id || paged[paged.length - 1].key);
|
|
637
|
-
}
|
|
638
|
-
catch {
|
|
639
|
-
return String(paged[paged.length - 1].key);
|
|
640
|
-
}
|
|
641
|
-
})(),
|
|
642
|
-
})
|
|
643
|
-
: "",
|
|
730
|
+
bookmark: nextBookmark,
|
|
644
731
|
},
|
|
645
732
|
};
|
|
646
733
|
}
|
|
@@ -843,49 +930,54 @@ export class FabricContractAdapter extends CouchDBAdapter {
|
|
|
843
930
|
const { log, ctx, ctxArgs } = this.logCtx(args, this.raw);
|
|
844
931
|
const enableSegregates = !args.length || args[0] !== true;
|
|
845
932
|
const fullySegregated = enableSegregates && ctx.isFullySegregated;
|
|
846
|
-
const {
|
|
847
|
-
const
|
|
933
|
+
const originalInput = { ...rawInput };
|
|
934
|
+
const { skip, limit } = originalInput;
|
|
935
|
+
const bookmark = originalInput["bookmark"];
|
|
936
|
+
const pkField = typeof originalInput["__pkField"] === "string" &&
|
|
937
|
+
originalInput["__pkField"].trim().length
|
|
938
|
+
? String(originalInput["__pkField"])
|
|
939
|
+
: "id";
|
|
848
940
|
const paginationActive = Boolean(limit || skip || bookmark);
|
|
941
|
+
const queryInput = { ...originalInput };
|
|
942
|
+
delete queryInput["limit"];
|
|
943
|
+
delete queryInput["skip"];
|
|
944
|
+
delete queryInput["bookmark"];
|
|
849
945
|
let resp = { docs: [], bookmark: undefined };
|
|
946
|
+
log.debug(`raw query start fullySegregated=${fullySegregated} enableSegregates=${enableSegregates} paginationActive=${paginationActive} limit=${limit} skip=${skip} bookmark=${bookmark} pkField=${pkField} query=${JSON.stringify(originalInput)}`);
|
|
850
947
|
// Query public state only when the model is NOT fully segregated
|
|
851
948
|
if (!fullySegregated) {
|
|
852
949
|
let iterator;
|
|
853
|
-
if (
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
log.debug(`Retrieving public paginated iterator: limit: ${limit}/ skip: ${skip}`);
|
|
857
|
-
const response = (await this.queryResultPaginated(ctx.stub, rawInput, limit || Number.MAX_VALUE, skip?.toString(), bookmark, ...[ctx]));
|
|
950
|
+
if (paginationActive) {
|
|
951
|
+
log.debug(`Retrieving public paginated iterator: limit: ${limit}/ skip: ${skip} bookmark=${bookmark}`);
|
|
952
|
+
const response = (await this.queryResultPaginated(ctx.stub, { ...queryInput }, limit || 250, skip?.toString(), bookmark, ...[ctx]));
|
|
858
953
|
resp.bookmark = response.metadata.bookmark;
|
|
859
954
|
iterator = response.iterator;
|
|
860
955
|
log.debug(`Retrieved public paging iterator`);
|
|
956
|
+
log.debug(`public paginated response bookmark=${resp.bookmark} query=${JSON.stringify(queryInput)}`);
|
|
861
957
|
}
|
|
862
958
|
else {
|
|
863
959
|
log.debug("Retrieving listing public iterator");
|
|
864
|
-
iterator = (await this.queryResult(ctx.stub,
|
|
960
|
+
iterator = (await this.queryResult(ctx.stub, { ...queryInput }, ctx));
|
|
865
961
|
}
|
|
866
962
|
log.debug(`Retrieved public listing iterator`);
|
|
867
963
|
resp.docs = (await this.resultIterator(log, iterator));
|
|
868
964
|
log.debug(`returning ${Array.isArray(resp.docs) ? resp.docs.length : 1} results`);
|
|
869
965
|
}
|
|
870
966
|
else {
|
|
871
|
-
// For fully segregated models, strip pagination fields from rawInput
|
|
872
|
-
// so the segregated query below can re-apply them cleanly
|
|
873
|
-
if (limit || skip) {
|
|
874
|
-
delete rawInput["limit"];
|
|
875
|
-
delete rawInput["skip"];
|
|
876
|
-
}
|
|
877
967
|
log.debug("Skipping public state query (fully segregated model)");
|
|
878
968
|
}
|
|
879
969
|
const collections = enableSegregates ? ctx.getReadCollections() : undefined;
|
|
970
|
+
log.debug(`read collections for raw query: ${JSON.stringify(collections || [])}`);
|
|
880
971
|
if (collections && collections.length) {
|
|
881
972
|
// Build a fresh input with limit/skip/bookmark restored
|
|
882
|
-
const segregatedInput = { ...
|
|
973
|
+
const segregatedInput = { ...queryInput };
|
|
883
974
|
if (limit)
|
|
884
975
|
segregatedInput.limit = limit;
|
|
885
976
|
if (skip)
|
|
886
977
|
segregatedInput.skip = skip;
|
|
887
978
|
if (bookmark)
|
|
888
979
|
segregatedInput["bookmark"] = bookmark;
|
|
980
|
+
log.debug(`segregated input prepared: ${JSON.stringify(segregatedInput)}`);
|
|
889
981
|
const segregated = [];
|
|
890
982
|
for (const collection of collections) {
|
|
891
983
|
log.debug(`Querying from ${collection}`);
|
|
@@ -902,10 +994,13 @@ export class FabricContractAdapter extends CouchDBAdapter {
|
|
|
902
994
|
return curr;
|
|
903
995
|
return acc;
|
|
904
996
|
}, resp);
|
|
997
|
+
log.debug(`segregated query resolved docs=${Array.isArray(resp.docs) ? resp.docs.length : 0} bookmark=${resp.bookmark}`);
|
|
905
998
|
}
|
|
906
999
|
if (docsOnly) {
|
|
1000
|
+
log.debug(`raw query returning docsOnly=${docsOnly} docs=${Array.isArray(resp.docs) ? resp.docs.length : 0}`);
|
|
907
1001
|
return resp.docs;
|
|
908
1002
|
}
|
|
1003
|
+
log.debug(`raw query returning docs/bookmark docs=${Array.isArray(resp.docs) ? resp.docs.length : 0} bookmark=${resp.bookmark}`);
|
|
909
1004
|
return resp;
|
|
910
1005
|
}
|
|
911
1006
|
async view(
|