@sphereon/ssi-sdk.data-store 0.34.1-feature.SSISDK.82.and.SSISDK.70.349 → 0.34.1-feature.SSISDK.82.and.SSISDK.70.352
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 +61 -17
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +46 -2
- package/dist/index.js.map +1 -1
- package/package.json +8 -8
- package/src/__tests__/digitalCredential.store.test.ts +233 -6
- package/src/digitalCredential/DigitalCredentialStore.ts +22 -2
- package/src/entities/digitalCredential/DigitalCredentialEntity.ts +3 -0
- package/src/migrations/postgres/1763387280001-AddLinkedVpFields.ts +10 -0
- package/src/migrations/sqlite/1763387280002-AddLinkedVpFields.ts +10 -3
- package/src/utils/digitalCredential/MappingUtils.ts +1 -1
package/dist/index.cjs
CHANGED
|
@@ -2076,6 +2076,7 @@ var DigitalCredentialEntity = class extends import_typeorm17.BaseEntity {
|
|
|
2076
2076
|
tenantId;
|
|
2077
2077
|
linkedVpId;
|
|
2078
2078
|
linkedVpFrom;
|
|
2079
|
+
linkedVpUntil;
|
|
2079
2080
|
createdAt;
|
|
2080
2081
|
presentedAt;
|
|
2081
2082
|
lastUpdatedAt;
|
|
@@ -2253,6 +2254,14 @@ _ts_decorate18([
|
|
|
2253
2254
|
}),
|
|
2254
2255
|
_ts_metadata17("design:type", typeof Date === "undefined" ? Object : Date)
|
|
2255
2256
|
], DigitalCredentialEntity.prototype, "linkedVpFrom", void 0);
|
|
2257
|
+
_ts_decorate18([
|
|
2258
|
+
(0, import_typeorm17.CreateDateColumn)({
|
|
2259
|
+
name: "linked_vp_until",
|
|
2260
|
+
nullable: true,
|
|
2261
|
+
type: (0, import_ssi_sdk14.typeOrmDateTime)()
|
|
2262
|
+
}),
|
|
2263
|
+
_ts_metadata17("design:type", typeof Date === "undefined" ? Object : Date)
|
|
2264
|
+
], DigitalCredentialEntity.prototype, "linkedVpUntil", void 0);
|
|
2256
2265
|
_ts_decorate18([
|
|
2257
2266
|
(0, import_typeorm17.CreateDateColumn)({
|
|
2258
2267
|
name: "created_at",
|
|
@@ -5386,6 +5395,7 @@ var ContactStore = class extends import_ssi_sdk25.AbstractContactStore {
|
|
|
5386
5395
|
var import_ssi_sdk26 = require("@sphereon/ssi-sdk.data-store-types");
|
|
5387
5396
|
var import_ssi_types4 = require("@sphereon/ssi-types");
|
|
5388
5397
|
var import_debug2 = __toESM(require("debug"), 1);
|
|
5398
|
+
var import_typeorm36 = require("typeorm");
|
|
5389
5399
|
|
|
5390
5400
|
// src/utils/SortingUtils.ts
|
|
5391
5401
|
var parseAndValidateOrderOptions = /* @__PURE__ */ __name((order) => {
|
|
@@ -5439,8 +5449,25 @@ var DigitalCredentialStore = class extends import_ssi_sdk26.AbstractDigitalCrede
|
|
|
5439
5449
|
const { filter = {}, offset, limit, order = "createdAt.asc" } = args ?? {};
|
|
5440
5450
|
const sortOptions = order && typeof order === "string" ? parseAndValidateOrderOptions(order) : order;
|
|
5441
5451
|
const dcRepo = await this.getRepository();
|
|
5452
|
+
const processLinkedVpUntil = /* @__PURE__ */ __name((filterItem) => {
|
|
5453
|
+
const processed = {
|
|
5454
|
+
...filterItem
|
|
5455
|
+
};
|
|
5456
|
+
if (filterItem.linkedVpUntil) {
|
|
5457
|
+
processed.linkedVpUntil = (0, import_typeorm36.LessThanOrEqual)(filterItem.linkedVpUntil);
|
|
5458
|
+
}
|
|
5459
|
+
return processed;
|
|
5460
|
+
}, "processLinkedVpUntil");
|
|
5461
|
+
let whereClause;
|
|
5462
|
+
if (Array.isArray(filter) && filter.length > 0) {
|
|
5463
|
+
whereClause = filter.map(processLinkedVpUntil);
|
|
5464
|
+
} else if (Object.keys(filter).length > 0) {
|
|
5465
|
+
whereClause = processLinkedVpUntil(filter);
|
|
5466
|
+
} else {
|
|
5467
|
+
whereClause = filter;
|
|
5468
|
+
}
|
|
5442
5469
|
const [result, total] = await dcRepo.findAndCount({
|
|
5443
|
-
where:
|
|
5470
|
+
where: whereClause,
|
|
5444
5471
|
skip: offset,
|
|
5445
5472
|
take: limit,
|
|
5446
5473
|
order: sortOptions
|
|
@@ -5572,7 +5599,7 @@ var DigitalCredentialStore = class extends import_ssi_sdk26.AbstractDigitalCrede
|
|
|
5572
5599
|
// src/issuanceBranding/IssuanceBrandingStore.ts
|
|
5573
5600
|
var import_ssi_sdk27 = require("@sphereon/ssi-sdk.data-store-types");
|
|
5574
5601
|
var import_debug3 = __toESM(require("debug"), 1);
|
|
5575
|
-
var
|
|
5602
|
+
var import_typeorm37 = require("typeorm");
|
|
5576
5603
|
|
|
5577
5604
|
// src/utils/issuanceBranding/MappingUtils.ts
|
|
5578
5605
|
var credentialBrandingFrom = /* @__PURE__ */ __name((credentialBranding) => {
|
|
@@ -5766,7 +5793,7 @@ var IssuanceBrandingStore = class extends import_ssi_sdk27.AbstractIssuanceBrand
|
|
|
5766
5793
|
credentialBranding: {
|
|
5767
5794
|
id: credentialBrandingId
|
|
5768
5795
|
},
|
|
5769
|
-
locale: (0,
|
|
5796
|
+
locale: (0, import_typeorm37.In)(localeBranding.map((localeBranding2) => localeBranding2.locale))
|
|
5770
5797
|
}
|
|
5771
5798
|
});
|
|
5772
5799
|
if (locales && locales.length > 0) {
|
|
@@ -5834,7 +5861,7 @@ var IssuanceBrandingStore = class extends import_ssi_sdk27.AbstractIssuanceBrand
|
|
|
5834
5861
|
credentialBranding: {
|
|
5835
5862
|
id: result.credentialBrandingId
|
|
5836
5863
|
},
|
|
5837
|
-
id: (0,
|
|
5864
|
+
id: (0, import_typeorm37.Not)((0, import_typeorm37.In)([
|
|
5838
5865
|
localeBranding.id
|
|
5839
5866
|
])),
|
|
5840
5867
|
locale: localeBranding.locale
|
|
@@ -5937,7 +5964,7 @@ var IssuanceBrandingStore = class extends import_ssi_sdk27.AbstractIssuanceBrand
|
|
|
5937
5964
|
issuerBranding: {
|
|
5938
5965
|
id: issuerBrandingId
|
|
5939
5966
|
},
|
|
5940
|
-
locale: (0,
|
|
5967
|
+
locale: (0, import_typeorm37.In)(localeBranding.map((localeBranding2) => localeBranding2.locale))
|
|
5941
5968
|
}
|
|
5942
5969
|
});
|
|
5943
5970
|
if (locales && locales.length > 0) {
|
|
@@ -6005,7 +6032,7 @@ var IssuanceBrandingStore = class extends import_ssi_sdk27.AbstractIssuanceBrand
|
|
|
6005
6032
|
issuerBranding: {
|
|
6006
6033
|
id: result.issuerBrandingId
|
|
6007
6034
|
},
|
|
6008
|
-
id: (0,
|
|
6035
|
+
id: (0, import_typeorm37.Not)((0, import_typeorm37.In)([
|
|
6009
6036
|
localeBranding.id
|
|
6010
6037
|
])),
|
|
6011
6038
|
locale: localeBranding.locale
|
|
@@ -6067,7 +6094,7 @@ var IssuanceBrandingStore = class extends import_ssi_sdk27.AbstractIssuanceBrand
|
|
|
6067
6094
|
// src/statusList/StatusListStore.ts
|
|
6068
6095
|
var import_ssi_types6 = require("@sphereon/ssi-types");
|
|
6069
6096
|
var import_debug4 = __toESM(require("debug"), 1);
|
|
6070
|
-
var
|
|
6097
|
+
var import_typeorm38 = require("typeorm");
|
|
6071
6098
|
|
|
6072
6099
|
// src/utils/statusList/MappingUtils.ts
|
|
6073
6100
|
var import_ssi_types5 = require("@sphereon/ssi-types");
|
|
@@ -6207,7 +6234,7 @@ var StatusListStore = class {
|
|
|
6207
6234
|
const results = (await repo.find({
|
|
6208
6235
|
where: {
|
|
6209
6236
|
statusListId: statusList.id,
|
|
6210
|
-
statusListIndex: (0,
|
|
6237
|
+
statusListIndex: (0, import_typeorm38.In)(statusListIndex)
|
|
6211
6238
|
}
|
|
6212
6239
|
})).map((index) => index.statusListIndex);
|
|
6213
6240
|
return statusListIndex.filter((index) => !results.includes(index));
|
|
@@ -6677,7 +6704,7 @@ var EventLoggerStore = class extends import_ssi_sdk28.AbstractEventLoggerStore {
|
|
|
6677
6704
|
// src/machineState/MachineStateStore.ts
|
|
6678
6705
|
var import_ssi_sdk29 = require("@sphereon/ssi-sdk.data-store-types");
|
|
6679
6706
|
var import_debug6 = __toESM(require("debug"), 1);
|
|
6680
|
-
var
|
|
6707
|
+
var import_typeorm39 = require("typeorm");
|
|
6681
6708
|
var debug6 = (0, import_debug6.default)("sphereon:ssi-sdk:machine-state:store");
|
|
6682
6709
|
var MachineStateStore = class _MachineStateStore extends import_ssi_sdk29.IAbstractMachineStateStore {
|
|
6683
6710
|
static {
|
|
@@ -6713,7 +6740,7 @@ var MachineStateStore = class _MachineStateStore extends import_ssi_sdk29.IAbstr
|
|
|
6713
6740
|
const { tenantId, machineName, instanceId } = args;
|
|
6714
6741
|
const connection = await this._dbConnection;
|
|
6715
6742
|
debug6(`Executing findActiveMachineStates query with machineName: ${machineName}, tenantId: ${tenantId}`);
|
|
6716
|
-
const queryBuilder = connection.getRepository(MachineStateInfoEntity).createQueryBuilder("state").where("state.completedAt IS NULL").andWhere(new
|
|
6743
|
+
const queryBuilder = connection.getRepository(MachineStateInfoEntity).createQueryBuilder("state").where("state.completedAt IS NULL").andWhere(new import_typeorm39.Brackets((qb) => {
|
|
6717
6744
|
qb.where("state.expiresAt IS NULL").orWhere("state.expiresAt > :now", {
|
|
6718
6745
|
now: /* @__PURE__ */ new Date()
|
|
6719
6746
|
});
|
|
@@ -6783,10 +6810,10 @@ var MachineStateStore = class _MachineStateStore extends import_ssi_sdk29.IAbstr
|
|
|
6783
6810
|
},
|
|
6784
6811
|
// When deleteOnDone state is set we only look at completedAt, in other cases we compare current time with expiresAt
|
|
6785
6812
|
...!deleteDoneStates && {
|
|
6786
|
-
expiresAt: (0,
|
|
6813
|
+
expiresAt: (0, import_typeorm39.LessThan)(/* @__PURE__ */ new Date())
|
|
6787
6814
|
},
|
|
6788
6815
|
...deleteDoneStates && {
|
|
6789
|
-
completedAt: (0,
|
|
6816
|
+
completedAt: (0, import_typeorm39.Not)((0, import_typeorm39.IsNull)())
|
|
6790
6817
|
}
|
|
6791
6818
|
};
|
|
6792
6819
|
const result = await connection.getRepository(MachineStateInfoEntity).delete(deleteCriteria);
|
|
@@ -6809,7 +6836,7 @@ var MachineStateStore = class _MachineStateStore extends import_ssi_sdk29.IAbstr
|
|
|
6809
6836
|
// src/presentationDefinition/PDStore.ts
|
|
6810
6837
|
var import_ssi_sdk30 = require("@sphereon/ssi-sdk.data-store-types");
|
|
6811
6838
|
var import_debug7 = __toESM(require("debug"), 1);
|
|
6812
|
-
var
|
|
6839
|
+
var import_typeorm40 = require("typeorm");
|
|
6813
6840
|
|
|
6814
6841
|
// src/utils/presentationDefinition/MappingUtils.ts
|
|
6815
6842
|
var blakepkg = __toESM(require("blakejs"), 1);
|
|
@@ -6914,7 +6941,7 @@ var PDStore = class extends import_ssi_sdk30.AbstractPDStore {
|
|
|
6914
6941
|
const initialResult = await this.findIds(pdRepository, filter);
|
|
6915
6942
|
const result = await pdRepository.find({
|
|
6916
6943
|
where: {
|
|
6917
|
-
id: (0,
|
|
6944
|
+
id: (0, import_typeorm40.In)(initialResult.map((entity) => entity.id))
|
|
6918
6945
|
},
|
|
6919
6946
|
order: {
|
|
6920
6947
|
version: "DESC"
|
|
@@ -6976,7 +7003,7 @@ var PDStore = class extends import_ssi_sdk30.AbstractPDStore {
|
|
|
6976
7003
|
const initialResult = await this.findIds(pdRepository, filter);
|
|
6977
7004
|
const result = await pdRepository.find({
|
|
6978
7005
|
where: {
|
|
6979
|
-
id: (0,
|
|
7006
|
+
id: (0, import_typeorm40.In)(initialResult.map((entity) => entity.id))
|
|
6980
7007
|
}
|
|
6981
7008
|
});
|
|
6982
7009
|
for (const entity of result) {
|
|
@@ -6990,7 +7017,7 @@ var PDStore = class extends import_ssi_sdk30.AbstractPDStore {
|
|
|
6990
7017
|
if (idFilters && idFilters.length > 0 && idFilters.length === filter?.length) {
|
|
6991
7018
|
return await pdRepository.find({
|
|
6992
7019
|
where: {
|
|
6993
|
-
id: (0,
|
|
7020
|
+
id: (0, import_typeorm40.In)(idFilters)
|
|
6994
7021
|
}
|
|
6995
7022
|
});
|
|
6996
7023
|
} else {
|
|
@@ -7953,8 +7980,16 @@ var AddLinkedVpFields1763387280001 = class {
|
|
|
7953
7980
|
ALTER TABLE "DigitalCredential"
|
|
7954
7981
|
ADD COLUMN "linked_vp_from" TIMESTAMP
|
|
7955
7982
|
`);
|
|
7983
|
+
await queryRunner.query(`
|
|
7984
|
+
ALTER TABLE "DigitalCredential"
|
|
7985
|
+
ADD COLUMN "linked_vp_until" TIMESTAMP
|
|
7986
|
+
`);
|
|
7956
7987
|
}
|
|
7957
7988
|
async down(queryRunner) {
|
|
7989
|
+
await queryRunner.query(`
|
|
7990
|
+
ALTER TABLE "DigitalCredential"
|
|
7991
|
+
DROP COLUMN "linked_vp_until"
|
|
7992
|
+
`);
|
|
7958
7993
|
await queryRunner.query(`
|
|
7959
7994
|
ALTER TABLE "DigitalCredential"
|
|
7960
7995
|
DROP COLUMN "linked_vp_from"
|
|
@@ -7981,12 +8016,20 @@ var AddLinkedVpFields1763387280002 = class {
|
|
|
7981
8016
|
ALTER TABLE "DigitalCredential"
|
|
7982
8017
|
ADD COLUMN "linked_vp_from" datetime
|
|
7983
8018
|
`);
|
|
8019
|
+
await queryRunner.query(`
|
|
8020
|
+
ALTER TABLE "DigitalCredential"
|
|
8021
|
+
ADD COLUMN "linked_vp_until" datetime
|
|
8022
|
+
`);
|
|
7984
8023
|
}
|
|
7985
8024
|
async down(queryRunner) {
|
|
7986
8025
|
await queryRunner.query(`
|
|
7987
8026
|
ALTER TABLE "DigitalCredential"
|
|
7988
8027
|
DROP COLUMN "linked_vp_from"
|
|
7989
8028
|
`);
|
|
8029
|
+
await queryRunner.query(`
|
|
8030
|
+
ALTER TABLE "DigitalCredential"
|
|
8031
|
+
DROP COLUMN "linked_vp_until"
|
|
8032
|
+
`);
|
|
7990
8033
|
await queryRunner.query(`
|
|
7991
8034
|
ALTER TABLE "DigitalCredential"
|
|
7992
8035
|
DROP COLUMN "linked_vp_id"
|
|
@@ -9600,7 +9643,8 @@ var persistedDigitalCredentialEntityFromUpdateArgs = /* @__PURE__ */ __name((exi
|
|
|
9600
9643
|
Object.assign(entity, existingCredential);
|
|
9601
9644
|
const normalizedUpdates = normalizeNullableFields(updates, [
|
|
9602
9645
|
"linkedVpId",
|
|
9603
|
-
"linkedVpFrom"
|
|
9646
|
+
"linkedVpFrom",
|
|
9647
|
+
"linkedVpUntil"
|
|
9604
9648
|
]);
|
|
9605
9649
|
Object.assign(entity, normalizedUpdates);
|
|
9606
9650
|
entity.id = existingCredential.id;
|