@sphereon/ssi-sdk.vc-status-list-issuer-drivers 0.33.0 → 0.33.1-feature.vcdm2.4
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/drivers.js +171 -200
- package/dist/drivers.js.map +1 -1
- package/dist/index.js +2 -18
- package/dist/index.js.map +1 -1
- package/dist/status-list-adapters.js +15 -10
- package/dist/status-list-adapters.js.map +1 -1
- package/dist/types.js +1 -2
- package/package.json +8 -8
package/dist/drivers.js
CHANGED
|
@@ -1,250 +1,221 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.AgentDataSourceStatusListDriver = void 0;
|
|
13
|
-
exports.getOptions = getOptions;
|
|
14
|
-
exports.getDriver = getDriver;
|
|
15
|
-
const ssi_sdk_agent_config_1 = require("@sphereon/ssi-sdk.agent-config");
|
|
16
|
-
const ssi_sdk_data_store_1 = require("@sphereon/ssi-sdk.data-store");
|
|
17
|
-
const ssi_sdk_vc_status_list_1 = require("@sphereon/ssi-sdk.vc-status-list");
|
|
18
|
-
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
19
|
-
const status_list_adapters_1 = require("./status-list-adapters");
|
|
20
|
-
const StatusListEntities_1 = require("@sphereon/ssi-sdk.data-store/dist/entities/statusList/StatusListEntities");
|
|
21
|
-
function getOptions(args) {
|
|
1
|
+
import { DataSources } from '@sphereon/ssi-sdk.agent-config';
|
|
2
|
+
import { StatusListStore, } from '@sphereon/ssi-sdk.data-store';
|
|
3
|
+
import { statusListCredentialToDetails, } from '@sphereon/ssi-sdk.vc-status-list';
|
|
4
|
+
import { StatusListCredentialIdMode, StatusListDriverType } from '@sphereon/ssi-types';
|
|
5
|
+
import { statusListResultToEntity } from './status-list-adapters';
|
|
6
|
+
import { OAuthStatusListEntity, StatusList2021Entity } from '@sphereon/ssi-sdk.data-store/dist/entities/statusList/StatusListEntities';
|
|
7
|
+
export function getOptions(args) {
|
|
22
8
|
return {
|
|
23
9
|
id: args.id,
|
|
24
10
|
correlationId: args.correlationId,
|
|
25
|
-
driverType:
|
|
11
|
+
driverType: StatusListDriverType.AGENT_TYPEORM,
|
|
26
12
|
driverOptions: { dbName: args.dbName },
|
|
27
13
|
};
|
|
28
14
|
}
|
|
29
|
-
function getDriver(args) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
});
|
|
15
|
+
export async function getDriver(args) {
|
|
16
|
+
const dbName = args.dbName ?? args.dataSource?.name;
|
|
17
|
+
if (!dbName) {
|
|
18
|
+
throw Error(`Please provide either a DB name or data source`);
|
|
19
|
+
}
|
|
20
|
+
const dataSources = args.dataSources ?? DataSources.singleInstance();
|
|
21
|
+
return await AgentDataSourceStatusListDriver.init(getOptions({
|
|
22
|
+
...args,
|
|
23
|
+
dbName,
|
|
24
|
+
}), { dataSource: args.dataSource ?? (await dataSources.getDbConnection(dbName)), dataSources });
|
|
39
25
|
}
|
|
40
|
-
class AgentDataSourceStatusListDriver {
|
|
26
|
+
export class AgentDataSourceStatusListDriver {
|
|
27
|
+
_dataSource;
|
|
28
|
+
_statusListStore;
|
|
29
|
+
options;
|
|
30
|
+
_statusListLength;
|
|
41
31
|
constructor(_dataSource, _statusListStore, options) {
|
|
42
32
|
this._dataSource = _dataSource;
|
|
43
33
|
this._statusListStore = _statusListStore;
|
|
44
34
|
this.options = options;
|
|
45
35
|
}
|
|
46
|
-
static init(options, dbArgs) {
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
dataSource = yield dbArgs.dataSources.getDbConnection(options.driverOptions.dbName);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
dataSource = yield ssi_sdk_agent_config_1.DataSources.singleInstance().getDbConnection(options.driverOptions.dbName);
|
|
65
|
-
}
|
|
36
|
+
static async init(options, dbArgs) {
|
|
37
|
+
if (options.driverType !== StatusListDriverType.AGENT_TYPEORM) {
|
|
38
|
+
throw Error(`TypeORM driver can only be used when the TypeORM driver type is selected in the configuration. Got: ${options.driverType}`);
|
|
39
|
+
}
|
|
40
|
+
else if (!options.driverOptions) {
|
|
41
|
+
throw Error(`TypeORM driver can only be used when the TypeORM options are provided.`);
|
|
42
|
+
}
|
|
43
|
+
let dataSource;
|
|
44
|
+
let statusListStore;
|
|
45
|
+
if (dbArgs?.dataSource) {
|
|
46
|
+
dataSource = dbArgs.dataSource;
|
|
47
|
+
}
|
|
48
|
+
else if (options.driverOptions.dbName) {
|
|
49
|
+
if (dbArgs?.dataSources) {
|
|
50
|
+
dataSource = await dbArgs.dataSources.getDbConnection(options.driverOptions.dbName);
|
|
66
51
|
}
|
|
67
52
|
else {
|
|
68
|
-
|
|
53
|
+
dataSource = await DataSources.singleInstance().getDbConnection(options.driverOptions.dbName);
|
|
69
54
|
}
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
return Promise.reject(Error(`Either a datasource or dbName needs to be provided`));
|
|
58
|
+
}
|
|
59
|
+
statusListStore = new StatusListStore(dataSource);
|
|
60
|
+
return new AgentDataSourceStatusListDriver(dataSource, statusListStore, options);
|
|
73
61
|
}
|
|
74
62
|
get dataSource() {
|
|
75
|
-
var _a;
|
|
76
63
|
if (!this._dataSource) {
|
|
77
|
-
throw Error(`Datasource not available yet for ${
|
|
64
|
+
throw Error(`Datasource not available yet for ${this.options.driverOptions?.dbName}`);
|
|
78
65
|
}
|
|
79
66
|
return this._dataSource;
|
|
80
67
|
}
|
|
81
68
|
get statusListStore() {
|
|
82
69
|
if (!this._statusListStore) {
|
|
83
|
-
this._statusListStore = new
|
|
70
|
+
this._statusListStore = new StatusListStore(this.dataSource);
|
|
84
71
|
}
|
|
85
72
|
return this._statusListStore;
|
|
86
73
|
}
|
|
87
74
|
getOptions() {
|
|
88
|
-
|
|
89
|
-
return (_a = this.options.driverOptions) !== null && _a !== void 0 ? _a : {};
|
|
75
|
+
return this.options.driverOptions ?? {};
|
|
90
76
|
}
|
|
91
77
|
getType() {
|
|
92
78
|
return this.options.driverType;
|
|
93
79
|
}
|
|
94
|
-
createStatusList(args) {
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
this.
|
|
107
|
-
return details;
|
|
80
|
+
async createStatusList(args) {
|
|
81
|
+
const correlationId = args.correlationId ?? this.options.correlationId;
|
|
82
|
+
if (!correlationId) {
|
|
83
|
+
throw Error('Either a correlationId needs to be set as an option, or it needs to be provided when creating a status list. None found');
|
|
84
|
+
}
|
|
85
|
+
const credentialIdMode = args.credentialIdMode ?? StatusListCredentialIdMode.ISSUANCE;
|
|
86
|
+
const details = await statusListCredentialToDetails({ ...args, correlationId, driverType: this.getType() });
|
|
87
|
+
// (StatusListStore does the duplicate entity check)
|
|
88
|
+
await this.statusListStore.addStatusList({
|
|
89
|
+
...details,
|
|
90
|
+
credentialIdMode,
|
|
91
|
+
correlationId,
|
|
92
|
+
driverType: this.getType(),
|
|
108
93
|
});
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
});
|
|
125
|
-
if (!entity) {
|
|
126
|
-
throw Error(`Status list ${details.id}, correlationId ${args.correlationId} could not be found`);
|
|
127
|
-
}
|
|
128
|
-
yield this.statusListStore.updateStatusList(Object.assign(Object.assign(Object.assign({}, entity), details), { correlationId, driverType: this.getType() }));
|
|
129
|
-
this._statusListLength = details.length;
|
|
130
|
-
return Object.assign(Object.assign({}, entity), details);
|
|
94
|
+
this._statusListLength = details.length;
|
|
95
|
+
return details;
|
|
96
|
+
}
|
|
97
|
+
async updateStatusList(args) {
|
|
98
|
+
const correlationId = args.correlationId ?? this.options.correlationId;
|
|
99
|
+
const details = await statusListCredentialToDetails({ ...args, correlationId, driverType: this.getType() });
|
|
100
|
+
const entity = await (await this.statusListStore.getStatusListRepo(args.type)).findOne({
|
|
101
|
+
where: [
|
|
102
|
+
{
|
|
103
|
+
id: details.id,
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
correlationId,
|
|
107
|
+
},
|
|
108
|
+
],
|
|
131
109
|
});
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
110
|
+
if (!entity) {
|
|
111
|
+
throw Error(`Status list ${details.id}, correlationId ${args.correlationId} could not be found`);
|
|
112
|
+
}
|
|
113
|
+
await this.statusListStore.updateStatusList({
|
|
114
|
+
...entity,
|
|
115
|
+
...details,
|
|
116
|
+
correlationId,
|
|
117
|
+
driverType: this.getType(),
|
|
137
118
|
});
|
|
119
|
+
this._statusListLength = details.length;
|
|
120
|
+
return { ...entity, ...details };
|
|
121
|
+
}
|
|
122
|
+
async deleteStatusList() {
|
|
123
|
+
await this.statusListStore.removeStatusList({ id: this.options.id, correlationId: this.options.correlationId });
|
|
124
|
+
return Promise.resolve(true);
|
|
138
125
|
}
|
|
139
126
|
isStatusList2021Entity(statusList) {
|
|
140
|
-
return statusList instanceof
|
|
127
|
+
return statusList instanceof StatusList2021Entity;
|
|
141
128
|
}
|
|
142
129
|
isOAuthStatusListEntity(statusList) {
|
|
143
|
-
return statusList instanceof
|
|
144
|
-
}
|
|
145
|
-
updateStatusListEntry(args) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
}
|
|
175
|
-
throw new Error(`Unsupported status list type: ${typeof statusList}`);
|
|
176
|
-
});
|
|
177
|
-
}
|
|
178
|
-
getStatusListEntryByCredentialId(args) {
|
|
179
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
180
|
-
return yield this.statusListStore.getStatusListEntryByCredentialId(args);
|
|
181
|
-
});
|
|
182
|
-
}
|
|
183
|
-
getStatusListEntryByIndex(args) {
|
|
184
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
185
|
-
return yield this.statusListStore.getStatusListEntryByIndex(args);
|
|
186
|
-
});
|
|
130
|
+
return statusList instanceof OAuthStatusListEntity;
|
|
131
|
+
}
|
|
132
|
+
async updateStatusListEntry(args) {
|
|
133
|
+
const statusList = args.statusList ? args.statusList : statusListResultToEntity(await this.getStatusList());
|
|
134
|
+
const statusListEntry = await this.statusListStore.updateStatusListEntry({ ...args, statusListId: statusList.id });
|
|
135
|
+
if (this.isStatusList2021Entity(statusList)) {
|
|
136
|
+
return {
|
|
137
|
+
credentialStatus: {
|
|
138
|
+
id: `${statusList.id}#${statusListEntry.statusListIndex}`,
|
|
139
|
+
type: 'StatusList2021Entry',
|
|
140
|
+
statusPurpose: statusList.statusPurpose ?? 'revocation',
|
|
141
|
+
statusListIndex: '' + statusListEntry.statusListIndex,
|
|
142
|
+
statusListCredential: statusList.id,
|
|
143
|
+
},
|
|
144
|
+
statusListEntry,
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
else if (this.isOAuthStatusListEntity(statusList)) {
|
|
148
|
+
return {
|
|
149
|
+
credentialStatus: {
|
|
150
|
+
id: `${statusList.id}#${statusListEntry.statusListIndex}`,
|
|
151
|
+
type: 'OAuthStatusListEntry',
|
|
152
|
+
bitsPerStatus: statusList.bitsPerStatus,
|
|
153
|
+
statusListIndex: '' + statusListEntry.statusListIndex,
|
|
154
|
+
statusListCredential: statusList.id,
|
|
155
|
+
expiresAt: statusList.expiresAt,
|
|
156
|
+
},
|
|
157
|
+
statusListEntry,
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
throw new Error(`Unsupported status list type: ${typeof statusList}`);
|
|
187
161
|
}
|
|
188
|
-
|
|
189
|
-
return
|
|
190
|
-
let result = -1;
|
|
191
|
-
let tries = 0;
|
|
192
|
-
while (result < 0) {
|
|
193
|
-
// no tries guard, because we will throw an error when they are exhausted anyway
|
|
194
|
-
result = yield this.getRandomNewStatusListIndexImpl(tries++, args);
|
|
195
|
-
}
|
|
196
|
-
return result;
|
|
197
|
-
});
|
|
162
|
+
async getStatusListEntryByCredentialId(args) {
|
|
163
|
+
return await this.statusListStore.getStatusListEntryByCredentialId(args);
|
|
198
164
|
}
|
|
199
|
-
|
|
200
|
-
return
|
|
201
|
-
var _a;
|
|
202
|
-
const statusListId = this.options.id;
|
|
203
|
-
const correlationId = (_a = args === null || args === void 0 ? void 0 : args.correlationId) !== null && _a !== void 0 ? _a : this.options.correlationId;
|
|
204
|
-
if (tries >= 10) {
|
|
205
|
-
throw Error(`We could not find any random status list index that is available in the statuslist ${statusListId}`);
|
|
206
|
-
}
|
|
207
|
-
// TODO: Check against DB
|
|
208
|
-
const length = yield this.getStatusListLength(args);
|
|
209
|
-
const statusListIndex = Array.from({ length: 20 }, () => Math.floor(Math.random() * length));
|
|
210
|
-
const available = yield this.statusListStore.availableStatusListEntries(Object.assign(Object.assign({ statusListId }, (correlationId && { correlationId })), { statusListIndex }));
|
|
211
|
-
if (available.length > 0) {
|
|
212
|
-
return available[0]; // doesn't matter we pick the first element, as they are all random anyway
|
|
213
|
-
}
|
|
214
|
-
return -1;
|
|
215
|
-
});
|
|
165
|
+
async getStatusListEntryByIndex(args) {
|
|
166
|
+
return await this.statusListStore.getStatusListEntryByIndex(args);
|
|
216
167
|
}
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
}
|
|
168
|
+
async getRandomNewStatusListIndex(args) {
|
|
169
|
+
let result = -1;
|
|
170
|
+
let tries = 0;
|
|
171
|
+
while (result < 0) {
|
|
172
|
+
// no tries guard, because we will throw an error when they are exhausted anyway
|
|
173
|
+
result = await this.getRandomNewStatusListIndexImpl(tries++, args);
|
|
174
|
+
}
|
|
175
|
+
return result;
|
|
224
176
|
}
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
177
|
+
async getRandomNewStatusListIndexImpl(tries, args) {
|
|
178
|
+
const statusListId = this.options.id;
|
|
179
|
+
const correlationId = args?.correlationId ?? this.options.correlationId;
|
|
180
|
+
if (tries >= 10) {
|
|
181
|
+
throw Error(`We could not find any random status list index that is available in the statuslist ${statusListId}`);
|
|
182
|
+
}
|
|
183
|
+
// TODO: Check against DB
|
|
184
|
+
const length = await this.getStatusListLength(args);
|
|
185
|
+
const statusListIndex = Array.from({ length: 20 }, () => Math.floor(Math.random() * length));
|
|
186
|
+
const available = await this.statusListStore.availableStatusListEntries({
|
|
187
|
+
statusListId,
|
|
188
|
+
...(correlationId && { correlationId }),
|
|
189
|
+
statusListIndex,
|
|
233
190
|
});
|
|
191
|
+
if (available.length > 0) {
|
|
192
|
+
return available[0]; // doesn't matter we pick the first element, as they are all random anyway
|
|
193
|
+
}
|
|
194
|
+
return -1;
|
|
234
195
|
}
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
196
|
+
async getStatusListLength(args) {
|
|
197
|
+
if (!this._statusListLength) {
|
|
198
|
+
this._statusListLength = await this.getStatusList(args).then((details) => details.length);
|
|
199
|
+
}
|
|
200
|
+
return this._statusListLength;
|
|
201
|
+
}
|
|
202
|
+
async getStatusList(args) {
|
|
203
|
+
const id = this.options.id;
|
|
204
|
+
const correlationId = args?.correlationId ?? this.options.correlationId;
|
|
205
|
+
return await this.statusListStore
|
|
206
|
+
.getStatusList({ id, correlationId })
|
|
207
|
+
.then((statusListEntity) => statusListCredentialToDetails({ statusListCredential: statusListEntity.statusListCredential }));
|
|
208
|
+
}
|
|
209
|
+
async getStatusLists() {
|
|
210
|
+
const statusLists = await this.statusListStore.getStatusLists({});
|
|
211
|
+
return Promise.all(statusLists.map(async (statusListEntity) => {
|
|
212
|
+
return statusListCredentialToDetails({
|
|
213
|
+
statusListCredential: statusListEntity.statusListCredential,
|
|
214
|
+
});
|
|
215
|
+
}));
|
|
244
216
|
}
|
|
245
217
|
isStatusListIndexInUse() {
|
|
246
218
|
return Promise.resolve(false);
|
|
247
219
|
}
|
|
248
220
|
}
|
|
249
|
-
exports.AgentDataSourceStatusListDriver = AgentDataSourceStatusListDriver;
|
|
250
221
|
//# sourceMappingURL=drivers.js.map
|
package/dist/drivers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"drivers.js","sourceRoot":"","sources":["../src/drivers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"drivers.js","sourceRoot":"","sources":["../src/drivers.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,22 +1,6 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
1
|
/**
|
|
18
2
|
* @public
|
|
19
3
|
*/
|
|
20
|
-
|
|
21
|
-
|
|
4
|
+
export * from './types';
|
|
5
|
+
export * from './drivers';
|
|
22
6
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA"}
|
|
@@ -1,9 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
const ssi_types_1 = require("@sphereon/ssi-types");
|
|
5
|
-
const StatusListEntities_1 = require("@sphereon/ssi-sdk.data-store/dist/entities/statusList/StatusListEntities");
|
|
6
|
-
function statusListResultToEntity(result) {
|
|
1
|
+
import { StatusListType } from '@sphereon/ssi-types';
|
|
2
|
+
import { OAuthStatusListEntity, StatusList2021Entity } from '@sphereon/ssi-sdk.data-store/dist/entities/statusList/StatusListEntities';
|
|
3
|
+
export function statusListResultToEntity(result) {
|
|
7
4
|
const baseFields = {
|
|
8
5
|
id: result.id,
|
|
9
6
|
correlationId: result.correlationId,
|
|
@@ -15,17 +12,25 @@ function statusListResultToEntity(result) {
|
|
|
15
12
|
proofFormat: result.proofFormat,
|
|
16
13
|
statusListCredential: result.statusListCredential,
|
|
17
14
|
};
|
|
18
|
-
if (result.type ===
|
|
15
|
+
if (result.type === StatusListType.StatusList2021) {
|
|
19
16
|
if (!result.statusList2021) {
|
|
20
17
|
throw new Error('Missing statusList2021 details');
|
|
21
18
|
}
|
|
22
|
-
return Object.assign(new
|
|
19
|
+
return Object.assign(new StatusList2021Entity(), {
|
|
20
|
+
...baseFields,
|
|
21
|
+
indexingDirection: result.statusList2021.indexingDirection,
|
|
22
|
+
statusPurpose: result.statusList2021.statusPurpose,
|
|
23
|
+
});
|
|
23
24
|
}
|
|
24
|
-
else if (result.type ===
|
|
25
|
+
else if (result.type === StatusListType.OAuthStatusList) {
|
|
25
26
|
if (!result.oauthStatusList) {
|
|
26
27
|
throw new Error('Missing oauthStatusList details');
|
|
27
28
|
}
|
|
28
|
-
return Object.assign(new
|
|
29
|
+
return Object.assign(new OAuthStatusListEntity(), {
|
|
30
|
+
...baseFields,
|
|
31
|
+
bitsPerStatus: result.oauthStatusList.bitsPerStatus,
|
|
32
|
+
expiresAt: result.oauthStatusList.expiresAt,
|
|
33
|
+
});
|
|
29
34
|
}
|
|
30
35
|
throw new Error(`Unsupported status list type: ${result.type}`);
|
|
31
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-list-adapters.js","sourceRoot":"","sources":["../src/status-list-adapters.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"status-list-adapters.js","sourceRoot":"","sources":["../src/status-list-adapters.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,0EAA0E,CAAA;AAGtI,MAAM,UAAU,wBAAwB,CAAC,MAAwB;IAC/D,MAAM,UAAU,GAAG;QACjB,EAAE,EAAE,MAAM,CAAC,EAAE;QACb,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;QACzC,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,WAAW,EAAE,MAAM,CAAC,WAAW;QAC/B,oBAAoB,EAAE,MAAM,CAAC,oBAAoB;KAClD,CAAA;IAED,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,EAAE,CAAC;QAClD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAA;QACnD,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,oBAAoB,EAAE,EAAE;YAC/C,GAAG,UAAU;YACb,iBAAiB,EAAE,MAAM,CAAC,cAAc,CAAC,iBAAiB;YAC1D,aAAa,EAAE,MAAM,CAAC,cAAc,CAAC,aAAa;SACnD,CAAC,CAAA;IACJ,CAAC;SAAM,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,eAAe,EAAE,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACpD,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,qBAAqB,EAAE,EAAE;YAChD,GAAG,UAAU;YACb,aAAa,EAAE,MAAM,CAAC,eAAe,CAAC,aAAa;YACnD,SAAS,EAAE,MAAM,CAAC,eAAe,CAAC,SAAS;SAC5C,CAAC,CAAA;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;AACjE,CAAC"}
|
package/dist/types.js
CHANGED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.vc-status-list-issuer-drivers",
|
|
3
3
|
"description": "Sphereon SSI-SDK plugin for Status List management, like StatusList2021. Issuer drivers module",
|
|
4
|
-
"version": "0.33.
|
|
4
|
+
"version": "0.33.1-feature.vcdm2.4+9f634bdb",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -10,14 +10,14 @@
|
|
|
10
10
|
"build:clean": "tsc --build --clean && tsc --build"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@sphereon/ssi-express-support": "0.33.
|
|
13
|
+
"@sphereon/ssi-express-support": "0.33.1-feature.vcdm2.4+9f634bdb",
|
|
14
14
|
"@sphereon/ssi-sdk-ext.did-utils": "0.28.0",
|
|
15
15
|
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.28.0",
|
|
16
|
-
"@sphereon/ssi-sdk.agent-config": "0.33.
|
|
17
|
-
"@sphereon/ssi-sdk.core": "0.33.
|
|
18
|
-
"@sphereon/ssi-sdk.data-store": "0.33.
|
|
19
|
-
"@sphereon/ssi-sdk.vc-status-list": "0.33.
|
|
20
|
-
"@sphereon/ssi-types": "0.33.
|
|
16
|
+
"@sphereon/ssi-sdk.agent-config": "0.33.1-feature.vcdm2.4+9f634bdb",
|
|
17
|
+
"@sphereon/ssi-sdk.core": "0.33.1-feature.vcdm2.4+9f634bdb",
|
|
18
|
+
"@sphereon/ssi-sdk.data-store": "0.33.1-feature.vcdm2.4+9f634bdb",
|
|
19
|
+
"@sphereon/ssi-sdk.vc-status-list": "0.33.1-feature.vcdm2.4+9f634bdb",
|
|
20
|
+
"@sphereon/ssi-types": "0.33.1-feature.vcdm2.4+9f634bdb",
|
|
21
21
|
"@sphereon/vc-status-list": "7.0.0-next.0",
|
|
22
22
|
"@veramo/core": "4.2.0",
|
|
23
23
|
"debug": "^4.3.5",
|
|
@@ -49,5 +49,5 @@
|
|
|
49
49
|
"StatusList2021"
|
|
50
50
|
],
|
|
51
51
|
"nx": {},
|
|
52
|
-
"gitHead": "
|
|
52
|
+
"gitHead": "9f634bdb714061141e277508c124b08d626f6036"
|
|
53
53
|
}
|