Skip to content

Commit

Permalink
Merge pull request #74 from camaraproject/jgarciahospital-patch-5
Browse files Browse the repository at this point in the history
Spring25 - M3 Milestone - Prepare r2.1
  • Loading branch information
jgarciahospital authored Feb 10, 2025
2 parents ab85184 + f61088e commit 247f7a3
Show file tree
Hide file tree
Showing 5 changed files with 76 additions and 28 deletions.
48 changes: 48 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,60 @@

## Table of Contents

- [r2.1](#r21)
- **[r1.2](#r12)**
- [r1.1](#r11)
- [v0.1.0](#v010)

**Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until it has been released. For example, changes may be reverted before a release is published. For the best results, use the latest published release.**

# r2.1
## Release Notes

This release contains the definition and documentation of
* population-density-data v0.2.0-rc.1

The API definition(s) are based on
* Commonalities v0.5.0-rc.1
* Identity and Consent Management v0.3.0-rc.1


## population-density-data v0.2.0-rc.1

**population-density-data v0.2.0-rc.1 is the 1st release candidate of the version 0.2.0**

- 0.2.0-rc.1 Population Density Data API definition **with inline documentation**:
- OpenAPI [YAML spec file](https://github.com/camaraproject/PopulationDensityData/blob/r2.1/code/API_definitions/population-density-data.yaml)
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/PopulationDensityData/r2.1/code/API_definitions/population-density-data.yaml&nocors)
- [View it on Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/PopulationDensityData/r2.1/code/API_definitions/population-density-data.yaml)

### Added
* Include new description to the sink endpoint and included start/endtime references to align API input and output. by @jgarciahospital in https://github.com/camaraproject/PopulationDensityData/pull/57
* Include "OPERATION_NOT_COMPLETED" error for async operation by @jgarciahospital in https://github.com/camaraproject/PopulationDensityData/pull/63
* Include operation ID for the async mechanism by @jgarciahospital in https://github.com/camaraproject/PopulationDensityData/pull/64
* Add a pattern for x-correlator by @bigludo7 in https://github.com/camaraproject/PopulationDensityData/pull/71
* Support time window in the past in the APIexposure of data in the past is added by @gregory1g in https://github.com/camaraproject/PopulationDensityData/pull/60


### Changed
* Simplify class management and change of density value formats by @jgarciahospital in https://github.com/camaraproject/PopulationDensityData/pull/59
* Update error with 422 by @jgarciahospital in https://github.com/camaraproject/PopulationDensityData/pull/66
* Align error code & definition as specified in Commonalities 0.5 by @bigludo7 in https://github.com/camaraproject/PopulationDensityData/pull/68
* Align population-density-data API with areaType format by @jgarciahospital in https://github.com/camaraproject/PopulationDensityData/pull/69
* Align 429 messages by @bigludo7 in https://github.com/camaraproject/PopulationDensityData/pull/73
* Update API test plan for Population Density Data including new features and alignement with commonalities by @jgarciahospital in https://github.com/camaraproject/PopulationDensityData/pull/76

### Fixed
N/A

### Removed
N/A

## New Contributors
* @bigludo7 made their first contribution in https://github.com/camaraproject/PopulationDensityData/pull/68

**Full Changelog**: https://github.com/camaraproject/PopulationDensityData/compare/r1.2...r2.1

# r1.2
## Release Notes

Expand Down
10 changes: 5 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,11 @@ Repository to describe, develop, document and test the Population Density Data A
## Status and released versions

* Note: Please be aware that the project will have frequent updates to the main branch. There are no compatibility guarantees associated with code in any branch, including main, until a new release is created. For example, changes may be reverted before a release is created. **For best results, use the latest available release**.
* The release r1.2 contains the version 0.1.1 of the Population Density Data API. It is the release of the patch release v0.1.1. The release tag is [r1.2](https://github.com/camaraproject/PopulationDensityData/tree/r1.2).
- 0.1.1 Population Density Data API definition **with inline documentation**:
- OpenAPI [YAML spec file](https://github.com/camaraproject/PopulationDensityData/blob/r1.2/code/API_definitions/population-density-data.yaml)
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/PopulationDensityData/r1.2/code/API_definitions/population-density-data.yaml&nocors)
- [View it on Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/PopulationDensityData/r1.2/code/API_definitions/population-density-data.yaml)
* The pre-release r2.1 contains the version 0.2.0-rc.1 of the Population Density Data API. The release tag is [r2.1](https://github.com/camaraproject/PopulationDensityData/tree/r2.1).
- 0.2.0-rc.1 Population Density Data API definition **with inline documentation**:
- OpenAPI [YAML spec file](https://github.com/camaraproject/PopulationDensityData/blob/r2.1/code/API_definitions/population-density-data.yaml)
- [View it on ReDoc](https://redocly.github.io/redoc/?url=https://raw.githubusercontent.com/camaraproject/PopulationDensityData/r2.1/code/API_definitions/population-density-data.yaml&nocors)
- [View it on Swagger Editor](https://editor.swagger.io/?url=https://raw.githubusercontent.com/camaraproject/PopulationDensityData/r2.1/code/API_definitions/population-density-data.yaml)
* The latest public release is available here: https://github.com/camaraproject/PopulationDensityData/releases/latest
* Other releases of this sub project are available in https://github.com/camaraproject/PopulationDensityData/releases
* For changes see [CHANGELOG.md](https://github.com/camaraproject/PopulationDensityData/blob/main/CHANGELOG.md)
Expand Down
32 changes: 16 additions & 16 deletions code/API_definitions/population-density-data.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ info:
For requests with a combination of `area`, `precision`, `startTime` and `endTime`
properties too big for both synchronous and asynchronous processing, the API
returns the error response `POPULATION_DENSITY_DATA.UNSUPPPORTED_REQUEST`.
returns the error response `POPULATION_DENSITY_DATA.UNSUPPORTED_REQUEST`.
If an error happens during the asynchronous processing of the request. The API callback
will have property `status` with value `OPERATION_NOT_COMPLETED` as an error cannot be returned in the callback.
Expand All @@ -105,13 +105,13 @@ info:
The API provides one endpoint that accepts POST requests for retrieving population
density information in the specified area.
# Authorization and Authentication
# Authorization and authentication
The "Camara Security and Interoperability Profile" provides details on how a client requests an access token. Please refer to Identify and Consent Management (https://github.com/camaraproject/IdentityAndConsentManagement/) for the released version of the Profile.
The "Camara Security and Interoperability Profile" provides details of how an API consumer requests an access token. Please refer to Identity and Consent Management (https://github.com/camaraproject/IdentityAndConsentManagement/) for the released version of the profile.
Which specific authorization flows are to be used will be determined during onboarding process, happening between the API Client and the Telco Operator exposing the API, taking into account the declared purpose for accessing the API, while also being subject to the prevailing legal framework dictated by local legislation.
The specific authorization flows to be used will be agreed upon during the onboarding process, happening between the API consumer and the API provider, taking into account the declared purpose for accessing the API, whilst also being subject to the prevailing legal framework dictated by local legislation.
It is important to remark that in cases where personal user data is processed by the API, and users can exercise their rights through mechanisms such as opt-in and/or opt-out, the use of 3-legged access tokens becomes mandatory. This measure ensures that the API remains in strict compliance with user privacy preferences and regulatory obligations, upholding the principles of transparency and user-centric data control.
In cases where personal data is processed by the API and users can exercise their rights through mechanisms such as opt-in and/or opt-out, the use of three-legged access tokens is mandatory. This ensures that the API remains in compliance with privacy regulations, upholding the principles of transparency and user-centric privacy-by-design.
Population Density Data API ensures the usage of anonymized information and do not treat personal data neither as input nor output.
Therefore, the access to Population Density Data API is defined as Client Credentials - 2-legged. Please refer to Identify and Consent Management (https://github.com/camaraproject/IdentityAndConsentManagement/) for the latest detailed specification of this authentication/authorization flow.
Expand All @@ -124,14 +124,14 @@ info:
license:
name: Apache 2.0
url: https://www.apache.org/licenses/LICENSE-2.0.html
version: wip
version: 0.2.0-rc.1

x-camara-commonalities: 0.4.0
x-camara-commonalities: 0.5
externalDocs:
description: Product documentation at Camara.
url: https://github.com/camaraproject/
servers:
- url: '{apiRoot}/population-density-data/vwip'
- url: '{apiRoot}/population-density-data/v0.2rc1'
variables:
apiRoot:
default: http://localhost:9091
Expand Down Expand Up @@ -657,7 +657,7 @@ components:
- The area is not a polygon shape or exceeds supported complexity ("code": "POPULATION_DENSITY_DATA.INVALID_AREA", "message": "The area is not a polygon shape or exceeds supported complexity")
- Indicated `startTime` is greater than the maximum allowed ("code": "POPULATION_DENSITY_DATA.MAX_STARTTIME_EXCEEDED", "message": "Indicated startTime is greater than the maximum allowed")
- Indicated `startTime` is earlier than the minimum allowed ("code": "POPULATION_DENSITY_DATA.MIN_STARTTIME_EXCEEDED", "message": "Indicated startTime is earlier than the minimum allowed")
- Indicated `endTime` is earlier than the `startTime` ("code": "POPULATION_DENSITY_DATA.INVALID_END_DATE", "message": "Indicated endTime is earlier than the startTime")
- Indicated `endTime` is earlier than the `startTime` ("code": "POPULATION_DENSITY_DATA.INVALID_END_TIME", "message": "Indicated endTime is earlier than the startTime")
- Indicated time period is partially in the past and partially in the future ("code": "POPULATION_DENSITY_DATA.INVALID_TIME_PERIOD", "message": "time period is partially in the past and partially in the future")
- Indicated time period is greater than the maximum allowed (More than maximum hours between startTime and endTime) ("code": "POPULATION_DENSITY_DATA.MAX_TIME_PERIOD_EXCEEDED", "message": "Indicated time period is greater than the maximum allowed (More than maximum hours between startTime and endTime)")
headers:
Expand All @@ -681,7 +681,7 @@ components:
- POPULATION_DENSITY_DATA.INVALID_AREA
- POPULATION_DENSITY_DATA.MAX_STARTTIME_EXCEEDED
- POPULATION_DENSITY_DATA.MIN_STARTTIME_EXCEEDED
- POPULATION_DENSITY_DATA.INVALID_END_DATE
- POPULATION_DENSITY_DATA.INVALID_END_TIME
- POPULATION_DENSITY_DATA.MAX_TIME_PERIOD_EXCEEDED
- POPULATION_DENSITY_DATA.INVALID_TIME_PERIOD
examples:
Expand Down Expand Up @@ -717,10 +717,10 @@ components:
code: POPULATION_DENSITY_DATA.MIN_STARTTIME_EXCEEDED
message: >-
Indicated startTime is earlier than the minimum allowed
POPULATION_DENSITY_DATA_400_INVALID_END_DATE:
POPULATION_DENSITY_DATA_400_INVALID_END_TIME:
value:
status: 400
code: POPULATION_DENSITY_DATA.INVALID_END_DATE
code: POPULATION_DENSITY_DATA.INVALID_END_TIME
message: Indicated endDate is earlier than the startTime
POPULATION_DENSITY_DATA_400_MAX_TIME_PERIOD_EXCEEDED:
value:
Expand Down Expand Up @@ -864,7 +864,7 @@ components:
RetrieveLocationUnprocessableContent422:
description: >-
Problem with the client request. The following scenarios may exist:
- Indicated combination of area, time interval and precision is too big ("code": "POPULATION_DENSITY_DATA.UNSUPPPORTED_REQUEST", "message": "Indicated combination of area, time interval and precision is too big")
- Indicated combination of area, time interval and precision is too big ("code": "POPULATION_DENSITY_DATA.UNSUPPORTED_REQUEST", "message": "Indicated combination of area, time interval and precision is too big")
- Indicated cell precision (Geohash level) is not supported ("code": "POPULATION_DENSITY_DATA.UNSUPPORTED_PRECISION", "message": "Indicated cell precision (Geohash level) is not supported")
- Indicated combination of area, time interval and precision is too big for a sync response ("code": "POPULATION_DENSITY_DATA.UNSUPPORTED_SYNC_RESPONSE", "message": "Indicated combination of area, time interval and precision is too big for a sync response")
headers:
Expand All @@ -882,14 +882,14 @@ components:
- 422
code:
enum:
- POPULATION_DENSITY_DATA.UNSUPPPORTED_REQUEST
- POPULATION_DENSITY_DATA.UNSUPPORTED_REQUEST
- POPULATION_DENSITY_DATA.UNSUPPORTED_PRECISION
- POPULATION_DENSITY_DATA.UNSUPPORTED_SYNC_RESPONSE
examples:
POPULATION_DENSITY_DATA_422_UNSUPPPORTED_REQUEST:
POPULATION_DENSITY_DATA_422_UNSUPPORTED_REQUEST:
value:
status: 422
code: POPULATION_DENSITY_DATA.UNSUPPPORTED_REQUEST
code: POPULATION_DENSITY_DATA.UNSUPPORTED_REQUEST
message: Indicated combination of area, time interval and precision is too big
POPULATION_DENSITY_DATA_422_UNSUPPORTED_PRECISION:
value:
Expand Down
6 changes: 3 additions & 3 deletions code/Test_definitions/population-density-data.feature
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Feature: CAMARA Population Density Data API, v0.2.0-rc.2
Feature: CAMARA Population Density Data API, v0.2.0-rc.1
# Input to be provided by the implementation to the tester
#
# Implementation indications:
Expand All @@ -14,11 +14,11 @@ Feature: CAMARA Population Density Data API, v0.2.0-rc.2
# * An Area partially within the supported region
# * An Area outside the supported region
#
# References to OAS spec schemas refer to schemas specifies in population-density-data.yaml, version 0.1.1
# References to OAS spec schemas refer to schemas specifies in population-density-data.yaml, version 0.2.0-rc.1

Background: Common retrievePopulationDensity setup
Given an environment at "apiRoot"
And the resource "/population-density-data/v0.2rc2/retrieve"
And the resource "/population-density-data/v0.2rc1/retrieve"
And the header "Content-Type" is set to "application/json"
And the header "Authorization" is set to a valid access token
And the header "x-correlator" is set to a UUID value
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# API Readiness Checklist

Checklist for population-density-data 0.1.1 in release r1.2
Checklist for population-density-data 0.2.0-rc.1 in release r2.1

| Nr | API release assets | alpha | release-candidate | initial<br>public | stable<br> public | Status | Comments |
| Nr | API release assets | alpha | release-candidate | initial<br>public | stable<br> public | Status | Reference information |
|----|----------------------------------------------|:-----:|:-----------------:|:-------:|:------:|:----:|------|
| 1 | API definition | M | M | M | M | Y | [link](/code/API_definitions/population-density-data.yaml) |
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | |
| 3 | Guidelines from ICM applied | O | M | M | M | Y | |
| 2 | Design guidelines from Commonalities applied | O | M | M | M | Y | r2.2 |
| 3 | Guidelines from ICM applied | O | M | M | M | Y | r2.2 |
| 4 | API versioning convention applied | M | M | M | M | Y | |
| 5 | API documentation | M | M | M | M | Y | Embed documentation into API spec - [link](/code/API_definitions/population-density-data.yaml) |
| 6 | User stories | O | O | O | M | N | |
Expand Down

0 comments on commit 247f7a3

Please sign in to comment.