@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.
Files changed (91) hide show
  1. package/dist/for-fabric.cjs +1 -1
  2. package/dist/for-fabric.cjs.map +1 -1
  3. package/dist/for-fabric.js +1 -1
  4. package/dist/for-fabric.js.map +1 -1
  5. package/lib/client/FabricClientAdapter.cjs +26 -74
  6. package/lib/client/FabricClientAdapter.d.ts +27 -41
  7. package/lib/client/FabricClientAdapter.js.map +1 -1
  8. package/lib/client/FabricClientDispatch.cjs +1 -3
  9. package/lib/client/FabricClientDispatch.d.ts +6 -5
  10. package/lib/client/FabricClientDispatch.js.map +1 -1
  11. package/lib/client/FabricClientPaginator.cjs +5 -56
  12. package/lib/client/FabricClientPaginator.d.ts +6 -6
  13. package/lib/client/FabricClientPaginator.js.map +1 -1
  14. package/lib/client/FabricClientRepository.cjs +51 -104
  15. package/lib/client/FabricClientRepository.d.ts +21 -17
  16. package/lib/client/FabricClientRepository.js.map +1 -1
  17. package/lib/client/FabricClientStatement.cjs +7 -97
  18. package/lib/client/FabricClientStatement.d.ts +6 -7
  19. package/lib/client/FabricClientStatement.js.map +1 -1
  20. package/lib/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
  21. package/lib/client/erc20/FabricERC20ClientRepository.js.map +1 -1
  22. package/lib/client/services/FabricEnrollmentService.d.ts +1 -1
  23. package/lib/contracts/ContractAdapter.cjs +53 -27
  24. package/lib/contracts/ContractAdapter.d.ts +3 -3
  25. package/lib/contracts/ContractAdapter.js.map +1 -1
  26. package/lib/contracts/ContractContext.cjs +2 -2
  27. package/lib/contracts/ContractContext.d.ts +1 -1
  28. package/lib/contracts/ContractContext.js.map +1 -1
  29. package/lib/contracts/FabricContractRepository.js.map +1 -1
  30. package/lib/contracts/crud/crud-contract.cjs +14 -16
  31. package/lib/contracts/crud/crud-contract.d.ts +15 -4
  32. package/lib/contracts/crud/crud-contract.js.map +1 -1
  33. package/lib/contracts/crud/serialized-crud-contract.cjs +58 -8
  34. package/lib/contracts/crud/serialized-crud-contract.d.ts +6 -2
  35. package/lib/contracts/crud/serialized-crud-contract.js.map +1 -1
  36. package/lib/contracts/types.d.ts +2 -2
  37. package/lib/esm/client/FabricClientAdapter.d.ts +27 -41
  38. package/lib/esm/client/FabricClientAdapter.js +26 -73
  39. package/lib/esm/client/FabricClientAdapter.js.map +1 -1
  40. package/lib/esm/client/FabricClientDispatch.d.ts +6 -5
  41. package/lib/esm/client/FabricClientDispatch.js +3 -5
  42. package/lib/esm/client/FabricClientDispatch.js.map +1 -1
  43. package/lib/esm/client/FabricClientPaginator.d.ts +6 -6
  44. package/lib/esm/client/FabricClientPaginator.js +6 -57
  45. package/lib/esm/client/FabricClientPaginator.js.map +1 -1
  46. package/lib/esm/client/FabricClientRepository.d.ts +21 -17
  47. package/lib/esm/client/FabricClientRepository.js +51 -104
  48. package/lib/esm/client/FabricClientRepository.js.map +1 -1
  49. package/lib/esm/client/FabricClientStatement.d.ts +6 -7
  50. package/lib/esm/client/FabricClientStatement.js +8 -98
  51. package/lib/esm/client/FabricClientStatement.js.map +1 -1
  52. package/lib/esm/client/erc20/FabricERC20ClientRepository.d.ts +5 -5
  53. package/lib/esm/client/erc20/FabricERC20ClientRepository.js.map +1 -1
  54. package/lib/esm/client/services/FabricEnrollmentService.d.ts +1 -1
  55. package/lib/esm/contracts/ContractAdapter.d.ts +3 -3
  56. package/lib/esm/contracts/ContractAdapter.js +53 -27
  57. package/lib/esm/contracts/ContractAdapter.js.map +1 -1
  58. package/lib/esm/contracts/ContractContext.d.ts +1 -1
  59. package/lib/esm/contracts/ContractContext.js +1 -1
  60. package/lib/esm/contracts/ContractContext.js.map +1 -1
  61. package/lib/esm/contracts/FabricContractRepository.js.map +1 -1
  62. package/lib/esm/contracts/crud/crud-contract.d.ts +15 -4
  63. package/lib/esm/contracts/crud/crud-contract.js +17 -19
  64. package/lib/esm/contracts/crud/crud-contract.js.map +1 -1
  65. package/lib/esm/contracts/crud/serialized-crud-contract.d.ts +6 -2
  66. package/lib/esm/contracts/crud/serialized-crud-contract.js +58 -8
  67. package/lib/esm/contracts/crud/serialized-crud-contract.js.map +1 -1
  68. package/lib/esm/contracts/types.d.ts +2 -2
  69. package/lib/esm/shared/decorators.d.ts +6 -7
  70. package/lib/esm/shared/decorators.js +73 -58
  71. package/lib/esm/shared/decorators.js.map +1 -1
  72. package/lib/esm/shared/overrides/overrides.js +39 -38
  73. package/lib/esm/shared/overrides/overrides.js.map +1 -1
  74. package/lib/esm/shared/types.d.ts +5 -9
  75. package/lib/esm/version.d.ts +1 -1
  76. package/lib/esm/version.js +1 -1
  77. package/lib/shared/decorators.cjs +69 -54
  78. package/lib/shared/decorators.d.ts +6 -7
  79. package/lib/shared/decorators.js.map +1 -1
  80. package/lib/shared/overrides/overrides.cjs +39 -38
  81. package/lib/shared/overrides/overrides.js.map +1 -1
  82. package/lib/shared/types.d.ts +5 -9
  83. package/lib/version.cjs +1 -1
  84. package/lib/version.d.ts +1 -1
  85. package/package.json +1 -1
  86. package/lib/client/types.cjs +0 -3
  87. package/lib/client/types.d.ts +0 -7
  88. package/lib/client/types.js.map +0 -1
  89. package/lib/esm/client/types.d.ts +0 -7
  90. package/lib/esm/client/types.js +0 -2
  91. package/lib/esm/client/types.js.map +0 -1
