1 |
|
2 |
|
3 |
|
4 | const bedrock = require('bedrock');
|
5 |
|
6 | const schemas = {};
|
7 | schemas.identifier = require('./identifier');
|
8 | schemas.jsonldContext = require('./jsonldContext');
|
9 | schemas.url = require('./url');
|
10 | schemas.w3cDateTime = require('./w3cDateTime');
|
11 |
|
12 |
|
13 | const schema = {
|
14 | type: 'object',
|
15 | title: 'Credential',
|
16 | properties: {
|
17 | '@context': schemas.jsonldContext(),
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 | issuer: schemas.identifier(),
|
24 | issued: schemas.w3cDateTime(),
|
25 | claim: {
|
26 | required: true,
|
27 | properties: {
|
28 | id: schemas.identifier()
|
29 | },
|
30 | required: ['id']
|
31 | }
|
32 | },
|
33 | required: ['issuer', 'issued', 'claim']
|
34 | };
|
35 |
|
36 | module.exports = function(extend) {
|
37 | if(extend) {
|
38 | return bedrock.util.extend(true, bedrock.util.clone(schema), extend);
|
39 | }
|
40 | return schema;
|
41 | };
|