UNPKG

@mapeo/schema

Version:

JSON schema and flow types for Mapeo

64 lines (63 loc) 2.21 kB
{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "http://mapeo.world/schemas/filter.json", "title": "Filter", "description": "A filter is a saved view of data in the Mapeo database, filtered by tag or date. E.g. a filter could define observations between two dates, or only observations with the tag `public=true`", "type": "object", "properties": { "id": { "description": "Unique value that identifies this element", "type": "string" }, "version": { "description": "Unique value that identifies this particular version of this element", "type": "string" }, "created_at": { "description": "RFC3339-formatted datetime of when the first version of the element was created", "type": "string", "format": "date-time" }, "timestamp": { "description": "RFC3339-formatted datetime of when this version of the element was created", "type": "string", "format": "date-time" }, "userId": { "description": "ID of the user who edited/created this record", "type": "string" }, "deviceId": { "description": "ID of the device that made this edit", "type": "string" }, "type": { "description": "Must be `filter`", "type": "string", "enum": ["filter"] }, "links": { "description": "Version ids of the previous document versions this one is replacing", "type": "array", "uniqueItems": true, "items": { "type": "string" } }, "schemaVersion": { "description": "Version of this schema. Should increment for breaking changes to the schema", "type": "number", "minimum": 1, "enum": [1] }, "filter": { "type": "array", "description": "A filter expression as defined in https://docs.mapbox.com/mapbox-gl-js/style-spec/#other-filter but where the special fields `$type` refers to the mapeo type (observation, node, way etc) and `$id` is the mapeo id." }, "name": { "type": "string", "description": "A human-readable name for this filter." } }, "required": ["id", "version", "created_at", "type", "schemaVersion", "filter", "name"] }