@sphereon/ssi-sdk.w3c-vc-api 0.27.1-next.8 → 0.27.1-unstable.10
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/api-functions.d.ts.map +1 -1
- package/dist/api-functions.js +18 -10
- package/dist/api-functions.js.map +1 -1
- package/dist/types.d.ts +3 -2
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -10
- package/src/api-functions.ts +18 -10
- package/src/types.ts +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-functions.d.ts","sourceRoot":"","sources":["../src/api-functions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"api-functions.d.ts","sourceRoot":"","sources":["../src/api-functions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,mBAAmB,EAAqB,MAAM,+BAA+B,CAAA;AAIjG,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAE,4BAA4B,EAAE,gBAAgB,EAAmB,6BAA6B,EAAE,MAAM,SAAS,CAAA;AAKxH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,4BAA4B,QAsCrH;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QAgB3G;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QAyB1G;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,6BAA6B,QA2BvH;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QA4B7G"}
|
package/dist/api-functions.js
CHANGED
|
@@ -13,10 +13,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
13
13
|
};
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.deleteCredentialEndpoint = exports.verifyCredentialEndpoint = exports.getCredentialEndpoint = exports.getCredentialsEndpoint = exports.issueCredentialEndpoint = void 0;
|
|
16
|
-
const ssi_sdk_core_1 = require("@sphereon/ssi-sdk.core");
|
|
17
16
|
const ssi_express_support_1 = require("@sphereon/ssi-express-support");
|
|
18
17
|
const uuid_1 = require("uuid");
|
|
19
18
|
const debug_1 = __importDefault(require("debug"));
|
|
19
|
+
const ssi_sdk_credential_store_1 = require("@sphereon/ssi-sdk.credential-store");
|
|
20
|
+
const ssi_sdk_data_store_1 = require("@sphereon/ssi-sdk.data-store");
|
|
20
21
|
const debug = (0, debug_1.default)('sphereon:ssi-sdk:w3c-vc-api');
|
|
21
22
|
function issueCredentialEndpoint(router, context, opts) {
|
|
22
23
|
var _a;
|
|
@@ -70,9 +71,10 @@ function getCredentialsEndpoint(router, context, opts) {
|
|
|
70
71
|
const path = (_a = opts === null || opts === void 0 ? void 0 : opts.path) !== null && _a !== void 0 ? _a : '/credentials';
|
|
71
72
|
router.get(path, (0, ssi_express_support_1.checkAuth)(opts === null || opts === void 0 ? void 0 : opts.endpoint), (request, response) => __awaiter(this, void 0, void 0, function* () {
|
|
72
73
|
try {
|
|
73
|
-
const
|
|
74
|
+
const filter = (0, ssi_sdk_credential_store_1.verifiableCredentialForRoleFilter)(ssi_sdk_data_store_1.CredentialRole.HOLDER); // FIXME BEFORE PR
|
|
75
|
+
const uniqueVCs = yield context.agent.crsGetUniqueCredentials({ filter });
|
|
74
76
|
response.statusCode = 202;
|
|
75
|
-
return response.send(uniqueVCs.map((uVC) => uVC.
|
|
77
|
+
return response.send(uniqueVCs.map((uVC) => uVC.uniformVerifiableCredential));
|
|
76
78
|
}
|
|
77
79
|
catch (e) {
|
|
78
80
|
return (0, ssi_express_support_1.sendErrorResponse)(response, 500, e.message, e);
|
|
@@ -93,12 +95,15 @@ function getCredentialEndpoint(router, context, opts) {
|
|
|
93
95
|
if (!id) {
|
|
94
96
|
return (0, ssi_express_support_1.sendErrorResponse)(response, 400, 'no id provided');
|
|
95
97
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
+
const vcInfo = yield context.agent.crsGetUniqueCredentialByIdOrHash({
|
|
99
|
+
credentialRole: ssi_sdk_data_store_1.CredentialRole.HOLDER, // FIXME BEFORE PR
|
|
100
|
+
idOrHash: id,
|
|
101
|
+
});
|
|
102
|
+
if (!vcInfo) {
|
|
98
103
|
return (0, ssi_express_support_1.sendErrorResponse)(response, 404, `id ${id} not found`);
|
|
99
104
|
}
|
|
100
105
|
response.statusCode = 200;
|
|
101
|
-
return response.send(vcInfo.
|
|
106
|
+
return response.send(vcInfo.uniformVerifiableCredential);
|
|
102
107
|
}
|
|
103
108
|
catch (e) {
|
|
104
109
|
return (0, ssi_express_support_1.sendErrorResponse)(response, 500, e.message, e);
|
|
@@ -148,12 +153,15 @@ function deleteCredentialEndpoint(router, context, opts) {
|
|
|
148
153
|
if (!id) {
|
|
149
154
|
return (0, ssi_express_support_1.sendErrorResponse)(response, 400, 'no id provided');
|
|
150
155
|
}
|
|
151
|
-
|
|
152
|
-
|
|
156
|
+
const vcInfo = yield context.agent.crsGetUniqueCredentialByIdOrHash({
|
|
157
|
+
credentialRole: ssi_sdk_data_store_1.CredentialRole.HOLDER, // FIXME BEFORE PR
|
|
158
|
+
idOrHash: id,
|
|
159
|
+
});
|
|
160
|
+
if (!vcInfo) {
|
|
153
161
|
return (0, ssi_express_support_1.sendErrorResponse)(response, 404, `id ${id} not found`);
|
|
154
162
|
}
|
|
155
|
-
const success = context.agent.
|
|
156
|
-
if (
|
|
163
|
+
const success = yield context.agent.crsDeleteCredentials({ filter: [{ hash: vcInfo.hash }] });
|
|
164
|
+
if (success === 0) {
|
|
157
165
|
return (0, ssi_express_support_1.sendErrorResponse)(response, 400, `Could not delete Verifiable Credential with id ${id}`);
|
|
158
166
|
}
|
|
159
167
|
response.statusCode = 200;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-functions.js","sourceRoot":"","sources":["../src/api-functions.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"api-functions.js","sourceRoot":"","sources":["../src/api-functions.ts"],"names":[],"mappings":"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"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { GenericAuthArgs, ISingleEndpointOpts } from '@sphereon/ssi-express-support';
|
|
2
|
-
import { IAgentContext, ICredentialIssuer, ICredentialPlugin, ICredentialVerifier,
|
|
2
|
+
import { IAgentContext, ICredentialIssuer, ICredentialPlugin, ICredentialVerifier, IDataStoreORM, IDIDManager, IKeyManager, IResolver } from '@veramo/core';
|
|
3
3
|
import { ProofFormat } from '@veramo/core/src/types/ICredentialIssuer';
|
|
4
|
-
|
|
4
|
+
import { ICredentialStore } from '@sphereon/ssi-sdk.credential-store';
|
|
5
|
+
export type IRequiredPlugins = IDataStoreORM & IDIDManager & IKeyManager & ICredentialIssuer & ICredentialVerifier & ICredentialStore & ICredentialPlugin & IResolver;
|
|
5
6
|
export type IRequiredContext = IAgentContext<IRequiredPlugins>;
|
|
6
7
|
export interface IVCAPIOpts {
|
|
7
8
|
endpointOpts?: IVCAPIEndpointOpts;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,
|
|
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,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACV,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oCAAoC,CAAA;AAErE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAC1C,WAAW,GACX,WAAW,GACX,iBAAiB,GACjB,mBAAmB,GACnB,gBAAgB,GAChB,iBAAiB,GACjB,SAAS,CAAA;AACX,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAA;AAI9D,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IAEjC,mBAAmB,CAAC,EAAE,eAAe,CAAA;CACtC;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,eAAe,CAAA;IAC5B,eAAe,CAAC,EAAE,4BAA4B,CAAA;IAC9C,cAAc,CAAC,EAAE,mBAAmB,CAAA;IACpC,aAAa,CAAC,EAAE,mBAAmB,CAAA;IACnC,gBAAgB,CAAC,EAAE,mBAAmB,CAAA;IACtC,gBAAgB,CAAC,EAAE,6BAA6B,CAAA;IAChD,kBAAkB,CAAC,EAAE,mBAAmB,CAAA;CACzC;AAED,MAAM,MAAM,aAAa,GAAG,WAAW,GAAG,UAAU,GAAG,YAAY,CAAA;AAEnE,MAAM,WAAW,eAAe;IAC9B,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAElC;;OAEG;IACH,WAAW,EAAE,WAAW,CAAA;IAExB;;;OAGG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAE9B;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IAEf;;;;;;OAMG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,4BAA6B,SAAQ,mBAAmB;IACvE,mBAAmB,CAAC,EAAE,eAAe,CAAA;IACrC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CACnC;AAED,MAAM,WAAW,6BAA8B,SAAQ,mBAAmB;IACxE,mBAAmB,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE;QACjB,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF;AAED,MAAM,WAAW,oBAAoB;IACnC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.w3c-vc-api",
|
|
3
|
-
"version": "0.27.1-
|
|
3
|
+
"version": "0.27.1-unstable.10+740e23b0",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -12,11 +12,12 @@
|
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@sphereon/did-auth-siop": "0.6.4",
|
|
15
|
-
"@sphereon/ssi-express-support": "0.27.1-
|
|
16
|
-
"@sphereon/ssi-sdk.core": "0.27.1-
|
|
17
|
-
"@sphereon/ssi-sdk.
|
|
18
|
-
"@sphereon/ssi-sdk.
|
|
19
|
-
"@sphereon/ssi-
|
|
15
|
+
"@sphereon/ssi-express-support": "0.27.1-unstable.10+740e23b0",
|
|
16
|
+
"@sphereon/ssi-sdk.core": "0.27.1-unstable.10+740e23b0",
|
|
17
|
+
"@sphereon/ssi-sdk.credential-store": "0.27.1-unstable.10+740e23b0",
|
|
18
|
+
"@sphereon/ssi-sdk.kv-store-temp": "0.27.1-unstable.10+740e23b0",
|
|
19
|
+
"@sphereon/ssi-sdk.presentation-exchange": "0.27.1-unstable.10+740e23b0",
|
|
20
|
+
"@sphereon/ssi-types": "0.27.1-unstable.10+740e23b0",
|
|
20
21
|
"@veramo/core": "4.2.0",
|
|
21
22
|
"@veramo/credential-w3c": "4.2.0",
|
|
22
23
|
"body-parser": "^1.19.0",
|
|
@@ -36,9 +37,9 @@
|
|
|
36
37
|
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.22.0",
|
|
37
38
|
"@sphereon/ssi-sdk-ext.key-manager": "0.22.0",
|
|
38
39
|
"@sphereon/ssi-sdk-ext.kms-local": "0.22.0",
|
|
39
|
-
"@sphereon/ssi-sdk.agent-config": "0.27.1-
|
|
40
|
-
"@sphereon/ssi-sdk.data-store": "0.27.1-
|
|
41
|
-
"@sphereon/ssi-sdk.vc-handler-ld-local": "0.27.1-
|
|
40
|
+
"@sphereon/ssi-sdk.agent-config": "0.27.1-unstable.10+740e23b0",
|
|
41
|
+
"@sphereon/ssi-sdk.data-store": "0.27.1-unstable.10+740e23b0",
|
|
42
|
+
"@sphereon/ssi-sdk.vc-handler-ld-local": "0.27.1-unstable.10+740e23b0",
|
|
42
43
|
"@types/body-parser": "^1.19.2",
|
|
43
44
|
"@types/cookie-parser": "^1.4.3",
|
|
44
45
|
"@types/cors": "^2.8.13",
|
|
@@ -91,5 +92,5 @@
|
|
|
91
92
|
"W3C",
|
|
92
93
|
"VC API"
|
|
93
94
|
],
|
|
94
|
-
"gitHead": "
|
|
95
|
+
"gitHead": "740e23b06d721fce9256a5949ceb00351b18910b"
|
|
95
96
|
}
|
package/src/api-functions.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { getCredentialByIdOrHash } from '@sphereon/ssi-sdk.core'
|
|
2
1
|
import { checkAuth, ISingleEndpointOpts, sendErrorResponse } from '@sphereon/ssi-express-support'
|
|
3
2
|
import { CredentialPayload } from '@veramo/core'
|
|
4
3
|
import { ProofFormat } from '@veramo/core/src/types/ICredentialIssuer'
|
|
@@ -7,6 +6,8 @@ import { Request, Response, Router } from 'express'
|
|
|
7
6
|
import { v4 } from 'uuid'
|
|
8
7
|
import { IIssueCredentialEndpointOpts, IRequiredContext, IVCAPIIssueOpts, IVerifyCredentialEndpointOpts } from './types'
|
|
9
8
|
import Debug from 'debug'
|
|
9
|
+
import { verifiableCredentialForRoleFilter } from '@sphereon/ssi-sdk.credential-store'
|
|
10
|
+
import { CredentialRole } from '@sphereon/ssi-sdk.data-store'
|
|
10
11
|
const debug = Debug('sphereon:ssi-sdk:w3c-vc-api')
|
|
11
12
|
export function issueCredentialEndpoint(router: Router, context: IRequiredContext, opts?: IIssueCredentialEndpointOpts) {
|
|
12
13
|
if (opts?.enabled === false) {
|
|
@@ -56,9 +57,10 @@ export function getCredentialsEndpoint(router: Router, context: IRequiredContext
|
|
|
56
57
|
const path = opts?.path ?? '/credentials'
|
|
57
58
|
router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
|
|
58
59
|
try {
|
|
59
|
-
const
|
|
60
|
+
const filter = verifiableCredentialForRoleFilter(CredentialRole.HOLDER) // FIXME BEFORE PR
|
|
61
|
+
const uniqueVCs = await context.agent.crsGetUniqueCredentials({ filter })
|
|
60
62
|
response.statusCode = 202
|
|
61
|
-
return response.send(uniqueVCs.map((uVC) => uVC.
|
|
63
|
+
return response.send(uniqueVCs.map((uVC) => uVC.uniformVerifiableCredential))
|
|
62
64
|
} catch (e) {
|
|
63
65
|
return sendErrorResponse(response, 500, e.message as string, e)
|
|
64
66
|
}
|
|
@@ -77,12 +79,15 @@ export function getCredentialEndpoint(router: Router, context: IRequiredContext,
|
|
|
77
79
|
if (!id) {
|
|
78
80
|
return sendErrorResponse(response, 400, 'no id provided')
|
|
79
81
|
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
+
const vcInfo = await context.agent.crsGetUniqueCredentialByIdOrHash({
|
|
83
|
+
credentialRole: CredentialRole.HOLDER, // FIXME BEFORE PR
|
|
84
|
+
idOrHash: id,
|
|
85
|
+
})
|
|
86
|
+
if (!vcInfo) {
|
|
82
87
|
return sendErrorResponse(response, 404, `id ${id} not found`)
|
|
83
88
|
}
|
|
84
89
|
response.statusCode = 200
|
|
85
|
-
return response.send(vcInfo.
|
|
90
|
+
return response.send(vcInfo.uniformVerifiableCredential)
|
|
86
91
|
} catch (e) {
|
|
87
92
|
return sendErrorResponse(response, 500, e.message as string, e)
|
|
88
93
|
}
|
|
@@ -129,12 +134,15 @@ export function deleteCredentialEndpoint(router: Router, context: IRequiredConte
|
|
|
129
134
|
if (!id) {
|
|
130
135
|
return sendErrorResponse(response, 400, 'no id provided')
|
|
131
136
|
}
|
|
132
|
-
|
|
133
|
-
|
|
137
|
+
const vcInfo = await context.agent.crsGetUniqueCredentialByIdOrHash({
|
|
138
|
+
credentialRole: CredentialRole.HOLDER, // FIXME BEFORE PR
|
|
139
|
+
idOrHash: id,
|
|
140
|
+
})
|
|
141
|
+
if (!vcInfo) {
|
|
134
142
|
return sendErrorResponse(response, 404, `id ${id} not found`)
|
|
135
143
|
}
|
|
136
|
-
const success = context.agent.
|
|
137
|
-
if (
|
|
144
|
+
const success = await context.agent.crsDeleteCredentials({ filter: [{ hash: vcInfo.hash }] })
|
|
145
|
+
if (success === 0) {
|
|
138
146
|
return sendErrorResponse(response, 400, `Could not delete Verifiable Credential with id ${id}`)
|
|
139
147
|
}
|
|
140
148
|
response.statusCode = 200
|
package/src/types.ts
CHANGED
|
@@ -4,20 +4,20 @@ import {
|
|
|
4
4
|
ICredentialIssuer,
|
|
5
5
|
ICredentialPlugin,
|
|
6
6
|
ICredentialVerifier,
|
|
7
|
-
IDataStore,
|
|
8
7
|
IDataStoreORM,
|
|
9
8
|
IDIDManager,
|
|
10
9
|
IKeyManager,
|
|
11
10
|
IResolver,
|
|
12
11
|
} from '@veramo/core'
|
|
13
12
|
import { ProofFormat } from '@veramo/core/src/types/ICredentialIssuer'
|
|
13
|
+
import { ICredentialStore } from '@sphereon/ssi-sdk.credential-store'
|
|
14
14
|
|
|
15
|
-
export type IRequiredPlugins =
|
|
16
|
-
IDataStoreORM &
|
|
15
|
+
export type IRequiredPlugins = IDataStoreORM &
|
|
17
16
|
IDIDManager &
|
|
18
17
|
IKeyManager &
|
|
19
18
|
ICredentialIssuer &
|
|
20
19
|
ICredentialVerifier &
|
|
20
|
+
ICredentialStore &
|
|
21
21
|
ICredentialPlugin &
|
|
22
22
|
IResolver
|
|
23
23
|
export type IRequiredContext = IAgentContext<IRequiredPlugins>
|