@sphereon/ssi-sdk.data-store 0.18.2-unstable.90 → 0.18.2-unstable.96

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/dist/digitalCredential/DigitalCredentialStore.d.ts.map +1 -1
  2. package/dist/digitalCredential/DigitalCredentialStore.js +20 -11
  3. package/dist/digitalCredential/DigitalCredentialStore.js.map +1 -1
  4. package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts +2 -2
  5. package/dist/entities/digitalCredential/DigitalCredentialEntity.d.ts.map +1 -1
  6. package/dist/entities/digitalCredential/DigitalCredentialEntity.js +4 -4
  7. package/dist/entities/digitalCredential/DigitalCredentialEntity.js.map +1 -1
  8. package/dist/migrations/postgres/1708525189001-CreateDigitalCredential.js +2 -2
  9. package/dist/migrations/sqlite/1708525189002-CreateDigitalCredential.js +2 -2
  10. package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts +13 -10
  11. package/dist/types/digitalCredential/IAbstractDigitalCredentialStore.d.ts.map +1 -1
  12. package/dist/types/digitalCredential/digitalCredential.d.ts +2 -2
  13. package/dist/types/digitalCredential/digitalCredential.d.ts.map +1 -1
  14. package/dist/utils/SortingUtils.d.ts +3 -0
  15. package/dist/utils/SortingUtils.d.ts.map +1 -0
  16. package/dist/utils/SortingUtils.js +18 -0
  17. package/dist/utils/SortingUtils.js.map +1 -0
  18. package/dist/utils/contact/MappingUtils.d.ts.map +1 -1
  19. package/dist/utils/contact/MappingUtils.js.map +1 -1
  20. package/dist/utils/digitalCredential/MappingUtils.d.ts +0 -2
  21. package/dist/utils/digitalCredential/MappingUtils.d.ts.map +1 -1
  22. package/dist/utils/digitalCredential/MappingUtils.js +47 -33
  23. package/dist/utils/digitalCredential/MappingUtils.js.map +1 -1
  24. package/package.json +4 -4
  25. package/src/__tests__/digitalCredential.entities.test.ts +14 -10
  26. package/src/__tests__/digitalCredential.store.test.ts +80 -9
  27. package/src/digitalCredential/DigitalCredentialStore.ts +21 -13
  28. package/src/entities/digitalCredential/DigitalCredentialEntity.ts +4 -4
  29. package/src/migrations/postgres/1708525189001-CreateDigitalCredential.ts +2 -2
  30. package/src/migrations/sqlite/1708525189002-CreateDigitalCredential.ts +2 -2
  31. package/src/types/digitalCredential/IAbstractDigitalCredentialStore.ts +9 -8
  32. package/src/types/digitalCredential/digitalCredential.ts +2 -2
  33. package/src/utils/SortingUtils.ts +16 -0
  34. package/src/utils/contact/MappingUtils.ts +2 -1
  35. package/src/utils/digitalCredential/MappingUtils.ts +47 -30
@@ -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,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"}
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,EAAgC,MAAM,SAAS,CAAA;AAElE,OAAO,EAAE,uBAAuB,EAAE,MAAM,uDAAuD,CAAA;AAQ/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,CAalF;IAED,gBAAgB,SAAgB,oBAAoB,KAAG,QAAQ,OAAO,CAAC,CAsBtE;IAED,qBAAqB,SAAgB,yBAAyB,KAAG,QAAQ,uBAAuB,CAAC,CAoChG;CACF"}
@@ -18,6 +18,7 @@ const debug_1 = __importDefault(require("debug"));
18
18
  const DigitalCredentialEntity_1 = require("../entities/digitalCredential/DigitalCredentialEntity");
19
19
  const MappingUtils_1 = require("../utils/digitalCredential/MappingUtils");
20
20
  const digitalCredential_1 = require("../types/digitalCredential/digitalCredential");
21
+ const SortingUtils_1 = require("../utils/SortingUtils");
21
22
  const debug = (0, debug_1.default)('sphereon:ssi-sdk:credential-store');
22
23
  class DigitalCredentialStore extends AbstractDigitalCredentialStore_1.AbstractDigitalCredentialStore {
23
24
  constructor(dbConnection) {
@@ -39,20 +40,17 @@ class DigitalCredentialStore extends AbstractDigitalCredentialStore_1.AbstractDi
39
40
  return result;
40
41
  });
41
42
  this.getCredentials = (args) => __awaiter(this, void 0, void 0, function* () {
42
- const { filter = {}, skip, take, order = { createdAt: 'DESC' } } = args !== null && args !== void 0 ? args : {};
43
+ const { filter = {}, offset, limit, order = 'id.asc' } = args !== null && args !== void 0 ? args : {};
44
+ const sortOptions = (0, SortingUtils_1.parseAndValidateOrderOptions)(order);
43
45
  const [result, total] = yield (yield this.dbConnection).getRepository(DigitalCredentialEntity_1.DigitalCredentialEntity).findAndCount({
44
46
  where: filter,
45
- skip,
46
- take,
47
- order,
47
+ skip: offset,
48
+ take: limit,
49
+ order: sortOptions,
48
50
  });
49
- if (!result) {
50
- return Promise.reject(Error(`No credential found for arg: ${args === null || args === void 0 ? void 0 : args.toString()}`));
51
- }
52
51
  return {
53
52
  data: result,
54
53
  total,
55
- hasMore: total > (skip || 0) + (take || 0),
56
54
  };
57
55
  });
58
56
  this.removeCredential = (args) => __awaiter(this, void 0, void 0, function* () {
@@ -80,22 +78,33 @@ class DigitalCredentialStore extends AbstractDigitalCredentialStore_1.AbstractDi
80
78
  }
81
79
  });
