Schemas
We use JSON Schema ( draft v4 ) as a core feature for data description.
Here you can find docs and examples.
Changed behaviour
We had to change some property behaviours to fit our goals:
- additionalProperties by default was true
- changed to be false
Attributes
We also added some new attributes:
Attribute | Description |
---|---|
processors | add a list of processors to the field |
required | marks a field as required. By default the field is not required. See the example below. |
immutable | marks a field as an immutable. This means - you cannot change a field after it was created. |
position | decorative helper attribute to assign a position in UI |
Data types
Default data types:
Name | Description |
---|---|
array | array |
boolean | boolean |
integer | number without a fraction or exponent part |
number | number |
null | null value |
object | object |
string | string |
We added some custom types to extend default schema:
Name | Type | Description |
---|---|---|
file | object | accepts a file uploaded using multipart/form-data |
datetime | string | format ISO 8601 |
embed | object | makes possible to set a data source |
datetime
These two are valid datetimes:
2009-11-10T23:00:00Z
2015-06-03T15:55:59.073Z
All datetime without a timezone will be assumed to be a UTC.
You can set a date to 2015-06-03T18:55:59.073+03:00
this will be converted to UTC and properly saved to database.
embed
Property | Type | Required | Description |
---|---|---|---|
collection | string | * | points to collection for data to fetch from |
field | string | the field of a collection. default is _id |