DECKHAND-80: Validations API Implementation
The Validations API has been introduced to Deckhand, allowing users
to register new validation results in Deckhand, as well as query
the API for validation results for a revision. The validation results
include a list of errors that occurred during document validation.
All functional tests related to the API are now passing.
The following endpoints have been implemented:
* /api/v1.0/revisions/{revision_id}/validations
* /api/v1.0/revisions/{revision_id}/validations/{validation_name}
* /api/v1.0/revisions/{revision_id}/validations/{validation_name}/entries
* /api/v1.0/revisions/{revision_id}/validations/{validation_name}/entries/{entry_id}
Some back-end refactoring was needed to implement this API. In
particular:
- Added a new Validation sqlalchemy DB model
- Introduced DataSchema handling to the engine.document_validation
module so that registered schema validations can be used
- Changed the way the result of the 'deckhand-schema-validation' internal
validation is generated: it is now the amalgamation of all the
internal and registered schema validations executed
- Introduced rawquery generation so that raw SQL queries can be used to
get results from DB
Fixed following bug:
- UniqueConstraint is now used to correctly generate unique constraints
for sqlalchemy models that are supposed to be combinations of columns
Change-Id: I53c79a6544f44ef8beab2600ddc8a3ea91ada903
This commit is contained in:
14
releasenotes/notes/validations-api-cf07c8b6b5040f67.yaml
Normal file
14
releasenotes/notes/validations-api-cf07c8b6b5040f67.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
---
|
||||
features:
|
||||
- |
|
||||
The Validations API has been introduced to Deckhand, allowing users
|
||||
to register new validation results in Deckhand, as well as query
|
||||
the API for validation results for a revision. The validation results
|
||||
include a list of errors that occurred during document validation.
|
||||
|
||||
The following endpoints have been implemented:
|
||||
|
||||
* /api/v1.0/revisions/{revision_id}/validations
|
||||
* /api/v1.0/revisions/{revision_id}/validations/{validation_name}
|
||||
* /api/v1.0/revisions/{revision_id}/validations/{validation_name}/entries
|
||||
* /api/v1.0/revisions/{revision_id}/validations/{validation_name}/entries/{entry_id}
|
||||
Reference in New Issue
Block a user