@@ -2,10 +2,10 @@ import { CouchDBAdapter, MangoQuery } from "@decaf-ts/for-couchdb";
2
2
  import { Model } from "@decaf-ts/decorator-validation";
3
3
  import { FabricContractFlags } from "./types";
4
4
  import { FabricContractContext } from "./ContractContext";
5
- import { BaseError, Context, OperationKeys, PrimaryKeyType } from "@decaf-ts/db-decorators";
5
+ import { BaseError, OperationKeys, PrimaryKeyType } from "@decaf-ts/db-decorators";
6
6
  import { Context as Ctx } from "fabric-contract-api";
7
7
  import { Logger } from "@decaf-ts/logging";
8
- import { RelationsMetadata, SequenceOptions, Adapter, PreparedModel, Repository, ContextualizedArgs } from "@decaf-ts/core";
8
+ import { RelationsMetadata, SequenceOptions, Adapter, PreparedModel, Repository, ContextualizedArgs, Context, RawResult } from "@decaf-ts/core";
9
9
  import type { ContextualArgs, MaybeContextualArg } from "@decaf-ts/core";
10
10
  import { FabricContractRepository } from "./FabricContractRepository";
11
11
  import { ChaincodeStub, ClientIdentity, Iterators, StateQueryResponse } from "fabric-shim-api";
@@ -259,7 +259,7 @@ export declare class FabricContractAdapter extends CouchDBAdapter<any, void, Fab
259
259
  * FabricContractAdapter->>FabricContractAdapter: resultIterator(log, iterator)
260
260
  * FabricContractAdapter-->>Caller: results
261
261
  */
262
- raw<R>(rawInput: MangoQuery, ...args: ContextualArgs<FabricContractContext>): Promise<R>;
262
+ raw<R, D extends boolean>(rawInput: MangoQuery, docsOnly?: D, ...args: ContextualArgs<FabricContractContext>): Promise<RawResult<R, D>>;
263
263
  Statement<M extends Model>(): FabricStatement<M, any>;
264
264
  createAll<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<FabricContractContext>): Promise<Record<string, any>[]>;
265
265
  updateAll<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<FabricContractContext>): Promise<Record<string, any>[]>;
@@ -1,9 +1,9 @@
1
1
  import { CouchDBAdapter, CouchDBKeys } from "@decaf-ts/for-couchdb";
2
2
  import { list, Model, required, type } from "@decaf-ts/decorator-validation";
3
3
  import { FabricContractContext } from "./ContractContext.js";
4
- import { afterAny, BadRequestError, ConflictError, Context, DBKeys, InternalError, NotFoundError, onCreate, onCreateUpdate, onDelete, onUpdate, readonly, SerializationError, } from "@decaf-ts/db-decorators";
4
+ import { afterAny, BadRequestError, ConflictError, DBKeys, InternalError, NotFoundError, onCreate, onCreateUpdate, onDelete, onUpdate, readonly, SerializationError, } from "@decaf-ts/db-decorators";
5
5
  import { Object as FabricObject, Property as FabricProperty, } from "fabric-contract-api";
6
- import { PersistenceKeys, UnsupportedError, Adapter, oneToManyOnUpdate, relation, QueryError, PagingError, MigrationError, ObserverError, AuthorizationError, ForbiddenError, ConnectionError, } from "@decaf-ts/core";
6
+ import { PersistenceKeys, UnsupportedError, Adapter, oneToManyOnUpdate, relation, QueryError, PagingError, MigrationError, ObserverError, AuthorizationError, ForbiddenError, ConnectionError, Context, } from "@decaf-ts/core";
7
7
  import { FabricContractRepository } from "./FabricContractRepository.js";
8
8
  import { FabricStatement } from "./FabricContractStatement.js";
9
9
  import { FabricFlavour } from "./../shared/constants.js";
@@ -364,17 +364,26 @@ export class FabricContractAdapter extends CouchDBAdapter {
364
364
  catch (e) {
365
365
  throw new SerializationError(`Failed to serialize record with id ${id}: ${e}`);
366
366
  }
367
- await stub.putState(id.toString(), data);
368
- log.silly(`state stored under id ${id}`);
367
+ const collection = ctx.get("segregated");
368
+ if (collection)
369
+ await stub.putPrivateData(collection, id.toString(), data);
370
+ else
371
+ await stub.putState(id.toString(), data);
372
+ log.silly(`state stored${collection ? ` in ${collection} collection` : ""} under id ${id}`);
369
373
  return model;
370
374
  }
