Models
Contains model definitions for the REST API.
Testing
Install dependencies
npm i
Run the tests
npm test
JSON-LD Entity Definitions
All entities require a 'context' which explicitly types their JSON
representation. The version is used to express schema changes per entity.
This is inspired by JSON-LD.
ApiIndex
Describes entry points of an API.
{
"__context": "https://github.com/nRFCloud/models#ApiIndex",
"__contextVersion": 1,
"links": [
{
"__context": "https://github.com/nRFCloud/models#Link",
"__contextVersion": 1,
"href": "https://foo.iot.us-east-1.amazonaws.com",
"subject": "https://aws.amazon.com/iot-platform/",
"rel": "production"
},
{
"__context": "https://github.com/nRFCloud/models#Link",
"__contextVersion": 1,
"href": "https://bar.execute-api.us-east-1.amazonaws.com/prod",
"subject": "https://nrfcloud.com/",
"rel": "production"
}
]
}
JSON Schema: ApiIndex.schema.json
Source: ApiIndex.ts
Link
Describes a link.
{
"__context": "https://github.com/nRFCloud/models#Link",
"__contextVersion": 1,
"href": "https://api.nrfcloud.com/stage/custom-cards/foo/some-id",
"subject": "https://github.com/nRFCloud/models#CustomCard",
"rel": "next"
}
JSON Schema: Link.schema.json
Source: Link.ts
Status
Describes the status of the system.
{
"__context": "https://github.com/nRFCloud/models#Status",
"__contextVersion": 1,
"maintenance": false,
"version": "1.0.0-beta.1",
"time: "2017-10-02T11:05:46.793Z"
}
JSON Schema: Status.schema.json
Source: Status.ts