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