@sphereon/ssi-sdk.vc-status-list-issuer-rest-api 0.33.1-feature.vcdm2.4 → 0.33.1-feature.vcdm2.tsup.18
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 +466 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.cts +76 -0
- package/dist/index.d.ts +76 -7
- package/dist/index.js +423 -6
- package/dist/index.js.map +1 -1
- package/package.json +36 -26
- package/dist/api-functions.d.ts +0 -8
- package/dist/api-functions.d.ts.map +0 -1
- package/dist/api-functions.js +0 -297
- package/dist/api-functions.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/statuslist-management-api-server.d.ts +0 -22
- package/dist/statuslist-management-api-server.d.ts.map +0 -1
- package/dist/statuslist-management-api-server.js +0 -64
- package/dist/statuslist-management-api-server.js.map +0 -1
- package/dist/types.d.ts +0 -52
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -11
- package/dist/types.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,42 +1,53 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.vc-status-list-issuer-rest-api",
|
|
3
3
|
"description": "Sphereon SSI-SDK plugin for Status List management, like StatusList2021. Issuer drivers module",
|
|
4
|
-
"version": "0.33.1-feature.vcdm2.
|
|
4
|
+
"version": "0.33.1-feature.vcdm2.tsup.18+1fbb8be0",
|
|
5
5
|
"source": "src/index.ts",
|
|
6
|
-
"
|
|
7
|
-
"
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.cjs",
|
|
8
|
+
"module": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
"import": {
|
|
12
|
+
"types": "./dist/index.d.ts",
|
|
13
|
+
"import": "./dist/index.js"
|
|
14
|
+
},
|
|
15
|
+
"require": {
|
|
16
|
+
"types": "./dist/index.d.cts",
|
|
17
|
+
"require": "./dist/index.cjs"
|
|
18
|
+
}
|
|
19
|
+
},
|
|
8
20
|
"scripts": {
|
|
9
|
-
"build": "
|
|
10
|
-
"build:clean": "tsc --build --clean && tsc --build",
|
|
21
|
+
"build": "tsup --config ../../tsup.config.ts --tsconfig ../../tsconfig.tsup.json",
|
|
11
22
|
"start:dev": "node --experimental-specifier-resolution=node --loader ts-node/esm __tests__/agent.ts",
|
|
12
23
|
"start:dev2": "node --experimental-specifier-resolution=node --loader ts-node/esm __tests__/agent.ts"
|
|
13
24
|
},
|
|
14
25
|
"dependencies": {
|
|
15
|
-
"@sphereon/ssi-express-support": "0.33.1-feature.vcdm2.
|
|
16
|
-
"@sphereon/ssi-sdk-ext.did-utils": "0.28.
|
|
17
|
-
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.28.
|
|
18
|
-
"@sphereon/ssi-sdk-ext.jwt-service": "0.28.
|
|
19
|
-
"@sphereon/ssi-sdk.core": "0.33.1-feature.vcdm2.
|
|
20
|
-
"@sphereon/ssi-sdk.data-store": "0.33.1-feature.vcdm2.
|
|
21
|
-
"@sphereon/ssi-sdk.vc-status-list": "0.33.1-feature.vcdm2.
|
|
22
|
-
"@sphereon/ssi-sdk.vc-status-list-issuer-drivers": "0.33.1-feature.vcdm2.
|
|
23
|
-
"@sphereon/ssi-types": "0.33.1-feature.vcdm2.
|
|
26
|
+
"@sphereon/ssi-express-support": "^0.33.1-feature.vcdm2.tsup.18+1fbb8be0",
|
|
27
|
+
"@sphereon/ssi-sdk-ext.did-utils": "0.28.1-feature.esm.cjs.11",
|
|
28
|
+
"@sphereon/ssi-sdk-ext.identifier-resolution": "0.28.1-feature.esm.cjs.11",
|
|
29
|
+
"@sphereon/ssi-sdk-ext.jwt-service": "0.28.1-feature.esm.cjs.11",
|
|
30
|
+
"@sphereon/ssi-sdk.core": "^0.33.1-feature.vcdm2.tsup.18+1fbb8be0",
|
|
31
|
+
"@sphereon/ssi-sdk.data-store": "^0.33.1-feature.vcdm2.tsup.18+1fbb8be0",
|
|
32
|
+
"@sphereon/ssi-sdk.vc-status-list": "^0.33.1-feature.vcdm2.tsup.18+1fbb8be0",
|
|
33
|
+
"@sphereon/ssi-sdk.vc-status-list-issuer-drivers": "^0.33.1-feature.vcdm2.tsup.18+1fbb8be0",
|
|
34
|
+
"@sphereon/ssi-types": "^0.33.1-feature.vcdm2.tsup.18+1fbb8be0",
|
|
24
35
|
"@sphereon/vc-status-list": "7.0.0-next.0",
|
|
25
36
|
"@veramo/core": "4.2.0",
|
|
26
37
|
"debug": "^4.3.5",
|
|
27
38
|
"express": "^4.19.2",
|
|
28
|
-
"reflect-metadata": "0.2.2",
|
|
29
|
-
"typeorm": "^0.3.
|
|
39
|
+
"reflect-metadata": "^0.2.2",
|
|
40
|
+
"typeorm": "^0.3.22",
|
|
30
41
|
"uint8arrays": "^3.1.1",
|
|
31
42
|
"uuid": "^9.0.1"
|
|
32
43
|
},
|
|
33
44
|
"devDependencies": {
|
|
34
45
|
"@sphereon/did-uni-client": "^0.6.3",
|
|
35
|
-
"@sphereon/ssi-sdk-ext.did-provider-jwk": "0.28.
|
|
36
|
-
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.28.
|
|
37
|
-
"@sphereon/ssi-sdk.agent-config": "0.33.1-feature.vcdm2.
|
|
38
|
-
"@sphereon/ssi-sdk.data-store": "workspace
|
|
39
|
-
"@sphereon/ssi-sdk.vc-handler-ld-local": "0.33.1-feature.vcdm2.
|
|
46
|
+
"@sphereon/ssi-sdk-ext.did-provider-jwk": "0.28.1-feature.esm.cjs.11",
|
|
47
|
+
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.28.1-feature.esm.cjs.11",
|
|
48
|
+
"@sphereon/ssi-sdk.agent-config": "^0.33.1-feature.vcdm2.tsup.18+1fbb8be0",
|
|
49
|
+
"@sphereon/ssi-sdk.data-store": "workspace:^",
|
|
50
|
+
"@sphereon/ssi-sdk.vc-handler-ld-local": "^0.33.1-feature.vcdm2.tsup.18+1fbb8be0",
|
|
40
51
|
"@types/body-parser": "^1.19.5",
|
|
41
52
|
"@types/cookie-parser": "^1.4.7",
|
|
42
53
|
"@types/cors": "^2.8.17",
|
|
@@ -59,11 +70,11 @@
|
|
|
59
70
|
"@veramo/utils": "4.2.0",
|
|
60
71
|
"did-resolver": "^4.1.0",
|
|
61
72
|
"morgan": "^1.10.0",
|
|
62
|
-
"typescript": "5.
|
|
73
|
+
"typescript": "5.8.3"
|
|
63
74
|
},
|
|
64
75
|
"files": [
|
|
65
|
-
"dist
|
|
66
|
-
"src
|
|
76
|
+
"dist",
|
|
77
|
+
"src",
|
|
67
78
|
"README.md",
|
|
68
79
|
"LICENSE"
|
|
69
80
|
],
|
|
@@ -79,6 +90,5 @@
|
|
|
79
90
|
"SSI",
|
|
80
91
|
"StatusList2021"
|
|
81
92
|
],
|
|
82
|
-
"
|
|
83
|
-
"gitHead": "9f634bdb714061141e277508c124b08d626f6036"
|
|
93
|
+
"gitHead": "1fbb8be0256ec8dbc1b52d860b7bfd09d12f0d00"
|
|
84
94
|
}
|
package/dist/api-functions.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { Router } from 'express';
|
|
2
|
-
import { ICredentialStatusListEndpointOpts, IRequiredContext, IW3CredentialStatusEndpointOpts } from './types';
|
|
3
|
-
export declare function createNewStatusListEndpoint(router: Router, context: IRequiredContext, opts: ICredentialStatusListEndpointOpts): void;
|
|
4
|
-
export declare function getStatusListCredentialEndpoint(router: Router, context: IRequiredContext, opts: ICredentialStatusListEndpointOpts): void;
|
|
5
|
-
export declare function getStatusListCredentialIndexStatusEndpoint(router: Router, context: IRequiredContext, opts: ICredentialStatusListEndpointOpts): void;
|
|
6
|
-
export declare function getStatusListCredentialIndexStatusEndpointLegacy(router: Router, context: IRequiredContext, opts: ICredentialStatusListEndpointOpts): void;
|
|
7
|
-
export declare function updateStatusEndpoint(router: Router, context: IRequiredContext, opts: IW3CredentialStatusEndpointOpts): void;
|
|
8
|
-
//# sourceMappingURL=api-functions.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-functions.d.ts","sourceRoot":"","sources":["../src/api-functions.ts"],"names":[],"mappings":"AASA,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAA;AACnD,OAAO,EAEL,iCAAiC,EACjC,gBAAgB,EAChB,+BAA+B,EAIhC,MAAM,SAAS,CAAA;AAmChB,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,iCAAiC,QAoB7H;AAED,wBAAgB,+BAA+B,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,iCAAiC,QAsBjI;AAED,wBAAgB,0CAA0C,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,iCAAiC,QA4E5I;AAED,wBAAgB,gDAAgD,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,iCAAiC,QA0DlJ;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,+BAA+B,QAgGpH"}
|
package/dist/api-functions.js
DELETED
|
@@ -1,297 +0,0 @@
|
|
|
1
|
-
import { checkAuth, sendErrorResponse } from '@sphereon/ssi-express-support';
|
|
2
|
-
import { checkStatusIndexFromStatusListCredential, updateStatusIndexFromStatusListCredential, } from '@sphereon/ssi-sdk.vc-status-list';
|
|
3
|
-
import { getDriver } from '@sphereon/ssi-sdk.vc-status-list-issuer-drivers';
|
|
4
|
-
import Debug from 'debug';
|
|
5
|
-
import { EntryIdType, StatusListIdType, } from './types';
|
|
6
|
-
import { StatusListType } from '@sphereon/ssi-types';
|
|
7
|
-
const debug = Debug('sphereon:ssi-sdk:status-list');
|
|
8
|
-
function sendStatuslistResponse(details, statuslistPayload, response) {
|
|
9
|
-
let payload;
|
|
10
|
-
switch (details.proofFormat) {
|
|
11
|
-
case 'jwt':
|
|
12
|
-
case 'cbor':
|
|
13
|
-
payload = Buffer.from(statuslistPayload, 'ascii');
|
|
14
|
-
break;
|
|
15
|
-
default:
|
|
16
|
-
payload = statuslistPayload;
|
|
17
|
-
}
|
|
18
|
-
return response.status(200).setHeader('Content-Type', details.statuslistContentType).send(payload);
|
|
19
|
-
}
|
|
20
|
-
function buildStatusListId(request) {
|
|
21
|
-
const protocol = request.headers['x-forwarded-proto']?.toString() ?? request.protocol;
|
|
22
|
-
let host = request.headers['x-forwarded-host']?.toString() ?? request.get('host');
|
|
23
|
-
const forwardedPort = request.headers['x-forwarded-port']?.toString();
|
|
24
|
-
if (forwardedPort && !(protocol === 'https' && forwardedPort === '443') && !(protocol === 'http' && forwardedPort === '80')) {
|
|
25
|
-
host += `:${forwardedPort}`;
|
|
26
|
-
}
|
|
27
|
-
const forwardedPrefix = request.headers['x-forwarded-prefix']?.toString() ?? '';
|
|
28
|
-
return `${protocol}://${host}${forwardedPrefix}${request.originalUrl.split('?')[0].replace(/\/status\/index\/.*/, '')}`;
|
|
29
|
-
}
|
|
30
|
-
export function createNewStatusListEndpoint(router, context, opts) {
|
|
31
|
-
if (opts?.enabled === false) {
|
|
32
|
-
console.log(`Create new status list endpoint is disabled`);
|
|
33
|
-
return;
|
|
34
|
-
}
|
|
35
|
-
const path = opts?.path ?? '/status-lists';
|
|
36
|
-
router.post(path, checkAuth(opts?.endpoint), async (request, response) => {
|
|
37
|
-
try {
|
|
38
|
-
const statusListArgs = request.body.statusList;
|
|
39
|
-
if (!statusListArgs) {
|
|
40
|
-
return sendErrorResponse(response, 400, 'No statusList details supplied');
|
|
41
|
-
}
|
|
42
|
-
const details = await context.agent.slCreateStatusList(statusListArgs);
|
|
43
|
-
const statuslistPayload = details.statusListCredential;
|
|
44
|
-
return sendStatuslistResponse(details, statuslistPayload, response);
|
|
45
|
-
}
|
|
46
|
-
catch (e) {
|
|
47
|
-
return sendErrorResponse(response, 500, e.message, e);
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}
|
|
51
|
-
export function getStatusListCredentialEndpoint(router, context, opts) {
|
|
52
|
-
if (opts?.enabled === false) {
|
|
53
|
-
console.log(`Get statusList credential endpoint is disabled`);
|
|
54
|
-
return;
|
|
55
|
-
}
|
|
56
|
-
const path = opts?.path ?? '/status-lists/:index';
|
|
57
|
-
router.get(path, checkAuth(opts?.endpoint), async (request, response) => {
|
|
58
|
-
try {
|
|
59
|
-
//todo: Check index against correlationId first. Then match originalUrl against statusList id
|
|
60
|
-
//const correlationId = request.query.correlationId?.toString() ?? request.params.index?.toString() ?? request.originalUrl TODO I so not get these
|
|
61
|
-
const correlationId = request.query.correlationId?.toString();
|
|
62
|
-
const driver = await getDriver({
|
|
63
|
-
...(correlationId ? { correlationId } : { id: buildStatusListId(request) }),
|
|
64
|
-
dbName: opts.dbName,
|
|
65
|
-
});
|
|
66
|
-
const details = await driver.getStatusList();
|
|
67
|
-
const statuslistPayload = details.statusListCredential;
|
|
68
|
-
return sendStatuslistResponse(details, statuslistPayload, response);
|
|
69
|
-
}
|
|
70
|
-
catch (e) {
|
|
71
|
-
return sendErrorResponse(response, 500, e.message, e);
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
export function getStatusListCredentialIndexStatusEndpoint(router, context, opts) {
|
|
76
|
-
if (opts?.enabled === false) {
|
|
77
|
-
console.log(`Get statusList credential index status endpoint is disabled`);
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
const path = opts?.path ?? '/status-lists/:statusListId/status/entry-by-id/:entryId';
|
|
81
|
-
router.get(path, checkAuth(opts?.endpoint), async (request, response) => {
|
|
82
|
-
try {
|
|
83
|
-
const statusListIdType = request.query.statusListIdType ?? StatusListIdType.StatusListId;
|
|
84
|
-
const entryIdType = request.query.entryIdType ?? EntryIdType.StatusListIndex;
|
|
85
|
-
let statusListIndex;
|
|
86
|
-
let entityCorrelationId;
|
|
87
|
-
let statusListId;
|
|
88
|
-
let statusListCorrelationId;
|
|
89
|
-
if (entryIdType === EntryIdType.StatusListIndex) {
|
|
90
|
-
try {
|
|
91
|
-
statusListIndex = Number.parseInt(request.params.entryId);
|
|
92
|
-
if (!statusListIndex || statusListIndex < 0) {
|
|
93
|
-
return sendErrorResponse(response, 400, `Please provide a proper statusListIndex`);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
catch (error) {
|
|
97
|
-
return sendErrorResponse(response, 400, `Please provide a proper statusListIndex`);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
else {
|
|
101
|
-
entityCorrelationId = request.params.entryId;
|
|
102
|
-
}
|
|
103
|
-
if (statusListIdType === StatusListIdType.StatusListId) {
|
|
104
|
-
statusListId = request.params.statusListId;
|
|
105
|
-
}
|
|
106
|
-
else {
|
|
107
|
-
statusListCorrelationId = request.params.statusListId;
|
|
108
|
-
}
|
|
109
|
-
const driver = await getDriver({
|
|
110
|
-
...(statusListCorrelationId ? { correlationId: statusListCorrelationId } : { id: statusListId }),
|
|
111
|
-
dbName: opts.dbName,
|
|
112
|
-
});
|
|
113
|
-
const details = await driver.getStatusList();
|
|
114
|
-
if (statusListIndex && statusListIndex > details.length) {
|
|
115
|
-
return sendErrorResponse(response, 400, `Please provide a proper statusListIndex`);
|
|
116
|
-
}
|
|
117
|
-
let entry = await driver.getStatusListEntryByIndex({
|
|
118
|
-
statusListId: details.id,
|
|
119
|
-
...(entityCorrelationId ? { correlationId: entityCorrelationId } : { statusListIndex }),
|
|
120
|
-
errorOnNotFound: false,
|
|
121
|
-
});
|
|
122
|
-
const type = details.type === StatusListType.StatusList2021 ? 'StatusList2021Entry' : details.type;
|
|
123
|
-
const resultStatusIndex = entry?.statusListIndex ?? statusListIndex ?? 0;
|
|
124
|
-
const status = await checkStatusIndexFromStatusListCredential({
|
|
125
|
-
statusListCredential: details.statusListCredential,
|
|
126
|
-
...(details.type === StatusListType.StatusList2021 ? { statusPurpose: details.statusList2021?.statusPurpose } : {}),
|
|
127
|
-
type,
|
|
128
|
-
id: details.id,
|
|
129
|
-
statusListIndex: resultStatusIndex,
|
|
130
|
-
});
|
|
131
|
-
if (!entry) {
|
|
132
|
-
entry = {
|
|
133
|
-
statusListId: details.id,
|
|
134
|
-
value: '0',
|
|
135
|
-
statusListIndex: resultStatusIndex,
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
response.statusCode = 200;
|
|
139
|
-
return response.json({ ...entry, status });
|
|
140
|
-
}
|
|
141
|
-
catch (e) {
|
|
142
|
-
return sendErrorResponse(response, 500, e.message, e);
|
|
143
|
-
}
|
|
144
|
-
});
|
|
145
|
-
}
|
|
146
|
-
export function getStatusListCredentialIndexStatusEndpointLegacy(router, context, opts) {
|
|
147
|
-
if (opts?.enabled === false) {
|
|
148
|
-
console.log(`Get statusList credential index status endpoint is disabled`);
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
const path = opts?.path ?? '/status-lists/:index/status/index/:statusListIndex';
|
|
152
|
-
router.get(path, checkAuth(opts?.endpoint), async (request, response) => {
|
|
153
|
-
try {
|
|
154
|
-
//todo: Check index against correlationId first. Then match originalUrl against statusList id
|
|
155
|
-
const statusListIndexStr = request.params.statusListIndex;
|
|
156
|
-
let statusListIndex;
|
|
157
|
-
try {
|
|
158
|
-
statusListIndex = Number.parseInt(statusListIndexStr);
|
|
159
|
-
}
|
|
160
|
-
catch (error) {
|
|
161
|
-
return sendErrorResponse(response, 400, `Please provide a proper statusListIndex`);
|
|
162
|
-
}
|
|
163
|
-
if (!statusListIndex || statusListIndex < 0) {
|
|
164
|
-
return sendErrorResponse(response, 400, `Please provide a proper statusListIndex`);
|
|
165
|
-
}
|
|
166
|
-
//const correlationId = request.query.correlationId?.toString() ?? request.params.index?.toString() ?? request.originalUrl TODO I so not get these
|
|
167
|
-
const statusListCorrelationId = request.query.correlationId?.toString();
|
|
168
|
-
const driver = await getDriver({
|
|
169
|
-
...(statusListCorrelationId ? { correlationId: statusListCorrelationId } : { id: buildStatusListId(request) }),
|
|
170
|
-
dbName: opts.dbName,
|
|
171
|
-
});
|
|
172
|
-
const details = await driver.getStatusList();
|
|
173
|
-
if (statusListIndex > details.length) {
|
|
174
|
-
return sendErrorResponse(response, 400, `Please provide a proper statusListIndex`);
|
|
175
|
-
}
|
|
176
|
-
const entityCorrelationId = request.query.entityCorrelationId?.toString();
|
|
177
|
-
let entry = await driver.getStatusListEntryByIndex({
|
|
178
|
-
statusListId: details.id,
|
|
179
|
-
...(entityCorrelationId ? { correlationId: entityCorrelationId } : { statusListIndex: statusListIndex }),
|
|
180
|
-
errorOnNotFound: false,
|
|
181
|
-
});
|
|
182
|
-
const type = details.type === StatusListType.StatusList2021 ? 'StatusList2021Entry' : details.type;
|
|
183
|
-
const status = await checkStatusIndexFromStatusListCredential({
|
|
184
|
-
statusListCredential: details.statusListCredential,
|
|
185
|
-
...(details.type === StatusListType.StatusList2021 ? { statusPurpose: details.statusList2021?.statusPurpose } : {}),
|
|
186
|
-
type,
|
|
187
|
-
id: details.id,
|
|
188
|
-
statusListIndex,
|
|
189
|
-
});
|
|
190
|
-
if (!entry) {
|
|
191
|
-
// The fact we have nothing on it means the status is okay
|
|
192
|
-
entry = {
|
|
193
|
-
statusListId: details.id,
|
|
194
|
-
value: '0',
|
|
195
|
-
statusListIndex,
|
|
196
|
-
};
|
|
197
|
-
}
|
|
198
|
-
response.statusCode = 200;
|
|
199
|
-
return response.json({ ...entry, status });
|
|
200
|
-
}
|
|
201
|
-
catch (e) {
|
|
202
|
-
return sendErrorResponse(response, 500, e.message, e);
|
|
203
|
-
}
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
export function updateStatusEndpoint(router, context, opts) {
|
|
207
|
-
if (opts?.enabled === false) {
|
|
208
|
-
console.log(`Update credential status endpoint is disabled`);
|
|
209
|
-
return;
|
|
210
|
-
}
|
|
211
|
-
router.post(opts?.path ?? '/credentials/status', checkAuth(opts?.endpoint), async (request, response) => {
|
|
212
|
-
try {
|
|
213
|
-
debug(JSON.stringify(request.body, null, 2));
|
|
214
|
-
const updateRequest = request.body;
|
|
215
|
-
const statusListId = updateRequest.statusListId ?? request.query.statusListId?.toString() ?? opts.statusListId; // TODO why query params when we have a JSON body ??
|
|
216
|
-
const statusListCorrelationId = updateRequest.statusListCorrelationId ?? request.query.statusListrelationId?.toString() ?? opts.correlationId;
|
|
217
|
-
const entryCorrelationId = updateRequest.entryCorrelationId ?? request.query.entryCorrelationId?.toString();
|
|
218
|
-
// TODO: Move mostly to driver
|
|
219
|
-
if (!statusListId && !statusListCorrelationId) {
|
|
220
|
-
return sendErrorResponse(response, 400, 'No statusList id or correlation Id provided or deduced for the API or in the request');
|
|
221
|
-
}
|
|
222
|
-
else if (!updateRequest.credentialStatus || updateRequest.credentialStatus.length === 0) {
|
|
223
|
-
return sendErrorResponse(response, 400, 'No statusList updates supplied');
|
|
224
|
-
}
|
|
225
|
-
const driver = await getDriver({
|
|
226
|
-
...(statusListCorrelationId ? { correlationId: statusListCorrelationId } : { id: buildStatusListId(request) }),
|
|
227
|
-
dbName: opts.dbName,
|
|
228
|
-
});
|
|
229
|
-
let statusListResult = await driver.getStatusList();
|
|
230
|
-
// Get status list entry based on request type
|
|
231
|
-
let statusListEntry;
|
|
232
|
-
if ('credentialId' in updateRequest) {
|
|
233
|
-
if (!updateRequest.credentialId) {
|
|
234
|
-
return sendErrorResponse(response, 400, 'No credentialId supplied');
|
|
235
|
-
}
|
|
236
|
-
// unfortunately the W3C API works by credentialId. Which means you will have to map listIndices during issuance
|
|
237
|
-
statusListEntry = await driver.getStatusListEntryByCredentialId({
|
|
238
|
-
statusListId,
|
|
239
|
-
statusListCorrelationId,
|
|
240
|
-
entryCorrelationId,
|
|
241
|
-
credentialId: updateRequest.credentialId,
|
|
242
|
-
errorOnNotFound: true,
|
|
243
|
-
});
|
|
244
|
-
}
|
|
245
|
-
else {
|
|
246
|
-
statusListEntry = await driver.getStatusListEntryByIndex({
|
|
247
|
-
...(statusListResult.id && { statusListId: statusListResult.id }),
|
|
248
|
-
...(statusListResult.correlationId && { statusListCorrelationId: statusListResult.correlationId }),
|
|
249
|
-
...(entryCorrelationId ? { entryCorrelationId } : { statusListIndex: updateRequest.statusListIndex }),
|
|
250
|
-
errorOnNotFound: true,
|
|
251
|
-
});
|
|
252
|
-
}
|
|
253
|
-
if (!statusListEntry) {
|
|
254
|
-
const identifier = 'credentialId' in updateRequest ? updateRequest.credentialId : `index ${updateRequest.statusListIndex}`;
|
|
255
|
-
return sendErrorResponse(response, 404, `Status list entry for ${identifier} not found for ${statusListId}`);
|
|
256
|
-
}
|
|
257
|
-
let statusListCredential = statusListResult.statusListCredential;
|
|
258
|
-
for (const updateItem of updateRequest.credentialStatus) {
|
|
259
|
-
if (!updateItem.status) {
|
|
260
|
-
return sendErrorResponse(response, 400, `Required 'status' value was missing in the credentialStatus array`);
|
|
261
|
-
}
|
|
262
|
-
let value = '1';
|
|
263
|
-
if (updateItem.status === '0' || updateItem.status.toLowerCase() === 'false') {
|
|
264
|
-
value = '0';
|
|
265
|
-
}
|
|
266
|
-
else if (updateItem.status !== '1' && updateItem.status.toLowerCase() !== 'true') {
|
|
267
|
-
if (updateItem.type === StatusListType.StatusList2021) {
|
|
268
|
-
// 2021 only allows 0 and 1
|
|
269
|
-
return sendErrorResponse(response, 400, `Invalid 'status' value in the credentialStatus array: ${updateItem.status}`);
|
|
270
|
-
}
|
|
271
|
-
else if (parseInt(updateItem.status) < 0 || parseInt(updateItem.status) > 255) {
|
|
272
|
-
return sendErrorResponse(response, 400, `Invalid 'status' value in the credentialStatus array: ${updateItem.status}`);
|
|
273
|
-
}
|
|
274
|
-
value = `${parseInt(updateItem.status)}`;
|
|
275
|
-
}
|
|
276
|
-
const updStatusListId = statusListId ?? statusListEntry.statusList?.id; // When input was statusListCorrelationId the statusList id should come from statusListEntry
|
|
277
|
-
if (!updStatusListId) {
|
|
278
|
-
return sendErrorResponse(response, 400, 'statuslist id could not be determined');
|
|
279
|
-
}
|
|
280
|
-
await driver.updateStatusListEntry({ ...statusListEntry, statusListId: updStatusListId, value });
|
|
281
|
-
// todo: optimize. We are now creating a new VC for every item passed in. Probably wise to look at DB as well
|
|
282
|
-
statusListResult = await updateStatusIndexFromStatusListCredential({
|
|
283
|
-
statusListCredential: statusListCredential,
|
|
284
|
-
statusListIndex: statusListEntry.statusListIndex,
|
|
285
|
-
value: parseInt(value),
|
|
286
|
-
keyRef: opts.keyRef,
|
|
287
|
-
}, context);
|
|
288
|
-
statusListResult = await driver.updateStatusList({ statusListCredential: statusListResult.statusListCredential });
|
|
289
|
-
}
|
|
290
|
-
return sendStatuslistResponse(statusListResult, statusListResult.statusListCredential, response);
|
|
291
|
-
}
|
|
292
|
-
catch (e) {
|
|
293
|
-
return sendErrorResponse(response, 500, e.message, e);
|
|
294
|
-
}
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
//# sourceMappingURL=api-functions.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-functions.js","sourceRoot":"","sources":["../src/api-functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAA;AAC5E,OAAO,EACL,wCAAwC,EAGxC,yCAAyC,GAC1C,MAAM,kCAAkC,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,iDAAiD,CAAA;AAC3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EACL,WAAW,EAIX,gBAAgB,GAGjB,MAAM,SAAS,CAAA;AAChB,OAAO,EAAwB,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAG1E,MAAM,KAAK,GAAG,KAAK,CAAC,8BAA8B,CAAC,CAAA;AAEnD,SAAS,sBAAsB,CAAC,OAAyB,EAAE,iBAAuC,EAAE,QAAkB;IACpH,IAAI,OAAsC,CAAA;IAE1C,QAAQ,OAAO,CAAC,WAAW,EAAE,CAAC;QAC5B,KAAK,KAAK,CAAC;QACX,KAAK,MAAM;YACT,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,iBAA2B,EAAE,OAAO,CAAC,CAAA;YAC3D,MAAK;QACP;YACE,OAAO,GAAG,iBAAiB,CAAA;IAC/B,CAAC;IAED,OAAO,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,CAAC,qBAAqB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;AACpG,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAAE,QAAQ,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAA;IACrF,IAAI,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,IAAI,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IACjF,MAAM,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,QAAQ,EAAE,CAAA;IAErE,IAAI,aAAa,IAAI,CAAC,CAAC,QAAQ,KAAK,OAAO,IAAI,aAAa,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,KAAK,MAAM,IAAI,aAAa,KAAK,IAAI,CAAC,EAAE,CAAC;QAC5H,IAAI,IAAI,IAAI,aAAa,EAAE,CAAA;IAC7B,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAA;IAE/E,OAAO,GAAG,QAAQ,MAAM,IAAI,GAAG,eAAe,GAAG,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,EAAE,CAAA;AACzH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,MAAc,EAAE,OAAyB,EAAE,IAAuC;IAC5H,IAAI,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAA;QAC1D,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,eAAe,CAAA;IAE1C,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,QAAkB,EAAE,EAAE;QAC1F,IAAI,CAAC;YACH,MAAM,cAAc,GAAgC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAA;YAC3E,IAAI,CAAC,cAAc,EAAE,CAAC;gBACpB,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,gCAAgC,CAAC,CAAA;YAC3E,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAA;YACtE,MAAM,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAA;YACtD,OAAO,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAA;QACrE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAClE,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,+BAA+B,CAAC,MAAc,EAAE,OAAyB,EAAE,IAAuC;IAChI,IAAI,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,gDAAgD,CAAC,CAAA;QAC7D,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,sBAAsB,CAAA;IACjD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,QAAkB,EAAE,EAAE;QACzF,IAAI,CAAC;YACH,6FAA6F;YAC7F,kJAAkJ;YAClJ,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAA;YAC7D,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;gBAC7B,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC3E,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAA;YAC5C,MAAM,iBAAiB,GAAG,OAAO,CAAC,oBAAoB,CAAA;YACtD,OAAO,sBAAsB,CAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAA;QACrE,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAClE,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,0CAA0C,CAAC,MAAc,EAAE,OAAyB,EAAE,IAAuC;IAC3I,IAAI,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAA;QAC1E,OAAM;IACR,CAAC;IAED,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,yDAAyD,CAAA;IACpF,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,QAAkB,EAAE,EAAE;QACzF,IAAI,CAAC;YACH,MAAM,gBAAgB,GAAI,OAAO,CAAC,KAAK,CAAC,gBAAqC,IAAI,gBAAgB,CAAC,YAAY,CAAA;YAC9G,MAAM,WAAW,GAAI,OAAO,CAAC,KAAK,CAAC,WAA2B,IAAI,WAAW,CAAC,eAAe,CAAA;YAE7F,IAAI,eAAmC,CAAA;YACvC,IAAI,mBAAuC,CAAA;YAC3C,IAAI,YAAgC,CAAA;YACpC,IAAI,uBAA2C,CAAA;YAE/C,IAAI,WAAW,KAAK,WAAW,CAAC,eAAe,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;oBACzD,IAAI,CAAC,eAAe,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;wBAC5C,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,yCAAyC,CAAC,CAAA;oBACpF,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,yCAAyC,CAAC,CAAA;gBACpF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,mBAAmB,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,CAAA;YAC9C,CAAC;YAED,IAAI,gBAAgB,KAAK,gBAAgB,CAAC,YAAY,EAAE,CAAC;gBACvD,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAA;YAC5C,CAAC;iBAAM,CAAC;gBACN,uBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,YAAY,CAAA;YACvD,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;gBAC7B,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC;gBAChG,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAA;YAEF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAA;YAC5C,IAAI,eAAe,IAAI,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxD,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,yCAAyC,CAAC,CAAA;YACpF,CAAC;YAED,IAAI,KAAK,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC;gBACjD,YAAY,EAAE,OAAO,CAAC,EAAE;gBACxB,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,CAAC;gBACvF,eAAe,EAAE,KAAK;aACvB,CAAC,CAAA;YAEF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;YAClG,MAAM,iBAAiB,GAAG,KAAK,EAAE,eAAe,IAAI,eAAe,IAAI,CAAC,CAAA;YACxE,MAAM,MAAM,GAAG,MAAM,wCAAwC,CAAC;gBAC5D,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;gBAClD,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnH,IAAI;gBACJ,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,eAAe,EAAE,iBAAiB;aACnC,CAAC,CAAA;YAEF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,KAAK,GAAG;oBACN,YAAY,EAAE,OAAO,CAAC,EAAE;oBACxB,KAAK,EAAE,GAAG;oBACV,eAAe,EAAE,iBAAiB;iBACnC,CAAA;YACH,CAAC;YAED,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAClE,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,gDAAgD,CAAC,MAAc,EAAE,OAAyB,EAAE,IAAuC;IACjJ,IAAI,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,6DAA6D,CAAC,CAAA;QAC1E,OAAM;IACR,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,oDAAoD,CAAA;IAC/E,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,QAAkB,EAAE,EAAE;QACzF,IAAI,CAAC;YACH,6FAA6F;YAC7F,MAAM,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC,eAAe,CAAA;YACzD,IAAI,eAAuB,CAAA;YAC3B,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAA;YACvD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,yCAAyC,CAAC,CAAA;YACpF,CAAC;YACD,IAAI,CAAC,eAAe,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBAC5C,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,yCAAyC,CAAC,CAAA;YACpF,CAAC;YACD,kJAAkJ;YAClJ,MAAM,uBAAuB,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,EAAE,QAAQ,EAAE,CAAA;YACvE,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;gBAC7B,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9G,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAA;YACF,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAA;YAC5C,IAAI,eAAe,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;gBACrC,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,yCAAyC,CAAC,CAAA;YACpF,CAAC;YAED,MAAM,mBAAmB,GAAG,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,QAAQ,EAAE,CAAA;YACzE,IAAI,KAAK,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC;gBACjD,YAAY,EAAE,OAAO,CAAC,EAAE;gBACxB,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;gBACxG,eAAe,EAAE,KAAK;aACvB,CAAC,CAAA;YACF,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAA;YAClG,MAAM,MAAM,GAAG,MAAM,wCAAwC,CAAC;gBAC5D,oBAAoB,EAAE,OAAO,CAAC,oBAAoB;gBAClD,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnH,IAAI;gBACJ,EAAE,EAAE,OAAO,CAAC,EAAE;gBACd,eAAe;aAChB,CAAC,CAAA;YACF,IAAI,CAAC,KAAK,EAAE,CAAC;gBACX,0DAA0D;gBAC1D,KAAK,GAAG;oBACN,YAAY,EAAE,OAAO,CAAC,EAAE;oBACxB,KAAK,EAAE,GAAG;oBACV,eAAe;iBAChB,CAAA;YACH,CAAC;YACD,QAAQ,CAAC,UAAU,GAAG,GAAG,CAAA;YACzB,OAAO,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,CAAC,CAAA;QAC5C,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAClE,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAc,EAAE,OAAyB,EAAE,IAAqC;IACnH,IAAI,IAAI,EAAE,OAAO,KAAK,KAAK,EAAE,CAAC;QAC5B,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAA;QAC5D,OAAM;IACR,CAAC;IACD,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,qBAAqB,EAAE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,KAAK,EAAE,OAAgB,EAAE,QAAkB,EAAE,EAAE;QACzH,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;YAC5C,MAAM,aAAa,GAAG,OAAO,CAAC,IAA+E,CAAA;YAC7G,MAAM,YAAY,GAAG,aAAa,CAAC,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,YAAY,CAAA,CAAC,oDAAoD;YACnK,MAAM,uBAAuB,GAAG,aAAa,CAAC,uBAAuB,IAAI,OAAO,CAAC,KAAK,CAAC,oBAAoB,EAAE,QAAQ,EAAE,IAAI,IAAI,CAAC,aAAa,CAAA;YAC7I,MAAM,kBAAkB,GAAG,aAAa,CAAC,kBAAkB,IAAI,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,QAAQ,EAAE,CAAA;YAE3G,8BAA8B;YAC9B,IAAI,CAAC,YAAY,IAAI,CAAC,uBAAuB,EAAE,CAAC;gBAC9C,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,sFAAsF,CAAC,CAAA;YACjI,CAAC;iBAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,IAAI,aAAa,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1F,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,gCAAgC,CAAC,CAAA;YAC3E,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC;gBAC7B,GAAG,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,iBAAiB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9G,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAC,CAAA;YACF,IAAI,gBAAgB,GAAqB,MAAM,MAAM,CAAC,aAAa,EAAE,CAAA;YAErE,8CAA8C;YAC9C,IAAI,eAAmD,CAAA;YACvD,IAAI,cAAc,IAAI,aAAa,EAAE,CAAC;gBACpC,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;oBAChC,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,0BAA0B,CAAC,CAAA;gBACrE,CAAC;gBACD,gHAAgH;gBAChH,eAAe,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC;oBAC9D,YAAY;oBACZ,uBAAuB;oBACvB,kBAAkB;oBAClB,YAAY,EAAE,aAAa,CAAC,YAAY;oBACxC,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAA;YACJ,CAAC;iBAAM,CAAC;gBACN,eAAe,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC;oBACvD,GAAG,CAAC,gBAAgB,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,gBAAgB,CAAC,EAAE,EAAE,CAAC;oBACjE,GAAG,CAAC,gBAAgB,CAAC,aAAa,IAAI,EAAE,uBAAuB,EAAE,gBAAgB,CAAC,aAAa,EAAE,CAAC;oBAClG,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,CAAC,eAAe,EAAE,CAAC;oBACrG,eAAe,EAAE,IAAI;iBACtB,CAAC,CAAA;YACJ,CAAC;YAED,IAAI,CAAC,eAAe,EAAE,CAAC;gBACrB,MAAM,UAAU,GAAG,cAAc,IAAI,aAAa,CAAC,CAAC,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,aAAa,CAAC,eAAe,EAAE,CAAA;gBAC1H,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,yBAAyB,UAAU,kBAAkB,YAAY,EAAE,CAAC,CAAA;YAC9G,CAAC;YAED,IAAI,oBAAoB,GAAG,gBAAgB,CAAC,oBAAoB,CAAA;YAChE,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC;gBACxD,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;oBACvB,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,mEAAmE,CAAC,CAAA;gBAC9G,CAAC;gBAED,IAAI,KAAK,GAAW,GAAG,CAAA;gBACvB,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,OAAO,EAAE,CAAC;oBAC7E,KAAK,GAAG,GAAG,CAAA;gBACb,CAAC;qBAAM,IAAI,UAAU,CAAC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;oBACnF,IAAI,UAAU,CAAC,IAAI,KAAK,cAAc,CAAC,cAAc,EAAE,CAAC;wBACtD,2BAA2B;wBAC3B,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,yDAAyD,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;oBACvH,CAAC;yBAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,GAAG,EAAE,CAAC;wBAChF,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,yDAAyD,UAAU,CAAC,MAAM,EAAE,CAAC,CAAA;oBACvH,CAAC;oBACD,KAAK,GAAG,GAAG,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAA;gBAC1C,CAAC;gBAED,MAAM,eAAe,GAAG,YAAY,IAAI,eAAe,CAAC,UAAU,EAAE,EAAE,CAAA,CAAC,4FAA4F;gBACnK,IAAI,CAAC,eAAe,EAAE,CAAC;oBACrB,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAE,uCAAuC,CAAC,CAAA;gBAClF,CAAC;gBACD,MAAM,MAAM,CAAC,qBAAqB,CAAC,EAAE,GAAG,eAAe,EAAE,YAAY,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAA;gBAEhG,6GAA6G;gBAC7G,gBAAgB,GAAG,MAAM,yCAAyC,CAChE;oBACE,oBAAoB,EAAE,oBAAoB;oBAC1C,eAAe,EAAE,eAAe,CAAC,eAAe;oBAChD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC;oBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;iBACpB,EACD,OAAO,CACR,CAAA;gBACD,gBAAgB,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,CAAA;YACnH,CAAC;YAED,OAAO,sBAAsB,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,oBAAoB,EAAE,QAAQ,CAAC,CAAA;QAClG,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,iBAAiB,CAAC,QAAQ,EAAE,GAAG,EAAG,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC,CAAA;QAClE,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,oCAAoC,CAAA;AAClD,cAAc,SAAS,CAAA;AACvB,cAAc,iBAAiB,CAAA"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { ExpressSupport } from '@sphereon/ssi-express-support';
|
|
2
|
-
import { IStatusListPlugin } from '@sphereon/ssi-sdk.vc-status-list';
|
|
3
|
-
import { TAgent } from '@veramo/core';
|
|
4
|
-
import express, { Express } from 'express';
|
|
5
|
-
import { IStatusListOpts } from './types';
|
|
6
|
-
import { IRequiredPlugins } from '@sphereon/ssi-sdk.vc-status-list-issuer-drivers';
|
|
7
|
-
export declare class StatuslistManagementApiServer {
|
|
8
|
-
get router(): express.Router;
|
|
9
|
-
private readonly _express;
|
|
10
|
-
private readonly _agent;
|
|
11
|
-
private readonly _opts?;
|
|
12
|
-
private readonly _router;
|
|
13
|
-
constructor(args: {
|
|
14
|
-
agent: TAgent<IRequiredPlugins & IStatusListPlugin>;
|
|
15
|
-
expressSupport: ExpressSupport;
|
|
16
|
-
opts: IStatusListOpts;
|
|
17
|
-
});
|
|
18
|
-
get agent(): TAgent<IRequiredPlugins>;
|
|
19
|
-
get opts(): IStatusListOpts | undefined;
|
|
20
|
-
get express(): Express;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=statuslist-management-api-server.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"statuslist-management-api-server.d.ts","sourceRoot":"","sources":["../src/statuslist-management-api-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAA4B,cAAc,EAAE,MAAM,+BAA+B,CAAA;AAExF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,OAAO,EAAE,EAAE,OAAO,EAAU,MAAM,SAAS,CAAA;AAQlD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AAElF,qBAAa,6BAA6B;IACxC,IAAI,MAAM,IAAI,OAAO,CAAC,MAAM,CAE3B;IAED,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;gBAEpB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,CAAC;QAAC,cAAc,EAAE,cAAc,CAAC;QAAC,IAAI,EAAE,eAAe,CAAA;KAAE;IAiChI,IAAI,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAEpC;IAED,IAAI,IAAI,IAAI,eAAe,GAAG,SAAS,CAEtC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { copyGlobalAuthToEndpoint } from '@sphereon/ssi-express-support';
|
|
2
|
-
import { agentContext } from '@sphereon/ssi-sdk.core';
|
|
3
|
-
import express from 'express';
|
|
4
|
-
import { createNewStatusListEndpoint, getStatusListCredentialEndpoint, getStatusListCredentialIndexStatusEndpoint, getStatusListCredentialIndexStatusEndpointLegacy, updateStatusEndpoint, } from './api-functions';
|
|
5
|
-
export class StatuslistManagementApiServer {
|
|
6
|
-
get router() {
|
|
7
|
-
return this._router;
|
|
8
|
-
}
|
|
9
|
-
_express;
|
|
10
|
-
_agent;
|
|
11
|
-
_opts;
|
|
12
|
-
_router;
|
|
13
|
-
constructor(args) {
|
|
14
|
-
const { agent, opts } = args;
|
|
15
|
-
this._agent = agent;
|
|
16
|
-
if (opts?.endpointOpts?.globalAuth) {
|
|
17
|
-
copyGlobalAuthToEndpoint({ opts, key: 'vcApiCredentialStatus' });
|
|
18
|
-
copyGlobalAuthToEndpoint({ opts, key: 'createStatusList' });
|
|
19
|
-
copyGlobalAuthToEndpoint({ opts, key: 'getStatusList' });
|
|
20
|
-
}
|
|
21
|
-
this._opts = opts;
|
|
22
|
-
this._express = args.expressSupport.express;
|
|
23
|
-
this._router = express.Router();
|
|
24
|
-
const context = agentContext(agent);
|
|
25
|
-
const features = opts?.enableFeatures ?? ['status-list-management', 'status-list-hosting', 'w3c-vc-api-credential-status'];
|
|
26
|
-
console.log(`Status List API enabled, with features: ${JSON.stringify(features)}`);
|
|
27
|
-
// Credential Status (List) endpoints
|
|
28
|
-
if (features.includes('status-list-management')) {
|
|
29
|
-
createNewStatusListEndpoint(this.router, context, opts.endpointOpts.createStatusList);
|
|
30
|
-
}
|
|
31
|
-
if (features.includes('status-list-hosting')) {
|
|
32
|
-
getStatusListCredentialEndpoint(this.router, context, opts.endpointOpts.getStatusList);
|
|
33
|
-
getStatusListCredentialIndexStatusEndpoint(this.router, context, opts.endpointOpts.getStatusList);
|
|
34
|
-
getStatusListCredentialIndexStatusEndpointLegacy(this.router, context, opts.endpointOpts.getStatusList);
|
|
35
|
-
}
|
|
36
|
-
if (features.includes('w3c-vc-api-credential-status')) {
|
|
37
|
-
updateStatusEndpoint(this.router, context, opts.endpointOpts.vcApiCredentialStatus);
|
|
38
|
-
}
|
|
39
|
-
this._express.use(opts?.endpointOpts?.basePath ?? '', this.router);
|
|
40
|
-
}
|
|
41
|
-
get agent() {
|
|
42
|
-
return this._agent;
|
|
43
|
-
}
|
|
44
|
-
get opts() {
|
|
45
|
-
return this._opts;
|
|
46
|
-
}
|
|
47
|
-
get express() {
|
|
48
|
-
return this._express;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
/*
|
|
52
|
-
function copyGlobalAuthToEndpoint(opts: IStatusListOpts, key: string) {
|
|
53
|
-
if (opts?.endpointOpts?.globalAuth) {
|
|
54
|
-
// @ts-ignore
|
|
55
|
-
opts.endpointOpts[key] = {
|
|
56
|
-
// @ts-ignore
|
|
57
|
-
...opts.endpointOpts[key],
|
|
58
|
-
// @ts-ignore
|
|
59
|
-
endpoint: {...opts.endpointOpts.globalAuth, ...opts.endpointOpts[key]?.endpoint},
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
*/
|
|
64
|
-
//# sourceMappingURL=statuslist-management-api-server.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"statuslist-management-api-server.js","sourceRoot":"","sources":["../src/statuslist-management-api-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAkB,MAAM,+BAA+B,CAAA;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAIrD,OAAO,OAA4B,MAAM,SAAS,CAAA;AAClD,OAAO,EACL,2BAA2B,EAC3B,+BAA+B,EAC/B,0CAA0C,EAC1C,gDAAgD,EAChD,oBAAoB,GACrB,MAAM,iBAAiB,CAAA;AAIxB,MAAM,OAAO,6BAA6B;IACxC,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAEgB,QAAQ,CAAS;IACjB,MAAM,CAA0B;IAChC,KAAK,CAAkB;IACvB,OAAO,CAAQ;IAEhC,YAAY,IAAoH;QAC9H,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;QAC5B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,IAAI,EAAE,YAAY,EAAE,UAAU,EAAE,CAAC;YACnC,wBAAwB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,uBAAuB,EAAE,CAAC,CAAA;YAChE,wBAAwB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,kBAAkB,EAAE,CAAC,CAAA;YAC3D,wBAAwB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,eAAe,EAAE,CAAC,CAAA;QAC1D,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,IAAI,CAAA;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAA;QAC3C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,EAAE,CAAA;QAE/B,MAAM,OAAO,GAAG,YAAY,CAAC,KAAK,CAAC,CAAA;QAEnC,MAAM,QAAQ,GAAG,IAAI,EAAE,cAAc,IAAI,CAAC,wBAAwB,EAAE,qBAAqB,EAAE,8BAA8B,CAAC,CAAA;QAC1H,OAAO,CAAC,GAAG,CAAC,2CAA2C,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;QAElF,qCAAqC;QACrC,IAAI,QAAQ,CAAC,QAAQ,CAAC,wBAAwB,CAAC,EAAE,CAAC;YAChD,2BAA2B,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,CAAA;QACvF,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC,EAAE,CAAC;YAC7C,+BAA+B,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;YACtF,0CAA0C,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;YACjG,gDAAgD,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;QACzG,CAAC;QACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,8BAA8B,CAAC,EAAE,CAAC;YACtD,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,CAAA;QACrF,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,EAAE,QAAQ,IAAI,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAA;IACpE,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;CACF;AAED;;;;;;;;;;;;EAYE"}
|
package/dist/types.d.ts
DELETED
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
import { GenericAuthArgs, ISingleEndpointOpts } from '@sphereon/ssi-express-support';
|
|
2
|
-
import { IStatusListPlugin } from '@sphereon/ssi-sdk.vc-status-list';
|
|
3
|
-
import { IRequiredPlugins } from '@sphereon/ssi-sdk.vc-status-list-issuer-drivers';
|
|
4
|
-
import { StatusListType } from '@sphereon/ssi-types';
|
|
5
|
-
import { IAgentContext } from '@veramo/core';
|
|
6
|
-
export type IRequiredContext = IAgentContext<IRequiredPlugins & IStatusListPlugin>;
|
|
7
|
-
export interface IStatusListOpts {
|
|
8
|
-
endpointOpts: IStatusListEndpointOpts;
|
|
9
|
-
enableFeatures?: statusListFeatures[];
|
|
10
|
-
}
|
|
11
|
-
export interface IStatusListEndpointOpts {
|
|
12
|
-
basePath?: string;
|
|
13
|
-
globalAuth?: GenericAuthArgs;
|
|
14
|
-
vcApiCredentialStatus: IW3CredentialStatusEndpointOpts;
|
|
15
|
-
createStatusList: ICredentialStatusListEndpointOpts;
|
|
16
|
-
getStatusList: ICredentialStatusListEndpointOpts;
|
|
17
|
-
}
|
|
18
|
-
export type statusListFeatures = 'w3c-vc-api-credential-status' | 'status-list-management' | 'status-list-hosting';
|
|
19
|
-
export interface ICredentialStatusListEndpointOpts extends ISingleEndpointOpts {
|
|
20
|
-
dbName: string;
|
|
21
|
-
}
|
|
22
|
-
export interface IW3CredentialStatusEndpointOpts extends ICredentialStatusListEndpointOpts {
|
|
23
|
-
statusListId?: string;
|
|
24
|
-
correlationId?: string;
|
|
25
|
-
keyRef?: string;
|
|
26
|
-
}
|
|
27
|
-
export interface UpdateW3cCredentialStatusRequest extends UpdateCredentialStatusRequest {
|
|
28
|
-
credentialId: string;
|
|
29
|
-
}
|
|
30
|
-
export interface UpdateIndexedCredentialStatusRequest extends UpdateCredentialStatusRequest {
|
|
31
|
-
statusListIndex?: number;
|
|
32
|
-
}
|
|
33
|
-
interface UpdateCredentialStatusRequest {
|
|
34
|
-
credentialStatus: UpdateCredentialStatusItem[];
|
|
35
|
-
statusListId?: string;
|
|
36
|
-
statusListCorrelationId?: string;
|
|
37
|
-
entryCorrelationId?: string;
|
|
38
|
-
}
|
|
39
|
-
export interface UpdateCredentialStatusItem {
|
|
40
|
-
type?: StatusListType;
|
|
41
|
-
status: string;
|
|
42
|
-
}
|
|
43
|
-
export declare enum StatusListIdType {
|
|
44
|
-
StatusListId = "StatusListId",
|
|
45
|
-
StatusListCorrelationId = "StatusListCorrelationId"
|
|
46
|
-
}
|
|
47
|
-
export declare enum EntryIdType {
|
|
48
|
-
StatusListIndex = "StatusListIndex",
|
|
49
|
-
EntryCorrelationId = "StatusListCorrelationId"
|
|
50
|
-
}
|
|
51
|
-
export {};
|
|
52
|
-
//# sourceMappingURL=types.d.ts.map
|
package/dist/types.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAA;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAE5C,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,GAAG,iBAAiB,CAAC,CAAA;AAElF,MAAM,WAAW,eAAe;IAC9B,YAAY,EAAE,uBAAuB,CAAA;IACrC,cAAc,CAAC,EAAE,kBAAkB,EAAE,CAAA;CACtC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,qBAAqB,EAAE,+BAA+B,CAAA;IACtD,gBAAgB,EAAE,iCAAiC,CAAA;IACnD,aAAa,EAAE,iCAAiC,CAAA;CACjD;AAED,MAAM,MAAM,kBAAkB,GAAG,8BAA8B,GAAG,wBAAwB,GAAG,qBAAqB,CAAA;AAElH,MAAM,WAAW,iCAAkC,SAAQ,mBAAmB;IAC5E,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,+BAAgC,SAAQ,iCAAiC;IACxF,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,gCAAiC,SAAQ,6BAA6B;IACrF,YAAY,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,oCAAqC,SAAQ,6BAA6B;IACzF,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED,UAAU,6BAA6B;IACrC,gBAAgB,EAAE,0BAA0B,EAAE,CAAA;IAC9C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,MAAM,WAAW,0BAA0B;IACzC,IAAI,CAAC,EAAE,cAAc,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,oBAAY,gBAAgB;IAC1B,YAAY,iBAAiB;IAC7B,uBAAuB,4BAA4B;CACpD;AAED,oBAAY,WAAW;IACrB,eAAe,oBAAoB;IACnC,kBAAkB,4BAA4B;CAC/C"}
|
package/dist/types.js
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export var StatusListIdType;
|
|
2
|
-
(function (StatusListIdType) {
|
|
3
|
-
StatusListIdType["StatusListId"] = "StatusListId";
|
|
4
|
-
StatusListIdType["StatusListCorrelationId"] = "StatusListCorrelationId";
|
|
5
|
-
})(StatusListIdType || (StatusListIdType = {}));
|
|
6
|
-
export var EntryIdType;
|
|
7
|
-
(function (EntryIdType) {
|
|
8
|
-
EntryIdType["StatusListIndex"] = "StatusListIndex";
|
|
9
|
-
EntryIdType["EntryCorrelationId"] = "StatusListCorrelationId";
|
|
10
|
-
})(EntryIdType || (EntryIdType = {}));
|
|
11
|
-
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAqDA,MAAM,CAAN,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,iDAA6B,CAAA;IAC7B,uEAAmD,CAAA;AACrD,CAAC,EAHW,gBAAgB,KAAhB,gBAAgB,QAG3B;AAED,MAAM,CAAN,IAAY,WAGX;AAHD,WAAY,WAAW;IACrB,kDAAmC,CAAA;IACnC,6DAA8C,CAAA;AAChD,CAAC,EAHW,WAAW,KAAX,WAAW,QAGtB"}
|