82
80
  this.updateCredentialState = (args) => __awaiter(this, void 0, void 0, function* () {
83
- var _a, _b;
84
81
  const credentialRepository = (yield this.dbConnection).getRepository(DigitalCredentialEntity_1.DigitalCredentialEntity);
85
82
  const whereClause = {};
86
83
  if ('id' in args) {
87
84
  whereClause.id = args.id;
88
85
  }
89
- if ('hash' in args) {
86
+ else if ('hash' in args) {
90
87
  whereClause.hash = args.hash;
91
88
  }
89
+ else {
90
+ throw new Error('No id or hash param is provided.');
91
+ }
92
+ if (!args.verifiedState) {
93
+ throw new Error('No verifiedState param is provided.');
94
+ }
95
+ if (args.verifiedState === digitalCredential_1.CredentialStateType.REVOKED && !args.revokedAt) {
96
+ throw new Error('No revokedAt param is provided.');
97
+ }
98
+ if (args.verifiedState !== digitalCredential_1.CredentialStateType.REVOKED && !args.verifiedAt) {
99
+ throw new Error('No verifiedAt param is provided.');
100
+ }
92
101
  const credential = yield credentialRepository.findOne({
93
102
  where: whereClause,
94
103
  });
95
104
  if (!credential) {
96
105
  return Promise.reject(Error(`No credential found for args: ${whereClause}`));
97
106
  }
98
- const updatedCredential = Object.assign(Object.assign(Object.assign(Object.assign({}, credential), { verifiedAt: (_a = args.verificationDate) !== null && _a !== void 0 ? _a : new Date(), lastUpdatedAt: new Date() }), (args.verifiedState === digitalCredential_1.CredentialStateType.REVOKED && { revocationDate: (_b = args.verificationDate) !== null && _b !== void 0 ? _b : new Date() })), { verifiedState: args.verifiedState });
107
+ const updatedCredential = Object.assign(Object.assign(Object.assign(Object.assign({}, credential), (args.verifiedState !== digitalCredential_1.CredentialStateType.REVOKED && { verifiedAt: args.verifiedAt })), (args.verifiedState === digitalCredential_1.CredentialStateType.REVOKED && { revokedAt: args.revokedAt })), { lastUpdatedAt: new Date(), verifiedState: args.verifiedState });
99
108
  debug('Updating credential', credential);
100
109
  const updatedResult = yield credentialRepository.save(updatedCredential, { transaction: true });
101
110
  return updatedResult;
@@ -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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"}
@@ -15,8 +15,8 @@ export declare class DigitalCredentialEntity extends BaseEntity {
15
15
  tenantId?: string;
16
16
  createdAt: Date;
17
17
  lastUpdatedAt: Date;
18
- expiresAt?: Date;
19
- issuedAt?: Date;
18
+ validUntil?: Date;
19
+ validFrom?: Date;
20
20
  verifiedAt?: Date;
21
21
  revokedAt?: Date;
22
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DigitalCredentialEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/digitalCredential/DigitalCredentialEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA8E,MAAM,SAAS,CAAA;AAChH,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACf,MAAM,iDAAiD,CAAA;AAExD,qBACa,uBAAwB,SAAQ,UAAU;IAErD,EAAE,EAAG,MAAM,CAAA;IAGX,cAAc,EAAG,cAAc,CAAA;IAG/B,cAAc,EAAG,wBAAwB,CAAA;IAGzC,GAAG,EAAG,MAAM,CAAA;IAGZ,eAAe,EAAG,MAAM,CAAA;IAGxB,IAAI,EAAG,MAAM,CAAA;IAGb,qBAAqB,EAAG,yBAAyB,CAAA;IAGjD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAGlD,mBAAmB,EAAG,MAAM,CAAA;IAG5B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAGnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;IAGpB,SAAS,CAAC,EAAE,IAAI,CAAA;IAGhB,QAAQ,CAAC,EAAE,IAAI,CAAA;IAGf,UAAU,CAAC,EAAE,IAAI,CAAA;IAGjB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB"}
1
+ {"version":3,"file":"DigitalCredentialEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/digitalCredential/DigitalCredentialEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA8E,MAAM,SAAS,CAAA;AAChH,OAAO,EACL,yBAAyB,EACzB,wBAAwB,EACxB,mBAAmB,EACnB,cAAc,EACf,MAAM,iDAAiD,CAAA;AAExD,qBACa,uBAAwB,SAAQ,UAAU;IAErD,EAAE,EAAG,MAAM,CAAA;IAGX,cAAc,EAAG,cAAc,CAAA;IAG/B,cAAc,EAAG,wBAAwB,CAAA;IAGzC,GAAG,EAAG,MAAM,CAAA;IAGZ,eAAe,EAAG,MAAM,CAAA;IAGxB,IAAI,EAAG,MAAM,CAAA;IAGb,qBAAqB,EAAG,yBAAyB,CAAA;IAGjD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAGlD,mBAAmB,EAAG,MAAM,CAAA;IAG5B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAGnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;IAGpB,UAAU,CAAC,EAAE,IAAI,CAAA;IAGjB,SAAS,CAAC,EAAE,IAAI,CAAA;IAGhB,UAAU,CAAC,EAAE,IAAI,CAAA;IAGjB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB"}
@@ -71,13 +71,13 @@ __decorate([
71
71
  __metadata("design:type", Date)
72
72
  ], DigitalCredentialEntity.prototype, "lastUpdatedAt", void 0);
73
73
  __decorate([
74
- (0, typeorm_1.Column)('date', { name: 'expires_at', nullable: true }),
74
+ (0, typeorm_1.Column)('date', { name: 'valid_until', nullable: true }),
75
75
  __metadata("design:type", Date)
76
- ], DigitalCredentialEntity.prototype, "expiresAt", void 0);
76
+ ], DigitalCredentialEntity.prototype, "validUntil", void 0);
77
77
  __decorate([
78
- (0, typeorm_1.Column)('date', { name: 'issued_at', nullable: true }),
78
+ (0, typeorm_1.Column)('date', { name: 'valid_from', nullable: true }),
79
79
  __metadata("design:type", Date)
80
- ], DigitalCredentialEntity.prototype, "issuedAt", void 0);
80
+ ], DigitalCredentialEntity.prototype, "validFrom", void 0);
81
81
  __decorate([
82
82
  (0, typeorm_1.Column)('date', { name: 'verified_at', nullable: true }),
83
83
  __metadata("design:type", Date)
@@ -1 +1 @@
1
- {"version":3,"file":"DigitalCredentialEntity.js","sourceRoot":"","sources":["../../../src/entities/digitalCredential/DigitalCredentialEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DigitalCredentialEntity.js","sourceRoot":"","sources":["../../../src/entities/digitalCredential/DigitalCredentialEntity.ts"],"names":[],"mappings":"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"}
@@ -36,8 +36,8 @@ class CreateDigitalCredential1708525189001 {
36
36
  "tenant_id" text,
37
37
  "created_at" TIMESTAMP NOT NULL DEFAULT now(),
38
38
  "last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
39
- "issued_at" DATE,
40
- "expires_at" DATE,
39
+ "valid_from" DATE,
40
+ "valid_until" DATE,
41
41
  "verified_at" DATE,
42
42
  "revoked_at" DATE,
43
43
  PRIMARY KEY ("id")
@@ -32,8 +32,8 @@ class CreateDigitalCredential1708525189002 {
32
32
  "tenant_id" text,
33
33
  "created_at" datetime NOT NULL DEFAULT (datetime('now')),
34
34
  "last_updated_at" datetime NOT NULL DEFAULT (datetime('now')),
35
- "issued_at" datetime,
36
- "expires_at" datetime,
35
+ "valid_from" datetime,
36
+ "valid_until" datetime,
37
37
  "verified_at" datetime,
38
38
  "revoked_at" datetime
39
39
  )
@@ -1,4 +1,5 @@
1
1
  import { CredentialCorrelationType, CredentialStateType, DigitalCredential } from './digitalCredential';
2
+ import { Hasher } from '@sphereon/ssi-types';
2
3
  export type GetCredentialArgs = {
3
4
  id: string;
4
5
  } | {
@@ -7,16 +8,13 @@ export type GetCredentialArgs = {
7
8
  export type FindDigitalCredentialArgs = Array<Partial<DigitalCredential>>;
8
9
  export type GetCredentialsArgs = {
9
10
  filter?: FindDigitalCredentialArgs;
10
- skip?: number;
11
- take?: number;
12
- order?: {
13
- [key in keyof DigitalCredential]: 'ASC' | 'DESC';
14
- };
11
+ offset?: number;
12
+ limit?: number;
13
+ order?: string;
15
14
  };
16
15
  export type GetCredentialsResponse = {
17
- data: DigitalCredential[];
16
+ data: Array<DigitalCredential>;
18
17
  total: number;
19
- hasMore: boolean;
20
18
  };
21
19
  export type AddCredentialArgs = {
22
20
  raw: string;
@@ -26,12 +24,17 @@ export type AddCredentialArgs = {
26
24
  subjectCorrelationId?: string;
27
25
  tenantId?: string;
28
26
  state?: CredentialStateType;
29
- verificationDate?: Date;
30
- revocationDate?: Date;
27
+ verifiedAt?: Date;
28
+ revokedAt?: Date;
29
+ opts?: {
30
+ maxTimeSkewInMS?: number;
31
+ hasher?: Hasher;
32
+ };
31
33
  };
32
34
  export type UpdateCredentialStateArgs = GetCredentialArgs & {
33
35
  verifiedState: CredentialStateType;
34
- verificationDate?: Date;
36
+ verifiedAt?: Date;
37
+ revokedAt?: Date;
35
38
  };
36
39
  export type RemoveCredentialArgs = GetCredentialArgs;
37
40
  //# 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,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
+ {"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;AACvG,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAE5C,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,CAAA;CACf,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,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,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"}
@@ -14,8 +14,8 @@ export type DigitalCredential = {
14
14
  tenantId?: string;
15
15
  createdAt: Date;
16
16
  lastUpdatedAt: Date;
17
- expiresAt?: Date;
18
- issuedAt?: Date;
17
+ validUntil?: Date;
18
+ validFrom?: Date;
19
19
  verifiedAt?: Date;
20
20
  revokedAt?: Date;
21
21
  };
@@ -1 +1 @@
1
- {"version":3,"file":"digitalCredential.d.ts","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;AAEzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,wBAAwB,CAAA;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,qBAAqB,EAAE,yBAAyB,CAAA;IAChD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAClD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;IACf,aAAa,EAAE,IAAI,CAAA;IACnB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,QAAQ,CAAC,EAAE,IAAI,CAAA;IACf,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB,CAAA;AAED,oBAAY,cAAc;IACxB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,CAAC,MAAM;IACP,CAAC,MAAM;CACR;AAED,oBAAY,wBAAwB;IAClC,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,oBAAY,yBAAyB;IACnC,GAAG,QAAQ;CACZ;AAED,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
1
+ {"version":3,"file":"digitalCredential.d.ts","sourceRoot":"","sources":["../../../src/types/digitalCredential/digitalCredential.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAA;AAEzE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,cAAc,EAAE,cAAc,CAAA;IAC9B,cAAc,EAAE,wBAAwB,CAAA;IACxC,GAAG,EAAE,MAAM,CAAA;IACX,eAAe,EAAE,MAAM,CAAA;IACvB,IAAI,EAAE,MAAM,CAAA;IACZ,qBAAqB,EAAE,yBAAyB,CAAA;IAChD,sBAAsB,CAAC,EAAE,yBAAyB,CAAA;IAClD,mBAAmB,EAAE,MAAM,CAAA;IAC3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAC7B,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;IACf,aAAa,EAAE,IAAI,CAAA;IACnB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;IAChB,UAAU,CAAC,EAAE,IAAI,CAAA;IACjB,SAAS,CAAC,EAAE,IAAI,CAAA;CACjB,CAAA;AAED,oBAAY,cAAc;IACxB,EAAE,OAAO;IACT,EAAE,OAAO;IACT,CAAC,MAAM;IACP,CAAC,MAAM;CACR;AAED,oBAAY,wBAAwB;IAClC,OAAO,YAAY;IACnB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;CACd;AAED,oBAAY,yBAAyB;IACnC,GAAG,QAAQ;CACZ;AAED,oBAAY,mBAAmB;IAC7B,OAAO,YAAY;IACnB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"}
@@ -0,0 +1,3 @@
1
+ import { BaseEntity, FindOptionsOrder } from 'typeorm';
2
+ export declare const parseAndValidateOrderOptions: <T extends BaseEntity>(order: string) => FindOptionsOrder<T>;
3
+ //# sourceMappingURL=SortingUtils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortingUtils.d.ts","sourceRoot":"","sources":["../../src/utils/SortingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAA;AAEtD,eAAO,MAAM,4BAA4B,gCAAiC,MAAM,wBAa/E,CAAA"}
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseAndValidateOrderOptions = void 0;
4
+ const parseAndValidateOrderOptions = (order) => {
5
+ const orderPairs = order.split(',').map((pair) => pair.trim().split('.'));
6
+ const orderOptions = {};
7
+ orderPairs.forEach(([field, direction]) => {
8
+ const dir = direction.toUpperCase();
9
+ if (dir !== 'ASC' && dir !== 'DESC') {
10
+ throw new Error(`Invalid order direction: '${direction}'. Must be 'asc' or 'desc'.`);
11
+ }
12
+ ;
13
+ orderOptions[field] = dir;
14
+ });
15
+ return orderOptions;
16
+ };
17
+ exports.parseAndValidateOrderOptions = parseAndValidateOrderOptions;
18
+ //# sourceMappingURL=SortingUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SortingUtils.js","sourceRoot":"","sources":["../../src/utils/SortingUtils.ts"],"names":[],"mappings":";;;AAEO,MAAM,4BAA4B,GAAG,CAAuB,KAAa,EAAuB,EAAE;IACvG,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACzE,MAAM,YAAY,GAAwB,EAAE,CAAA;IAE5C,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,SAAS,CAAC,EAAE,EAAE;QACxC,MAAM,GAAG,GAAG,SAAS,CAAC,WAAW,EAAE,CAAA;QACnC,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,MAAM,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,6BAA6B,SAAS,6BAA6B,CAAC,CAAA;SACrF;QACD,CAAC;QAAC,YAAoB,CAAC,KAAK,CAAC,GAAG,GAAG,CAAA;IACrC,CAAC,CAAC,CAAA;IAEF,OAAO,YAAY,CAAA;AACrB,CAAC,CAAA;AAbY,QAAA,4BAA4B,gCAaxC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/contact/MappingUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/contact/MappingUtils.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/contact/MappingUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/contact/MappingUtils.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,6 @@
1
1
  import { AddCredentialArgs } from '../../types/digitalCredential/IAbstractDigitalCredentialStore';
2
2
  import { DigitalCredentialEntity } from '../../entities/digitalCredential/DigitalCredentialEntity';
3
- import { SdJwtDecodedVerifiableCredentialPayload } from '@sphereon/ssi-types';
4
3
  import { DigitalCredential, NonPersistedDigitalCredential } from '../../types/digitalCredential/digitalCredential';
5
- export declare const handleSdJwt: (rawCredential: string) => SdJwtDecodedVerifiableCredentialPayload;
6
4
  export declare const nonPersistedDigitalCredentialEntityFromAddArgs: (addCredentialArgs: AddCredentialArgs) => NonPersistedDigitalCredential;
7
5
  export declare const digitalCredentialFrom: (credentialEntity: DigitalCredentialEntity) => DigitalCredential;
8
6
  export declare const digitalCredentialsFrom: (credentialEntities: Array<DigitalCredentialEntity>) => DigitalCredential[];
@@ -1 +1 @@
1
- {"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAA;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAA;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
+ {"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,+DAA+D,CAAA;AACjG,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAA;AAYlG,OAAO,EAGL,iBAAiB,EACjB,6BAA6B,EAC9B,MAAM,iDAAiD,CAAA;AA2ExD,eAAO,MAAM,8CAA8C,sBAAuB,iBAAiB,KAAG,6BAyBrG,CAAA;AAED,eAAO,MAAM,qBAAqB,qBAAsB,uBAAuB,KAAG,iBAIjF,CAAA;AAED,eAAO,MAAM,sBAAsB,uBAAwB,MAAM,uBAAuB,CAAC,KAAG,iBAAiB,EAE5G,CAAA"}
@@ -1,29 +1,36 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.digitalCredentialsFrom = exports.digitalCredentialFrom = exports.nonPersistedDigitalCredentialEntityFromAddArgs = exports.handleSdJwt = void 0;
3
+ exports.digitalCredentialsFrom = exports.digitalCredentialFrom = exports.nonPersistedDigitalCredentialEntityFromAddArgs = void 0;
4
4
  const ssi_types_1 = require("@sphereon/ssi-types");
5
5
  const digitalCredential_1 = require("../../types/digitalCredential/digitalCredential");
6
6
  const utils_1 = require("@veramo/utils");
7
- const crypto_1 = require("crypto");
8
7
  function determineCredentialType(raw) {
9
- if (ssi_types_1.CredentialMapper.hasProof(raw)) {
10
- if (ssi_types_1.CredentialMapper.isCredential(raw)) {
11
- return digitalCredential_1.CredentialType.VC;
12
- }
13
- else if (ssi_types_1.CredentialMapper.isPresentation(raw)) {
14
- return digitalCredential_1.CredentialType.VP;
15
- }
16
- }
17
- else {
18
- if (ssi_types_1.CredentialMapper.isCredential(raw)) {
19
- return digitalCredential_1.CredentialType.C;
20
- }
21
- else if (ssi_types_1.CredentialMapper.isPresentation(raw)) {
22
- return digitalCredential_1.CredentialType.P;
23
- }
8
+ const rawDocument = parseRawDocument(raw);
9
+ if (!rawDocument) {
10
+ throw new Error(`Couldn't parse the credential: ${raw}`);
11
+ }
12
+ const hasProof = ssi_types_1.CredentialMapper.hasProof(rawDocument);
13
+ const isCredential = ssi_types_1.CredentialMapper.isCredential(rawDocument);
14
+ const isPresentation = ssi_types_1.CredentialMapper.isPresentation(rawDocument);
15
+ if (isCredential) {
16
+ return hasProof ? digitalCredential_1.CredentialType.VC : digitalCredential_1.CredentialType.C;
17
+ }
18
+ else if (isPresentation) {
19
+ return hasProof ? digitalCredential_1.CredentialType.VP : digitalCredential_1.CredentialType.P;
24
20
  }
25
21
  throw new Error(`Couldn't determine the type of the credential: ${raw}`);
26
22
  }
23
+ function parseRawDocument(raw) {
24
+ if (ssi_types_1.CredentialMapper.isJwtEncoded(raw) || ssi_types_1.CredentialMapper.isSdJwtEncoded(raw)) {
25
+ return raw;
26
+ }
27
+ try {
28
+ return JSON.parse(raw);
29
+ }
30
+ catch (e) {
31
+ throw new Error(`Can't parse the raw credential: ${raw}`);
32
+ }
33
+ }
27
34
  function determineCredentialDocumentFormat(documentFormat) {
28
35
  switch (documentFormat) {
29
36
  case 1 /* DocumentFormat.JSONLD */:
@@ -36,49 +43,56 @@ function determineCredentialDocumentFormat(documentFormat) {
36
43
  throw new Error(`Not supported document format: ${documentFormat}`);
37
44
  }
38
45
  }
39
- function getExpiresAt(uniformDocument) {
46
+ function getValidUntil(uniformDocument) {
40
47
  if ('expirationDate' in uniformDocument) {
41
48
  return new Date(uniformDocument.expirationDate);
42
49
  }
50
+ else if ('validUntil' in uniformDocument) {
51
+ return new Date(uniformDocument.validUntil);
52
+ }
43
53
  else if ('exp' in uniformDocument) {
44
54
  return new Date(uniformDocument.exp);
45
55
  }
46
56
  return undefined;
47
57
  }
48
- function getIssuedAt(uniformDocument) {
58
+ function getValidFrom(uniformDocument) {
59
+ let proof = undefined;
60
+ if (uniformDocument.proof && !uniformDocument.vct) {
61
+ proof = Array.isArray(uniformDocument.proof) ? uniformDocument.proof[0] : uniformDocument.proof;
62
+ }
49
63
  if ('issuanceDate' in uniformDocument) {
50
64
  return new Date(uniformDocument.issuanceDate);
51
65
  }
52
- else if (uniformDocument.proof && ssi_types_1.CredentialMapper.getFirstProof(uniformDocument)) {
53
- return new Date(ssi_types_1.CredentialMapper.getFirstProof(uniformDocument).created);
66
+ else if (proof && proof.created) {
67
+ return new Date(proof.created);
54
68
  }
55
69
  else if ('validFrom' in uniformDocument) {
56
70
  return new Date(uniformDocument['validFrom']);
57
71
  }
72
+ else if ('nbf' in uniformDocument) {
73
+ return new Date(uniformDocument['nbf'] * 1000);
74
+ }
58
75
  else if ('iat' in uniformDocument) {
59
76
  return new Date(uniformDocument['iat'] * 1000);
60
77
  }
61
78
  return undefined;
62
79
  }
63
- const handleSdJwt = (rawCredential) => {
64
- // todo ask about the hasher
65
- return ssi_types_1.CredentialMapper.isSdJwtEncoded(rawCredential)
66
- ? (0, ssi_types_1.decodeSdJwtVc)(rawCredential, (data, algorithm) => (0, crypto_1.createHash)(algorithm).update(data).digest()).decodedPayload
67
- : JSON.parse(rawCredential);
68
- };
69
- exports.handleSdJwt = handleSdJwt;
70
80
  const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs) => {
81
+ var _a;
71
82
  const credentialType = determineCredentialType(addCredentialArgs.raw);
72
83
  const documentFormat = ssi_types_1.CredentialMapper.detectDocumentType(addCredentialArgs.raw);
84
+ if (documentFormat === 2 /* DocumentFormat.SD_JWT_VC */ && !((_a = addCredentialArgs.opts) === null || _a === void 0 ? void 0 : _a.hasher)) {
85
+ throw new Error('No hasher function is provided for SD_JWT credential.');
86
+ }
73
87
  const uniformDocument = documentFormat === 2 /* DocumentFormat.SD_JWT_VC */
74
- ? (0, exports.handleSdJwt)(addCredentialArgs.raw)
88
+ ? (0, ssi_types_1.decodeSdJwtVc)(addCredentialArgs.raw, addCredentialArgs.opts.hasher).decodedPayload
75
89
  : credentialType === digitalCredential_1.CredentialType.VC || credentialType === digitalCredential_1.CredentialType.C
76
90
  ? ssi_types_1.CredentialMapper.toUniformCredential(addCredentialArgs.raw)
77
91
  : ssi_types_1.CredentialMapper.toUniformPresentation(addCredentialArgs.raw);
78
- const issuedAt = getIssuedAt(uniformDocument);
79
- const expiresAt = getExpiresAt(uniformDocument);
80
- return Object.assign(Object.assign({}, addCredentialArgs), { credentialType, documentFormat: determineCredentialDocumentFormat(documentFormat), createdAt: new Date(), hash: (0, utils_1.computeEntryHash)(addCredentialArgs.raw), uniformDocument: JSON.stringify(uniformDocument), issuedAt,
81
- expiresAt, lastUpdatedAt: new Date() });
92
+ const validFrom = getValidFrom(uniformDocument);
93
+ const validUntil = getValidUntil(uniformDocument);
94
+ return Object.assign(Object.assign({}, addCredentialArgs), { credentialType, documentFormat: determineCredentialDocumentFormat(documentFormat), createdAt: new Date(), hash: (0, utils_1.computeEntryHash)(addCredentialArgs.raw), uniformDocument: JSON.stringify(uniformDocument), validFrom,
95
+ validUntil, lastUpdatedAt: new Date() });
82
96
  };
83
97
  exports.nonPersistedDigitalCredentialEntityFromAddArgs = nonPersistedDigitalCredentialEntityFromAddArgs;
84
98
  const digitalCredentialFrom = (credentialEntity) => {
@@ -1 +1 @@
1
- {"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/digitalCredential/MappingUtils.ts"],"names":[],"mappings":"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"}
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.90+369f6975",
3
+ "version": "0.18.2-unstable.96+5ed10032",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -13,8 +13,8 @@
13
13
  "typeorm-postgres:migration:run": "pnpm run typeorm -- migration:run -c migration-postgres"
14
14
  },
15
15
  "dependencies": {
16
- "@sphereon/ssi-sdk.core": "0.18.2-unstable.90+369f6975",
17
- "@sphereon/ssi-types": "0.18.2-unstable.90+369f6975",
16
+ "@sphereon/ssi-sdk.core": "0.18.2-unstable.96+5ed10032",
17
+ "@sphereon/ssi-types": "0.18.2-unstable.96+5ed10032",
18
18
  "@veramo/core": "4.2.0",
19
19
  "@veramo/utils": "4.2.0",
20
20
  "class-validator": "^0.14.0",
@@ -44,5 +44,5 @@
44
44
  "PostgreSQL",
45
45
  "Contact Store"
46
46
  ],
47
- "gitHead": "369f6975a230a10f752e9c84f785949174c2c5c8"
47
+ "gitHead": "5ed10032a4f7b45c68f4caeccedc627d76f7a721"
48
48
  }
@@ -11,6 +11,7 @@ import {
11
11
  import { computeEntryHash } from '@veramo/utils'
12
12
  import { AddCredentialArgs } from '../types/digitalCredential/IAbstractDigitalCredentialStore'
13
13
  import { nonPersistedDigitalCredentialEntityFromAddArgs } from '../utils/digitalCredential/MappingUtils'
14
+ import { createHash } from 'crypto'
14
15
 
15
16
  describe('Database entities tests', (): void => {
16
17
  let dbConnection: DataSource
@@ -70,9 +71,9 @@ describe('Database entities tests', (): void => {
70
71
  tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
71
72
  })
72
73
  expect(digitalCredential.credentialType).toEqual(CredentialType.VC)
73
- expect(digitalCredential.issuedAt).toEqual(new Date('2024-02-20T14:53:28.000Z'))
74
+ expect(digitalCredential.validFrom).toEqual(new Date('2024-02-20T14:53:28.000Z'))
74
75
  expect(digitalCredential.documentFormat).toEqual(CredentialDocumentFormat.JWT)
75
- expect(digitalCredential.expiresAt).toEqual(undefined)
76
+ expect(digitalCredential.validUntil).toEqual(undefined)
76
77
  })
77
78
 
78
79
  it('should assign correct values to DigitalCredential: jwt credential 2', () => {
@@ -85,9 +86,9 @@ describe('Database entities tests', (): void => {
85
86
  tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
86
87
  })
87
88
  expect(digitalCredential.credentialType).toEqual(CredentialType.VC)
88
- expect(digitalCredential.issuedAt).toEqual(new Date('2018-11-06T08:42:04.000Z'))
89
+ expect(digitalCredential.validFrom).toEqual(new Date('2018-11-06T08:42:04.000Z'))
89
90
  expect(digitalCredential.documentFormat).toEqual(CredentialDocumentFormat.JWT)
90
- expect(digitalCredential.expiresAt).toEqual(new Date('2019-11-06T08:42:03.000Z'))
91
+ expect(digitalCredential.validUntil).toEqual(new Date('2019-11-06T08:42:03.000Z'))
91
92
  })
92
93
 
93
94
  it('should assign correct values to DigitalCredential: signed ldb credential', () => {
@@ -127,9 +128,9 @@ describe('Database entities tests', (): void => {
127
128
  tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
128
129
  })
129
130
  expect(digitalCredential.credentialType).toEqual(CredentialType.VC)
130
- expect(digitalCredential.issuedAt).toEqual(new Date('2022-01-07T11:54:12.000Z'))
131
+ expect(digitalCredential.validFrom).toEqual(new Date('2022-01-07T11:54:12.000Z'))
131
132
  expect(digitalCredential.documentFormat).toEqual(CredentialDocumentFormat.JSON_LD)
132
- expect(digitalCredential.expiresAt).toEqual(undefined)
133
+ expect(digitalCredential.validUntil).toEqual(undefined)
133
134
  })
134
135
 
135
136
  it('should assign correct values to DigitalCredential: signed ldb presentation', () => {
@@ -225,9 +226,9 @@ describe('Database entities tests', (): void => {
225
226
  tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
226
227
  })
227
228
  expect(digitalCredential.credentialType).toEqual(CredentialType.VP)
228
- expect(digitalCredential.issuedAt).toEqual(new Date('2018-09-14T21:19:10.000Z'))
229
+ expect(digitalCredential.validFrom).toEqual(new Date('2018-09-14T21:19:10.000Z'))
229
230
  expect(digitalCredential.documentFormat).toEqual(CredentialDocumentFormat.JSON_LD)
230
- expect(digitalCredential.expiresAt).toEqual(undefined)
231
+ expect(digitalCredential.validUntil).toEqual(undefined)
231
232
  })
232
233
 
233
234
  it('should assign correct values to DigitalCredential: signed sd_jwt credential', () => {
@@ -238,10 +239,13 @@ describe('Database entities tests', (): void => {
238
239
  issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
239
240
  subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
240
241
  tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
242
+ opts: {
243
+ hasher: (data, algorithm) => createHash(algorithm).update(data).digest(),
244
+ },
241
245
  })
242
246
  expect(digitalCredential.credentialType).toEqual(CredentialType.VC)
243
- expect(digitalCredential.issuedAt).toEqual(new Date('2023-10-24T12:45:32.000Z'))
247
+ expect(digitalCredential.validFrom).toEqual(new Date('2023-10-24T12:45:32.000Z'))
244
248
  expect(digitalCredential.documentFormat).toEqual(CredentialDocumentFormat.SD_JWT)
245
- expect(digitalCredential.expiresAt).toEqual(undefined)
249
+ expect(digitalCredential.validUntil).toEqual(undefined)
246
250
  })
247
251
  })
@@ -2,13 +2,16 @@ import { DataSource } from 'typeorm'
2
2
  import { DataStoreDigitalCredentialMigrations } from '../migrations'
3
3
  import { DataStoreDigitalCredentialEntities } from '../index'
4
4
  import { DigitalCredentialStore } from '../digitalCredential/DigitalCredentialStore'
5
- import { CredentialCorrelationType, CredentialStateType, CredentialType, DigitalCredential } from '../types/digitalCredential/digitalCredential'
6
5
  import {
7
- AddCredentialArgs,
8
- GetCredentialsArgs,
9
- GetCredentialsResponse,
10
- } from '../types/digitalCredential/IAbstractDigitalCredentialStore'
6
+ CredentialCorrelationType,
7
+ CredentialDocumentFormat,
8
+ CredentialStateType,
9
+ CredentialType,
10
+ DigitalCredential,
11
+ } from '../types/digitalCredential/digitalCredential'
12
+ import { AddCredentialArgs, GetCredentialsArgs, GetCredentialsResponse } from '../types/digitalCredential/IAbstractDigitalCredentialStore'
11
13
  import { IVerifiablePresentation } from '@sphereon/ssi-types'
14
+ import { createHash } from 'crypto'
12
15
 
13
16
  describe('Database entities tests', (): void => {
14
17
  let dbConnection: DataSource
@@ -49,6 +52,21 @@ describe('Database entities tests', (): void => {
49
52
  expect(savedDigitalCredential).toBeDefined()
50
53
  })
51
54
 
55
+ it('should throw error on storing digital credential sd_jwt with not-provided hasher', async (): Promise<void> => {
56
+ const digitalCredential: AddCredentialArgs = {
57
+ raw: 'eyJhbGciOiJFZERTQSIsInR5cCI6InZjK3NkLWp3dCIsImtpZCI6IiN6Nk1rdHF0WE5HOENEVVk5UHJydG9TdEZ6ZUNuaHBNbWd4WUwxZ2lrY1czQnp2TlcifQ.eyJ2Y3QiOiJJZGVudGl0eUNyZWRlbnRpYWwiLCJmYW1pbHlfbmFtZSI6IkRvZSIsInBob25lX251bWJlciI6IisxLTIwMi01NTUtMDEwMSIsImFkZHJlc3MiOnsic3RyZWV0X2FkZHJlc3MiOiIxMjMgTWFpbiBTdCIsImxvY2FsaXR5IjoiQW55dG93biIsIl9zZCI6WyJOSm5tY3QwQnFCTUUxSmZCbEM2alJRVlJ1ZXZwRU9OaVl3N0E3TUh1SnlRIiwib201Wnp0WkhCLUdkMDBMRzIxQ1ZfeE00RmFFTlNvaWFPWG5UQUpOY3pCNCJdfSwiY25mIjp7Imp3ayI6eyJrdHkiOiJPS1AiLCJjcnYiOiJFZDI1NTE5IiwieCI6Im9FTlZzeE9VaUg1NFg4d0pMYVZraWNDUmswMHdCSVE0c1JnYms1NE44TW8ifX0sImlzcyI6ImRpZDprZXk6ejZNa3RxdFhORzhDRFVZOVBycnRvU3RGemVDbmhwTW1neFlMMWdpa2NXM0J6dk5XIiwiaWF0IjoxNjk4MTUxNTMyLCJfc2RfYWxnIjoic2hhLTI1NiIsIl9zZCI6WyIxQ3VyMmsyQTJvSUI1Q3NoU0lmX0FfS2ctbDI2dV9xS3VXUTc5UDBWZGFzIiwiUjF6VFV2T1lIZ2NlcGowakh5cEdIejlFSHR0VktmdDB5c3diYzlFVFBiVSIsImVEcVFwZFRYSlhiV2hmLUVzSTd6dzVYNk92WW1GTi1VWlFRTWVzWHdLUHciLCJwZERrMl9YQUtIbzdnT0Fmd0YxYjdPZENVVlRpdDJrSkhheFNFQ1E5eGZjIiwicHNhdUtVTldFaTA5bnUzQ2w4OXhLWGdtcFdFTlpsNXV5MU4xbnluX2pNayIsInNOX2dlMHBIWEY2cW1zWW5YMUE5U2R3SjhjaDhhRU5reGJPRHNUNzRZd0kiXX0.coOK8NzJmEWz4qx-qRhjo-RK7aejrSkQM9La9Cw3eWmzcja9DXrkBoQZKbIJtNoSzSPLjwK2V71W78z0miZsDQ~WyJzYWx0IiwiaXNfb3Zlcl82NSIsdHJ1ZV0~WyJzYWx0IiwiaXNfb3Zlcl8yMSIsdHJ1ZV0~WyJzYWx0IiwiZW1haWwiLCJqb2huZG9lQGV4YW1wbGUuY29tIl0~WyJzYWx0IiwiY291bnRyeSIsIlVTIl0~WyJzYWx0IiwiZ2l2ZW5fbmFtZSIsIkpvaG4iXQ~eyJhbGciOiJFZERTQSIsInR5cCI6ImtiK2p3dCJ9.eyJpYXQiOjE2OTgxNTE1MzIsIm5vbmNlIjoic2FsdCIsImF1ZCI6ImRpZDprZXk6elVDNzRWRXFxaEVIUWNndjR6YWdTUGtxRkp4dU5XdW9CUEtqSnVIRVRFVWVITG9TcVd0OTJ2aVNzbWFXank4MnkiLCJfc2RfaGFzaCI6Ii1kTUd4OGZhUnpOQm91a2EwU0R6V2JkS3JYckw1TFVmUlNQTHN2Q2xPMFkifQ.TQQLqc4ZzoKjQfAghAzC_4aaU3KCS8YqzxAJtzT124guzkv9XSHtPN8d3z181_v-ca2ATXjTRoRciozitE6wBA',
58
+ issuerCorrelationType: CredentialCorrelationType.DID,
59
+ subjectCorrelationType: CredentialCorrelationType.DID,
60
+ issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
61
+ subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
62
+ tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
63
+ }
64
+
65
+ await expect(digitalCredentialStore.addCredential(digitalCredential)).rejects.toThrowError(
66
+ 'No hasher function is provided for SD_JWT credential.'
67
+ )
68
+ })
69
+
52
70
  it('should get all digital credentials', async (): Promise<void> => {
53
71
  const addCredentialArgs1: AddCredentialArgs = {
54
72
  raw: 'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw',
@@ -139,6 +157,9 @@ describe('Database entities tests', (): void => {
139
157
  issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
140
158
  subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
141
159
  tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
160
+ opts: {
161
+ hasher: (data, algorithm) => createHash(algorithm).update(data).digest(),
162
+ },
142
163
  }
143
164
 
144
165
  const savedDigitalCredential1: DigitalCredential = await digitalCredentialStore.addCredential(addCredentialArgs1)
@@ -152,15 +173,19 @@ describe('Database entities tests', (): void => {
152
173
  }
153
174
  const result1: GetCredentialsResponse = await digitalCredentialStore.getCredentials(args1)
154
175
  expect(result1.total).toEqual(1)
155
- expect(result1.hasMore).toEqual(true)
156
176
  const args2: GetCredentialsArgs = {
157
- skip: 1,
158
- take: 10,
177
+ offset: 1,
178
+ limit: 10,
159
179
  }
160
180
  const result2: GetCredentialsResponse = await digitalCredentialStore.getCredentials(args2)
161
181
  expect(result2.data.length).toEqual(2)
162
182
  expect(result2.total).toEqual(3)
163
- expect(result2.hasMore).toEqual(false)
183
+ const args3: GetCredentialsArgs = {
184
+ order: 'createdAt.DESC',
185
+ }
186
+ const result3: GetCredentialsResponse = await digitalCredentialStore.getCredentials(args3)
187
+ expect(result3.data.length).toEqual(3)
188
+ expect(result3.data[1].documentFormat).toEqual(CredentialDocumentFormat.JSON_LD)
164
189
  })
165
190
 
166
191
  it('should return no digital credentials if filter does not match', async (): Promise<void> => {
@@ -209,10 +234,56 @@ describe('Database entities tests', (): void => {
209
234
 
210
235
  const savedDigitalCredential: DigitalCredential = await digitalCredentialStore.addCredential(digitalCredential)
211
236
 
237
+ const result = await digitalCredentialStore.updateCredentialState({
238
+ id: savedDigitalCredential.id,
239
+ verifiedState: CredentialStateType.VERIFIED,
240
+ verifiedAt: new Date(),
241
+ })
242
+ expect(result.verifiedState).toEqual(CredentialStateType.VERIFIED)
243
+ })
244
+
245
+ it('should throw exception on updating stored digital credential to revoked', async (): Promise<void> => {
246
+ const rawCredential: string =
247
+ 'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
248
+ const digitalCredential: AddCredentialArgs = {
249
+ raw: rawCredential,
250
+ issuerCorrelationType: CredentialCorrelationType.DID,
251
+ subjectCorrelationType: CredentialCorrelationType.DID,
252
+ issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
253
+ subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
254
+ tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
255
+ }
256
+
257
+ const savedDigitalCredential: DigitalCredential = await digitalCredentialStore.addCredential(digitalCredential)
258
+
259
+ await expect(
260
+ digitalCredentialStore.updateCredentialState({
261
+ id: savedDigitalCredential.id,
262
+ verifiedState: CredentialStateType.REVOKED,
263
+ })
264
+ ).rejects.toThrowError('No revokedAt param is provided.')
265
+ })
266
+
267
+ it('should revoke stored digital credential', async (): Promise<void> => {
268
+ const rawCredential: string =
269
+ 'eyJraWQiOiJkaWQ6a2V5Ono2TWtyaGt5M3B1c20yNk1laUZhWFUzbjJuZWtyYW13RlVtZ0dyZUdHa0RWNnpRaiN6Nk1rcmhreTNwdXNtMjZNZWlGYVhVM24ybmVrcmFtd0ZVbWdHcmVHR2tEVjZ6UWoiLCJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJ2YyI6eyJAY29udGV4dCI6WyJodHRwczovL3d3dy53My5vcmcvMjAxOC9jcmVkZW50aWFscy92MSIsImh0dHBzOi8vc3BoZXJlb24tb3BlbnNvdXJjZS5naXRodWIuaW8vc3NpLW1vYmlsZS13YWxsZXQvY29udGV4dC9zcGhlcmVvbi13YWxsZXQtaWRlbnRpdHktdjEuanNvbmxkIl0sInR5cGUiOlsiVmVyaWZpYWJsZUNyZWRlbnRpYWwiLCJTcGhlcmVvbldhbGxldElkZW50aXR5Q3JlZGVudGlhbCJdLCJjcmVkZW50aWFsU3ViamVjdCI6eyJmaXJzdE5hbWUiOiJTIiwibGFzdE5hbWUiOiJLIiwiZW1haWxBZGRyZXNzIjoic0BrIn19LCJzdWIiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJqdGkiOiJ1cm46dXVpZDpkZGE3YmYyNC04ZTdhLTQxZjgtYjY2Yy1hNDhkYmM1YjEwZmEiLCJuYmYiOjE3MDg0NDA4MDgsImlzcyI6ImRpZDprZXk6ejZNa3Joa3kzcHVzbTI2TWVpRmFYVTNuMm5la3JhbXdGVW1nR3JlR0drRFY2elFqIn0.G0M84XVAxSmzGY-NQuB9NBofNrINSn6lvxW6761Vlq6ypvYgtc2xNdpiRmw8ryVNfnpzrr4Z5cB1RlrC05rJAw'
270
+ const digitalCredential: AddCredentialArgs = {
271
+ raw: rawCredential,
272
+ issuerCorrelationType: CredentialCorrelationType.DID,
273
+ subjectCorrelationType: CredentialCorrelationType.DID,
274
+ issuerCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
275
+ subjectCorrelationId: 'did:key:z6Mkrhky3pusm26MeiFaXU3n2nekramwFUmgGreGGkDV6zQj',
276
+ tenantId: 'urn:uuid:nnag4b43-1e7a-98f8-a32c-a48dbc5b10mj',
277
+ }
278
+
279
+ const savedDigitalCredential: DigitalCredential = await digitalCredentialStore.addCredential(digitalCredential)
280
+ const currentDate = new Date()
212
281
  const result = await digitalCredentialStore.updateCredentialState({
213
282
  id: savedDigitalCredential.id,
214
283
  verifiedState: CredentialStateType.REVOKED,
284
+ revokedAt: currentDate,
215
285
  })
216
286
  expect(result.verifiedState).toEqual(CredentialStateType.REVOKED)
287
+ expect(result.revokedAt).toEqual(currentDate)
217
288
  })
218
289
  })
@@ -8,12 +8,13 @@ import {
8
8
  UpdateCredentialStateArgs,
9
9
  } from '../types/digitalCredential/IAbstractDigitalCredentialStore'
10
10
  import { OrPromise } from '@sphereon/ssi-types'
11
- import { DataSource, Repository } from 'typeorm'
11
+ import { DataSource, FindOptionsOrder, Repository } from 'typeorm'
12
12
  import Debug from 'debug'
13
13
  import { DigitalCredentialEntity } from '../entities/digitalCredential/DigitalCredentialEntity'
14
14
  import { nonPersistedDigitalCredentialEntityFromAddArgs } from '../utils/digitalCredential/MappingUtils'
15
15
  import { FindOptionsWhere } from 'typeorm/find-options/FindOptionsWhere'
16
16
  import { CredentialStateType, DigitalCredential, NonPersistedDigitalCredential } from '../types/digitalCredential/digitalCredential'
17
+ import { parseAndValidateOrderOptions } from '../utils/SortingUtils'
17
18
 
18
19
  const debug: Debug.Debugger = Debug('sphereon:ssi-sdk:credential-store')
19
20
 
@@ -45,20 +46,17 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
45
46
  }
46
47
 
47
48
  getCredentials = async (args?: GetCredentialsArgs): Promise<GetCredentialsResponse> => {
48
- const { filter = {}, skip, take, order = { createdAt: 'DESC' } } = args ?? {}
49
+ const { filter = {}, offset, limit, order = 'id.asc' } = args ?? {}
50
+ const sortOptions: FindOptionsOrder<DigitalCredentialEntity> = parseAndValidateOrderOptions<DigitalCredentialEntity>(order)
49
51
  const [result, total] = await (await this.dbConnection).getRepository(DigitalCredentialEntity).findAndCount({
50
52
  where: filter,
51
- skip,
52
- take,
53
- order,
53
+ skip: offset,
54
+ take: limit,
55
+ order: sortOptions,
54
56
  })
55
- if (!result) {
56
- return Promise.reject(Error(`No credential found for arg: ${args?.toString()}`))
57
- }
58
57
  return {
59
58
  data: result,
60
59
  total,
61
- hasMore: total > (skip || 0) + (take || 0),
62
60
  }
63
61
  }
64
62
 
@@ -91,9 +89,19 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
91
89
  const whereClause: Record<string, any> = {}
92
90
  if ('id' in args) {
93
91
  whereClause.id = args.id
94
- }
95
- if ('hash' in args) {
92
+ } else if ('hash' in args) {
96
93
  whereClause.hash = args.hash
94
+ } else {
95
+ throw new Error('No id or hash param is provided.')
96
+ }
97
+ if (!args.verifiedState) {
98
+ throw new Error('No verifiedState param is provided.')
99
+ }
100
+ if (args.verifiedState === CredentialStateType.REVOKED && !args.revokedAt) {
101
+ throw new Error('No revokedAt param is provided.')
102
+ }
103
+ if (args.verifiedState !== CredentialStateType.REVOKED && !args.verifiedAt) {
104
+ throw new Error('No verifiedAt param is provided.')
97
105
  }
98
106
  const credential: DigitalCredentialEntity | null = await credentialRepository.findOne({
99
107
  where: whereClause,
@@ -104,9 +112,9 @@ export class DigitalCredentialStore extends AbstractDigitalCredentialStore {
104
112
  }
105
113
  const updatedCredential: DigitalCredential = {
106
114
  ...credential,
107
- verifiedAt: args.verificationDate ?? new Date(),
115
+ ...(args.verifiedState !== CredentialStateType.REVOKED && { verifiedAt: args.verifiedAt }),
116
+ ...(args.verifiedState === CredentialStateType.REVOKED && { revokedAt: args.revokedAt }),
108
117
  lastUpdatedAt: new Date(),
109
- ...(args.verifiedState === CredentialStateType.REVOKED && { revocationDate: args.verificationDate ?? new Date() }),
110
118
  verifiedState: args.verifiedState,
111
119
  }
112
120
  debug('Updating credential', credential)
@@ -50,11 +50,11 @@ export class DigitalCredentialEntity extends BaseEntity {
50
50
  @UpdateDateColumn({ name: 'last_updated_at', nullable: false })
51
51
  lastUpdatedAt!: Date
52
52
 
53
- @Column('date', { name: 'expires_at', nullable: true })
54
- expiresAt?: Date
53
+ @Column('date', { name: 'valid_until', nullable: true })
54
+ validUntil?: Date
55
55
 
56
- @Column('date', { name: 'issued_at', nullable: true })
57
- issuedAt?: Date
56
+ @Column('date', { name: 'valid_from', nullable: true })
57
+ validFrom?: Date
58
58
 
59
59
  @Column('date', { name: 'verified_at', nullable: true })
60
60
  verifiedAt?: Date
@@ -25,8 +25,8 @@ export class CreateDigitalCredential1708525189001 implements MigrationInterface
25
25
  "tenant_id" text,
26
26
  "created_at" TIMESTAMP NOT NULL DEFAULT now(),
27
27
  "last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
28
- "issued_at" DATE,
29
- "expires_at" DATE,
28
+ "valid_from" DATE,
29
+ "valid_until" DATE,
30
30
  "verified_at" DATE,
31
31
  "revoked_at" DATE,
32
32
  PRIMARY KEY ("id")
@@ -20,8 +20,8 @@ export class CreateDigitalCredential1708525189002 implements MigrationInterface
20
20
  "tenant_id" text,
21
21
  "created_at" datetime NOT NULL DEFAULT (datetime('now')),
22
22
  "last_updated_at" datetime NOT NULL DEFAULT (datetime('now')),
23
- "issued_at" datetime,
24
- "expires_at" datetime,
23
+ "valid_from" datetime,
24
+ "valid_until" datetime,
25
25
  "verified_at" datetime,
26
26
  "revoked_at" datetime
27
27
  )
@@ -1,4 +1,5 @@
1
1
  import { CredentialCorrelationType, CredentialStateType, DigitalCredential } from './digitalCredential'
2
+ import { Hasher } from '@sphereon/ssi-types'
2
3
 
3
4
  export type GetCredentialArgs = { id: string } | { hash: string }
4
5
 
@@ -6,15 +7,14 @@ export type FindDigitalCredentialArgs = Array<Partial<DigitalCredential>>
6
7
 
7
8
  export type GetCredentialsArgs = {
8
9
  filter?: FindDigitalCredentialArgs
9
- skip?: number
10
- take?: number
11
- order?: { [key in keyof DigitalCredential]: 'ASC' | 'DESC' }
10
+ offset?: number
11
+ limit?: number
12
+ order?: string
12
13
  }
13
14
 
14
15
  export type GetCredentialsResponse = {
15
- data: DigitalCredential[]
16
+ data: Array<DigitalCredential>
16
17
  total: number
17
- hasMore: boolean
18
18
  }
19
19
 
20
20
  export type AddCredentialArgs = {
@@ -25,10 +25,11 @@ export type AddCredentialArgs = {
25
25
  subjectCorrelationId?: string
26
26
  tenantId?: string
27
27
  state?: CredentialStateType
28
- verificationDate?: Date
29
- revocationDate?: Date
28
+ verifiedAt?: Date
29
+ revokedAt?: Date
30
+ opts?: { maxTimeSkewInMS?: number; hasher?: Hasher }
30
31
  }
31
32
 
32
- export type UpdateCredentialStateArgs = GetCredentialArgs & { verifiedState: CredentialStateType; verificationDate?: Date }
33
+ export type UpdateCredentialStateArgs = GetCredentialArgs & { verifiedState: CredentialStateType; verifiedAt?: Date; revokedAt?: Date }
33
34
 
34
35
  export type RemoveCredentialArgs = GetCredentialArgs
@@ -15,8 +15,8 @@ export type DigitalCredential = {
15
15
  tenantId?: string
16
16
  createdAt: Date
17
17
  lastUpdatedAt: Date
18
- expiresAt?: Date
19
- issuedAt?: Date
18
+ validUntil?: Date
19
+ validFrom?: Date
20
20
  verifiedAt?: Date
21
21
  revokedAt?: Date
22
22
  }
@@ -0,0 +1,16 @@
1
+ import { BaseEntity, FindOptionsOrder } from 'typeorm'
2
+
3
+ export const parseAndValidateOrderOptions = <T extends BaseEntity>(order: string): FindOptionsOrder<T> => {
4
+ const orderPairs = order.split(',').map((pair) => pair.trim().split('.'))
5
+ const orderOptions: FindOptionsOrder<T> = {}
6
+
7
+ orderPairs.forEach(([field, direction]) => {
8
+ const dir = direction.toUpperCase()
9
+ if (dir !== 'ASC' && dir !== 'DESC') {
10
+ throw new Error(`Invalid order direction: '${direction}'. Must be 'asc' or 'desc'.`)
11
+ }
12
+ ;(orderOptions as any)[field] = dir
13
+ })
14
+
15
+ return orderOptions
16
+ }
@@ -27,7 +27,8 @@ import {
27
27
  Organization,
28
28
  Party,
29
29
  PartyRelationship,
30
- PartyType, PhysicalAddress
30
+ PartyType,
31
+ PhysicalAddress,
31
32
  } from '../../types'
32
33
  import { PartyEntity } from '../../entities/contact/PartyEntity'
33
34
  import { IdentityEntity } from '../../entities/contact/IdentityEntity'
@@ -4,8 +4,11 @@ import {
4
4
  CredentialMapper,
5
5
  decodeSdJwtVc,
6
6
  DocumentFormat,
7
+ IProof,
7
8
  IVerifiableCredential,
8
9
  IVerifiablePresentation,
10
+ OriginalVerifiableCredential,
11
+ OriginalVerifiablePresentation,
9
12
  SdJwtDecodedVerifiableCredentialPayload,
10
13
  } from '@sphereon/ssi-types'
11
14
  import {
@@ -15,25 +18,36 @@ import {
15
18
  NonPersistedDigitalCredential,
16
19
  } from '../../types/digitalCredential/digitalCredential'
17
20
  import { computeEntryHash } from '@veramo/utils'
18
- import { createHash } from 'crypto'
19
21
 
20
22
  function determineCredentialType(raw: string): CredentialType {
21
- if (CredentialMapper.hasProof(raw)) {
22
- if (CredentialMapper.isCredential(raw)) {
23
- return CredentialType.VC
24
- } else if (CredentialMapper.isPresentation(raw)) {
25
- return CredentialType.VP
26
- }
27
- } else {
28
- if (CredentialMapper.isCredential(raw)) {
29
- return CredentialType.C
30
- } else if (CredentialMapper.isPresentation(raw)) {
31
- return CredentialType.P
32
- }
23
+ const rawDocument = parseRawDocument(raw)
24
+ if (!rawDocument) {
25
+ throw new Error(`Couldn't parse the credential: ${raw}`)
26
+ }
27
+
28
+ const hasProof = CredentialMapper.hasProof(rawDocument)
29
+ const isCredential = CredentialMapper.isCredential(rawDocument)
30
+ const isPresentation = CredentialMapper.isPresentation(rawDocument)
31
+
32
+ if (isCredential) {
33
+ return hasProof ? CredentialType.VC : CredentialType.C
34
+ } else if (isPresentation) {
35
+ return hasProof ? CredentialType.VP : CredentialType.P
33
36
  }
34
37
  throw new Error(`Couldn't determine the type of the credential: ${raw}`)
35
38
  }
36
39
 
40
+ function parseRawDocument(raw: string): OriginalVerifiableCredential | OriginalVerifiablePresentation {
41
+ if (CredentialMapper.isJwtEncoded(raw) || CredentialMapper.isSdJwtEncoded(raw)) {
42
+ return raw
43
+ }
44
+ try {
45
+ return JSON.parse(raw)
46
+ } catch (e) {
47
+ throw new Error(`Can't parse the raw credential: ${raw}`)
48
+ }
49
+ }
50
+
37
51
  function determineCredentialDocumentFormat(documentFormat: DocumentFormat): CredentialDocumentFormat {
38
52
  switch (documentFormat) {
39
53
  case DocumentFormat.JSONLD:
@@ -47,47 +61,50 @@ function determineCredentialDocumentFormat(documentFormat: DocumentFormat): Cred
47
61
  }
48
62
  }
49
63
 
50
- function getExpiresAt(uniformDocument: IVerifiableCredential | IVerifiablePresentation | SdJwtDecodedVerifiableCredentialPayload): Date | undefined {
64
+ function getValidUntil(uniformDocument: IVerifiableCredential | IVerifiablePresentation | SdJwtDecodedVerifiableCredentialPayload): Date | undefined {
51
65
  if ('expirationDate' in uniformDocument) {
52
66
  return new Date(uniformDocument.expirationDate)
67
+ } else if ('validUntil' in uniformDocument) {
68
+ return new Date(uniformDocument.validUntil)
53
69
  } else if ('exp' in uniformDocument) {
54
70
  return new Date(uniformDocument.exp)
55
71
  }
56
72
  return undefined
57
73
  }
58
74
 
59
- function getIssuedAt(uniformDocument: IVerifiableCredential | IVerifiablePresentation | SdJwtDecodedVerifiableCredentialPayload): Date | undefined {
75
+ function getValidFrom(uniformDocument: IVerifiableCredential | IVerifiablePresentation | SdJwtDecodedVerifiableCredentialPayload): Date | undefined {
76
+ let proof: IProof | undefined = undefined
77
+ if (uniformDocument.proof && !uniformDocument.vct) {
78
+ proof = Array.isArray(uniformDocument.proof) ? <IProof>uniformDocument.proof[0] : <IProof>uniformDocument.proof
79
+ }
60
80
  if ('issuanceDate' in uniformDocument) {
61
81
  return new Date(uniformDocument.issuanceDate)
62
- } else if (uniformDocument.proof && CredentialMapper.getFirstProof(uniformDocument as IVerifiableCredential | IVerifiablePresentation)) {
63
- return new Date(CredentialMapper.getFirstProof(uniformDocument as IVerifiableCredential | IVerifiablePresentation)!.created)
82
+ } else if (proof && proof.created) {
83
+ return new Date(proof.created)
64
84
  } else if ('validFrom' in uniformDocument) {
65
85
  return new Date(uniformDocument['validFrom'])
86
+ } else if ('nbf' in uniformDocument) {
87
+ return new Date(uniformDocument['nbf'] * 1000)
66
88
  } else if ('iat' in uniformDocument) {
67
89
  return new Date(uniformDocument['iat'] * 1000)
68
90
  }
69
-
70
91
  return undefined
71
92
  }
72
93
 
73
- export const handleSdJwt = (rawCredential: string): SdJwtDecodedVerifiableCredentialPayload => {
74
- // todo ask about the hasher
75
- return CredentialMapper.isSdJwtEncoded(rawCredential)
76
- ? decodeSdJwtVc(rawCredential, (data, algorithm) => createHash(algorithm).update(data).digest()).decodedPayload
77
- : JSON.parse(rawCredential)
78
- }
79
-
80
94
  export const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs: AddCredentialArgs): NonPersistedDigitalCredential => {
81
95
  const credentialType: CredentialType = determineCredentialType(addCredentialArgs.raw)
82
96
  const documentFormat: DocumentFormat = CredentialMapper.detectDocumentType(addCredentialArgs.raw)
97
+ if (documentFormat === DocumentFormat.SD_JWT_VC && !addCredentialArgs.opts?.hasher) {
98
+ throw new Error('No hasher function is provided for SD_JWT credential.')
99
+ }
83
100
  const uniformDocument =
84
101
  documentFormat === DocumentFormat.SD_JWT_VC
85
- ? handleSdJwt(addCredentialArgs.raw)
102
+ ? decodeSdJwtVc(addCredentialArgs.raw, addCredentialArgs.opts!.hasher!).decodedPayload
86
103
  : credentialType === CredentialType.VC || credentialType === CredentialType.C
87
104
  ? CredentialMapper.toUniformCredential(addCredentialArgs.raw)
88
105
  : CredentialMapper.toUniformPresentation(addCredentialArgs.raw)
89
- const issuedAt: Date | undefined = getIssuedAt(uniformDocument)
90
- const expiresAt: Date | undefined = getExpiresAt(uniformDocument)
106
+ const validFrom: Date | undefined = getValidFrom(uniformDocument)
107
+ const validUntil: Date | undefined = getValidUntil(uniformDocument)
91
108
  return {
92
109
  ...addCredentialArgs,
93
110
  credentialType,
@@ -95,8 +112,8 @@ export const nonPersistedDigitalCredentialEntityFromAddArgs = (addCredentialArgs
95
112
  createdAt: new Date(),
96
113
  hash: computeEntryHash(addCredentialArgs.raw),
97
114
  uniformDocument: JSON.stringify(uniformDocument),
98
- issuedAt,
99
- expiresAt,
115
+ validFrom,
116
+ validUntil,
100
117
  lastUpdatedAt: new Date(),
101
118
  }
102
119
  }