@sphereon/ssi-sdk.data-store 0.29.1-unstable.196 → 0.29.1-unstable.197
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.d.ts.map +1 -1
- package/dist/digitalCredential/DigitalCredentialStore.js +1 -0
- package/dist/digitalCredential/DigitalCredentialStore.js.map +1 -1
- package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts +6 -1
- package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts.map +1 -1
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js +20 -0
- package/dist/entities/digitalCredential/DigitalCredentialEntity.js.map +1 -1
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.d.ts.map +1 -1
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js +10 -2
- package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js.map +1 -1
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.d.ts.map +1 -1
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js +9 -3
- package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js.map +1 -1
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts +3 -1
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts.map +1 -1
- package/dist/types/digitalCredential/digitalCredential.d.ts +16 -2
- package/dist/types/digitalCredential/digitalCredential.d.ts.map +1 -1
- package/dist/types/digitalCredential/digitalCredential.js +10 -2
- package/dist/types/digitalCredential/digitalCredential.js.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.d.ts.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.js +14 -6
- package/dist/utils/digitalCredential/MappingUtils.js.map +1 -1
- package/package.json +5 -5
- package/src/digitalCredential/DigitalCredentialStore.ts +1 -0
- package/src/entities/digitalCredential/DigitalCredentialEntity.ts +16 -1
- package/src/migrations/postgres/1708525189001-CreateDigitalCredential.ts +11 -2
- package/src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts +9 -3
- package/src/types/digitalCredential/IAbstractDigitalCredentialStore.ts +9 -1
- package/src/types/digitalCredential/digitalCredential.ts +15 -2
- package/src/utils/digitalCredential/MappingUtils.ts +17 -8
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DigitalCredentialStore.d.ts","sourceRoot":"","sources":["../../src/digitalCredential/DigitalCredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EAEzB,iBAAiB,EAElB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAgC,MAAM,SAAS,CAAA;AAalE,qBAAa,sBAAuB,SAAQ,8BAA8B;IACxE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;gBAExC,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC;IAK/C,aAAa,SAAgB,iBAAiB,KAAG,QAAQ,iBAAiB,CAAC,CAM1E;IAED,aAAa,SAAgB,iBAAiB,KAAG,QAAQ,iBAAiB,CAAC,CAS1E;IAED,cAAc,UAAiB,kBAAkB,KAAG,QAAQ,sBAAsB,CAAC,CAgBlF;IAED,gBAAgB,SAAgB,oBAAoB,KAAG,QAAQ,OAAO,CAAC,
|
|
1
|
+
{"version":3,"file":"DigitalCredentialStore.d.ts","sourceRoot":"","sources":["../../src/digitalCredential/DigitalCredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAA;AACjF,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EAEzB,iBAAiB,EAElB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAgC,MAAM,SAAS,CAAA;AAalE,qBAAa,sBAAuB,SAAQ,8BAA8B;IACxE,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;gBAExC,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC;IAK/C,aAAa,SAAgB,iBAAiB,KAAG,QAAQ,iBAAiB,CAAC,CAM1E;IAED,aAAa,SAAgB,iBAAiB,KAAG,QAAQ,iBAAiB,CAAC,CAS1E;IAED,cAAc,UAAiB,kBAAkB,KAAG,QAAQ,sBAAsB,CAAC,CAgBlF;IAED,gBAAgB,SAAgB,oBAAoB,KAAG,QAAQ,OAAO,CAAC,CAuBtE;IAED,qBAAqB,SAAgB,yBAAyB,KAAG,QAAQ,iBAAiB,CAAC,CAqC1F;CACF"}
|
|
@@ -71,6 +71,7 @@ class DigitalCredentialStore extends AbstractDigitalCredentialStore_1.AbstractDi
|
|
|
71
71
|
}
|
|
72
72
|
try {
|
|
73
73
|
const connection = yield this.dbConnection;
|
|
74
|
+
// TODO: get Id and remove all with same parentId
|
|
74
75
|
const result = yield connection.getRepository(DigitalCredentialEntity_1.DigitalCredentialEntity).delete(query);
|
|
75
76
|
return result.affected === 1;
|
|
76
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DigitalCredentialStore.js","sourceRoot":"","sources":["../../src/digitalCredential/DigitalCredentialStore.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"DigitalCredentialStore.js","sourceRoot":"","sources":["../../src/digitalCredential/DigitalCredentialStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { BaseEntity } from 'typeorm';
|
|
2
|
-
import { CredentialCorrelationType, CredentialDocumentFormat, CredentialRole, CredentialStateType, DigitalCredential, DocumentType } from '../../types';
|
|
2
|
+
import { CredentialCorrelationType, CredentialDocumentFormat, CredentialRole, CredentialStateType, DigitalCredential, DocumentType, RegulationType } from '../../types';
|
|
3
3
|
export declare class DigitalCredentialEntity extends BaseEntity implements DigitalCredential {
|
|
4
4
|
id: string;
|
|
5
|
+
parentId?: string;
|
|
5
6
|
documentType: DocumentType;
|
|
7
|
+
regulationType: RegulationType;
|
|
6
8
|
documentFormat: CredentialDocumentFormat;
|
|
7
9
|
credentialRole: CredentialRole;
|
|
8
10
|
rawDocument: string;
|
|
@@ -13,11 +15,14 @@ export declare class DigitalCredentialEntity extends BaseEntity implements Digit
|
|
|
13
15
|
identifierMethod: string;
|
|
14
16
|
issuerCorrelationType: CredentialCorrelationType;
|
|
15
17
|
subjectCorrelationType?: CredentialCorrelationType;
|
|
18
|
+
rpCorrelationType?: CredentialCorrelationType;
|
|
16
19
|
issuerCorrelationId: string;
|
|
17
20
|
subjectCorrelationId?: string;
|
|
21
|
+
rpCorrelationId?: string;
|
|
18
22
|
verifiedState?: CredentialStateType;
|
|
19
23
|
tenantId?: string;
|
|
20
24
|
createdAt: Date;
|
|
25
|
+
presentedAt?: Date;
|
|
21
26
|
lastUpdatedAt: Date;
|
|
22
27
|
validUntil?: Date;
|
|
23
28
|
validFrom?: Date;
|
|
@@ -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,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,
|
|
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,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,YAAY,EAAE,cAAc,EAC7B,MAAM,aAAa,CAAA;AAGpB,qBACa,uBAAwB,SAAQ,UAAW,YAAW,iBAAiB;IAElF,EAAE,EAAG,MAAM,CAAA;IAGX,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,YAAY,EAAG,YAAY,CAAA;IAG3B,cAAc,EAAG,cAAc,CAAA;IAG/B,cAAc,EAAG,wBAAwB,CAAA;IAGzC,cAAc,EAAG,cAAc,CAAA;IAG/B,WAAW,EAAG,MAAM,CAAA;IAGpB,eAAe,EAAG,MAAM,CAAA;IAGxB,YAAY,EAAG,MAAM,CAAA;IAGrB,IAAI,EAAG,MAAM,CAAA;IAGb,SAAS,EAAG,MAAM,CAAA;IAGlB,gBAAgB,EAAG,MAAM,CAAA;IAGzB,qBAAqB,EAAG,yBAAyB,CAAA;IAGjD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAGlD,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAG7C,mBAAmB,EAAG,MAAM,CAAA;IAG5B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,eAAe,CAAC,EAAE,MAAM,CAAA;IAGxB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAGnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,SAAS,EAAG,IAAI,CAAA;IAGhB,WAAW,CAAC,EAAE,IAAI,CAAA;IAGlB,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"}
|
|
@@ -20,10 +20,18 @@ __decorate([
|
|
|
20
20
|
(0, typeorm_1.PrimaryGeneratedColumn)('uuid'),
|
|
21
21
|
__metadata("design:type", String)
|
|
22
22
|
], DigitalCredentialEntity.prototype, "id", void 0);
|
|
23
|
+
__decorate([
|
|
24
|
+
(0, typeorm_1.Column)('text', { name: 'parent_id', nullable: true }),
|
|
25
|
+
__metadata("design:type", String)
|
|
26
|
+
], DigitalCredentialEntity.prototype, "parentId", void 0);
|
|
23
27
|
__decorate([
|
|
24
28
|
(0, typeorm_1.Column)('simple-enum', { name: 'document_type', enum: types_1.DocumentType, nullable: false }),
|
|
25
29
|
__metadata("design:type", String)
|
|
26
30
|
], DigitalCredentialEntity.prototype, "documentType", void 0);
|
|
31
|
+
__decorate([
|
|
32
|
+
(0, typeorm_1.Column)('simple-enum', { name: 'regulation_type', enum: types_1.RegulationType, nullable: false }),
|
|
33
|
+
__metadata("design:type", String)
|
|
34
|
+
], DigitalCredentialEntity.prototype, "regulationType", void 0);
|
|
27
35
|
__decorate([
|
|
28
36
|
(0, typeorm_1.Column)('simple-enum', { name: 'document_format', enum: types_1.CredentialDocumentFormat, nullable: false }),
|
|
29
37
|
__metadata("design:type", String)
|
|
@@ -64,6 +72,10 @@ __decorate([
|
|
|
64
72
|
(0, typeorm_1.Column)('simple-enum', { name: 'subject_correlation_type', enum: types_1.CredentialCorrelationType, nullable: true }),
|
|
65
73
|
__metadata("design:type", String)
|
|
66
74
|
], DigitalCredentialEntity.prototype, "subjectCorrelationType", void 0);
|
|
75
|
+
__decorate([
|
|
76
|
+
(0, typeorm_1.Column)('simple-enum', { name: 'rp_correlation_type', enum: types_1.CredentialCorrelationType, nullable: true }),
|
|
77
|
+
__metadata("design:type", String)
|
|
78
|
+
], DigitalCredentialEntity.prototype, "rpCorrelationType", void 0);
|
|
67
79
|
__decorate([
|
|
68
80
|
(0, typeorm_1.Column)('text', { name: 'issuer_correlation_id', nullable: false }),
|
|
69
81
|
__metadata("design:type", String)
|
|
@@ -72,6 +84,10 @@ __decorate([
|
|
|
72
84
|
(0, typeorm_1.Column)('text', { name: 'subject_correlation_id', nullable: true }),
|
|
73
85
|
__metadata("design:type", String)
|
|
74
86
|
], DigitalCredentialEntity.prototype, "subjectCorrelationId", void 0);
|
|
87
|
+
__decorate([
|
|
88
|
+
(0, typeorm_1.Column)('text', { name: 'rp_correlation_id', nullable: true }),
|
|
89
|
+
__metadata("design:type", String)
|
|
90
|
+
], DigitalCredentialEntity.prototype, "rpCorrelationId", void 0);
|
|
75
91
|
__decorate([
|
|
76
92
|
(0, typeorm_1.Column)('simple-enum', { name: 'verified_state', enum: types_1.CredentialStateType, nullable: true }),
|
|
77
93
|
__metadata("design:type", String)
|
|
@@ -84,6 +100,10 @@ __decorate([
|
|
|
84
100
|
(0, typeorm_1.CreateDateColumn)({ name: 'created_at', nullable: false, type: (0, ssi_sdk_agent_config_1.typeOrmDateTime)() }),
|
|
85
101
|
__metadata("design:type", Date)
|
|
86
102
|
], DigitalCredentialEntity.prototype, "createdAt", void 0);
|
|
103
|
+
__decorate([
|
|
104
|
+
(0, typeorm_1.Column)({ name: 'presented_at', nullable: true, type: (0, ssi_sdk_agent_config_1.typeormDate)() }),
|
|
105
|
+
__metadata("design:type", Date)
|
|
106
|
+
], DigitalCredentialEntity.prototype, "presentedAt", void 0);
|
|
87
107
|
__decorate([
|
|
88
108
|
(0, typeorm_1.UpdateDateColumn)({ name: 'last_updated_at', nullable: false, type: (0, ssi_sdk_agent_config_1.typeOrmDateTime)() }),
|
|
89
109
|
__metadata("design:type", Date)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DigitalCredentialEntity.js","sourceRoot":"","sources":["../../../src/entities/digitalCredential/DigitalCredentialEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgH;AAChH,uCAOoB;AACpB,yEAA6E;AAGtE,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,oBAAU;
|
|
1
|
+
{"version":3,"file":"DigitalCredentialEntity.js","sourceRoot":"","sources":["../../../src/entities/digitalCredential/DigitalCredentialEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAgH;AAChH,uCAOoB;AACpB,yEAA6E;AAGtE,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,oBAAU;CAiFtD,CAAA;AAjFY,0DAAuB;AAElC;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;mDACpB;AAGX;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACrC;AAGjB;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,oBAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;6DAC3D;AAG3B;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,sBAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;+DAC3D;AAG/B;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,gCAAwB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;+DAC3D;AAGzC;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,sBAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;+DAC3D;AAG/B;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;4DACtC;AAGpB;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;gEACtC;AAGxB;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;6DACpD;AAGrB;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;;qDACnD;AAGb;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;0DACvC;AAGlB;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;iEACtC;AAGzB;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,IAAI,EAAE,iCAAyB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;sEAC5D;AAGjD;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,iCAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;uEAC3D;AAGlD;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,iCAAyB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;kEAC3D;AAG7C;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,uBAAuB,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;;oEACvC;AAG5B;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,wBAAwB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;qEACtC;AAG7B;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;gEACtC;AAGxB;IADC,IAAA,gBAAM,EAAC,aAAa,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,2BAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DAC1D;AAGnC;IADC,IAAA,gBAAM,EAAC,MAAM,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;yDACrC;AAGjB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAA,sCAAe,GAAE,EAAE,CAAC;8BACvE,IAAI;0DAAA;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAA,kCAAW,GAAE,EAAE,CAAC;8BACxD,IAAI;4DAAA;AAGlB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAA,sCAAe,GAAE,EAAE,CAAC;8BACxE,IAAI;8DAAA;AAGpB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAA,kCAAW,GAAE,EAAE,CAAC;8BACxD,IAAI;2DAAA;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAA,kCAAW,GAAE,EAAE,CAAC;8BACxD,IAAI;0DAAA;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAA,sCAAe,GAAE,EAAE,CAAC;8BAC5D,IAAI;2DAAA;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAA,sCAAe,GAAE,EAAE,CAAC;8BAC5D,IAAI;0DAAA;kCAhFL,uBAAuB;IADnC,IAAA,gBAAM,EAAC,mBAAmB,CAAC;GACf,uBAAuB,CAiFnC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1708525189001-CreateDigitalCredential.d.ts","sourceRoot":"","sources":["../../../src/migrations/postgres/1708525189001-CreateDigitalCredential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,oCAAqC,YAAW,kBAAkB;IAC7E,IAAI,SAAyC;IAEhC,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"1708525189001-CreateDigitalCredential.d.ts","sourceRoot":"","sources":["../../../src/migrations/postgres/1708525189001-CreateDigitalCredential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,oCAAqC,YAAW,kBAAkB;IAC7E,IAAI,SAAyC;IAEhC,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IA4C3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAS3D"}
|
|
@@ -17,14 +17,18 @@ class CreateDigitalCredential1708525189001 {
|
|
|
17
17
|
up(queryRunner) {
|
|
18
18
|
return __awaiter(this, void 0, void 0, function* () {
|
|
19
19
|
yield queryRunner.query(`CREATE TYPE "digital_document_type" AS ENUM('VC', 'VP', 'C', 'P')`);
|
|
20
|
-
yield queryRunner.query(`CREATE TYPE "
|
|
20
|
+
yield queryRunner.query(`CREATE TYPE "digital_regulation_type" AS ENUM('PID', 'QEAA', 'EAA', 'NON_REGULATED')`);
|
|
21
|
+
yield queryRunner.query(`CREATE TYPE "digital_credential_document_format" AS ENUM('JSON_LD', 'JWT', 'SD_JWT', 'MSO_MDOC')`);
|
|
21
22
|
yield queryRunner.query(`CREATE TYPE "digital_credential_credential_role" AS ENUM('ISSUER', 'VERIFIER', 'HOLDER')`);
|
|
22
|
-
yield queryRunner.query(`CREATE TYPE "digital_credential_correlation_type" AS ENUM('DID', 'URL', '
|
|
23
|
+
yield queryRunner.query(`CREATE TYPE "digital_credential_correlation_type" AS ENUM('DID', 'KID', 'URL', 'X509_SAN')`);
|
|
23
24
|
yield queryRunner.query(`CREATE TYPE "digital_credential_state_type" AS ENUM('REVOKED', 'VERIFIED', 'EXPIRED')`);
|
|
25
|
+
// TODO FK for parent
|
|
24
26
|
yield queryRunner.query(`
|
|
25
27
|
CREATE TABLE "DigitalCredential" (
|
|
26
28
|
"id" uuid NOT NULL DEFAULT uuid_generate_v4(),
|
|
29
|
+
"parent_id" text,
|
|
27
30
|
"document_type" "digital_document_type" NOT NULL,
|
|
31
|
+
"regulation_type" "digital_regulation_type" NOT NULL DEFAULT "NON_REGULATED",
|
|
28
32
|
"document_format" "digital_credential_document_format" NOT NULL,
|
|
29
33
|
"credential_role" "digital_credential_credential_role" NOT NULL,
|
|
30
34
|
"raw_document" text NOT NULL,
|
|
@@ -38,9 +42,12 @@ class CreateDigitalCredential1708525189001 {
|
|
|
38
42
|
"issuer_correlation_id" text NOT NULL,
|
|
39
43
|
"subject_correlation_id" text,
|
|
40
44
|
"verified_state" "digital_credential_state_type",
|
|
45
|
+
"rp_correlation_id" text,
|
|
46
|
+
"rp_correlation_type" "digital_credential_correlation_type",
|
|
41
47
|
"tenant_id" text,
|
|
42
48
|
"created_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
43
49
|
"last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
50
|
+
"presented_at" DATE,
|
|
44
51
|
"valid_from" DATE,
|
|
45
52
|
"valid_until" DATE,
|
|
46
53
|
"verified_at" DATE,
|
|
@@ -57,6 +64,7 @@ class CreateDigitalCredential1708525189001 {
|
|
|
57
64
|
yield queryRunner.query(`DROP TYPE "digital_credential_correlation_type"`);
|
|
58
65
|
yield queryRunner.query(`DROP TYPE "digital_credential_document_format"`);
|
|
59
66
|
yield queryRunner.query(`DROP TYPE "digital_credential_credential_role"`);
|
|
67
|
+
yield queryRunner.query(`DROP TYPE "digital_regulation_type"`);
|
|
60
68
|
yield queryRunner.query(`DROP TYPE "digital_document_type"`);
|
|
61
69
|
});
|
|
62
70
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1708525189001-CreateDigitalCredential.js","sourceRoot":"","sources":["../../../src/migrations/postgres/1708525189001-CreateDigitalCredential.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,oCAAoC;IAAjD;QACE,SAAI,GAAG,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"1708525189001-CreateDigitalCredential.js","sourceRoot":"","sources":["../../../src/migrations/postgres/1708525189001-CreateDigitalCredential.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,oCAAoC;IAAjD;QACE,SAAI,GAAG,sCAAsC,CAAA;IAuD/C,CAAC;IArDc,EAAE,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC,mEAAmE,CAAC,CAAA;YAC5F,MAAM,WAAW,CAAC,KAAK,CAAC,sFAAsF,CAAC,CAAA;YAC/G,MAAM,WAAW,CAAC,KAAK,CAAC,kGAAkG,CAAC,CAAA;YAC3H,MAAM,WAAW,CAAC,KAAK,CAAC,0FAA0F,CAAC,CAAA;YACnH,MAAM,WAAW,CAAC,KAAK,CAAC,4FAA4F,CAAC,CAAA;YACrH,MAAM,WAAW,CAAC,KAAK,CAAC,uFAAuF,CAAC,CAAA;YAEhH,qBAAqB;YAErB,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+BvB,CAAC,CAAA;QACJ,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACxC,MAAM,WAAW,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;YACzD,MAAM,WAAW,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAA;YACpE,MAAM,WAAW,CAAC,KAAK,CAAC,iDAAiD,CAAC,CAAA;YAC1E,MAAM,WAAW,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;YACzE,MAAM,WAAW,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAA;YACzE,MAAM,WAAW,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAA;YAC9D,MAAM,WAAW,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAA;QAC9D,CAAC;KAAA;CACF;AAxDD,oFAwDC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1708525189002-CreateDigitalCredential.d.ts","sourceRoot":"","sources":["../../../src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,oCAAqC,YAAW,kBAAkB;IAC7E,IAAI,SAAyC;IAEhC,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"1708525189002-CreateDigitalCredential.d.ts","sourceRoot":"","sources":["../../../src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,oCAAqC,YAAW,kBAAkB;IAC7E,IAAI,SAAyC;IAEhC,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAmC3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
|
|
@@ -16,11 +16,14 @@ class CreateDigitalCredential1708525189002 {
|
|
|
16
16
|
}
|
|
17
17
|
up(queryRunner) {
|
|
18
18
|
return __awaiter(this, void 0, void 0, function* () {
|
|
19
|
+
// TODO FK for parent
|
|
19
20
|
yield queryRunner.query(`
|
|
20
21
|
CREATE TABLE "DigitalCredential" (
|
|
21
22
|
"id" varchar PRIMARY KEY NOT NULL,
|
|
23
|
+
"parent_id" text,
|
|
22
24
|
"document_type" varchar CHECK( "document_type" IN ('VC', 'VP', 'C', 'P') ) NOT NULL,
|
|
23
|
-
"
|
|
25
|
+
"regulation_type" varchar CHECK( "regulation_type" IN ('PID', 'QEAA', 'EAA', 'NON_REGULATED') ) NOT NULL DEFAULT 'NON_REGULATED',
|
|
26
|
+
"document_format" varchar CHECK( "document_format" IN ('JSON_LD', 'JWT', 'SD_JWT', 'MSO_MDOC') ) NOT NULL,
|
|
24
27
|
"credential_role" varchar CHECK( "credential_role" IN ('ISSUER', 'VERIFIER', 'HOLDER') ) NOT NULL,
|
|
25
28
|
"raw_document" text NOT NULL,
|
|
26
29
|
"uniform_document" text NOT NULL,
|
|
@@ -28,14 +31,17 @@ class CreateDigitalCredential1708525189002 {
|
|
|
28
31
|
"hash" text NOT NULL UNIQUE,
|
|
29
32
|
"kms_key_ref" text NOT NULL,
|
|
30
33
|
"identifier_method" text NOT NULL,
|
|
31
|
-
"issuer_correlation_type" varchar CHECK( "issuer_correlation_type" IN ('DID', 'URL', '
|
|
32
|
-
"subject_correlation_type" varchar CHECK( "subject_correlation_type" IN ('DID', 'URL', '
|
|
34
|
+
"issuer_correlation_type" varchar CHECK( "issuer_correlation_type" IN ('DID', 'KID', 'URL', 'X509_SAN') ) NOT NULL,
|
|
35
|
+
"subject_correlation_type" varchar CHECK( "subject_correlation_type" IN ('DID', 'KID', 'URL', 'X509_SAN') ),
|
|
33
36
|
"issuer_correlation_id" text NOT NULL,
|
|
34
37
|
"subject_correlation_id" text,
|
|
38
|
+
"rp_correlation_id" text,
|
|
39
|
+
"rp_correlation_type" varchar CHECK( "issuer_correlation_type" IN ('DID', 'KID', 'URL', 'X509_SAN') ),
|
|
35
40
|
"verified_state" varchar CHECK( "verified_state" IN ('REVOKED', 'VERIFIED', 'EXPIRED') ),
|
|
36
41
|
"tenant_id" text,
|
|
37
42
|
"created_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
38
43
|
"last_updated_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
44
|
+
"presented_at" datetime,
|
|
39
45
|
"valid_from" datetime,
|
|
40
46
|
"valid_until" datetime,
|
|
41
47
|
"verified_at" datetime,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"1708525189002-CreateDigitalCredential.js","sourceRoot":"","sources":["../../../src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,oCAAoC;IAAjD;QACE,SAAI,GAAG,sCAAsC,CAAA;
|
|
1
|
+
{"version":3,"file":"1708525189002-CreateDigitalCredential.js","sourceRoot":"","sources":["../../../src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,oCAAoC;IAAjD;QACE,SAAI,GAAG,sCAAsC,CAAA;IAwC/C,CAAC;IAtCc,EAAE,CAAC,WAAwB;;YACtC,qBAAqB;YACrB,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;SA8BnB,CAAC,CAAA;QACR,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACxC,MAAM,WAAW,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAA;QAC3D,CAAC;KAAA;CACF;AAzCD,oFAyCC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CredentialCorrelationType, CredentialRole, CredentialStateType, DigitalCredential } from './digitalCredential';
|
|
1
|
+
import { CredentialCorrelationType, CredentialRole, CredentialStateType, DigitalCredential, RegulationType } from './digitalCredential';
|
|
2
2
|
import { Hasher } from '@sphereon/ssi-types';
|
|
3
3
|
import { FindOptionsOrder } from 'typeorm';
|
|
4
4
|
import { DigitalCredentialEntity } from '../../entities/digitalCredential/DigitalCredentialEntity';
|
|
@@ -22,6 +22,8 @@ export type AddCredentialArgs = {
|
|
|
22
22
|
rawDocument: string;
|
|
23
23
|
kmsKeyRef: string;
|
|
24
24
|
identifierMethod: string;
|
|
25
|
+
regulationType?: RegulationType;
|
|
26
|
+
parentId?: string;
|
|
25
27
|
issuerCorrelationType: CredentialCorrelationType;
|
|
26
28
|
subjectCorrelationType?: CredentialCorrelationType;
|
|
27
29
|
issuerCorrelationId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IAbstractDigitalCredentialStore.d.ts","sourceRoot":"","sources":["../../../src/types/digitalCredential/IAbstractDigitalCredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"IAbstractDigitalCredentialStore.d.ts","sourceRoot":"","sources":["../../../src/types/digitalCredential/IAbstractDigitalCredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,cAAc,EACd,mBAAmB,EACnB,iBAAiB,EACjB,cAAc,EACf,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAA;AAElG,MAAM,MAAM,iBAAiB,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAA;AAEjE,MAAM,MAAM,yBAAyB,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAA;AAEzE,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,yBAAyB,CAAA;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,uBAAuB,CAAC,CAAA;CAC3D,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,KAAK,CAAC,iBAAiB,CAAC,CAAA;IAC9B,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,cAAc,CAAC,EAAE,cAAc,CAAA;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,qBAAqB,EAAE,yBAAyB,CAAA;IAChD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAClD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,cAAc,EAAE,cAAc,CAAA;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CACrD,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAAE,aAAa,EAAE,mBAAmB,CAAC;IAAC,UAAU,CAAC,EAAE,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AAEvI,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAA"}
|
|
@@ -1,9 +1,13 @@
|
|
|
1
|
-
export type NonPersistedDigitalCredential = Omit<DigitalCredential, 'id'
|
|
1
|
+
export type NonPersistedDigitalCredential = Omit<DigitalCredential, 'id' | 'regulationType'> & {
|
|
2
|
+
regulationType?: RegulationType;
|
|
3
|
+
};
|
|
2
4
|
export type DigitalCredential = {
|
|
3
5
|
id: string;
|
|
6
|
+
parentId?: string;
|
|
4
7
|
documentType: DocumentType;
|
|
5
8
|
documentFormat: CredentialDocumentFormat;
|
|
6
9
|
credentialRole: CredentialRole;
|
|
10
|
+
regulationType: RegulationType;
|
|
7
11
|
rawDocument: string;
|
|
8
12
|
uniformDocument: string;
|
|
9
13
|
credentialId?: string;
|
|
@@ -12,11 +16,14 @@ export type DigitalCredential = {
|
|
|
12
16
|
identifierMethod: string;
|
|
13
17
|
issuerCorrelationType: CredentialCorrelationType;
|
|
14
18
|
subjectCorrelationType?: CredentialCorrelationType;
|
|
19
|
+
rpCorrelationType?: CredentialCorrelationType;
|
|
15
20
|
issuerCorrelationId: string;
|
|
16
21
|
subjectCorrelationId?: string;
|
|
22
|
+
rpCorrelationId?: string;
|
|
17
23
|
verifiedState?: CredentialStateType;
|
|
18
24
|
tenantId?: string;
|
|
19
25
|
createdAt: Date;
|
|
26
|
+
presentedAt?: Date;
|
|
20
27
|
lastUpdatedAt: Date;
|
|
21
28
|
validUntil?: Date;
|
|
22
29
|
validFrom?: Date;
|
|
@@ -29,6 +36,12 @@ export declare enum DocumentType {
|
|
|
29
36
|
P = "P",
|
|
30
37
|
C = "C"
|
|
31
38
|
}
|
|
39
|
+
export declare enum RegulationType {
|
|
40
|
+
PID = "PID",
|
|
41
|
+
QEAA = "QEAA",
|
|
42
|
+
EAA = "EAA",
|
|
43
|
+
NON_REGULATED = "NON_REGULATED"
|
|
44
|
+
}
|
|
32
45
|
export declare enum CredentialDocumentFormat {
|
|
33
46
|
JSON_LD = "JSON_LD",
|
|
34
47
|
JWT = "JWT",
|
|
@@ -41,7 +54,8 @@ export declare namespace CredentialDocumentFormat {
|
|
|
41
54
|
}
|
|
42
55
|
export declare enum CredentialCorrelationType {
|
|
43
56
|
DID = "DID",
|
|
44
|
-
|
|
57
|
+
X509_SAN = "X509_SAN",
|
|
58
|
+
KID = "KID",
|
|
45
59
|
URL = "URL"
|
|
46
60
|
}
|
|
47
61
|
export declare enum CredentialRole {
|
|
@@ -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;
|
|
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,GAAG,gBAAgB,CAAC,GAAG;IAAC,cAAc,CAAC,EAAE,cAAc,CAAA;CAAC,CAAA;AAEhI,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,EAAE,YAAY,CAAA;IAC1B,cAAc,EAAE,wBAAwB,CAAA;IACxC,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,cAAc,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,MAAM,CAAA;IACvB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,gBAAgB,EAAE,MAAM,CAAA;IACxB,qBAAqB,EAAE,yBAAyB,CAAA;IAChD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAClD,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;IAC7C,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;IACf,WAAW,CAAC,EAAE,IAAI,CAAA;IAClB,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,YAAY;IACtB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,CAAC,MAAM;IACP,CAAC,MAAM;CACR;AAED,oBAAY,cAAc;IACxB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,aAAa,kBAAkB;CAChC;AAED,oBAAY,wBAAwB;IAClC,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,QAAQ,aAAa;CACtB;AAED,yBAAiB,wBAAwB,CAAC;IACxC,SAAgB,aAAa,CAAC,gBAAgB,EAAE,MAAM,4BAarD;IAED,SAAgB,WAAW,CAAC,cAAc,EAAE,wBAAwB,EAAE,YAAY,EAAE,YAAY,kFAW/F;CACF;AAED,oBAAY,yBAAyB;IACnC,GAAG,QAAQ;IACX,QAAQ,aAAa;IACrB,GAAG,QAAQ;IACX,GAAG,QAAQ;CACZ;AAED,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,MAAM,WAAW;CAClB;AAED,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CredentialStateType = exports.CredentialRole = exports.CredentialCorrelationType = exports.CredentialDocumentFormat = exports.DocumentType = void 0;
|
|
3
|
+
exports.CredentialStateType = exports.CredentialRole = exports.CredentialCorrelationType = exports.CredentialDocumentFormat = exports.RegulationType = exports.DocumentType = void 0;
|
|
4
4
|
var DocumentType;
|
|
5
5
|
(function (DocumentType) {
|
|
6
6
|
DocumentType["VC"] = "VC";
|
|
@@ -8,6 +8,13 @@ var DocumentType;
|
|
|
8
8
|
DocumentType["P"] = "P";
|
|
9
9
|
DocumentType["C"] = "C";
|
|
10
10
|
})(DocumentType || (exports.DocumentType = DocumentType = {}));
|
|
11
|
+
var RegulationType;
|
|
12
|
+
(function (RegulationType) {
|
|
13
|
+
RegulationType["PID"] = "PID";
|
|
14
|
+
RegulationType["QEAA"] = "QEAA";
|
|
15
|
+
RegulationType["EAA"] = "EAA";
|
|
16
|
+
RegulationType["NON_REGULATED"] = "NON_REGULATED";
|
|
17
|
+
})(RegulationType || (exports.RegulationType = RegulationType = {}));
|
|
11
18
|
var CredentialDocumentFormat;
|
|
12
19
|
(function (CredentialDocumentFormat) {
|
|
13
20
|
CredentialDocumentFormat["JSON_LD"] = "JSON_LD";
|
|
@@ -52,7 +59,8 @@ var CredentialDocumentFormat;
|
|
|
52
59
|
var CredentialCorrelationType;
|
|
53
60
|
(function (CredentialCorrelationType) {
|
|
54
61
|
CredentialCorrelationType["DID"] = "DID";
|
|
55
|
-
CredentialCorrelationType["
|
|
62
|
+
CredentialCorrelationType["X509_SAN"] = "X509_SAN";
|
|
63
|
+
CredentialCorrelationType["KID"] = "KID";
|
|
56
64
|
CredentialCorrelationType["URL"] = "URL";
|
|
57
65
|
})(CredentialCorrelationType || (exports.CredentialCorrelationType = CredentialCorrelationType = {}));
|
|
58
66
|
var CredentialRole;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"digitalCredential.js","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"digitalCredential.js","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":";;;AAgCA,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,yBAAS,CAAA;IACT,yBAAS,CAAA;IACT,uBAAO,CAAA;IACP,uBAAO,CAAA;AACT,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED,IAAY,cAKX;AALD,WAAY,cAAc;IACxB,6BAAW,CAAA;IACX,+BAAa,CAAA;IACb,6BAAW,CAAA;IACX,iDAA+B,CAAA;AACjC,CAAC,EALW,cAAc,8BAAd,cAAc,QAKzB;AAED,IAAY,wBAKX;AALD,WAAY,wBAAwB;IAClC,+CAAmB,CAAA;IACnB,uCAAW,CAAA;IACX,6CAAiB,CAAA;IACjB,iDAAqB,CAAA;AACvB,CAAC,EALW,wBAAwB,wCAAxB,wBAAwB,QAKnC;AAED,WAAiB,wBAAwB;IACvC,SAAgB,aAAa,CAAC,gBAAwB;QACpD,MAAM,MAAM,GAAG,gBAAgB,CAAC,WAAW,EAAE,CAAA;QAC7C,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,wBAAwB,CAAC,MAAM,CAAA;QACxC,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAClC,OAAO,wBAAwB,CAAC,OAAO,CAAA;QACzC,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACvE,OAAO,wBAAwB,CAAC,QAAQ,CAAA;QAC1C,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACnC,OAAO,wBAAwB,CAAC,GAAG,CAAA;QACrC,CAAC;aAAM,CAAC;YACN,MAAM,KAAK,CAAC,wBAAwB,MAAM,kBAAkB,CAAC,CAAA;QAC/D,CAAC;IACH,CAAC;IAbe,sCAAa,gBAa5B,CAAA;IAED,SAAgB,WAAW,CAAC,cAAwC,EAAE,YAA0B;QAC9F,QAAQ,cAAc,EAAE,CAAC;YACvB,KAAK,wBAAwB,CAAC,MAAM;gBAClC,OAAO,WAAW,CAAA;YACpB,KAAK,wBAAwB,CAAC,QAAQ;gBACpC,OAAO,UAAU,CAAA;YACnB,KAAK,wBAAwB,CAAC,OAAO;gBACnC,OAAO,YAAY,KAAK,YAAY,CAAC,CAAC,IAAI,YAAY,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAA;YAClG,KAAK,wBAAwB,CAAC,GAAG;gBAC/B,OAAO,YAAY,KAAK,YAAY,CAAC,CAAC,IAAI,YAAY,KAAK,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,CAAA;QAC9G,CAAC;IACH,CAAC;IAXe,oCAAW,cAW1B,CAAA;AACH,CAAC,EA5BgB,wBAAwB,wCAAxB,wBAAwB,QA4BxC;AAED,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACnC,wCAAW,CAAA;IACX,kDAAqB,CAAA;IACrB,wCAAW,CAAA;IACX,wCAAW,CAAA;AACb,CAAC,EALW,yBAAyB,yCAAzB,yBAAyB,QAKpC;AAED,IAAY,cAIX;AAJD,WAAY,cAAc;IACxB,mCAAiB,CAAA;IACjB,uCAAqB,CAAA;IACrB,mCAAiB,CAAA;AACnB,CAAC,EAJW,cAAc,8BAAd,cAAc,QAIzB;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,0CAAmB,CAAA;IACnB,4CAAqB,CAAA;IACrB,0CAAmB,CAAA;AACrB,CAAC,EAJW,mBAAmB,mCAAnB,mBAAmB,QAI9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,4BAA4B,EAC5B,8BAA8B,EAE/B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAA;AAClG,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EAEjB,6BAA6B,
|
|
1
|
+
{"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,4BAA4B,EAC5B,8BAA8B,EAE/B,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAA;AAClG,OAAO,EACL,iBAAiB,EAEjB,iBAAiB,EAEjB,6BAA6B,EAE9B,MAAM,aAAa,CAAA;AAoBpB,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,WAElC;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,4BAA4B,GAAG,8BAA8B,CAY3G;AAgDD,eAAO,MAAM,8CAA8C,sBAAuB,iBAAiB,KAAG,6BA4BrG,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAAsB,uBAAuB,KAAG,iBAIjF,CAAA;AAED,eAAO,MAAM,sBAAsB,uBAAwB,MAAM,uBAAuB,CAAC,KAAG,iBAAiB,EAE5G,CAAA"}
|
|
@@ -10,10 +10,10 @@ function determineDocumentType(raw) {
|
|
|
10
10
|
throw new Error(`Couldn't parse the credential: ${raw}`);
|
|
11
11
|
}
|
|
12
12
|
const hasProof = ssi_types_1.CredentialMapper.hasProof(rawDocument);
|
|
13
|
-
const isCredential = isHex(raw) || ssi_types_1.CredentialMapper.isCredential(rawDocument);
|
|
13
|
+
const isCredential = isHex(raw) || ssi_types_1.ObjectUtils.isBase64(raw) || ssi_types_1.CredentialMapper.isCredential(rawDocument);
|
|
14
14
|
const isPresentation = ssi_types_1.CredentialMapper.isPresentation(rawDocument);
|
|
15
15
|
if (isCredential) {
|
|
16
|
-
return hasProof || isHex(raw) ? types_1.DocumentType.VC : types_1.DocumentType.C;
|
|
16
|
+
return hasProof || isHex(raw) || ssi_types_1.ObjectUtils.isBase64(raw) ? types_1.DocumentType.VC : types_1.DocumentType.C;
|
|
17
17
|
}
|
|
18
18
|
else if (isPresentation) {
|
|
19
19
|
return hasProof ? types_1.DocumentType.VP : types_1.DocumentType.P;
|
|
@@ -25,11 +25,11 @@ function isHex(input) {
|
|
|
25
25
|
}
|
|
26
26
|
exports.isHex = isHex;
|
|
27
27
|
function parseRawDocument(raw) {
|
|
28
|
-
if (isHex(raw)) {
|
|
28
|
+
if (isHex(raw) || ssi_types_1.ObjectUtils.isBase64(raw)) {
|
|
29
29
|
// mso_mdoc
|
|
30
30
|
return raw;
|
|
31
31
|
}
|
|
32
|
-
if (ssi_types_1.CredentialMapper.isJwtEncoded(raw) || ssi_types_1.CredentialMapper.isSdJwtEncoded(raw)) {
|
|
32
|
+
else if (ssi_types_1.CredentialMapper.isJwtEncoded(raw) || ssi_types_1.CredentialMapper.isSdJwtEncoded(raw)) {
|
|
33
33
|
return raw;
|
|
34
34
|
}
|
|
35
35
|
try {
|
|
@@ -81,8 +81,14 @@ function getValidFrom(uniformDocument) {
|
|
|
81
81
|
}
|
|
82
82
|
return undefined;
|
|
83
83
|
}
|
|
84
|
+
const safeStringify = (object) => {
|
|
85
|
+
if (typeof object === 'string') {
|
|
86
|
+
return object;
|
|
87
|
+
}
|
|
88
|
+
return JSON.stringify(object);
|
|
89
|
+
};
|
|
84
90
|
const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs) => {
|
|
85
|
-
var _a, _b, _c;
|
|
91
|
+
var _a, _b, _c, _d;
|
|
86
92
|
const documentType = determineDocumentType(addCredentialArgs.rawDocument);
|
|
87
93
|
const documentFormat = ssi_types_1.CredentialMapper.detectDocumentType(addCredentialArgs.rawDocument);
|
|
88
94
|
if (documentFormat === 2 /* DocumentFormat.SD_JWT_VC */ && !((_a = addCredentialArgs.opts) === null || _a === void 0 ? void 0 : _a.hasher)) {
|
|
@@ -95,7 +101,9 @@ const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs) => {
|
|
|
95
101
|
const validFrom = getValidFrom(uniformDocument);
|
|
96
102
|
const validUntil = getValidUntil(uniformDocument);
|
|
97
103
|
const hash = (0, utils_1.computeEntryHash)(addCredentialArgs.rawDocument);
|
|
98
|
-
|
|
104
|
+
const regulationType = (_c = addCredentialArgs.regulationType) !== null && _c !== void 0 ? _c : types_1.RegulationType.NON_REGULATED;
|
|
105
|
+
return Object.assign(Object.assign(Object.assign(Object.assign({}, addCredentialArgs), { regulationType,
|
|
106
|
+
documentType, documentFormat: determineCredentialDocumentFormat(documentFormat), createdAt: new Date(), credentialId: (_d = uniformDocument.id) !== null && _d !== void 0 ? _d : hash, hash, uniformDocument: safeStringify(uniformDocument), validFrom }), (validUntil && { validUntil })), { lastUpdatedAt: new Date() });
|
|
99
107
|
};
|
|
100
108
|
exports.nonPersistedDigitalCredentialEntityFromAddArgs = nonPersistedDigitalCredentialEntityFromAddArgs;
|
|
101
109
|
const digitalCredentialFrom = (credentialEntity) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":";;;AAAA,mDAQ4B;AAC5B,yCAAgD;AAEhD,
|
|
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.29.1-unstable.
|
|
3
|
+
"version": "0.29.1-unstable.197+ee9bf6f2",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -18,9 +18,9 @@
|
|
|
18
18
|
"@sphereon/pex": "^4.1.0",
|
|
19
19
|
"@sphereon/ssi-sdk-ext.did-utils": "0.24.1-next.105",
|
|
20
20
|
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.24.1-next.105",
|
|
21
|
-
"@sphereon/ssi-sdk.agent-config": "0.29.1-unstable.
|
|
22
|
-
"@sphereon/ssi-sdk.core": "0.29.1-unstable.
|
|
23
|
-
"@sphereon/ssi-types": "0.29.1-unstable.
|
|
21
|
+
"@sphereon/ssi-sdk.agent-config": "0.29.1-unstable.197+ee9bf6f2",
|
|
22
|
+
"@sphereon/ssi-sdk.core": "0.29.1-unstable.197+ee9bf6f2",
|
|
23
|
+
"@sphereon/ssi-types": "0.29.1-unstable.197+ee9bf6f2",
|
|
24
24
|
"@veramo/core": "4.2.0",
|
|
25
25
|
"@veramo/utils": "4.2.0",
|
|
26
26
|
"blakejs": "^1.2.1",
|
|
@@ -51,5 +51,5 @@
|
|
|
51
51
|
"PostgreSQL",
|
|
52
52
|
"Contact Store"
|
|
53
53
|
],
|
|
54
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "ee9bf6f29b4e781f948616bbef36940a0b886932"
|
|
55
55
|
}
|
|
@@ -85,6 +85,7 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
85
85
|
}
|
|
86
86
|
try {
|
|
87
87
|
const connection = await this.dbConnection
|
|
88
|
+
// TODO: get Id and remove all with same parentId
|
|
88
89
|
const result = await connection.getRepository(DigitalCredentialEntity).delete(query)
|
|
89
90
|
return result.affected === 1
|
|
90
91
|
} catch (error) {
|
|
@@ -5,7 +5,7 @@ import {
|
|
|
5
5
|
CredentialRole,
|
|
6
6
|
CredentialStateType,
|
|
7
7
|
DigitalCredential,
|
|
8
|
-
DocumentType,
|
|
8
|
+
DocumentType, RegulationType
|
|
9
9
|
} from '../../types'
|
|
10
10
|
import { typeormDate, typeOrmDateTime } from '@sphereon/ssi-sdk.agent-config'
|
|
11
11
|
|
|
@@ -14,9 +14,15 @@ export class DigitalCredentialEntity extends BaseEntity implements DigitalCreden
|
|
|
14
14
|
@PrimaryGeneratedColumn('uuid')
|
|
15
15
|
id!: string
|
|
16
16
|
|
|
17
|
+
@Column('text', { name: 'parent_id', nullable: true })
|
|
18
|
+
parentId?: string
|
|
19
|
+
|
|
17
20
|
@Column('simple-enum', { name: 'document_type', enum: DocumentType, nullable: false })
|
|
18
21
|
documentType!: DocumentType
|
|
19
22
|
|
|
23
|
+
@Column('simple-enum', { name: 'regulation_type', enum: RegulationType, nullable: false })
|
|
24
|
+
regulationType!: RegulationType
|
|
25
|
+
|
|
20
26
|
@Column('simple-enum', { name: 'document_format', enum: CredentialDocumentFormat, nullable: false })
|
|
21
27
|
documentFormat!: CredentialDocumentFormat
|
|
22
28
|
|
|
@@ -47,12 +53,18 @@ export class DigitalCredentialEntity extends BaseEntity implements DigitalCreden
|
|
|
47
53
|
@Column('simple-enum', { name: 'subject_correlation_type', enum: CredentialCorrelationType, nullable: true })
|
|
48
54
|
subjectCorrelationType?: CredentialCorrelationType
|
|
49
55
|
|
|
56
|
+
@Column('simple-enum', { name: 'rp_correlation_type', enum: CredentialCorrelationType, nullable: true })
|
|
57
|
+
rpCorrelationType?: CredentialCorrelationType
|
|
58
|
+
|
|
50
59
|
@Column('text', { name: 'issuer_correlation_id', nullable: false })
|
|
51
60
|
issuerCorrelationId!: string
|
|
52
61
|
|
|
53
62
|
@Column('text', { name: 'subject_correlation_id', nullable: true })
|
|
54
63
|
subjectCorrelationId?: string
|
|
55
64
|
|
|
65
|
+
@Column('text', { name: 'rp_correlation_id', nullable: true })
|
|
66
|
+
rpCorrelationId?: string
|
|
67
|
+
|
|
56
68
|
@Column('simple-enum', { name: 'verified_state', enum: CredentialStateType, nullable: true })
|
|
57
69
|
verifiedState?: CredentialStateType
|
|
58
70
|
|
|
@@ -62,6 +74,9 @@ export class DigitalCredentialEntity extends BaseEntity implements DigitalCreden
|
|
|
62
74
|
@CreateDateColumn({ name: 'created_at', nullable: false, type: typeOrmDateTime() })
|
|
63
75
|
createdAt!: Date
|
|
64
76
|
|
|
77
|
+
@Column({ name: 'presented_at', nullable: true, type: typeormDate() })
|
|
78
|
+
presentedAt?: Date
|
|
79
|
+
|
|
65
80
|
@UpdateDateColumn({ name: 'last_updated_at', nullable: false, type: typeOrmDateTime() })
|
|
66
81
|
lastUpdatedAt!: Date
|
|
67
82
|
|
|
@@ -5,15 +5,20 @@ export class CreateDigitalCredential1708525189001 implements MigrationInterface
|
|
|
5
5
|
|
|
6
6
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
7
|
await queryRunner.query(`CREATE TYPE "digital_document_type" AS ENUM('VC', 'VP', 'C', 'P')`)
|
|
8
|
-
await queryRunner.query(`CREATE TYPE "
|
|
8
|
+
await queryRunner.query(`CREATE TYPE "digital_regulation_type" AS ENUM('PID', 'QEAA', 'EAA', 'NON_REGULATED')`)
|
|
9
|
+
await queryRunner.query(`CREATE TYPE "digital_credential_document_format" AS ENUM('JSON_LD', 'JWT', 'SD_JWT', 'MSO_MDOC')`)
|
|
9
10
|
await queryRunner.query(`CREATE TYPE "digital_credential_credential_role" AS ENUM('ISSUER', 'VERIFIER', 'HOLDER')`)
|
|
10
|
-
await queryRunner.query(`CREATE TYPE "digital_credential_correlation_type" AS ENUM('DID', 'URL', '
|
|
11
|
+
await queryRunner.query(`CREATE TYPE "digital_credential_correlation_type" AS ENUM('DID', 'KID', 'URL', 'X509_SAN')`)
|
|
11
12
|
await queryRunner.query(`CREATE TYPE "digital_credential_state_type" AS ENUM('REVOKED', 'VERIFIED', 'EXPIRED')`)
|
|
12
13
|
|
|
14
|
+
// TODO FK for parent
|
|
15
|
+
|
|
13
16
|
await queryRunner.query(`
|
|
14
17
|
CREATE TABLE "DigitalCredential" (
|
|
15
18
|
"id" uuid NOT NULL DEFAULT uuid_generate_v4(),
|
|
19
|
+
"parent_id" text,
|
|
16
20
|
"document_type" "digital_document_type" NOT NULL,
|
|
21
|
+
"regulation_type" "digital_regulation_type" NOT NULL DEFAULT "NON_REGULATED",
|
|
17
22
|
"document_format" "digital_credential_document_format" NOT NULL,
|
|
18
23
|
"credential_role" "digital_credential_credential_role" NOT NULL,
|
|
19
24
|
"raw_document" text NOT NULL,
|
|
@@ -27,9 +32,12 @@ export class CreateDigitalCredential1708525189001 implements MigrationInterface
|
|
|
27
32
|
"issuer_correlation_id" text NOT NULL,
|
|
28
33
|
"subject_correlation_id" text,
|
|
29
34
|
"verified_state" "digital_credential_state_type",
|
|
35
|
+
"rp_correlation_id" text,
|
|
36
|
+
"rp_correlation_type" "digital_credential_correlation_type",
|
|
30
37
|
"tenant_id" text,
|
|
31
38
|
"created_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
32
39
|
"last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
40
|
+
"presented_at" DATE,
|
|
33
41
|
"valid_from" DATE,
|
|
34
42
|
"valid_until" DATE,
|
|
35
43
|
"verified_at" DATE,
|
|
@@ -45,6 +53,7 @@ export class CreateDigitalCredential1708525189001 implements MigrationInterface
|
|
|
45
53
|
await queryRunner.query(`DROP TYPE "digital_credential_correlation_type"`)
|
|
46
54
|
await queryRunner.query(`DROP TYPE "digital_credential_document_format"`)
|
|
47
55
|
await queryRunner.query(`DROP TYPE "digital_credential_credential_role"`)
|
|
56
|
+
await queryRunner.query(`DROP TYPE "digital_regulation_type"`)
|
|
48
57
|
await queryRunner.query(`DROP TYPE "digital_document_type"`)
|
|
49
58
|
}
|
|
50
59
|
}
|
|
@@ -4,11 +4,14 @@ export class CreateDigitalCredential1708525189002 implements MigrationInterface
|
|
|
4
4
|
name = 'CreateDigitalCredential1708525189002'
|
|
5
5
|
|
|
6
6
|
public async up(queryRunner: QueryRunner): Promise<void> {
|
|
7
|
+
// TODO FK for parent
|
|
7
8
|
await queryRunner.query(`
|
|
8
9
|
CREATE TABLE "DigitalCredential" (
|
|
9
10
|
"id" varchar PRIMARY KEY NOT NULL,
|
|
11
|
+
"parent_id" text,
|
|
10
12
|
"document_type" varchar CHECK( "document_type" IN ('VC', 'VP', 'C', 'P') ) NOT NULL,
|
|
11
|
-
"
|
|
13
|
+
"regulation_type" varchar CHECK( "regulation_type" IN ('PID', 'QEAA', 'EAA', 'NON_REGULATED') ) NOT NULL DEFAULT 'NON_REGULATED',
|
|
14
|
+
"document_format" varchar CHECK( "document_format" IN ('JSON_LD', 'JWT', 'SD_JWT', 'MSO_MDOC') ) NOT NULL,
|
|
12
15
|
"credential_role" varchar CHECK( "credential_role" IN ('ISSUER', 'VERIFIER', 'HOLDER') ) NOT NULL,
|
|
13
16
|
"raw_document" text NOT NULL,
|
|
14
17
|
"uniform_document" text NOT NULL,
|
|
@@ -16,14 +19,17 @@ export class CreateDigitalCredential1708525189002 implements MigrationInterface
|
|
|
16
19
|
"hash" text NOT NULL UNIQUE,
|
|
17
20
|
"kms_key_ref" text NOT NULL,
|
|
18
21
|
"identifier_method" text NOT NULL,
|
|
19
|
-
"issuer_correlation_type" varchar CHECK( "issuer_correlation_type" IN ('DID', 'URL', '
|
|
20
|
-
"subject_correlation_type" varchar CHECK( "subject_correlation_type" IN ('DID', 'URL', '
|
|
22
|
+
"issuer_correlation_type" varchar CHECK( "issuer_correlation_type" IN ('DID', 'KID', 'URL', 'X509_SAN') ) NOT NULL,
|
|
23
|
+
"subject_correlation_type" varchar CHECK( "subject_correlation_type" IN ('DID', 'KID', 'URL', 'X509_SAN') ),
|
|
21
24
|
"issuer_correlation_id" text NOT NULL,
|
|
22
25
|
"subject_correlation_id" text,
|
|
26
|
+
"rp_correlation_id" text,
|
|
27
|
+
"rp_correlation_type" varchar CHECK( "issuer_correlation_type" IN ('DID', 'KID', 'URL', 'X509_SAN') ),
|
|
23
28
|
"verified_state" varchar CHECK( "verified_state" IN ('REVOKED', 'VERIFIED', 'EXPIRED') ),
|
|
24
29
|
"tenant_id" text,
|
|
25
30
|
"created_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
26
31
|
"last_updated_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
32
|
+
"presented_at" datetime,
|
|
27
33
|
"valid_from" datetime,
|
|
28
34
|
"valid_until" datetime,
|
|
29
35
|
"verified_at" datetime,
|
|
@@ -1,4 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import {
|
|
2
|
+
CredentialCorrelationType,
|
|
3
|
+
CredentialRole,
|
|
4
|
+
CredentialStateType,
|
|
5
|
+
DigitalCredential,
|
|
6
|
+
RegulationType
|
|
7
|
+
} from './digitalCredential'
|
|
2
8
|
import { Hasher } from '@sphereon/ssi-types'
|
|
3
9
|
import { FindOptionsOrder } from 'typeorm'
|
|
4
10
|
import { DigitalCredentialEntity } from '../../entities/digitalCredential/DigitalCredentialEntity'
|
|
@@ -23,6 +29,8 @@ export type AddCredentialArgs = {
|
|
|
23
29
|
rawDocument: string
|
|
24
30
|
kmsKeyRef: string
|
|
25
31
|
identifierMethod: string
|
|
32
|
+
regulationType?: RegulationType
|
|
33
|
+
parentId?: string
|
|
26
34
|
issuerCorrelationType: CredentialCorrelationType
|
|
27
35
|
subjectCorrelationType?: CredentialCorrelationType
|
|
28
36
|
issuerCorrelationId: string
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
export type NonPersistedDigitalCredential = Omit<DigitalCredential, 'id'>
|
|
1
|
+
export type NonPersistedDigitalCredential = Omit<DigitalCredential, 'id' | 'regulationType'> & {regulationType?: RegulationType}
|
|
2
2
|
|
|
3
3
|
export type DigitalCredential = {
|
|
4
4
|
id: string
|
|
5
|
+
parentId?: string
|
|
5
6
|
documentType: DocumentType
|
|
6
7
|
documentFormat: CredentialDocumentFormat
|
|
7
8
|
credentialRole: CredentialRole
|
|
9
|
+
regulationType: RegulationType
|
|
8
10
|
rawDocument: string
|
|
9
11
|
uniformDocument: string
|
|
10
12
|
credentialId?: string
|
|
@@ -13,11 +15,14 @@ export type DigitalCredential = {
|
|
|
13
15
|
identifierMethod: string
|
|
14
16
|
issuerCorrelationType: CredentialCorrelationType
|
|
15
17
|
subjectCorrelationType?: CredentialCorrelationType
|
|
18
|
+
rpCorrelationType?: CredentialCorrelationType
|
|
16
19
|
issuerCorrelationId: string
|
|
17
20
|
subjectCorrelationId?: string
|
|
21
|
+
rpCorrelationId?: string
|
|
18
22
|
verifiedState?: CredentialStateType
|
|
19
23
|
tenantId?: string
|
|
20
24
|
createdAt: Date
|
|
25
|
+
presentedAt?: Date
|
|
21
26
|
lastUpdatedAt: Date
|
|
22
27
|
validUntil?: Date
|
|
23
28
|
validFrom?: Date
|
|
@@ -32,6 +37,13 @@ export enum DocumentType {
|
|
|
32
37
|
C = 'C',
|
|
33
38
|
}
|
|
34
39
|
|
|
40
|
+
export enum RegulationType {
|
|
41
|
+
PID = 'PID',
|
|
42
|
+
QEAA = 'QEAA',
|
|
43
|
+
EAA = 'EAA',
|
|
44
|
+
NON_REGULATED = 'NON_REGULATED',
|
|
45
|
+
}
|
|
46
|
+
|
|
35
47
|
export enum CredentialDocumentFormat {
|
|
36
48
|
JSON_LD = 'JSON_LD',
|
|
37
49
|
JWT = 'JWT',
|
|
@@ -71,7 +83,8 @@ export namespace CredentialDocumentFormat {
|
|
|
71
83
|
|
|
72
84
|
export enum CredentialCorrelationType {
|
|
73
85
|
DID = 'DID',
|
|
74
|
-
|
|
86
|
+
X509_SAN = 'X509_SAN',
|
|
87
|
+
KID = 'KID',
|
|
75
88
|
URL = 'URL',
|
|
76
89
|
}
|
|
77
90
|
|
|
@@ -2,7 +2,7 @@ import {
|
|
|
2
2
|
CredentialMapper,
|
|
3
3
|
DocumentFormat,
|
|
4
4
|
IVerifiableCredential,
|
|
5
|
-
IVerifiablePresentation,
|
|
5
|
+
IVerifiablePresentation, ObjectUtils,
|
|
6
6
|
OriginalVerifiableCredential,
|
|
7
7
|
OriginalVerifiablePresentation,
|
|
8
8
|
SdJwtDecodedVerifiableCredentialPayload
|
|
@@ -14,7 +14,8 @@ import {
|
|
|
14
14
|
CredentialDocumentFormat,
|
|
15
15
|
DigitalCredential,
|
|
16
16
|
DocumentType,
|
|
17
|
-
NonPersistedDigitalCredential
|
|
17
|
+
NonPersistedDigitalCredential,
|
|
18
|
+
RegulationType
|
|
18
19
|
} from '../../types'
|
|
19
20
|
|
|
20
21
|
function determineDocumentType(raw: string): DocumentType {
|
|
@@ -24,11 +25,11 @@ function determineDocumentType(raw: string): DocumentType {
|
|
|
24
25
|
}
|
|
25
26
|
|
|
26
27
|
const hasProof = CredentialMapper.hasProof(rawDocument)
|
|
27
|
-
const isCredential = isHex(raw) || CredentialMapper.isCredential(rawDocument)
|
|
28
|
+
const isCredential = isHex(raw) || ObjectUtils.isBase64(raw) || CredentialMapper.isCredential(rawDocument)
|
|
28
29
|
const isPresentation = CredentialMapper.isPresentation(rawDocument)
|
|
29
30
|
|
|
30
31
|
if (isCredential) {
|
|
31
|
-
return hasProof || isHex(raw) ? DocumentType.VC : DocumentType.C
|
|
32
|
+
return hasProof || isHex(raw) || ObjectUtils.isBase64(raw) ? DocumentType.VC : DocumentType.C
|
|
32
33
|
} else if (isPresentation) {
|
|
33
34
|
return hasProof ? DocumentType.VP : DocumentType.P
|
|
34
35
|
}
|
|
@@ -40,11 +41,10 @@ export function isHex(input: string) {
|
|
|
40
41
|
}
|
|
41
42
|
|
|
42
43
|
export function parseRawDocument(raw: string): OriginalVerifiableCredential | OriginalVerifiablePresentation {
|
|
43
|
-
if (isHex(raw)) {
|
|
44
|
+
if (isHex(raw) || ObjectUtils.isBase64(raw)) {
|
|
44
45
|
// mso_mdoc
|
|
45
46
|
return raw
|
|
46
|
-
}
|
|
47
|
-
if (CredentialMapper.isJwtEncoded(raw) || CredentialMapper.isSdJwtEncoded(raw)) {
|
|
47
|
+
} else if (CredentialMapper.isJwtEncoded(raw) || CredentialMapper.isSdJwtEncoded(raw)) {
|
|
48
48
|
return raw
|
|
49
49
|
}
|
|
50
50
|
try {
|
|
@@ -93,6 +93,13 @@ function getValidFrom(uniformDocument: IVerifiableCredential | IVerifiablePresen
|
|
|
93
93
|
return undefined
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
+
const safeStringify = (object: any): string => {
|
|
97
|
+
if (typeof object === 'string') {
|
|
98
|
+
return object
|
|
99
|
+
}
|
|
100
|
+
return JSON.stringify(object)
|
|
101
|
+
}
|
|
102
|
+
|
|
96
103
|
export const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs: AddCredentialArgs): NonPersistedDigitalCredential => {
|
|
97
104
|
const documentType: DocumentType = determineDocumentType(addCredentialArgs.rawDocument)
|
|
98
105
|
const documentFormat: DocumentFormat = CredentialMapper.detectDocumentType(addCredentialArgs.rawDocument)
|
|
@@ -107,14 +114,16 @@ export const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs
|
|
|
107
114
|
const validFrom: Date | undefined = getValidFrom(uniformDocument)
|
|
108
115
|
const validUntil: Date | undefined = getValidUntil(uniformDocument)
|
|
109
116
|
const hash = computeEntryHash(addCredentialArgs.rawDocument)
|
|
117
|
+
const regulationType = addCredentialArgs.regulationType ?? RegulationType.NON_REGULATED
|
|
110
118
|
return {
|
|
111
119
|
...addCredentialArgs,
|
|
120
|
+
regulationType,
|
|
112
121
|
documentType,
|
|
113
122
|
documentFormat: determineCredentialDocumentFormat(documentFormat),
|
|
114
123
|
createdAt: new Date(),
|
|
115
124
|
credentialId: uniformDocument.id ?? hash,
|
|
116
125
|
hash,
|
|
117
|
-
uniformDocument:
|
|
126
|
+
uniformDocument: safeStringify(uniformDocument),
|
|
118
127
|
validFrom,
|
|
119
128
|
...(validUntil && { validUntil }),
|
|
120
129
|
lastUpdatedAt: new Date(),
|