@decaf-ts/for-fabric 0.8.0 → 0.10.0
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/lib/cjs/bin/cli.cjs +3 -2
- package/lib/cjs/bin/cli.cjs.map +1 -0
- package/lib/cjs/cli-module.cjs +26 -25
- package/lib/cjs/cli-module.cjs.map +1 -0
- package/lib/cjs/cli-utils.cjs +5 -5
- package/lib/cjs/cli-utils.cjs.map +1 -0
- package/lib/cjs/client/FabricClientAdapter.cjs +46 -40
- package/lib/cjs/client/FabricClientAdapter.cjs.map +1 -0
- package/lib/cjs/client/FabricClientDispatch.cjs +8 -7
- package/lib/cjs/client/FabricClientDispatch.cjs.map +1 -0
- package/lib/cjs/client/FabricClientPaginator.cjs +1 -0
- package/lib/cjs/client/FabricClientPaginator.cjs.map +1 -0
- package/lib/cjs/client/FabricClientRepository.cjs +4 -3
- package/lib/cjs/client/FabricClientRepository.cjs.map +1 -0
- package/lib/cjs/client/FabricClientStatement.cjs +1 -0
- package/lib/cjs/client/FabricClientStatement.cjs.map +1 -0
- package/lib/cjs/client/collections/generation.cjs +3 -2
- package/lib/cjs/client/collections/generation.cjs.map +1 -0
- package/lib/cjs/client/collections/index.cjs +1 -0
- package/lib/cjs/client/collections/index.cjs.map +1 -0
- package/lib/cjs/client/constants.cjs +1 -0
- package/lib/cjs/client/constants.cjs.map +1 -0
- package/lib/cjs/client/crypto.cjs +12 -13
- package/lib/cjs/client/crypto.cjs.map +1 -0
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs +7 -6
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.cjs.map +1 -0
- package/lib/cjs/client/erc20/index.cjs +1 -0
- package/lib/cjs/client/erc20/index.cjs.map +1 -0
- package/lib/cjs/client/fabric-fs.cjs +1 -0
- package/lib/cjs/client/fabric-fs.cjs.map +1 -0
- package/lib/cjs/client/fabric-hsm.cjs +3 -2
- package/lib/cjs/client/fabric-hsm.cjs.map +1 -0
- package/lib/cjs/client/ids/id-extraction.cjs +1 -0
- package/lib/cjs/client/ids/id-extraction.cjs.map +1 -0
- package/lib/cjs/client/ids/index.cjs +1 -0
- package/lib/cjs/client/ids/index.cjs.map +1 -0
- package/lib/cjs/client/index.cjs +10 -9
- package/lib/cjs/client/index.cjs.map +1 -0
- package/lib/cjs/client/indexes/generation.cjs +1 -0
- package/lib/cjs/client/indexes/generation.cjs.map +1 -0
- package/lib/cjs/client/indexes/index.cjs +1 -0
- package/lib/cjs/client/indexes/index.cjs.map +1 -0
- package/lib/cjs/client/logging.cjs +1 -0
- package/lib/cjs/client/logging.cjs.map +1 -0
- package/lib/cjs/client/services/FabricEnrollmentService.cjs +17 -32
- package/lib/cjs/client/services/FabricEnrollmentService.cjs.map +1 -0
- package/lib/cjs/client/services/FabricIdentityService.cjs +15 -14
- package/lib/cjs/client/services/FabricIdentityService.cjs.map +1 -0
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs +11 -5
- package/lib/cjs/client/services/RegistrationRequestBuilder.cjs.map +1 -0
- package/lib/cjs/client/services/constants.cjs +2 -9
- package/lib/cjs/client/services/constants.cjs.map +1 -0
- package/lib/cjs/client/services/index.cjs +1 -0
- package/lib/cjs/client/services/index.cjs.map +1 -0
- package/lib/cjs/client/types.cjs +1 -0
- package/lib/cjs/client/types.cjs.map +1 -0
- package/lib/cjs/client/utils.cjs +1 -0
- package/lib/cjs/client/utils.cjs.map +1 -0
- package/lib/cjs/contract/Address.cjs +14 -8
- package/lib/cjs/contract/Address.cjs.map +1 -0
- package/lib/cjs/contract/AddressContract.cjs +15 -9
- package/lib/cjs/contract/AddressContract.cjs.map +1 -0
- package/lib/cjs/contract/AuditContract.cjs +15 -9
- package/lib/cjs/contract/AuditContract.cjs.map +1 -0
- package/lib/cjs/contract/BatchContract.cjs +15 -9
- package/lib/cjs/contract/BatchContract.cjs.map +1 -0
- package/lib/cjs/contract/MarketContract.cjs +15 -9
- package/lib/cjs/contract/MarketContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherAuditContract.cjs +15 -9
- package/lib/cjs/contract/OtherAuditContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherBatchContract.cjs +15 -9
- package/lib/cjs/contract/OtherBatchContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherMarketContract.cjs +15 -9
- package/lib/cjs/contract/OtherMarketContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductContract.cjs +15 -9
- package/lib/cjs/contract/OtherProductContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductImageContract.cjs +15 -9
- package/lib/cjs/contract/OtherProductImageContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductSharedContract.cjs +15 -9
- package/lib/cjs/contract/OtherProductSharedContract.cjs.map +1 -0
- package/lib/cjs/contract/OtherProductStrengthContract.cjs +15 -9
- package/lib/cjs/contract/OtherProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/Product.cjs +15 -9
- package/lib/cjs/contract/Product.cjs.map +1 -0
- package/lib/cjs/contract/ProductContract.cjs +15 -9
- package/lib/cjs/contract/ProductContract.cjs.map +1 -0
- package/lib/cjs/contract/ProductStrengthContract.cjs +15 -9
- package/lib/cjs/contract/ProductStrengthContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs +15 -9
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs +15 -9
- package/lib/cjs/contract/SegregatedSharedDocumentContract.cjs.map +1 -0
- package/lib/cjs/contract/User.cjs +13 -7
- package/lib/cjs/contract/User.cjs.map +1 -0
- package/lib/cjs/contract/UserContract.cjs +15 -9
- package/lib/cjs/contract/UserContract.cjs.map +1 -0
- package/lib/cjs/contract/index.cjs +31 -30
- package/lib/cjs/contract/index.cjs.map +1 -0
- package/lib/cjs/contract/logging-context.cjs +1 -0
- package/lib/cjs/contract/logging-context.cjs.map +1 -0
- package/lib/cjs/contract/models/Audit.cjs +17 -11
- package/lib/cjs/contract/models/Audit.cjs.map +1 -0
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs +15 -9
- package/lib/cjs/contract/models/BaseIdentifiedModel.cjs.map +1 -0
- package/lib/cjs/contract/models/BaseModel.cjs +13 -7
- package/lib/cjs/contract/models/BaseModel.cjs.map +1 -0
- package/lib/cjs/contract/models/Batch.cjs +24 -18
- package/lib/cjs/contract/models/Batch.cjs.map +1 -0
- package/lib/cjs/contract/models/GtinOwner.cjs +18 -12
- package/lib/cjs/contract/models/GtinOwner.cjs.map +1 -0
- package/lib/cjs/contract/models/History.cjs +15 -9
- package/lib/cjs/contract/models/History.cjs.map +1 -0
- package/lib/cjs/contract/models/Leaflet.cjs +25 -19
- package/lib/cjs/contract/models/Leaflet.cjs.map +1 -0
- package/lib/cjs/contract/models/LeafletFile.cjs +19 -13
- package/lib/cjs/contract/models/LeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/models/Market.cjs +19 -13
- package/lib/cjs/contract/models/Market.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherAudit.cjs +20 -14
- package/lib/cjs/contract/models/OtherAudit.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherBatchShared.cjs +27 -21
- package/lib/cjs/contract/models/OtherBatchShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeaflet.cjs +27 -21
- package/lib/cjs/contract/models/OtherLeaflet.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherLeafletFile.cjs +18 -12
- package/lib/cjs/contract/models/OtherLeafletFile.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherMarket.cjs +21 -15
- package/lib/cjs/contract/models/OtherMarket.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProduct.cjs +24 -18
- package/lib/cjs/contract/models/OtherProduct.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductImage.cjs +22 -16
- package/lib/cjs/contract/models/OtherProductImage.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductShared.cjs +32 -26
- package/lib/cjs/contract/models/OtherProductShared.cjs.map +1 -0
- package/lib/cjs/contract/models/OtherProductStrength.cjs +21 -15
- package/lib/cjs/contract/models/OtherProductStrength.cjs.map +1 -0
- package/lib/cjs/contract/models/Product.cjs +24 -18
- package/lib/cjs/contract/models/Product.cjs.map +1 -0
- package/lib/cjs/contract/models/ProductStrength.cjs +19 -13
- package/lib/cjs/contract/models/ProductStrength.cjs.map +1 -0
- package/lib/cjs/contract/models/SegregatedDocument.cjs +23 -17
- package/lib/cjs/contract/models/SegregatedDocument.cjs.map +1 -0
- package/lib/cjs/contract/models/constants.cjs +3 -4
- package/lib/cjs/contract/models/constants.cjs.map +1 -0
- package/lib/cjs/contract/models/decorators-private.cjs +11 -10
- package/lib/cjs/contract/models/decorators-private.cjs.map +1 -0
- package/lib/cjs/contract/models/decorators.cjs +13 -12
- package/lib/cjs/contract/models/decorators.cjs.map +1 -0
- package/lib/cjs/contract/models/gtin.cjs +13 -7
- package/lib/cjs/contract/models/gtin.cjs.map +1 -0
- package/lib/cjs/contract/models/history-dec.cjs +11 -10
- package/lib/cjs/contract/models/history-dec.cjs.map +1 -0
- package/lib/cjs/contracts/ContractAdapter.cjs +27 -26
- package/lib/cjs/contracts/ContractAdapter.cjs.map +1 -0
- package/lib/cjs/contracts/ContractContext.cjs +1 -0
- package/lib/cjs/contracts/ContractContext.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractDispatch.cjs +1 -0
- package/lib/cjs/contracts/FabricContractDispatch.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractPaginator.cjs +5 -4
- package/lib/cjs/contracts/FabricContractPaginator.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractRepository.cjs +8 -7
- package/lib/cjs/contracts/FabricContractRepository.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs +3 -2
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractSequence.cjs +1 -0
- package/lib/cjs/contracts/FabricContractSequence.cjs.map +1 -0
- package/lib/cjs/contracts/FabricContractStatement.cjs +5 -4
- package/lib/cjs/contracts/FabricContractStatement.cjs.map +1 -0
- package/lib/cjs/contracts/MigrationContract.cjs +20 -14
- package/lib/cjs/contracts/MigrationContract.cjs.map +1 -0
- package/lib/cjs/contracts/PrivateSequence.cjs +11 -5
- package/lib/cjs/contracts/PrivateSequence.cjs.map +1 -0
- package/lib/cjs/contracts/auth/decorators.cjs +3 -2
- package/lib/cjs/contracts/auth/decorators.cjs.map +1 -0
- package/lib/cjs/contracts/auth/index.cjs +1 -0
- package/lib/cjs/contracts/auth/index.cjs.map +1 -0
- package/lib/cjs/contracts/crud/crud-contract.cjs +12 -11
- package/lib/cjs/contracts/crud/crud-contract.cjs.map +1 -0
- package/lib/cjs/contracts/crud/index.cjs +1 -0
- package/lib/cjs/contracts/crud/index.cjs.map +1 -0
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs +13 -7
- package/lib/cjs/contracts/crud/serialized-crud-contract.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/erc20contract.cjs +53 -47
- package/lib/cjs/contracts/erc20/erc20contract.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/index.cjs +3 -2
- package/lib/cjs/contracts/erc20/index.cjs.map +1 -0
- package/lib/cjs/contracts/erc20/models.cjs +11 -5
- package/lib/cjs/contracts/erc20/models.cjs.map +1 -0
- package/lib/cjs/contracts/index.cjs +1 -0
- package/lib/cjs/contracts/index.cjs.map +1 -0
- package/lib/cjs/contracts/logging.cjs +4 -3
- package/lib/cjs/contracts/logging.cjs.map +1 -0
- package/lib/cjs/contracts/overrides.cjs +3 -2
- package/lib/cjs/contracts/overrides.cjs.map +1 -0
- package/lib/cjs/contracts/types.cjs +1 -0
- package/lib/cjs/contracts/types.cjs.map +1 -0
- package/lib/cjs/contracts/uuid.cjs +1 -0
- package/lib/cjs/contracts/uuid.cjs.map +1 -0
- package/lib/cjs/index.cjs +6 -5
- package/lib/cjs/index.cjs.map +1 -0
- package/lib/cjs/shared/ClientSerializer.cjs +1 -0
- package/lib/cjs/shared/ClientSerializer.cjs.map +1 -0
- package/lib/cjs/shared/DeterministicSerializer.cjs +1 -0
- package/lib/cjs/shared/DeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs +3 -2
- package/lib/cjs/shared/SimpleDeterministicSerializer.cjs.map +1 -0
- package/lib/cjs/shared/constants.cjs +3 -18
- package/lib/cjs/shared/constants.cjs.map +1 -0
- package/lib/cjs/shared/decorators.cjs +14 -13
- package/lib/cjs/shared/decorators.cjs.map +1 -0
- package/lib/cjs/shared/erc20/erc20-constants.cjs +2 -9
- package/lib/cjs/shared/erc20/erc20-constants.cjs.map +1 -0
- package/lib/cjs/shared/erc20/index.cjs +1 -0
- package/lib/cjs/shared/erc20/index.cjs.map +1 -0
- package/lib/cjs/shared/errors.cjs +1 -0
- package/lib/cjs/shared/errors.cjs.map +1 -0
- package/lib/cjs/shared/events.cjs +1 -0
- package/lib/cjs/shared/events.cjs.map +1 -0
- package/lib/cjs/shared/fabric-types.cjs +1 -0
- package/lib/cjs/shared/fabric-types.cjs.map +1 -0
- package/lib/cjs/shared/index.cjs +1 -0
- package/lib/cjs/shared/index.cjs.map +1 -0
- package/lib/cjs/shared/interfaces/Checkable.cjs +1 -0
- package/lib/cjs/shared/interfaces/Checkable.cjs.map +1 -0
- package/lib/cjs/shared/interfaces/index.cjs +1 -0
- package/lib/cjs/shared/interfaces/index.cjs.map +1 -0
- package/lib/cjs/shared/math.cjs +4 -3
- package/lib/cjs/shared/math.cjs.map +1 -0
- package/lib/cjs/shared/model/FabricBaseModel.cjs +13 -7
- package/lib/cjs/shared/model/FabricBaseModel.cjs.map +1 -0
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs +15 -9
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.cjs.map +1 -0
- package/lib/cjs/shared/model/Identity.cjs +16 -10
- package/lib/cjs/shared/model/Identity.cjs.map +1 -0
- package/lib/cjs/shared/model/IdentityCredentials.cjs +11 -5
- package/lib/cjs/shared/model/IdentityCredentials.cjs.map +1 -0
- package/lib/cjs/shared/model/index.cjs +1 -0
- package/lib/cjs/shared/model/index.cjs.map +1 -0
- package/lib/cjs/shared/overrides/Model.cjs +1 -0
- package/lib/cjs/shared/overrides/Model.cjs.map +1 -0
- package/lib/cjs/shared/overrides/index.cjs +1 -0
- package/lib/cjs/shared/overrides/index.cjs.map +1 -0
- package/lib/cjs/shared/overrides/overrides.cjs +11 -10
- package/lib/cjs/shared/overrides/overrides.cjs.map +1 -0
- package/lib/cjs/shared/types.cjs +1 -0
- package/lib/cjs/shared/types.cjs.map +1 -0
- package/lib/cjs/version.cjs +2 -1
- package/lib/cjs/version.cjs.map +1 -0
- package/lib/esm/version.js +1 -1
- package/lib/types/bin/cli.d.cts +1 -0
- package/lib/types/bin/cli.d.mts +1 -0
- package/lib/types/cli-module.d.cts +3 -0
- package/lib/types/cli-module.d.mts +3 -0
- package/lib/types/cli-utils.d.cts +21 -0
- package/lib/types/cli-utils.d.mts +21 -0
- package/lib/types/client/FabricClientAdapter.d.cts +404 -0
- package/lib/types/client/FabricClientAdapter.d.mts +404 -0
- package/lib/types/client/FabricClientDispatch.d.cts +133 -0
- package/lib/types/client/FabricClientDispatch.d.mts +133 -0
- package/lib/types/client/FabricClientPaginator.d.cts +12 -0
- package/lib/types/client/FabricClientPaginator.d.mts +12 -0
- package/lib/types/client/FabricClientRepository.d.cts +71 -0
- package/lib/types/client/FabricClientRepository.d.mts +71 -0
- package/lib/types/client/FabricClientStatement.d.cts +64 -0
- package/lib/types/client/FabricClientStatement.d.mts +64 -0
- package/lib/types/client/collections/generation.d.cts +46 -0
- package/lib/types/client/collections/generation.d.mts +46 -0
- package/lib/types/client/collections/index.d.cts +1 -0
- package/lib/types/client/collections/index.d.mts +1 -0
- package/lib/types/client/constants.d.cts +2 -0
- package/lib/types/client/constants.d.mts +2 -0
- package/lib/types/client/crypto.d.cts +107 -0
- package/lib/types/client/crypto.d.mts +107 -0
- package/lib/types/client/erc20/FabricERC20ClientRepository.d.cts +254 -0
- package/lib/types/client/erc20/FabricERC20ClientRepository.d.mts +254 -0
- package/lib/types/client/erc20/index.d.cts +1 -0
- package/lib/types/client/erc20/index.d.mts +1 -0
- package/lib/types/client/fabric-fs.d.cts +92 -0
- package/lib/types/client/fabric-fs.d.mts +92 -0
- package/lib/types/client/fabric-hsm.d.cts +24 -0
- package/lib/types/client/fabric-hsm.d.mts +24 -0
- package/lib/types/client/ids/id-extraction.d.cts +4 -0
- package/lib/types/client/ids/id-extraction.d.mts +4 -0
- package/lib/types/client/ids/index.d.cts +1 -0
- package/lib/types/client/ids/index.d.mts +1 -0
- package/lib/types/client/index.d.cts +23 -0
- package/lib/types/client/index.d.mts +23 -0
- package/lib/types/client/indexes/generation.d.cts +10 -0
- package/lib/types/client/indexes/generation.d.mts +10 -0
- package/lib/types/client/indexes/index.d.cts +1 -0
- package/lib/types/client/indexes/index.d.mts +1 -0
- package/lib/types/client/logging.d.cts +60 -0
- package/lib/types/client/logging.d.mts +60 -0
- package/lib/types/client/services/FabricEnrollmentService.d.cts +176 -0
- package/lib/types/client/services/FabricEnrollmentService.d.mts +176 -0
- package/lib/types/client/services/FabricIdentityService.d.cts +98 -0
- package/lib/types/client/services/FabricIdentityService.d.mts +98 -0
- package/lib/types/client/services/RegistrationRequestBuilder.d.cts +19 -0
- package/lib/types/client/services/RegistrationRequestBuilder.d.mts +19 -0
- package/lib/types/client/services/constants.d.cts +15 -0
- package/lib/types/client/services/constants.d.mts +15 -0
- package/lib/types/client/services/index.d.cts +4 -0
- package/lib/types/client/services/index.d.mts +4 -0
- package/lib/types/client/types.d.cts +20 -0
- package/lib/types/client/types.d.mts +20 -0
- package/lib/types/client/utils.d.cts +71 -0
- package/lib/types/client/utils.d.mts +71 -0
- package/lib/types/contract/Address.d.cts +13 -0
- package/lib/types/contract/Address.d.mts +13 -0
- package/lib/types/contract/AddressContract.d.cts +5 -0
- package/lib/types/contract/AddressContract.d.mts +5 -0
- package/lib/types/contract/AuditContract.d.cts +5 -0
- package/lib/types/contract/AuditContract.d.mts +5 -0
- package/lib/types/contract/BatchContract.d.cts +5 -0
- package/lib/types/contract/BatchContract.d.mts +5 -0
- package/lib/types/contract/MarketContract.d.cts +5 -0
- package/lib/types/contract/MarketContract.d.mts +5 -0
- package/lib/types/contract/OtherAuditContract.d.cts +5 -0
- package/lib/types/contract/OtherAuditContract.d.mts +5 -0
- package/lib/types/contract/OtherBatchContract.d.cts +5 -0
- package/lib/types/contract/OtherBatchContract.d.mts +5 -0
- package/lib/types/contract/OtherMarketContract.d.cts +5 -0
- package/lib/types/contract/OtherMarketContract.d.mts +5 -0
- package/lib/types/contract/OtherProductContract.d.cts +5 -0
- package/lib/types/contract/OtherProductContract.d.mts +5 -0
- package/lib/types/contract/OtherProductImageContract.d.cts +5 -0
- package/lib/types/contract/OtherProductImageContract.d.mts +5 -0
- package/lib/types/contract/OtherProductSharedContract.d.cts +5 -0
- package/lib/types/contract/OtherProductSharedContract.d.mts +5 -0
- package/lib/types/contract/OtherProductStrengthContract.d.cts +5 -0
- package/lib/types/contract/OtherProductStrengthContract.d.mts +5 -0
- package/lib/types/contract/Product.d.cts +7 -0
- package/lib/types/contract/Product.d.mts +7 -0
- package/lib/types/contract/ProductContract.d.cts +5 -0
- package/lib/types/contract/ProductContract.d.mts +5 -0
- package/lib/types/contract/ProductStrengthContract.d.cts +5 -0
- package/lib/types/contract/ProductStrengthContract.d.mts +5 -0
- package/lib/types/contract/SegregatedPrivateDocumentContract.d.cts +5 -0
- package/lib/types/contract/SegregatedPrivateDocumentContract.d.mts +5 -0
- package/lib/types/contract/SegregatedSharedDocumentContract.d.cts +5 -0
- package/lib/types/contract/SegregatedSharedDocumentContract.d.mts +5 -0
- package/lib/types/contract/User.d.cts +7 -0
- package/lib/types/contract/User.d.mts +7 -0
- package/lib/types/contract/UserContract.d.cts +5 -0
- package/lib/types/contract/UserContract.d.mts +5 -0
- package/lib/types/contract/index.d.cts +2 -0
- package/lib/types/contract/index.d.mts +2 -0
- package/lib/types/contract/logging-context.d.cts +8 -0
- package/lib/types/contract/logging-context.d.mts +8 -0
- package/lib/types/contract/models/Audit.d.cts +13 -0
- package/lib/types/contract/models/Audit.d.mts +13 -0
- package/lib/types/contract/models/BaseIdentifiedModel.d.cts +7 -0
- package/lib/types/contract/models/BaseIdentifiedModel.d.mts +7 -0
- package/lib/types/contract/models/BaseModel.d.cts +7 -0
- package/lib/types/contract/models/BaseModel.d.mts +7 -0
- package/lib/types/contract/models/Batch.d.cts +18 -0
- package/lib/types/contract/models/Batch.d.mts +18 -0
- package/lib/types/contract/models/GtinOwner.d.cts +8 -0
- package/lib/types/contract/models/GtinOwner.d.mts +8 -0
- package/lib/types/contract/models/History.d.cts +9 -0
- package/lib/types/contract/models/History.d.mts +9 -0
- package/lib/types/contract/models/Leaflet.d.cts +12 -0
- package/lib/types/contract/models/Leaflet.d.mts +12 -0
- package/lib/types/contract/models/LeafletFile.d.cts +9 -0
- package/lib/types/contract/models/LeafletFile.d.mts +9 -0
- package/lib/types/contract/models/Market.d.cts +12 -0
- package/lib/types/contract/models/Market.d.mts +12 -0
- package/lib/types/contract/models/OtherAudit.d.cts +15 -0
- package/lib/types/contract/models/OtherAudit.d.mts +15 -0
- package/lib/types/contract/models/OtherBatchShared.d.cts +18 -0
- package/lib/types/contract/models/OtherBatchShared.d.mts +18 -0
- package/lib/types/contract/models/OtherLeaflet.d.cts +16 -0
- package/lib/types/contract/models/OtherLeaflet.d.mts +16 -0
- package/lib/types/contract/models/OtherLeafletFile.d.cts +10 -0
- package/lib/types/contract/models/OtherLeafletFile.d.mts +10 -0
- package/lib/types/contract/models/OtherMarket.d.cts +13 -0
- package/lib/types/contract/models/OtherMarket.d.mts +13 -0
- package/lib/types/contract/models/OtherProduct.d.cts +12 -0
- package/lib/types/contract/models/OtherProduct.d.mts +12 -0
- package/lib/types/contract/models/OtherProductImage.d.cts +9 -0
- package/lib/types/contract/models/OtherProductImage.d.mts +9 -0
- package/lib/types/contract/models/OtherProductShared.d.cts +18 -0
- package/lib/types/contract/models/OtherProductShared.d.mts +18 -0
- package/lib/types/contract/models/OtherProductStrength.d.cts +12 -0
- package/lib/types/contract/models/OtherProductStrength.d.mts +12 -0
- package/lib/types/contract/models/Product.d.cts +15 -0
- package/lib/types/contract/models/Product.d.mts +15 -0
- package/lib/types/contract/models/ProductStrength.d.cts +11 -0
- package/lib/types/contract/models/ProductStrength.d.mts +11 -0
- package/lib/types/contract/models/SegregatedDocument.d.cts +18 -0
- package/lib/types/contract/models/SegregatedDocument.d.mts +18 -0
- package/lib/types/contract/models/constants.d.cts +24 -0
- package/lib/types/contract/models/constants.d.mts +24 -0
- package/lib/types/contract/models/decorators-private.d.cts +16 -0
- package/lib/types/contract/models/decorators-private.d.mts +16 -0
- package/lib/types/contract/models/decorators.d.cts +28 -0
- package/lib/types/contract/models/decorators.d.mts +28 -0
- package/lib/types/contract/models/gtin.d.cts +8 -0
- package/lib/types/contract/models/gtin.d.mts +8 -0
- package/lib/types/contract/models/history-dec.d.cts +6 -0
- package/lib/types/contract/models/history-dec.d.mts +6 -0
- package/lib/types/contracts/ContractAdapter.d.cts +287 -0
- package/lib/types/contracts/ContractAdapter.d.mts +287 -0
- package/lib/types/contracts/ContractContext.d.cts +89 -0
- package/lib/types/contracts/ContractContext.d.mts +89 -0
- package/lib/types/contracts/FabricContractDispatch.d.cts +7 -0
- package/lib/types/contracts/FabricContractDispatch.d.mts +7 -0
- package/lib/types/contracts/FabricContractPaginator.d.cts +105 -0
- package/lib/types/contracts/FabricContractPaginator.d.mts +105 -0
- package/lib/types/contracts/FabricContractRepository.d.cts +119 -0
- package/lib/types/contracts/FabricContractRepository.d.mts +119 -0
- package/lib/types/contracts/FabricContractRepositoryObservableHandler.d.cts +62 -0
- package/lib/types/contracts/FabricContractRepositoryObservableHandler.d.mts +62 -0
- package/lib/types/contracts/FabricContractSequence.d.cts +87 -0
- package/lib/types/contracts/FabricContractSequence.d.mts +87 -0
- package/lib/types/contracts/FabricContractStatement.d.cts +36 -0
- package/lib/types/contracts/FabricContractStatement.d.mts +36 -0
- package/lib/types/contracts/MigrationContract.d.cts +22 -0
- package/lib/types/contracts/MigrationContract.d.mts +22 -0
- package/lib/types/contracts/PrivateSequence.d.cts +15 -0
- package/lib/types/contracts/PrivateSequence.d.mts +15 -0
- package/lib/types/contracts/auth/decorators.d.cts +6 -0
- package/lib/types/contracts/auth/decorators.d.mts +6 -0
- package/lib/types/contracts/auth/index.d.cts +1 -0
- package/lib/types/contracts/auth/index.d.mts +1 -0
- package/lib/types/contracts/crud/crud-contract.d.cts +199 -0
- package/lib/types/contracts/crud/crud-contract.d.mts +199 -0
- package/lib/types/contracts/crud/index.d.cts +2 -0
- package/lib/types/contracts/crud/index.d.mts +2 -0
- package/lib/types/contracts/crud/serialized-crud-contract.d.cts +42 -0
- package/lib/types/contracts/crud/serialized-crud-contract.d.mts +42 -0
- package/lib/types/contracts/erc20/erc20contract.d.cts +152 -0
- package/lib/types/contracts/erc20/erc20contract.d.mts +152 -0
- package/lib/types/contracts/erc20/index.d.cts +2 -0
- package/lib/types/contracts/erc20/index.d.mts +2 -0
- package/lib/types/contracts/erc20/models.d.cts +114 -0
- package/lib/types/contracts/erc20/models.d.mts +114 -0
- package/lib/types/contracts/index.d.cts +20 -0
- package/lib/types/contracts/index.d.mts +20 -0
- package/lib/types/contracts/logging.d.cts +54 -0
- package/lib/types/contracts/logging.d.mts +54 -0
- package/lib/types/contracts/overrides.d.cts +1 -0
- package/lib/types/contracts/overrides.d.mts +1 -0
- package/lib/types/contracts/types.d.cts +38 -0
- package/lib/types/contracts/types.d.mts +38 -0
- package/lib/types/contracts/uuid.d.cts +2 -0
- package/lib/types/contracts/uuid.d.mts +2 -0
- package/lib/types/index.d.cts +8 -0
- package/lib/types/index.d.mts +8 -0
- package/lib/types/shared/ClientSerializer.d.cts +52 -0
- package/lib/types/shared/ClientSerializer.d.mts +52 -0
- package/lib/types/shared/DeterministicSerializer.d.cts +47 -0
- package/lib/types/shared/DeterministicSerializer.d.mts +47 -0
- package/lib/types/shared/SimpleDeterministicSerializer.d.cts +7 -0
- package/lib/types/shared/SimpleDeterministicSerializer.d.mts +7 -0
- package/lib/types/shared/constants.d.cts +35 -0
- package/lib/types/shared/constants.d.mts +35 -0
- package/lib/types/shared/decorators.d.cts +81 -0
- package/lib/types/shared/decorators.d.mts +81 -0
- package/lib/types/shared/erc20/erc20-constants.d.cts +25 -0
- package/lib/types/shared/erc20/erc20-constants.d.mts +25 -0
- package/lib/types/shared/erc20/index.d.cts +1 -0
- package/lib/types/shared/erc20/index.d.mts +1 -0
- package/lib/types/shared/errors.d.cts +140 -0
- package/lib/types/shared/errors.d.mts +140 -0
- package/lib/types/shared/events.d.cts +37 -0
- package/lib/types/shared/events.d.mts +37 -0
- package/lib/types/shared/fabric-types.d.cts +32 -0
- package/lib/types/shared/fabric-types.d.mts +32 -0
- package/lib/types/shared/index.d.cts +21 -0
- package/lib/types/shared/index.d.mts +21 -0
- package/lib/types/shared/interfaces/Checkable.d.cts +23 -0
- package/lib/types/shared/interfaces/Checkable.d.mts +23 -0
- package/lib/types/shared/interfaces/index.d.cts +1 -0
- package/lib/types/shared/interfaces/index.d.mts +1 -0
- package/lib/types/shared/math.d.cts +34 -0
- package/lib/types/shared/math.d.mts +34 -0
- package/lib/types/shared/model/FabricBaseModel.d.cts +7 -0
- package/lib/types/shared/model/FabricBaseModel.d.mts +7 -0
- package/lib/types/shared/model/FabricIdentifiedBaseModel.d.cts +7 -0
- package/lib/types/shared/model/FabricIdentifiedBaseModel.d.mts +7 -0
- package/lib/types/shared/model/Identity.d.cts +42 -0
- package/lib/types/shared/model/Identity.d.mts +42 -0
- package/lib/types/shared/model/IdentityCredentials.d.cts +41 -0
- package/lib/types/shared/model/IdentityCredentials.d.mts +41 -0
- package/lib/types/shared/model/index.d.cts +4 -0
- package/lib/types/shared/model/index.d.mts +4 -0
- package/lib/types/shared/overrides/Model.d.cts +22 -0
- package/lib/types/shared/overrides/Model.d.mts +22 -0
- package/lib/types/shared/overrides/index.d.cts +2 -0
- package/lib/types/shared/overrides/index.d.mts +2 -0
- package/lib/types/shared/overrides/overrides.d.cts +1 -0
- package/lib/types/shared/overrides/overrides.d.mts +1 -0
- package/lib/types/shared/types.d.cts +125 -0
- package/lib/types/shared/types.d.mts +125 -0
- package/lib/types/version.d.cts +2 -0
- package/lib/types/version.d.mts +2 -0
- package/lib/types/version.d.ts +1 -1
- package/package.json +43 -23
- package/lib/cjs/bin/cli.js.map +0 -1
- package/lib/cjs/cli-module.js.map +0 -1
- package/lib/cjs/cli-utils.js.map +0 -1
- package/lib/cjs/client/FabricClientAdapter.js.map +0 -1
- package/lib/cjs/client/FabricClientDispatch.js.map +0 -1
- package/lib/cjs/client/FabricClientPaginator.js.map +0 -1
- package/lib/cjs/client/FabricClientRepository.js.map +0 -1
- package/lib/cjs/client/FabricClientStatement.js.map +0 -1
- package/lib/cjs/client/collections/generation.js.map +0 -1
- package/lib/cjs/client/collections/index.js.map +0 -1
- package/lib/cjs/client/constants.js.map +0 -1
- package/lib/cjs/client/crypto.js.map +0 -1
- package/lib/cjs/client/erc20/FabricERC20ClientRepository.js.map +0 -1
- package/lib/cjs/client/erc20/index.js.map +0 -1
- package/lib/cjs/client/fabric-fs.js.map +0 -1
- package/lib/cjs/client/fabric-hsm.js.map +0 -1
- package/lib/cjs/client/ids/id-extraction.js.map +0 -1
- package/lib/cjs/client/ids/index.js.map +0 -1
- package/lib/cjs/client/index.js.map +0 -1
- package/lib/cjs/client/indexes/generation.js.map +0 -1
- package/lib/cjs/client/indexes/index.js.map +0 -1
- package/lib/cjs/client/logging.js.map +0 -1
- package/lib/cjs/client/services/FabricEnrollmentService.js.map +0 -1
- package/lib/cjs/client/services/FabricIdentityService.js.map +0 -1
- package/lib/cjs/client/services/RegistrationRequestBuilder.js.map +0 -1
- package/lib/cjs/client/services/constants.js.map +0 -1
- package/lib/cjs/client/services/index.js.map +0 -1
- package/lib/cjs/client/types.js.map +0 -1
- package/lib/cjs/client/utils.js.map +0 -1
- package/lib/cjs/contract/Address.js.map +0 -1
- package/lib/cjs/contract/AddressContract.js.map +0 -1
- package/lib/cjs/contract/AuditContract.js.map +0 -1
- package/lib/cjs/contract/BatchContract.js.map +0 -1
- package/lib/cjs/contract/MarketContract.js.map +0 -1
- package/lib/cjs/contract/OtherAuditContract.js.map +0 -1
- package/lib/cjs/contract/OtherBatchContract.js.map +0 -1
- package/lib/cjs/contract/OtherMarketContract.js.map +0 -1
- package/lib/cjs/contract/OtherProductContract.js.map +0 -1
- package/lib/cjs/contract/OtherProductImageContract.js.map +0 -1
- package/lib/cjs/contract/OtherProductSharedContract.js.map +0 -1
- package/lib/cjs/contract/OtherProductStrengthContract.js.map +0 -1
- package/lib/cjs/contract/Product.js.map +0 -1
- package/lib/cjs/contract/ProductContract.js.map +0 -1
- package/lib/cjs/contract/ProductStrengthContract.js.map +0 -1
- package/lib/cjs/contract/SegregatedPrivateDocumentContract.js.map +0 -1
- package/lib/cjs/contract/SegregatedSharedDocumentContract.js.map +0 -1
- package/lib/cjs/contract/User.js.map +0 -1
- package/lib/cjs/contract/UserContract.js.map +0 -1
- package/lib/cjs/contract/index.js.map +0 -1
- package/lib/cjs/contract/logging-context.js.map +0 -1
- package/lib/cjs/contract/models/Audit.js.map +0 -1
- package/lib/cjs/contract/models/BaseIdentifiedModel.js.map +0 -1
- package/lib/cjs/contract/models/BaseModel.js.map +0 -1
- package/lib/cjs/contract/models/Batch.js.map +0 -1
- package/lib/cjs/contract/models/GtinOwner.js.map +0 -1
- package/lib/cjs/contract/models/History.js.map +0 -1
- package/lib/cjs/contract/models/Leaflet.js.map +0 -1
- package/lib/cjs/contract/models/LeafletFile.js.map +0 -1
- package/lib/cjs/contract/models/Market.js.map +0 -1
- package/lib/cjs/contract/models/OtherAudit.js.map +0 -1
- package/lib/cjs/contract/models/OtherBatchShared.js.map +0 -1
- package/lib/cjs/contract/models/OtherLeaflet.js.map +0 -1
- package/lib/cjs/contract/models/OtherLeafletFile.js.map +0 -1
- package/lib/cjs/contract/models/OtherMarket.js.map +0 -1
- package/lib/cjs/contract/models/OtherProduct.js.map +0 -1
- package/lib/cjs/contract/models/OtherProductImage.js.map +0 -1
- package/lib/cjs/contract/models/OtherProductShared.js.map +0 -1
- package/lib/cjs/contract/models/OtherProductStrength.js.map +0 -1
- package/lib/cjs/contract/models/Product.js.map +0 -1
- package/lib/cjs/contract/models/ProductStrength.js.map +0 -1
- package/lib/cjs/contract/models/SegregatedDocument.js.map +0 -1
- package/lib/cjs/contract/models/constants.js.map +0 -1
- package/lib/cjs/contract/models/decorators-private.js.map +0 -1
- package/lib/cjs/contract/models/decorators.js.map +0 -1
- package/lib/cjs/contract/models/gtin.js.map +0 -1
- package/lib/cjs/contract/models/history-dec.js.map +0 -1
- package/lib/cjs/contracts/ContractAdapter.js.map +0 -1
- package/lib/cjs/contracts/ContractContext.js.map +0 -1
- package/lib/cjs/contracts/FabricContractDispatch.js.map +0 -1
- package/lib/cjs/contracts/FabricContractPaginator.js.map +0 -1
- package/lib/cjs/contracts/FabricContractRepository.js.map +0 -1
- package/lib/cjs/contracts/FabricContractRepositoryObservableHandler.js.map +0 -1
- package/lib/cjs/contracts/FabricContractSequence.js.map +0 -1
- package/lib/cjs/contracts/FabricContractStatement.js.map +0 -1
- package/lib/cjs/contracts/MigrationContract.js.map +0 -1
- package/lib/cjs/contracts/PrivateSequence.js.map +0 -1
- package/lib/cjs/contracts/auth/decorators.js.map +0 -1
- package/lib/cjs/contracts/auth/index.js.map +0 -1
- package/lib/cjs/contracts/crud/crud-contract.js.map +0 -1
- package/lib/cjs/contracts/crud/index.js.map +0 -1
- package/lib/cjs/contracts/crud/serialized-crud-contract.js.map +0 -1
- package/lib/cjs/contracts/erc20/erc20contract.js.map +0 -1
- package/lib/cjs/contracts/erc20/index.js.map +0 -1
- package/lib/cjs/contracts/erc20/models.js.map +0 -1
- package/lib/cjs/contracts/index.js.map +0 -1
- package/lib/cjs/contracts/logging.js.map +0 -1
- package/lib/cjs/contracts/overrides.js.map +0 -1
- package/lib/cjs/contracts/types.js.map +0 -1
- package/lib/cjs/contracts/uuid.js.map +0 -1
- package/lib/cjs/index.js.map +0 -1
- package/lib/cjs/shared/ClientSerializer.js.map +0 -1
- package/lib/cjs/shared/DeterministicSerializer.js.map +0 -1
- package/lib/cjs/shared/SimpleDeterministicSerializer.js.map +0 -1
- package/lib/cjs/shared/constants.js.map +0 -1
- package/lib/cjs/shared/decorators.js.map +0 -1
- package/lib/cjs/shared/erc20/erc20-constants.js.map +0 -1
- package/lib/cjs/shared/erc20/index.js.map +0 -1
- package/lib/cjs/shared/errors.js.map +0 -1
- package/lib/cjs/shared/events.js.map +0 -1
- package/lib/cjs/shared/fabric-types.js.map +0 -1
- package/lib/cjs/shared/index.js.map +0 -1
- package/lib/cjs/shared/interfaces/Checkable.js.map +0 -1
- package/lib/cjs/shared/interfaces/index.js.map +0 -1
- package/lib/cjs/shared/math.js.map +0 -1
- package/lib/cjs/shared/model/FabricBaseModel.js.map +0 -1
- package/lib/cjs/shared/model/FabricIdentifiedBaseModel.js.map +0 -1
- package/lib/cjs/shared/model/Identity.js.map +0 -1
- package/lib/cjs/shared/model/IdentityCredentials.js.map +0 -1
- package/lib/cjs/shared/model/index.js.map +0 -1
- package/lib/cjs/shared/overrides/Model.js.map +0 -1
- package/lib/cjs/shared/overrides/index.js.map +0 -1
- package/lib/cjs/shared/overrides/overrides.js.map +0 -1
- package/lib/cjs/shared/types.js.map +0 -1
- package/lib/cjs/version.js.map +0 -1
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import { CouchDBAdapter, MangoQuery, ViewResponse } from "@decaf-ts/for-couchdb";
|
|
2
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
|
+
import { FabricContractFlags } from "./types.cjs";
|
|
4
|
+
import { FabricContractContext } from "./ContractContext.cjs";
|
|
5
|
+
import { BaseError, BulkCrudOperationKeys, OperationKeys, PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
6
|
+
import { Context as Ctx } from "fabric-contract-api";
|
|
7
|
+
import { Logger } from "@decaf-ts/logging";
|
|
8
|
+
import { RelationsMetadata, Sequence, SequenceOptions, Adapter, AdapterFlags, PreparedModel, Repository, ContextualizedArgs, Context, RawResult, Paginator, ContextualArgs, MaybeContextualArg, MethodOrOperation, AllOperationKeys, FlagsOf, ContextOf, EventIds, Dispatch } from "@decaf-ts/core";
|
|
9
|
+
import { FabricContractRepository } from "./FabricContractRepository.cjs";
|
|
10
|
+
import { ChaincodeStub, ClientIdentity, Iterators, StateQueryResponse } from "fabric-shim-api";
|
|
11
|
+
import { FabricStatement } from "./FabricContractStatement.cjs";
|
|
12
|
+
import { SimpleDeterministicSerializer } from "../shared/SimpleDeterministicSerializer.cjs";
|
|
13
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
14
|
+
export type FabricContextualizedArgs<ARGS extends any[] = any[], EXTEND extends boolean = false> = ContextualizedArgs<FabricContractContext, ARGS, EXTEND> & {
|
|
15
|
+
stub: ChaincodeStub;
|
|
16
|
+
identity: ClientIdentity;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* @description Sets the creator or updater field in a model based on the user in the context
|
|
20
|
+
* @summary Callback function used in decorators to automatically set the created_by or updated_by fields
|
|
21
|
+
* with the username from the context when a document is created or updated
|
|
22
|
+
* @template M - Type extending Model
|
|
23
|
+
* @template R - Type extending NanoRepository<M>
|
|
24
|
+
* @template V - Type extending RelationsMetadata
|
|
25
|
+
* @param {R} this - The repository instance
|
|
26
|
+
* @param {FabricContractContext} context - The operation context containing user information
|
|
27
|
+
* @param {V} data - The relation metadata
|
|
28
|
+
* @param {string} key - The property key to set with the username
|
|
29
|
+
* @param {M} model - The model instance being created or updated
|
|
30
|
+
* @return {Promise<void>} A promise that resolves when the operation is complete
|
|
31
|
+
* @function createdByOnFabricCreateUpdate
|
|
32
|
+
* @memberOf module:fabric.contracts
|
|
33
|
+
* @mermaid
|
|
34
|
+
* sequenceDiagram
|
|
35
|
+
* participant F as createdByOnNanoCreateUpdate
|
|
36
|
+
* participant C as Context
|
|
37
|
+
* participant M as Model
|
|
38
|
+
* F->>C: get("user")
|
|
39
|
+
* C-->>F: user object
|
|
40
|
+
* F->>M: set key to user.name
|
|
41
|
+
* Note over F: If no user in context
|
|
42
|
+
* F-->>F: throw UnsupportedError
|
|
43
|
+
*/
|
|
44
|
+
export declare function createdByOnFabricCreateUpdate<M extends Model, R extends FabricContractRepository<M>, V extends RelationsMetadata>(this: R, context: ContextOf<R>, data: V, key: keyof M, model: M): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* @description Adapter for Hyperledger Fabric chaincode state database operations
|
|
47
|
+
* @summary Provides a CouchDB-like interface for interacting with the Fabric state database from within a chaincode contract
|
|
48
|
+
* @template void - No configuration needed for contract adapter
|
|
49
|
+
* @template FabricContractFlags - Flags specific to Fabric contract operations
|
|
50
|
+
* @template FabricContractContext - Context type for Fabric contract operations
|
|
51
|
+
* @class FabricContractAdapter
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* // In a Fabric chaincode contract class
|
|
55
|
+
* import { FabricContractAdapter } from '@decaf-ts/for-fabric';
|
|
56
|
+
*
|
|
57
|
+
* export class MyContract extends Contract {
|
|
58
|
+
* private adapter = new FabricContractAdapter();
|
|
59
|
+
*
|
|
60
|
+
* @Transaction()
|
|
61
|
+
* async createAsset(ctx: Context, id: string, data: string): Promise<void> {
|
|
62
|
+
* const model = { id, data, timestamp: Date.now() };
|
|
63
|
+
* await this.adapter.create('assets', id, model, {}, { stub: ctx.stub });
|
|
64
|
+
* }
|
|
65
|
+
* }
|
|
66
|
+
* ```
|
|
67
|
+
* @mermaid
|
|
68
|
+
* sequenceDiagram
|
|
69
|
+
* participant Contract
|
|
70
|
+
* participant FabricContractAdapter
|
|
71
|
+
* participant Stub
|
|
72
|
+
* participant StateDB
|
|
73
|
+
*
|
|
74
|
+
* Contract->>FabricContractAdapter: create(tableName, id, model, transient, ctx)
|
|
75
|
+
* FabricContractAdapter->>FabricContractAdapter: Serialize model to JSON
|
|
76
|
+
* FabricContractAdapter->>Stub: putState(id, serializedData)
|
|
77
|
+
* Stub->>StateDB: Write data
|
|
78
|
+
* StateDB-->>Stub: Success
|
|
79
|
+
* Stub-->>FabricContractAdapter: Success
|
|
80
|
+
* FabricContractAdapter-->>Contract: model
|
|
81
|
+
*/
|
|
82
|
+
export declare class FabricContractAdapter extends CouchDBAdapter<any, void, FabricContractContext> {
|
|
83
|
+
private static readonly PRIVATE_BOOKMARK_PREFIX;
|
|
84
|
+
private static parseSyntheticPrivateBookmark;
|
|
85
|
+
private static buildSyntheticPrivateBookmark;
|
|
86
|
+
protected getClient(): void;
|
|
87
|
+
/**
|
|
88
|
+
* @description Text decoder for converting binary data to strings
|
|
89
|
+
*/
|
|
90
|
+
private static textDecoder;
|
|
91
|
+
protected static readonly serializer: SimpleDeterministicSerializer<Model<false>>;
|
|
92
|
+
/**
|
|
93
|
+
* @description Context constructor for this adapter
|
|
94
|
+
* @summary Overrides the base Context constructor with FabricContractContext
|
|
95
|
+
*/
|
|
96
|
+
protected get Context(): Constructor<FabricContractContext>;
|
|
97
|
+
/**
|
|
98
|
+
* @description Gets the repository constructor for this adapter
|
|
99
|
+
* @summary Returns the FabricContractRepository constructor for creating repositories
|
|
100
|
+
* @template M - Type extending Model
|
|
101
|
+
* @return {Constructor<Repository<M, MangoQuery, FabricContractAdapter, FabricContractFlags, FabricContractContext>>} The repository constructor
|
|
102
|
+
*/
|
|
103
|
+
repository<R extends Repository<any, Adapter<any, void, MangoQuery, Context<FabricContractFlags>>>>(): Constructor<R>;
|
|
104
|
+
Paginator<M extends Model>(query: MangoQuery, size: number, clazz: Constructor<M>): Paginator<M, any, MangoQuery>;
|
|
105
|
+
Sequence(options: SequenceOptions): Promise<Sequence>;
|
|
106
|
+
protected Dispatch(): Dispatch<FabricContractAdapter>;
|
|
107
|
+
/**
|
|
108
|
+
* @description Creates a new FabricContractAdapter instance
|
|
109
|
+
* @summary Initializes an adapter for interacting with the Fabric state database
|
|
110
|
+
* @param {void} scope - Not used in this adapter
|
|
111
|
+
* @param {string} [alias] - Optional alias for the adapter instance
|
|
112
|
+
*/
|
|
113
|
+
constructor(scope: void, alias?: string);
|
|
114
|
+
for(config: Partial<any>, ...args: any): typeof this;
|
|
115
|
+
protected getModelDefaults<M extends Model>(clazz: Constructor<M>): Record<keyof M, any>;
|
|
116
|
+
/**
|
|
117
|
+
* @description Creates a record in the state database
|
|
118
|
+
* @summary Serializes a model and stores it in the Fabric state database
|
|
119
|
+
* @param {string} tableName - The name of the table/collection
|
|
120
|
+
* @param {string | number} id - The record identifier
|
|
121
|
+
* @param {Record<string, any>} model - The record data
|
|
122
|
+
* @param {Record<string, any>} transient - Transient data (not used in this implementation)
|
|
123
|
+
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
124
|
+
* @return {Promise<Record<string, any>>} Promise resolving to the created record
|
|
125
|
+
*/
|
|
126
|
+
create<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<Context<FabricContractFlags>>): Promise<Record<string, any>>;
|
|
127
|
+
createAll<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<FabricContractContext>): Promise<Record<string, any>[]>;
|
|
128
|
+
/**
|
|
129
|
+
* @description Reads a record from the state database
|
|
130
|
+
* @summary Retrieves and deserializes a record from the Fabric state database
|
|
131
|
+
* @param {string} tableName - The name of the table/collection
|
|
132
|
+
* @param {string | number} id - The record identifier
|
|
133
|
+
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
134
|
+
* @return {Promise<Record<string, any>>} Promise resolving to the retrieved record
|
|
135
|
+
*/
|
|
136
|
+
read<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, ...args: ContextualArgs<Context<FabricContractFlags>>): Promise<Record<string, any>>;
|
|
137
|
+
/**
|
|
138
|
+
* @description Retrieves multiple records from the database
|
|
139
|
+
* @summary Fetches multiple records with the given IDs from the specified table
|
|
140
|
+
* @param {string} tableName - The name of the table to read from
|
|
141
|
+
* @param id - The identifiers of the records to retrieve
|
|
142
|
+
* @param {...any[]} args - Additional arguments specific to the adapter implementation
|
|
143
|
+
* @return A promise that resolves to an array of retrieved records
|
|
144
|
+
*/
|
|
145
|
+
readAll<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType[], ...args: ContextualArgs<Context<FabricContractFlags>>): Promise<Record<string, any>[]>;
|
|
146
|
+
/**
|
|
147
|
+
* @description Updates a record in the state database
|
|
148
|
+
* @summary Serializes a model and updates it in the Fabric state database
|
|
149
|
+
* @param {string} tableName - The name of the table/collection
|
|
150
|
+
* @param {string | number} id - The record identifier
|
|
151
|
+
* @param {Record<string, any>} model - The updated record data
|
|
152
|
+
* @param {Record<string, any>} transient - Transient data (not used in this implementation)
|
|
153
|
+
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
154
|
+
* @return {Promise<Record<string, any>>} Promise resolving to the updated record
|
|
155
|
+
*/
|
|
156
|
+
update<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<Context<FabricContractFlags>>): Promise<Record<string, any>>;
|
|
157
|
+
/**
|
|
158
|
+
* @description Deletes a record from the state database
|
|
159
|
+
* @summary Retrieves a record and then removes it from the Fabric state database
|
|
160
|
+
* @param {string} tableName - The name of the table/collection
|
|
161
|
+
* @param {string | number} id - The record identifier to delete
|
|
162
|
+
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
163
|
+
* @return {Promise<Record<string, any>>} Promise resolving to the deleted record
|
|
164
|
+
*/
|
|
165
|
+
delete<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, ...args: ContextualArgs<Context<FabricContractFlags>>): Promise<Record<string, any>>;
|
|
166
|
+
protected deleteState(id: string, context: FabricContractContext): Promise<void>;
|
|
167
|
+
forPrivate(collection: string): FabricContractAdapter;
|
|
168
|
+
protected putState(id: string, model: Record<string, any>, ctx: FabricContractContext): Promise<Record<string, any>>;
|
|
169
|
+
protected readState(id: string, ctx: FabricContractContext): Promise<any>;
|
|
170
|
+
protected queryResult(stub: ChaincodeStub, rawInput: any, ...args: ContextualArgs<FabricContractContext>): Promise<Iterators.StateQueryIterator>;
|
|
171
|
+
protected queryResultPaginated(stub: ChaincodeStub, rawInput: any, limit?: number, page?: number, bookmark?: string | number, ...args: any[]): Promise<StateQueryResponse<Iterators.StateQueryIterator>>;
|
|
172
|
+
/**
|
|
173
|
+
* @description Decodes binary data to string
|
|
174
|
+
* @summary Converts a Uint8Array to a string using UTF-8 encoding
|
|
175
|
+
* @param {Uint8Array} buffer - The binary data to decode
|
|
176
|
+
* @return {string} The decoded string
|
|
177
|
+
*/
|
|
178
|
+
protected decode(buffer: Uint8Array): string;
|
|
179
|
+
/**
|
|
180
|
+
* @description Creates operation flags for Fabric contract operations
|
|
181
|
+
* @summary Merges default flags with Fabric-specific context information
|
|
182
|
+
* @template M - Type extending Model
|
|
183
|
+
* @param {OperationKeys} operation - The operation being performed
|
|
184
|
+
* @param {Constructor<M>} model - The model constructor
|
|
185
|
+
* @param {Partial<FabricContractFlags>} flags - Partial flags to merge with defaults
|
|
186
|
+
* @param {Ctx} ctx - The Fabric chaincode context
|
|
187
|
+
* @return {FabricContractFlags} The merged flags
|
|
188
|
+
*/
|
|
189
|
+
protected flags<M extends Model>(operation: AllOperationKeys, model: Constructor<M> | undefined, flags: Partial<FabricContractFlags> | FabricContractContext | Ctx | any): Promise<FabricContractFlags>;
|
|
190
|
+
/**
|
|
191
|
+
* @description Creates an index for a model
|
|
192
|
+
* @summary This method is not implemented for Fabric contracts and returns a resolved promise
|
|
193
|
+
* @template M - Type extending Model
|
|
194
|
+
* @param {Constructor<M>} models - The model constructor
|
|
195
|
+
* @return {Promise<void>} Promise that resolves immediately
|
|
196
|
+
*/
|
|
197
|
+
protected index<M>(models: Constructor<M>): Promise<void>;
|
|
198
|
+
/**
|
|
199
|
+
* @description Processes results from a state query iterator
|
|
200
|
+
* @summary Iterates through query results and converts them to a structured format
|
|
201
|
+
* @param {Logger} log - Logger instance for debugging
|
|
202
|
+
* @param {Iterators.StateQueryIterator} iterator - The state query iterator
|
|
203
|
+
* @param {boolean} [isHistory=false] - Whether this is a history query
|
|
204
|
+
* @return {Promise<any[]>} Promise resolving to an array of processed results
|
|
205
|
+
* @mermaid
|
|
206
|
+
* sequenceDiagram
|
|
207
|
+
* participant Caller
|
|
208
|
+
* participant ResultIterator
|
|
209
|
+
* participant Iterator
|
|
210
|
+
*
|
|
211
|
+
* Caller->>ResultIterator: resultIterator(log, iterator, isHistory)
|
|
212
|
+
* loop Until done
|
|
213
|
+
* ResultIterator->>Iterator: next()
|
|
214
|
+
* Iterator-->>ResultIterator: { value, done }
|
|
215
|
+
* alt Has value
|
|
216
|
+
* ResultIterator->>ResultIterator: Process value based on isHistory
|
|
217
|
+
* ResultIterator->>ResultIterator: Add to results array
|
|
218
|
+
* end
|
|
219
|
+
* end
|
|
220
|
+
* ResultIterator->>Iterator: close()
|
|
221
|
+
* ResultIterator-->>Caller: allResults
|
|
222
|
+
*/
|
|
223
|
+
protected resultIterator(log: Logger, iterator: Iterators.StateQueryIterator, isHistory?: boolean): Promise<any[]>;
|
|
224
|
+
/**
|
|
225
|
+
* @description Executes a raw query against the state database
|
|
226
|
+
* @summary Performs a rich query using CouchDB syntax against the Fabric state database
|
|
227
|
+
* @template R - The return type
|
|
228
|
+
* @param {MangoQuery} rawInput - The Mango Query to execute
|
|
229
|
+
* @param {boolean} docsOnly - Whether to return only documents (not used in this implementation)
|
|
230
|
+
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
231
|
+
* @return {Promise<R>} Promise resolving to the query results
|
|
232
|
+
* @mermaid
|
|
233
|
+
* sequenceDiagram
|
|
234
|
+
* participant Caller
|
|
235
|
+
* participant FabricContractAdapter
|
|
236
|
+
* participant Stub
|
|
237
|
+
* participant StateDB
|
|
238
|
+
*
|
|
239
|
+
* Caller->>FabricContractAdapter: raw(rawInput, docsOnly, ctx)
|
|
240
|
+
* FabricContractAdapter->>FabricContractAdapter: Extract limit and skip
|
|
241
|
+
* alt With pagination
|
|
242
|
+
* FabricContractAdapter->>Stub: getQueryResultWithPagination(query, limit, skip)
|
|
243
|
+
* else Without pagination
|
|
244
|
+
* FabricContractAdapter->>Stub: getQueryResult(query)
|
|
245
|
+
* end
|
|
246
|
+
* Stub->>StateDB: Execute query
|
|
247
|
+
* StateDB-->>Stub: Iterator
|
|
248
|
+
* Stub-->>FabricContractAdapter: Iterator
|
|
249
|
+
* FabricContractAdapter->>FabricContractAdapter: resultIterator(log, iterator)
|
|
250
|
+
* FabricContractAdapter-->>Caller: results
|
|
251
|
+
*/
|
|
252
|
+
raw<R, D extends boolean>(rawInput: MangoQuery, docsOnly?: D, ...args: ContextualArgs<FabricContractContext>): Promise<RawResult<R, D>>;
|
|
253
|
+
view<R>(ddoc: string, viewName: string, options: Record<string, any>, ..._args: ContextualArgs<FabricContractContext>): Promise<ViewResponse<R>>;
|
|
254
|
+
Statement<M extends Model>(overrides?: Partial<AdapterFlags>): FabricStatement<M, any>;
|
|
255
|
+
updateAll<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<FabricContractContext>): Promise<Record<string, any>[]>;
|
|
256
|
+
/**
|
|
257
|
+
*
|
|
258
|
+
* @param model
|
|
259
|
+
* @param {string} pk
|
|
260
|
+
* @param args
|
|
261
|
+
*/
|
|
262
|
+
prepare<M extends Model>(model: M, ...args: ContextualArgs<FabricContractContext>): PreparedModel & {
|
|
263
|
+
segregated?: Record<string, Record<string, any>>;
|
|
264
|
+
};
|
|
265
|
+
revert<M extends Model>(obj: Record<string, any>, clazz: Constructor<M>, id: PrimaryKeyType, transient?: Record<string, any>, ...args: ContextualArgs<FabricContractContext>): M;
|
|
266
|
+
private shouldRebuildWithTransient;
|
|
267
|
+
private getContextMsp;
|
|
268
|
+
private enforceMirrorAuthorization;
|
|
269
|
+
createPrefix<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: MaybeContextualArg<FabricContractContext>): [Constructor<M>, PrimaryKeyType, Record<string, any>, ...any[], FabricContractContext];
|
|
270
|
+
updatePrefix<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: MaybeContextualArg<FabricContractContext>): any[];
|
|
271
|
+
protected createAllPrefix<M extends Model>(tableName: Constructor<M>, ids: PrimaryKeyType[], models: Record<string, any>[], ...args: [...any, FabricContractContext]): (string | string[] | number[] | Record<string, any>[])[];
|
|
272
|
+
protected updateAllPrefix<M extends Model>(tableName: Constructor<M>, ids: PrimaryKeyType[], models: Record<string, any>[], ...args: [...any, FabricContractContext]): any[];
|
|
273
|
+
parseError<E extends BaseError>(err: Error | string, reason?: string): E;
|
|
274
|
+
protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD): FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>;
|
|
275
|
+
protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: false): FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>;
|
|
276
|
+
protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: true, overrides?: Partial<FlagsOf<FabricContractContext>>): Promise<FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>>;
|
|
277
|
+
updateObservers(table: Constructor<any> | string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args: ContextualArgs<FabricContractContext>): Promise<void>;
|
|
278
|
+
static parseError<E extends BaseError>(err: Error | string): E;
|
|
279
|
+
/**
|
|
280
|
+
* @description Static method for decoration overrides
|
|
281
|
+
* @summary Overrides/extends decaf decoration with Fabric-specific functionality
|
|
282
|
+
* @static
|
|
283
|
+
* @override
|
|
284
|
+
* @return {void}
|
|
285
|
+
*/
|
|
286
|
+
static decoration(): void;
|
|
287
|
+
}
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import { CouchDBAdapter, MangoQuery, ViewResponse } from "@decaf-ts/for-couchdb";
|
|
2
|
+
import { Model } from "@decaf-ts/decorator-validation";
|
|
3
|
+
import { FabricContractFlags } from "./types.js";
|
|
4
|
+
import { FabricContractContext } from "./ContractContext.js";
|
|
5
|
+
import { BaseError, BulkCrudOperationKeys, OperationKeys, PrimaryKeyType } from "@decaf-ts/db-decorators";
|
|
6
|
+
import { Context as Ctx } from "fabric-contract-api";
|
|
7
|
+
import { Logger } from "@decaf-ts/logging";
|
|
8
|
+
import { RelationsMetadata, Sequence, SequenceOptions, Adapter, AdapterFlags, PreparedModel, Repository, ContextualizedArgs, Context, RawResult, Paginator, ContextualArgs, MaybeContextualArg, MethodOrOperation, AllOperationKeys, FlagsOf, ContextOf, EventIds, Dispatch } from "@decaf-ts/core";
|
|
9
|
+
import { FabricContractRepository } from "./FabricContractRepository.js";
|
|
10
|
+
import { ChaincodeStub, ClientIdentity, Iterators, StateQueryResponse } from "fabric-shim-api";
|
|
11
|
+
import { FabricStatement } from "./FabricContractStatement.js";
|
|
12
|
+
import { SimpleDeterministicSerializer } from "../shared/SimpleDeterministicSerializer.js";
|
|
13
|
+
import { Constructor } from "@decaf-ts/decoration";
|
|
14
|
+
export type FabricContextualizedArgs<ARGS extends any[] = any[], EXTEND extends boolean = false> = ContextualizedArgs<FabricContractContext, ARGS, EXTEND> & {
|
|
15
|
+
stub: ChaincodeStub;
|
|
16
|
+
identity: ClientIdentity;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* @description Sets the creator or updater field in a model based on the user in the context
|
|
20
|
+
* @summary Callback function used in decorators to automatically set the created_by or updated_by fields
|
|
21
|
+
* with the username from the context when a document is created or updated
|
|
22
|
+
* @template M - Type extending Model
|
|
23
|
+
* @template R - Type extending NanoRepository<M>
|
|
24
|
+
* @template V - Type extending RelationsMetadata
|
|
25
|
+
* @param {R} this - The repository instance
|
|
26
|
+
* @param {FabricContractContext} context - The operation context containing user information
|
|
27
|
+
* @param {V} data - The relation metadata
|
|
28
|
+
* @param {string} key - The property key to set with the username
|
|
29
|
+
* @param {M} model - The model instance being created or updated
|
|
30
|
+
* @return {Promise<void>} A promise that resolves when the operation is complete
|
|
31
|
+
* @function createdByOnFabricCreateUpdate
|
|
32
|
+
* @memberOf module:fabric.contracts
|
|
33
|
+
* @mermaid
|
|
34
|
+
* sequenceDiagram
|
|
35
|
+
* participant F as createdByOnNanoCreateUpdate
|
|
36
|
+
* participant C as Context
|
|
37
|
+
* participant M as Model
|
|
38
|
+
* F->>C: get("user")
|
|
39
|
+
* C-->>F: user object
|
|
40
|
+
* F->>M: set key to user.name
|
|
41
|
+
* Note over F: If no user in context
|
|
42
|
+
* F-->>F: throw UnsupportedError
|
|
43
|
+
*/
|
|
44
|
+
export declare function createdByOnFabricCreateUpdate<M extends Model, R extends FabricContractRepository<M>, V extends RelationsMetadata>(this: R, context: ContextOf<R>, data: V, key: keyof M, model: M): Promise<void>;
|
|
45
|
+
/**
|
|
46
|
+
* @description Adapter for Hyperledger Fabric chaincode state database operations
|
|
47
|
+
* @summary Provides a CouchDB-like interface for interacting with the Fabric state database from within a chaincode contract
|
|
48
|
+
* @template void - No configuration needed for contract adapter
|
|
49
|
+
* @template FabricContractFlags - Flags specific to Fabric contract operations
|
|
50
|
+
* @template FabricContractContext - Context type for Fabric contract operations
|
|
51
|
+
* @class FabricContractAdapter
|
|
52
|
+
* @example
|
|
53
|
+
* ```typescript
|
|
54
|
+
* // In a Fabric chaincode contract class
|
|
55
|
+
* import { FabricContractAdapter } from '@decaf-ts/for-fabric';
|
|
56
|
+
*
|
|
57
|
+
* export class MyContract extends Contract {
|
|
58
|
+
* private adapter = new FabricContractAdapter();
|
|
59
|
+
*
|
|
60
|
+
* @Transaction()
|
|
61
|
+
* async createAsset(ctx: Context, id: string, data: string): Promise<void> {
|
|
62
|
+
* const model = { id, data, timestamp: Date.now() };
|
|
63
|
+
* await this.adapter.create('assets', id, model, {}, { stub: ctx.stub });
|
|
64
|
+
* }
|
|
65
|
+
* }
|
|
66
|
+
* ```
|
|
67
|
+
* @mermaid
|
|
68
|
+
* sequenceDiagram
|
|
69
|
+
* participant Contract
|
|
70
|
+
* participant FabricContractAdapter
|
|
71
|
+
* participant Stub
|
|
72
|
+
* participant StateDB
|
|
73
|
+
*
|
|
74
|
+
* Contract->>FabricContractAdapter: create(tableName, id, model, transient, ctx)
|
|
75
|
+
* FabricContractAdapter->>FabricContractAdapter: Serialize model to JSON
|
|
76
|
+
* FabricContractAdapter->>Stub: putState(id, serializedData)
|
|
77
|
+
* Stub->>StateDB: Write data
|
|
78
|
+
* StateDB-->>Stub: Success
|
|
79
|
+
* Stub-->>FabricContractAdapter: Success
|
|
80
|
+
* FabricContractAdapter-->>Contract: model
|
|
81
|
+
*/
|
|
82
|
+
export declare class FabricContractAdapter extends CouchDBAdapter<any, void, FabricContractContext> {
|
|
83
|
+
private static readonly PRIVATE_BOOKMARK_PREFIX;
|
|
84
|
+
private static parseSyntheticPrivateBookmark;
|
|
85
|
+
private static buildSyntheticPrivateBookmark;
|
|
86
|
+
protected getClient(): void;
|
|
87
|
+
/**
|
|
88
|
+
* @description Text decoder for converting binary data to strings
|
|
89
|
+
*/
|
|
90
|
+
private static textDecoder;
|
|
91
|
+
protected static readonly serializer: SimpleDeterministicSerializer<Model<false>>;
|
|
92
|
+
/**
|
|
93
|
+
* @description Context constructor for this adapter
|
|
94
|
+
* @summary Overrides the base Context constructor with FabricContractContext
|
|
95
|
+
*/
|
|
96
|
+
protected get Context(): Constructor<FabricContractContext>;
|
|
97
|
+
/**
|
|
98
|
+
* @description Gets the repository constructor for this adapter
|
|
99
|
+
* @summary Returns the FabricContractRepository constructor for creating repositories
|
|
100
|
+
* @template M - Type extending Model
|
|
101
|
+
* @return {Constructor<Repository<M, MangoQuery, FabricContractAdapter, FabricContractFlags, FabricContractContext>>} The repository constructor
|
|
102
|
+
*/
|
|
103
|
+
repository<R extends Repository<any, Adapter<any, void, MangoQuery, Context<FabricContractFlags>>>>(): Constructor<R>;
|
|
104
|
+
Paginator<M extends Model>(query: MangoQuery, size: number, clazz: Constructor<M>): Paginator<M, any, MangoQuery>;
|
|
105
|
+
Sequence(options: SequenceOptions): Promise<Sequence>;
|
|
106
|
+
protected Dispatch(): Dispatch<FabricContractAdapter>;
|
|
107
|
+
/**
|
|
108
|
+
* @description Creates a new FabricContractAdapter instance
|
|
109
|
+
* @summary Initializes an adapter for interacting with the Fabric state database
|
|
110
|
+
* @param {void} scope - Not used in this adapter
|
|
111
|
+
* @param {string} [alias] - Optional alias for the adapter instance
|
|
112
|
+
*/
|
|
113
|
+
constructor(scope: void, alias?: string);
|
|
114
|
+
for(config: Partial<any>, ...args: any): typeof this;
|
|
115
|
+
protected getModelDefaults<M extends Model>(clazz: Constructor<M>): Record<keyof M, any>;
|
|
116
|
+
/**
|
|
117
|
+
* @description Creates a record in the state database
|
|
118
|
+
* @summary Serializes a model and stores it in the Fabric state database
|
|
119
|
+
* @param {string} tableName - The name of the table/collection
|
|
120
|
+
* @param {string | number} id - The record identifier
|
|
121
|
+
* @param {Record<string, any>} model - The record data
|
|
122
|
+
* @param {Record<string, any>} transient - Transient data (not used in this implementation)
|
|
123
|
+
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
124
|
+
* @return {Promise<Record<string, any>>} Promise resolving to the created record
|
|
125
|
+
*/
|
|
126
|
+
create<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<Context<FabricContractFlags>>): Promise<Record<string, any>>;
|
|
127
|
+
createAll<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<FabricContractContext>): Promise<Record<string, any>[]>;
|
|
128
|
+
/**
|
|
129
|
+
* @description Reads a record from the state database
|
|
130
|
+
* @summary Retrieves and deserializes a record from the Fabric state database
|
|
131
|
+
* @param {string} tableName - The name of the table/collection
|
|
132
|
+
* @param {string | number} id - The record identifier
|
|
133
|
+
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
134
|
+
* @return {Promise<Record<string, any>>} Promise resolving to the retrieved record
|
|
135
|
+
*/
|
|
136
|
+
read<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, ...args: ContextualArgs<Context<FabricContractFlags>>): Promise<Record<string, any>>;
|
|
137
|
+
/**
|
|
138
|
+
* @description Retrieves multiple records from the database
|
|
139
|
+
* @summary Fetches multiple records with the given IDs from the specified table
|
|
140
|
+
* @param {string} tableName - The name of the table to read from
|
|
141
|
+
* @param id - The identifiers of the records to retrieve
|
|
142
|
+
* @param {...any[]} args - Additional arguments specific to the adapter implementation
|
|
143
|
+
* @return A promise that resolves to an array of retrieved records
|
|
144
|
+
*/
|
|
145
|
+
readAll<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType[], ...args: ContextualArgs<Context<FabricContractFlags>>): Promise<Record<string, any>[]>;
|
|
146
|
+
/**
|
|
147
|
+
* @description Updates a record in the state database
|
|
148
|
+
* @summary Serializes a model and updates it in the Fabric state database
|
|
149
|
+
* @param {string} tableName - The name of the table/collection
|
|
150
|
+
* @param {string | number} id - The record identifier
|
|
151
|
+
* @param {Record<string, any>} model - The updated record data
|
|
152
|
+
* @param {Record<string, any>} transient - Transient data (not used in this implementation)
|
|
153
|
+
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
154
|
+
* @return {Promise<Record<string, any>>} Promise resolving to the updated record
|
|
155
|
+
*/
|
|
156
|
+
update<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: ContextualArgs<Context<FabricContractFlags>>): Promise<Record<string, any>>;
|
|
157
|
+
/**
|
|
158
|
+
* @description Deletes a record from the state database
|
|
159
|
+
* @summary Retrieves a record and then removes it from the Fabric state database
|
|
160
|
+
* @param {string} tableName - The name of the table/collection
|
|
161
|
+
* @param {string | number} id - The record identifier to delete
|
|
162
|
+
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
163
|
+
* @return {Promise<Record<string, any>>} Promise resolving to the deleted record
|
|
164
|
+
*/
|
|
165
|
+
delete<M extends Model>(clazz: Constructor<M>, id: PrimaryKeyType, ...args: ContextualArgs<Context<FabricContractFlags>>): Promise<Record<string, any>>;
|
|
166
|
+
protected deleteState(id: string, context: FabricContractContext): Promise<void>;
|
|
167
|
+
forPrivate(collection: string): FabricContractAdapter;
|
|
168
|
+
protected putState(id: string, model: Record<string, any>, ctx: FabricContractContext): Promise<Record<string, any>>;
|
|
169
|
+
protected readState(id: string, ctx: FabricContractContext): Promise<any>;
|
|
170
|
+
protected queryResult(stub: ChaincodeStub, rawInput: any, ...args: ContextualArgs<FabricContractContext>): Promise<Iterators.StateQueryIterator>;
|
|
171
|
+
protected queryResultPaginated(stub: ChaincodeStub, rawInput: any, limit?: number, page?: number, bookmark?: string | number, ...args: any[]): Promise<StateQueryResponse<Iterators.StateQueryIterator>>;
|
|
172
|
+
/**
|
|
173
|
+
* @description Decodes binary data to string
|
|
174
|
+
* @summary Converts a Uint8Array to a string using UTF-8 encoding
|
|
175
|
+
* @param {Uint8Array} buffer - The binary data to decode
|
|
176
|
+
* @return {string} The decoded string
|
|
177
|
+
*/
|
|
178
|
+
protected decode(buffer: Uint8Array): string;
|
|
179
|
+
/**
|
|
180
|
+
* @description Creates operation flags for Fabric contract operations
|
|
181
|
+
* @summary Merges default flags with Fabric-specific context information
|
|
182
|
+
* @template M - Type extending Model
|
|
183
|
+
* @param {OperationKeys} operation - The operation being performed
|
|
184
|
+
* @param {Constructor<M>} model - The model constructor
|
|
185
|
+
* @param {Partial<FabricContractFlags>} flags - Partial flags to merge with defaults
|
|
186
|
+
* @param {Ctx} ctx - The Fabric chaincode context
|
|
187
|
+
* @return {FabricContractFlags} The merged flags
|
|
188
|
+
*/
|
|
189
|
+
protected flags<M extends Model>(operation: AllOperationKeys, model: Constructor<M> | undefined, flags: Partial<FabricContractFlags> | FabricContractContext | Ctx | any): Promise<FabricContractFlags>;
|
|
190
|
+
/**
|
|
191
|
+
* @description Creates an index for a model
|
|
192
|
+
* @summary This method is not implemented for Fabric contracts and returns a resolved promise
|
|
193
|
+
* @template M - Type extending Model
|
|
194
|
+
* @param {Constructor<M>} models - The model constructor
|
|
195
|
+
* @return {Promise<void>} Promise that resolves immediately
|
|
196
|
+
*/
|
|
197
|
+
protected index<M>(models: Constructor<M>): Promise<void>;
|
|
198
|
+
/**
|
|
199
|
+
* @description Processes results from a state query iterator
|
|
200
|
+
* @summary Iterates through query results and converts them to a structured format
|
|
201
|
+
* @param {Logger} log - Logger instance for debugging
|
|
202
|
+
* @param {Iterators.StateQueryIterator} iterator - The state query iterator
|
|
203
|
+
* @param {boolean} [isHistory=false] - Whether this is a history query
|
|
204
|
+
* @return {Promise<any[]>} Promise resolving to an array of processed results
|
|
205
|
+
* @mermaid
|
|
206
|
+
* sequenceDiagram
|
|
207
|
+
* participant Caller
|
|
208
|
+
* participant ResultIterator
|
|
209
|
+
* participant Iterator
|
|
210
|
+
*
|
|
211
|
+
* Caller->>ResultIterator: resultIterator(log, iterator, isHistory)
|
|
212
|
+
* loop Until done
|
|
213
|
+
* ResultIterator->>Iterator: next()
|
|
214
|
+
* Iterator-->>ResultIterator: { value, done }
|
|
215
|
+
* alt Has value
|
|
216
|
+
* ResultIterator->>ResultIterator: Process value based on isHistory
|
|
217
|
+
* ResultIterator->>ResultIterator: Add to results array
|
|
218
|
+
* end
|
|
219
|
+
* end
|
|
220
|
+
* ResultIterator->>Iterator: close()
|
|
221
|
+
* ResultIterator-->>Caller: allResults
|
|
222
|
+
*/
|
|
223
|
+
protected resultIterator(log: Logger, iterator: Iterators.StateQueryIterator, isHistory?: boolean): Promise<any[]>;
|
|
224
|
+
/**
|
|
225
|
+
* @description Executes a raw query against the state database
|
|
226
|
+
* @summary Performs a rich query using CouchDB syntax against the Fabric state database
|
|
227
|
+
* @template R - The return type
|
|
228
|
+
* @param {MangoQuery} rawInput - The Mango Query to execute
|
|
229
|
+
* @param {boolean} docsOnly - Whether to return only documents (not used in this implementation)
|
|
230
|
+
* @param {...any[]} args - Additional arguments, including the chaincode stub and logger
|
|
231
|
+
* @return {Promise<R>} Promise resolving to the query results
|
|
232
|
+
* @mermaid
|
|
233
|
+
* sequenceDiagram
|
|
234
|
+
* participant Caller
|
|
235
|
+
* participant FabricContractAdapter
|
|
236
|
+
* participant Stub
|
|
237
|
+
* participant StateDB
|
|
238
|
+
*
|
|
239
|
+
* Caller->>FabricContractAdapter: raw(rawInput, docsOnly, ctx)
|
|
240
|
+
* FabricContractAdapter->>FabricContractAdapter: Extract limit and skip
|
|
241
|
+
* alt With pagination
|
|
242
|
+
* FabricContractAdapter->>Stub: getQueryResultWithPagination(query, limit, skip)
|
|
243
|
+
* else Without pagination
|
|
244
|
+
* FabricContractAdapter->>Stub: getQueryResult(query)
|
|
245
|
+
* end
|
|
246
|
+
* Stub->>StateDB: Execute query
|
|
247
|
+
* StateDB-->>Stub: Iterator
|
|
248
|
+
* Stub-->>FabricContractAdapter: Iterator
|
|
249
|
+
* FabricContractAdapter->>FabricContractAdapter: resultIterator(log, iterator)
|
|
250
|
+
* FabricContractAdapter-->>Caller: results
|
|
251
|
+
*/
|
|
252
|
+
raw<R, D extends boolean>(rawInput: MangoQuery, docsOnly?: D, ...args: ContextualArgs<FabricContractContext>): Promise<RawResult<R, D>>;
|
|
253
|
+
view<R>(ddoc: string, viewName: string, options: Record<string, any>, ..._args: ContextualArgs<FabricContractContext>): Promise<ViewResponse<R>>;
|
|
254
|
+
Statement<M extends Model>(overrides?: Partial<AdapterFlags>): FabricStatement<M, any>;
|
|
255
|
+
updateAll<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType[], model: Record<string, any>[], ...args: ContextualArgs<FabricContractContext>): Promise<Record<string, any>[]>;
|
|
256
|
+
/**
|
|
257
|
+
*
|
|
258
|
+
* @param model
|
|
259
|
+
* @param {string} pk
|
|
260
|
+
* @param args
|
|
261
|
+
*/
|
|
262
|
+
prepare<M extends Model>(model: M, ...args: ContextualArgs<FabricContractContext>): PreparedModel & {
|
|
263
|
+
segregated?: Record<string, Record<string, any>>;
|
|
264
|
+
};
|
|
265
|
+
revert<M extends Model>(obj: Record<string, any>, clazz: Constructor<M>, id: PrimaryKeyType, transient?: Record<string, any>, ...args: ContextualArgs<FabricContractContext>): M;
|
|
266
|
+
private shouldRebuildWithTransient;
|
|
267
|
+
private getContextMsp;
|
|
268
|
+
private enforceMirrorAuthorization;
|
|
269
|
+
createPrefix<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: MaybeContextualArg<FabricContractContext>): [Constructor<M>, PrimaryKeyType, Record<string, any>, ...any[], FabricContractContext];
|
|
270
|
+
updatePrefix<M extends Model>(tableName: Constructor<M>, id: PrimaryKeyType, model: Record<string, any>, ...args: MaybeContextualArg<FabricContractContext>): any[];
|
|
271
|
+
protected createAllPrefix<M extends Model>(tableName: Constructor<M>, ids: PrimaryKeyType[], models: Record<string, any>[], ...args: [...any, FabricContractContext]): (string | string[] | number[] | Record<string, any>[])[];
|
|
272
|
+
protected updateAllPrefix<M extends Model>(tableName: Constructor<M>, ids: PrimaryKeyType[], models: Record<string, any>[], ...args: [...any, FabricContractContext]): any[];
|
|
273
|
+
parseError<E extends BaseError>(err: Error | string, reason?: string): E;
|
|
274
|
+
protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD): FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>;
|
|
275
|
+
protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: false): FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>;
|
|
276
|
+
protected logCtx<ARGS extends any[] = any[], METHOD extends MethodOrOperation = MethodOrOperation>(args: MaybeContextualArg<FabricContractContext, ARGS>, operation: METHOD, allowCreate: true, overrides?: Partial<FlagsOf<FabricContractContext>>): Promise<FabricContextualizedArgs<ARGS, METHOD extends string ? true : false>>;
|
|
277
|
+
updateObservers(table: Constructor<any> | string, event: OperationKeys | BulkCrudOperationKeys | string, id: EventIds, ...args: ContextualArgs<FabricContractContext>): Promise<void>;
|
|
278
|
+
static parseError<E extends BaseError>(err: Error | string): E;
|
|
279
|
+
/**
|
|
280
|
+
* @description Static method for decoration overrides
|
|
281
|
+
* @summary Overrides/extends decaf decoration with Fabric-specific functionality
|
|
282
|
+
* @static
|
|
283
|
+
* @override
|
|
284
|
+
* @return {void}
|
|
285
|
+
*/
|
|
286
|
+
static decoration(): void;
|
|
287
|
+
}
|