371
375
  async readState(id, ctx) {
372
376
  let result;
373
377
  const { stub, log } = this.logCtx([ctx], this.readState);
374
- const res = (await stub.getState(id)).toString();
378
+ let res;
379
+ const collection = ctx.get("segregated");
380
+ if (collection)
381
+ res = (await stub.getPrivateData(collection, id.toString())).toString();
382
+ else
383
+ res = (await stub.getState(id.toString())).toString();
375
384
  if (!res)
376
- throw new NotFoundError(`Record with id ${id} not found`);
377
- log.silly(`Read state for id ${id}`);
385
+ throw new NotFoundError(`Record with id ${id}${collection ? ` in ${collection} collection` : ""} not found`);
386
+ log.silly(`state retrieved from${collection ? ` ${collection} collection` : ""} under id ${id}`);
378
387
  try {
379
388
  result = FabricContractAdapter.serializer.deserialize(res.toString());
380
389
  }
@@ -383,15 +392,37 @@ export class FabricContractAdapter extends CouchDBAdapter {
383
392
  }
384
393
  return result;
385
394
  }
386
- async queryResult(stub, rawInput,
387
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
388
- ...args) {
389
- return (await stub.getQueryResult(JSON.stringify(rawInput)));
390
- }
391
- async queryResultPaginated(stub, rawInput, limit = 250, skip,
392
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
393
- ...args) {
394
- return (await stub.getQueryResultWithPagination(JSON.stringify(rawInput), limit, skip?.toString()));
395
+ async queryResult(stub, rawInput, ...args) {
396
+ const { ctx } = this.logCtx(args, this.readState);
397
+ let res;
398
+ const collection = ctx.get("segregated");
399
+ if (collection)
400
+ res = await stub.getPrivateDataQueryResult(collection, JSON.stringify(rawInput));
401
+ else
402
+ res = await stub.getQueryResult(JSON.stringify(rawInput));
403
+ return res;
404
+ }
405
+ async queryResultPaginated(stub, rawInput, limit = 250, skip, ...args) {
406
+ const { ctx } = this.logCtx(args, this.readState);
407
+ let res;
408
+ const collection = ctx.get("segregated");
409
+ if (collection) {
410
+ rawInput.selector = {
411
+ ...rawInput.selector,
412
+ _id: skip ? { $gt: skip.toString() } : { $gte: "" },
413
+ };
414
+ const it = await stub.getPrivateDataQueryResult(collection, JSON.stringify(rawInput));
415
+ res = {
416
+ iterator: it,
417
+ metadata: {
418
+ fetchedRecordsCount: limit,
419
+ bookmark: "",
420
+ },
421
+ };
422
+ }
423
+ else
424
+ res = await stub.getQueryResultWithPagination(JSON.stringify(rawInput), limit, skip?.toString());
425
+ return res;
395
426
  }
396
427
  mergeModels(results) {
397
428
  const extract = (model) => Object.entries(model).reduce((accum, [key, val]) => {
@@ -427,6 +458,7 @@ export class FabricContractAdapter extends CouchDBAdapter {
427
458
  async flags(operation, model, flags, ctx, ...args) {
428
459
  const baseFlags = {
429
460
  stub: ctx.stub,
461
+ segregated: false,
430
462
  };
431
463
  if (ctx instanceof FabricContractContext) {
432
464
  Object.assign(baseFlags, {
@@ -436,13 +468,6 @@ export class FabricContractAdapter extends CouchDBAdapter {
436
468
  });
437
469
  }
438
470
  else {
439
- const LOG = !(ctx instanceof FabricContractContext)
440
- ? ctx.logging.getLogger()
441
- : ctx.logger;
442
- LOG.info(`In flags`);
443
- LOG.info(`${operation} - ${model.name}`);
444
- LOG.info(`flags: ${Object.keys(flags)}`);
445
- LOG.info(`ctx: ${ctx.constructor.name}`);
446
471
  Object.assign(baseFlags, {
447
472
  identity: ctx.clientIdentity,
448
473
  logger: new ContractLogger(this, undefined, ctx),
@@ -551,9 +576,10 @@ export class FabricContractAdapter extends CouchDBAdapter {
551
576
  * FabricContractAdapter->>FabricContractAdapter: resultIterator(log, iterator)
552
577
  * FabricContractAdapter-->>Caller: results
553
578
  */
554
- async raw(rawInput, ...args) {
555
- const { log, ctxArgs, stub } = this.logCtx(args, this.raw);
556
- const docsOnly = typeof ctxArgs[0] === "boolean" ? ctxArgs.shift() : false;
579
+ async raw(rawInput,
580
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
581
+ docsOnly = true, ...args) {
582
+ const { log, stub } = this.logCtx(args, this.raw);
557
583
  const { skip, limit } = rawInput;
558
584
  let iterator;
559
585
  if (limit || skip) {
@@ -569,7 +595,7 @@ export class FabricContractAdapter extends CouchDBAdapter {
569
595
  }
570
596
  log.debug("Iterator acquired");
571
597
  const results = (await this.resultIterator(log, iterator));
572
- log.debug(`returning {0} results`, `${Array.isArray(results) ? results.length : 1}`);
598
+ log.debug(`returning ${Array.isArray(results) ? results.length : 1} results`);
573
599
  return results;
574
600
  }
575
601
  Statement() {
@@ -1 +1 @@
1
- {"version":3,"file":"ContractAdapter.js","sourceRoot":"","sources":["../../../src/contracts/ContractAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ContractAdapter.js","sourceRoot":"","sources":["../../../src/contracts/ContractAdapter.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Context } from "@decaf-ts/db-decorators";
1
+ import { Context } from "@decaf-ts/core";
2
2
  import { FabricContractFlags } from "./types";
3
3
  import { ChaincodeStub, ClientIdentity } from "fabric-shim-api";
4
4
  /**
@@ -1,4 +1,4 @@
1
- import { Context } from "@decaf-ts/db-decorators";
1
+ import { Context } from "@decaf-ts/core";
2
2
  /**
3
3
  * @description Context class for Fabric chaincode operations
4
4
  * @summary Provides access to Fabric-specific context elements like stub, identity, and logger to be used by repositories and adapters during contract execution.
@@ -1 +1 @@
1
- {"version":3,"file":"ContractContext.js","sourceRoot":"","sources":["../../../src/contracts/ContractContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAIlD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,qBAAsB,SAAQ,OAA4B;IACrE;;;OAGG;IACH;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAa,SAAS;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAEQ,QAAQ;QACf,OAAO,aAAa,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;IAClE,CAAC;CACF"}
1
+ {"version":3,"file":"ContractContext.js","sourceRoot":"","sources":["../../../src/contracts/ContractContext.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAIzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,OAAO,qBAAsB,SAAQ,OAA4B;IACrE;;;OAGG;IACH;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED;;;;OAIG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,IAAa,SAAS;QACpB,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC9B,CAAC;IAEQ,QAAQ;QACf,OAAO,aAAa,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;IAClE,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"FabricContractRepository.js","sourceRoot":"","sources":["../../../src/contracts/FabricContractRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAKX,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,yCAAyC,EAAE,uDAAoD;AAKxG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,OAAO,wBAA0C,SAAQ,UAG9D;IACC,YACE,OAA+B,EAC/B,KAAsB,EACZ,aAAkE;QAE5E,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAFZ,kBAAa,GAAb,aAAa,CAAqD;IAG9E,CAAC;IAED;;;;OAIG;IACM,eAAe;QACtB,OAAO,IAAI,yCAAyC,EAAE,CAAC;IACzD,CAAC;IAED;;;;;;;;;OASG;IACM,KAAK,CAAC,eAAe,CAC5B,KAA8B,EAC9B,KAAqD,EACrD,EAAY,EACZ,GAAG,IAA2C;QAE9C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjE,OAAO,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;CACF"}
1
+ {"version":3,"file":"FabricContractRepository.js","sourceRoot":"","sources":["../../../src/contracts/FabricContractRepository.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,GAIX,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EAAE,yCAAyC,EAAE,uDAAoD;AAKxG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+DG;AACH,MAAM,OAAO,wBAA0C,SAAQ,UAG9D;IACC,YACE,OAA+B,EAC/B,KAAsB,EACZ,aAAkE;QAE5E,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QAFZ,kBAAa,GAAb,aAAa,CAAqD;IAG9E,CAAC;IAED;;;;OAIG;IACM,eAAe;QACtB,OAAO,IAAI,yCAAyC,EAAE,CAAC;IACzD,CAAC;IAED;;;;;;;;;OASG;IACM,KAAK,CAAC,eAAe,CAC5B,KAA8B,EAC9B,KAAqD,EACrD,EAAY,EACZ,GAAG,IAA2C;QAE9C,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACjE,OAAO,MAAM,KAAK,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,CAAC;IAClE,CAAC;CACF"}
@@ -1,7 +1,7 @@
1
1
  import { FabricContractAdapter } from "../ContractAdapter";
2
2
  import { Contract, Context as Ctx } from "fabric-contract-api";
3
3
  import { Model } from "@decaf-ts/decorator-validation";
4
- import { ContextualizedArgs } from "@decaf-ts/core";
4
+ import { Condition, ContextualizedArgs, OrderDirection } from "@decaf-ts/core";
5
5
  import { FabricContractRepository } from "../FabricContractRepository";
6
6
  import { DeterministicSerializer } from "../../shared/DeterministicSerializer";
7
7
  import { MangoQuery } from "@decaf-ts/for-couchdb";
@@ -74,9 +74,9 @@ export declare abstract class FabricCrudContract<M extends Model> extends Contra
74
74
  * @param {Constructor<M>} clazz - The model constructor
75
75
  */
76
76
  protected constructor(name: string, clazz: Constructor<M>);
77
- listBy(ctx: Ctx | FabricContractContext, key: keyof M, order: string, ...args: any[]): Promise<M[]>;
78
- paginateBy(ctx: Ctx | FabricContractContext, key: keyof M, order: string, size: number, ...args: any[]): Promise<import("@decaf-ts/core").Paginator<M, M[], any>>;
79
- findOneBy(ctx: Ctx | FabricContractContext, key: keyof M, value: any, ...args: any[]): Promise<M[]>;
77
+ listBy(ctx: Ctx | FabricContractContext, key: string | keyof M, order: string, ...args: any[]): Promise<M[]>;
78
+ paginateBy(ctx: Ctx | FabricContractContext, key: string | keyof M, order: string, size: number, ...args: any[]): Promise<import("@decaf-ts/core").Paginator<M, M[], any>>;
79
+ findOneBy(ctx: Ctx | FabricContractContext, key: string | keyof M, value: any, ...args: any[]): Promise<M>;
80
80
  statement(ctx: Ctx | FabricContractContext, method: string, ...args: any[]): Promise<any>;
81
81
  /**
82
82
  * @description Creates a single model in the state database
@@ -142,6 +142,17 @@ export declare abstract class FabricCrudContract<M extends Model> extends Contra
142
142
  * @return {Promise<M[]>} Promise resolving to the updated models
143
143
  */
144
144
  updateAll(ctx: Ctx | FabricContractContext, models: string | M[], ...args: any[]): Promise<string | M[]>;
145
+ /**
146
+ * @description Executes a query with the specified conditions and options.
147
+ * @summary Provides a simplified way to query the database with common query parameters.
148
+ * @param {Condition<M>} condition - The condition to filter records.
149
+ * @param orderBy - The field to order results by.
150
+ * @param {OrderDirection} [order=OrderDirection.ASC] - The sort direction.
151
+ * @param {number} [limit] - Optional maximum number of results to return.
152
+ * @param {number} [skip] - Optional number of results to skip.
153
+ * @return {Promise<M[]>} The query results as model instances.
154
+ */
155
+ query(context: Ctx | FabricContractContext, condition: Condition<M> | string, orderBy: string | keyof M, order?: OrderDirection | string, limit?: number, skip?: number, ...args: any[]): Promise<M[]>;
145
156
  /**
146
157
  * @description Executes a raw query against the state database
147
158
  * @summary Delegates to the repository's raw method
@@ -1,7 +1,7 @@
1
1
  import { FabricContractAdapter } from "./../ContractAdapter.js";
2
- import { Context, Contract } from "fabric-contract-api";
2
+ import { Contract, Context as Ctx } from "fabric-contract-api";
3
3
  import { Model } from "@decaf-ts/decorator-validation";
4
- import { Repository, } from "@decaf-ts/core";
4
+ import { OrderDirection, Repository, } from "@decaf-ts/core";
5
5
  import { DeterministicSerializer } from "./../../shared/DeterministicSerializer.js";
6
6
  import { FabricContractContext } from "./../ContractContext.js";
7
7
  import { BulkCrudOperationKeys, InternalError, OperationKeys, } from "@decaf-ts/db-decorators";
@@ -203,6 +203,20 @@ export class FabricCrudContract extends Contract {
203
203
  log.info(`updating ${models.length} entries to the table`);
204
204
  return this.repo.updateAll(models, ...ctxArgs);
205
205
  }
206
+ /**
207
+ * @description Executes a query with the specified conditions and options.
208
+ * @summary Provides a simplified way to query the database with common query parameters.
209
+ * @param {Condition<M>} condition - The condition to filter records.
210
+ * @param orderBy - The field to order results by.
211
+ * @param {OrderDirection} [order=OrderDirection.ASC] - The sort direction.
212
+ * @param {number} [limit] - Optional maximum number of results to return.
213
+ * @param {number} [skip] - Optional number of results to skip.
214
+ * @return {Promise<M[]>} The query results as model instances.
215
+ */
216
+ async query(context, condition, orderBy, order = OrderDirection.ASC, limit, skip, ...args) {
217
+ const { ctxArgs } = await this.logCtx([...args, context], this.query);
218
+ return this.repo.query(condition, orderBy, order, limit, skip, ...ctxArgs);
219
+ }
206
220
  /**
207
221
  * @description Executes a raw query against the state database
208
222
  * @summary Delegates to the repository's raw method
@@ -225,16 +239,12 @@ export class FabricCrudContract extends Contract {
225
239
  return FabricCrudContract.serializer.deserialize(str);
226
240
  }
227
241
  async init(ctx) {
228
- const LOG = ctx.logging.getLogger("tst");
229
- LOG.info("in init");
230
242
  const { log } = await this.logCtx([ctx], this.init);
231
243
  log.info(`Running contract ${this.getName()} initialization...`);
232
244
  this.initialized = true;
233
245
  log.info(`Contract initialization completed.`);
234
246
  }
235
247
  async healthcheck(ctx) {
236
- const LOG = ctx.logging.getLogger("test");
237
- LOG.info("in healthcheck");
238
248
  const { log } = await this.logCtx([ctx], this.healthcheck);
239
249
  log.info(`Running Healthcheck: ${this.initialized}...`);
240
250
  return { healthcheck: this.initialized };
@@ -271,11 +281,9 @@ export class FabricCrudContract extends Contract {
271
281
  stub: ctx.stub,
272
282
  identity: ctx.identity,
273
283
  };
274
- if (!(ctx instanceof Context))
284
+ if (!(ctx instanceof Ctx))
275
285
  throw new InternalError("No valid context provided");
276
- const LOG = ctx.logging.getLogger();
277
286
  function getOp() {
278
- LOG.info(`Getting op for ${typeof method === "string" ? method : method.name}`);
279
287
  if (typeof method === "string")
280
288
  return method;
281
289
  switch (method.name) {
@@ -295,17 +303,7 @@ export class FabricCrudContract extends Contract {
295
303
  const overrides = {
296
304
  correlationId: ctx.stub.getTxID(),
297
305
  };
298
- LOG.info(`Getting context with ${Object.keys(overrides)} and ctx`);
299
306
  const context = await FabricCrudContract.adapter.context(getOp(), overrides, this.clazz, ctx);
300
- LOG.info(`Got ctx`);
301
- if (context.stub)
302
- LOG.info(`stub ok`);
303
- if (context.identity)
304
- LOG.info(`identity ok`);
305
- if (context.logger)
306
- LOG.info(`logger ok`);
307
- if (context.stub)
308
- LOG.info(`stub ok`);
309
307
  const log = (this
310
308
  ? context.logger.for(this).for(method)
311
309
  : context.logger.clear().for(this).for(method));
@@ -1 +1 @@
1
- {"version":3,"file":"crud-contract.js","sourceRoot":"","sources":["../../../../src/contracts/crud/crud-contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,gCAA2B;AAC3D,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAkB,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,KAAK,EAAc,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAIL,UAAU,GACX,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,uBAAuB,EAAE,kDAA6C;AAI/E,OAAO,EAAE,qBAAqB,EAAE,gCAA2B;AAC3D,OAAO,EACL,qBAAqB,EACrB,aAAa,EACb,aAAa,GAEd,MAAM,yBAAyB,CAAC;AAIjC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+CG;AACH,MAAM,OAAgB,kBACpB,SAAQ,QAAQ;IAGhB;;OAEG;aACc,YAAO,GAA0B,IAAI,qBAAqB,EAAE,AAArD,CAAsD;aAIpD,eAAU,GAAG,IAAI,uBAAuB,EAAE,AAAhC,CAAiC;IAIrE;;;;;OAKG;IACH,YACE,IAAY,EACO,KAAqB;QAExC,KAAK,CAAC,IAAI,CAAC,CAAC;QAFO,UAAK,GAAL,KAAK,CAAgB;QAVhC,gBAAW,GAAY,KAAK,CAAC;QAarC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,MAAM,CACV,GAAgC,EAChC,GAAY,EACZ,KAAa,EACb,GAAG,IAAW;QAEd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAuB,EAAE,GAAG,OAAO,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,UAAU,CACd,GAAgC,EAChC,GAAY,EACZ,KAAa,EACb,IAAY,EACZ,GAAG,IAAW;QAEd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QACvE,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,KAAY,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,SAAS,CACb,GAAgC,EAChC,GAAY,EACZ,KAAU,EACV,GAAG,IAAW;QAEd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,SAAS,CACb,GAAgC,EAChC,MAAc,EACd,GAAG,IAAW;QAEd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,GAAgC,EAChC,KAAiB,EACjB,GAAG,IAAW;QAEd,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAExC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAI,KAAK,CAAM,CAAC;QAEvE,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE7C,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACtC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAM,CAAC;QAEvD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CACR,GAAgC,EAChC,GAA4B,EAC5B,GAAG,IAAW;QAEd,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAEtE,GAAG,CAAC,IAAI,CAAC,yBAAyB,GAAG,GAAG,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,CAAC;IACzC,CAAC;IAES,gBAAgB,CAAC,GAAgC;QACzD,MAAM,YAAY,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7C,IAAI,SAAS,GAAQ,EAAE,CAAC;QAExB,IAAI,YAAY,CAAC,GAAG,CAAE,IAAI,CAAC,IAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACnD,SAAS,GAAG,IAAI,CAAC,KAAK,CACnB,YAAY,CAAC,GAAG,CAAE,IAAI,CAAC,IAAY,CAAC,SAAS,CAAY,EAAE,QAAQ,CAClE,MAAM,CACG,CACZ,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,GAAgC,EAChC,KAAiB,EACjB,GAAG,IAAW;QAEd,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAExE,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,KAAK,GAAG,IAAI,CAAC,WAAW,CAAI,KAAK,CAAM,CAAC;QAEvE,GAAG,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAErD,MAAM,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;QAE7C,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACtC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAM,CAAC;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CACV,GAAgC,EAChC,GAA4B,EAC5B,GAAG,IAAW;QAEd,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACxE,GAAG,CAAC,IAAI,CAAC,0BAA0B,GAAG,GAAG,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,GAAG,OAAO,CAAC,CAAC;IACnD,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CACb,GAAgC,EAChC,IAA+B,EAC/B,GAAG,IAAW;QAEd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CACX,GAAgC,EAChC,IAA+B,EAC/B,GAAG,IAAW;QAEd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACpE,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAa,CAAC;QAClE,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,OAAO,CAAC,CAAC;IAC7C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CACb,GAAgC,EAChC,MAAoB,EACpB,GAAG,IAAW;QAEd,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3E,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC5B,MAAM,GAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAQ;iBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAQ,CAAC;QAE1C,GAAG,CAAC,IAAI,CAAC,YAAY,MAAM,CAAC,MAAM,uBAAuB,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAwB,EAAE,GAAG,OAAO,CAAC,CAAC;IACnE,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,CACP,GAAgC,EAChC,QAA6B,EAC7B,QAAiB,EACjB,GAAG,IAAW;QAEd,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QAChE,IAAI,OAAO,QAAQ,KAAK,QAAQ;YAC9B,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAe,CAAC;QAChD,OAAO,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC;IACxE,CAAC;IAES,SAAS,CAAC,KAAQ;QAC1B,OAAO,kBAAkB,CAAC,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC;IAES,WAAW,CAAkB,GAAW;QAChD,OACE,kBAAkB,CAAC,UACpB,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAES,KAAK,CAAC,IAAI,CAAC,GAAgC;QACnD,MAAM,GAAG,GAAI,GAAW,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAClD,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpB,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,GAAG,CAAC,IAAI,CAAC,oBAAoB,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,GAAgC;QAEhC,MAAM,GAAG,GAAI,GAAW,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACnD,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC3B,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC3D,GAAG,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,WAAW,KAAK,CAAC,CAAC;QACxD,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC;IAC3C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,SAAS,CACb,GAAgC,EAChC,MAAoB,EACpB,GAAG,IAAW;QAEd,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAElE,IAAI,OAAO,MAAM,KAAK,QAAQ;YAC5B,MAAM,GAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAQ;iBAChC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;iBAC/B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAQ,CAAC;QAE1C,GAAG,CAAC,IAAI,CAAC,UAAU,MAAM,CAAC,MAAM,uBAAuB,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAwB,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,MAAM,CACV,IAAU,EACV,MAA0C;QAO1C,OAAO,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,MAAa,CAAC,CAAC;IACnE,CAAC;IAsBS,MAAM,CAAC,KAAK,CAAC,MAAM,CAE3B,IAAU,EACV,MAA0C;QAO1C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,IAAI,aAAa,CAAC,qBAAqB,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAqC,CAAC;QAC1D,IAAI,GAAG,YAAY,qBAAqB;YACtC,OAAO;gBACL,GAAG;gBACH,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;gBAC7C,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC;gBACvB,IAAI,EAAE,GAAG,CAAC,IAAI;gBACd,QAAQ,EAAE,GAAG,CAAC,QAAQ;aACvB,CAAC;QAEJ,IAAI,CAAC,CAAC,GAAG,YAAY,OAAO,CAAC;YAC3B,MAAM,IAAI,aAAa,CAAC,2BAA2B,CAAC,CAAC;QAEvD,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QACpC,SAAS,KAAK;YACZ,GAAG,CAAC,IAAI,CACN,kBAAkB,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CACtE,CAAC;YACF,IAAI,OAAO,MAAM,KAAK,QAAQ;gBAAE,OAAO,MAAM,CAAC;YAC9C,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,KAAK,aAAa,CAAC,MAAM,CAAC;gBAC1B,KAAK,aAAa,CAAC,IAAI,CAAC;gBACxB,KAAK,aAAa,CAAC,MAAM,CAAC;gBAC1B,KAAK,aAAa,CAAC,MAAM,CAAC;gBAC1B,KAAK,qBAAqB,CAAC,UAAU,CAAC;gBACtC,KAAK,qBAAqB,CAAC,QAAQ,CAAC;gBACpC,KAAK,qBAAqB,CAAC,UAAU,CAAC;gBACtC,KAAK,qBAAqB,CAAC,UAAU;oBACnC,OAAO,MAAM,CAAC,IAAI,CAAC;gBACrB;oBACE,OAAO,MAAM,CAAC,IAAI,CAAC;YACvB,CAAC;QACH,CAAC;QAED,MAAM,SAAS,GAAG;YAChB,aAAa,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE;SAClC,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,wBAAwB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,OAAO,CAAC,OAAO,CACtD,KAAK,EAAE,EACP,SAAgB,EAChB,IAAI,CAAC,KAAK,EACV,GAAG,CACJ,CAAC;QACF,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACpB,IAAI,OAAO,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,QAAQ;YAAE,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC9C,IAAI,OAAO,CAAC,MAAM;YAAE,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,OAAO,CAAC,IAAI;YAAE,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtC,MAAM,GAAG,GAAG,CACV,IAAI;YACF,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CACd,CAAC;QACrC,OAAO;YACL,GAAG,EAAE,OAAO;YACZ,GAAG,EAAE,GAAG;YACR,IAAI,EAAE,OAAO,CAAC,IAAI;YAClB,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC;SAC5B,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"crud-contract.js","sourceRoot":"","sources":["../../../../src/contracts/crud/crud-contract.ts"],"names":[],"mappings":"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"}
@@ -23,8 +23,12 @@ export declare class SerializedCrudContract<M extends Model> extends FabricCrudC
23
23
  deleteAll(context: Ctx, keys: string): Promise<string>;
24
24
  readAll(context: Ctx, keys: string): Promise<string>;
25
25
  updateAll(context: Ctx, models: string): Promise<string>;
26
- statement(context: Ctx, method: string): Promise<any>;
27
- raw(context: Ctx, rawInput: string, docsOnly: boolean): Promise<any>;
26
+ statement(context: Ctx, method: string, ...args: string[]): Promise<any>;
27
+ listBy(context: Ctx, key: string, order: string, ...args: string[]): Promise<M[]>;
28
+ paginateBy(context: Ctx, key: string, order: string, size: number, ...args: string[]): Promise<import("@decaf-ts/core").Paginator<M, M[], any>>;
29
+ findOneBy(context: Ctx, key: string, value: string, ...args: string[]): Promise<M>;
30
+ query(context: Ctx, condition: string, orderBy: string, order: string, limit?: number, skip?: number, ...args: string[]): Promise<M[]>;
31
+ raw(context: Ctx, rawInput: string, docsOnly: boolean, ...args: string[]): Promise<any>;
28
32
  init(ctx: Ctx): Promise<void>;
29
33
  healthcheck(context: Ctx): Promise<string>;
30
34
  createAll(context: Ctx, models: string): Promise<string>;
@@ -9,6 +9,8 @@ var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  };
10
10
  import { FabricCrudContract } from "./crud-contract.js";
11
11
  import { Context as Ctx, Transaction } from "fabric-contract-api";
12
+ import { Condition } from "@decaf-ts/core";
13
+ import { SerializationError } from "@decaf-ts/db-decorators";
12
14
  /**
13
15
  * @description CRUD contract variant that serializes/deserializes payloads
14
16
  * @summary Exposes the same CRUD operations as FabricCrudContract but takes and returns JSON strings to facilitate simple client interactions.
@@ -68,14 +70,50 @@ export class SerializedCrudContract extends FabricCrudContract {
68
70
  log.info(`Updating ${modelList.length} entries to the table`);
69
71
  return JSON.stringify((await super.updateAll(ctx, modelList)).map((m) => this.serialize(m)));
70
72
  }
71
- async statement(context, method) {
72
- const { ctx } = await this.logCtx([context], this.statement);
73
- return super.statement(ctx, method);
73
+ async statement(context, method, ...args) {
74
+ const { ctx, log } = await this.logCtx([...args, context], this.statement);
75
+ args = args.map((a) => {
76
+ try {
77
+ return JSON.parse(a);
78
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
79
+ }
80
+ catch (e) {
81
+ return a;
82
+ }
83
+ });
84
+ log.info(`calling prepared statement ${method}`);
85
+ log.debug(`with args ${args}`);
86
+ return super.statement(ctx, method, ...args);
74
87
  }
75
- async raw(context, rawInput, docsOnly) {
88
+ async listBy(context, key, order, ...args) {
89
+ const { ctx } = await this.logCtx([...args, context], this.listBy);
90
+ return super.listBy(ctx, key, order);
91
+ }
92
+ async paginateBy(context, key, order, size, ...args) {
93
+ const { ctx } = await this.logCtx([...args, context], this.paginateBy);
94
+ return super.paginateBy(ctx, key, order, size);
95
+ }
96
+ async findOneBy(context, key, value, ...args) {
97
+ const { ctx } = await this.logCtx([...args, context], this.paginateBy);
98
+ return super.findOneBy(ctx, key, value, ...args);
99
+ }
100
+ // @Transaction(false)
101
+ async query(context, condition, orderBy, order, limit, skip, ...args) {
102
+ const { ctx } = await this.logCtx([context], this.query);
103
+ let cond;
104
+ try {
105
+ cond = Condition.from(JSON.parse(condition));
106
+ }
107
+ catch (e) {
108
+ throw new SerializationError(`Invalid condition: ${e}`);
109
+ }
110
+ return super.query(ctx, cond, orderBy, order, limit, skip, ...args);
111
+ }
112
+ // @Transaction(false)
113
+ async raw(context, rawInput, docsOnly, ...args) {
76
114
  const { ctx } = await this.logCtx([context], this.raw);
77
115
  const parsedInput = JSON.parse(rawInput);
78
- return super.raw(ctx, parsedInput, docsOnly);
116
+ return super.raw(ctx, parsedInput, docsOnly, ...args);
79
117
  }
80
118
  async init(ctx) {
81
119
  await super.init(ctx);
@@ -141,15 +179,27 @@ __decorate([
141
179
  __decorate([
142
180
  Transaction(false),
143
181
  __metadata("design:type", Function),
144
- __metadata("design:paramtypes", [Ctx, String]),
182
+ __metadata("design:paramtypes", [Ctx, String, String]),
145
183
  __metadata("design:returntype", Promise)
146
184
  ], SerializedCrudContract.prototype, "statement", null);
147
185
  __decorate([
148
186
  Transaction(false),
149
187
  __metadata("design:type", Function),
150
- __metadata("design:paramtypes", [Ctx, String, Boolean]),
188
+ __metadata("design:paramtypes", [Ctx, String, String, String]),
189
+ __metadata("design:returntype", Promise)
190
+ ], SerializedCrudContract.prototype, "listBy", null);
191
+ __decorate([
192
+ Transaction(false),
193
+ __metadata("design:type", Function),
194
+ __metadata("design:paramtypes", [Ctx, String, String, Number, String]),
195
+ __metadata("design:returntype", Promise)
196
+ ], SerializedCrudContract.prototype, "paginateBy", null);
197
+ __decorate([
198
+ Transaction(false),
199
+ __metadata("design:type", Function),
200
+ __metadata("design:paramtypes", [Ctx, String, String, String]),
151
201
  __metadata("design:returntype", Promise)
152
- ], SerializedCrudContract.prototype, "raw", null);
202
+ ], SerializedCrudContract.prototype, "findOneBy", null);
153
203
  __decorate([
154
204
  Transaction(),
155
205
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"serialized-crud-contract.js","sourceRoot":"","sources":["../../../../src/contracts/crud/serialized-crud-contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serialized-crud-contract.js","sourceRoot":"","sources":["../../../../src/contracts/crud/serialized-crud-contract.ts"],"names":[],"mappings":"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"}