2.0.3 • Published 6 years ago
warehouse.ai-status-models v2.0.3
warehouse.ai-status-models
Datastar models for the Warehouse.ai-status-api.
Install
npm install warehouse.ai-status-models --saveUsage
const dynamoClient = new AWS.DynamoDB({ /* connection config */ });
const dynamodb = require('dynamodb');
dynamodb.dynamoDriver(dynamoClient);
const models = require('warehouse.ai-status-models')(dynamodb);
// from dynastar.define we get...
const Status = models.Status;
Status.findOne({ ... }).then(res => { ... }).catch(err => { ... });API
All schemas for the API documentation are written using Joi notation.
Schemas
Status (Status)
Generic status information
| Column | Type | Summary |
|---|---|---|
| pkg (pk) | string | Name of a package |
| env (pk) | string | What environment is this build made for (dev, test, etc.) |
| version (pk) | string | What version of a package does this status represent |
| previousVersion | string | The previous version number |
| total | number | Total progress as percentage |
| error | boolean | Did the build error |
| createdAt | timestamp | Time of creation |
| updatedAt | timestamp | Time of last update |
| complete | boolean | Did the build complete |
StatusHead (StatusHead)
Generic status information but just for he latest version for a given
pkg and env. Refer to the table above for details. The properties
error and complete do not exist on this table.
StatusEvent (StatusEvent)
A detailed event for the various stages of a build process containing message
and optional details properties as well as locale and whether it is and
error or not.
| Column | Type | Summary |
|---|---|---|
| pkg (pk) | string | Name of a package |
| env (pk) | string | What environment is this build made for (dev, test, etc.) |
| version (pk) | string | What version of a package does this status represent |
| locale | string | Build locale |
| error | boolean | Is the status event an error |
| message | string | Status message |
| details | string | Message details |
| createdAt | timestamp | Time of creation |
| eventId | string (timeUUID) | Unique id sortable by time |
StatusCounter (StatusCounter)
A simple distributed counter model that is incremented when a locale build
has completed in order to compute progress based on total amount of locales.
| Column | Type | Summary |
|---|---|---|
| pkg (pk) | string | Name of a package |
| env (pk) | string | What environment is this build made for (dev, test, etc.) |
| version (pk) | string | What version of a package does this status represent |
| count | counter | Incrementable counter |
Test
Before running tests, spin up an instance of localstack by running
npm run localstackThen run:
npm test