@sphereon/ssi-sdk.data-store 0.18.2-unstable.95 → 0.18.2-unstable.96
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/entities/digitalCredential/DigitalCredentialEntity.d.ts +2 -2
- package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts.map +1 -1
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js +4 -4
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js.map +1 -1
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js +2 -2
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js +2 -2
- package/dist/types/digitalCredential/digitalCredential.d.ts +2 -2
- package/dist/types/digitalCredential/digitalCredential.d.ts.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.d.ts.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.js +12 -8
- package/dist/utils/digitalCredential/MappingUtils.js.map +1 -1
- package/package.json +4 -4
- package/src/__tests__/digitalCredential.entities.test.ts +10 -10
- package/src/entities/digitalCredential/DigitalCredentialEntity.ts +4 -4
- package/src/migrations/postgres/1708525189001-CreateDigitalCredential.ts +2 -2
- package/src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts +2 -2
- package/src/types/digitalCredential/digitalCredential.ts +2 -2
- package/src/utils/digitalCredential/MappingUtils.ts +13 -9
|
@@ -15,8 +15,8 @@ export declare class DigitalCredentialEntity extends BaseEntity {
|
|
|
15
15
|
tenantId?: string;
|
|
16
16
|
createdAt: Date;
|
|
17
17
|
lastUpdatedAt: Date;
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
validUntil?: Date;
|
|
19
|
+
validFrom?: Date;
|
|
20
20
|
verifiedAt?: Date;
|
|
21
21
|
revokedAt?: Date;
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DigitalCredentialEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/digitalCredential/DigitalCredentialEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA8E,MAAM,SAAS,CAAA;AAChH,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACf,MAAM,iDAAiD,CAAA;AAExD,qBACa,uBAAwB,SAAQ,UAAU;IAErD,EAAE,EAAG,MAAM,CAAA;IAGX,cAAc,EAAG,cAAc,CAAA;IAG/B,cAAc,EAAG,wBAAwB,CAAA;IAGzC,GAAG,EAAG,MAAM,CAAA;IAGZ,eAAe,EAAG,MAAM,CAAA;IAGxB,IAAI,EAAG,MAAM,CAAA;IAGb,qBAAqB,EAAG,yBAAyB,CAAA;IAGjD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAGlD,mBAAmB,EAAG,MAAM,CAAA;IAG5B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAGnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;IAGpB,
|
|
1
|
+
{"version":3,"file":"DigitalCredentialEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/digitalCredential/DigitalCredentialEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA8E,MAAM,SAAS,CAAA;AAChH,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACf,MAAM,iDAAiD,CAAA;AAExD,qBACa,uBAAwB,SAAQ,UAAU;IAErD,EAAE,EAAG,MAAM,CAAA;IAGX,cAAc,EAAG,cAAc,CAAA;IAG/B,cAAc,EAAG,wBAAwB,CAAA;IAGzC,GAAG,EAAG,MAAM,CAAA;IAGZ,eAAe,EAAG,MAAM,CAAA;IAGxB,IAAI,EAAG,MAAM,CAAA;IAGb,qBAAqB,EAAG,yBAAyB,CAAA;IAGjD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAGlD,mBAAmB,EAAG,MAAM,CAAA;IAG5B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAGnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;IAGpB,UAAU,CAAC,EAAE,IAAI,CAAA;IAGjB,SAAS,CAAC,EAAE,IAAI,CAAA;IAGhB,UAAU,CAAC,EAAE,IAAI,CAAA;IAGjB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB"}
|
|
@@ -71,13 +71,13 @@ __decorate([
|
|
|
71
71
|
__metadata("design:type", Date)
|
|
72
72
|
], DigitalCredentialEntity.prototype, "lastUpdatedAt", void 0);
|
|
73
73
|
__decorate([
|
|
74
|
-
(0, typeorm_1.Column)('date', { name: '
|
|
74
|
+
(0, typeorm_1.Column)('date', { name: 'valid_until', nullable: true }),
|
|
75
75
|
__metadata("design:type", Date)
|
|
76
|
-
], DigitalCredentialEntity.prototype, "
|
|
76
|
+
], DigitalCredentialEntity.prototype, "validUntil", void 0);
|
|
77
77
|
__decorate([
|
|
78
|
-
(0, typeorm_1.Column)('date', { name: '
|
|
78
|
+
(0, typeorm_1.Column)('date', { name: 'valid_from', nullable: true }),
|
|
79
79
|
__metadata("design:type", Date)
|
|
80
|
-
], DigitalCredentialEntity.prototype, "
|
|
80
|
+
], DigitalCredentialEntity.prototype, "validFrom", void 0);
|
|
81
81
|
__decorate([
|
|
82
82
|
(0, typeorm_1.Column)('date', { name: 'verified_at', nullable: true }),
|
|
83
83
|
__metadata("design:type", Date)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DigitalCredentialEntity.js","sourceRoot":"","sources":["../../../src/entities/digitalCredential/DigitalCredentialEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgH;AAChH,uFAKwD;AAGjD,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,oBAAU;CAsDtD,CAAA;AArDC;IAAC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;mDACpB;AAEX;IAAC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,kCAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;+DAC3D;AAE/B;IAAC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,4CAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;+DAC3D;AAEzC;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;oDACrC;AAEZ;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;gEACtC;AAExB;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;qDACnD;AAEb;IAAC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,6CAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;sEAC5D;AAEjD;IAAC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,6CAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uEAC3D;AAElD;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;oEACvC;AAE5B;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qEACtC;AAE7B;IAAC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,uCAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DAC1D;AAEnC;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACrC;AAEjB;IAAC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC9C,IAAI;0DAAA;AAEhB;IAAC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;8BAC/C,IAAI;8DAAA;AAEpB;IAAC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"DigitalCredentialEntity.js","sourceRoot":"","sources":["../../../src/entities/digitalCredential/DigitalCredentialEntity.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,8 +36,8 @@ class CreateDigitalCredential1708525189001 {
|
|
|
36
36
|
"tenant_id" text,
|
|
37
37
|
"created_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
38
38
|
"last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
39
|
-
"
|
|
40
|
-
"
|
|
39
|
+
"valid_from" DATE,
|
|
40
|
+
"valid_until" DATE,
|
|
41
41
|
"verified_at" DATE,
|
|
42
42
|
"revoked_at" DATE,
|
|
43
43
|
PRIMARY KEY ("id")
|
|
@@ -32,8 +32,8 @@ class CreateDigitalCredential1708525189002 {
|
|
|
32
32
|
"tenant_id" text,
|
|
33
33
|
"created_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
34
34
|
"last_updated_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
35
|
-
"
|
|
36
|
-
"
|
|
35
|
+
"valid_from" datetime,
|
|
36
|
+
"valid_until" datetime,
|
|
37
37
|
"verified_at" datetime,
|
|
38
38
|
"revoked_at" datetime
|
|
39
39
|
)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"digitalCredential.d.ts","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;AAEzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,wBAAwB,CAAA;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,qBAAqB,EAAE,yBAAyB,CAAA;IAChD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAClD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;IACf,aAAa,EAAE,IAAI,CAAA;IACnB,
|
|
1
|
+
{"version":3,"file":"digitalCredential.d.ts","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;AAEzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,wBAAwB,CAAA;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,qBAAqB,EAAE,yBAAyB,CAAA;IAChD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAClD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;IACf,aAAa,EAAE,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB,CAAA;AAED,oBAAY,cAAc;IACxB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,CAAC,MAAM;IACP,CAAC,MAAM;CACR;AAED,oBAAY,wBAAwB;IAClC,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,oBAAY,yBAAyB;IACnC,GAAG,QAAQ;CACZ;AAED,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAA;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAA;
|
|
1
|
+
{"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAA;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAA;AAYlG,OAAO,EAGL,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,iDAAiD,CAAA;AA2ExD,eAAO,MAAM,8CAA8C,sBAAuB,iBAAiB,KAAG,6BAyBrG,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAAsB,uBAAuB,KAAG,iBAIjF,CAAA;AAED,eAAO,MAAM,sBAAsB,uBAAwB,MAAM,uBAAuB,CAAC,KAAG,iBAAiB,EAE5G,CAAA"}
|
|
@@ -43,7 +43,7 @@ function determineCredentialDocumentFormat(documentFormat) {
|
|
|
43
43
|
throw new Error(`Not supported document format: ${documentFormat}`);
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
|
-
function
|
|
46
|
+
function getValidUntil(uniformDocument) {
|
|
47
47
|
if ('expirationDate' in uniformDocument) {
|
|
48
48
|
return new Date(uniformDocument.expirationDate);
|
|
49
49
|
}
|
|
@@ -55,12 +55,16 @@ function getExpiresAt(uniformDocument) {
|
|
|
55
55
|
}
|
|
56
56
|
return undefined;
|
|
57
57
|
}
|
|
58
|
-
function
|
|
58
|
+
function getValidFrom(uniformDocument) {
|
|
59
|
+
let proof = undefined;
|
|
60
|
+
if (uniformDocument.proof && !uniformDocument.vct) {
|
|
61
|
+
proof = Array.isArray(uniformDocument.proof) ? uniformDocument.proof[0] : uniformDocument.proof;
|
|
62
|
+
}
|
|
59
63
|
if ('issuanceDate' in uniformDocument) {
|
|
60
64
|
return new Date(uniformDocument.issuanceDate);
|
|
61
65
|
}
|
|
62
|
-
else if (
|
|
63
|
-
return new Date(
|
|
66
|
+
else if (proof && proof.created) {
|
|
67
|
+
return new Date(proof.created);
|
|
64
68
|
}
|
|
65
69
|
else if ('validFrom' in uniformDocument) {
|
|
66
70
|
return new Date(uniformDocument['validFrom']);
|
|
@@ -85,10 +89,10 @@ const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs) => {
|
|
|
85
89
|
: credentialType === digitalCredential_1.CredentialType.VC || credentialType === digitalCredential_1.CredentialType.C
|
|
86
90
|
? ssi_types_1.CredentialMapper.toUniformCredential(addCredentialArgs.raw)
|
|
87
91
|
: ssi_types_1.CredentialMapper.toUniformPresentation(addCredentialArgs.raw);
|
|
88
|
-
const
|
|
89
|
-
const
|
|
90
|
-
return Object.assign(Object.assign({}, addCredentialArgs), { credentialType, documentFormat: determineCredentialDocumentFormat(documentFormat), createdAt: new Date(), hash: (0, utils_1.computeEntryHash)(addCredentialArgs.raw), uniformDocument: JSON.stringify(uniformDocument),
|
|
91
|
-
|
|
92
|
+
const validFrom = getValidFrom(uniformDocument);
|
|
93
|
+
const validUntil = getValidUntil(uniformDocument);
|
|
94
|
+
return Object.assign(Object.assign({}, addCredentialArgs), { credentialType, documentFormat: determineCredentialDocumentFormat(documentFormat), createdAt: new Date(), hash: (0, utils_1.computeEntryHash)(addCredentialArgs.raw), uniformDocument: JSON.stringify(uniformDocument), validFrom,
|
|
95
|
+
validUntil, lastUpdatedAt: new Date() });
|
|
92
96
|
};
|
|
93
97
|
exports.nonPersistedDigitalCredentialEntityFromAddArgs = nonPersistedDigitalCredentialEntityFromAddArgs;
|
|
94
98
|
const digitalCredentialFrom = (credentialEntity) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.data-store",
|
|
3
|
-
"version": "0.18.2-unstable.
|
|
3
|
+
"version": "0.18.2-unstable.96+5ed10032",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -13,8 +13,8 @@
|
|
|
13
13
|
"typeorm-postgres:migration:run": "pnpm run typeorm -- migration:run -c migration-postgres"
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@sphereon/ssi-sdk.core": "0.18.2-unstable.
|
|
17
|
-
"@sphereon/ssi-types": "0.18.2-unstable.
|
|
16
|
+
"@sphereon/ssi-sdk.core": "0.18.2-unstable.96+5ed10032",
|
|
17
|
+
"@sphereon/ssi-types": "0.18.2-unstable.96+5ed10032",
|
|
18
18
|
"@veramo/core": "4.2.0",
|
|
19
19
|
"@veramo/utils": "4.2.0",
|
|
20
20
|
"class-validator": "^0.14.0",
|
|
@@ -44,5 +44,5 @@
|
|
|
44
44
|
"PostgreSQL",
|
|
45
45
|
"Contact Store"
|
|
46
46
|
],
|
|
47
|
-
"gitHead": "
|
|
47
|
+
"gitHead": "5ed10032a4f7b45c68f4caeccedc627d76f7a721"
|
|
48
48
|
}
|
|
@@ -71,9 +71,9 @@ describe('Database entities tests', (): void => {
|
|
|
71
71
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
72
72
|
})
|
|
73
73
|
expect(digitalCredential.credentialType).toEqual(CredentialType.VC)
|
|
74
|
-
expect(digitalCredential.
|
|
74
|
+
expect(digitalCredential.validFrom).toEqual(new Date('2024-02-20T14:53:28.000Z'))
|
|
75
75
|
expect(digitalCredential.documentFormat).toEqual(CredentialDocumentFormat.JWT)
|
|
76
|
-
expect(digitalCredential.
|
|
76
|
+
expect(digitalCredential.validUntil).toEqual(undefined)
|
|
77
77
|
})
|
|
78
78
|
|
|
79
79
|
it('should assign correct values to DigitalCredential: jwt credential 2', () => {
|
|
@@ -86,9 +86,9 @@ describe('Database entities tests', (): void => {
|
|
|
86
86
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
87
87
|
})
|
|
88
88
|
expect(digitalCredential.credentialType).toEqual(CredentialType.VC)
|
|
89
|
-
expect(digitalCredential.
|
|
89
|
+
expect(digitalCredential.validFrom).toEqual(new Date('2018-11-06T08:42:04.000Z'))
|
|
90
90
|
expect(digitalCredential.documentFormat).toEqual(CredentialDocumentFormat.JWT)
|
|
91
|
-
expect(digitalCredential.
|
|
91
|
+
expect(digitalCredential.validUntil).toEqual(new Date('2019-11-06T08:42:03.000Z'))
|
|
92
92
|
})
|
|
93
93
|
|
|
94
94
|
it('should assign correct values to DigitalCredential: signed ldb credential', () => {
|
|
@@ -128,9 +128,9 @@ describe('Database entities tests', (): void => {
|
|
|
128
128
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
129
129
|
})
|
|
130
130
|
expect(digitalCredential.credentialType).toEqual(CredentialType.VC)
|
|
131
|
-
expect(digitalCredential.
|
|
131
|
+
expect(digitalCredential.validFrom).toEqual(new Date('2022-01-07T11:54:12.000Z'))
|
|
132
132
|
expect(digitalCredential.documentFormat).toEqual(CredentialDocumentFormat.JSON_LD)
|
|
133
|
-
expect(digitalCredential.
|
|
133
|
+
expect(digitalCredential.validUntil).toEqual(undefined)
|
|
134
134
|
})
|
|
135
135
|
|
|
136
136
|
it('should assign correct values to DigitalCredential: signed ldb presentation', () => {
|
|
@@ -226,9 +226,9 @@ describe('Database entities tests', (): void => {
|
|
|
226
226
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
227
227
|
})
|
|
228
228
|
expect(digitalCredential.credentialType).toEqual(CredentialType.VP)
|
|
229
|
-
expect(digitalCredential.
|
|
229
|
+
expect(digitalCredential.validFrom).toEqual(new Date('2018-09-14T21:19:10.000Z'))
|
|
230
230
|
expect(digitalCredential.documentFormat).toEqual(CredentialDocumentFormat.JSON_LD)
|
|
231
|
-
expect(digitalCredential.
|
|
231
|
+
expect(digitalCredential.validUntil).toEqual(undefined)
|
|
232
232
|
})
|
|
233
233
|
|
|
234
234
|
it('should assign correct values to DigitalCredential: signed sd_jwt credential', () => {
|
|
@@ -244,8 +244,8 @@ describe('Database entities tests', (): void => {
|
|
|
244
244
|
},
|
|
245
245
|
})
|
|
246
246
|
expect(digitalCredential.credentialType).toEqual(CredentialType.VC)
|
|
247
|
-
expect(digitalCredential.
|
|
247
|
+
expect(digitalCredential.validFrom).toEqual(new Date('2023-10-24T12:45:32.000Z'))
|
|
248
248
|
expect(digitalCredential.documentFormat).toEqual(CredentialDocumentFormat.SD_JWT)
|
|
249
|
-
expect(digitalCredential.
|
|
249
|
+
expect(digitalCredential.validUntil).toEqual(undefined)
|
|
250
250
|
})
|
|
251
251
|
})
|
|
@@ -50,11 +50,11 @@ export class DigitalCredentialEntity extends BaseEntity {
|
|
|
50
50
|
@UpdateDateColumn({ name: 'last_updated_at', nullable: false })
|
|
51
51
|
lastUpdatedAt!: Date
|
|
52
52
|
|
|
53
|
-
@Column('date', { name: '
|
|
54
|
-
|
|
53
|
+
@Column('date', { name: 'valid_until', nullable: true })
|
|
54
|
+
validUntil?: Date
|
|
55
55
|
|
|
56
|
-
@Column('date', { name: '
|
|
57
|
-
|
|
56
|
+
@Column('date', { name: 'valid_from', nullable: true })
|
|
57
|
+
validFrom?: Date
|
|
58
58
|
|
|
59
59
|
@Column('date', { name: 'verified_at', nullable: true })
|
|
60
60
|
verifiedAt?: Date
|
|
@@ -25,8 +25,8 @@ export class CreateDigitalCredential1708525189001 implements MigrationInterface
|
|
|
25
25
|
"tenant_id" text,
|
|
26
26
|
"created_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
27
27
|
"last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
28
|
-
"
|
|
29
|
-
"
|
|
28
|
+
"valid_from" DATE,
|
|
29
|
+
"valid_until" DATE,
|
|
30
30
|
"verified_at" DATE,
|
|
31
31
|
"revoked_at" DATE,
|
|
32
32
|
PRIMARY KEY ("id")
|
|
@@ -20,8 +20,8 @@ export class CreateDigitalCredential1708525189002 implements MigrationInterface
|
|
|
20
20
|
"tenant_id" text,
|
|
21
21
|
"created_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
22
22
|
"last_updated_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
23
|
-
"
|
|
24
|
-
"
|
|
23
|
+
"valid_from" datetime,
|
|
24
|
+
"valid_until" datetime,
|
|
25
25
|
"verified_at" datetime,
|
|
26
26
|
"revoked_at" datetime
|
|
27
27
|
)
|
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
CredentialMapper,
|
|
5
5
|
decodeSdJwtVc,
|
|
6
6
|
DocumentFormat,
|
|
7
|
+
IProof,
|
|
7
8
|
IVerifiableCredential,
|
|
8
9
|
IVerifiablePresentation,
|
|
9
10
|
OriginalVerifiableCredential,
|
|
@@ -60,7 +61,7 @@ function determineCredentialDocumentFormat(documentFormat: DocumentFormat): Cred
|
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
|
|
63
|
-
function
|
|
64
|
+
function getValidUntil(uniformDocument: IVerifiableCredential | IVerifiablePresentation | SdJwtDecodedVerifiableCredentialPayload): Date | undefined {
|
|
64
65
|
if ('expirationDate' in uniformDocument) {
|
|
65
66
|
return new Date(uniformDocument.expirationDate)
|
|
66
67
|
} else if ('validUntil' in uniformDocument) {
|
|
@@ -71,11 +72,15 @@ function getExpiresAt(uniformDocument: IVerifiableCredential | IVerifiablePresen
|
|
|
71
72
|
return undefined
|
|
72
73
|
}
|
|
73
74
|
|
|
74
|
-
function
|
|
75
|
+
function getValidFrom(uniformDocument: IVerifiableCredential | IVerifiablePresentation | SdJwtDecodedVerifiableCredentialPayload): Date | undefined {
|
|
76
|
+
let proof: IProof | undefined = undefined
|
|
77
|
+
if (uniformDocument.proof && !uniformDocument.vct) {
|
|
78
|
+
proof = Array.isArray(uniformDocument.proof) ? <IProof>uniformDocument.proof[0] : <IProof>uniformDocument.proof
|
|
79
|
+
}
|
|
75
80
|
if ('issuanceDate' in uniformDocument) {
|
|
76
81
|
return new Date(uniformDocument.issuanceDate)
|
|
77
|
-
} else if (
|
|
78
|
-
return new Date(
|
|
82
|
+
} else if (proof && proof.created) {
|
|
83
|
+
return new Date(proof.created)
|
|
79
84
|
} else if ('validFrom' in uniformDocument) {
|
|
80
85
|
return new Date(uniformDocument['validFrom'])
|
|
81
86
|
} else if ('nbf' in uniformDocument) {
|
|
@@ -83,7 +88,6 @@ function getIssuedAt(uniformDocument: IVerifiableCredential | IVerifiablePresent
|
|
|
83
88
|
} else if ('iat' in uniformDocument) {
|
|
84
89
|
return new Date(uniformDocument['iat'] * 1000)
|
|
85
90
|
}
|
|
86
|
-
|
|
87
91
|
return undefined
|
|
88
92
|
}
|
|
89
93
|
|
|
@@ -99,8 +103,8 @@ export const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs
|
|
|
99
103
|
: credentialType === CredentialType.VC || credentialType === CredentialType.C
|
|
100
104
|
? CredentialMapper.toUniformCredential(addCredentialArgs.raw)
|
|
101
105
|
: CredentialMapper.toUniformPresentation(addCredentialArgs.raw)
|
|
102
|
-
const
|
|
103
|
-
const
|
|
106
|
+
const validFrom: Date | undefined = getValidFrom(uniformDocument)
|
|
107
|
+
const validUntil: Date | undefined = getValidUntil(uniformDocument)
|
|
104
108
|
return {
|
|
105
109
|
...addCredentialArgs,
|
|
106
110
|
credentialType,
|
|
@@ -108,8 +112,8 @@ export const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs
|
|
|
108
112
|
createdAt: new Date(),
|
|
109
113
|
hash: computeEntryHash(addCredentialArgs.raw),
|
|
110
114
|
uniformDocument: JSON.stringify(uniformDocument),
|
|
111
|
-
|
|
112
|
-
|
|
115
|
+
validFrom,
|
|
116
|
+
validUntil,
|
|
113
117
|
lastUpdatedAt: new Date(),
|
|
114
118
|
}
|
|
115
119
|
}
|