@sphereon/ssi-sdk.data-store 0.29.0 → 0.29.1-next.104
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/digitalCredential/DigitalCredentialStore.js +1 -1
- package/dist/digitalCredential/DigitalCredentialStore.js.map +1 -1
- package/dist/entities/contact/BaseContactEntity.js +2 -2
- package/dist/entities/contact/BaseContactEntity.js.map +1 -1
- package/dist/entities/contact/ContactMetadataItemEntity.js +1 -1
- package/dist/entities/contact/ContactMetadataItemEntity.js.map +1 -1
- package/dist/entities/contact/ElectronicAddressEntity.js +2 -2
- package/dist/entities/contact/ElectronicAddressEntity.js.map +1 -1
- package/dist/entities/contact/IdentityEntity.js +2 -2
- package/dist/entities/contact/IdentityEntity.js.map +1 -1
- package/dist/entities/contact/IdentityMetadataItemEntity.js +1 -1
- package/dist/entities/contact/IdentityMetadataItemEntity.js.map +1 -1
- package/dist/entities/contact/OrganizationEntity.d.ts.map +1 -1
- package/dist/entities/contact/OrganizationEntity.js.map +1 -1
- package/dist/entities/contact/PartyEntity.js +2 -2
- package/dist/entities/contact/PartyEntity.js.map +1 -1
- package/dist/entities/contact/PartyRelationshipEntity.js +2 -2
- package/dist/entities/contact/PartyRelationshipEntity.js.map +1 -1
- package/dist/entities/contact/PartyTypeEntity.js +2 -2
- package/dist/entities/contact/PartyTypeEntity.js.map +1 -1
- package/dist/entities/contact/PhysicalAddressEntity.js +2 -2
- package/dist/entities/contact/PhysicalAddressEntity.js.map +1 -1
- package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts +2 -2
- package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts.map +1 -1
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js +6 -6
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js.map +1 -1
- package/dist/entities/eventLogger/AuditEventEntity.js +3 -3
- package/dist/entities/eventLogger/AuditEventEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/BaseLocaleBrandingEntity.js +2 -2
- package/dist/entities/issuanceBranding/BaseLocaleBrandingEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/CredentialBrandingEntity.js +2 -2
- package/dist/entities/issuanceBranding/CredentialBrandingEntity.js.map +1 -1
- package/dist/entities/issuanceBranding/IssuerBrandingEntity.js +2 -2
- package/dist/entities/issuanceBranding/IssuerBrandingEntity.js.map +1 -1
- package/dist/entities/machineState/MachineStateInfoEntity.js +4 -4
- package/dist/entities/machineState/MachineStateInfoEntity.js.map +1 -1
- package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.js +2 -2
- package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.js.map +1 -1
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js +1 -1
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js.map +1 -1
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js +2 -2
- package/dist/statusList/IStatusListStore.d.ts +2 -2
- package/dist/statusList/IStatusListStore.d.ts.map +1 -1
- package/dist/types/contact/contact.d.ts +2 -2
- package/dist/types/contact/contact.d.ts.map +1 -1
- package/dist/types/digitalCredential/digitalCredential.d.ts +7 -1
- package/dist/types/digitalCredential/digitalCredential.d.ts.map +1 -1
- package/dist/types/digitalCredential/digitalCredential.js +36 -0
- package/dist/types/digitalCredential/digitalCredential.js.map +1 -1
- package/dist/utils/contact/MappingUtils.d.ts.map +1 -1
- package/dist/utils/contact/MappingUtils.js +13 -1
- package/dist/utils/contact/MappingUtils.js.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.d.ts +1 -2
- package/dist/utils/digitalCredential/MappingUtils.d.ts.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.js +21 -22
- package/dist/utils/digitalCredential/MappingUtils.js.map +1 -1
- package/package.json +7 -6
- package/src/__tests__/contact.entities.test.ts +19 -18
- package/src/__tests__/contact.store.test.ts +1 -1
- package/src/__tests__/digitalCredential.entities.test.ts +1 -1
- package/src/__tests__/digitalCredential.store.test.ts +1 -1
- package/src/__tests__/eventLogger.entities.test.ts +1 -1
- package/src/__tests__/eventLogger.store.test.ts +1 -1
- package/src/__tests__/issuanceBranding.entities.test.ts +1 -1
- package/src/__tests__/issuanceBranding.store.test.ts +1 -1
- package/src/__tests__/machineState.entities.test.ts +1 -1
- package/src/__tests__/machineState.store.test.ts +1 -1
- package/src/__tests__/pd-manager.entities.test.ts +1 -1
- package/src/__tests__/pd-manager.store.test.ts +1 -1
- package/src/digitalCredential/DigitalCredentialStore.ts +1 -1
- package/src/entities/contact/BaseContactEntity.ts +3 -3
- package/src/entities/contact/ContactMetadataItemEntity.ts +2 -2
- package/src/entities/contact/ElectronicAddressEntity.ts +3 -3
- package/src/entities/contact/IdentityEntity.ts +3 -3
- package/src/entities/contact/IdentityMetadataItemEntity.ts +2 -2
- package/src/entities/contact/OrganizationEntity.ts +5 -5
- package/src/entities/contact/PartyEntity.ts +3 -3
- package/src/entities/contact/PartyRelationshipEntity.ts +3 -3
- package/src/entities/contact/PartyTypeEntity.ts +3 -3
- package/src/entities/contact/PhysicalAddressEntity.ts +3 -3
- package/src/entities/digitalCredential/DigitalCredentialEntity.ts +16 -9
- package/src/entities/eventLogger/AuditEventEntity.ts +4 -4
- package/src/entities/issuanceBranding/BaseLocaleBrandingEntity.ts +3 -3
- package/src/entities/issuanceBranding/CredentialBrandingEntity.ts +3 -3
- package/src/entities/issuanceBranding/IssuerBrandingEntity.ts +3 -3
- package/src/entities/machineState/MachineStateInfoEntity.ts +5 -5
- package/src/entities/presentationDefinition/PresentationDefinitionItemEntity.ts +3 -3
- package/src/migrations/postgres/1708525189001-CreateDigitalCredential.ts +1 -1
- package/src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts +2 -2
- package/src/statusList/IStatusListStore.ts +2 -2
- package/src/types/contact/contact.ts +2 -2
- package/src/types/digitalCredential/digitalCredential.ts +32 -0
- package/src/utils/contact/MappingUtils.ts +12 -1
- package/src/utils/digitalCredential/MappingUtils.ts +18 -25
|
@@ -1,8 +1,5 @@
|
|
|
1
|
-
import { AddCredentialArgs } from '../../types/digitalCredential/IAbstractDigitalCredentialStore'
|
|
2
|
-
import { DigitalCredentialEntity } from '../../entities/digitalCredential/DigitalCredentialEntity'
|
|
3
1
|
import {
|
|
4
2
|
CredentialMapper,
|
|
5
|
-
decodeSdJwtVc,
|
|
6
3
|
DocumentFormat,
|
|
7
4
|
IVerifiableCredential,
|
|
8
5
|
IVerifiablePresentation,
|
|
@@ -10,13 +7,9 @@ import {
|
|
|
10
7
|
OriginalVerifiablePresentation,
|
|
11
8
|
SdJwtDecodedVerifiableCredentialPayload,
|
|
12
9
|
} from '@sphereon/ssi-types'
|
|
13
|
-
import {
|
|
14
|
-
CredentialDocumentFormat,
|
|
15
|
-
DocumentType,
|
|
16
|
-
DigitalCredential,
|
|
17
|
-
NonPersistedDigitalCredential,
|
|
18
|
-
} from '../../types/digitalCredential/digitalCredential'
|
|
19
10
|
import { computeEntryHash } from '@veramo/utils'
|
|
11
|
+
import { DigitalCredentialEntity } from '../../entities/digitalCredential/DigitalCredentialEntity'
|
|
12
|
+
import { AddCredentialArgs, CredentialDocumentFormat, DigitalCredential, DocumentType, NonPersistedDigitalCredential } from '../../types'
|
|
20
13
|
|
|
21
14
|
function determineDocumentType(raw: string): DocumentType {
|
|
22
15
|
const rawDocument = parseRawDocument(raw)
|
|
@@ -61,24 +54,24 @@ function determineCredentialDocumentFormat(documentFormat: DocumentFormat): Cred
|
|
|
61
54
|
}
|
|
62
55
|
|
|
63
56
|
function getValidUntil(uniformDocument: IVerifiableCredential | IVerifiablePresentation | SdJwtDecodedVerifiableCredentialPayload): Date | undefined {
|
|
64
|
-
if ('expirationDate' in uniformDocument) {
|
|
57
|
+
if ('expirationDate' in uniformDocument && uniformDocument.expirationDate) {
|
|
65
58
|
return new Date(uniformDocument.expirationDate)
|
|
66
|
-
} else if ('validUntil' in uniformDocument) {
|
|
59
|
+
} else if ('validUntil' in uniformDocument && uniformDocument.validUntil) {
|
|
67
60
|
return new Date(uniformDocument.validUntil)
|
|
68
|
-
} else if ('exp' in uniformDocument) {
|
|
69
|
-
return new Date(uniformDocument.exp)
|
|
61
|
+
} else if ('exp' in uniformDocument && uniformDocument.exp) {
|
|
62
|
+
return new Date(uniformDocument.exp * 1000)
|
|
70
63
|
}
|
|
71
64
|
return undefined
|
|
72
65
|
}
|
|
73
66
|
|
|
74
67
|
function getValidFrom(uniformDocument: IVerifiableCredential | IVerifiablePresentation | SdJwtDecodedVerifiableCredentialPayload): Date | undefined {
|
|
75
|
-
if ('issuanceDate' in uniformDocument) {
|
|
68
|
+
if ('issuanceDate' in uniformDocument && uniformDocument.issuanceDate) {
|
|
76
69
|
return new Date(uniformDocument.issuanceDate)
|
|
77
|
-
} else if ('validFrom' in uniformDocument) {
|
|
70
|
+
} else if ('validFrom' in uniformDocument && uniformDocument.validFrom) {
|
|
78
71
|
return new Date(uniformDocument['validFrom'])
|
|
79
|
-
} else if ('nbf' in uniformDocument) {
|
|
72
|
+
} else if ('nbf' in uniformDocument && uniformDocument.nbf) {
|
|
80
73
|
return new Date(uniformDocument['nbf'] * 1000)
|
|
81
|
-
} else if ('iat' in uniformDocument) {
|
|
74
|
+
} else if ('iat' in uniformDocument && uniformDocument.iat) {
|
|
82
75
|
return new Date(uniformDocument['iat'] * 1000)
|
|
83
76
|
}
|
|
84
77
|
return undefined
|
|
@@ -90,24 +83,24 @@ export const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs
|
|
|
90
83
|
if (documentFormat === DocumentFormat.SD_JWT_VC && !addCredentialArgs.opts?.hasher) {
|
|
91
84
|
throw new Error('No hasher function is provided for SD_JWT credential.')
|
|
92
85
|
}
|
|
86
|
+
const hasher = addCredentialArgs.opts?.hasher
|
|
93
87
|
const uniformDocument =
|
|
94
|
-
|
|
95
|
-
?
|
|
96
|
-
:
|
|
97
|
-
? CredentialMapper.toUniformCredential(addCredentialArgs.rawDocument)
|
|
98
|
-
: CredentialMapper.toUniformPresentation(addCredentialArgs.rawDocument)
|
|
88
|
+
documentType === DocumentType.VC || documentType === DocumentType.C
|
|
89
|
+
? CredentialMapper.toUniformCredential(addCredentialArgs.rawDocument, { hasher })
|
|
90
|
+
: CredentialMapper.toUniformPresentation(addCredentialArgs.rawDocument)
|
|
99
91
|
const validFrom: Date | undefined = getValidFrom(uniformDocument)
|
|
100
92
|
const validUntil: Date | undefined = getValidUntil(uniformDocument)
|
|
93
|
+
const hash = computeEntryHash(addCredentialArgs.rawDocument)
|
|
101
94
|
return {
|
|
102
95
|
...addCredentialArgs,
|
|
103
96
|
documentType,
|
|
104
97
|
documentFormat: determineCredentialDocumentFormat(documentFormat),
|
|
105
98
|
createdAt: new Date(),
|
|
106
|
-
credentialId: uniformDocument.id
|
|
107
|
-
hash
|
|
99
|
+
credentialId: uniformDocument.id ?? hash,
|
|
100
|
+
hash,
|
|
108
101
|
uniformDocument: JSON.stringify(uniformDocument),
|
|
109
102
|
validFrom,
|
|
110
|
-
validUntil,
|
|
103
|
+
...(validUntil && { validUntil }),
|
|
111
104
|
lastUpdatedAt: new Date(),
|
|
112
105
|
}
|
|
113
106
|
}
|