@sphereon/ssi-sdk.data-store 0.32.1-fix.15 → 0.32.1-next.113

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 (22) hide show
  1. package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.d.ts +1 -0
  2. package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.d.ts.map +1 -1
  3. package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.js +8 -2
  4. package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.js.map +1 -1
  5. package/dist/migrations/postgres/1716475165345-CreatePresentationDefinitions.d.ts.map +1 -1
  6. package/dist/migrations/postgres/1716475165345-CreatePresentationDefinitions.js +1 -0
  7. package/dist/migrations/postgres/1716475165345-CreatePresentationDefinitions.js.map +1 -1
  8. package/dist/migrations/sqlite/1716475165344-CreatePresentationDefinitions.d.ts.map +1 -1
  9. package/dist/migrations/sqlite/1716475165344-CreatePresentationDefinitions.js +1 -0
  10. package/dist/migrations/sqlite/1716475165344-CreatePresentationDefinitions.js.map +1 -1
  11. package/dist/types/presentationDefinition/presentationDefinition.d.ts +3 -1
  12. package/dist/types/presentationDefinition/presentationDefinition.d.ts.map +1 -1
  13. package/dist/utils/presentationDefinition/MappingUtils.d.ts.map +1 -1
  14. package/dist/utils/presentationDefinition/MappingUtils.js +2 -0
  15. package/dist/utils/presentationDefinition/MappingUtils.js.map +1 -1
  16. package/package.json +6 -5
  17. package/src/__tests__/pd-manager.entities.test.ts +77 -0
  18. package/src/entities/presentationDefinition/PresentationDefinitionItemEntity.ts +6 -2
  19. package/src/migrations/postgres/1716475165345-CreatePresentationDefinitions.ts +1 -0
  20. package/src/migrations/sqlite/1716475165344-CreatePresentationDefinitions.ts +1 -0
  21. package/src/types/presentationDefinition/presentationDefinition.ts +3 -1
  22. package/src/utils/presentationDefinition/MappingUtils.ts +3 -0
