@sphereon/ssi-sdk.data-store 0.18.2-unstable.89 → 0.18.2-unstable.90
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/AbstractDigitalCredentialStore.d.ts +6 -6
- package/dist/digitalCredential/AbstractDigitalCredentialStore.d.ts.map +1 -1
- package/dist/digitalCredential/DigitalCredentialStore.d.ts +6 -6
- package/dist/digitalCredential/DigitalCredentialStore.d.ts.map +1 -1
- package/dist/digitalCredential/DigitalCredentialStore.js +5 -5
- package/dist/digitalCredential/DigitalCredentialStore.js.map +1 -1
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts +6 -6
- package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.d.ts +2 -2
- package/dist/utils/digitalCredential/MappingUtils.d.ts.map +1 -1
- package/dist/utils/digitalCredential/MappingUtils.js.map +1 -1
- package/package.json +4 -4
- package/src/__tests__/digitalCredential.entities.test.ts +2 -2
- package/src/__tests__/digitalCredential.store.test.ts +29 -29
- package/src/digitalCredential/AbstractDigitalCredentialStore.ts +11 -11
- package/src/digitalCredential/DigitalCredentialStore.ts +11 -11
- package/src/types/digitalCredential/IAbstractDigitalCredentialStore.ts +6 -6
- package/src/utils/digitalCredential/MappingUtils.ts +2 -2
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AddCredentialArgs, GetCredentialArgs, GetCredentialsArgs, GetCredentialsResponse, RemoveCredentialArgs, UpdateCredentialStateArgs } from '../types/digitalCredential/IAbstractDigitalCredentialStore';
|
|
2
2
|
import { DigitalCredentialEntity } from '../entities/digitalCredential/DigitalCredentialEntity';
|
|
3
3
|
export declare abstract class AbstractDigitalCredentialStore {
|
|
4
|
-
abstract
|
|
5
|
-
abstract
|
|
6
|
-
abstract
|
|
7
|
-
abstract
|
|
8
|
-
abstract
|
|
4
|
+
abstract getCredential(args: GetCredentialArgs): Promise<DigitalCredentialEntity>;
|
|
5
|
+
abstract getCredentials(args?: GetCredentialsArgs): Promise<GetCredentialsResponse>;
|
|
6
|
+
abstract addCredential(args: AddCredentialArgs): Promise<DigitalCredentialEntity>;
|
|
7
|
+
abstract updateCredentialState(args: UpdateCredentialStateArgs): Promise<DigitalCredentialEntity>;
|
|
8
|
+
abstract removeCredential(args: RemoveCredentialArgs): Promise<boolean>;
|
|
9
9
|
}
|
|
10
10
|
//# sourceMappingURL=AbstractDigitalCredentialStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractDigitalCredentialStore.d.ts","sourceRoot":"","sources":["../../src/digitalCredential/AbstractDigitalCredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"AbstractDigitalCredentialStore.d.ts","sourceRoot":"","sources":["../../src/digitalCredential/AbstractDigitalCredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,4DAA4D,CAAA;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAA;AAE/F,8BAAsB,8BAA8B;IAClD,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IACjF,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,sBAAsB,CAAC;IACnF,QAAQ,CAAC,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IACjF,QAAQ,CAAC,qBAAqB,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAAC,uBAAuB,CAAC;IACjG,QAAQ,CAAC,gBAAgB,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC;CACxE"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { AbstractDigitalCredentialStore } from './AbstractDigitalCredentialStore';
|
|
2
|
-
import {
|
|
2
|
+
import { AddCredentialArgs, GetCredentialArgs, GetCredentialsArgs, GetCredentialsResponse, RemoveCredentialArgs, UpdateCredentialStateArgs } from '../types/digitalCredential/IAbstractDigitalCredentialStore';
|
|
3
3
|
import { OrPromise } from '@sphereon/ssi-types';
|
|
4
4
|
import { DataSource } from 'typeorm';
|
|
5
5
|
import { DigitalCredentialEntity } from '../entities/digitalCredential/DigitalCredentialEntity';
|
|
6
6
|
export declare class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
7
7
|
private readonly dbConnection;
|
|
8
8
|
constructor(dbConnection: OrPromise<DataSource>);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
addCredential: (args: AddCredentialArgs) => Promise<DigitalCredentialEntity>;
|
|
10
|
+
getCredential: (args: GetCredentialArgs) => Promise<DigitalCredentialEntity>;
|
|
11
|
+
getCredentials: (args?: GetCredentialsArgs) => Promise<GetCredentialsResponse>;
|
|
12
|
+
removeCredential: (args: RemoveCredentialArgs) => Promise<boolean>;
|
|
13
|
+
updateCredentialState: (args: UpdateCredentialStateArgs) => Promise<DigitalCredentialEntity>;
|
|
14
14
|
}
|
|
15
15
|
//# sourceMappingURL=DigitalCredentialStore.d.ts.map
|
|
@@ -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,
|
|
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,EAC1B,MAAM,4DAA4D,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAc,MAAM,SAAS,CAAA;AAEhD,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAA;AAO/F,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,uBAAuB,CAAC,CAMhF;IAED,aAAa,SAAgB,iBAAiB,KAAG,QAAQ,uBAAuB,CAAC,CAShF;IAED,cAAc,UAAiB,kBAAkB,KAAG,QAAQ,sBAAsB,CAAC,CAgBlF;IAED,gBAAgB,SAAgB,oBAAoB,KAAG,QAAQ,OAAO,CAAC,CAsBtE;IAED,qBAAqB,SAAgB,yBAAyB,KAAG,QAAQ,uBAAuB,CAAC,CA0BhG;CACF"}
|
|
@@ -22,14 +22,14 @@ const debug = (0, debug_1.default)('sphereon:ssi-sdk:credential-store');
|
|
|
22
22
|
class DigitalCredentialStore extends AbstractDigitalCredentialStore_1.AbstractDigitalCredentialStore {
|
|
23
23
|
constructor(dbConnection) {
|
|
24
24
|
super();
|
|
25
|
-
this.
|
|
25
|
+
this.addCredential = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
26
26
|
debug('Adding credential', args);
|
|
27
27
|
const digitalCredentialEntityRepository = (yield this.dbConnection).getRepository(DigitalCredentialEntity_1.DigitalCredentialEntity);
|
|
28
28
|
const credentialEntity = (0, MappingUtils_1.nonPersistedDigitalCredentialEntityFromAddArgs)(args);
|
|
29
29
|
const createdResult = yield digitalCredentialEntityRepository.save(credentialEntity);
|
|
30
30
|
return Promise.resolve(createdResult);
|
|
31
31
|
});
|
|
32
|
-
this.
|
|
32
|
+
this.getCredential = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
33
33
|
const result = yield (yield this.dbConnection).getRepository(DigitalCredentialEntity_1.DigitalCredentialEntity).findOne({
|
|
34
34
|
where: args,
|
|
35
35
|
});
|
|
@@ -38,7 +38,7 @@ class DigitalCredentialStore extends AbstractDigitalCredentialStore_1.AbstractDi
|
|
|
38
38
|
}
|
|
39
39
|
return result;
|
|
40
40
|
});
|
|
41
|
-
this.
|
|
41
|
+
this.getCredentials = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
42
42
|
const { filter = {}, skip, take, order = { createdAt: 'DESC' } } = args !== null && args !== void 0 ? args : {};
|
|
43
43
|
const [result, total] = yield (yield this.dbConnection).getRepository(DigitalCredentialEntity_1.DigitalCredentialEntity).findAndCount({
|
|
44
44
|
where: filter,
|
|
@@ -55,7 +55,7 @@ class DigitalCredentialStore extends AbstractDigitalCredentialStore_1.AbstractDi
|
|
|
55
55
|
hasMore: total > (skip || 0) + (take || 0),
|
|
56
56
|
};
|
|
57
57
|
});
|
|
58
|
-
this.
|
|
58
|
+
this.removeCredential = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
59
59
|
if (!args) {
|
|
60
60
|
return false;
|
|
61
61
|
}
|
|
@@ -79,7 +79,7 @@ class DigitalCredentialStore extends AbstractDigitalCredentialStore_1.AbstractDi
|
|
|
79
79
|
return false;
|
|
80
80
|
}
|
|
81
81
|
});
|
|
82
|
-
this.
|
|
82
|
+
this.updateCredentialState = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
83
83
|
var _a, _b;
|
|
84
84
|
const credentialRepository = (yield this.dbConnection).getRepository(DigitalCredentialEntity_1.DigitalCredentialEntity);
|
|
85
85
|
const whereClause = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DigitalCredentialStore.js","sourceRoot":"","sources":["../../src/digitalCredential/DigitalCredentialStore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qFAAiF;AAWjF,kDAAyB;AACzB,mGAA+F;AAC/F,0EAAwG;AAExG,oFAAoI;AAEpI,MAAM,KAAK,GAAmB,IAAA,eAAK,EAAC,mCAAmC,CAAC,CAAA;AAExE,MAAa,sBAAuB,SAAQ,+DAA8B;IAGxE,YAAY,YAAmC;QAC7C,KAAK,EAAE,CAAA;QAIT,
|
|
1
|
+
{"version":3,"file":"DigitalCredentialStore.js","sourceRoot":"","sources":["../../src/digitalCredential/DigitalCredentialStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { CredentialCorrelationType, CredentialStateType, DigitalCredential } from './digitalCredential';
|
|
2
|
-
export type
|
|
2
|
+
export type GetCredentialArgs = {
|
|
3
3
|
id: string;
|
|
4
4
|
} | {
|
|
5
5
|
hash: string;
|
|
6
6
|
};
|
|
7
7
|
export type FindDigitalCredentialArgs = Array<Partial<DigitalCredential>>;
|
|
8
|
-
export type
|
|
8
|
+
export type GetCredentialsArgs = {
|
|
9
9
|
filter?: FindDigitalCredentialArgs;
|
|
10
10
|
skip?: number;
|
|
11
11
|
take?: number;
|
|
@@ -13,12 +13,12 @@ export type GetDigitalCredentialsArgs = {
|
|
|
13
13
|
[key in keyof DigitalCredential]: 'ASC' | 'DESC';
|
|
14
14
|
};
|
|
15
15
|
};
|
|
16
|
-
export type
|
|
16
|
+
export type GetCredentialsResponse = {
|
|
17
17
|
data: DigitalCredential[];
|
|
18
18
|
total: number;
|
|
19
19
|
hasMore: boolean;
|
|
20
20
|
};
|
|
21
|
-
export type
|
|
21
|
+
export type AddCredentialArgs = {
|
|
22
22
|
raw: string;
|
|
23
23
|
issuerCorrelationType: CredentialCorrelationType;
|
|
24
24
|
subjectCorrelationType?: CredentialCorrelationType;
|
|
@@ -29,9 +29,9 @@ export type AddDigitalCredentialArgs = {
|
|
|
29
29
|
verificationDate?: Date;
|
|
30
30
|
revocationDate?: Date;
|
|
31
31
|
};
|
|
32
|
-
export type
|
|
32
|
+
export type UpdateCredentialStateArgs = GetCredentialArgs & {
|
|
33
33
|
verifiedState: CredentialStateType;
|
|
34
34
|
verificationDate?: Date;
|
|
35
35
|
};
|
|
36
|
-
export type
|
|
36
|
+
export type RemoveCredentialArgs = GetCredentialArgs;
|
|
37
37
|
//# sourceMappingURL=IAbstractDigitalCredentialStore.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IAbstractDigitalCredentialStore.d.ts","sourceRoot":"","sources":["../../../src/types/digitalCredential/IAbstractDigitalCredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvG,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"IAbstractDigitalCredentialStore.d.ts","sourceRoot":"","sources":["../../../src/types/digitalCredential/IAbstractDigitalCredentialStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAA;AAEvG,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,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE;SAAG,GAAG,IAAI,MAAM,iBAAiB,GAAG,KAAK,GAAG,MAAM;KAAE,CAAA;CAC7D,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,IAAI,EAAE,iBAAiB,EAAE,CAAA;IACzB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,GAAG,EAAE,MAAM,CAAA;IACX,qBAAqB,EAAE,yBAAyB,CAAA;IAChD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAClD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,gBAAgB,CAAC,EAAE,IAAI,CAAA;IACvB,cAAc,CAAC,EAAE,IAAI,CAAA;CACtB,CAAA;AAED,MAAM,MAAM,yBAAyB,GAAG,iBAAiB,GAAG;IAAE,aAAa,EAAE,mBAAmB,CAAC;IAAC,gBAAgB,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AAE3H,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAA"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AddCredentialArgs } from '../../types/digitalCredential/IAbstractDigitalCredentialStore';
|
|
2
2
|
import { DigitalCredentialEntity } from '../../entities/digitalCredential/DigitalCredentialEntity';
|
|
3
3
|
import { SdJwtDecodedVerifiableCredentialPayload } from '@sphereon/ssi-types';
|
|
4
4
|
import { DigitalCredential, NonPersistedDigitalCredential } from '../../types/digitalCredential/digitalCredential';
|
|
5
5
|
export declare const handleSdJwt: (rawCredential: string) => SdJwtDecodedVerifiableCredentialPayload;
|
|
6
|
-
export declare const nonPersistedDigitalCredentialEntityFromAddArgs: (addCredentialArgs:
|
|
6
|
+
export declare const nonPersistedDigitalCredentialEntityFromAddArgs: (addCredentialArgs: AddCredentialArgs) => NonPersistedDigitalCredential;
|
|
7
7
|
export declare const digitalCredentialFrom: (credentialEntity: DigitalCredentialEntity) => DigitalCredential;
|
|
8
8
|
export declare const digitalCredentialsFrom: (credentialEntities: Array<DigitalCredentialEntity>) => DigitalCredential[];
|
|
9
9
|
//# sourceMappingURL=MappingUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
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;AAClG,OAAO,EAML,uCAAuC,EACxC,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAGL,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,iDAAiD,CAAA;AAyDxD,eAAO,MAAM,WAAW,kBAAmB,MAAM,KAAG,uCAKnD,CAAA;AAED,eAAO,MAAM,8CAA8C,sBAAuB,iBAAiB,KAAG,6BAsBrG,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAAsB,uBAAuB,KAAG,iBAIjF,CAAA;AAED,eAAO,MAAM,sBAAsB,uBAAwB,MAAM,uBAAuB,CAAC,KAAG,iBAAiB,EAE5G,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":";;;AAEA,mDAO4B;AAC5B,uFAKwD;AACxD,yCAAgD;AAChD,mCAAmC;AAEnC,SAAS,uBAAuB,CAAC,GAAW;IAC1C,IAAI,4BAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QAClC,IAAI,4BAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;YACtC,OAAO,kCAAc,CAAC,EAAE,CAAA;SACzB;aAAM,IAAI,4BAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YAC/C,OAAO,kCAAc,CAAC,EAAE,CAAA;SACzB;KACF;SAAM;QACL,IAAI,4BAAgB,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;YACtC,OAAO,kCAAc,CAAC,CAAC,CAAA;SACxB;aAAM,IAAI,4BAAgB,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;YAC/C,OAAO,kCAAc,CAAC,CAAC,CAAA;SACxB;KACF;IACD,MAAM,IAAI,KAAK,CAAC,kDAAkD,GAAG,EAAE,CAAC,CAAA;AAC1E,CAAC;AAED,SAAS,iCAAiC,CAAC,cAA8B;IACvE,QAAQ,cAAc,EAAE;QACtB;YACE,OAAO,4CAAwB,CAAC,OAAO,CAAA;QACzC;YACE,OAAO,4CAAwB,CAAC,GAAG,CAAA;QACrC;YACE,OAAO,4CAAwB,CAAC,MAAM,CAAA;QACxC;YACE,MAAM,IAAI,KAAK,CAAC,kCAAkC,cAAc,EAAE,CAAC,CAAA;KACtE;AACH,CAAC;AAED,SAAS,YAAY,CAAC,eAA0G;IAC9H,IAAI,gBAAgB,IAAI,eAAe,EAAE;QACvC,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAA;KAChD;SAAM,IAAI,KAAK,IAAI,eAAe,EAAE;QACnC,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAA;KACrC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,eAA0G;IAC7H,IAAI,cAAc,IAAI,eAAe,EAAE;QACrC,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAA;KAC9C;SAAM,IAAI,eAAe,CAAC,KAAK,IAAI,4BAAgB,CAAC,aAAa,CAAC,eAAkE,CAAC,EAAE;QACtI,OAAO,IAAI,IAAI,CAAC,4BAAgB,CAAC,aAAa,CAAC,eAAkE,CAAE,CAAC,OAAO,CAAC,CAAA;KAC7H;SAAM,IAAI,WAAW,IAAI,eAAe,EAAE;QACzC,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAA;KAC9C;SAAM,IAAI,KAAK,IAAI,eAAe,EAAE;QACnC,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAA;KAC/C;IAED,OAAO,SAAS,CAAA;AAClB,CAAC;AAEM,MAAM,WAAW,GAAG,CAAC,aAAqB,EAA2C,EAAE;IAC5F,4BAA4B;IAC5B,OAAO,4BAAgB,CAAC,cAAc,CAAC,aAAa,CAAC;QACnD,CAAC,CAAC,IAAA,yBAAa,EAAC,aAAa,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,EAAE,CAAC,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,cAAc;QAC/G,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAA;AAC/B,CAAC,CAAA;AALY,QAAA,WAAW,eAKvB;AAEM,MAAM,8CAA8C,GAAG,CAAC,
|
|
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.90+369f6975",
|
|
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.90+369f6975",
|
|
17
|
+
"@sphereon/ssi-types": "0.18.2-unstable.90+369f6975",
|
|
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": "369f6975a230a10f752e9c84f785949174c2c5c8"
|
|
48
48
|
}
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
NonPersistedDigitalCredential,
|
|
10
10
|
} from '../types/digitalCredential/digitalCredential'
|
|
11
11
|
import { computeEntryHash } from '@veramo/utils'
|
|
12
|
-
import {
|
|
12
|
+
import { AddCredentialArgs } from '../types/digitalCredential/IAbstractDigitalCredentialStore'
|
|
13
13
|
import { nonPersistedDigitalCredentialEntityFromAddArgs } from '../utils/digitalCredential/MappingUtils'
|
|
14
14
|
|
|
15
15
|
describe('Database entities tests', (): void => {
|
|
@@ -36,7 +36,7 @@ describe('Database entities tests', (): void => {
|
|
|
36
36
|
it('should save digital credential to database', async (): Promise<void> => {
|
|
37
37
|
const rawCredential: string =
|
|
38
38
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
|
|
39
|
-
const digitalCredential:
|
|
39
|
+
const digitalCredential: AddCredentialArgs = {
|
|
40
40
|
raw: rawCredential,
|
|
41
41
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
42
42
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
@@ -4,9 +4,9 @@ import { DataStoreDigitalCredentialEntities } from '../index'
|
|
|
4
4
|
import { DigitalCredentialStore } from '../digitalCredential/DigitalCredentialStore'
|
|
5
5
|
import { CredentialCorrelationType, CredentialStateType, CredentialType, DigitalCredential } from '../types/digitalCredential/digitalCredential'
|
|
6
6
|
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
7
|
+
AddCredentialArgs,
|
|
8
|
+
GetCredentialsArgs,
|
|
9
|
+
GetCredentialsResponse,
|
|
10
10
|
} from '../types/digitalCredential/IAbstractDigitalCredentialStore'
|
|
11
11
|
import { IVerifiablePresentation } from '@sphereon/ssi-types'
|
|
12
12
|
|
|
@@ -36,7 +36,7 @@ describe('Database entities tests', (): void => {
|
|
|
36
36
|
it('should store digital credential', async (): Promise<void> => {
|
|
37
37
|
const rawCredential: string =
|
|
38
38
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
|
|
39
|
-
const digitalCredential:
|
|
39
|
+
const digitalCredential: AddCredentialArgs = {
|
|
40
40
|
raw: rawCredential,
|
|
41
41
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
42
42
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
@@ -45,12 +45,12 @@ describe('Database entities tests', (): void => {
|
|
|
45
45
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
const savedDigitalCredential: DigitalCredential = await digitalCredentialStore.
|
|
48
|
+
const savedDigitalCredential: DigitalCredential = await digitalCredentialStore.addCredential(digitalCredential)
|
|
49
49
|
expect(savedDigitalCredential).toBeDefined()
|
|
50
50
|
})
|
|
51
51
|
|
|
52
52
|
it('should get all digital credentials', async (): Promise<void> => {
|
|
53
|
-
const addCredentialArgs1:
|
|
53
|
+
const addCredentialArgs1: AddCredentialArgs = {
|
|
54
54
|
raw: 'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw',
|
|
55
55
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
56
56
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
@@ -58,7 +58,7 @@ describe('Database entities tests', (): void => {
|
|
|
58
58
|
subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
|
|
59
59
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
60
60
|
}
|
|
61
|
-
const addCredentialArgs2:
|
|
61
|
+
const addCredentialArgs2: AddCredentialArgs = {
|
|
62
62
|
raw: 'eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MDkyMTQxNzgsInZjIjp7IkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJHdWVzdENyZWRlbnRpYWwiXSwiY3JlZGVudGlhbFN1YmplY3QiOnsiZmlyc3ROYW1lIjoiUyIsImxhc3ROYW1lIjoiSyIsIkUtbWFpbCI6IiIsInR5cGUiOiJTcGhlcmVvbiBHdWVzdCIsImlkIjoiZGlkOmp3azpleUpoYkdjaU9pSkZVekkxTmtzaUxDSjFjMlVpT2lKemFXY2lMQ0pyZEhraU9pSkZReUlzSW1OeWRpSTZJbk5sWTNBeU5UWnJNU0lzSW5naU9pSldjWGhIZVhWUk5WUTBXVEpzZGpKSFkybE9TaTFEYURCVWFGVm1kVk5RWm0wdFJYVlNZbGRNWlVOM0lpd2llU0k2SW01T1FWQnBiR0V5VDBRNGRXOXBXbk5LVm1aUmFrbDJTMUZUZWxBelFqVlBXbVZSYkVoQ1VUbHliVFFpZlEifX0sIkBjb250ZXh0IjpbImh0dHBzOi8vd3d3LnczLm9yZy8yMDE4L2NyZWRlbnRpYWxzL3YxIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJHdWVzdENyZWRlbnRpYWwiXSwiZXhwaXJhdGlvbkRhdGUiOiIyMDI0LTAyLTI5VDEzOjQyOjU4LjgzNVoiLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiRS1tYWlsIjoiIiwidHlwZSI6IlNwaGVyZW9uIEd1ZXN0IiwiaWQiOiJkaWQ6andrOmV5SmhiR2NpT2lKRlV6STFOa3NpTENKMWMyVWlPaUp6YVdjaUxDSnJkSGtpT2lKRlF5SXNJbU55ZGlJNkluTmxZM0F5TlRack1TSXNJbmdpT2lKV2NYaEhlWFZSTlZRMFdUSnNkakpIWTJsT1NpMURhREJVYUZWbWRWTlFabTB0UlhWU1lsZE1aVU4zSWl3aWVTSTZJbTVPUVZCcGJHRXlUMFE0ZFc5cFduTktWbVpSYWtsMlMxRlRlbEF6UWpWUFdtVlJiRWhDVVRseWJUUWlmUSJ9LCJpc3N1ZXIiOiJkaWQ6andrOmV5SmhiR2NpT2lKRlV6STFOaUlzSW5WelpTSTZJbk5wWnlJc0ltdDBlU0k2SWtWRElpd2lZM0oySWpvaVVDMHlOVFlpTENKNElqb2lWRWN5U0RKNE1tUlhXRTR6ZFVOeFduQnhSakY1YzBGUVVWWkVTa1ZPWDBndFEwMTBZbWRxWWkxT1p5SXNJbmtpT2lJNVRUaE9lR1F3VUU0eU1rMDViRkJFZUdSd1JIQnZWRXg2TVRWM1pubGFTbk0yV21oTFNWVktNek00SW4wIiwiaXNzdWFuY2VEYXRlIjoiMjAyNC0wMi0yMlQxMzo0Mjo1OC44MzVaIiwic3ViIjoiZGlkOmp3azpleUpoYkdjaU9pSkZVekkxTmtzaUxDSjFjMlVpT2lKemFXY2lMQ0pyZEhraU9pSkZReUlzSW1OeWRpSTZJbk5sWTNBeU5UWnJNU0lzSW5naU9pSldjWGhIZVhWUk5WUTBXVEpzZGpKSFkybE9TaTFEYURCVWFGVm1kVk5RWm0wdFJYVlNZbGRNWlVOM0lpd2llU0k2SW01T1FWQnBiR0V5VDBRNGRXOXBXbk5LVm1aUmFrbDJTMUZUZWxBelFqVlBXbVZSYkVoQ1VUbHliVFFpZlEiLCJuYmYiOjE3MDg2MDkzNzgsImlzcyI6ImRpZDpqd2s6ZXlKaGJHY2lPaUpGVXpJMU5pSXNJblZ6WlNJNkluTnBaeUlzSW10MGVTSTZJa1ZESWl3aVkzSjJJam9pVUMweU5UWWlMQ0o0SWpvaVZFY3lTREo0TW1SWFdFNHpkVU54V25CeFJqRjVjMEZRVVZaRVNrVk9YMGd0UTAxMFltZHFZaTFPWnlJc0lua2lPaUk1VFRoT2VHUXdVRTR5TWswNWJGQkVlR1J3UkhCdlZFeDZNVFYzWm5sYVNuTTJXbWhMU1ZWS016TTRJbjAifQ.GgLRWHO674wu6QF_xUGbCi_2zDD8jNf_xoWNvH5K605xvBoz6qKx0ndmxLeGQWWUA-4VuAkznf3ROcp9wpgbEw',
|
|
63
63
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
64
64
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
@@ -67,17 +67,17 @@ describe('Database entities tests', (): void => {
|
|
|
67
67
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
const digitalCredential1: DigitalCredential = await digitalCredentialStore.
|
|
70
|
+
const digitalCredential1: DigitalCredential = await digitalCredentialStore.addCredential(addCredentialArgs1)
|
|
71
71
|
expect(digitalCredential1).toBeDefined()
|
|
72
|
-
const digitalCredential2: DigitalCredential = await digitalCredentialStore.
|
|
72
|
+
const digitalCredential2: DigitalCredential = await digitalCredentialStore.addCredential(addCredentialArgs2)
|
|
73
73
|
expect(digitalCredential2).toBeDefined()
|
|
74
74
|
|
|
75
|
-
const result:
|
|
75
|
+
const result: GetCredentialsResponse = await digitalCredentialStore.getCredentials()
|
|
76
76
|
expect(result.total).toEqual(2)
|
|
77
77
|
})
|
|
78
78
|
|
|
79
79
|
it('should get digital credentials by filters and pagination', async (): Promise<void> => {
|
|
80
|
-
const addCredentialArgs1:
|
|
80
|
+
const addCredentialArgs1: AddCredentialArgs = {
|
|
81
81
|
raw: 'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw',
|
|
82
82
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
83
83
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
@@ -124,7 +124,7 @@ describe('Database entities tests', (): void => {
|
|
|
124
124
|
verificationMethod: 'did:example:holder#key-1',
|
|
125
125
|
},
|
|
126
126
|
}
|
|
127
|
-
const addCredentialArgs2:
|
|
127
|
+
const addCredentialArgs2: AddCredentialArgs = {
|
|
128
128
|
raw: JSON.stringify(sampleVP),
|
|
129
129
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
130
130
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
@@ -132,7 +132,7 @@ describe('Database entities tests', (): void => {
|
|
|
132
132
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
133
133
|
subjectCorrelationId: 'did:example:holder',
|
|
134
134
|
}
|
|
135
|
-
const addCredentialArgs3:
|
|
135
|
+
const addCredentialArgs3: AddCredentialArgs = {
|
|
136
136
|
raw: 'eyJhbGciOiJFZERTQSIsInR5cCI6InZjK3NkLWp3dCIsImtpZCI6IiN6Nk1rdHF0WE5HOENEVVk5UHJydG9TdEZ6ZUNuaHBNbWd4WUwxZ2lrY1czQnp2TlcifQ.eyJ2Y3QiOiJJZGVudGl0eUNyZWRlbnRpYWwiLCJmYW1pbHlfbmFtZSI6IkRvZSIsInBob25lX251bWJlciI6IisxLTIwMi01NTUtMDEwMSIsImFkZHJlc3MiOnsic3RyZWV0X2FkZHJlc3MiOiIxMjMgTWFpbiBTdCIsImxvY2FsaXR5IjoiQW55dG93biIsIl9zZCI6WyJOSm5tY3QwQnFCTUUxSmZCbEM2alJRVlJ1ZXZwRU9OaVl3N0E3TUh1SnlRIiwib201Wnp0WkhCLUdkMDBMRzIxQ1ZfeE00RmFFTlNvaWFPWG5UQUpOY3pCNCJdfSwiY25mIjp7Imp3ayI6eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5IiwieCI6Im9FTlZzeE9VaUg1NFg4d0pMYVZraWNDUmswMHdCSVE0c1JnYms1NE44TW8ifX0sImlzcyI6ImRpZDprZXk6ejZNa3RxdFhORzhDRFVZOVBycnRvU3RGemVDbmhwTW1neFlMMWdpa2NXM0J6dk5XIiwiaWF0IjoxNjk4MTUxNTMyLCJfc2RfYWxnIjoic2hhLTI1NiIsIl9zZCI6WyIxQ3VyMmsyQTJvSUI1Q3NoU0lmX0FfS2ctbDI2dV9xS3VXUTc5UDBWZGFzIiwiUjF6VFV2T1lIZ2NlcGowakh5cEdIejlFSHR0VktmdDB5c3diYzlFVFBiVSIsImVEcVFwZFRYSlhiV2hmLUVzSTd6dzVYNk92WW1GTi1VWlFRTWVzWHdLUHciLCJwZERrMl9YQUtIbzdnT0Fmd0YxYjdPZENVVlRpdDJrSkhheFNFQ1E5eGZjIiwicHNhdUtVTldFaTA5bnUzQ2w4OXhLWGdtcFdFTlpsNXV5MU4xbnluX2pNayIsInNOX2dlMHBIWEY2cW1zWW5YMUE5U2R3SjhjaDhhRU5reGJPRHNUNzRZd0kiXX0.coOK8NzJmEWz4qx-qRhjo-RK7aejrSkQM9La9Cw3eWmzcja9DXrkBoQZKbIJtNoSzSPLjwK2V71W78z0miZsDQ~WyJzYWx0IiwiaXNfb3Zlcl82NSIsdHJ1ZV0~WyJzYWx0IiwiaXNfb3Zlcl8yMSIsdHJ1ZV0~WyJzYWx0IiwiZW1haWwiLCJqb2huZG9lQGV4YW1wbGUuY29tIl0~WyJzYWx0IiwiY291bnRyeSIsIlVTIl0~WyJzYWx0IiwiZ2l2ZW5fbmFtZSIsIkpvaG4iXQ~eyJhbGciOiJFZERTQSIsInR5cCI6ImtiK2p3dCJ9.eyJpYXQiOjE2OTgxNTE1MzIsIm5vbmNlIjoic2FsdCIsImF1ZCI6ImRpZDprZXk6elVDNzRWRXFxaEVIUWNndjR6YWdTUGtxRkp4dU5XdW9CUEtqSnVIRVRFVWVITG9TcVd0OTJ2aVNzbWFXank4MnkiLCJfc2RfaGFzaCI6Ii1kTUd4OGZhUnpOQm91a2EwU0R6V2JkS3JYckw1TFVmUlNQTHN2Q2xPMFkifQ.TQQLqc4ZzoKjQfAghAzC_4aaU3KCS8YqzxAJtzT124guzkv9XSHtPN8d3z181_v-ca2ATXjTRoRciozitE6wBA',
|
|
137
137
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
138
138
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
@@ -141,33 +141,33 @@ describe('Database entities tests', (): void => {
|
|
|
141
141
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
142
142
|
}
|
|
143
143
|
|
|
144
|
-
const savedDigitalCredential1: DigitalCredential = await digitalCredentialStore.
|
|
144
|
+
const savedDigitalCredential1: DigitalCredential = await digitalCredentialStore.addCredential(addCredentialArgs1)
|
|
145
145
|
expect(savedDigitalCredential1).toBeDefined()
|
|
146
|
-
const savedDigitalCredential2: DigitalCredential = await digitalCredentialStore.
|
|
146
|
+
const savedDigitalCredential2: DigitalCredential = await digitalCredentialStore.addCredential(addCredentialArgs2)
|
|
147
147
|
expect(savedDigitalCredential2).toBeDefined()
|
|
148
|
-
const savedDigitalCredential3: DigitalCredential = await digitalCredentialStore.
|
|
148
|
+
const savedDigitalCredential3: DigitalCredential = await digitalCredentialStore.addCredential(addCredentialArgs3)
|
|
149
149
|
expect(savedDigitalCredential3).toBeDefined()
|
|
150
|
-
const args1:
|
|
150
|
+
const args1: GetCredentialsArgs = {
|
|
151
151
|
filter: [{ credentialType: CredentialType.VP }],
|
|
152
152
|
}
|
|
153
|
-
const result1:
|
|
153
|
+
const result1: GetCredentialsResponse = await digitalCredentialStore.getCredentials(args1)
|
|
154
154
|
expect(result1.total).toEqual(1)
|
|
155
155
|
expect(result1.hasMore).toEqual(true)
|
|
156
|
-
const args2:
|
|
156
|
+
const args2: GetCredentialsArgs = {
|
|
157
157
|
skip: 1,
|
|
158
158
|
take: 10,
|
|
159
159
|
}
|
|
160
|
-
const result2:
|
|
160
|
+
const result2: GetCredentialsResponse = await digitalCredentialStore.getCredentials(args2)
|
|
161
161
|
expect(result2.data.length).toEqual(2)
|
|
162
162
|
expect(result2.total).toEqual(3)
|
|
163
163
|
expect(result2.hasMore).toEqual(false)
|
|
164
164
|
})
|
|
165
165
|
|
|
166
166
|
it('should return no digital credentials if filter does not match', async (): Promise<void> => {
|
|
167
|
-
const args:
|
|
167
|
+
const args: GetCredentialsArgs = {
|
|
168
168
|
filter: [{ issuerCorrelationId: 'unknown_id' }],
|
|
169
169
|
}
|
|
170
|
-
const result:
|
|
170
|
+
const result: GetCredentialsResponse = await digitalCredentialStore.getCredentials(args)
|
|
171
171
|
|
|
172
172
|
expect(result.data.length).toEqual(0)
|
|
173
173
|
expect(result.total).toEqual(0)
|
|
@@ -176,7 +176,7 @@ describe('Database entities tests', (): void => {
|
|
|
176
176
|
it('should delete stored digital credential', async (): Promise<void> => {
|
|
177
177
|
const rawCredential: string =
|
|
178
178
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
|
|
179
|
-
const digitalCredential:
|
|
179
|
+
const digitalCredential: AddCredentialArgs = {
|
|
180
180
|
raw: rawCredential,
|
|
181
181
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
182
182
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
@@ -185,20 +185,20 @@ describe('Database entities tests', (): void => {
|
|
|
185
185
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
186
186
|
}
|
|
187
187
|
|
|
188
|
-
const savedDigitalCredential: DigitalCredential = await digitalCredentialStore.
|
|
189
|
-
let result = await digitalCredentialStore.
|
|
188
|
+
const savedDigitalCredential: DigitalCredential = await digitalCredentialStore.addCredential(digitalCredential)
|
|
189
|
+
let result = await digitalCredentialStore.removeCredential({ id: savedDigitalCredential.id })
|
|
190
190
|
expect(result).toEqual(true)
|
|
191
191
|
})
|
|
192
192
|
|
|
193
193
|
it('should not delete stored digital credential if id not found', async (): Promise<void> => {
|
|
194
|
-
const result = await digitalCredentialStore.
|
|
194
|
+
const result = await digitalCredentialStore.removeCredential({ id: 'unknown_id' })
|
|
195
195
|
expect(result).toEqual(false)
|
|
196
196
|
})
|
|
197
197
|
|
|
198
198
|
it('should update stored digital credential', async (): Promise<void> => {
|
|
199
199
|
const rawCredential: string =
|
|
200
200
|
'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
|
|
201
|
-
const digitalCredential:
|
|
201
|
+
const digitalCredential: AddCredentialArgs = {
|
|
202
202
|
raw: rawCredential,
|
|
203
203
|
issuerCorrelationType: CredentialCorrelationType.DID,
|
|
204
204
|
subjectCorrelationType: CredentialCorrelationType.DID,
|
|
@@ -207,9 +207,9 @@ describe('Database entities tests', (): void => {
|
|
|
207
207
|
tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
|
|
208
208
|
}
|
|
209
209
|
|
|
210
|
-
const savedDigitalCredential: DigitalCredential = await digitalCredentialStore.
|
|
210
|
+
const savedDigitalCredential: DigitalCredential = await digitalCredentialStore.addCredential(digitalCredential)
|
|
211
211
|
|
|
212
|
-
const result = await digitalCredentialStore.
|
|
212
|
+
const result = await digitalCredentialStore.updateCredentialState({
|
|
213
213
|
id: savedDigitalCredential.id,
|
|
214
214
|
verifiedState: CredentialStateType.REVOKED,
|
|
215
215
|
})
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
AddCredentialArgs,
|
|
3
|
+
GetCredentialArgs,
|
|
4
|
+
GetCredentialsArgs,
|
|
5
|
+
GetCredentialsResponse,
|
|
6
|
+
RemoveCredentialArgs,
|
|
7
|
+
UpdateCredentialStateArgs,
|
|
8
8
|
} from '../types/digitalCredential/IAbstractDigitalCredentialStore'
|
|
9
9
|
import { DigitalCredentialEntity } from '../entities/digitalCredential/DigitalCredentialEntity'
|
|
10
10
|
|
|
11
11
|
export abstract class AbstractDigitalCredentialStore {
|
|
12
|
-
abstract
|
|
13
|
-
abstract
|
|
14
|
-
abstract
|
|
15
|
-
abstract
|
|
16
|
-
abstract
|
|
12
|
+
abstract getCredential(args: GetCredentialArgs): Promise<DigitalCredentialEntity>
|
|
13
|
+
abstract getCredentials(args?: GetCredentialsArgs): Promise<GetCredentialsResponse>
|
|
14
|
+
abstract addCredential(args: AddCredentialArgs): Promise<DigitalCredentialEntity>
|
|
15
|
+
abstract updateCredentialState(args: UpdateCredentialStateArgs): Promise<DigitalCredentialEntity>
|
|
16
|
+
abstract removeCredential(args: RemoveCredentialArgs): Promise<boolean>
|
|
17
17
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { AbstractDigitalCredentialStore } from './AbstractDigitalCredentialStore'
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
3
|
+
AddCredentialArgs,
|
|
4
|
+
GetCredentialArgs,
|
|
5
|
+
GetCredentialsArgs,
|
|
6
|
+
GetCredentialsResponse,
|
|
7
|
+
RemoveCredentialArgs,
|
|
8
|
+
UpdateCredentialStateArgs,
|
|
9
9
|
} from '../types/digitalCredential/IAbstractDigitalCredentialStore'
|
|
10
10
|
import { OrPromise } from '@sphereon/ssi-types'
|
|
11
11
|
import { DataSource, Repository } from 'typeorm'
|
|
@@ -25,7 +25,7 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
25
25
|
this.dbConnection = dbConnection
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
addCredential = async (args: AddCredentialArgs): Promise<DigitalCredentialEntity> => {
|
|
29
29
|
debug('Adding credential', args)
|
|
30
30
|
const digitalCredentialEntityRepository: Repository<DigitalCredentialEntity> = (await this.dbConnection).getRepository(DigitalCredentialEntity)
|
|
31
31
|
const credentialEntity: NonPersistedDigitalCredential = nonPersistedDigitalCredentialEntityFromAddArgs(args)
|
|
@@ -33,7 +33,7 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
33
33
|
return Promise.resolve(createdResult)
|
|
34
34
|
}
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
getCredential = async (args: GetCredentialArgs): Promise<DigitalCredentialEntity> => {
|
|
37
37
|
const result: DigitalCredentialEntity | null = await (await this.dbConnection).getRepository(DigitalCredentialEntity).findOne({
|
|
38
38
|
where: args,
|
|
39
39
|
})
|
|
@@ -44,7 +44,7 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
44
44
|
return result
|
|
45
45
|
}
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
getCredentials = async (args?: GetCredentialsArgs): Promise<GetCredentialsResponse> => {
|
|
48
48
|
const { filter = {}, skip, take, order = { createdAt: 'DESC' } } = args ?? {}
|
|
49
49
|
const [result, total] = await (await this.dbConnection).getRepository(DigitalCredentialEntity).findAndCount({
|
|
50
50
|
where: filter,
|
|
@@ -62,7 +62,7 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
|
|
65
|
-
|
|
65
|
+
removeCredential = async (args: RemoveCredentialArgs): Promise<boolean> => {
|
|
66
66
|
if (!args) {
|
|
67
67
|
return false
|
|
68
68
|
}
|
|
@@ -86,7 +86,7 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
|
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
88
|
|
|
89
|
-
|
|
89
|
+
updateCredentialState = async (args: UpdateCredentialStateArgs): Promise<DigitalCredentialEntity> => {
|
|
90
90
|
const credentialRepository: Repository<DigitalCredentialEntity> = (await this.dbConnection).getRepository(DigitalCredentialEntity)
|
|
91
91
|
const whereClause: Record<string, any> = {}
|
|
92
92
|
if ('id' in args) {
|
|
@@ -1,23 +1,23 @@
|
|
|
1
1
|
import { CredentialCorrelationType, CredentialStateType, DigitalCredential } from './digitalCredential'
|
|
2
2
|
|
|
3
|
-
export type
|
|
3
|
+
export type GetCredentialArgs = { id: string } | { hash: string }
|
|
4
4
|
|
|
5
5
|
export type FindDigitalCredentialArgs = Array<Partial<DigitalCredential>>
|
|
6
6
|
|
|
7
|
-
export type
|
|
7
|
+
export type GetCredentialsArgs = {
|
|
8
8
|
filter?: FindDigitalCredentialArgs
|
|
9
9
|
skip?: number
|
|
10
10
|
take?: number
|
|
11
11
|
order?: { [key in keyof DigitalCredential]: 'ASC' | 'DESC' }
|
|
12
12
|
}
|
|
13
13
|
|
|
14
|
-
export type
|
|
14
|
+
export type GetCredentialsResponse = {
|
|
15
15
|
data: DigitalCredential[]
|
|
16
16
|
total: number
|
|
17
17
|
hasMore: boolean
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
export type
|
|
20
|
+
export type AddCredentialArgs = {
|
|
21
21
|
raw: string
|
|
22
22
|
issuerCorrelationType: CredentialCorrelationType
|
|
23
23
|
subjectCorrelationType?: CredentialCorrelationType
|
|
@@ -29,6 +29,6 @@ export type AddDigitalCredentialArgs = {
|
|
|
29
29
|
revocationDate?: Date
|
|
30
30
|
}
|
|
31
31
|
|
|
32
|
-
export type
|
|
32
|
+
export type UpdateCredentialStateArgs = GetCredentialArgs & { verifiedState: CredentialStateType; verificationDate?: Date }
|
|
33
33
|
|
|
34
|
-
export type
|
|
34
|
+
export type RemoveCredentialArgs = GetCredentialArgs
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AddCredentialArgs } from '../../types/digitalCredential/IAbstractDigitalCredentialStore'
|
|
2
2
|
import { DigitalCredentialEntity } from '../../entities/digitalCredential/DigitalCredentialEntity'
|
|
3
3
|
import {
|
|
4
4
|
CredentialMapper,
|
|
@@ -77,7 +77,7 @@ export const handleSdJwt = (rawCredential: string): SdJwtDecodedVerifiableCreden
|
|
|
77
77
|
: JSON.parse(rawCredential)
|
|
78
78
|
}
|
|
79
79
|
|
|
80
|
-
export const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs:
|
|
80
|
+
export const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs: AddCredentialArgs): NonPersistedDigitalCredential => {
|
|
81
81
|
const credentialType: CredentialType = determineCredentialType(addCredentialArgs.raw)
|
|
82
82
|
const documentFormat: DocumentFormat = CredentialMapper.detectDocumentType(addCredentialArgs.raw)
|
|
83
83
|
const uniformDocument =
|