Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/screwdriver-cd/data-schema
Screwdriver internal data schema
https://github.com/screwdriver-cd/data-schema
data-schema screwdriver validation
Last synced: 3 months ago
JSON representation
Screwdriver internal data schema
- Host: GitHub
- URL: https://github.com/screwdriver-cd/data-schema
- Owner: screwdriver-cd
- License: other
- Created: 2016-07-06T22:20:53.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2024-08-08T19:10:46.000Z (3 months ago)
- Last Synced: 2024-08-08T21:50:36.265Z (3 months ago)
- Topics: data-schema, screwdriver, validation
- Language: JavaScript
- Homepage: https://cd.screwdriver.cd/pipelines/12
- Size: 1.02 MB
- Stars: 5
- Watchers: 24
- Forks: 18
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Screwdriver Data Schema
[![Version][npm-image]][npm-url] ![Downloads][downloads-image] [![Build Status][status-image]][status-url] [![Open Issues][issues-image]][issues-url] ![License][license-image]> Internal data schema of [Screwdriver](https://github.com/screwdriver-cd/screwdriver)
## Description
This contains the structure/validation for all the models/resources of Screwdriver.
It's broken down into five (5) sections:
- `api` - API related input/output structure
- `config` - Screwdriver.yaml definitions
- `models` - Internal data resources (pipeline, job, build, collection etc.)
- `plugins` - Plugins (datastore, executor, etc.)
- `core` - SCM plugin related output structure## Models
The model represents a combination of what is required to create the resource and what is possible for returning from the resource.
### Methodology
Each model contains eight (8) schemas:
- `base` - List of all available fields in the model
- `allKeys` - List of all fields in the model
- `get` - Expected return values from a GET request against this resource
- `create` - Expected input values when making a CREATE action against this resource
- `update` - Expected input values when making an UPDATE action against this resource
- `keys` - List of keys that combine to represent a unique row
- `tableName` - Internal name of the table
- `indexes` - Secondary indexes to make search/lookup faster## Contributing
Please read [Migrations](./CONTRIBUTING.md#migrations) before adding anything to the data-schema
## Usage
```bash
npm install screwdriver-data-schema
```## Testing
```bash
npm test
```## License
Code licensed under the BSD 3-Clause license. See LICENSE file for terms.
[npm-image]: https://img.shields.io/npm/v/screwdriver-data-schema.svg
[npm-url]: https://npmjs.org/package/screwdriver-data-schema
[downloads-image]: https://img.shields.io/npm/dt/screwdriver-data-schema.svg
[license-image]: https://img.shields.io/npm/l/screwdriver-data-schema.svg
[issues-image]: https://img.shields.io/github/issues/screwdriver-cd/screwdriver.svg
[issues-url]: https://github.com/screwdriver-cd/screwdriver/issues
[status-image]: https://cd.screwdriver.cd/pipelines/12/badge
[status-url]: https://cd.screwdriver.cd/pipelines/12