-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Experimental API 3 - Versioned Model #1693
Comments
…e contours, empty DatasetControllerV3 to test
- login allowed at /api/login & /api-v3/login - v2/v3 BaseRestApiTest distinquished
…st and post-import + IT to prove correct behavior
…mport + IT to prove correct behavior - fix with common location processing with segment stripping (+normalization)
…ion} now works for # or 'latest' (IT = regression test)
…{name}/{version} and /{name}/latest - improved
…- supports latest for as version-expression, impl for datasets improved by actual existence checking + IT test cases for non-existing/non-latest queries
…properties - supports latest for as version-expression; get impl is unvalidated, put impl checks validity - login is now common, under /api/login for both v2 and v3 (did not work previously)
…properties - supports latest for as version-expression; get impl is unvalidated, put impl checks validity - extended for different validation cases - login is now common, under /api/login for both v2 and v3 (did not work previously)
…ture -> CompletableFuture (mistake reverted)
… added. IT mostly adjusted, but there are todos - DatasetServiceV3 introduced to carry difference in behavior to DatasetService. original entity validation has been divided into create-validation and regular-entity validation. - buildfix for VersionedModelServiceTest
…asets/dsName/version/rules, GET datasets/dsName/version/rules/# + IT
- v2 ignores this added information - needs
…authentication)")` is now limited to changing endpoints of PropertyDefinitionControllerV3 (previously it was incorrectly used for all changing endpoints. IT updated. And specific check for the adminRole have been added to PropertyDefinitionControllerV3IntegrationSuite.
* #1693 API v3: VersionedModel v3 - VersionedModelControllerV3 , DatasetControllerV3 - login allowed at /api/login (common) - v2/v3 BaseRestApiTest distinquished - location header for put/post and post-import - /{name}/{version}/used-in - supports latest for as version-expression, impl for datasets improved by actual existence checking + IT test cases for non-existing/non-latest queries - /{name}/{version}/validation` impl added - conformance rule mgmt GET+POST datasets/dsName/version/rules, GET datasets/dsName/version/rules/# + IT - Swagger API: dev-profile: full v2+v3 API, non-dev: full v3 API - IT testcases
Release notes |
… with `MappingTableControllerV3.withMappingTableToResponse`
* #1693 - API v3 impl for MTs + ITs - Mt existence check for DS rules + reflecting in integTest - API v3 impl for MTs for schemas schema + validation for DSs + IntegTest update - POST, .../json, .../original, .../from-file - json 400 with validation errors on empty fields + PUT/POST with schema with empty fields -> 400 validation error, too. + ITs reflecting this (this reqiured parallel SchemaServiceV3) - Swagger differs in paths based on `spring.profiles.active` being `dev` or not. - PR review updates
- custom isDisabledCheck is not needed anymore (V3 services use `validate` for this) - `EntityDisabledException` removed, replaced by a `Validation` with `disabled` key. - validation fixed for Schemas (did not include super-check) - V3 integTests updated to cover the `disabled` = validation fail
… an error message (`UsedIn` wrapped in `EntityInUseException`)
* #1693 API v3: VersionedModel v3 disable/enable + usedIn - integrationTest cases added - 2 levels of .../used-in exist ( /{name}/used-in & /{name}/{version}/used-in). The former is used in disable checking. - UsedIn - empty/nonEmpty normalization V2 alternated between None and Some(Seq.empty) in various places, V3 consistently returns None for no references groups. - `NamedLatestVersion` generalized into a multipurpose `NamedVersion`. Small updates, thanks @benedeki - API v3 summary (NamedVersion) now contains `disabled` information - mainly on GET ...{/name} - disable fail due to nonEmpty used in now carries a wrapper with an error message (`UsedIn` wrapped in `EntityInUseException`) - Future {throw x}` replaced with `Future.failed(x)` in rest_api, cleanup
* #1693 As `disabled` flag cases to fail validation: - custom isDisabledCheck is not needed anymore (V3 services use `validate` for this) - `EntityDisabledException` removed, replaced by a `Validation` with `disabled` key. - validation fixed for Schemas (did not include super-check) - V3 integTests updated to cover the `disabled` = validation fail * #1693 disable fail due to nonEmpty used in now carries a wrapper with an error message (`UsedIn` wrapped in `EntityInUseException`) * #1693 `Future {throw x}` replaced with `Future.failed(x)` in rest_api, cleanup
Background
3rd part of the API rewrite.
Approach this as a PoC.
API is enough. Do not touch UI.
Think about where Envelope makes sense
Feature
All of this should be put under profile "api-experimental" in spring or a feature switch
- Would something similar be useful on {name}?
The text was updated successfully, but these errors were encountered: