@sphereon/ssi-sdk.data-store 0.34.1-feature.SSISDK.57.uni.client.205 → 0.34.1-feature.SSISDK.58.host.nonce.endpoint.145
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/index.cjs +174 -105
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +33 -32
- package/dist/index.d.ts +33 -32
- package/dist/index.js +174 -105
- package/dist/index.js.map +1 -1
- package/package.json +7 -7
- package/src/__tests__/pd-manager.entities.test.ts +69 -21
- package/src/__tests__/pd-manager.store.test.ts +194 -111
- package/src/entities/presentationDefinition/{DcqlQueryItemEntity.ts → PresentationDefinitionItemEntity.ts} +12 -8
- package/src/index.ts +3 -3
- package/src/migrations/generic/{13-CreateDcqlQueryItem.ts → 13-UpdatePresentationDefinitionItemNullable.ts} +8 -8
- package/src/migrations/generic/index.ts +5 -2
- package/src/migrations/postgres/1716475165345-CreatePresentationDefinitions.ts +1 -1
- package/src/migrations/postgres/1756975509000-UpdatePresentationDefinitionItemNullable.ts +15 -0
- package/src/migrations/sqlite/1716475165344-CreatePresentationDefinitions.ts +1 -1
- package/src/migrations/sqlite/1756975340000-UpdatePresentationDefinitionItemNullable.ts +77 -0
- package/src/presentationDefinition/AbstractPDStore.ts +5 -5
- package/src/presentationDefinition/PDStore.ts +45 -40
- package/src/types/presentationDefinition/IAbstractPDStore.ts +5 -5
- package/src/types/presentationDefinition/presentationDefinition.ts +9 -8
- package/src/utils/presentationDefinition/MappingUtils.ts +41 -21
- package/src/migrations/postgres/1726588800000-CreateDcqlQueryItem.ts +0 -25
- package/src/migrations/sqlite/1726617600000-CreateDcqlQueryItem.ts +0 -24
package/dist/index.cjs
CHANGED
|
@@ -72,7 +72,6 @@ __export(index_exports, {
|
|
|
72
72
|
DataStorePresentationDefinitionMigrations: () => DataStorePresentationDefinitionMigrations,
|
|
73
73
|
DataStoreStatusListEntities: () => DataStoreStatusListEntities,
|
|
74
74
|
DataStoreStatusListMigrations: () => DataStoreStatusListMigrations,
|
|
75
|
-
DcqlQueryItemEntity: () => DcqlQueryItemEntity,
|
|
76
75
|
DidAuthConfigEntity: () => DidAuthConfigEntity,
|
|
77
76
|
DigitalCredentialEntity: () => DigitalCredentialEntity,
|
|
78
77
|
DigitalCredentialStore: () => DigitalCredentialStore,
|
|
@@ -98,6 +97,7 @@ __export(index_exports, {
|
|
|
98
97
|
PartyOrigin: () => PartyOrigin,
|
|
99
98
|
PartyTypeType: () => PartyTypeType,
|
|
100
99
|
PhysicalAddressEntity: () => PhysicalAddressEntity,
|
|
100
|
+
PresentationDefinitionItemEntity: () => PresentationDefinitionItemEntity,
|
|
101
101
|
RegulationType: () => RegulationType,
|
|
102
102
|
StatusList2021Entity: () => StatusList2021Entity,
|
|
103
103
|
StatusListEntity: () => StatusListEntity,
|
|
@@ -121,8 +121,6 @@ __export(index_exports, {
|
|
|
121
121
|
credentialBrandingFrom: () => credentialBrandingFrom,
|
|
122
122
|
credentialClaimsEntityFrom: () => credentialClaimsEntityFrom,
|
|
123
123
|
credentialLocaleBrandingEntityFrom: () => credentialLocaleBrandingEntityFrom,
|
|
124
|
-
dcqlQueryEntityItemFrom: () => dcqlQueryEntityItemFrom,
|
|
125
|
-
dcqlQueryItemFrom: () => dcqlQueryItemFrom,
|
|
126
124
|
didAuthConfigEntityFrom: () => didAuthConfigEntityFrom,
|
|
127
125
|
didAuthConfigFrom: () => didAuthConfigFrom,
|
|
128
126
|
digitalCredentialFrom: () => digitalCredentialFrom,
|
|
@@ -162,6 +160,8 @@ __export(index_exports, {
|
|
|
162
160
|
partyTypeFrom: () => partyTypeFrom,
|
|
163
161
|
physicalAddressEntityFrom: () => physicalAddressEntityFrom,
|
|
164
162
|
physicalAddressFrom: () => physicalAddressFrom,
|
|
163
|
+
presentationDefinitionEntityItemFrom: () => presentationDefinitionEntityItemFrom,
|
|
164
|
+
presentationDefinitionItemFrom: () => presentationDefinitionItemFrom,
|
|
165
165
|
textAttributesEntityFrom: () => textAttributesEntityFrom
|
|
166
166
|
});
|
|
167
167
|
module.exports = __toCommonJS(index_exports);
|
|
@@ -4187,7 +4187,7 @@ DigitalCredentialEntity = _ts_decorate33([
|
|
|
4187
4187
|
(0, import_typeorm32.Entity)("DigitalCredential")
|
|
4188
4188
|
], DigitalCredentialEntity);
|
|
4189
4189
|
|
|
4190
|
-
// src/entities/presentationDefinition/
|
|
4190
|
+
// src/entities/presentationDefinition/PresentationDefinitionItemEntity.ts
|
|
4191
4191
|
var import_typeorm33 = require("typeorm");
|
|
4192
4192
|
var import_class_validator21 = require("class-validator");
|
|
4193
4193
|
var import_ssi_sdk18 = require("@sphereon/ssi-sdk.agent-config");
|
|
@@ -4202,17 +4202,18 @@ function _ts_metadata33(k, v) {
|
|
|
4202
4202
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
4203
4203
|
}
|
|
4204
4204
|
__name(_ts_metadata33, "_ts_metadata");
|
|
4205
|
-
var
|
|
4205
|
+
var PresentationDefinitionItemEntity = class extends import_typeorm33.BaseEntity {
|
|
4206
4206
|
static {
|
|
4207
|
-
__name(this, "
|
|
4207
|
+
__name(this, "PresentationDefinitionItemEntity");
|
|
4208
4208
|
}
|
|
4209
4209
|
id;
|
|
4210
|
-
|
|
4210
|
+
definitionId;
|
|
4211
4211
|
version;
|
|
4212
4212
|
tenantId;
|
|
4213
4213
|
purpose;
|
|
4214
4214
|
name;
|
|
4215
|
-
|
|
4215
|
+
definitionPayload;
|
|
4216
|
+
dcqlPayload;
|
|
4216
4217
|
createdAt;
|
|
4217
4218
|
lastUpdatedAt;
|
|
4218
4219
|
// By default, @UpdateDateColumn in TypeORM updates the timestamp only when the entity's top-level properties change.
|
|
@@ -4223,20 +4224,20 @@ var DcqlQueryItemEntity = class extends import_typeorm33.BaseEntity {
|
|
|
4223
4224
|
_ts_decorate34([
|
|
4224
4225
|
(0, import_typeorm33.PrimaryGeneratedColumn)("uuid"),
|
|
4225
4226
|
_ts_metadata33("design:type", String)
|
|
4226
|
-
],
|
|
4227
|
+
], PresentationDefinitionItemEntity.prototype, "id", void 0);
|
|
4227
4228
|
_ts_decorate34([
|
|
4228
4229
|
(0, import_typeorm33.Column)({
|
|
4229
|
-
name: "
|
|
4230
|
+
name: "definition_id",
|
|
4230
4231
|
length: 255,
|
|
4231
4232
|
type: "varchar",
|
|
4232
4233
|
nullable: false,
|
|
4233
4234
|
unique: false
|
|
4234
4235
|
}),
|
|
4235
4236
|
(0, import_class_validator21.IsNotEmpty)({
|
|
4236
|
-
message: "A blank
|
|
4237
|
+
message: "A blank definition id field is not allowed"
|
|
4237
4238
|
}),
|
|
4238
4239
|
_ts_metadata33("design:type", String)
|
|
4239
|
-
],
|
|
4240
|
+
], PresentationDefinitionItemEntity.prototype, "definitionId", void 0);
|
|
4240
4241
|
_ts_decorate34([
|
|
4241
4242
|
(0, import_typeorm33.Column)({
|
|
4242
4243
|
name: "version",
|
|
@@ -4249,7 +4250,7 @@ _ts_decorate34([
|
|
|
4249
4250
|
message: "A blank version field is not allowed"
|
|
4250
4251
|
}),
|
|
4251
4252
|
_ts_metadata33("design:type", String)
|
|
4252
|
-
],
|
|
4253
|
+
], PresentationDefinitionItemEntity.prototype, "version", void 0);
|
|
4253
4254
|
_ts_decorate34([
|
|
4254
4255
|
(0, import_typeorm33.Column)({
|
|
4255
4256
|
name: "tenant_id",
|
|
@@ -4259,7 +4260,7 @@ _ts_decorate34([
|
|
|
4259
4260
|
unique: false
|
|
4260
4261
|
}),
|
|
4261
4262
|
_ts_metadata33("design:type", String)
|
|
4262
|
-
],
|
|
4263
|
+
], PresentationDefinitionItemEntity.prototype, "tenantId", void 0);
|
|
4263
4264
|
_ts_decorate34([
|
|
4264
4265
|
(0, import_typeorm33.Column)({
|
|
4265
4266
|
name: "purpose",
|
|
@@ -4269,7 +4270,7 @@ _ts_decorate34([
|
|
|
4269
4270
|
unique: false
|
|
4270
4271
|
}),
|
|
4271
4272
|
_ts_metadata33("design:type", String)
|
|
4272
|
-
],
|
|
4273
|
+
], PresentationDefinitionItemEntity.prototype, "purpose", void 0);
|
|
4273
4274
|
_ts_decorate34([
|
|
4274
4275
|
(0, import_typeorm33.Column)({
|
|
4275
4276
|
name: "name",
|
|
@@ -4279,19 +4280,31 @@ _ts_decorate34([
|
|
|
4279
4280
|
unique: false
|
|
4280
4281
|
}),
|
|
4281
4282
|
_ts_metadata33("design:type", String)
|
|
4282
|
-
],
|
|
4283
|
+
], PresentationDefinitionItemEntity.prototype, "name", void 0);
|
|
4283
4284
|
_ts_decorate34([
|
|
4284
4285
|
(0, import_typeorm33.Column)({
|
|
4285
|
-
name: "
|
|
4286
|
+
name: "definition_payload",
|
|
4286
4287
|
type: "text",
|
|
4287
|
-
nullable:
|
|
4288
|
+
nullable: true,
|
|
4288
4289
|
unique: false
|
|
4289
4290
|
}),
|
|
4290
4291
|
(0, import_class_validator21.IsNotEmpty)({
|
|
4291
|
-
message: "A blank
|
|
4292
|
+
message: "A blank PD definition payload field is not allowed"
|
|
4292
4293
|
}),
|
|
4293
4294
|
_ts_metadata33("design:type", String)
|
|
4294
|
-
],
|
|
4295
|
+
], PresentationDefinitionItemEntity.prototype, "definitionPayload", void 0);
|
|
4296
|
+
_ts_decorate34([
|
|
4297
|
+
(0, import_typeorm33.Column)({
|
|
4298
|
+
name: "dcql_payload",
|
|
4299
|
+
type: "text",
|
|
4300
|
+
nullable: true,
|
|
4301
|
+
unique: false
|
|
4302
|
+
}),
|
|
4303
|
+
(0, import_class_validator21.IsNotEmpty)({
|
|
4304
|
+
message: "A blank dcql definition payload field is not allowed"
|
|
4305
|
+
}),
|
|
4306
|
+
_ts_metadata33("design:type", String)
|
|
4307
|
+
], PresentationDefinitionItemEntity.prototype, "dcqlPayload", void 0);
|
|
4295
4308
|
_ts_decorate34([
|
|
4296
4309
|
(0, import_typeorm33.CreateDateColumn)({
|
|
4297
4310
|
name: "created_at",
|
|
@@ -4299,7 +4312,7 @@ _ts_decorate34([
|
|
|
4299
4312
|
type: (0, import_ssi_sdk18.typeOrmDateTime)()
|
|
4300
4313
|
}),
|
|
4301
4314
|
_ts_metadata33("design:type", typeof Date === "undefined" ? Object : Date)
|
|
4302
|
-
],
|
|
4315
|
+
], PresentationDefinitionItemEntity.prototype, "createdAt", void 0);
|
|
4303
4316
|
_ts_decorate34([
|
|
4304
4317
|
(0, import_typeorm33.UpdateDateColumn)({
|
|
4305
4318
|
name: "last_updated_at",
|
|
@@ -4307,22 +4320,22 @@ _ts_decorate34([
|
|
|
4307
4320
|
type: (0, import_ssi_sdk18.typeOrmDateTime)()
|
|
4308
4321
|
}),
|
|
4309
4322
|
_ts_metadata33("design:type", typeof Date === "undefined" ? Object : Date)
|
|
4310
|
-
],
|
|
4323
|
+
], PresentationDefinitionItemEntity.prototype, "lastUpdatedAt", void 0);
|
|
4311
4324
|
_ts_decorate34([
|
|
4312
4325
|
(0, import_typeorm33.BeforeInsert)(),
|
|
4313
4326
|
(0, import_typeorm33.BeforeUpdate)(),
|
|
4314
4327
|
_ts_metadata33("design:type", Function),
|
|
4315
4328
|
_ts_metadata33("design:paramtypes", []),
|
|
4316
4329
|
_ts_metadata33("design:returntype", void 0)
|
|
4317
|
-
],
|
|
4318
|
-
|
|
4319
|
-
(0, import_typeorm33.Entity)("
|
|
4330
|
+
], PresentationDefinitionItemEntity.prototype, "updateUpdatedDate", null);
|
|
4331
|
+
PresentationDefinitionItemEntity = _ts_decorate34([
|
|
4332
|
+
(0, import_typeorm33.Entity)("PresentationDefinitionItem"),
|
|
4320
4333
|
(0, import_typeorm33.Index)([
|
|
4321
4334
|
"version"
|
|
4322
4335
|
], {
|
|
4323
4336
|
unique: false
|
|
4324
4337
|
})
|
|
4325
|
-
],
|
|
4338
|
+
], PresentationDefinitionItemEntity);
|
|
4326
4339
|
|
|
4327
4340
|
// src/entities/oid4vcState/Oid4vcStateEntity.ts
|
|
4328
4341
|
var import_ssi_sdk19 = require("@sphereon/ssi-sdk.agent-config");
|
|
@@ -6924,52 +6937,70 @@ var import_typeorm39 = require("typeorm");
|
|
|
6924
6937
|
var import_debug7 = __toESM(require("debug"), 1);
|
|
6925
6938
|
|
|
6926
6939
|
// src/utils/presentationDefinition/MappingUtils.ts
|
|
6927
|
-
var blakepkg = __toESM(require("blakejs"), 1);
|
|
6928
6940
|
var import_dcql = require("dcql");
|
|
6929
|
-
var
|
|
6941
|
+
var blakepkg = __toESM(require("blakejs"), 1);
|
|
6942
|
+
var presentationDefinitionItemFrom = /* @__PURE__ */ __name((entity) => {
|
|
6930
6943
|
const result = {
|
|
6931
6944
|
id: entity.id,
|
|
6932
6945
|
tenantId: entity.tenantId,
|
|
6933
|
-
|
|
6946
|
+
definitionId: entity.definitionId,
|
|
6934
6947
|
version: entity.version,
|
|
6935
6948
|
name: entity.name,
|
|
6936
6949
|
purpose: entity.purpose,
|
|
6937
|
-
|
|
6950
|
+
definitionPayload: JSON.parse(entity.definitionPayload),
|
|
6951
|
+
...entity.dcqlPayload && {
|
|
6952
|
+
dcqlPayload: {
|
|
6953
|
+
queryId: entity.definitionId,
|
|
6954
|
+
name: entity.name,
|
|
6955
|
+
defaultPurpose: entity.purpose,
|
|
6956
|
+
dcqlQuery: import_dcql.DcqlQuery.parse(JSON.parse(entity.dcqlPayload))
|
|
6957
|
+
}
|
|
6958
|
+
},
|
|
6938
6959
|
createdAt: entity.createdAt,
|
|
6939
6960
|
lastUpdatedAt: entity.lastUpdatedAt
|
|
6940
6961
|
};
|
|
6941
|
-
if (result.
|
|
6942
|
-
import_dcql.DcqlQuery.validate(result.
|
|
6962
|
+
if (result.dcqlPayload?.dcqlQuery) {
|
|
6963
|
+
import_dcql.DcqlQuery.validate(result.dcqlPayload?.dcqlQuery);
|
|
6943
6964
|
}
|
|
6944
6965
|
return replaceNullWithUndefined(result);
|
|
6945
|
-
}, "
|
|
6946
|
-
var
|
|
6947
|
-
const entity = new
|
|
6966
|
+
}, "presentationDefinitionItemFrom");
|
|
6967
|
+
var presentationDefinitionEntityItemFrom = /* @__PURE__ */ __name((item) => {
|
|
6968
|
+
const entity = new PresentationDefinitionItemEntity();
|
|
6948
6969
|
entity.tenantId = item.tenantId;
|
|
6949
|
-
entity.
|
|
6970
|
+
entity.definitionId = item.definitionId;
|
|
6950
6971
|
entity.version = item.version;
|
|
6951
6972
|
entity.name = item.name;
|
|
6952
6973
|
entity.purpose = item.purpose;
|
|
6953
|
-
if (item.
|
|
6954
|
-
|
|
6974
|
+
if (item.definitionPayload) {
|
|
6975
|
+
entity.definitionPayload = JSON.stringify(item.definitionPayload);
|
|
6976
|
+
}
|
|
6977
|
+
if (item.dcqlPayload) {
|
|
6978
|
+
const dcqlQuery = import_dcql.DcqlQuery.parse(item.dcqlPayload.dcqlQuery);
|
|
6955
6979
|
import_dcql.DcqlQuery.validate(dcqlQuery);
|
|
6956
|
-
entity.
|
|
6980
|
+
entity.dcqlPayload = JSON.stringify(item.dcqlPayload.dcqlQuery);
|
|
6957
6981
|
}
|
|
6958
6982
|
return entity;
|
|
6959
|
-
}, "
|
|
6983
|
+
}, "presentationDefinitionEntityItemFrom");
|
|
6960
6984
|
function hashPayload(payload) {
|
|
6961
6985
|
return blakepkg.blake2bHex(JSON.stringify(payload));
|
|
6962
6986
|
}
|
|
6963
6987
|
__name(hashPayload, "hashPayload");
|
|
6964
6988
|
function isPresentationDefinitionEqual(base, compare) {
|
|
6965
|
-
if (base.
|
|
6989
|
+
if (base.definitionId !== compare.definitionId || base.tenantId !== compare.tenantId || base.version !== compare.version || base.name !== compare.name || base.purpose !== compare.purpose) {
|
|
6990
|
+
return false;
|
|
6991
|
+
}
|
|
6992
|
+
if (base.dcqlPayload && compare.dcqlPayload) {
|
|
6993
|
+
if (hashPayload(base.dcqlPayload) !== hashPayload(compare.dcqlPayload)) {
|
|
6994
|
+
return false;
|
|
6995
|
+
}
|
|
6996
|
+
} else if (base.dcqlPayload || compare.dcqlPayload) {
|
|
6966
6997
|
return false;
|
|
6967
6998
|
}
|
|
6968
|
-
if (base.
|
|
6969
|
-
if (hashPayload(base.
|
|
6999
|
+
if (base.definitionPayload && compare.definitionPayload) {
|
|
7000
|
+
if (hashPayload(base.definitionPayload) !== hashPayload(compare.definitionPayload)) {
|
|
6970
7001
|
return false;
|
|
6971
7002
|
}
|
|
6972
|
-
} else if (base.
|
|
7003
|
+
} else if (base.definitionPayload || compare.definitionPayload) {
|
|
6973
7004
|
return false;
|
|
6974
7005
|
}
|
|
6975
7006
|
return true;
|
|
@@ -6989,7 +7020,7 @@ var PDStore = class extends AbstractPDStore {
|
|
|
6989
7020
|
}
|
|
6990
7021
|
getDefinition = /* @__PURE__ */ __name(async (args) => {
|
|
6991
7022
|
const { itemId } = args ?? {};
|
|
6992
|
-
const pdRepository = (await this.dbConnection).getRepository(
|
|
7023
|
+
const pdRepository = (await this.dbConnection).getRepository(PresentationDefinitionItemEntity);
|
|
6993
7024
|
const result = await pdRepository.findOne({
|
|
6994
7025
|
where: {
|
|
6995
7026
|
id: itemId
|
|
@@ -6998,11 +7029,11 @@ var PDStore = class extends AbstractPDStore {
|
|
|
6998
7029
|
if (!result) {
|
|
6999
7030
|
return Promise.reject(Error(`No presentation definition item found for id: ${itemId}`));
|
|
7000
7031
|
}
|
|
7001
|
-
return
|
|
7032
|
+
return presentationDefinitionItemFrom(result);
|
|
7002
7033
|
}, "getDefinition");
|
|
7003
7034
|
hasDefinition = /* @__PURE__ */ __name(async (args) => {
|
|
7004
7035
|
const { itemId } = args ?? {};
|
|
7005
|
-
const pdRepository = (await this.dbConnection).getRepository(
|
|
7036
|
+
const pdRepository = (await this.dbConnection).getRepository(PresentationDefinitionItemEntity);
|
|
7006
7037
|
const resultCount = await pdRepository.count({
|
|
7007
7038
|
where: {
|
|
7008
7039
|
id: itemId
|
|
@@ -7012,7 +7043,7 @@ var PDStore = class extends AbstractPDStore {
|
|
|
7012
7043
|
}, "hasDefinition");
|
|
7013
7044
|
hasDefinitions = /* @__PURE__ */ __name(async (args) => {
|
|
7014
7045
|
const { filter } = args;
|
|
7015
|
-
const pdRepository = (await this.dbConnection).getRepository(
|
|
7046
|
+
const pdRepository = (await this.dbConnection).getRepository(PresentationDefinitionItemEntity);
|
|
7016
7047
|
const resultCount = await pdRepository.count({
|
|
7017
7048
|
...filter && {
|
|
7018
7049
|
where: cleanFilter(filter)
|
|
@@ -7022,7 +7053,7 @@ var PDStore = class extends AbstractPDStore {
|
|
|
7022
7053
|
}, "hasDefinitions");
|
|
7023
7054
|
getDefinitions = /* @__PURE__ */ __name(async (args) => {
|
|
7024
7055
|
const { filter } = args;
|
|
7025
|
-
const pdRepository = (await this.dbConnection).getRepository(
|
|
7056
|
+
const pdRepository = (await this.dbConnection).getRepository(PresentationDefinitionItemEntity);
|
|
7026
7057
|
const initialResult = await this.findIds(pdRepository, filter);
|
|
7027
7058
|
const result = await pdRepository.find({
|
|
7028
7059
|
where: {
|
|
@@ -7032,19 +7063,19 @@ var PDStore = class extends AbstractPDStore {
|
|
|
7032
7063
|
version: "DESC"
|
|
7033
7064
|
}
|
|
7034
7065
|
});
|
|
7035
|
-
return result.map((entity) =>
|
|
7066
|
+
return result.map((entity) => presentationDefinitionItemFrom(entity));
|
|
7036
7067
|
}, "getDefinitions");
|
|
7037
7068
|
addDefinition = /* @__PURE__ */ __name(async (item) => {
|
|
7038
|
-
const pdRepository = (await this.dbConnection).getRepository(
|
|
7039
|
-
const entity =
|
|
7069
|
+
const pdRepository = (await this.dbConnection).getRepository(PresentationDefinitionItemEntity);
|
|
7070
|
+
const entity = presentationDefinitionEntityItemFrom(item);
|
|
7040
7071
|
debug7("Adding presentation definition entity", item);
|
|
7041
7072
|
const result = await pdRepository.save(entity, {
|
|
7042
7073
|
transaction: true
|
|
7043
7074
|
});
|
|
7044
|
-
return
|
|
7075
|
+
return presentationDefinitionItemFrom(result);
|
|
7045
7076
|
}, "addDefinition");
|
|
7046
7077
|
updateDefinition = /* @__PURE__ */ __name(async (item) => {
|
|
7047
|
-
const pdRepository = (await this.dbConnection).getRepository(
|
|
7078
|
+
const pdRepository = (await this.dbConnection).getRepository(PresentationDefinitionItemEntity);
|
|
7048
7079
|
const result = await pdRepository.findOne({
|
|
7049
7080
|
where: {
|
|
7050
7081
|
id: item.id
|
|
@@ -7057,20 +7088,25 @@ var PDStore = class extends AbstractPDStore {
|
|
|
7057
7088
|
...result
|
|
7058
7089
|
};
|
|
7059
7090
|
updatedEntity.tenantId = item.tenantId;
|
|
7060
|
-
updatedEntity.
|
|
7091
|
+
updatedEntity.definitionId = item.definitionId;
|
|
7061
7092
|
updatedEntity.version = item.version;
|
|
7062
7093
|
updatedEntity.name = item.name;
|
|
7063
7094
|
updatedEntity.purpose = item.purpose;
|
|
7064
|
-
|
|
7095
|
+
if (item.definitionPayload) {
|
|
7096
|
+
updatedEntity.definitionPayload = JSON.stringify(item.definitionPayload);
|
|
7097
|
+
}
|
|
7098
|
+
if (item.dcqlPayload) {
|
|
7099
|
+
updatedEntity.dcqlPayload = JSON.stringify(item.dcqlPayload.dcqlQuery);
|
|
7100
|
+
}
|
|
7065
7101
|
debug7("Updating presentation definition entity", updatedEntity);
|
|
7066
7102
|
const updateResult = await pdRepository.save(updatedEntity, {
|
|
7067
7103
|
transaction: true
|
|
7068
7104
|
});
|
|
7069
|
-
return
|
|
7105
|
+
return presentationDefinitionItemFrom(updateResult);
|
|
7070
7106
|
}, "updateDefinition");
|
|
7071
7107
|
deleteDefinition = /* @__PURE__ */ __name(async (args) => {
|
|
7072
7108
|
const { itemId } = args;
|
|
7073
|
-
const pdRepository = (await this.dbConnection).getRepository(
|
|
7109
|
+
const pdRepository = (await this.dbConnection).getRepository(PresentationDefinitionItemEntity);
|
|
7074
7110
|
const entity = await pdRepository.findOne({
|
|
7075
7111
|
where: {
|
|
7076
7112
|
id: itemId
|
|
@@ -7084,7 +7120,7 @@ var PDStore = class extends AbstractPDStore {
|
|
|
7084
7120
|
}, "deleteDefinition");
|
|
7085
7121
|
deleteDefinitions = /* @__PURE__ */ __name(async (args) => {
|
|
7086
7122
|
const { filter } = args;
|
|
7087
|
-
const pdRepository = (await this.dbConnection).getRepository(
|
|
7123
|
+
const pdRepository = (await this.dbConnection).getRepository(PresentationDefinitionItemEntity);
|
|
7088
7124
|
const initialResult = await this.findIds(pdRepository, filter);
|
|
7089
7125
|
const result = await pdRepository.find({
|
|
7090
7126
|
where: {
|
|
@@ -7316,7 +7352,7 @@ CREATE TABLE "PresentationDefinitionItem" (
|
|
|
7316
7352
|
"version" TEXT NOT NULL,
|
|
7317
7353
|
"purpose" TEXT,
|
|
7318
7354
|
"definition_payload" TEXT NOT NULL,
|
|
7319
|
-
"
|
|
7355
|
+
"dcql_payload" TEXT,
|
|
7320
7356
|
"created_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
7321
7357
|
"last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
7322
7358
|
CONSTRAINT "PK_PresentationDefinitionItem_id" PRIMARY KEY ("id"))
|
|
@@ -7342,7 +7378,7 @@ var CreatePresentationDefinitions1716475165344 = class {
|
|
|
7342
7378
|
"version" varchar NOT NULL,
|
|
7343
7379
|
"purpose" varchar,
|
|
7344
7380
|
"definition_payload" varchar NOT NULL,
|
|
7345
|
-
"
|
|
7381
|
+
"dcql_payload" varchar,
|
|
7346
7382
|
"created_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
7347
7383
|
"last_updated_at" datetime NOT NULL DEFAULT (datetime('now')))`);
|
|
7348
7384
|
}
|
|
@@ -7937,72 +7973,105 @@ var CreateBitstringStatusList1741895823000 = class {
|
|
|
7937
7973
|
}
|
|
7938
7974
|
};
|
|
7939
7975
|
|
|
7940
|
-
// src/migrations/generic/13-
|
|
7976
|
+
// src/migrations/generic/13-UpdatePresentationDefinitionItemNullable.ts
|
|
7941
7977
|
var import_debug12 = __toESM(require("debug"), 1);
|
|
7942
7978
|
|
|
7943
|
-
// src/migrations/postgres/
|
|
7944
|
-
var
|
|
7979
|
+
// src/migrations/postgres/1756975509000-UpdatePresentationDefinitionItemNullable.ts
|
|
7980
|
+
var UpdatePresentationDefinitionItemNullablePG1741895824000 = class {
|
|
7945
7981
|
static {
|
|
7946
|
-
__name(this, "
|
|
7982
|
+
__name(this, "UpdatePresentationDefinitionItemNullablePG1741895824000");
|
|
7947
7983
|
}
|
|
7948
|
-
name = "
|
|
7984
|
+
name = "UpdatePresentationDefinitionItemNullable1741895824000";
|
|
7949
7985
|
async up(queryRunner) {
|
|
7950
|
-
await queryRunner.query(`
|
|
7951
|
-
CREATE TABLE "DcqlQueryItem" (
|
|
7952
|
-
"id" uuid NOT NULL DEFAULT uuid_generate_v4(),
|
|
7953
|
-
"tenant_id" TEXT,
|
|
7954
|
-
"query_id" TEXT NOT NULL,
|
|
7955
|
-
"name" TEXT,
|
|
7956
|
-
"version" TEXT NOT NULL,
|
|
7957
|
-
"purpose" TEXT,
|
|
7958
|
-
"query" TEXT NOT NULL,
|
|
7959
|
-
"created_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
7960
|
-
"last_updated_at" TIMESTAMP NOT NULL DEFAULT now(),
|
|
7961
|
-
CONSTRAINT "PK_DcqlQueryItem_id" PRIMARY KEY ("id"))
|
|
7962
|
-
`);
|
|
7986
|
+
await queryRunner.query(`ALTER TABLE "PresentationDefinitionItem" ALTER COLUMN "definition_payload" DROP NOT NULL`);
|
|
7963
7987
|
}
|
|
7964
7988
|
async down(queryRunner) {
|
|
7965
|
-
await queryRunner.query(`
|
|
7989
|
+
await queryRunner.query(`ALTER TABLE "PresentationDefinitionItem" ALTER COLUMN "definition_payload" SET NOT NULL`);
|
|
7966
7990
|
}
|
|
7967
7991
|
};
|
|
7968
7992
|
|
|
7969
|
-
// src/migrations/sqlite/
|
|
7970
|
-
var
|
|
7993
|
+
// src/migrations/sqlite/1756975340000-UpdatePresentationDefinitionItemNullable.ts
|
|
7994
|
+
var UpdatePresentationDefinitionItemNullableSqlite1756975340000 = class {
|
|
7971
7995
|
static {
|
|
7972
|
-
__name(this, "
|
|
7996
|
+
__name(this, "UpdatePresentationDefinitionItemNullableSqlite1756975340000");
|
|
7973
7997
|
}
|
|
7974
|
-
name = "
|
|
7998
|
+
name = "UpdatePresentationDefinitionItemNullable1756975340000";
|
|
7975
7999
|
async up(queryRunner) {
|
|
7976
|
-
await queryRunner.query(`
|
|
7977
|
-
|
|
7978
|
-
|
|
7979
|
-
|
|
7980
|
-
|
|
7981
|
-
|
|
7982
|
-
|
|
7983
|
-
|
|
7984
|
-
|
|
7985
|
-
|
|
8000
|
+
await queryRunner.query(`
|
|
8001
|
+
CREATE TABLE "temporary_PresentationDefinitionItem" (
|
|
8002
|
+
"id" varchar PRIMARY KEY NOT NULL,
|
|
8003
|
+
"definition_id" varchar(255) NOT NULL,
|
|
8004
|
+
"version" varchar(255) NOT NULL,
|
|
8005
|
+
"tenant_id" varchar(255),
|
|
8006
|
+
"purpose" varchar(255),
|
|
8007
|
+
"name" varchar(255),
|
|
8008
|
+
"definition_payload" text,
|
|
8009
|
+
"dcql_payload" text,
|
|
8010
|
+
"created_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
8011
|
+
"last_updated_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
8012
|
+
CONSTRAINT "UQ_PresentationDefinitionItem_definition_id_version" UNIQUE ("definition_id", "version")
|
|
8013
|
+
)
|
|
8014
|
+
`);
|
|
8015
|
+
await queryRunner.query(`
|
|
8016
|
+
INSERT INTO "temporary_PresentationDefinitionItem"(
|
|
8017
|
+
"id", "definition_id", "version", "tenant_id", "purpose", "name",
|
|
8018
|
+
"definition_payload", "dcql_payload", "created_at", "last_updated_at"
|
|
8019
|
+
)
|
|
8020
|
+
SELECT
|
|
8021
|
+
"id", "definition_id", "version", "tenant_id", "purpose", "name",
|
|
8022
|
+
"definition_payload", "dcql_payload", "created_at", "last_updated_at"
|
|
8023
|
+
FROM "PresentationDefinitionItem"
|
|
8024
|
+
`);
|
|
8025
|
+
await queryRunner.query(`DROP TABLE "PresentationDefinitionItem"`);
|
|
8026
|
+
await queryRunner.query(`ALTER TABLE "temporary_PresentationDefinitionItem" RENAME TO "PresentationDefinitionItem"`);
|
|
8027
|
+
await queryRunner.query(`CREATE INDEX "IDX_PresentationDefinitionItem_version" ON "PresentationDefinitionItem" ("version")`);
|
|
7986
8028
|
}
|
|
7987
8029
|
async down(queryRunner) {
|
|
7988
|
-
await queryRunner.query(`
|
|
8030
|
+
await queryRunner.query(`
|
|
8031
|
+
CREATE TABLE "temporary_PresentationDefinitionItem" (
|
|
8032
|
+
"id" varchar PRIMARY KEY NOT NULL,
|
|
8033
|
+
"definition_id" varchar(255) NOT NULL,
|
|
8034
|
+
"version" varchar(255) NOT NULL,
|
|
8035
|
+
"tenant_id" varchar(255),
|
|
8036
|
+
"purpose" varchar(255),
|
|
8037
|
+
"name" varchar(255),
|
|
8038
|
+
"definition_payload" text NOT NULL,
|
|
8039
|
+
"dcql_payload" text,
|
|
8040
|
+
"created_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
8041
|
+
"last_updated_at" datetime NOT NULL DEFAULT (datetime('now')),
|
|
8042
|
+
CONSTRAINT "UQ_PresentationDefinitionItem_definition_id_version" UNIQUE ("definition_id", "version")
|
|
8043
|
+
)
|
|
8044
|
+
`);
|
|
8045
|
+
await queryRunner.query(`
|
|
8046
|
+
INSERT INTO "temporary_PresentationDefinitionItem"(
|
|
8047
|
+
"id", "definition_id", "version", "tenant_id", "purpose", "name",
|
|
8048
|
+
"definition_payload", "dcql_payload", "created_at", "last_updated_at"
|
|
8049
|
+
)
|
|
8050
|
+
SELECT
|
|
8051
|
+
"id", "definition_id", "version", "tenant_id", "purpose", "name",
|
|
8052
|
+
"definition_payload", "dcql_payload", "created_at", "last_updated_at"
|
|
8053
|
+
FROM "PresentationDefinitionItem"
|
|
8054
|
+
`);
|
|
8055
|
+
await queryRunner.query(`DROP TABLE "PresentationDefinitionItem"`);
|
|
8056
|
+
await queryRunner.query(`ALTER TABLE "temporary_PresentationDefinitionItem" RENAME TO "PresentationDefinitionItem"`);
|
|
8057
|
+
await queryRunner.query(`CREATE INDEX "IDX_PresentationDefinitionItem_version" ON "PresentationDefinitionItem" ("version")`);
|
|
7989
8058
|
}
|
|
7990
8059
|
};
|
|
7991
8060
|
|
|
7992
|
-
// src/migrations/generic/13-
|
|
8061
|
+
// src/migrations/generic/13-UpdatePresentationDefinitionItemNullable.ts
|
|
7993
8062
|
var debug12 = (0, import_debug12.default)("sphereon:ssi-sdk:migrations");
|
|
7994
|
-
var
|
|
8063
|
+
var UpdatePresentationDefinitionItemNullable1741895824000 = class {
|
|
7995
8064
|
static {
|
|
7996
|
-
__name(this, "
|
|
8065
|
+
__name(this, "UpdatePresentationDefinitionItemNullable1741895824000");
|
|
7997
8066
|
}
|
|
7998
|
-
name = "
|
|
8067
|
+
name = "UpdatePresentationDefinitionItemNullable1741895824000";
|
|
7999
8068
|
async up(queryRunner) {
|
|
8000
8069
|
debug12("migration: updating presentation definition item nullable fields");
|
|
8001
8070
|
const dbType = queryRunner.connection.driver.options.type;
|
|
8002
8071
|
switch (dbType) {
|
|
8003
8072
|
case "postgres": {
|
|
8004
8073
|
debug12("using postgres migration file");
|
|
8005
|
-
const mig = new
|
|
8074
|
+
const mig = new UpdatePresentationDefinitionItemNullablePG1741895824000();
|
|
8006
8075
|
await mig.up(queryRunner);
|
|
8007
8076
|
debug12("Migration statements executed");
|
|
8008
8077
|
return;
|
|
@@ -8011,7 +8080,7 @@ var CreateDcqlQueryItem1726617600000 = class {
|
|
|
8011
8080
|
case "expo":
|
|
8012
8081
|
case "react-native": {
|
|
8013
8082
|
debug12("using sqlite/react-native migration file");
|
|
8014
|
-
const mig = new
|
|
8083
|
+
const mig = new UpdatePresentationDefinitionItemNullableSqlite1756975340000();
|
|
8015
8084
|
await mig.up(queryRunner);
|
|
8016
8085
|
debug12("Migration statements executed");
|
|
8017
8086
|
return;
|
|
@@ -8026,7 +8095,7 @@ var CreateDcqlQueryItem1726617600000 = class {
|
|
|
8026
8095
|
switch (dbType) {
|
|
8027
8096
|
case "postgres": {
|
|
8028
8097
|
debug12("using postgres migration file");
|
|
8029
|
-
const mig = new
|
|
8098
|
+
const mig = new UpdatePresentationDefinitionItemNullablePG1741895824000();
|
|
8030
8099
|
await mig.down(queryRunner);
|
|
8031
8100
|
debug12("Migration statements executed");
|
|
8032
8101
|
return;
|
|
@@ -8035,7 +8104,7 @@ var CreateDcqlQueryItem1726617600000 = class {
|
|
|
8035
8104
|
case "expo":
|
|
8036
8105
|
case "react-native": {
|
|
8037
8106
|
debug12("using sqlite/react-native migration file");
|
|
8038
|
-
const mig = new
|
|
8107
|
+
const mig = new UpdatePresentationDefinitionItemNullableSqlite1756975340000();
|
|
8039
8108
|
await mig.down(queryRunner);
|
|
8040
8109
|
debug12("Migration statements executed");
|
|
8041
8110
|
return;
|
|
@@ -9450,7 +9519,7 @@ var DataStoreMachineStateMigrations = [
|
|
|
9450
9519
|
];
|
|
9451
9520
|
var DataStorePresentationDefinitionMigrations = [
|
|
9452
9521
|
CreatePresentationDefinitions1716533767523,
|
|
9453
|
-
|
|
9522
|
+
UpdatePresentationDefinitionItemNullable1741895824000
|
|
9454
9523
|
];
|
|
9455
9524
|
var DataStoreMigrations = [
|
|
9456
9525
|
...DataStoreContactMigrations,
|
|
@@ -9637,7 +9706,7 @@ var DataStoreIssuanceBrandingEntities = [
|
|
|
9637
9706
|
CredentialClaimsEntity
|
|
9638
9707
|
];
|
|
9639
9708
|
var DataStorePresentationDefinitionEntities = [
|
|
9640
|
-
|
|
9709
|
+
PresentationDefinitionItemEntity
|
|
9641
9710
|
];
|
|
9642
9711
|
var DataStoreStatusListEntities = [
|
|
9643
9712
|
StatusListEntity,
|