git ssb

0+

Piet / ssb-loomio



Tree: 3bc106d06cd050c026b7934dacf2076f6d847894

Files: 3bc106d06cd050c026b7934dacf2076f6d847894 / position / schema / position.js

1749 bytesRaw
1const Validate = require('is-my-json-valid')
2const chooseOneDetails = require('./details/chooseOne')
3
4const ssbSchemaDefintions = require('../../lib/ssbSchemaDefintions')
5
6const schema = {
7 $schema: 'http://json-schema.org/schema#',
8 type: 'object',
9 required: ['type', 'positionDetails'],
10 properties: {
11 version: {
12 type: 'string',
13 pattern: '^0.1.0$'
14 },
15 type: {
16 type: 'string',
17 pattern: '^position$'
18 },
19 text: { type: 'string' },
20 reason: { type: 'string' },
21 positionDetails: {
22 oneOf: [
23 // { $ref: '#/definitions/positionDetails/dot'},
24 // { $ref: '#/definitions/positionDetails/proposal'},
25 // { $ref: '#/definitions/positionDetails/score'},
26 { $ref: '#/definitions/positionDetails/chooseOne' }
27 // { $ref: '#/definitions/positionDetails/rsvp'},
28 // { $ref: '#/definitions/positionDetails/meeting'},
29 ]
30 },
31 mentions: {
32 oneOf: [
33 { type: 'null' },
34 {
35 type: 'array',
36 items: {
37 oneOf: [
38 { $ref: '#/definitions/mentions/message' },
39 { $ref: '#/definitions/mentions/feed' },
40 { $ref: '#/definitions/mentions/blob' }
41 ]
42 }
43 }
44 ]
45 },
46 recps: {
47 oneOf: [
48 { type: 'null' },
49 {
50 type: 'array',
51 items: {
52 oneOf: [
53 { $ref: '#/definitions/feedId' },
54 { $ref: '#/definitions/mentions/feed' }
55 ]
56 }
57 }
58 ]
59 }
60 },
61 definitions: Object.assign({},
62 ssbSchemaDefintions,
63 {
64 positionDetails: {
65 type: 'object',
66 chooseOne: chooseOneDetails
67 }
68 }
69 )
70}
71
72module.exports = schema
73

Built with git-ssb-web