data/schema/index.yaml

150 lines
2.6 KiB
YAML

$defs:
project:
type: object
additionalProperties: false
required:
- id
- name
properties:
id:
type: string
name:
type: string
type:
type: string
enum:
- research
links:
type: object
event:
type: object
additionalProperties: false
required:
- id
- date
- city
- country
properties:
id:
type: string
type:
type: string
enum:
- summit
- meetup
- hackathon
confirmed:
type: boolean
tags:
type: array
items:
type: string
enum:
- sfe
date:
type: string
days:
type: number
city:
type: string
country:
type: string
pattern: "^\\w{2}$"
place:
type: string
place-address:
type: string
coincidence:
type: string
lead:
type: string
helpers:
type: array
items:
type: string
slots:
type: number
visitors:
type: number
optional:
type: boolean
links:
type: object
additionalProperties: false
patternProperties:
"^[\\w]+":
type: string
format: uri
speakers:
type: array
person:
type: object
additionalProperties: false
required:
- name
properties:
id:
type: string
pattern: "^[a-z0-9-]+$"
name:
type: string
nickname:
type: string
caption:
type: string
country:
type: string
pattern: '^[a-z]{2}$'
refs:
type: object
additionalProperties: false
properties:
twitter:
type: string
linkedin:
type: string
bsky:
type: string
imageUrl:
type: string
format: uri
type: object
additionalProperties: false
properties:
name:
type: string
email:
type: string
format: email
domain:
type: string
links:
type: object
core-team:
type: array
items:
type: object
additionalProperties: false
required:
- name
properties:
name:
type: string
refs:
type: object
projects:
type: array
items:
$ref: "#/$defs/project"
events:
type: array
items:
$ref: "#/$defs/event"
people:
type: array
items:
$ref: "#/$defs/person"