@sphereon/ssi-sdk.data-store 0.24.1-next.42 → 0.24.1-next.98
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/LICENSE +1 -1
- package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.d.ts +14 -0
- package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.d.ts.map +1 -0
- package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.js +74 -0
- package/dist/entities/presentationDefinition/PresentationDefinitionItemEntity.js.map +1 -0
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/dist/migrations/generic/10-CreatePresentationDefinitions.d.ts +7 -0
- package/dist/migrations/generic/10-CreatePresentationDefinitions.d.ts.map +1 -0
- package/dist/migrations/generic/10-CreatePresentationDefinitions.js +78 -0
- package/dist/migrations/generic/10-CreatePresentationDefinitions.js.map +1 -0
- package/dist/migrations/generic/index.d.ts +2 -0
- package/dist/migrations/generic/index.d.ts.map +1 -1
- package/dist/migrations/generic/index.js +4 -1
- package/dist/migrations/generic/index.js.map +1 -1
- package/dist/migrations/index.d.ts +1 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +2 -1
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/postgres/1716475165345-CreatePresentationDefinitions.d.ts +7 -0
- package/dist/migrations/postgres/1716475165345-CreatePresentationDefinitions.d.ts.map +1 -0
- package/dist/migrations/postgres/1716475165345-CreatePresentationDefinitions.js +41 -0
- package/dist/migrations/postgres/1716475165345-CreatePresentationDefinitions.js.map +1 -0
- package/dist/migrations/sqlite/1716475165344-CreatePresentationDefinitions.d.ts +7 -0
- package/dist/migrations/sqlite/1716475165344-CreatePresentationDefinitions.d.ts.map +1 -0
- package/dist/migrations/sqlite/1716475165344-CreatePresentationDefinitions.js +38 -0
- package/dist/migrations/sqlite/1716475165344-CreatePresentationDefinitions.js.map +1 -0
- package/dist/presentationDefinition/AbstractPDStore.d.ts +12 -0
- package/dist/presentationDefinition/AbstractPDStore.d.ts.map +1 -0
- package/dist/presentationDefinition/AbstractPDStore.js +7 -0
- package/dist/presentationDefinition/AbstractPDStore.js.map +1 -0
- package/dist/presentationDefinition/PDStore.d.ts +19 -0
- package/dist/presentationDefinition/PDStore.d.ts.map +1 -0
- package/dist/presentationDefinition/PDStore.js +152 -0
- package/dist/presentationDefinition/PDStore.js.map +1 -0
- package/dist/types/index.d.ts +2 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/presentationDefinition/IAbstractPDStore.d.ts +17 -0
- package/dist/types/presentationDefinition/IAbstractPDStore.d.ts.map +1 -0
- package/dist/types/presentationDefinition/IAbstractPDStore.js +3 -0
- package/dist/types/presentationDefinition/IAbstractPDStore.js.map +1 -0
- package/dist/types/presentationDefinition/presentationDefinition.d.ts +16 -0
- package/dist/types/presentationDefinition/presentationDefinition.d.ts.map +1 -0
- package/dist/types/presentationDefinition/presentationDefinition.js +3 -0
- package/dist/types/presentationDefinition/presentationDefinition.js.map +1 -0
- package/dist/utils/presentationDefinition/MappingUtils.d.ts +6 -0
- package/dist/utils/presentationDefinition/MappingUtils.d.ts.map +1 -0
- package/dist/utils/presentationDefinition/MappingUtils.js +48 -0
- package/dist/utils/presentationDefinition/MappingUtils.js.map +1 -0
- package/package.json +7 -4
- package/src/__tests__/pd-manager.entities.test.ts +71 -0
- package/src/__tests__/pd-manager.store.test.ts +191 -0
- package/src/entities/presentationDefinition/PresentationDefinitionItemEntity.ts +43 -0
- package/src/index.ts +10 -0
- package/src/migrations/generic/10-CreatePresentationDefinitions.ts +66 -0
- package/src/migrations/generic/index.ts +3 -0
- package/src/migrations/index.ts +1 -0
- package/src/migrations/postgres/1716475165345-CreatePresentationDefinitions.ts +25 -0
- package/src/migrations/sqlite/1716475165344-CreatePresentationDefinitions.ts +24 -0
- package/src/presentationDefinition/AbstractPDStore.ts +20 -0
- package/src/presentationDefinition/PDStore.ts +185 -0
- package/src/types/index.ts +2 -0
- package/src/types/presentationDefinition/IAbstractPDStore.ts +25 -0
- package/src/types/presentationDefinition/presentationDefinition.ts +17 -0
- package/src/utils/contact/MappingUtils.ts +1 -1
- package/src/utils/presentationDefinition/MappingUtils.ts +52 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { OrPromise } from '@sphereon/ssi-types';
|
|
2
|
+
import { DataSource, Repository } from 'typeorm';
|
|
3
|
+
import { AbstractPDStore } from './AbstractPDStore';
|
|
4
|
+
import { DeleteDefinitionArgs, DeleteDefinitionsArgs, GetDefinitionArgs, GetDefinitionsArgs, HasDefinitionArgs, HasDefinitionsArgs, NonPersistedPresentationDefinitionItem, PresentationDefinitionItem, PresentationDefinitionItemFilter } from '../types';
|
|
5
|
+
import { PresentationDefinitionItemEntity } from '../entities/presentationDefinition/PresentationDefinitionItemEntity';
|
|
6
|
+
export declare class PDStore extends AbstractPDStore {
|
|
7
|
+
private readonly dbConnection;
|
|
8
|
+
constructor(dbConnection: OrPromise<DataSource>);
|
|
9
|
+
getDefinition: (args: GetDefinitionArgs) => Promise<PresentationDefinitionItem>;
|
|
10
|
+
hasDefinition: (args: HasDefinitionArgs) => Promise<boolean>;
|
|
11
|
+
hasDefinitions: (args: HasDefinitionsArgs) => Promise<boolean>;
|
|
12
|
+
getDefinitions: (args: GetDefinitionsArgs) => Promise<Array<PresentationDefinitionItem>>;
|
|
13
|
+
addDefinition: (item: NonPersistedPresentationDefinitionItem) => Promise<PresentationDefinitionItem>;
|
|
14
|
+
updateDefinition: (item: PresentationDefinitionItem) => Promise<PresentationDefinitionItem>;
|
|
15
|
+
deleteDefinition: (args: DeleteDefinitionArgs) => Promise<void>;
|
|
16
|
+
deleteDefinitions: (args: DeleteDefinitionsArgs) => Promise<number>;
|
|
17
|
+
findIds: (pdRepository: Repository<PresentationDefinitionItemEntity>, filter: Array<PresentationDefinitionItemFilter> | undefined) => Promise<Array<PresentationDefinitionItemEntity>>;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=PDStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PDStore.d.ts","sourceRoot":"","sources":["../../src/presentationDefinition/PDStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAA;AAC/C,OAAO,EAAE,UAAU,EAAM,UAAU,EAAE,MAAM,SAAS,CAAA;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAEnD,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,sCAAsC,EACtC,0BAA0B,EAC1B,gCAAgC,EACjC,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,gCAAgC,EAAE,MAAM,qEAAqE,CAAA;AAKtH,qBAAa,OAAQ,SAAQ,eAAe;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuB;gBAExC,YAAY,EAAE,SAAS,CAAC,UAAU,CAAC;IAK/C,aAAa,SAAgB,iBAAiB,KAAG,QAAQ,0BAA0B,CAAC,CAWnF;IAED,aAAa,SAAgB,iBAAiB,KAAG,QAAQ,OAAO,CAAC,CAShE;IAED,cAAc,SAAgB,kBAAkB,KAAG,QAAQ,OAAO,CAAC,CAQlE;IAED,cAAc,SAAgB,kBAAkB,KAAG,QAAQ,MAAM,0BAA0B,CAAC,CAAC,CAc5F;IAED,aAAa,SAAgB,sCAAsC,KAAG,QAAQ,0BAA0B,CAAC,CAUxG;IAED,gBAAgB,SAAgB,0BAA0B,KAAG,QAAQ,0BAA0B,CAAC,CA0B/F;IAED,gBAAgB,SAAgB,oBAAoB,KAAG,QAAQ,IAAI,CAAC,CAcnE;IAED,iBAAiB,SAAgB,qBAAqB,KAAG,QAAQ,MAAM,CAAC,CAgBvE;IAED,OAAO,iBACS,WAAW,gCAAgC,CAAC,UAClD,MAAM,gCAAgC,CAAC,GAAG,SAAS,KAC1D,QAAQ,MAAM,gCAAgC,CAAC,CAAC,CAWlD;CACF"}
|
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.PDStore = void 0;
|
|
16
|
+
const typeorm_1 = require("typeorm");
|
|
17
|
+
const AbstractPDStore_1 = require("./AbstractPDStore");
|
|
18
|
+
const debug_1 = __importDefault(require("debug"));
|
|
19
|
+
const PresentationDefinitionItemEntity_1 = require("../entities/presentationDefinition/PresentationDefinitionItemEntity");
|
|
20
|
+
const MappingUtils_1 = require("../utils/presentationDefinition/MappingUtils");
|
|
21
|
+
const debug = (0, debug_1.default)('sphereon:ssi-sdk:pd-store');
|
|
22
|
+
class PDStore extends AbstractPDStore_1.AbstractPDStore {
|
|
23
|
+
constructor(dbConnection) {
|
|
24
|
+
super();
|
|
25
|
+
this.getDefinition = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
26
|
+
const { itemId } = args !== null && args !== void 0 ? args : {};
|
|
27
|
+
const pdRepository = (yield this.dbConnection).getRepository(PresentationDefinitionItemEntity_1.PresentationDefinitionItemEntity);
|
|
28
|
+
const result = yield pdRepository.findOne({
|
|
29
|
+
where: { id: itemId },
|
|
30
|
+
});
|
|
31
|
+
if (!result) {
|
|
32
|
+
return Promise.reject(Error(`No presentation definition item found for id: ${itemId}`));
|
|
33
|
+
}
|
|
34
|
+
return (0, MappingUtils_1.presentationDefinitionItemFrom)(result);
|
|
35
|
+
});
|
|
36
|
+
this.hasDefinition = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
37
|
+
const { itemId } = args !== null && args !== void 0 ? args : {};
|
|
38
|
+
const pdRepository = (yield this.dbConnection).getRepository(PresentationDefinitionItemEntity_1.PresentationDefinitionItemEntity);
|
|
39
|
+
const resultCount = yield pdRepository.count({
|
|
40
|
+
where: { id: itemId },
|
|
41
|
+
});
|
|
42
|
+
return resultCount > 0;
|
|
43
|
+
});
|
|
44
|
+
this.hasDefinitions = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
45
|
+
const { filter } = args;
|
|
46
|
+
const pdRepository = (yield this.dbConnection).getRepository(PresentationDefinitionItemEntity_1.PresentationDefinitionItemEntity);
|
|
47
|
+
const resultCount = yield pdRepository.count(Object.assign({}, (filter && { where: cleanFilter(filter) })));
|
|
48
|
+
return resultCount > 0;
|
|
49
|
+
});
|
|
50
|
+
this.getDefinitions = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const { filter } = args;
|
|
52
|
+
const pdRepository = (yield this.dbConnection).getRepository(PresentationDefinitionItemEntity_1.PresentationDefinitionItemEntity);
|
|
53
|
+
const initialResult = yield this.findIds(pdRepository, filter);
|
|
54
|
+
const result = yield pdRepository.find({
|
|
55
|
+
where: {
|
|
56
|
+
id: (0, typeorm_1.In)(initialResult.map((entity) => entity.id)),
|
|
57
|
+
},
|
|
58
|
+
order: {
|
|
59
|
+
version: 'DESC',
|
|
60
|
+
},
|
|
61
|
+
});
|
|
62
|
+
return result.map((entity) => (0, MappingUtils_1.presentationDefinitionItemFrom)(entity));
|
|
63
|
+
});
|
|
64
|
+
this.addDefinition = (item) => __awaiter(this, void 0, void 0, function* () {
|
|
65
|
+
const pdRepository = (yield this.dbConnection).getRepository(PresentationDefinitionItemEntity_1.PresentationDefinitionItemEntity);
|
|
66
|
+
const entity = (0, MappingUtils_1.presentationDefinitionEntityItemFrom)(item);
|
|
67
|
+
debug('Adding presentation definition entity', item);
|
|
68
|
+
const result = yield pdRepository.save(entity, {
|
|
69
|
+
transaction: true,
|
|
70
|
+
});
|
|
71
|
+
return (0, MappingUtils_1.presentationDefinitionItemFrom)(result);
|
|
72
|
+
});
|
|
73
|
+
this.updateDefinition = (item) => __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const pdRepository = (yield this.dbConnection).getRepository(PresentationDefinitionItemEntity_1.PresentationDefinitionItemEntity);
|
|
75
|
+
const result = yield pdRepository.findOne({
|
|
76
|
+
where: { id: item.id },
|
|
77
|
+
});
|
|
78
|
+
if (!result) {
|
|
79
|
+
return Promise.reject(Error(`No presentation definition entity found for id: ${item.id}`));
|
|
80
|
+
}
|
|
81
|
+
const updatedEntity = Object.assign({}, result);
|
|
82
|
+
updatedEntity.tenantId = item.tenantId;
|
|
83
|
+
updatedEntity.definitionId = item.definitionId;
|
|
84
|
+
updatedEntity.version = item.version;
|
|
85
|
+
updatedEntity.name = item.name;
|
|
86
|
+
updatedEntity.purpose = item.purpose;
|
|
87
|
+
updatedEntity.definitionPayload = JSON.stringify(item.definitionPayload);
|
|
88
|
+
debug('Updating presentation definition entity', updatedEntity);
|
|
89
|
+
const updateResult = yield pdRepository.save(updatedEntity, {
|
|
90
|
+
transaction: true,
|
|
91
|
+
});
|
|
92
|
+
return (0, MappingUtils_1.presentationDefinitionItemFrom)(updateResult);
|
|
93
|
+
});
|
|
94
|
+
this.deleteDefinition = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
const { itemId } = args;
|
|
96
|
+
const pdRepository = (yield this.dbConnection).getRepository(PresentationDefinitionItemEntity_1.PresentationDefinitionItemEntity);
|
|
97
|
+
const entity = yield pdRepository.findOne({
|
|
98
|
+
where: { id: itemId },
|
|
99
|
+
});
|
|
100
|
+
if (!entity) {
|
|
101
|
+
return Promise.reject(Error(`No presentation definition found with id: ${itemId}`));
|
|
102
|
+
}
|
|
103
|
+
debug('Deleting presentation definition entity', entity);
|
|
104
|
+
yield pdRepository.delete(entity.id);
|
|
105
|
+
});
|
|
106
|
+
this.deleteDefinitions = (args) => __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const { filter } = args;
|
|
108
|
+
const pdRepository = (yield this.dbConnection).getRepository(PresentationDefinitionItemEntity_1.PresentationDefinitionItemEntity);
|
|
109
|
+
const initialResult = yield this.findIds(pdRepository, filter);
|
|
110
|
+
const result = yield pdRepository.find({
|
|
111
|
+
where: {
|
|
112
|
+
id: (0, typeorm_1.In)(initialResult.map((entity) => entity.id)),
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
for (const entity of result) {
|
|
116
|
+
debug('Deleting presentation definition entity', entity.id);
|
|
117
|
+
yield pdRepository.delete(entity.id);
|
|
118
|
+
}
|
|
119
|
+
return result.length;
|
|
120
|
+
});
|
|
121
|
+
this.findIds = (pdRepository, filter) => __awaiter(this, void 0, void 0, function* () {
|
|
122
|
+
const idFilter = filter === null || filter === void 0 ? void 0 : filter.find((f) => f.id !== undefined && f.id !== null);
|
|
123
|
+
if (idFilter) {
|
|
124
|
+
return yield pdRepository.find({
|
|
125
|
+
where: { id: idFilter.id },
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
return yield pdRepository.find(Object.assign({}, (filter && { where: cleanFilter(filter) })));
|
|
130
|
+
}
|
|
131
|
+
});
|
|
132
|
+
this.dbConnection = dbConnection;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
exports.PDStore = PDStore;
|
|
136
|
+
const cleanFilter = (filter) => {
|
|
137
|
+
if (filter === undefined) {
|
|
138
|
+
return undefined;
|
|
139
|
+
}
|
|
140
|
+
return filter.map((item) => {
|
|
141
|
+
const cleanedItem = {};
|
|
142
|
+
for (const key in item) {
|
|
143
|
+
const value = item[key];
|
|
144
|
+
if (value !== undefined) {
|
|
145
|
+
;
|
|
146
|
+
cleanedItem[key] = value;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return cleanedItem;
|
|
150
|
+
});
|
|
151
|
+
};
|
|
152
|
+
//# sourceMappingURL=PDStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PDStore.js","sourceRoot":"","sources":["../../src/presentationDefinition/PDStore.ts"],"names":[],"mappings":"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"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
export * from './issuanceBranding/issuanceBranding';
|
|
2
2
|
export * from './issuanceBranding/IAbstractIssuanceBrandingStore';
|
|
3
3
|
export * from './contact/contact';
|
|
4
|
+
export * from './presentationDefinition/presentationDefinition';
|
|
5
|
+
export * from './presentationDefinition/IAbstractPDStore';
|
|
4
6
|
export * from './contact/IAbstractContactStore';
|
|
5
7
|
export * from './validation/validation';
|
|
6
8
|
export * from './statusList/statusList';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AACnD,cAAc,mDAAmD,CAAA;AACjE,cAAc,mBAAmB,CAAA;AACjC,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2BAA2B,CAAA;AACzC,cAAc,2CAA2C,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,qCAAqC,CAAA;AACnD,cAAc,mDAAmD,CAAA;AACjE,cAAc,mBAAmB,CAAA;AACjC,cAAc,iDAAiD,CAAA;AAC/D,cAAc,2CAA2C,CAAA;AACzD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,yBAAyB,CAAA;AACvC,cAAc,yBAAyB,CAAA;AACvC,cAAc,uCAAuC,CAAA;AACrD,cAAc,yCAAyC,CAAA;AACvD,cAAc,2BAA2B,CAAA;AACzC,cAAc,2CAA2C,CAAA"}
|
package/dist/types/index.js
CHANGED
|
@@ -17,6 +17,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./issuanceBranding/issuanceBranding"), exports);
|
|
18
18
|
__exportStar(require("./issuanceBranding/IAbstractIssuanceBrandingStore"), exports);
|
|
19
19
|
__exportStar(require("./contact/contact"), exports);
|
|
20
|
+
__exportStar(require("./presentationDefinition/presentationDefinition"), exports);
|
|
21
|
+
__exportStar(require("./presentationDefinition/IAbstractPDStore"), exports);
|
|
20
22
|
__exportStar(require("./contact/IAbstractContactStore"), exports);
|
|
21
23
|
__exportStar(require("./validation/validation"), exports);
|
|
22
24
|
__exportStar(require("./statusList/statusList"), exports);
|
package/dist/types/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAmD;AACnD,oFAAiE;AACjE,oDAAiC;AACjC,kEAA+C;AAC/C,0DAAuC;AACvC,0DAAuC;AACvC,wEAAqD;AACrD,0EAAuD;AACvD,4DAAyC;AACzC,4EAAyD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sEAAmD;AACnD,oFAAiE;AACjE,oDAAiC;AACjC,kFAA+D;AAC/D,4EAAyD;AACzD,kEAA+C;AAC/C,0DAAuC;AACvC,0DAAuC;AACvC,wEAAqD;AACrD,0EAAuD;AACvD,4DAAyC;AACzC,4EAAyD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { NonPersistedPresentationDefinitionItem, PresentationDefinitionItem, PresentationDefinitionItemFilter } from './presentationDefinition';
|
|
2
|
+
export type FindDefinitionArgs = Array<PresentationDefinitionItemFilter>;
|
|
3
|
+
export type GetDefinitionArgs = {
|
|
4
|
+
itemId: string;
|
|
5
|
+
};
|
|
6
|
+
export type HasDefinitionArgs = GetDefinitionArgs;
|
|
7
|
+
export type GetDefinitionsArgs = {
|
|
8
|
+
filter?: FindDefinitionArgs;
|
|
9
|
+
};
|
|
10
|
+
export type HasDefinitionsArgs = GetDefinitionsArgs;
|
|
11
|
+
export type AddDefinitionArgs = NonPersistedPresentationDefinitionItem;
|
|
12
|
+
export type UpdateDefinitionArgs = PresentationDefinitionItem;
|
|
13
|
+
export type DeleteDefinitionArgs = {
|
|
14
|
+
itemId: string;
|
|
15
|
+
};
|
|
16
|
+
export type DeleteDefinitionsArgs = GetDefinitionsArgs;
|
|
17
|
+
//# sourceMappingURL=IAbstractPDStore.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAbstractPDStore.d.ts","sourceRoot":"","sources":["../../../src/types/presentationDefinition/IAbstractPDStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sCAAsC,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,0BAA0B,CAAA;AAE/I,MAAM,MAAM,kBAAkB,GAAG,KAAK,CAAC,gCAAgC,CAAC,CAAA;AAExE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAA;AAEjD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,MAAM,CAAC,EAAE,kBAAkB,CAAA;CAC5B,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG,kBAAkB,CAAA;AAEnD,MAAM,MAAM,iBAAiB,GAAG,sCAAsC,CAAA;AAEtE,MAAM,MAAM,oBAAoB,GAAG,0BAA0B,CAAA;AAE7D,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,MAAM,qBAAqB,GAAG,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAbstractPDStore.js","sourceRoot":"","sources":["../../../src/types/presentationDefinition/IAbstractPDStore.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { IPresentationDefinition } from '@sphereon/pex';
|
|
2
|
+
export type PresentationDefinitionItem = {
|
|
3
|
+
id: string;
|
|
4
|
+
definitionId: string;
|
|
5
|
+
tenantId?: string;
|
|
6
|
+
version: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
purpose?: string;
|
|
9
|
+
definitionPayload: IPresentationDefinition;
|
|
10
|
+
createdAt: Date;
|
|
11
|
+
lastUpdatedAt: Date;
|
|
12
|
+
};
|
|
13
|
+
export type NonPersistedPresentationDefinitionItem = Omit<PresentationDefinitionItem, 'id' | 'createdAt' | 'lastUpdatedAt'>;
|
|
14
|
+
export type PartialPresentationDefinitionItem = Partial<PresentationDefinitionItem>;
|
|
15
|
+
export type PresentationDefinitionItemFilter = Partial<Omit<PresentationDefinitionItem, 'definitionPayload'>>;
|
|
16
|
+
//# sourceMappingURL=presentationDefinition.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"presentationDefinition.js","sourceRoot":"","sources":["../../../src/types/presentationDefinition/presentationDefinition.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PresentationDefinitionItemEntity } from '../../entities/presentationDefinition/PresentationDefinitionItemEntity';
|
|
2
|
+
import { NonPersistedPresentationDefinitionItem, PartialPresentationDefinitionItem, PresentationDefinitionItem } from '../../types';
|
|
3
|
+
export declare const presentationDefinitionItemFrom: (entity: PresentationDefinitionItemEntity) => PresentationDefinitionItem;
|
|
4
|
+
export declare const presentationDefinitionEntityItemFrom: (item: NonPersistedPresentationDefinitionItem) => PresentationDefinitionItemEntity;
|
|
5
|
+
export declare function isPresentationDefinitionEqual(base: PartialPresentationDefinitionItem, compare: PartialPresentationDefinitionItem): boolean;
|
|
6
|
+
//# sourceMappingURL=MappingUtils.d.ts.map
|
|
@@ -0,0 +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;AAGnI,eAAO,MAAM,8BAA8B,WAAY,gCAAgC,KAAG,0BAYzF,CAAA;AAED,eAAO,MAAM,oCAAoC,SAAU,sCAAsC,KAAG,gCAUnG,CAAA;AAMD,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,iCAAiC,EAAE,OAAO,EAAE,iCAAiC,GAAG,OAAO,CAgB1I"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isPresentationDefinitionEqual = exports.presentationDefinitionEntityItemFrom = exports.presentationDefinitionItemFrom = void 0;
|
|
4
|
+
const PresentationDefinitionItemEntity_1 = require("../../entities/presentationDefinition/PresentationDefinitionItemEntity");
|
|
5
|
+
const blakejs_1 = require("blakejs");
|
|
6
|
+
const presentationDefinitionItemFrom = (entity) => {
|
|
7
|
+
return {
|
|
8
|
+
id: entity.id,
|
|
9
|
+
tenantId: entity.tenantId,
|
|
10
|
+
definitionId: entity.definitionId,
|
|
11
|
+
version: entity.version,
|
|
12
|
+
name: entity.name,
|
|
13
|
+
purpose: entity.purpose,
|
|
14
|
+
definitionPayload: JSON.parse(entity.definitionPayload),
|
|
15
|
+
createdAt: entity.createdAt,
|
|
16
|
+
lastUpdatedAt: entity.lastUpdatedAt,
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
exports.presentationDefinitionItemFrom = presentationDefinitionItemFrom;
|
|
20
|
+
const presentationDefinitionEntityItemFrom = (item) => {
|
|
21
|
+
const entity = new PresentationDefinitionItemEntity_1.PresentationDefinitionItemEntity();
|
|
22
|
+
entity.tenantId = item.tenantId;
|
|
23
|
+
entity.definitionId = item.definitionId;
|
|
24
|
+
entity.version = item.version;
|
|
25
|
+
entity.name = item.name;
|
|
26
|
+
entity.purpose = item.purpose;
|
|
27
|
+
entity.definitionPayload = JSON.stringify(item.definitionPayload);
|
|
28
|
+
return entity;
|
|
29
|
+
};
|
|
30
|
+
exports.presentationDefinitionEntityItemFrom = presentationDefinitionEntityItemFrom;
|
|
31
|
+
function hashPayload(payload) {
|
|
32
|
+
return (0, blakejs_1.blake2bHex)(JSON.stringify(payload));
|
|
33
|
+
}
|
|
34
|
+
function isPresentationDefinitionEqual(base, compare) {
|
|
35
|
+
if (base.definitionId !== compare.definitionId ||
|
|
36
|
+
base.tenantId != compare.tenantId ||
|
|
37
|
+
base.version !== compare.version ||
|
|
38
|
+
base.name != compare.name ||
|
|
39
|
+
base.purpose != compare.purpose) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
if (base.definitionPayload && compare.definitionPayload) {
|
|
43
|
+
return hashPayload(base.definitionPayload) === hashPayload(compare.definitionPayload);
|
|
44
|
+
}
|
|
45
|
+
return false;
|
|
46
|
+
}
|
|
47
|
+
exports.isPresentationDefinitionEqual = isPresentationDefinitionEqual;
|
|
48
|
+
//# sourceMappingURL=MappingUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MappingUtils.js","sourceRoot":"","sources":["../../../src/utils/presentationDefinition/MappingUtils.ts"],"names":[],"mappings":";;;AAAA,6HAAyH;AAGzH,qCAAoC;AAE7B,MAAM,8BAA8B,GAAG,CAAC,MAAwC,EAA8B,EAAE;IACrH,OAAO;QACL,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;AACH,CAAC,CAAA;AAZY,QAAA,8BAA8B,kCAY1C;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;AAhBD,sEAgBC"}
|
package/package.json
CHANGED
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.data-store",
|
|
3
|
-
"version": "0.24.1-next.
|
|
3
|
+
"version": "0.24.1-next.98+c62d8ca9",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
8
|
"build": "tsc --build",
|
|
9
|
+
"build:clean": "tsc --build --clean && tsc --build",
|
|
9
10
|
"typeorm": "ts-node --project ./tsconfig.json -r tsconfig-paths/register ../../node_modules/.pnpm/typeorm@0.3.12_sqlite3@5.1.6_ts-node@10.9.1/node_modules/typeorm/cli.js --config src/migrations/internal-migrations-ormconfig.ts",
|
|
10
11
|
"typeorm-sqlite:migration:generate": "pnpm run typeorm -- migration:generate -c migration-sqlite -d src/migrations/sqlite -n",
|
|
11
12
|
"typeorm-sqlite:migration:run": "pnpm run typeorm -- migration:run -c migration-sqlite",
|
|
@@ -13,10 +14,12 @@
|
|
|
13
14
|
"typeorm-postgres:migration:run": "pnpm run typeorm -- migration:run -c migration-postgres"
|
|
14
15
|
},
|
|
15
16
|
"dependencies": {
|
|
16
|
-
"@sphereon/
|
|
17
|
-
"@sphereon/ssi-
|
|
17
|
+
"@sphereon/pex": "^3.3.3",
|
|
18
|
+
"@sphereon/ssi-sdk.core": "0.24.1-next.98+c62d8ca9",
|
|
19
|
+
"@sphereon/ssi-types": "0.24.1-next.98+c62d8ca9",
|
|
18
20
|
"@veramo/core": "4.2.0",
|
|
19
21
|
"@veramo/utils": "4.2.0",
|
|
22
|
+
"blakejs": "^1.1.1",
|
|
20
23
|
"class-validator": "^0.14.0",
|
|
21
24
|
"debug": "^4.3.4",
|
|
22
25
|
"typeorm": "^0.3.20"
|
|
@@ -44,5 +47,5 @@
|
|
|
44
47
|
"PostgreSQL",
|
|
45
48
|
"Contact Store"
|
|
46
49
|
],
|
|
47
|
-
"gitHead": "
|
|
50
|
+
"gitHead": "c62d8ca97210e599cb1a91446ae652d1c832710f"
|
|
48
51
|
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { DataSource } from 'typeorm'
|
|
2
|
+
import { PresentationDefinitionItemEntity } from '../entities/presentationDefinition/PresentationDefinitionItemEntity'
|
|
3
|
+
import { DataStorePresentationDefinitionMigrations } from '../migrations'
|
|
4
|
+
import { DataStorePresentationDefinitionEntities } from '../index'
|
|
5
|
+
|
|
6
|
+
describe('PresentationDefinitionItemEntity tests', (): void => {
|
|
7
|
+
let dbConnection: DataSource
|
|
8
|
+
|
|
9
|
+
beforeEach(async (): Promise<void> => {
|
|
10
|
+
dbConnection = await new DataSource({
|
|
11
|
+
type: 'sqlite',
|
|
12
|
+
database: ':memory:',
|
|
13
|
+
logging: ['info'],
|
|
14
|
+
synchronize: true,
|
|
15
|
+
migrationsRun: false,
|
|
16
|
+
migrations: DataStorePresentationDefinitionMigrations,
|
|
17
|
+
entities: DataStorePresentationDefinitionEntities,
|
|
18
|
+
}).initialize()
|
|
19
|
+
})
|
|
20
|
+
|
|
21
|
+
afterEach(async (): Promise<void> => {
|
|
22
|
+
await dbConnection.destroy()
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
it('should create and retrieve PresentationDefinitionItemEntity', async (): Promise<void> => {
|
|
26
|
+
const repository = dbConnection.getRepository(PresentationDefinitionItemEntity)
|
|
27
|
+
const entity = new PresentationDefinitionItemEntity()
|
|
28
|
+
entity.definitionId = 'definition1'
|
|
29
|
+
entity.version = '1.0'
|
|
30
|
+
entity.definitionPayload = JSON.stringify({ id: 'definition1', input_descriptors: [] })
|
|
31
|
+
|
|
32
|
+
const savedEntity = await repository.save(entity)
|
|
33
|
+
expect(savedEntity).toBeDefined()
|
|
34
|
+
expect(savedEntity.id).toBeDefined()
|
|
35
|
+
|
|
36
|
+
const retrievedEntity = await repository.findOneBy({ id: savedEntity.id })
|
|
37
|
+
expect(retrievedEntity).toBeDefined()
|
|
38
|
+
expect(retrievedEntity!.definitionId).toEqual('definition1')
|
|
39
|
+
})
|
|
40
|
+
|
|
41
|
+
it('should update PresentationDefinitionItemEntity', async (): Promise<void> => {
|
|
42
|
+
const repository = dbConnection.getRepository(PresentationDefinitionItemEntity)
|
|
43
|
+
const entity = new PresentationDefinitionItemEntity()
|
|
44
|
+
entity.definitionId = 'definition1'
|
|
45
|
+
entity.version = '1.0'
|
|
46
|
+
entity.definitionPayload = JSON.stringify({ id: 'definition1', input_descriptors: [] })
|
|
47
|
+
|
|
48
|
+
const savedEntity = await repository.save(entity)
|
|
49
|
+
expect(savedEntity).toBeDefined()
|
|
50
|
+
|
|
51
|
+
savedEntity.version = '1.1'
|
|
52
|
+
const updatedEntity = await repository.save(savedEntity)
|
|
53
|
+
expect(updatedEntity).toBeDefined()
|
|
54
|
+
expect(updatedEntity.version).toEqual('1.1')
|
|
55
|
+
})
|
|
56
|
+
|
|
57
|
+
it('should delete PresentationDefinitionItemEntity', async (): Promise<void> => {
|
|
58
|
+
const repository = dbConnection.getRepository(PresentationDefinitionItemEntity)
|
|
59
|
+
const entity = new PresentationDefinitionItemEntity()
|
|
60
|
+
entity.definitionId = 'definition1'
|
|
61
|
+
entity.version = '1.0'
|
|
62
|
+
entity.definitionPayload = JSON.stringify({ id: 'definition1', input_descriptors: [] })
|
|
63
|
+
|
|
64
|
+
const savedEntity = await repository.save(entity)
|
|
65
|
+
expect(savedEntity).toBeDefined()
|
|
66
|
+
|
|
67
|
+
await repository.delete(savedEntity.id)
|
|
68
|
+
const retrievedEntity = await repository.findOneBy({ id: savedEntity.id })
|
|
69
|
+
expect(retrievedEntity).toBeNull()
|
|
70
|
+
})
|
|
71
|
+
})
|