@@ -7,6 +7,7 @@ export declare class PresentationDefinitionItemEntity extends BaseEntity {
7
7
  purpose?: string;
8
8
  name?: string;
9
9
  definitionPayload: string;
10
+ dcqlPayload: string;
10
11
  createdAt: Date;
11
12
  lastUpdatedAt: Date;
12
13
  updateUpdatedDate(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationDefinitionItemEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/presentationDefinition/PresentationDefinitionItemEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiH,MAAM,SAAS,CAAA;AAInJ,qBAEa,gCAAiC,SAAQ,UAAU;IAE9D,EAAE,EAAG,MAAM,CAAA;IAIX,YAAY,EAAG,MAAM,CAAA;IAIrB,OAAO,EAAG,MAAM,CAAA;IAGhB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,IAAI,CAAC,EAAE,MAAM,CAAA;IAIb,iBAAiB,EAAG,MAAM,CAAA;IAG1B,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;IAKpB,iBAAiB,IAAI,IAAI;CAG1B"}
1
+ {"version":3,"file":"PresentationDefinitionItemEntity.d.ts","sourceRoot":"","sources":["../../../src/entities/presentationDefinition/PresentationDefinitionItemEntity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiH,MAAM,SAAS,CAAA;AAInJ,qBAEa,gCAAiC,SAAQ,UAAU;IAE9D,EAAE,EAAG,MAAM,CAAA;IAIX,YAAY,EAAG,MAAM,CAAA;IAIrB,OAAO,EAAG,MAAM,CAAA;IAGhB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAGhB,IAAI,CAAC,EAAE,MAAM,CAAA;IAIb,iBAAiB,EAAG,MAAM,CAAA;IAI1B,WAAW,EAAG,MAAM,CAAA;IAGpB,SAAS,EAAG,IAAI,CAAA;IAGhB,aAAa,EAAG,IAAI,CAAA;IAKpB,iBAAiB,IAAI,IAAI;CAG1B"}
@@ -47,10 +47,16 @@ __decorate([
47
47
  __metadata("design:type", String)
48
48
  ], PresentationDefinitionItemEntity.prototype, "name", void 0);
49
49
  __decorate([
50
- (0, typeorm_1.Column)({ name: 'definition_payload', type: 'text', nullable: false, unique: false }),
51
- (0, class_validator_1.IsNotEmpty)({ message: 'A blank definition payload field is not allowed' }),
50
+ (0, typeorm_1.Column)({ name: 'definition_payload', type: 'text', nullable: false, unique: false }) // TODO should this become nullable now we have dcqlPayload?
51
+ ,
52
+ (0, class_validator_1.IsNotEmpty)({ message: 'A blank PD definition payload field is not allowed' }),
52
53
  __metadata("design:type", String)
53
54
  ], PresentationDefinitionItemEntity.prototype, "definitionPayload", void 0);
55
+ __decorate([
56
+ (0, typeorm_1.Column)({ name: 'dcql_payload', type: 'text', nullable: true, unique: false }),
57
+ (0, class_validator_1.IsNotEmpty)({ message: 'A blank dcql definition payload field is not allowed' }),
58
+ __metadata("design:type", String)
59
+ ], PresentationDefinitionItemEntity.prototype, "dcqlPayload", void 0);
54
60
  __decorate([
55
61
  (0, typeorm_1.CreateDateColumn)({ name: 'created_at', nullable: false, type: (0, ssi_sdk_agent_config_1.typeOrmDateTime)() }),
56
62
  __metadata("design:type", Date)
@@ -1 +1 @@
1
- {"version":3,"file":"PresentationDefinitionItemEntity.js","sourceRoot":"","sources":["../../../src/entities/presentationDefinition/PresentationDefinitionItemEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAmJ;AACnJ,qDAA4C;AAC5C,yEAAgE;AAIzD,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,oBAAU;IA+B9D,qHAAqH;IAGrH,iBAAiB;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAA;IACjC,CAAC;CACF,CAAA;AArCY,4EAAgC;AAE3C;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;4DACpB;AAIX;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/F,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;;sEACjD;AAIrB;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACzF,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;;iEAChD;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;kEAC1E;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;iEACzE;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;8DACzE;AAIb;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACpF,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,iDAAiD,EAAE,CAAC;;2EACjD;AAG1B;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAA,sCAAe,GAAE,EAAE,CAAC;8BACvE,IAAI;mEAAA;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAA,sCAAe,GAAE,EAAE,CAAC;8BACxE,IAAI;IAEpB,qHAAqH;;uEAFjG;AAKpB;IAFC,IAAA,sBAAY,GAAE;IACd,IAAA,sBAAY,GAAE;;;;yEAGd;2CApCU,gCAAgC;IAF5C,IAAA,gBAAM,EAAC,4BAA4B,CAAC;IACpC,IAAA,eAAK,EAAC,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;GACzB,gCAAgC,CAqC5C"}
1
+ {"version":3,"file":"PresentationDefinitionItemEntity.js","sourceRoot":"","sources":["../../../src/entities/presentationDefinition/PresentationDefinitionItemEntity.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAmJ;AACnJ,qDAA4C;AAC5C,yEAAgE;AAIzD,IAAM,gCAAgC,GAAtC,MAAM,gCAAiC,SAAQ,oBAAU;IAmC9D,qHAAqH;IAGrH,iBAAiB;QACf,IAAI,CAAC,aAAa,GAAG,IAAI,IAAI,EAAE,CAAA;IACjC,CAAC;CACF,CAAA;AAzCY,4EAAgC;AAE3C;IADC,IAAA,gCAAsB,EAAC,MAAM,CAAC;;4DACpB;AAIX;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC/F,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,4CAA4C,EAAE,CAAC;;sEACjD;AAIrB;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IACzF,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,sCAAsC,EAAE,CAAC;;iEAChD;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;kEAC1E;AAGjB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;iEACzE;AAGhB;IADC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;;8DACzE;AAIb;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,4DAA4D;;IACjJ,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,oDAAoD,EAAE,CAAC;;2EACpD;AAI1B;IAFC,IAAA,gBAAM,EAAC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;IAC7E,IAAA,4BAAU,EAAC,EAAE,OAAO,EAAE,sDAAsD,EAAE,CAAC;;qEAC5D;AAGpB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAA,sCAAe,GAAE,EAAE,CAAC;8BACvE,IAAI;mEAAA;AAGhB;IADC,IAAA,0BAAgB,EAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAA,sCAAe,GAAE,EAAE,CAAC;8BACxE,IAAI;IAEpB,qHAAqH;;uEAFjG;AAKpB;IAFC,IAAA,sBAAY,GAAE;IACd,IAAA,sBAAY,GAAE;;;;yEAGd;2CAxCU,gCAAgC;IAF5C,IAAA,gBAAM,EAAC,4BAA4B,CAAC;IACpC,IAAA,eAAK,EAAC,CAAC,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;GACzB,gCAAgC,CAyC5C"}
@@ -1 +1 @@
1
- {"version":3,"file":"1716475165345-CreatePresentationDefinitions.d.ts","sourceRoot":"","sources":["../../../src/migrations/postgres/1716475165345-CreatePresentationDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,0CAA2C,YAAW,kBAAkB;IACnF,IAAI,SAA+C;IAEtC,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
1
+ {"version":3,"file":"1716475165345-CreatePresentationDefinitions.d.ts","sourceRoot":"","sources":["../../../src/migrations/postgres/1716475165345-CreatePresentationDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,0CAA2C,YAAW,kBAAkB;IACnF,IAAI,SAA+C;IAEtC,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAiB3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
@@ -25,6 +25,7 @@ CREATE TABLE "PresentationDefinitionItem" (
25
25
  "version" TEXT NOT NULL,
26
26
  "purpose" TEXT,
27
27
  "definition_payload" TEXT NOT NULL,
28
+ "dcql_payload" TEXT,
28
29
  "created_at" TIMESTAMP NOT NULL DEFAULT now(),
29
30
  "last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
30
31
  CONSTRAINT "PK_PresentationDefinitionItem_id" PRIMARY KEY ("id"))
@@ -1 +1 @@
1
- {"version":3,"file":"1716475165345-CreatePresentationDefinitions.js","sourceRoot":"","sources":["../../../src/migrations/postgres/1716475165345-CreatePresentationDefinitions.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,0CAA0C;IAAvD;QACE,SAAI,GAAG,4CAA4C,CAAA;IAqBrD,CAAC;IAnBc,EAAE,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;2CAYe,CAAC,CAAA;QAC1C,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACxC,MAAM,WAAW,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;QACpE,CAAC;KAAA;CACF;AAtBD,gGAsBC"}
1
+ {"version":3,"file":"1716475165345-CreatePresentationDefinitions.js","sourceRoot":"","sources":["../../../src/migrations/postgres/1716475165345-CreatePresentationDefinitions.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,0CAA0C;IAAvD;QACE,SAAI,GAAG,4CAA4C,CAAA;IAsBrD,CAAC;IApBc,EAAE,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CAAC;;;;;;;;;;;;;2CAae,CAAC,CAAA;QAC1C,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACxC,MAAM,WAAW,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;QACpE,CAAC;KAAA;CACF;AAvBD,gGAuBC"}
@@ -1 +1 @@
1
- {"version":3,"file":"1716475165344-CreatePresentationDefinitions.d.ts","sourceRoot":"","sources":["../../../src/migrations/sqlite/1716475165344-CreatePresentationDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,0CAA2C,YAAW,kBAAkB;IACnF,IAAI,SAA+C;IAEtC,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAe3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
1
+ {"version":3,"file":"1716475165344-CreatePresentationDefinitions.d.ts","sourceRoot":"","sources":["../../../src/migrations/sqlite/1716475165344-CreatePresentationDefinitions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,qBAAa,0CAA2C,YAAW,kBAAkB;IACnF,IAAI,SAA+C;IAEtC,EAAE,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB3C,IAAI,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3D"}
@@ -24,6 +24,7 @@ class CreatePresentationDefinitions1716475165344 {
24
24
  "version" varchar NOT NULL,
25
25
  "purpose" varchar,
26
26
  "definition_payload" varchar NOT NULL,
27
+ "dcql_payload" varchar,
27
28
  "created_at" datetime NOT NULL DEFAULT (datetime('now')),
28
29
  "last_updated_at" datetime NOT NULL DEFAULT (datetime('now')))`);
29
30
  });
@@ -1 +1 @@
1
- {"version":3,"file":"1716475165344-CreatePresentationDefinitions.js","sourceRoot":"","sources":["../../../src/migrations/sqlite/1716475165344-CreatePresentationDefinitions.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,0CAA0C;IAAvD;QACE,SAAI,GAAG,4CAA4C,CAAA;IAoBrD,CAAC;IAlBc,EAAE,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CACrB;;;;;;;;;mEAS6D,CAC9D,CAAA;QACH,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACxC,MAAM,WAAW,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;QACpE,CAAC;KAAA;CACF;AArBD,gGAqBC"}
1
+ {"version":3,"file":"1716475165344-CreatePresentationDefinitions.js","sourceRoot":"","sources":["../../../src/migrations/sqlite/1716475165344-CreatePresentationDefinitions.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,MAAa,0CAA0C;IAAvD;QACE,SAAI,GAAG,4CAA4C,CAAA;IAqBrD,CAAC;IAnBc,EAAE,CAAC,WAAwB;;YACtC,MAAM,WAAW,CAAC,KAAK,CACrB;;;;;;;;;;mEAU6D,CAC9D,CAAA;QACH,CAAC;KAAA;IAEY,IAAI,CAAC,WAAwB;;YACxC,MAAM,WAAW,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;QACpE,CAAC;KAAA;CACF;AAtBD,gGAsBC"}
@@ -1,4 +1,5 @@
1
1
  import { IPresentationDefinition } from '@sphereon/pex';
2
+ import { DcqlQueryREST } from '@sphereon/ssi-types';
2
3
  export type PresentationDefinitionItem = {
3
4
  id: string;
4
5
  definitionId: string;
@@ -7,10 +8,11 @@ export type PresentationDefinitionItem = {
7
8
  name?: string;
8
9
  purpose?: string;
9
10
  definitionPayload: IPresentationDefinition;
11
+ dcqlPayload?: DcqlQueryREST;
10
12
  createdAt: Date;
11
13
  lastUpdatedAt: Date;
12
14
  };
13
15
  export type NonPersistedPresentationDefinitionItem = Omit<PresentationDefinitionItem, 'id' | 'createdAt' | 'lastUpdatedAt'>;
14
16
  export type PartialPresentationDefinitionItem = Partial<PresentationDefinitionItem>;
15
- export type PresentationDefinitionItemFilter = Partial<Omit<PresentationDefinitionItem, 'definitionPayload'>>;
17
+ export type PresentationDefinitionItemFilter = Partial<Omit<PresentationDefinitionItem, 'definitionPayload' | 'dcqlPayload'>>;
16
18
  //# sourceMappingURL=presentationDefinition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"presentationDefinition.d.ts","sourceRoot":"","sources":["../../../src/types/presentationDefinition/presentationDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AAEvD,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iBAAiB,EAAE,uBAAuB,CAAA;IAC1C,SAAS,EAAE,IAAI,CAAA;IACf,aAAa,EAAE,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,sCAAsC,GAAG,IAAI,CAAC,0BAA0B,EAAE,IAAI,GAAG,WAAW,GAAG,eAAe,CAAC,CAAA;AAC3H,MAAM,MAAM,iCAAiC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;AACnF,MAAM,MAAM,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,mBAAmB,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"presentationDefinition.d.ts","sourceRoot":"","sources":["../../../src/types/presentationDefinition/presentationDefinition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,MAAM,MAAM,0BAA0B,GAAG;IACvC,EAAE,EAAE,MAAM,CAAA;IACV,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,iBAAiB,EAAE,uBAAuB,CAAA;IAC1C,WAAW,CAAC,EAAE,aAAa,CAAA;IAC3B,SAAS,EAAE,IAAI,CAAA;IACf,aAAa,EAAE,IAAI,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,sCAAsC,GAAG,IAAI,CAAC,0BAA0B,EAAE,IAAI,GAAG,WAAW,GAAG,eAAe,CAAC,CAAA;AAC3H,MAAM,MAAM,iCAAiC,GAAG,OAAO,CAAC,0BAA0B,CAAC,CAAA;AACnF,MAAM,MAAM,gCAAgC,GAAG,OAAO,CAAC,IAAI,CAAC,0BAA0B,EAAE,mBAAmB,GAAG,aAAa,CAAC,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/presentationDefinition/MappingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,wEAAwE,CAAA;AAEzH,OAAO,EAAE,sCAAsC,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAInI,eAAO,MAAM,8BAA8B,WAAY,gCAAgC,KAAG,0BAczF,CAAA;AAED,eAAO,MAAM,oCAAoC,SAAU,sCAAsC,KAAG,gCAUnG,CAAA;AAMD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,iCAAiC,EAAE,OAAO,EAAE,iCAAiC,GAAG,OAAO,CAgB1I"}
1
+ {"version":3,"file":"MappingUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/presentationDefinition/MappingUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,wEAAwE,CAAA;AAEzH,OAAO,EAAE,sCAAsC,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAA;AAKnI,eAAO,MAAM,8BAA8B,WAAY,gCAAgC,KAAG,0BAezF,CAAA;AAED,eAAO,MAAM,oCAAoC,SAAU,sCAAsC,KAAG,gCAWnG,CAAA;AAMD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,iCAAiC,EAAE,OAAO,EAAE,iCAAiC,GAAG,OAAO,CAgB1I"}
@@ -14,6 +14,7 @@ const presentationDefinitionItemFrom = (entity) => {
14
14
  name: entity.name,
15
15
  purpose: entity.purpose,
16
16
  definitionPayload: JSON.parse(entity.definitionPayload),
17
+ dcqlPayload: JSON.parse(entity.dcqlPayload),
17
18
  createdAt: entity.createdAt,
18
19
  lastUpdatedAt: entity.lastUpdatedAt,
19
20
  };
@@ -28,6 +29,7 @@ const presentationDefinitionEntityItemFrom = (item) => {
28
29
  entity.name = item.name;
29
30
  entity.purpose = item.purpose;
30
31
  entity.definitionPayload = JSON.stringify(item.definitionPayload);
32
+ entity.dcqlPayload = JSON.stringify(item.dcqlPayload);
31
33
  return entity;
32
34
  };
33
35
  exports.presentationDefinitionEntityItemFrom = presentationDefinitionEntityItemFrom;
@@ -1 +1 @@
1
- {"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/presentationDefinition/MappingUtils.ts"],"names":[],"mappings":";;;AAsCA,sEAgBC;AAtDD,6HAAyH;AAGzH,qCAAoC;AACpC,wDAA6D;AAEtD,MAAM,8BAA8B,GAAG,CAAC,MAAwC,EAA8B,EAAE;IACrH,MAAM,MAAM,GAA+B;QACzC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAA4B;QAClF,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAA;IAED,OAAO,IAAA,0CAAwB,EAAC,MAAM,CAAC,CAAA;AACzC,CAAC,CAAA;AAdY,QAAA,8BAA8B,kCAc1C;AAEM,MAAM,oCAAoC,GAAG,CAAC,IAA4C,EAAoC,EAAE;IACrI,MAAM,MAAM,GAAG,IAAI,mEAAgC,EAAE,CAAA;IAErD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC/B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAa,CAAA;IACxC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACvB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC7B,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAkB,CAAC,CAAA;IAClE,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAVY,QAAA,oCAAoC,wCAUhD;AAED,SAAS,WAAW,CAAC,OAAgC;IACnD,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED,SAAgB,6BAA6B,CAAC,IAAuC,EAAE,OAA0C;IAC/H,IACE,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY;QAC1C,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ;QACjC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;QAChC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI;QACzB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAC/B,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACxD,OAAO,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACvF,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
1
+ {"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/presentationDefinition/MappingUtils.ts"],"names":[],"mappings":";;;AAyCA,sEAgBC;AAzDD,6HAAyH;AAGzH,qCAAoC;AACpC,wDAA6D;AAGtD,MAAM,8BAA8B,GAAG,CAAC,MAAwC,EAA8B,EAAE;IACrH,MAAM,MAAM,GAA+B;QACzC,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAA4B;QAClF,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,WAAW,CAAkB;QAC5D,SAAS,EAAE,MAAM,CAAC,SAAS;QAC3B,aAAa,EAAE,MAAM,CAAC,aAAa;KACpC,CAAA;IAED,OAAO,IAAA,0CAAwB,EAAC,MAAM,CAAC,CAAA;AACzC,CAAC,CAAA;AAfY,QAAA,8BAA8B,kCAe1C;AAEM,MAAM,oCAAoC,GAAG,CAAC,IAA4C,EAAoC,EAAE;IACrI,MAAM,MAAM,GAAG,IAAI,mEAAgC,EAAE,CAAA;IAErD,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAA;IAC/B,MAAM,CAAC,YAAY,GAAG,IAAI,CAAC,YAAa,CAAA;IACxC,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC7B,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;IACvB,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;IAC7B,MAAM,CAAC,iBAAiB,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,iBAAkB,CAAC,CAAA;IAClE,MAAM,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAY,CAAC,CAAA;IACtD,OAAO,MAAM,CAAA;AACf,CAAC,CAAA;AAXY,QAAA,oCAAoC,wCAWhD;AAED,SAAS,WAAW,CAAC,OAAgC;IACnD,OAAO,IAAA,oBAAU,EAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;AAC5C,CAAC;AAED,SAAgB,6BAA6B,CAAC,IAAuC,EAAE,OAA0C;IAC/H,IACE,IAAI,CAAC,YAAY,KAAK,OAAO,CAAC,YAAY;QAC1C,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC,QAAQ;QACjC,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO;QAChC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI;QACzB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,OAAO,EAC/B,CAAC;QACD,OAAO,KAAK,CAAA;IACd,CAAC;IAED,IAAI,IAAI,CAAC,iBAAiB,IAAI,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACxD,OAAO,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,WAAW,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAA;IACvF,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.data-store",
3
- "version": "0.32.1-fix.15+1619ae43",
3
+ "version": "0.32.1-next.113+5b666268",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -18,13 +18,14 @@
18
18
  "@sphereon/pex": "5.0.0-unstable.28",
19
19
  "@sphereon/ssi-sdk-ext.did-utils": "0.27.0",
20
20
  "@sphereon/ssi-sdk-ext.identifier-resolution": "0.27.0",
21
- "@sphereon/ssi-sdk.agent-config": "0.32.1-fix.15+1619ae43",
22
- "@sphereon/ssi-sdk.core": "0.32.1-fix.15+1619ae43",
23
- "@sphereon/ssi-types": "0.32.1-fix.15+1619ae43",
21
+ "@sphereon/ssi-sdk.agent-config": "0.32.1-next.113+5b666268",
22
+ "@sphereon/ssi-sdk.core": "0.32.1-next.113+5b666268",
23
+ "@sphereon/ssi-types": "0.32.1-next.113+5b666268",
24
24
  "@veramo/core": "4.2.0",
25
25
  "@veramo/utils": "4.2.0",
26
26
  "blakejs": "^1.2.1",
27
27
  "class-validator": "^0.14.1",
28
+ "dcql": "0.2.19",
28
29
  "debug": "^4.3.5",
29
30
  "typeorm": "^0.3.20"
30
31
  },
@@ -53,5 +54,5 @@
53
54
  "Contact Store"
54
55
  ],
55
56
  "nx": {},
56
- "gitHead": "1619ae43e4fdee49a2bf6bfb6196cce25d33e5a3"
57
+ "gitHead": "5b666268b482b6a08a6edc00b4b713faf69247e1"
57
58
  }
@@ -24,6 +24,83 @@ describe('PresentationDefinitionItemEntity tests', (): void => {
24
24
  await dbConnection.destroy()
25
25
  })
26
26
 
27
+ it('should create and retrieve PresentationDefinitionItemEntity with dcqlPayload', async (): Promise<void> => {
28
+ const repository = dbConnection.getRepository(PresentationDefinitionItemEntity)
29
+ const entity = new PresentationDefinitionItemEntity()
30
+ entity.definitionId = 'definition1'
31
+ entity.version = '1.0'
32
+ entity.definitionPayload = JSON.stringify({ id: 'definition1', input_descriptors: [] })
33
+ entity.dcqlPayload = JSON.stringify({
34
+ credentials: [
35
+ {
36
+ id: 'credential1',
37
+ format: 'jwt_vc',
38
+ claims: [
39
+ {
40
+ namespace: 'test',
41
+ claim_name: 'testClaim',
42
+ },
43
+ ],
44
+ },
45
+ ],
46
+ })
47
+
48
+ const savedEntity = await repository.save(entity)
49
+ expect(savedEntity).toBeDefined()
50
+ expect(savedEntity.id).toBeDefined()
51
+ expect(savedEntity.dcqlPayload).toBeDefined()
52
+
53
+ const retrievedEntity = await repository.findOneBy({ id: savedEntity.id })
54
+ expect(retrievedEntity).toBeDefined()
55
+ expect(retrievedEntity!.dcqlPayload).toBeDefined()
56
+ const parsedDcql = JSON.parse(retrievedEntity!.dcqlPayload)
57
+ expect(parsedDcql.credentials[0].id).toEqual('credential1')
58
+ })
59
+
60
+ it('should update PresentationDefinitionItemEntity dcqlPayload', async (): Promise<void> => {
61
+ const repository = dbConnection.getRepository(PresentationDefinitionItemEntity)
62
+ const entity = new PresentationDefinitionItemEntity()
63
+ entity.definitionId = 'definition1'
64
+ entity.version = '1.0'
65
+ entity.definitionPayload = JSON.stringify({ id: 'definition1', input_descriptors: [] })
66
+ entity.dcqlPayload = JSON.stringify({
67
+ credentials: [
68
+ {
69
+ id: 'credential1',
70
+ format: 'jwt_vc',
71
+ claims: [
72
+ {
73
+ namespace: 'test',
74
+ claim_name: 'testClaim',
75
+ },
76
+ ],
77
+ },
78
+ ],
79
+ })
80
+
81
+ const savedEntity = await repository.save(entity)
82
+ expect(savedEntity).toBeDefined()
83
+
84
+ const updatedDcql = {
85
+ credentials: [
86
+ {
87
+ id: 'credential2',
88
+ format: 'jwt_vc',
89
+ claims: [
90
+ {
91
+ namespace: 'test',
92
+ claim_name: 'updatedClaim',
93
+ },
94
+ ],
95
+ },
96
+ ],
97
+ }
98
+ savedEntity.dcqlPayload = JSON.stringify(updatedDcql)
99
+ const updatedEntity = await repository.save(savedEntity)
100
+ expect(updatedEntity).toBeDefined()
101
+ expect(JSON.parse(updatedEntity.dcqlPayload).credentials[0].id).toEqual('credential2')
102
+ })
103
+
27
104
  it('should create and retrieve PresentationDefinitionItemEntity', async (): Promise<void> => {
28
105
  const repository = dbConnection.getRepository(PresentationDefinitionItemEntity)
29
106
  const entity = new PresentationDefinitionItemEntity()
@@ -25,10 +25,14 @@ export class PresentationDefinitionItemEntity extends BaseEntity {
25
25
  @Column({ name: 'name', length: 255, type: 'varchar', nullable: true, unique: false })
26
26
  name?: string
27
27
 
28
- @Column({ name: 'definition_payload', type: 'text', nullable: false, unique: false })
29
- @IsNotEmpty({ message: 'A blank definition payload field is not allowed' })
28
+ @Column({ name: 'definition_payload', type: 'text', nullable: false, unique: false }) // TODO should this become nullable now we have dcqlPayload?
29
+ @IsNotEmpty({ message: 'A blank PD definition payload field is not allowed' })
30
30
  definitionPayload!: string
31
31
 
32
+ @Column({ name: 'dcql_payload', type: 'text', nullable: true, unique: false })
33
+ @IsNotEmpty({ message: 'A blank dcql definition payload field is not allowed' })
34
+ dcqlPayload!: string
35
+
32
36
  @CreateDateColumn({ name: 'created_at', nullable: false, type: typeOrmDateTime() })
33
37
  createdAt!: Date
34
38
 
@@ -13,6 +13,7 @@ CREATE TABLE "PresentationDefinitionItem" (
13
13
  "version" TEXT NOT NULL,
14
14
  "purpose" TEXT,
15
15
  "definition_payload" TEXT NOT NULL,
16
+ "dcql_payload" TEXT,
16
17
  "created_at" TIMESTAMP NOT NULL DEFAULT now(),
17
18
  "last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
18
19
  CONSTRAINT "PK_PresentationDefinitionItem_id" PRIMARY KEY ("id"))
@@ -13,6 +13,7 @@ export class CreatePresentationDefinitions1716475165344 implements MigrationInte
13
13
  "version" varchar NOT NULL,
14
14
  "purpose" varchar,
15
15
  "definition_payload" varchar NOT NULL,
16
+ "dcql_payload" varchar,
16
17
  "created_at" datetime NOT NULL DEFAULT (datetime('now')),
17
18
  "last_updated_at" datetime NOT NULL DEFAULT (datetime('now')))`,
18
19
  )
@@ -1,4 +1,5 @@
1
1
  import { IPresentationDefinition } from '@sphereon/pex'
2
+ import { DcqlQueryREST } from '@sphereon/ssi-types'
2
3
 
3
4
  export type PresentationDefinitionItem = {
4
5
  id: string
@@ -8,10 +9,11 @@ export type PresentationDefinitionItem = {
8
9
  name?: string
9
10
  purpose?: string
10
11
  definitionPayload: IPresentationDefinition
12
+ dcqlPayload?: DcqlQueryREST
11
13
  createdAt: Date
12
14
  lastUpdatedAt: Date
13
15
  }
14
16
 
15
17
  export type NonPersistedPresentationDefinitionItem = Omit<PresentationDefinitionItem, 'id' | 'createdAt' | 'lastUpdatedAt'>
16
18
  export type PartialPresentationDefinitionItem = Partial<PresentationDefinitionItem>
17
- export type PresentationDefinitionItemFilter = Partial<Omit<PresentationDefinitionItem, 'definitionPayload'>> // TODO add logic to linearize & hash definitionPayload into a separate column so we can filter on it?
19
+ export type PresentationDefinitionItemFilter = Partial<Omit<PresentationDefinitionItem, 'definitionPayload' | 'dcqlPayload'>>
@@ -3,6 +3,7 @@ import { IPresentationDefinition } from '@sphereon/pex'
3
3
  import { NonPersistedPresentationDefinitionItem, PartialPresentationDefinitionItem, PresentationDefinitionItem } from '../../types'
4
4
  import { blake2bHex } from 'blakejs'
5
5
  import { replaceNullWithUndefined } from '../FormattingUtils'
6
+ import { DcqlQueryREST } from '@sphereon/ssi-types'
6
7
 
7
8
  export const presentationDefinitionItemFrom = (entity: PresentationDefinitionItemEntity): PresentationDefinitionItem => {
8
9
  const result: PresentationDefinitionItem = {
@@ -13,6 +14,7 @@ export const presentationDefinitionItemFrom = (entity: PresentationDefinitionIte
13
14
  name: entity.name,
14
15
  purpose: entity.purpose,
15
16
  definitionPayload: JSON.parse(entity.definitionPayload) as IPresentationDefinition,
17
+ dcqlPayload: JSON.parse(entity.dcqlPayload) as DcqlQueryREST,
16
18
  createdAt: entity.createdAt,
17
19
  lastUpdatedAt: entity.lastUpdatedAt,
18
20
  }
@@ -29,6 +31,7 @@ export const presentationDefinitionEntityItemFrom = (item: NonPersistedPresentat
29
31
  entity.name = item.name
30
32
  entity.purpose = item.purpose
31
33
  entity.definitionPayload = JSON.stringify(item.definitionPayload!)
34
+ entity.dcqlPayload = JSON.stringify(item.dcqlPayload!)
32
35
  return entity
33
36
  }
34
37