@sphereon/ssi-sdk.w3c-vc-api 0.13.1-next.23 → 0.13.1-next.25
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/types.d.ts +3 -8
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +0 -7
- package/dist/types.js.map +1 -1
- package/dist/vc-api-server.d.ts.map +1 -1
- package/dist/vc-api-server.js +4 -9
- package/dist/vc-api-server.js.map +1 -1
- package/package.json +9 -9
- package/src/types.ts +2 -8
- package/src/vc-api-server.ts +5 -9
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import { GenericAuthArgs, ISingleEndpointOpts } from '@sphereon/ssi-sdk.express-support';
|
|
2
2
|
import { IAgentContext, ICredentialIssuer, ICredentialPlugin, ICredentialVerifier, IDataStore, IDataStoreORM, IDIDManager, IKeyManager, IResolver } from '@veramo/core';
|
|
3
|
-
import { IPresentationExchange } from '@sphereon/ssi-sdk.presentation-exchange';
|
|
4
3
|
import { ProofFormat } from '@veramo/core/src/types/ICredentialIssuer';
|
|
5
|
-
export type IRequiredPlugins = IDataStore & IDataStoreORM & IDIDManager & IKeyManager & ICredentialIssuer & ICredentialVerifier &
|
|
4
|
+
export type IRequiredPlugins = IDataStore & IDataStoreORM & IDIDManager & IKeyManager & ICredentialIssuer & ICredentialVerifier & ICredentialPlugin & IResolver;
|
|
6
5
|
export type IRequiredContext = IAgentContext<IRequiredPlugins>;
|
|
7
6
|
interface IVCAPISecurityOpts {
|
|
8
7
|
}
|
|
@@ -21,13 +20,9 @@ export interface IVCAPIEndpointOpts {
|
|
|
21
20
|
verifyCredential?: IVerifyCredentialEndpointOpts;
|
|
22
21
|
verifyPresentation?: ISingleEndpointOpts;
|
|
23
22
|
}
|
|
24
|
-
export
|
|
25
|
-
VC_VERIFY = "vc-verify",
|
|
26
|
-
VC_ISSUE = "vc-issue",
|
|
27
|
-
VC_PERSISTENCE = "vc-persist"
|
|
28
|
-
}
|
|
23
|
+
export type vcApiFeatures = 'vc-verify' | 'vc-issue' | 'vc-persist';
|
|
29
24
|
export interface IVCAPIIssueOpts {
|
|
30
|
-
enableFeatures?:
|
|
25
|
+
enableFeatures?: vcApiFeatures[];
|
|
31
26
|
persistIssuedCredentials?: boolean;
|
|
32
27
|
/**
|
|
33
28
|
* The desired format for the VerifiablePresentation to be created.
|
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,mCAAmC,CAAA;AACxF,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACV,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AACxF,OAAO,EACL,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,WAAW,EACX,WAAW,EACX,SAAS,EACV,MAAM,cAAc,CAAA;AACrB,OAAO,EAAE,WAAW,EAAE,MAAM,0CAA0C,CAAA;AAEtE,MAAM,MAAM,gBAAgB,GAAG,UAAU,GACvC,aAAa,GACb,WAAW,GACX,WAAW,GACX,iBAAiB,GACjB,mBAAmB,GACnB,iBAAiB,GACjB,SAAS,CAAA;AACX,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAA;AAE9D,UAAU,kBAAkB;CAAG;AAE/B,MAAM,WAAW,UAAU;IACzB,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,YAAY,CAAC,EAAE,kBAAkB,CAAA;IACjC,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/dist/types.js
CHANGED
|
@@ -1,10 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.IVCIApiFeatures = void 0;
|
|
4
|
-
var IVCIApiFeatures;
|
|
5
|
-
(function (IVCIApiFeatures) {
|
|
6
|
-
IVCIApiFeatures["VC_VERIFY"] = "vc-verify";
|
|
7
|
-
IVCIApiFeatures["VC_ISSUE"] = "vc-issue";
|
|
8
|
-
IVCIApiFeatures["VC_PERSISTENCE"] = "vc-persist";
|
|
9
|
-
})(IVCIApiFeatures = exports.IVCIApiFeatures || (exports.IVCIApiFeatures = {}));
|
|
10
3
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vc-api-server.d.ts","sourceRoot":"","sources":["../src/vc-api-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,OAAO,EAAE,EAAE,OAAO,EAAU,MAAM,SAAS,CAAA;AAQlD,OAAO,EAAE,gBAAgB,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"vc-api-server.d.ts","sourceRoot":"","sources":["../src/vc-api-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAA;AAErC,OAAO,OAAO,EAAE,EAAE,OAAO,EAAU,MAAM,SAAS,CAAA;AAQlD,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEtD,qBAAa,WAAW;IACtB,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,CAAY;IACnC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;gBAEpB,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAAC,WAAW,EAAE,kBAAkB,CAAC;QAAC,IAAI,CAAC,EAAE,UAAU,CAAA;KAAE;IAyCzG,IAAI,KAAK,IAAI,MAAM,CAAC,gBAAgB,CAAC,CAEpC;IAED,IAAI,IAAI,IAAI,UAAU,GAAG,SAAS,CAEjC;IAED,IAAI,OAAO,IAAI,OAAO,CAErB;CACF"}
|
package/dist/vc-api-server.js
CHANGED
|
@@ -7,7 +7,6 @@ exports.VcApiServer = void 0;
|
|
|
7
7
|
const ssi_sdk_core_1 = require("@sphereon/ssi-sdk.core");
|
|
8
8
|
const express_1 = __importDefault(require("express"));
|
|
9
9
|
const api_functions_1 = require("./api-functions");
|
|
10
|
-
const types_1 = require("./types");
|
|
11
10
|
class VcApiServer {
|
|
12
11
|
get router() {
|
|
13
12
|
return this._router;
|
|
@@ -27,22 +26,18 @@ class VcApiServer {
|
|
|
27
26
|
this._express = args.expressArgs.express;
|
|
28
27
|
this._router = express_1.default.Router();
|
|
29
28
|
const context = (0, ssi_sdk_core_1.agentContext)(agent);
|
|
30
|
-
const features = (_c = (_b = opts === null || opts === void 0 ? void 0 : opts.issueCredentialOpts) === null || _b === void 0 ? void 0 : _b.enableFeatures) !== null && _c !== void 0 ? _c : [
|
|
31
|
-
types_1.IVCIApiFeatures.VC_ISSUE,
|
|
32
|
-
types_1.IVCIApiFeatures.VC_PERSISTENCE,
|
|
33
|
-
types_1.IVCIApiFeatures.VC_VERIFY,
|
|
34
|
-
];
|
|
29
|
+
const features = (_c = (_b = opts === null || opts === void 0 ? void 0 : opts.issueCredentialOpts) === null || _b === void 0 ? void 0 : _b.enableFeatures) !== null && _c !== void 0 ? _c : ['vc-issue', 'vc-persist', 'vc-verify'];
|
|
35
30
|
console.log(`VC API enabled, with features: ${JSON.stringify(features)}`);
|
|
36
31
|
// Credential endpoints
|
|
37
|
-
if (features.includes(
|
|
32
|
+
if (features.includes('vc-issue')) {
|
|
38
33
|
(0, api_functions_1.issueCredentialEndpoint)(this.router, context, Object.assign(Object.assign({}, (_d = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _d === void 0 ? void 0 : _d.issueCredential), { issueCredentialOpts: opts === null || opts === void 0 ? void 0 : opts.issueCredentialOpts }));
|
|
39
34
|
}
|
|
40
|
-
if (features.includes(
|
|
35
|
+
if (features.includes('vc-persist')) {
|
|
41
36
|
(0, api_functions_1.getCredentialEndpoint)(this.router, context, (_e = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _e === void 0 ? void 0 : _e.getCredential);
|
|
42
37
|
(0, api_functions_1.getCredentialsEndpoint)(this.router, context, (_f = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _f === void 0 ? void 0 : _f.getCredentials);
|
|
43
38
|
(0, api_functions_1.deleteCredentialEndpoint)(this.router, context, (_g = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _g === void 0 ? void 0 : _g.deleteCredential); // not in spec.
|
|
44
39
|
}
|
|
45
|
-
if (features.includes(
|
|
40
|
+
if (features.includes('vc-verify')) {
|
|
46
41
|
(0, api_functions_1.verifyCredentialEndpoint)(this.router, context, Object.assign(Object.assign({}, (_h = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _h === void 0 ? void 0 : _h.verifyCredential), { fetchRemoteContexts: (_j = opts === null || opts === void 0 ? void 0 : opts.issueCredentialOpts) === null || _j === void 0 ? void 0 : _j.fetchRemoteContexts }));
|
|
47
42
|
}
|
|
48
43
|
this._express.use((_l = (_k = opts === null || opts === void 0 ? void 0 : opts.endpointOpts) === null || _k === void 0 ? void 0 : _k.basePath) !== null && _l !== void 0 ? _l : '', this.router);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vc-api-server.js","sourceRoot":"","sources":["../src/vc-api-server.ts"],"names":[],"mappings":";;;;;;AAAA,yDAAqD;AAIrD,sDAAkD;AAClD,mDAMwB;
|
|
1
|
+
{"version":3,"file":"vc-api-server.js","sourceRoot":"","sources":["../src/vc-api-server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sphereon/ssi-sdk.w3c-vc-api",
|
|
3
|
-
"version": "0.13.1-next.
|
|
3
|
+
"version": "0.13.1-next.25+391dc12",
|
|
4
4
|
"source": "src/index.ts",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -12,11 +12,11 @@
|
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
14
|
"@sphereon/did-auth-siop": "0.3.2-unstable.7",
|
|
15
|
-
"@sphereon/ssi-sdk.core": "0.13.1-next.
|
|
16
|
-
"@sphereon/ssi-sdk.express-support": "0.13.1-next.
|
|
17
|
-
"@sphereon/ssi-sdk.kv-store-temp": "0.13.1-next.
|
|
18
|
-
"@sphereon/ssi-sdk.presentation-exchange": "0.13.1-next.
|
|
19
|
-
"@sphereon/ssi-types": "0.13.1-next.
|
|
15
|
+
"@sphereon/ssi-sdk.core": "0.13.1-next.25+391dc12",
|
|
16
|
+
"@sphereon/ssi-sdk.express-support": "0.13.1-next.25+391dc12",
|
|
17
|
+
"@sphereon/ssi-sdk.kv-store-temp": "0.13.1-next.25+391dc12",
|
|
18
|
+
"@sphereon/ssi-sdk.presentation-exchange": "0.13.1-next.25+391dc12",
|
|
19
|
+
"@sphereon/ssi-types": "0.13.1-next.25+391dc12",
|
|
20
20
|
"@types/uuid": "^9.0.1",
|
|
21
21
|
"@veramo/core": "4.2.0",
|
|
22
22
|
"@veramo/credential-w3c": "4.2.0",
|
|
@@ -34,8 +34,8 @@
|
|
|
34
34
|
"@sphereon/did-uni-client": "^0.6.0",
|
|
35
35
|
"@sphereon/ssi-sdk-ext.did-provider-jwk": "0.12.2-next.5",
|
|
36
36
|
"@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.12.2-next.5",
|
|
37
|
-
"@sphereon/ssi-sdk.data-store": "0.13.1-next.
|
|
38
|
-
"@sphereon/ssi-sdk.vc-handler-ld-local": "0.13.1-next.
|
|
37
|
+
"@sphereon/ssi-sdk.data-store": "0.13.1-next.25+391dc12",
|
|
38
|
+
"@sphereon/ssi-sdk.vc-handler-ld-local": "0.13.1-next.25+391dc12",
|
|
39
39
|
"@types/body-parser": "^1.19.2",
|
|
40
40
|
"@types/cookie-parser": "^1.4.3",
|
|
41
41
|
"@types/cors": "^2.8.13",
|
|
@@ -86,5 +86,5 @@
|
|
|
86
86
|
"W3C",
|
|
87
87
|
"VC API"
|
|
88
88
|
],
|
|
89
|
-
"gitHead": "
|
|
89
|
+
"gitHead": "391dc1232d018360193fc252fd5448e8b2bed410"
|
|
90
90
|
}
|
package/src/types.ts
CHANGED
|
@@ -10,7 +10,6 @@ import {
|
|
|
10
10
|
IKeyManager,
|
|
11
11
|
IResolver,
|
|
12
12
|
} from '@veramo/core'
|
|
13
|
-
import { IPresentationExchange } from '@sphereon/ssi-sdk.presentation-exchange'
|
|
14
13
|
import { ProofFormat } from '@veramo/core/src/types/ICredentialIssuer'
|
|
15
14
|
|
|
16
15
|
export type IRequiredPlugins = IDataStore &
|
|
@@ -19,7 +18,6 @@ export type IRequiredPlugins = IDataStore &
|
|
|
19
18
|
IKeyManager &
|
|
20
19
|
ICredentialIssuer &
|
|
21
20
|
ICredentialVerifier &
|
|
22
|
-
IPresentationExchange &
|
|
23
21
|
ICredentialPlugin &
|
|
24
22
|
IResolver
|
|
25
23
|
export type IRequiredContext = IAgentContext<IRequiredPlugins>
|
|
@@ -43,14 +41,10 @@ export interface IVCAPIEndpointOpts {
|
|
|
43
41
|
verifyPresentation?: ISingleEndpointOpts
|
|
44
42
|
}
|
|
45
43
|
|
|
46
|
-
export
|
|
47
|
-
VC_VERIFY = 'vc-verify',
|
|
48
|
-
VC_ISSUE = 'vc-issue',
|
|
49
|
-
VC_PERSISTENCE = 'vc-persist',
|
|
50
|
-
}
|
|
44
|
+
export type vcApiFeatures = 'vc-verify' | 'vc-issue' | 'vc-persist'
|
|
51
45
|
|
|
52
46
|
export interface IVCAPIIssueOpts {
|
|
53
|
-
enableFeatures?:
|
|
47
|
+
enableFeatures?: vcApiFeatures[] // Feature to enable. If not defined or empty, all features will be enabled
|
|
54
48
|
persistIssuedCredentials?: boolean // Whether the issuer persists issued credentials or not. Defaults to VC_PERSISTENCE feature flag being present or not
|
|
55
49
|
|
|
56
50
|
/**
|
package/src/vc-api-server.ts
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
issueCredentialEndpoint,
|
|
11
11
|
verifyCredentialEndpoint,
|
|
12
12
|
} from './api-functions'
|
|
13
|
-
import { IRequiredPlugins, IVCAPIOpts
|
|
13
|
+
import { IRequiredPlugins, IVCAPIOpts } from './types'
|
|
14
14
|
|
|
15
15
|
export class VcApiServer {
|
|
16
16
|
get router(): express.Router {
|
|
@@ -39,26 +39,22 @@ export class VcApiServer {
|
|
|
39
39
|
|
|
40
40
|
const context = agentContext(agent)
|
|
41
41
|
|
|
42
|
-
const features = opts?.issueCredentialOpts?.enableFeatures ?? [
|
|
43
|
-
IVCIApiFeatures.VC_ISSUE,
|
|
44
|
-
IVCIApiFeatures.VC_PERSISTENCE,
|
|
45
|
-
IVCIApiFeatures.VC_VERIFY,
|
|
46
|
-
]
|
|
42
|
+
const features = opts?.issueCredentialOpts?.enableFeatures ?? ['vc-issue', 'vc-persist', 'vc-verify']
|
|
47
43
|
console.log(`VC API enabled, with features: ${JSON.stringify(features)}`)
|
|
48
44
|
|
|
49
45
|
// Credential endpoints
|
|
50
|
-
if (features.includes(
|
|
46
|
+
if (features.includes('vc-issue')) {
|
|
51
47
|
issueCredentialEndpoint(this.router, context, {
|
|
52
48
|
...opts?.endpointOpts?.issueCredential,
|
|
53
49
|
issueCredentialOpts: opts?.issueCredentialOpts,
|
|
54
50
|
})
|
|
55
51
|
}
|
|
56
|
-
if (features.includes(
|
|
52
|
+
if (features.includes('vc-persist')) {
|
|
57
53
|
getCredentialEndpoint(this.router, context, opts?.endpointOpts?.getCredential)
|
|
58
54
|
getCredentialsEndpoint(this.router, context, opts?.endpointOpts?.getCredentials)
|
|
59
55
|
deleteCredentialEndpoint(this.router, context, opts?.endpointOpts?.deleteCredential) // not in spec.
|
|
60
56
|
}
|
|
61
|
-
if (features.includes(
|
|
57
|
+
if (features.includes('vc-verify')) {
|
|
62
58
|
verifyCredentialEndpoint(this.router, context, {
|
|
63
59
|
...opts?.endpointOpts?.verifyCredential,
|
|
64
60
|
fetchRemoteContexts: opts?.issueCredentialOpts?.fetchRemoteContexts,
|