@truvity/sdk 0.28.4 → 0.28.8
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/Client.d.ts +2 -0
- package/Client.d.ts.map +1 -1
- package/Client.js.map +1 -1
- package/ExtendedClient.d.ts.map +1 -1
- package/ExtendedClient.js +3 -6
- package/ExtendedClient.js.map +1 -1
- package/api/resources/apiKeys/client/Client.d.ts +39 -10
- package/api/resources/apiKeys/client/Client.d.ts.map +1 -1
- package/api/resources/apiKeys/client/Client.js +183 -30
- package/api/resources/apiKeys/client/Client.js.map +1 -1
- package/api/resources/{drafts/client/requests/DraftCreateRequest.d.ts → apiKeys/client/requests/ApiKeyInput.d.ts} +7 -9
- package/api/resources/apiKeys/client/requests/ApiKeyInput.d.ts.map +1 -0
- package/api/resources/apiKeys/client/requests/ApiKeyInput.js.map +1 -0
- package/api/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.d.ts +55 -0
- package/api/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.d.ts.map +1 -0
- package/api/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.js +6 -0
- package/api/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.js.map +1 -0
- package/api/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.d.ts +55 -0
- package/api/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.d.ts.map +1 -0
- package/api/resources/{drafts/client/requests/DraftUpdateRequest.js → apiKeys/client/requests/ApiKeyUpdateLabelsInput.js} +1 -1
- package/api/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.js.map +1 -0
- package/api/resources/apiKeys/client/requests/index.d.ts +3 -2
- package/api/resources/apiKeys/client/requests/index.d.ts.map +1 -1
- package/api/resources/apiKeys/client/requests/index.js.map +1 -1
- package/api/resources/credentials/client/Client.d.ts +61 -17
- package/api/resources/credentials/client/Client.d.ts.map +1 -1
- package/api/resources/credentials/client/Client.js +303 -37
- package/api/resources/credentials/client/Client.js.map +1 -1
- package/api/resources/credentials/client/requests/CredentialDownloadRequest.d.ts +0 -6
- package/api/resources/credentials/client/requests/CredentialDownloadRequest.d.ts.map +1 -1
- package/api/resources/credentials/client/requests/CredentialDownloadRequest.js.map +1 -1
- package/api/resources/credentials/client/requests/CredentialInput.d.ts +1 -8
- package/api/resources/credentials/client/requests/CredentialInput.d.ts.map +1 -1
- package/api/resources/credentials/client/requests/CredentialInput.js.map +1 -1
- package/api/resources/credentials/client/requests/CredentialLatestRequest.d.ts +1 -3
- package/api/resources/credentials/client/requests/CredentialLatestRequest.d.ts.map +1 -1
- package/api/resources/credentials/client/requests/CredentialLatestRequest.js.map +1 -1
- package/api/resources/credentials/client/requests/CredentialRestoreRequest.d.ts +1 -2
- package/api/resources/credentials/client/requests/CredentialRestoreRequest.d.ts.map +1 -1
- package/api/resources/credentials/client/requests/CredentialRestoreRequest.js.map +1 -1
- package/api/resources/credentials/client/requests/CredentialRevisionRequest.d.ts +1 -3
- package/api/resources/credentials/client/requests/CredentialRevisionRequest.d.ts.map +1 -1
- package/api/resources/credentials/client/requests/CredentialRevisionRequest.js.map +1 -1
- package/api/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.d.ts +55 -0
- package/api/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.d.ts.map +1 -0
- package/api/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.js +6 -0
- package/api/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.js.map +1 -0
- package/api/resources/credentials/client/requests/CredentialUpdateLabelsInput.d.ts +55 -0
- package/api/resources/credentials/client/requests/CredentialUpdateLabelsInput.d.ts.map +1 -0
- package/api/resources/credentials/client/requests/CredentialUpdateLabelsInput.js +6 -0
- package/api/resources/credentials/client/requests/CredentialUpdateLabelsInput.js.map +1 -0
- package/api/resources/credentials/client/requests/index.d.ts +2 -0
- package/api/resources/credentials/client/requests/index.d.ts.map +1 -1
- package/api/resources/credentials/client/requests/index.js.map +1 -1
- package/api/resources/desk/client/Client.d.ts +2 -0
- package/api/resources/desk/client/Client.d.ts.map +1 -1
- package/api/resources/desk/client/Client.js +5 -5
- package/api/resources/desk/client/Client.js.map +1 -1
- package/api/resources/didcommMessages/client/Client.d.ts +56 -0
- package/api/resources/didcommMessages/client/Client.d.ts.map +1 -1
- package/api/resources/didcommMessages/client/Client.js +292 -14
- package/api/resources/didcommMessages/client/Client.js.map +1 -1
- package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.d.ts +55 -0
- package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.d.ts.map +1 -0
- package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.js +6 -0
- package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.js.map +1 -0
- package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.d.ts +55 -0
- package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.d.ts.map +1 -0
- package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.js +6 -0
- package/api/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.js.map +1 -0
- package/api/resources/didcommMessages/client/requests/index.d.ts +2 -0
- package/api/resources/didcommMessages/client/requests/index.d.ts.map +1 -1
- package/api/resources/didcommMessages/client/requests/index.js.map +1 -1
- package/api/resources/dids/client/Client.d.ts +2 -0
- package/api/resources/dids/client/Client.d.ts.map +1 -1
- package/api/resources/dids/client/Client.js +2 -2
- package/api/resources/dids/client/Client.js.map +1 -1
- package/api/resources/drafts/client/Client.d.ts +63 -15
- package/api/resources/drafts/client/Client.d.ts.map +1 -1
- package/api/resources/drafts/client/Client.js +321 -37
- package/api/resources/drafts/client/Client.js.map +1 -1
- package/api/resources/drafts/client/requests/DraftExport.d.ts +0 -8
- package/api/resources/drafts/client/requests/DraftExport.d.ts.map +1 -1
- package/api/resources/drafts/client/requests/DraftExport.js.map +1 -1
- package/api/resources/{apiKeys/client/requests/ApiKeyCreateRequest.d.ts → drafts/client/requests/DraftInput.d.ts} +8 -7
- package/api/resources/drafts/client/requests/DraftInput.d.ts.map +1 -0
- package/api/resources/drafts/client/requests/DraftInput.js.map +1 -0
- package/api/resources/drafts/client/requests/DraftIssue.d.ts +1 -5
- package/api/resources/drafts/client/requests/DraftIssue.d.ts.map +1 -1
- package/api/resources/drafts/client/requests/DraftIssue.js.map +1 -1
- package/api/resources/drafts/client/requests/DraftUpdateAnnotationsInput.d.ts +55 -0
- package/api/resources/drafts/client/requests/DraftUpdateAnnotationsInput.d.ts.map +1 -0
- package/api/resources/drafts/client/requests/DraftUpdateAnnotationsInput.js +6 -0
- package/api/resources/drafts/client/requests/DraftUpdateAnnotationsInput.js.map +1 -0
- package/api/resources/{apiKeys/client/requests/ApiKeyUpdateRequest.d.ts → drafts/client/requests/DraftUpdateInput.d.ts} +5 -4
- package/api/resources/drafts/client/requests/DraftUpdateInput.d.ts.map +1 -0
- package/api/resources/drafts/client/requests/DraftUpdateInput.js +6 -0
- package/api/resources/drafts/client/requests/DraftUpdateInput.js.map +1 -0
- package/api/resources/drafts/client/requests/DraftUpdateLabelsInput.d.ts +55 -0
- package/api/resources/drafts/client/requests/DraftUpdateLabelsInput.d.ts.map +1 -0
- package/api/resources/{apiKeys/client/requests/ApiKeyCreateRequest.js → drafts/client/requests/DraftUpdateLabelsInput.js} +1 -1
- package/api/resources/drafts/client/requests/DraftUpdateLabelsInput.js.map +1 -0
- package/api/resources/drafts/client/requests/index.d.ts +4 -2
- package/api/resources/drafts/client/requests/index.d.ts.map +1 -1
- package/api/resources/drafts/client/requests/index.js.map +1 -1
- package/api/resources/files/client/Client.d.ts +62 -9
- package/api/resources/files/client/Client.d.ts.map +1 -1
- package/api/resources/files/client/Client.js +327 -31
- package/api/resources/files/client/Client.js.map +1 -1
- package/api/resources/files/client/requests/FileDownloadRequest.d.ts +0 -6
- package/api/resources/files/client/requests/FileDownloadRequest.d.ts.map +1 -1
- package/api/resources/files/client/requests/FileDownloadRequest.js.map +1 -1
- package/api/resources/files/client/requests/{FileCreateRequest.d.ts → FileInput.d.ts} +8 -6
- package/api/resources/files/client/requests/FileInput.d.ts.map +1 -0
- package/api/resources/files/client/requests/FileInput.js.map +1 -0
- package/api/resources/files/client/requests/FileUpdateAnnotationsInput.d.ts +55 -0
- package/api/resources/files/client/requests/FileUpdateAnnotationsInput.d.ts.map +1 -0
- package/api/resources/files/client/requests/FileUpdateAnnotationsInput.js +6 -0
- package/api/resources/files/client/requests/FileUpdateAnnotationsInput.js.map +1 -0
- package/api/resources/files/client/requests/{FileUpdateRequest.d.ts → FileUpdateInput.d.ts} +5 -6
- package/api/resources/files/client/requests/FileUpdateInput.d.ts.map +1 -0
- package/api/resources/{keys/client/requests/KeyInput.js → files/client/requests/FileUpdateInput.js} +1 -1
- package/api/resources/files/client/requests/FileUpdateInput.js.map +1 -0
- package/api/resources/{keys/client/requests/KeyInput.d.ts → files/client/requests/FileUpdateLabelsInput.d.ts} +7 -6
- package/api/resources/files/client/requests/FileUpdateLabelsInput.d.ts.map +1 -0
- package/api/resources/{drafts/client/requests/DraftCreateRequest.js → files/client/requests/FileUpdateLabelsInput.js} +1 -1
- package/api/resources/files/client/requests/FileUpdateLabelsInput.js.map +1 -0
- package/api/resources/files/client/requests/index.d.ts +4 -2
- package/api/resources/files/client/requests/index.d.ts.map +1 -1
- package/api/resources/files/client/requests/index.js.map +1 -1
- package/api/resources/gdpr/client/Client.d.ts +3 -1
- package/api/resources/gdpr/client/Client.d.ts.map +1 -1
- package/api/resources/gdpr/client/Client.js +3 -3
- package/api/resources/gdpr/client/Client.js.map +1 -1
- package/api/resources/gdpr/client/requests/SupportRequest.d.ts +1 -1
- package/api/resources/gdpr/client/requests/SupportRequest.js.map +1 -1
- package/api/resources/keys/client/Client.d.ts +37 -5
- package/api/resources/keys/client/Client.d.ts.map +1 -1
- package/api/resources/keys/client/Client.js +176 -31
- package/api/resources/keys/client/Client.js.map +1 -1
- package/api/resources/keys/client/requests/CredentialSignRequest.d.ts +0 -7
- package/api/resources/keys/client/requests/CredentialSignRequest.d.ts.map +1 -1
- package/api/resources/keys/client/requests/CredentialSignRequest.js.map +1 -1
- package/api/resources/keys/client/requests/DidCommMessageSignRequest.d.ts +0 -7
- package/api/resources/keys/client/requests/DidCommMessageSignRequest.d.ts.map +1 -1
- package/api/resources/keys/client/requests/DidCommMessageSignRequest.js.map +1 -1
- package/api/resources/keys/client/requests/KeyUpdateAnnotationsInput.d.ts +55 -0
- package/api/resources/keys/client/requests/KeyUpdateAnnotationsInput.d.ts.map +1 -0
- package/api/resources/keys/client/requests/KeyUpdateAnnotationsInput.js +6 -0
- package/api/resources/keys/client/requests/{KeyInput.js.map → KeyUpdateAnnotationsInput.js.map} +1 -1
- package/api/resources/{drafts/client/requests/DraftUpdateRequest.d.ts → keys/client/requests/KeyUpdateLabelsInput.d.ts} +6 -6
- package/api/resources/keys/client/requests/KeyUpdateLabelsInput.d.ts.map +1 -0
- package/api/resources/{apiKeys/client/requests/ApiKeyUpdateRequest.js → keys/client/requests/KeyUpdateLabelsInput.js} +1 -1
- package/api/resources/keys/client/requests/KeyUpdateLabelsInput.js.map +1 -0
- package/api/resources/keys/client/requests/PresentationSignRequest.d.ts +0 -7
- package/api/resources/keys/client/requests/PresentationSignRequest.d.ts.map +1 -1
- package/api/resources/keys/client/requests/PresentationSignRequest.js.map +1 -1
- package/api/resources/keys/client/requests/index.d.ts +2 -1
- package/api/resources/keys/client/requests/index.d.ts.map +1 -1
- package/api/resources/keys/client/requests/index.js.map +1 -1
- package/api/resources/presentations/client/Client.d.ts +56 -0
- package/api/resources/presentations/client/Client.d.ts.map +1 -1
- package/api/resources/presentations/client/Client.js +302 -24
- package/api/resources/presentations/client/Client.js.map +1 -1
- package/api/resources/presentations/client/requests/PresentationDownloadRequest.d.ts +0 -6
- package/api/resources/presentations/client/requests/PresentationDownloadRequest.d.ts.map +1 -1
- package/api/resources/presentations/client/requests/PresentationDownloadRequest.js.map +1 -1
- package/api/resources/presentations/client/requests/PresentationExport.d.ts +1 -21
- package/api/resources/presentations/client/requests/PresentationExport.d.ts.map +1 -1
- package/api/resources/presentations/client/requests/PresentationExport.js.map +1 -1
- package/api/resources/presentations/client/requests/PresentationIssue.d.ts +1 -14
- package/api/resources/presentations/client/requests/PresentationIssue.d.ts.map +1 -1
- package/api/resources/presentations/client/requests/PresentationIssue.js.map +1 -1
- package/api/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.d.ts +55 -0
- package/api/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.d.ts.map +1 -0
- package/api/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.js +6 -0
- package/api/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.js.map +1 -0
- package/api/resources/presentations/client/requests/PresentationUpdateLabelsInput.d.ts +55 -0
- package/api/resources/presentations/client/requests/PresentationUpdateLabelsInput.d.ts.map +1 -0
- package/api/resources/presentations/client/requests/PresentationUpdateLabelsInput.js +6 -0
- package/api/resources/presentations/client/requests/PresentationUpdateLabelsInput.js.map +1 -0
- package/api/resources/presentations/client/requests/index.d.ts +2 -0
- package/api/resources/presentations/client/requests/index.d.ts.map +1 -1
- package/api/resources/presentations/client/requests/index.js.map +1 -1
- package/api/types/Credential.d.ts +1 -8
- package/api/types/Credential.d.ts.map +1 -1
- package/api/types/Credential.js.map +1 -1
- package/api/types/Credential11.d.ts +1 -8
- package/api/types/Credential11.d.ts.map +1 -1
- package/api/types/Credential11.js.map +1 -1
- package/api/types/FileData.d.ts +2 -0
- package/api/types/FileData.d.ts.map +1 -1
- package/api/types/FileData.js.map +1 -1
- package/api/types/FileFilterData.d.ts +1 -0
- package/api/types/FileFilterData.d.ts.map +1 -1
- package/api/types/FileFilterData.js.map +1 -1
- package/api/types/FileFilterDataContentType.d.ts +1 -7
- package/api/types/FileFilterDataContentType.d.ts.map +1 -1
- package/api/types/FileFilterDataContentType.js.map +1 -1
- package/api/types/FileFilterDataFilename.d.ts +1 -7
- package/api/types/FileFilterDataFilename.d.ts.map +1 -1
- package/api/types/FileFilterDataFilename.js.map +1 -1
- package/api/types/FileFilterDataFilesize.d.ts +1 -7
- package/api/types/FileFilterDataFilesize.d.ts.map +1 -1
- package/api/types/FileFilterDataFilesize.js.map +1 -1
- package/api/types/FileFilterDataId.d.ts +20 -0
- package/api/types/FileFilterDataId.d.ts.map +1 -0
- package/api/types/FileFilterDataId.js +6 -0
- package/api/types/FileFilterDataId.js.map +1 -0
- package/api/types/FileFilterDataMultihash.d.ts +1 -7
- package/api/types/FileFilterDataMultihash.d.ts.map +1 -1
- package/api/types/FileFilterDataMultihash.js.map +1 -1
- package/api/types/FileSortField.d.ts +2 -1
- package/api/types/FileSortField.d.ts.map +1 -1
- package/api/types/FileSortField.js +1 -0
- package/api/types/FileSortField.js.map +1 -1
- package/api/types/File_.d.ts +7 -5
- package/api/types/File_.d.ts.map +1 -1
- package/api/types/File_.js.map +1 -1
- package/api/types/Presentation.d.ts +1 -8
- package/api/types/Presentation.d.ts.map +1 -1
- package/api/types/Presentation.js.map +1 -1
- package/api/types/ProblemPreconditionFailedResource.d.ts +1 -1
- package/api/types/ProblemPreconditionFailedResource.js.map +1 -1
- package/api/types/index.d.ts +1 -7
- package/api/types/index.d.ts.map +1 -1
- package/api/types/index.js +1 -7
- package/api/types/index.js.map +1 -1
- package/core/fetcher/Fetcher.d.ts +1 -1
- package/core/fetcher/Fetcher.d.ts.map +1 -1
- package/core/fetcher/Fetcher.js.map +1 -1
- package/core/fetcher/getResponseBody.d.ts.map +1 -1
- package/core/fetcher/getResponseBody.js +3 -0
- package/core/fetcher/getResponseBody.js.map +1 -1
- package/core/fetcher/requestWithRetries.d.ts.map +1 -1
- package/core/fetcher/requestWithRetries.js +13 -4
- package/core/fetcher/requestWithRetries.js.map +1 -1
- package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts +1 -2
- package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.d.ts.map +1 -1
- package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js +4 -2
- package/core/fetcher/stream-wrappers/Node18UniversalStreamWrapper.js.map +1 -1
- package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts +1 -1
- package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.d.ts.map +1 -1
- package/core/fetcher/stream-wrappers/NodePre18StreamWrapper.js.map +1 -1
- package/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts +1 -1
- package/core/fetcher/stream-wrappers/UndiciStreamWrapper.d.ts.map +1 -1
- package/core/fetcher/stream-wrappers/UndiciStreamWrapper.js +4 -2
- package/core/fetcher/stream-wrappers/UndiciStreamWrapper.js.map +1 -1
- package/core/fetcher/stream-wrappers/chooseStreamWrapper.js +1 -1
- package/core/fetcher/stream-wrappers/chooseStreamWrapper.js.map +1 -1
- package/core/schemas/Schema.d.ts +1 -0
- package/core/schemas/Schema.d.ts.map +1 -1
- package/core/schemas/Schema.js +1 -0
- package/core/schemas/Schema.js.map +1 -1
- package/core/schemas/builders/bigint/bigint.d.ts +3 -0
- package/core/schemas/builders/bigint/bigint.d.ts.map +1 -0
- package/core/schemas/builders/bigint/bigint.js +51 -0
- package/core/schemas/builders/bigint/bigint.js.map +1 -0
- package/core/schemas/builders/bigint/index.d.ts +2 -0
- package/core/schemas/builders/bigint/index.d.ts.map +1 -0
- package/core/schemas/builders/bigint/index.js +6 -0
- package/core/schemas/builders/bigint/index.js.map +1 -0
- package/core/schemas/builders/index.d.ts +1 -0
- package/core/schemas/builders/index.d.ts.map +1 -1
- package/core/schemas/builders/index.js +1 -0
- package/core/schemas/builders/index.js.map +1 -1
- package/core/schemas/builders/object/object.d.ts.map +1 -1
- package/core/schemas/builders/object/object.js +28 -0
- package/core/schemas/builders/object/object.js.map +1 -1
- package/core/schemas/builders/object/types.d.ts +5 -0
- package/core/schemas/builders/object/types.d.ts.map +1 -1
- package/core/schemas/builders/object/types.js.map +1 -1
- package/core/schemas/utils/getErrorMessageForIncorrectType.js +4 -0
- package/core/schemas/utils/getErrorMessageForIncorrectType.js.map +1 -1
- package/documents/credential/baseVerifiableCredential.d.ts +3 -1
- package/documents/credential/baseVerifiableCredential.d.ts.map +1 -1
- package/documents/credential/baseVerifiableCredential.js +32 -4
- package/documents/credential/baseVerifiableCredential.js.map +1 -1
- package/documents/credential/document.d.ts +1 -1
- package/documents/credential/document.d.ts.map +1 -1
- package/documents/credential/document.js +2 -2
- package/documents/credential/document.js.map +1 -1
- package/documents/credential/document.spec.d.ts +1 -1
- package/documents/credential/document.spec.d.ts.map +1 -1
- package/documents/credential/document.spec.js +4 -3
- package/documents/credential/document.spec.js.map +1 -1
- package/documents/credential/draft.d.ts +4 -2
- package/documents/credential/draft.d.ts.map +1 -1
- package/documents/credential/draft.js +42 -10
- package/documents/credential/draft.js.map +1 -1
- package/documents/credential/flavor.spec.js +3 -3
- package/documents/credential/flavor.spec.js.map +1 -1
- package/documents/credential/issued.d.ts +4 -2
- package/documents/credential/issued.d.ts.map +1 -1
- package/documents/credential/issued.js +28 -4
- package/documents/credential/issued.js.map +1 -1
- package/documents/credential/unknown.d.ts +2 -1
- package/documents/credential/unknown.d.ts.map +1 -1
- package/documents/credential/unknown.js +2 -2
- package/documents/credential/unknown.js.map +1 -1
- package/documents/credential.d.ts +4 -2
- package/documents/credential.d.ts.map +1 -1
- package/documents/credential.js +20 -17
- package/documents/credential.js.map +1 -1
- package/documents/models.d.ts +3 -1
- package/documents/models.d.ts.map +1 -1
- package/documents/models.js +86 -39
- package/documents/models.js.map +1 -1
- package/documents/presentation/issued.d.ts +1 -1
- package/documents/presentation/issued.d.ts.map +1 -1
- package/documents/presentation/issued.js +2 -2
- package/documents/presentation/issued.js.map +1 -1
- package/documents/presentation.d.ts +3 -1
- package/documents/presentation.d.ts.map +1 -1
- package/documents/presentation.js +2 -2
- package/documents/presentation.js.map +1 -1
- package/documents/types.d.ts +3 -0
- package/documents/types.d.ts.map +1 -1
- package/documents/types.js +3 -0
- package/documents/types.js.map +1 -1
- package/errors/TruvityTimeoutError.d.ts +1 -1
- package/errors/TruvityTimeoutError.d.ts.map +1 -1
- package/errors/TruvityTimeoutError.js +2 -2
- package/errors/TruvityTimeoutError.js.map +1 -1
- package/package.json +8 -4
- package/reference.md +740 -436
- package/serialization/resources/{keys/client/requests/KeyInput.d.ts → apiKeys/client/requests/ApiKeyInput.d.ts} +3 -3
- package/serialization/resources/apiKeys/client/requests/ApiKeyInput.d.ts.map +1 -0
- package/serialization/{types → resources/apiKeys/client/requests}/ApiKeyInput.js +1 -1
- package/serialization/resources/apiKeys/client/requests/ApiKeyInput.js.map +1 -0
- package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.d.ts +13 -0
- package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.d.ts.map +1 -0
- package/serialization/resources/{keys/client/requests/KeyInput.js → apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.js} +4 -5
- package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateAnnotationsInput.js.map +1 -0
- package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.d.ts +13 -0
- package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.d.ts.map +1 -0
- package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.js +34 -0
- package/serialization/resources/apiKeys/client/requests/ApiKeyUpdateLabelsInput.js.map +1 -0
- package/serialization/resources/apiKeys/client/requests/index.d.ts +3 -0
- package/serialization/resources/apiKeys/client/requests/index.d.ts.map +1 -1
- package/serialization/resources/apiKeys/client/requests/index.js +7 -1
- package/serialization/resources/apiKeys/client/requests/index.js.map +1 -1
- package/serialization/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.d.ts +13 -0
- package/serialization/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.d.ts.map +1 -0
- package/serialization/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.js +34 -0
- package/serialization/resources/credentials/client/requests/CredentialUpdateAnnotationsInput.js.map +1 -0
- package/serialization/resources/credentials/client/requests/CredentialUpdateLabelsInput.d.ts +13 -0
- package/serialization/resources/credentials/client/requests/CredentialUpdateLabelsInput.d.ts.map +1 -0
- package/serialization/resources/credentials/client/requests/CredentialUpdateLabelsInput.js +34 -0
- package/serialization/resources/credentials/client/requests/CredentialUpdateLabelsInput.js.map +1 -0
- package/serialization/resources/credentials/client/requests/index.d.ts +2 -0
- package/serialization/resources/credentials/client/requests/index.d.ts.map +1 -1
- package/serialization/resources/credentials/client/requests/index.js +5 -1
- package/serialization/resources/credentials/client/requests/index.js.map +1 -1
- package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.d.ts +13 -0
- package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.d.ts.map +1 -0
- package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.js +34 -0
- package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateAnnotationsInput.js.map +1 -0
- package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.d.ts +13 -0
- package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.d.ts.map +1 -0
- package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.js +34 -0
- package/serialization/resources/didcommMessages/client/requests/DidcommMessageUpdateLabelsInput.js.map +1 -0
- package/serialization/resources/didcommMessages/client/requests/index.d.ts +2 -0
- package/serialization/resources/didcommMessages/client/requests/index.d.ts.map +1 -1
- package/serialization/resources/didcommMessages/client/requests/index.js +5 -1
- package/serialization/resources/didcommMessages/client/requests/index.js.map +1 -1
- package/serialization/resources/drafts/client/requests/DraftInput.d.ts +16 -0
- package/serialization/resources/drafts/client/requests/DraftInput.d.ts.map +1 -0
- package/serialization/{types → resources/drafts/client/requests}/DraftInput.js +2 -2
- package/serialization/resources/drafts/client/requests/DraftInput.js.map +1 -0
- package/serialization/resources/drafts/client/requests/DraftUpdateAnnotationsInput.d.ts +13 -0
- package/serialization/resources/drafts/client/requests/DraftUpdateAnnotationsInput.d.ts.map +1 -0
- package/serialization/resources/drafts/client/requests/DraftUpdateAnnotationsInput.js +34 -0
- package/serialization/resources/drafts/client/requests/DraftUpdateAnnotationsInput.js.map +1 -0
- package/serialization/resources/drafts/client/requests/DraftUpdateInput.d.ts +14 -0
- package/serialization/resources/drafts/client/requests/DraftUpdateInput.d.ts.map +1 -0
- package/serialization/{types/IsNotNullFilesize.js → resources/drafts/client/requests/DraftUpdateInput.js} +7 -4
- package/serialization/resources/drafts/client/requests/DraftUpdateInput.js.map +1 -0
- package/serialization/resources/drafts/client/requests/DraftUpdateLabelsInput.d.ts +13 -0
- package/serialization/resources/drafts/client/requests/DraftUpdateLabelsInput.d.ts.map +1 -0
- package/serialization/resources/drafts/client/requests/DraftUpdateLabelsInput.js +34 -0
- package/serialization/resources/drafts/client/requests/DraftUpdateLabelsInput.js.map +1 -0
- package/serialization/resources/drafts/client/requests/index.d.ts +4 -0
- package/serialization/resources/drafts/client/requests/index.d.ts.map +1 -1
- package/serialization/resources/drafts/client/requests/index.js +9 -1
- package/serialization/resources/drafts/client/requests/index.js.map +1 -1
- package/serialization/resources/files/client/requests/FileInput.d.ts +16 -0
- package/serialization/resources/files/client/requests/FileInput.d.ts.map +1 -0
- package/serialization/{types → resources/files/client/requests}/FileInput.js +2 -2
- package/serialization/resources/files/client/requests/FileInput.js.map +1 -0
- package/serialization/resources/files/client/requests/FileUpdateAnnotationsInput.d.ts +13 -0
- package/serialization/resources/files/client/requests/FileUpdateAnnotationsInput.d.ts.map +1 -0
- package/serialization/resources/files/client/requests/FileUpdateAnnotationsInput.js +34 -0
- package/serialization/resources/files/client/requests/FileUpdateAnnotationsInput.js.map +1 -0
- package/serialization/resources/files/client/requests/FileUpdateInput.d.ts +14 -0
- package/serialization/resources/files/client/requests/FileUpdateInput.d.ts.map +1 -0
- package/serialization/{types/IsNullFilesize.js → resources/files/client/requests/FileUpdateInput.js} +7 -4
- package/serialization/resources/files/client/requests/FileUpdateInput.js.map +1 -0
- package/serialization/resources/files/client/requests/FileUpdateLabelsInput.d.ts +13 -0
- package/serialization/resources/files/client/requests/FileUpdateLabelsInput.d.ts.map +1 -0
- package/serialization/resources/files/client/requests/FileUpdateLabelsInput.js +34 -0
- package/serialization/resources/files/client/requests/FileUpdateLabelsInput.js.map +1 -0
- package/serialization/resources/files/client/requests/index.d.ts +4 -0
- package/serialization/resources/files/client/requests/index.d.ts.map +1 -1
- package/serialization/resources/files/client/requests/index.js +9 -1
- package/serialization/resources/files/client/requests/index.js.map +1 -1
- package/serialization/resources/keys/client/requests/KeyUpdateAnnotationsInput.d.ts +13 -0
- package/serialization/resources/keys/client/requests/KeyUpdateAnnotationsInput.d.ts.map +1 -0
- package/serialization/resources/keys/client/requests/KeyUpdateAnnotationsInput.js +34 -0
- package/serialization/resources/keys/client/requests/KeyUpdateAnnotationsInput.js.map +1 -0
- package/serialization/resources/keys/client/requests/KeyUpdateLabelsInput.d.ts +13 -0
- package/serialization/resources/keys/client/requests/KeyUpdateLabelsInput.d.ts.map +1 -0
- package/serialization/resources/keys/client/requests/KeyUpdateLabelsInput.js +34 -0
- package/serialization/resources/keys/client/requests/KeyUpdateLabelsInput.js.map +1 -0
- package/serialization/resources/keys/client/requests/index.d.ts +2 -1
- package/serialization/resources/keys/client/requests/index.d.ts.map +1 -1
- package/serialization/resources/keys/client/requests/index.js +5 -3
- package/serialization/resources/keys/client/requests/index.js.map +1 -1
- package/serialization/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.d.ts +13 -0
- package/serialization/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.d.ts.map +1 -0
- package/serialization/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.js +34 -0
- package/serialization/resources/presentations/client/requests/PresentationUpdateAnnotationsInput.js.map +1 -0
- package/serialization/resources/presentations/client/requests/PresentationUpdateLabelsInput.d.ts +13 -0
- package/serialization/resources/presentations/client/requests/PresentationUpdateLabelsInput.d.ts.map +1 -0
- package/serialization/resources/presentations/client/requests/PresentationUpdateLabelsInput.js +34 -0
- package/serialization/resources/presentations/client/requests/PresentationUpdateLabelsInput.js.map +1 -0
- package/serialization/resources/presentations/client/requests/index.d.ts +2 -0
- package/serialization/resources/presentations/client/requests/index.d.ts.map +1 -1
- package/serialization/resources/presentations/client/requests/index.js +5 -1
- package/serialization/resources/presentations/client/requests/index.js.map +1 -1
- package/serialization/types/FileData.d.ts +1 -0
- package/serialization/types/FileData.d.ts.map +1 -1
- package/serialization/types/FileData.js +1 -0
- package/serialization/types/FileData.js.map +1 -1
- package/serialization/types/FileFilterData.d.ts +2 -0
- package/serialization/types/FileFilterData.d.ts.map +1 -1
- package/serialization/types/FileFilterData.js +2 -0
- package/serialization/types/FileFilterData.js.map +1 -1
- package/serialization/types/FileFilterDataContentType.d.ts +1 -9
- package/serialization/types/FileFilterDataContentType.d.ts.map +1 -1
- package/serialization/types/FileFilterDataContentType.js +0 -4
- package/serialization/types/FileFilterDataContentType.js.map +1 -1
- package/serialization/types/FileFilterDataFilename.d.ts +1 -9
- package/serialization/types/FileFilterDataFilename.d.ts.map +1 -1
- package/serialization/types/FileFilterDataFilename.js +0 -4
- package/serialization/types/FileFilterDataFilename.js.map +1 -1
- package/serialization/types/FileFilterDataFilesize.d.ts +1 -9
- package/serialization/types/FileFilterDataFilesize.d.ts.map +1 -1
- package/serialization/types/FileFilterDataFilesize.js +0 -4
- package/serialization/types/FileFilterDataFilesize.js.map +1 -1
- package/serialization/types/FileFilterDataId.d.ts +27 -0
- package/serialization/types/FileFilterDataId.d.ts.map +1 -0
- package/serialization/types/{NotModifiedProblems.js → FileFilterDataId.js} +12 -6
- package/serialization/types/FileFilterDataId.js.map +1 -0
- package/serialization/types/FileFilterDataMultihash.d.ts +1 -9
- package/serialization/types/FileFilterDataMultihash.d.ts.map +1 -1
- package/serialization/types/FileFilterDataMultihash.js +0 -4
- package/serialization/types/FileFilterDataMultihash.js.map +1 -1
- package/serialization/types/FileSortField.d.ts +1 -1
- package/serialization/types/FileSortField.d.ts.map +1 -1
- package/serialization/types/FileSortField.js +1 -0
- package/serialization/types/FileSortField.js.map +1 -1
- package/serialization/types/File_.d.ts +5 -4
- package/serialization/types/File_.d.ts.map +1 -1
- package/serialization/types/File_.js +5 -4
- package/serialization/types/File_.js.map +1 -1
- package/serialization/types/index.d.ts +1 -7
- package/serialization/types/index.d.ts.map +1 -1
- package/serialization/types/index.js +1 -7
- package/serialization/types/index.js.map +1 -1
- package/version.d.ts +2 -0
- package/version.d.ts.map +1 -0
- package/version.js +5 -0
- package/version.js.map +1 -0
- package/api/resources/apiKeys/client/requests/ApiKeyCreateRequest.d.ts.map +0 -1
- package/api/resources/apiKeys/client/requests/ApiKeyCreateRequest.js.map +0 -1
- package/api/resources/apiKeys/client/requests/ApiKeyUpdateRequest.d.ts.map +0 -1
- package/api/resources/apiKeys/client/requests/ApiKeyUpdateRequest.js.map +0 -1
- package/api/resources/drafts/client/requests/DraftCreateRequest.d.ts.map +0 -1
- package/api/resources/drafts/client/requests/DraftCreateRequest.js.map +0 -1
- package/api/resources/drafts/client/requests/DraftUpdateRequest.d.ts.map +0 -1
- package/api/resources/drafts/client/requests/DraftUpdateRequest.js.map +0 -1
- package/api/resources/files/client/requests/FileCreateRequest.d.ts.map +0 -1
- package/api/resources/files/client/requests/FileCreateRequest.js +0 -6
- package/api/resources/files/client/requests/FileCreateRequest.js.map +0 -1
- package/api/resources/files/client/requests/FileUpdateRequest.d.ts.map +0 -1
- package/api/resources/files/client/requests/FileUpdateRequest.js +0 -6
- package/api/resources/files/client/requests/FileUpdateRequest.js.map +0 -1
- package/api/resources/keys/client/requests/KeyInput.d.ts.map +0 -1
- package/api/types/ApiKeyInput.d.ts +0 -13
- package/api/types/ApiKeyInput.d.ts.map +0 -1
- package/api/types/ApiKeyInput.js.map +0 -1
- package/api/types/DraftInput.d.ts +0 -15
- package/api/types/DraftInput.d.ts.map +0 -1
- package/api/types/DraftInput.js.map +0 -1
- package/api/types/FileInput.d.ts +0 -15
- package/api/types/FileInput.d.ts.map +0 -1
- package/api/types/FileInput.js.map +0 -1
- package/api/types/IsNotNullFilesize.d.ts +0 -9
- package/api/types/IsNotNullFilesize.d.ts.map +0 -1
- package/api/types/IsNotNullFilesize.js +0 -6
- package/api/types/IsNotNullFilesize.js.map +0 -1
- package/api/types/IsNullFilesize.d.ts +0 -9
- package/api/types/IsNullFilesize.d.ts.map +0 -1
- package/api/types/IsNullFilesize.js +0 -6
- package/api/types/IsNullFilesize.js.map +0 -1
- package/api/types/NotModifiedProblems.d.ts +0 -14
- package/api/types/NotModifiedProblems.d.ts.map +0 -1
- package/api/types/NotModifiedProblems.js +0 -6
- package/api/types/NotModifiedProblems.js.map +0 -1
- package/api/types/ProblemNotModified.d.ts +0 -20
- package/api/types/ProblemNotModified.d.ts.map +0 -1
- package/api/types/ProblemNotModified.js +0 -6
- package/api/types/ProblemNotModified.js.map +0 -1
- package/documents/credential/index.d.ts +0 -7
- package/documents/credential/index.d.ts.map +0 -1
- package/documents/credential/index.js +0 -23
- package/documents/credential/index.js.map +0 -1
- package/serialization/resources/keys/client/requests/KeyInput.d.ts.map +0 -1
- package/serialization/resources/keys/client/requests/KeyInput.js.map +0 -1
- package/serialization/types/ApiKeyInput.d.ts +0 -14
- package/serialization/types/ApiKeyInput.d.ts.map +0 -1
- package/serialization/types/ApiKeyInput.js.map +0 -1
- package/serialization/types/DraftInput.d.ts +0 -16
- package/serialization/types/DraftInput.d.ts.map +0 -1
- package/serialization/types/DraftInput.js.map +0 -1
- package/serialization/types/FileInput.d.ts +0 -16
- package/serialization/types/FileInput.d.ts.map +0 -1
- package/serialization/types/FileInput.js.map +0 -1
- package/serialization/types/IsNotNullFilesize.d.ts +0 -12
- package/serialization/types/IsNotNullFilesize.d.ts.map +0 -1
- package/serialization/types/IsNotNullFilesize.js.map +0 -1
- package/serialization/types/IsNullFilesize.d.ts +0 -12
- package/serialization/types/IsNullFilesize.d.ts.map +0 -1
- package/serialization/types/IsNullFilesize.js.map +0 -1
- package/serialization/types/NotModifiedProblems.d.ts +0 -15
- package/serialization/types/NotModifiedProblems.d.ts.map +0 -1
- package/serialization/types/NotModifiedProblems.js.map +0 -1
- package/serialization/types/ProblemNotModified.d.ts +0 -18
- package/serialization/types/ProblemNotModified.d.ts.map +0 -1
- package/serialization/types/ProblemNotModified.js +0 -39
- package/serialization/types/ProblemNotModified.js.map +0 -1
- /package/api/{types → resources/apiKeys/client/requests}/ApiKeyInput.js +0 -0
- /package/api/{types → resources/drafts/client/requests}/DraftInput.js +0 -0
- /package/api/{types → resources/files/client/requests}/FileInput.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issued.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/issued.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"issued.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/issued.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,oBAAoB,EAAE,cAAc,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnH,OAAO,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAE5C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAC;AAE7C,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,wBAAwB;IAK5E,SAAS,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAJzC,OAAO,CAAC,kBAAkB,CAAoD;gBAG1E,MAAM,EAAE,SAAS,EACP,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,EACrC,UAAU,EAAE,oBAAoB,EAChC,IAAI,CAAC,EAAE,cAAc;IAKzB,kBAAkB,IAAI,gBAAgB,CAAC,CAAC,CAAC;IASnC,SAAS,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IAOnC,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAkCzE"}
|
|
@@ -10,22 +10,46 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.VerifiableCredential = void 0;
|
|
13
|
-
const
|
|
13
|
+
const document_1 = require("./document");
|
|
14
|
+
const baseVerifiableCredential_1 = require("./baseVerifiableCredential");
|
|
14
15
|
const models_1 = require("../models");
|
|
15
|
-
class VerifiableCredential extends
|
|
16
|
+
class VerifiableCredential extends baseVerifiableCredential_1.BaseVerifiableCredential {
|
|
16
17
|
constructor(client, flavor, descriptor, blob) {
|
|
17
18
|
super(client, descriptor, blob);
|
|
18
19
|
this.flavor = flavor;
|
|
19
|
-
this.credentialDocument = new
|
|
20
|
+
this.credentialDocument = new document_1.CredentialDocument(this.client, this.flavor);
|
|
20
21
|
}
|
|
21
22
|
toLinkedCredential() {
|
|
22
|
-
return new models_1.LinkedCredential(this.client, this.flavor.claimsModel,
|
|
23
|
+
return new models_1.LinkedCredential(this.client, this.flavor.claimsModel, this.descriptor.id, this.descriptor.data.multihash);
|
|
23
24
|
}
|
|
24
25
|
getClaims() {
|
|
25
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
26
27
|
return this.credentialDocument.convertApiValuesToUdt(this.flavor.claimsModel, yield this.flavor.getClaims(yield this.getBlob()));
|
|
27
28
|
});
|
|
28
29
|
}
|
|
30
|
+
update(request) {
|
|
31
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
+
let { etag, revision } = this.descriptor;
|
|
33
|
+
if (request.labels) {
|
|
34
|
+
const updatedCredential = yield this.client.credentials.credentialUpdateLabels(this.descriptor.id, {
|
|
35
|
+
ifMatch: etag,
|
|
36
|
+
labels: request.labels,
|
|
37
|
+
});
|
|
38
|
+
etag = updatedCredential.etag;
|
|
39
|
+
revision = updatedCredential.revision;
|
|
40
|
+
}
|
|
41
|
+
if (request.annotations) {
|
|
42
|
+
const updatedCredential = yield this.client.credentials.credentialUpdateAnnotations(this.descriptor.id, {
|
|
43
|
+
ifMatch: etag,
|
|
44
|
+
annotations: request.annotations,
|
|
45
|
+
});
|
|
46
|
+
etag = updatedCredential.etag;
|
|
47
|
+
revision = updatedCredential.revision;
|
|
48
|
+
}
|
|
49
|
+
return new VerifiableCredential(this.client, this.flavor, Object.assign(Object.assign({}, this.descriptor), { etag,
|
|
50
|
+
revision }), this.blob);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
29
53
|
}
|
|
30
54
|
exports.VerifiableCredential = VerifiableCredential;
|
|
31
55
|
//# sourceMappingURL=issued.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"issued.js","sourceRoot":"","sources":["../../../src/documents/credential/issued.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"issued.js","sourceRoot":"","sources":["../../../src/documents/credential/issued.ts"],"names":[],"mappings":";;;;;;;;;;;;AAGA,yCAAgD;AAChD,yEAAsE;AACtE,sCAA6C;AAE7C,MAAa,oBAAuC,SAAQ,mDAAwB;IAGhF,YACI,MAAiB,EACP,MAA2B,EACrC,UAAgC,EAChC,IAAqB;QAErB,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;QAJtB,WAAM,GAAN,MAAM,CAAqB;QAJjC,uBAAkB,GAAG,IAAI,6BAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAS9E,CAAC;IAED,kBAAkB;QACd,OAAO,IAAI,yBAAgB,CACvB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,IAAI,CAAC,UAAU,CAAC,EAAE,EAClB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CACjC,CAAC;IACN,CAAC;IAEK,SAAS;;YACX,OAAO,IAAI,CAAC,kBAAkB,CAAC,qBAAqB,CAChD,IAAI,CAAC,MAAM,CAAC,WAAW,EACvB,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,CACpD,CAAC;QACN,CAAC;KAAA;IAEK,MAAM,CAAC,OAAsB;;YAC/B,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;YAEzC,IAAI,OAAO,CAAC,MAAM,EAAE;gBAChB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;oBAC/F,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,OAAO,CAAC,MAAM;iBACzB,CAAC,CAAC;gBAEH,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC9B,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;aACzC;YAED,IAAI,OAAO,CAAC,WAAW,EAAE;gBACrB,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,2BAA2B,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE;oBACpG,OAAO,EAAE,IAAI;oBACb,WAAW,EAAE,OAAO,CAAC,WAAW;iBACnC,CAAC,CAAC;gBAEH,IAAI,GAAG,iBAAiB,CAAC,IAAI,CAAC;gBAC9B,QAAQ,GAAG,iBAAiB,CAAC,QAAQ,CAAC;aACzC;YAED,OAAO,IAAI,oBAAoB,CAC3B,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,MAAM,kCAEJ,IAAI,CAAC,UAAU,KAClB,IAAI;gBACJ,QAAQ,KAEZ,IAAI,CAAC,IAAI,CACZ,CAAC;QACN,CAAC;KAAA;CACJ;AA9DD,oDA8DC","sourcesContent":["import type { ApiClient, Claims, CredentialDescriptor, CredentialBlob, ReadClaims, UpdatePayload } from '../types';\n\nimport { CredentialFlavor } from './flavor';\nimport { CredentialDocument } from './document';\nimport { BaseVerifiableCredential } from './baseVerifiableCredential';\nimport { LinkedCredential } from '../models';\n\nexport class VerifiableCredential<T extends Claims> extends BaseVerifiableCredential {\n private credentialDocument = new CredentialDocument(this.client, this.flavor);\n\n constructor(\n client: ApiClient,\n protected flavor: CredentialFlavor<T>,\n descriptor: CredentialDescriptor,\n blob?: CredentialBlob,\n ) {\n super(client, descriptor, blob);\n }\n\n toLinkedCredential(): LinkedCredential<T> {\n return new LinkedCredential(\n this.client,\n this.flavor.claimsModel,\n this.descriptor.id,\n this.descriptor.data.multihash,\n );\n }\n\n async getClaims(): Promise<ReadClaims<T>> {\n return this.credentialDocument.convertApiValuesToUdt(\n this.flavor.claimsModel,\n await this.flavor.getClaims(await this.getBlob()),\n );\n }\n\n async update(request: UpdatePayload): Promise<VerifiableCredential<T>> {\n let { etag, revision } = this.descriptor;\n\n if (request.labels) {\n const updatedCredential = await this.client.credentials.credentialUpdateLabels(this.descriptor.id, {\n ifMatch: etag,\n labels: request.labels,\n });\n\n etag = updatedCredential.etag;\n revision = updatedCredential.revision;\n }\n\n if (request.annotations) {\n const updatedCredential = await this.client.credentials.credentialUpdateAnnotations(this.descriptor.id, {\n ifMatch: etag,\n annotations: request.annotations,\n });\n\n etag = updatedCredential.etag;\n revision = updatedCredential.revision;\n }\n\n return new VerifiableCredential(\n this.client,\n this.flavor,\n {\n ...this.descriptor,\n etag,\n revision,\n },\n this.blob,\n );\n }\n}\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Claims, Ctor } from '../types';
|
|
2
|
-
import { BaseVerifiableCredential
|
|
2
|
+
import { BaseVerifiableCredential } from './baseVerifiableCredential';
|
|
3
|
+
import { VerifiableCredential } from './issued';
|
|
3
4
|
declare type ParseSuccessful<T extends Claims> = {
|
|
4
5
|
ok: true;
|
|
5
6
|
credential: VerifiableCredential<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknown.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/unknown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"unknown.d.ts","sourceRoot":"","sources":["../../../src/documents/credential/unknown.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,aAAK,eAAe,CAAC,CAAC,SAAS,MAAM,IAAI;IACrC,EAAE,EAAE,IAAI,CAAC;IACT,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,aAAK,WAAW,GAAG;IACf,EAAE,EAAE,KAAK,CAAC;IACV,KAAK,EAAE,+BAA+B,CAAC;CAC1C,CAAC;AAEF,aAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,WAAW,CAAC;AAEtE,qBAAa,2BAA4B,SAAQ,wBAAwB;IACrE;;OAEG;IACG,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAIvE,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAmBtF"}
|
|
@@ -11,8 +11,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.UnknownVerifiableCredential = void 0;
|
|
13
13
|
const credential_1 = require("../credential");
|
|
14
|
-
const
|
|
15
|
-
class UnknownVerifiableCredential extends
|
|
14
|
+
const baseVerifiableCredential_1 = require("./baseVerifiableCredential");
|
|
15
|
+
class UnknownVerifiableCredential extends baseVerifiableCredential_1.BaseVerifiableCredential {
|
|
16
16
|
/**
|
|
17
17
|
* @deprecated Please use `assertClaims` instead. This method will be removed after January 2025.
|
|
18
18
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unknown.js","sourceRoot":"","sources":["../../../src/documents/credential/unknown.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"unknown.js","sourceRoot":"","sources":["../../../src/documents/credential/unknown.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4C;AAE5C,yEAAsE;AAetE,MAAa,2BAA4B,SAAQ,mDAAwB;IACrE;;OAEG;IACG,MAAM,CAAmB,WAAoB;;YAC/C,OAAO,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;KAAA;IAEK,YAAY,CAAmB,WAAoB;;YACrD,MAAM,kBAAkB,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,kBAAkB,CACvE,IAAI,CAAC,UAAU,CAAC,EAAE,EAClB,IAAI,CAAC,UAAU,CAAC,QAAQ,CAC3B,CAAC;YACF,MAAM,WAAW,GAAG,IAAI,wBAAW,CAAC,IAAI,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAE9D,IAAI,WAAW,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE;gBACxC,OAAO;oBACH,EAAE,EAAE,IAAI;oBACR,UAAU,EAAE,WAAW,CAAC,GAAG,CAAC,kBAAkB,CAAC;iBAClD,CAAC;aACL;YAED,OAAO;gBACH,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,+BAA+B;aACzC,CAAC;QACN,CAAC;KAAA;CACJ;AA3BD,kEA2BC","sourcesContent":["import { VcDecorator } from '../credential';\nimport type { Claims, Ctor } from '../types';\nimport { BaseVerifiableCredential } from './baseVerifiableCredential';\nimport { VerifiableCredential } from './issued';\n\ntype ParseSuccessful<T extends Claims> = {\n ok: true;\n credential: VerifiableCredential<T>;\n};\n\ntype ParseFailed = {\n ok: false;\n error: 'WRONG_CREDENTIAL_SUBJECT_TYPE';\n};\n\ntype ParseResult<T extends Claims> = ParseSuccessful<T> | ParseFailed;\n\nexport class UnknownVerifiableCredential extends BaseVerifiableCredential {\n /**\n * @deprecated Please use `assertClaims` instead. This method will be removed after January 2025.\n */\n async assert<T extends Claims>(claimsModel: Ctor<T>): Promise<ParseResult<T>> {\n return this.assertClaims(claimsModel);\n }\n\n async assertClaims<T extends Claims>(claimsModel: Ctor<T>): Promise<ParseResult<T>> {\n const credentialResource = await this.client.credentials.credentialRevision(\n this.descriptor.id,\n this.descriptor.revision,\n );\n const vcDecorator = new VcDecorator(this.client, claimsModel);\n\n if (vcDecorator.canMap(credentialResource)) {\n return {\n ok: true,\n credential: vcDecorator.map(credentialResource),\n };\n }\n\n return {\n ok: false,\n error: 'WRONG_CREDENTIAL_SUBJECT_TYPE',\n };\n }\n}\n"]}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { DraftSchema, ResourceCredential, ResourceDraft } from '../api';
|
|
2
|
-
import {
|
|
3
|
-
import
|
|
2
|
+
import { DraftCredential } from './credential/draft';
|
|
3
|
+
import { VerifiableCredential } from './credential/issued';
|
|
4
|
+
import { CredentialFlavor } from './credential/flavor';
|
|
5
|
+
import { ApiClient, BlobInput, Claims, Ctor, UpdatePayload, UpdatePayloadWithClaims } from './types';
|
|
4
6
|
export declare type CredentialEnvelope<T extends Claims> = {
|
|
5
7
|
isVerifiable: false;
|
|
6
8
|
credential: DraftCredential<T>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential.d.ts","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"AAEA,OAAO,EASH,WAAW,EAGX,kBAAkB,EAClB,aAAa,EAChB,MAAM,QAAQ,CAAC;AAEhB,OAAO,
|
|
1
|
+
{"version":3,"file":"credential.d.ts","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"AAEA,OAAO,EASH,WAAW,EAGX,kBAAkB,EAClB,aAAa,EAChB,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAE3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAYvD,OAAO,EACH,SAAS,EACT,SAAS,EACT,MAAM,EAEN,IAAI,EAEJ,aAAa,EACb,uBAAuB,EAC1B,MAAM,SAAS,CAAC;AAajB,oBAAY,kBAAkB,CAAC,CAAC,SAAS,MAAM,IAAI;IAC/C,YAAY,EAAE,KAAK,CAAC;IACpB,UAAU,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC;CAClC,CAAC;AAEF,oBAAY,4BAA4B,CAAC,CAAC,SAAS,MAAM,IAAI;IACzD,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC;CACvC,CAAC;AAEF,oBAAY,gBAAgB,CAAC,CAAC,SAAS,MAAM,IAAI,kBAAkB,CAAC,CAAC,CAAC,GAAG,4BAA4B,CAAC,CAAC,CAAC,CAAC;AAEzG,qBAAa,WAAW,CAAC,CAAC,SAAS,MAAM;IAKjC,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IALvB,QAAQ,CAAC,MAAM,sBAAiD;IAChE,OAAO,CAAC,kBAAkB,CAAoD;gBAGlE,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC;IAGhC,SAAS,CAAC,sBAAsB,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC;IAI3E,MAAM,IAAI,MAAM;IAWhB,iBAAiB,IAAI,MAAM;IAW3B,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,kBAAkB,GAAG,OAAO;IAI1D,GAAG,CAAC,KAAK,EAAE,kBAAkB,GAAG,oBAAoB,CAAC,CAAC,CAAC;IACvD,GAAG,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAAC,CAAC,CAAC;YAuB/B,UAAU;IA6BxB,OAAO,CAAC,aAAa;IAoGrB,SAAS,CAAC,cAAc,IAAI,WAAW,GAAG,SAAS;IAe7C,MAAM,CAAC,OAAO,CAAC,EAAE,uBAAuB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAmBzE,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAQvE,gBAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAQjF,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IA2BvE;;OAEG;IACG,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAIlF,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAKrG;AAED,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
|
package/documents/credential.js
CHANGED
|
@@ -39,21 +39,25 @@ exports.VerifiableCredential = exports.VcDecorator = void 0;
|
|
|
39
39
|
const node_fetch_1 = __importDefault(require("node-fetch"));
|
|
40
40
|
const api_1 = require("../api");
|
|
41
41
|
const serialization = __importStar(require("../serialization"));
|
|
42
|
-
const
|
|
43
|
-
|
|
42
|
+
const draft_1 = require("./credential/draft");
|
|
43
|
+
const issued_1 = require("./credential/issued");
|
|
44
|
+
Object.defineProperty(exports, "VerifiableCredential", { enumerable: true, get: function () { return issued_1.VerifiableCredential; } });
|
|
45
|
+
const document_1 = require("./credential/document");
|
|
46
|
+
const flavor_1 = require("./credential/flavor");
|
|
44
47
|
const decorators_1 = require("./decorators");
|
|
45
48
|
const helpers_1 = require("./helpers");
|
|
46
49
|
const models_1 = require("./models");
|
|
50
|
+
const types_1 = require("./types");
|
|
47
51
|
const converters_1 = require("./utils/converters");
|
|
48
52
|
class VcDecorator {
|
|
49
53
|
constructor(client, claimsModel) {
|
|
50
54
|
this.client = client;
|
|
51
55
|
this.claimsModel = claimsModel;
|
|
52
56
|
this.flavor = this.createCredentialFlavor(this.claimsModel);
|
|
53
|
-
this.credentialDocument = new
|
|
57
|
+
this.credentialDocument = new document_1.CredentialDocument(this.client, this.flavor);
|
|
54
58
|
}
|
|
55
59
|
createCredentialFlavor(claimsModel) {
|
|
56
|
-
return new
|
|
60
|
+
return new flavor_1.CredentialFlavor(claimsModel);
|
|
57
61
|
}
|
|
58
62
|
getIri() {
|
|
59
63
|
const vcContextMetadata = (0, decorators_1.getContextJsonLdMetadata)(this.claimsModel);
|
|
@@ -71,19 +75,19 @@ class VcDecorator {
|
|
|
71
75
|
return input.data.type.includes(this.getCredentialTerm());
|
|
72
76
|
}
|
|
73
77
|
map(input) {
|
|
74
|
-
if (
|
|
78
|
+
if ((0, types_1.isResourceCredential)(input)) {
|
|
75
79
|
// ResourceCredential
|
|
76
80
|
if (!this.canMap(input)) {
|
|
77
81
|
throw new Error(`The received ResourceCredential is incompatible with the current VcDecorator instance claims model`);
|
|
78
82
|
}
|
|
79
|
-
return new
|
|
83
|
+
return new issued_1.VerifiableCredential(this.client, this.flavor, input);
|
|
80
84
|
}
|
|
81
85
|
else {
|
|
82
86
|
// ResourceDraft
|
|
83
87
|
if (!this.canMap(input)) {
|
|
84
88
|
throw new Error(`The received ResourceDraft is incompatible with the current VcDecorator instance claims model`);
|
|
85
89
|
}
|
|
86
|
-
return new
|
|
90
|
+
return new draft_1.DraftCredential(this.client, this.flavor, input.data, input);
|
|
87
91
|
}
|
|
88
92
|
}
|
|
89
93
|
importBlob(blob, request) {
|
|
@@ -105,6 +109,7 @@ class VcDecorator {
|
|
|
105
109
|
});
|
|
106
110
|
return {
|
|
107
111
|
data: {
|
|
112
|
+
id: resourceCredential.data.id,
|
|
108
113
|
multihash: (_a = resourceCredential.data.multihash) !== null && _a !== void 0 ? _a : undefined,
|
|
109
114
|
},
|
|
110
115
|
id: resourceCredential.id,
|
|
@@ -183,18 +188,16 @@ class VcDecorator {
|
|
|
183
188
|
? this.credentialDocument.convertUdtToApiValues(this.claimsModel, request.claims)
|
|
184
189
|
: undefined;
|
|
185
190
|
const { id, etag, revision, data } = yield this.client.drafts.draftCreate({
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
meta: (0, converters_1.draftMetadataToApiDraftMeta)(request === null || request === void 0 ? void 0 : request.metadata),
|
|
191
|
-
},
|
|
192
|
-
annotations: request === null || request === void 0 ? void 0 : request.annotations,
|
|
193
|
-
labels: request === null || request === void 0 ? void 0 : request.labels,
|
|
191
|
+
data: {
|
|
192
|
+
schema: this.getDraftSchema(),
|
|
193
|
+
values: apiClaims,
|
|
194
|
+
meta: (0, converters_1.draftMetadataToApiDraftMeta)(request === null || request === void 0 ? void 0 : request.metadata),
|
|
194
195
|
},
|
|
196
|
+
annotations: request === null || request === void 0 ? void 0 : request.annotations,
|
|
197
|
+
labels: request === null || request === void 0 ? void 0 : request.labels,
|
|
195
198
|
idempotencyKey: (0, helpers_1.generateIdempotencyKey)('create'),
|
|
196
199
|
});
|
|
197
|
-
return new
|
|
200
|
+
return new draft_1.DraftCredential(this.client, this.flavor, data, { id, etag, revision });
|
|
198
201
|
});
|
|
199
202
|
}
|
|
200
203
|
loadAsDraft(id, revision) {
|
|
@@ -254,7 +257,7 @@ class VcDecorator {
|
|
|
254
257
|
importCredential(blob, request) {
|
|
255
258
|
return __awaiter(this, void 0, void 0, function* () {
|
|
256
259
|
const credential = yield this.importBlob(blob, request);
|
|
257
|
-
return new
|
|
260
|
+
return new issued_1.VerifiableCredential(this.client, this.flavor, credential);
|
|
258
261
|
});
|
|
259
262
|
}
|
|
260
263
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"credential.js","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"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","sourcesContent":["import fetch from 'node-fetch';\n\nimport {\n DraftFieldBooleanValue,\n DraftFieldDateTimeValue,\n DraftFieldDateValue,\n DraftFieldFileValue,\n DraftFieldLinkValue,\n DraftFieldNumberValue,\n DraftFieldStringValue,\n DraftFieldStructValue,\n DraftSchema,\n DraftSchemaFieldsItem,\n NotFoundError,\n ResourceCredential,\n ResourceDraft,\n} from '../api';\nimport * as serialization from '../serialization';\nimport { CredentialDocument, CredentialFlavor, DraftCredential, VerifiableCredential } from './credential/';\nimport {\n ClaimDescriptor,\n getClaimJsonLdTypeMetadata,\n getClaimLinkedCredentialMetadata,\n getClaimLinkedFileMetadata,\n getContextJsonLdMetadata,\n getRegisteredClaimsList,\n getTsDataTypeMetadata,\n} from './decorators';\nimport { generateIdempotencyKey } from './helpers';\nimport { Rfc3339Date, Rfc3339DateTime } from './models';\nimport type {\n ApiClient,\n BlobInput,\n Claims,\n CredentialDescriptor,\n Ctor,\n UpdatePayload,\n UpdatePayloadWithClaims,\n} from './types';\nimport { draftMetadataToApiDraftMeta, strictlyConvertToApiType, StrictPartial } from './utils/converters';\n\ntype DraftFieldValue =\n | DraftFieldBooleanValue\n | DraftFieldDateTimeValue\n | DraftFieldDateValue\n | DraftFieldFileValue\n | DraftFieldLinkValue\n | DraftFieldNumberValue\n | DraftFieldStringValue\n | DraftFieldStructValue;\n\nexport type CredentialEnvelope<T extends Claims> = {\n isVerifiable: false;\n credential: DraftCredential<T>;\n};\n\nexport type VerifiableCredentialEnvelope<T extends Claims> = {\n isVerifiable: true;\n credential: VerifiableCredential<T>;\n};\n\nexport type LoadedCredential<T extends Claims> = CredentialEnvelope<T> | VerifiableCredentialEnvelope<T>;\n\nexport class VcDecorator<T extends Claims> {\n readonly flavor = this.createCredentialFlavor(this.claimsModel);\n private credentialDocument = new CredentialDocument(this.client, this.flavor);\n\n constructor(\n private client: ApiClient,\n private claimsModel: Ctor<T>,\n ) {}\n\n protected createCredentialFlavor(claimsModel: Ctor<T>): CredentialFlavor<T> {\n return new CredentialFlavor(claimsModel);\n }\n\n getIri(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new Error(\n `Can't find IRI information. Make sure you have defined the claims model with the @VcContext decorator`,\n );\n\n return `${vcContextMetadata.namespace}#${vcContextMetadata.name}`;\n }\n\n getCredentialTerm(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new Error(\n `Can't find credential term information. Make sure you have defined the claims model with the @VcContext decorator`,\n );\n\n return `${vcContextMetadata.name}Credential`;\n }\n\n canMap(input: ResourceDraft | ResourceCredential): boolean {\n return input.data.type.includes(this.getCredentialTerm());\n }\n\n map(input: ResourceCredential): VerifiableCredential<T>;\n map(input: ResourceDraft): DraftCredential<T>;\n map(input: ResourceDraft | ResourceCredential): VerifiableCredential<T> | DraftCredential<T> {\n if ('type' in input.data) {\n // ResourceCredential\n if (!this.canMap(input)) {\n throw new Error(\n `The received ResourceCredential is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new VerifiableCredential(this.client, this.flavor, input);\n } else {\n // ResourceDraft\n if (!this.canMap(input)) {\n throw new Error(\n `The received ResourceDraft is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new DraftCredential(this.client, this.flavor, input.data, input);\n }\n }\n\n private async importBlob(blob: BlobInput, request?: UpdatePayload): Promise<CredentialDescriptor> {\n const idempotencyKey = generateIdempotencyKey('importBlob');\n const { blobId, uploadUri } = await this.client.credentials.credentialUpload({\n idempotencyKey,\n });\n\n await fetch(uploadUri, {\n method: 'PUT',\n body: blob,\n });\n\n const resourceCredential = await this.client.credentials.credentialImport({\n annotations: request?.annotations,\n labels: request?.labels,\n blobId,\n idempotencyKey,\n });\n\n return {\n data: {\n multihash: resourceCredential.data.multihash ?? undefined,\n },\n id: resourceCredential.id,\n etag: resourceCredential.etag,\n revision: resourceCredential.revision,\n };\n }\n\n private mapClaimToApi(claim: ClaimDescriptor, claimsModel: Ctor<any>): DraftSchemaFieldsItem {\n const claimJsonLdType = getClaimJsonLdTypeMetadata(claimsModel, claim.name);\n const draftBaseFieldValue: StrictPartial<DraftFieldValue> = {\n name: claim.name,\n title: claim.title,\n notEmpty: claim.notEmpty,\n isArray: claim.isArray || undefined,\n };\n\n if (\n claim.nestedType &&\n !Array.of<Ctor<any>>(String, Number, Date, Rfc3339DateTime, Rfc3339Date, Boolean).includes(claim.nestedType)\n ) {\n const claimNestedType = claim.nestedType;\n const linkedModel = getClaimLinkedCredentialMetadata(claimsModel, claim.name);\n\n if (linkedModel) {\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'LINK',\n linkType: undefined,\n });\n } else {\n const nestedContextInfo = getContextJsonLdMetadata(claimNestedType);\n\n if (!nestedContextInfo) {\n throw new Error(\n `The information about the VC context was not found in the \"${claimNestedType.name}\" model. Please use the \"@VcContext\" decorator to define the necessary information.`,\n );\n }\n\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'STRUCT',\n fields: getRegisteredClaimsList(claimNestedType).map((nestedClaim) => {\n return this.mapClaimToApi(nestedClaim, claimNestedType);\n }),\n vocabNamespace: nestedContextInfo.namespace,\n vocabName: nestedContextInfo.name,\n });\n }\n } else {\n const isLinkedFile = getClaimLinkedFileMetadata(claimsModel, claim.name);\n\n if (isLinkedFile) {\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'FILE',\n });\n } else {\n const tsDataType = claim.nestedType || getTsDataTypeMetadata(claimsModel, claim.name);\n\n if (!tsDataType) {\n throw new Error(\n `The information about the VC claim data type was not found for the \"${claim.name}\" property. Ensure that \"emitDecoratorMetadata\" is enabled in your \"tsconfig.json\".`,\n );\n }\n\n switch (tsDataType) {\n case String:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'STRING',\n type: claimJsonLdType,\n enum: claim.enumValuesDescriptor,\n });\n case Number:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'NUMBER',\n type: claimJsonLdType,\n });\n case Boolean:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'BOOLEAN',\n type: claimJsonLdType,\n });\n case Rfc3339Date:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'DATE',\n type: claimJsonLdType,\n });\n case Rfc3339DateTime:\n case Date:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'DATETIME',\n type: claimJsonLdType,\n });\n default:\n throw new Error(\n `Unsupported primitive data type: ${tsDataType.name}. Please use one of the supported types. You can find more information in the documentation.`,\n );\n }\n }\n }\n }\n\n protected getDraftSchema(): DraftSchema | undefined {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata) return undefined;\n\n return strictlyConvertToApiType(serialization.DraftSchema, {\n fields: getRegisteredClaimsList(this.claimsModel).map((claim) =>\n this.mapClaimToApi(claim, this.claimsModel),\n ),\n vocabNamespace: vcContextMetadata.namespace,\n vocabName: vcContextMetadata.name,\n vcType: vcContextMetadata.vcType,\n });\n }\n\n async create(request?: UpdatePayloadWithClaims<T>): Promise<DraftCredential<T>> {\n const apiClaims = request?.claims\n ? this.credentialDocument.convertUdtToApiValues(this.claimsModel, request.claims as T)\n : undefined;\n const { id, etag, revision, data } = await this.client.drafts.draftCreate({\n body: {\n data: {\n schema: this.getDraftSchema(),\n values: apiClaims,\n meta: draftMetadataToApiDraftMeta(request?.metadata),\n },\n annotations: request?.annotations,\n labels: request?.labels,\n },\n idempotencyKey: generateIdempotencyKey('create'),\n });\n\n return new DraftCredential(this.client, this.flavor, data, { id, etag, revision });\n }\n\n async loadAsDraft(id: string, revision?: number): Promise<DraftCredential<T>> {\n const resourceDraft = revision\n ? await this.client.drafts.draftRevision(id, revision)\n : await this.client.drafts.draftLatest(id);\n\n return this.map(resourceDraft);\n }\n\n async loadAsCredential(id: string, revision?: number): Promise<VerifiableCredential<T>> {\n const resourceCredential = revision\n ? await this.client.credentials.credentialRevision(id, revision)\n : await this.client.credentials.credentialLatest(id);\n\n return this.map(resourceCredential);\n }\n\n async load(id: string, revision?: number): Promise<LoadedCredential<T>> {\n let verifiableCredential: VerifiableCredential<T> | undefined;\n let draftCredential: DraftCredential<T> | undefined;\n\n try {\n verifiableCredential = await this.loadAsCredential(id, revision);\n } catch (error) {\n if (error instanceof NotFoundError) {\n draftCredential = await this.loadAsDraft(id, revision);\n } else throw error;\n }\n\n if (!draftCredential) {\n if (!verifiableCredential) throw new Error(`Resource with id '${id}' could not be found.`);\n\n return {\n isVerifiable: true,\n credential: verifiableCredential,\n };\n } else {\n return {\n isVerifiable: false,\n credential: draftCredential,\n };\n }\n }\n\n /**\n * @deprecated Please use `importCredential` instead. This method will be removed after January 2025.\n */\n async import(blob: BlobInput, request?: UpdatePayload): Promise<VerifiableCredential<T>> {\n return this.importCredential(blob, request);\n }\n\n async importCredential(blob: BlobInput, request?: UpdatePayload): Promise<VerifiableCredential<T>> {\n const credential = await this.importBlob(blob, request);\n\n return new VerifiableCredential(this.client, this.flavor, credential);\n }\n}\n\nexport { VerifiableCredential };\n"]}
|
|
1
|
+
{"version":3,"file":"credential.js","sourceRoot":"","sources":["../../src/documents/credential.ts"],"names":[],"mappings":"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","sourcesContent":["import fetch from 'node-fetch';\n\nimport {\n DraftFieldBooleanValue,\n DraftFieldDateTimeValue,\n DraftFieldDateValue,\n DraftFieldFileValue,\n DraftFieldLinkValue,\n DraftFieldNumberValue,\n DraftFieldStringValue,\n DraftFieldStructValue,\n DraftSchema,\n DraftSchemaFieldsItem,\n NotFoundError,\n ResourceCredential,\n ResourceDraft,\n} from '../api';\nimport * as serialization from '../serialization';\nimport { DraftCredential } from './credential/draft';\nimport { VerifiableCredential } from './credential/issued';\nimport { CredentialDocument } from './credential/document';\nimport { CredentialFlavor } from './credential/flavor';\nimport {\n ClaimDescriptor,\n getClaimJsonLdTypeMetadata,\n getClaimLinkedCredentialMetadata,\n getClaimLinkedFileMetadata,\n getContextJsonLdMetadata,\n getRegisteredClaimsList,\n getTsDataTypeMetadata,\n} from './decorators';\nimport { generateIdempotencyKey } from './helpers';\nimport { Rfc3339Date, Rfc3339DateTime } from './models';\nimport {\n ApiClient,\n BlobInput,\n Claims,\n CredentialDescriptor,\n Ctor,\n isResourceCredential,\n UpdatePayload,\n UpdatePayloadWithClaims,\n} from './types';\nimport { draftMetadataToApiDraftMeta, strictlyConvertToApiType, StrictPartial } from './utils/converters';\n\ntype DraftFieldValue =\n | DraftFieldBooleanValue\n | DraftFieldDateTimeValue\n | DraftFieldDateValue\n | DraftFieldFileValue\n | DraftFieldLinkValue\n | DraftFieldNumberValue\n | DraftFieldStringValue\n | DraftFieldStructValue;\n\nexport type CredentialEnvelope<T extends Claims> = {\n isVerifiable: false;\n credential: DraftCredential<T>;\n};\n\nexport type VerifiableCredentialEnvelope<T extends Claims> = {\n isVerifiable: true;\n credential: VerifiableCredential<T>;\n};\n\nexport type LoadedCredential<T extends Claims> = CredentialEnvelope<T> | VerifiableCredentialEnvelope<T>;\n\nexport class VcDecorator<T extends Claims> {\n readonly flavor = this.createCredentialFlavor(this.claimsModel);\n private credentialDocument = new CredentialDocument(this.client, this.flavor);\n\n constructor(\n private client: ApiClient,\n private claimsModel: Ctor<T>,\n ) {}\n\n protected createCredentialFlavor(claimsModel: Ctor<T>): CredentialFlavor<T> {\n return new CredentialFlavor(claimsModel);\n }\n\n getIri(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new Error(\n `Can't find IRI information. Make sure you have defined the claims model with the @VcContext decorator`,\n );\n\n return `${vcContextMetadata.namespace}#${vcContextMetadata.name}`;\n }\n\n getCredentialTerm(): string {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata)\n throw new Error(\n `Can't find credential term information. Make sure you have defined the claims model with the @VcContext decorator`,\n );\n\n return `${vcContextMetadata.name}Credential`;\n }\n\n canMap(input: ResourceDraft | ResourceCredential): boolean {\n return input.data.type.includes(this.getCredentialTerm());\n }\n\n map(input: ResourceCredential): VerifiableCredential<T>;\n map(input: ResourceDraft): DraftCredential<T>;\n map(input: ResourceDraft | ResourceCredential): VerifiableCredential<T> | DraftCredential<T> {\n if (isResourceCredential(input)) {\n // ResourceCredential\n if (!this.canMap(input)) {\n throw new Error(\n `The received ResourceCredential is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new VerifiableCredential(this.client, this.flavor, input);\n } else {\n // ResourceDraft\n if (!this.canMap(input)) {\n throw new Error(\n `The received ResourceDraft is incompatible with the current VcDecorator instance claims model`,\n );\n }\n\n return new DraftCredential(this.client, this.flavor, input.data, input);\n }\n }\n\n private async importBlob(blob: BlobInput, request?: UpdatePayload): Promise<CredentialDescriptor> {\n const idempotencyKey = generateIdempotencyKey('importBlob');\n const { blobId, uploadUri } = await this.client.credentials.credentialUpload({\n idempotencyKey,\n });\n\n await fetch(uploadUri, {\n method: 'PUT',\n body: blob,\n });\n\n const resourceCredential = await this.client.credentials.credentialImport({\n annotations: request?.annotations,\n labels: request?.labels,\n blobId,\n idempotencyKey,\n });\n\n return {\n data: {\n id: resourceCredential.data.id,\n multihash: resourceCredential.data.multihash ?? undefined,\n },\n id: resourceCredential.id,\n etag: resourceCredential.etag,\n revision: resourceCredential.revision,\n };\n }\n\n private mapClaimToApi(claim: ClaimDescriptor, claimsModel: Ctor<any>): DraftSchemaFieldsItem {\n const claimJsonLdType = getClaimJsonLdTypeMetadata(claimsModel, claim.name);\n const draftBaseFieldValue: StrictPartial<DraftFieldValue> = {\n name: claim.name,\n title: claim.title,\n notEmpty: claim.notEmpty,\n isArray: claim.isArray || undefined,\n };\n\n if (\n claim.nestedType &&\n !Array.of<Ctor<any>>(String, Number, Date, Rfc3339DateTime, Rfc3339Date, Boolean).includes(claim.nestedType)\n ) {\n const claimNestedType = claim.nestedType;\n const linkedModel = getClaimLinkedCredentialMetadata(claimsModel, claim.name);\n\n if (linkedModel) {\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'LINK',\n linkType: undefined,\n });\n } else {\n const nestedContextInfo = getContextJsonLdMetadata(claimNestedType);\n\n if (!nestedContextInfo) {\n throw new Error(\n `The information about the VC context was not found in the \"${claimNestedType.name}\" model. Please use the \"@VcContext\" decorator to define the necessary information.`,\n );\n }\n\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'STRUCT',\n fields: getRegisteredClaimsList(claimNestedType).map((nestedClaim) => {\n return this.mapClaimToApi(nestedClaim, claimNestedType);\n }),\n vocabNamespace: nestedContextInfo.namespace,\n vocabName: nestedContextInfo.name,\n });\n }\n } else {\n const isLinkedFile = getClaimLinkedFileMetadata(claimsModel, claim.name);\n\n if (isLinkedFile) {\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'FILE',\n });\n } else {\n const tsDataType = claim.nestedType || getTsDataTypeMetadata(claimsModel, claim.name);\n\n if (!tsDataType) {\n throw new Error(\n `The information about the VC claim data type was not found for the \"${claim.name}\" property. Ensure that \"emitDecoratorMetadata\" is enabled in your \"tsconfig.json\".`,\n );\n }\n\n switch (tsDataType) {\n case String:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'STRING',\n type: claimJsonLdType,\n enum: claim.enumValuesDescriptor,\n });\n case Number:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'NUMBER',\n type: claimJsonLdType,\n });\n case Boolean:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'BOOLEAN',\n type: claimJsonLdType,\n });\n case Rfc3339Date:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'DATE',\n type: claimJsonLdType,\n });\n case Rfc3339DateTime:\n case Date:\n return strictlyConvertToApiType(serialization.DraftSchemaFieldsItem, {\n ...draftBaseFieldValue,\n kind: 'DATETIME',\n type: claimJsonLdType,\n });\n default:\n throw new Error(\n `Unsupported primitive data type: ${tsDataType.name}. Please use one of the supported types. You can find more information in the documentation.`,\n );\n }\n }\n }\n }\n\n protected getDraftSchema(): DraftSchema | undefined {\n const vcContextMetadata = getContextJsonLdMetadata(this.claimsModel);\n\n if (!vcContextMetadata) return undefined;\n\n return strictlyConvertToApiType(serialization.DraftSchema, {\n fields: getRegisteredClaimsList(this.claimsModel).map((claim) =>\n this.mapClaimToApi(claim, this.claimsModel),\n ),\n vocabNamespace: vcContextMetadata.namespace,\n vocabName: vcContextMetadata.name,\n vcType: vcContextMetadata.vcType,\n });\n }\n\n async create(request?: UpdatePayloadWithClaims<T>): Promise<DraftCredential<T>> {\n const apiClaims = request?.claims\n ? this.credentialDocument.convertUdtToApiValues(this.claimsModel, request.claims as T)\n : undefined;\n\n const { id, etag, revision, data } = await this.client.drafts.draftCreate({\n data: {\n schema: this.getDraftSchema(),\n values: apiClaims,\n meta: draftMetadataToApiDraftMeta(request?.metadata),\n },\n annotations: request?.annotations,\n labels: request?.labels,\n idempotencyKey: generateIdempotencyKey('create'),\n });\n\n return new DraftCredential(this.client, this.flavor, data, { id, etag, revision });\n }\n\n async loadAsDraft(id: string, revision?: number): Promise<DraftCredential<T>> {\n const resourceDraft = revision\n ? await this.client.drafts.draftRevision(id, revision)\n : await this.client.drafts.draftLatest(id);\n\n return this.map(resourceDraft);\n }\n\n async loadAsCredential(id: string, revision?: number): Promise<VerifiableCredential<T>> {\n const resourceCredential = revision\n ? await this.client.credentials.credentialRevision(id, revision)\n : await this.client.credentials.credentialLatest(id);\n\n return this.map(resourceCredential);\n }\n\n async load(id: string, revision?: number): Promise<LoadedCredential<T>> {\n let verifiableCredential: VerifiableCredential<T> | undefined;\n let draftCredential: DraftCredential<T> | undefined;\n\n try {\n verifiableCredential = await this.loadAsCredential(id, revision);\n } catch (error) {\n if (error instanceof NotFoundError) {\n draftCredential = await this.loadAsDraft(id, revision);\n } else throw error;\n }\n\n if (!draftCredential) {\n if (!verifiableCredential) throw new Error(`Resource with id '${id}' could not be found.`);\n\n return {\n isVerifiable: true,\n credential: verifiableCredential,\n };\n } else {\n return {\n isVerifiable: false,\n credential: draftCredential,\n };\n }\n }\n\n /**\n * @deprecated Please use `importCredential` instead. This method will be removed after January 2025.\n */\n async import(blob: BlobInput, request?: UpdatePayload): Promise<VerifiableCredential<T>> {\n return this.importCredential(blob, request);\n }\n\n async importCredential(blob: BlobInput, request?: UpdatePayload): Promise<VerifiableCredential<T>> {\n const credential = await this.importBlob(blob, request);\n\n return new VerifiableCredential(this.client, this.flavor, credential);\n }\n}\n\nexport { VerifiableCredential };\n"]}
|
package/documents/models.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { ApiClient, Claims, Ctor, FileBlob, FileDescriptor, LinkedEntityDescriptor } from './types';
|
|
3
|
-
import type { VerifiableCredential } from './credential/';
|
|
3
|
+
import type { VerifiableCredential } from './credential/issued';
|
|
4
4
|
import { Readable } from 'stream';
|
|
5
5
|
declare type NormalizedLinkedEntityId = {
|
|
6
6
|
linkedId: string;
|
|
@@ -16,6 +16,7 @@ export declare class LinkedCredential<T extends Claims> implements LinkedEntityD
|
|
|
16
16
|
type: LinkedEntityDescriptor['type'];
|
|
17
17
|
constructor(client: ApiClient, claimsModel: Ctor<T>, id: string, digestMultibase?: string | undefined);
|
|
18
18
|
toJSON(): LinkedEntityDescriptor;
|
|
19
|
+
private getLinkedCredentialResource;
|
|
19
20
|
dereference(): Promise<VerifiableCredential<T>>;
|
|
20
21
|
}
|
|
21
22
|
declare type DownloadableFile = FileDescriptor & {
|
|
@@ -31,6 +32,7 @@ export declare class LinkedFile implements LinkedEntityDescriptor {
|
|
|
31
32
|
type: LinkedEntityDescriptor['type'];
|
|
32
33
|
constructor(client: ApiClient, id: string, digestMultibase?: string | undefined);
|
|
33
34
|
toJSON(): LinkedEntityDescriptor;
|
|
35
|
+
private getLinkedFileResource;
|
|
34
36
|
dereference(): Promise<DownloadableFile>;
|
|
35
37
|
}
|
|
36
38
|
export declare class Rfc3339Date {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/documents/models.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACzG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"models.d.ts","sourceRoot":"","sources":["../../src/documents/models.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACzG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAGlC,aAAK,wBAAwB,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,qBAAa,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,sBAAsB;IAiCzE,OAAO,CAAC,MAAM;IACd,OAAO,CAAC,WAAW;IAEZ,eAAe,CAAC;IAnC3B,MAAM,CAAC,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,wBAAwB;IAoBxE,MAAM,CAAC,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAQ1F,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAsB;gBAGrD,MAAM,EAAE,SAAS,EACjB,WAAW,EAAE,IAAI,CAAC,CAAC,CAAC,EAC5B,EAAE,EAAE,MAAM,EACH,eAAe,CAAC,oBAAQ;IAKnC,MAAM,IAAI,sBAAsB;YAIlB,2BAA2B;IA0CnC,WAAW,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC;CAKxD;AAED,aAAK,gBAAgB,GAAG,cAAc,GAAG;IACrC,SAAS,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnC,QAAQ,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,CAAC;CACrC,CAAC;AAEF,qBAAa,UAAW,YAAW,sBAAsB;IAiCjD,OAAO,CAAC,MAAM;IAEP,eAAe,CAAC;IAlC3B,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,MAAM,GAAG,wBAAwB;IAoBlE,MAAM,CAAC,4BAA4B,CAAC,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,EAAE,MAAM,GAAG,sBAAsB;IAQ1F,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,sBAAsB,CAAC,MAAM,CAAC,CAAgB;gBAG/C,MAAM,EAAE,SAAS,EACzB,EAAE,EAAE,MAAM,EACH,eAAe,CAAC,oBAAQ;IAKnC,MAAM,IAAI,sBAAsB;YAIlB,qBAAqB;IA4C7B,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;CAgBjD;AAED,qBAAa,WAAW;IACpB,OAAO,CAAC,IAAI,CAAO;gBAEP,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;gBACxC,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE,IAAI;;IAsBtB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,MAAM,IAAI,IAAI;CAGjB;AAED,qBAAa,eAAe;IACxB,OAAO,CAAC,IAAI,CAAO;gBAEP,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;gBACxC,UAAU,EAAE,MAAM;gBAClB,IAAI,EAAE,IAAI;;IAkBtB,QAAQ,IAAI,MAAM;IAIlB,MAAM,IAAI,MAAM;IAIhB,MAAM,IAAI,IAAI;CAGjB"}
|
package/documents/models.js
CHANGED
|
@@ -1,27 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
3
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
4
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -33,6 +10,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
33
10
|
};
|
|
34
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
12
|
exports.Rfc3339DateTime = exports.Rfc3339Date = exports.LinkedFile = exports.LinkedCredential = void 0;
|
|
13
|
+
const credential_1 = require("./credential");
|
|
36
14
|
const stream_1 = require("./utils/stream");
|
|
37
15
|
class LinkedCredential {
|
|
38
16
|
constructor(client, claimsModel, id, digestMultibase) {
|
|
@@ -43,18 +21,18 @@ class LinkedCredential {
|
|
|
43
21
|
this.id = LinkedCredential.normalizeLinkedCredentialId(id).linkedId;
|
|
44
22
|
}
|
|
45
23
|
static normalizeLinkedCredentialId(id) {
|
|
46
|
-
const
|
|
24
|
+
const expectedCredentialResourcePrefix = 'urn:credential:';
|
|
47
25
|
if (id.startsWith('urn:')) {
|
|
48
|
-
if (!id.startsWith(
|
|
26
|
+
if (!id.startsWith(expectedCredentialResourcePrefix)) {
|
|
49
27
|
throw new Error(`The ID does not refer to a credential: ${id}`);
|
|
50
28
|
}
|
|
51
29
|
return {
|
|
52
30
|
linkedId: id,
|
|
53
|
-
resourceId: id.slice(
|
|
31
|
+
resourceId: id.slice(expectedCredentialResourcePrefix.length),
|
|
54
32
|
};
|
|
55
33
|
}
|
|
56
34
|
return {
|
|
57
|
-
linkedId:
|
|
35
|
+
linkedId: expectedCredentialResourcePrefix + id,
|
|
58
36
|
resourceId: id,
|
|
59
37
|
};
|
|
60
38
|
}
|
|
@@ -68,15 +46,45 @@ class LinkedCredential {
|
|
|
68
46
|
toJSON() {
|
|
69
47
|
return LinkedCredential.createLinkedEntityDescriptor(this.id, this.digestMultibase);
|
|
70
48
|
}
|
|
71
|
-
|
|
49
|
+
getLinkedCredentialResource() {
|
|
72
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
51
|
+
/**
|
|
52
|
+
* When resolving credentials, we should always rely on `digestMultibase` when available, as it contains
|
|
53
|
+
* the SHA hash of the normalized JSON-LD content and uniquely identifies a credential blob + we have
|
|
54
|
+
* a deduplication for credentials on the backend.
|
|
55
|
+
*/
|
|
56
|
+
if (this.digestMultibase) {
|
|
57
|
+
const result = yield this.client.credentials.credentialSearch({
|
|
58
|
+
filter: [
|
|
59
|
+
{
|
|
60
|
+
data: {
|
|
61
|
+
multihash: {
|
|
62
|
+
operator: 'EQUAL',
|
|
63
|
+
value: this.digestMultibase,
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
});
|
|
69
|
+
const linkedCredential = result.items.at(0);
|
|
70
|
+
if (!linkedCredential) {
|
|
71
|
+
throw new Error(`Could not resolve credential resource. Please ensure that the linked credential exists or that you have access to it`);
|
|
72
|
+
}
|
|
73
|
+
return linkedCredential;
|
|
78
74
|
}
|
|
79
|
-
|
|
75
|
+
/**
|
|
76
|
+
* In cases where we don't have a `digestMultibase`, we try to request a credential using the existing ID.
|
|
77
|
+
* If the ID is correct, we'll get the result; if not, the backend will return a proper error message.
|
|
78
|
+
* The backend error message is a better way to explain to users what happened in cases of failure since
|
|
79
|
+
* we have more capabilities to detect the root cause.
|
|
80
|
+
*/
|
|
81
|
+
return this.client.credentials.credentialLatest(LinkedCredential.normalizeLinkedCredentialId(this.id).resourceId);
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
dereference() {
|
|
85
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
const linkedCredentialResource = yield this.getLinkedCredentialResource();
|
|
87
|
+
return new credential_1.VcDecorator(this.client, this.claimsModel).map(linkedCredentialResource);
|
|
80
88
|
});
|
|
81
89
|
}
|
|
82
90
|
}
|
|
@@ -89,18 +97,18 @@ class LinkedFile {
|
|
|
89
97
|
this.id = LinkedFile.normalizeLinkedFileId(id).linkedId;
|
|
90
98
|
}
|
|
91
99
|
static normalizeLinkedFileId(id) {
|
|
92
|
-
const
|
|
100
|
+
const expectedFileResourcePrefix = 'urn:file:';
|
|
93
101
|
if (id.startsWith('urn:')) {
|
|
94
|
-
if (!id.startsWith(
|
|
102
|
+
if (!id.startsWith(expectedFileResourcePrefix)) {
|
|
95
103
|
throw new Error(`The ID does not refer to a file: ${id}`);
|
|
96
104
|
}
|
|
97
105
|
return {
|
|
98
106
|
linkedId: id,
|
|
99
|
-
resourceId: id.slice(
|
|
107
|
+
resourceId: id.slice(expectedFileResourcePrefix.length),
|
|
100
108
|
};
|
|
101
109
|
}
|
|
102
110
|
return {
|
|
103
|
-
linkedId:
|
|
111
|
+
linkedId: expectedFileResourcePrefix + id,
|
|
104
112
|
resourceId: id,
|
|
105
113
|
};
|
|
106
114
|
}
|
|
@@ -114,9 +122,48 @@ class LinkedFile {
|
|
|
114
122
|
toJSON() {
|
|
115
123
|
return LinkedFile.createLinkedEntityDescriptor(this.id, this.digestMultibase);
|
|
116
124
|
}
|
|
125
|
+
getLinkedFileResource() {
|
|
126
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
/**
|
|
128
|
+
* When resolving files, we should always rely on `digestMultibase` when available, as it contains
|
|
129
|
+
* the SHA hash of the content.
|
|
130
|
+
*
|
|
131
|
+
* TODO(kn-16663): Unfortunately, we currently don't have deduplication for files, which means that faceted
|
|
132
|
+
* search by `digestMultibase` may return 0-n resources.
|
|
133
|
+
* However, since we plan to fix this in the future, we continue to resolve resources as if they
|
|
134
|
+
* are deduplicated.
|
|
135
|
+
*/
|
|
136
|
+
if (this.digestMultibase) {
|
|
137
|
+
const result = yield this.client.files.fileSearch({
|
|
138
|
+
filter: [
|
|
139
|
+
{
|
|
140
|
+
data: {
|
|
141
|
+
multihash: {
|
|
142
|
+
operator: 'EQUAL',
|
|
143
|
+
value: this.digestMultibase,
|
|
144
|
+
},
|
|
145
|
+
},
|
|
146
|
+
},
|
|
147
|
+
],
|
|
148
|
+
});
|
|
149
|
+
const linkedFile = result.items.at(0);
|
|
150
|
+
if (!linkedFile) {
|
|
151
|
+
throw new Error(`Could not resolve file resource. Please ensure that the linked file exists or that you have access to it`);
|
|
152
|
+
}
|
|
153
|
+
return linkedFile;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* In cases where we don't have a `digestMultibase`, we try to request a file using the existing ID.
|
|
157
|
+
* If the ID is correct, we'll get the result; if not, the backend will return a proper error message.
|
|
158
|
+
* The backend error message is a better way to explain to users what happened in cases of failure since
|
|
159
|
+
* we have more capabilities to detect the root cause.
|
|
160
|
+
*/
|
|
161
|
+
return this.client.files.fileLatest(LinkedFile.normalizeLinkedFileId(this.id).resourceId);
|
|
162
|
+
});
|
|
163
|
+
}
|
|
117
164
|
dereference() {
|
|
118
165
|
return __awaiter(this, void 0, void 0, function* () {
|
|
119
|
-
const file = yield this.
|
|
166
|
+
const file = yield this.getLinkedFileResource();
|
|
120
167
|
return {
|
|
121
168
|
id: file.id,
|
|
122
169
|
revision: file.revision,
|