From 5ffacd6d2f1601f502a188095ead2ebefe94668a Mon Sep 17 00:00:00 2001 From: Maximilian Laue Date: Tue, 7 May 2024 10:38:52 +0200 Subject: [PATCH 01/10] feat: update base-path for geofencing-subscriptions --- code/API_definitions/geofencing.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/API_definitions/geofencing.yaml b/code/API_definitions/geofencing.yaml index c55dccf5..5acf5f91 100644 --- a/code/API_definitions/geofencing.yaml +++ b/code/API_definitions/geofencing.yaml @@ -67,13 +67,13 @@ info: license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0.html - version: 0.2.0-wip + version: wip externalDocs: description: Product documentation at Camara url: https://github.com/camaraproject/ servers: - - url: "{apiRoot}/geofencing/v0" + - url: "{apiRoot}/geofencing-subscriptions/v0" variables: apiRoot: default: http://localhost:9091 From 579325b8faac7b0d20356ecd9b1d802566589a64 Mon Sep 17 00:00:00 2001 From: Maximilian Laue Date: Tue, 7 May 2024 11:10:13 +0200 Subject: [PATCH 02/10] feat: rename file from geofencing.yaml to geofencing-subscriptions.yaml --- .../{geofencing.yaml => geofencing-subscriptions.yaml} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename code/API_definitions/{geofencing.yaml => geofencing-subscriptions.yaml} (100%) diff --git a/code/API_definitions/geofencing.yaml b/code/API_definitions/geofencing-subscriptions.yaml similarity index 100% rename from code/API_definitions/geofencing.yaml rename to code/API_definitions/geofencing-subscriptions.yaml From 166de55b1d60f77f99d39bda0a56640b68b59e48 Mon Sep 17 00:00:00 2001 From: Maximilian Laue Date: Tue, 7 May 2024 22:25:30 +0200 Subject: [PATCH 03/10] feat: update security scope --- code/API_definitions/geofencing-subscriptions.yaml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/code/API_definitions/geofencing-subscriptions.yaml b/code/API_definitions/geofencing-subscriptions.yaml index 5acf5f91..20254c16 100644 --- a/code/API_definitions/geofencing-subscriptions.yaml +++ b/code/API_definitions/geofencing-subscriptions.yaml @@ -168,7 +168,8 @@ paths: $ref: "#/components/responses/Generic503" security: - openId: - - geofencing:subscriptions:write + - geofencing-subscriptions:org.camaraproject.geofencing.v0.area-entered:create + - geofencing-subscriptions:org.camaraproject.geofencing.v0.area-left:create get: tags: - Geofencing subscriptions @@ -202,7 +203,7 @@ paths: $ref: "#/components/responses/Generic503" security: - openId: - - geofencing:subscriptions:read + - geofencing-subscriptions:read /subscriptions/{subscriptionsId}: get: @@ -243,7 +244,7 @@ paths: $ref: "#/components/responses/Generic503" security: - openId: - - geofencing:subscriptions:read + - geofencing-subscriptions:read delete: tags: - Geofencing subscriptions @@ -279,7 +280,7 @@ paths: $ref: "#/components/responses/Generic503" security: - openId: - - geofencing:subscriptions:delete + - geofencing-subscriptions:delete components: securitySchemes: From 42ad70654bcd515a316d0cb35468d97b3279424e Mon Sep 17 00:00:00 2001 From: Maximilian Laue Date: Tue, 14 May 2024 14:16:03 +0200 Subject: [PATCH 04/10] feat: update event-names to org.camaraproject.geofencing-subscriptions.v0 --- .../geofencing-subscriptions.yaml | 36 +++++++++---------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/code/API_definitions/geofencing-subscriptions.yaml b/code/API_definitions/geofencing-subscriptions.yaml index 20254c16..e08512e7 100644 --- a/code/API_definitions/geofencing-subscriptions.yaml +++ b/code/API_definitions/geofencing-subscriptions.yaml @@ -1,6 +1,6 @@ openapi: 3.0.3 info: - title: Device Geofencing + title: Device Geofencing Subscriptions description: | API to create, retrieve and delete event subscriptions to realize geofencing for a user device. @@ -37,11 +37,11 @@ info: It is mandatory in the subscription to provide the event `type` for which the client would like to subscribe. Following event ``type`` are managed for this API: - - ``org.camaraproject.geofencing.v0.area-entered`` - Event triggered when the device enters the given area + - ``org.camaraproject.geofencing-subscriptions.v0.area-entered`` - Event triggered when the device enters the given area - - ``org.camaraproject.geofencing.v0.area-left`` - Event triggered when the device leaves the given area + - ``org.camaraproject.geofencing-subscriptions.v0.area-left`` - Event triggered when the device leaves the given area - Note: Additionally to these list, ``org.camaraproject.geofencing.v0.subscription-ends`` notification `type` is sent when the subscription ends. + Note: Additionally to these list, ``org.camaraproject.geofencing-subscriptions.v0.subscription-ends`` notification `type` is sent when the subscription ends. This notification does not require dedicated subscription. It is used when: @@ -168,8 +168,8 @@ paths: $ref: "#/components/responses/Generic503" security: - openId: - - geofencing-subscriptions:org.camaraproject.geofencing.v0.area-entered:create - - geofencing-subscriptions:org.camaraproject.geofencing.v0.area-left:create + - geofencing-subscriptions:org.camaraproject.geofencing-subscriptions.v0.area-entered:create + - geofencing-subscriptions:org.camaraproject.geofencing-subscriptions.v0.area-left:create get: tags: - Geofencing subscriptions @@ -507,8 +507,8 @@ components: area-left - Event triggered when the device leaves the given area enum: - - org.camaraproject.geofencing.v0.area-entered - - org.camaraproject.geofencing.v0.area-left + - org.camaraproject.geofencing-subscriptions.v0.area-entered + - org.camaraproject.geofencing-subscriptions.v0.area-left NotificationEventType: type: string @@ -519,9 +519,9 @@ components: subscription-ends - Event triggered when the subscription ends enum: - - org.camaraproject.geofencing.v0.area-entered - - org.camaraproject.geofencing.v0.area-left - - org.camaraproject.geofencing.v0.subscription-ends + - org.camaraproject.geofencing-subscriptions.v0.area-entered + - org.camaraproject.geofencing-subscriptions.v0.area-left + - org.camaraproject.geofencing-subscriptions.v0.subscription-ends NotificationUrl: type: string @@ -623,9 +623,9 @@ components: discriminator: propertyName: "type" mapping: - org.camaraproject.geofencing.v0.area-left: "#/components/schemas/EventAreaLeft" - org.camaraproject.geofencing.v0.area-entered: "#/components/schemas/EventAreaEntered" - org.camaraproject.geofencing.v0.subscription-ends: "#/components/schemas/EventSubscriptionEnds" + org.camaraproject.geofencing-subscriptions.v0.area-left: "#/components/schemas/EventAreaLeft" + org.camaraproject.geofencing-subscriptions.v0.area-entered: "#/components/schemas/EventAreaEntered" + org.camaraproject.geofencing-subscriptions.v0.subscription-ends: "#/components/schemas/EventSubscriptionEnds" EventAreaLeft: description: event structure for event when the device leaves the area @@ -850,13 +850,13 @@ components: latitude: 50.735851 longitude: 7.10066 radius: 2000 - type: org.camaraproject.geofencing.v0.area-entered + type: org.camaraproject.geofencing-subscriptions.v0.area-entered subscriptionExpireTime: 2024-03-22T05:40:58.469Z CIRCLE_AREA_ENTERED: value: id: "123655" source: https://notificationSendServer12.supertelco.com - type: org.camaraproject.geofencing.v0.area-entered + type: org.camaraproject.geofencing-subscriptions.v0.area-entered specversion: "1.0" datacontenttype: application/json time: 2023-03-22T05:40:23.682Z @@ -874,7 +874,7 @@ components: value: id: "123655" source: https://notificationSendServer12.supertelco.com - type: org.camaraproject.geofencing.v0.area-left + type: org.camaraproject.geofencing-subscriptions.v0.area-left specversion: "1.0" datacontenttype: application/json time: 2023-03-22T05:40:23.682Z @@ -893,7 +893,7 @@ components: value: id: "123655" source: https://notificationSendServer12.supertelco.com - type: org.camaraproject.geofencing.v0.subscription-ends + type: org.camaraproject.geofencing-subscriptions.v0.subscription-ends specversion: "1.0" datacontenttype: application/json time: 2023-03-22T05:40:23.682Z From 1ee2288455f918cbeb313b3f10d759bc2ed175e7 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Tue, 4 Jun 2024 10:41:46 +0200 Subject: [PATCH 05/10] Update location-retrieval.yaml --- code/API_definitions/location-retrieval.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/location-retrieval.yaml b/code/API_definitions/location-retrieval.yaml index d7024380..39beb54e 100644 --- a/code/API_definitions/location-retrieval.yaml +++ b/code/API_definitions/location-retrieval.yaml @@ -37,7 +37,7 @@ info: * **Max Age**: Maximum age of the location information which is accepted for the location retrieval (in seconds). - * Absence of maxAge means "any age" is acceptable for the client. In other words, this is like maxAge=infinite. In this case the system may still return lastLocationTime, if available. If the system is not able to provide location a error 404 with code LOCATION_RETRIEVAL.DEVICE_NOT_FOUND is send back. + * Absence of maxAge means "any age" is acceptable for the client. In other words, this is like maxAge=infinite. The system still return lastLocationTime in the response. If the system is not able to provide location a error 404 with code LOCATION_RETRIEVAL.DEVICE_NOT_FOUND is send back. * maxAge=0 means a fresh calculation is requested by the client. If the system is not able to provide fresh location an error 422 with code LOCATION_RETRIEVAL.UNABLE_TO_FULFILL_MAX_AGE is send back. * **Last Location Time** : Last date and time when the device was localized. From 0904c7f59d9b91a3dd530e0dca692e9a19804e28 Mon Sep 17 00:00:00 2001 From: Herbert Damker <52109189+hdamker@users.noreply.github.com> Date: Sun, 9 Jun 2024 23:49:25 +0200 Subject: [PATCH 06/10] Update CODEOWNERS --- CODEOWNERS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/CODEOWNERS b/CODEOWNERS index 771c0207..c7c9b09c 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -7,3 +7,7 @@ # These are the default owners for the whole content of this repository. The default owners are automatically added as reviewers when you open a pull request, unless different owners are specified in the file. * @bigludo7 @jlurien + +# Owners of the CODEOWNER and Maintainer.md files are the admins of CAMARA (to allow them to keep the teams within the CAMARA organization in sync in case of changes) +/CODEOWNERS @camaraproject/admins +/MAINTAINERS.MD @camaraproject/admins From 96cb54958f365e76aac0c178268c8fefe09912d9 Mon Sep 17 00:00:00 2001 From: Herbert Damker <52109189+hdamker@users.noreply.github.com> Date: Sun, 9 Jun 2024 23:51:49 +0200 Subject: [PATCH 07/10] Update MAINTAINERS.MD --- MAINTAINERS.MD | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/MAINTAINERS.MD b/MAINTAINERS.MD index 507a8f0b..7a6493f1 100644 --- a/MAINTAINERS.MD +++ b/MAINTAINERS.MD @@ -1,9 +1,9 @@ -| Org | Name | -| -----------------------| ----------------------------------------------------| -| Deutsche Telekom AG | Noel Wirzius | -| Ericsson | Joachim Dahlgren | -| Orange | Ludovic Robert | -| Orange | Sylvain Morel | -| Telefonica | Jose Luis Urien | -| Vodafone | Kevin Smith | -| Verizon | Mahesh Chapalamadugu | +| Org | Name | GitHub Username | +| -----------------------| -------------------------|---------------------------| +| Deutsche Telekom AG | Noel Wirzius | NoelWirzius | +| Ericsson | Joachim Dahlgren | JoachimDahlgren | +| Orange | Ludovic Robert | bigludo7 | +| Orange | Sylvain Morel | SylMOREL | +| Telefonica | Jose Luis Urien | jlurien | +| Vodafone | Kevin Smith | Kevsy | +| Verizon | Mahesh Chapalamadugu | maheshc01 | From 5f54bb6934a39b72825ae0f6b1e380dd65b697b1 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Wed, 12 Jun 2024 15:37:57 +0200 Subject: [PATCH 08/10] Update location-retrieval.yaml Fixed line 40 wording. --- code/API_definitions/location-retrieval.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/location-retrieval.yaml b/code/API_definitions/location-retrieval.yaml index 39beb54e..ca63c7ee 100644 --- a/code/API_definitions/location-retrieval.yaml +++ b/code/API_definitions/location-retrieval.yaml @@ -37,7 +37,7 @@ info: * **Max Age**: Maximum age of the location information which is accepted for the location retrieval (in seconds). - * Absence of maxAge means "any age" is acceptable for the client. In other words, this is like maxAge=infinite. The system still return lastLocationTime in the response. If the system is not able to provide location a error 404 with code LOCATION_RETRIEVAL.DEVICE_NOT_FOUND is send back. + * Absence of maxAge means "any age" is acceptable for the client. In other words, this is like maxAge=infinite. The system returns lastLocationTime in the response. If the system is not able to provide location a error 404 with code LOCATION_RETRIEVAL.DEVICE_NOT_FOUND is send back. * maxAge=0 means a fresh calculation is requested by the client. If the system is not able to provide fresh location an error 422 with code LOCATION_RETRIEVAL.UNABLE_TO_FULFILL_MAX_AGE is send back. * **Last Location Time** : Last date and time when the device was localized. From 2b70a5f3254df112e1d88f5b324add6302dfb851 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Thu, 13 Jun 2024 09:08:07 +0200 Subject: [PATCH 09/10] Update code/API_definitions/location-retrieval.yaml Co-authored-by: Jose Luis Urien --- code/API_definitions/location-retrieval.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/location-retrieval.yaml b/code/API_definitions/location-retrieval.yaml index ca63c7ee..ce8d581f 100644 --- a/code/API_definitions/location-retrieval.yaml +++ b/code/API_definitions/location-retrieval.yaml @@ -37,7 +37,7 @@ info: * **Max Age**: Maximum age of the location information which is accepted for the location retrieval (in seconds). - * Absence of maxAge means "any age" is acceptable for the client. In other words, this is like maxAge=infinite. The system returns lastLocationTime in the response. If the system is not able to provide location a error 404 with code LOCATION_RETRIEVAL.DEVICE_NOT_FOUND is send back. + * Absence of `maxAge` means that "any age" is acceptable for the client. In other words, this is like `maxAge`=infinite. The system will return `lastLocationTime` in the response. If the system is not able to provide location, an error 404 with code LOCATION_RETRIEVAL.DEVICE_NOT_FOUND is sent back. * maxAge=0 means a fresh calculation is requested by the client. If the system is not able to provide fresh location an error 422 with code LOCATION_RETRIEVAL.UNABLE_TO_FULFILL_MAX_AGE is send back. * **Last Location Time** : Last date and time when the device was localized. From 51c6afb06e3c5844d6d9bd4b22277c883507a789 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Thu, 13 Jun 2024 09:09:26 +0200 Subject: [PATCH 10/10] Update location-retrieval.yaml Fixed line 41. --- code/API_definitions/location-retrieval.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/location-retrieval.yaml b/code/API_definitions/location-retrieval.yaml index ce8d581f..7d66fe9b 100644 --- a/code/API_definitions/location-retrieval.yaml +++ b/code/API_definitions/location-retrieval.yaml @@ -38,7 +38,7 @@ info: * **Max Age**: Maximum age of the location information which is accepted for the location retrieval (in seconds). * Absence of `maxAge` means that "any age" is acceptable for the client. In other words, this is like `maxAge`=infinite. The system will return `lastLocationTime` in the response. If the system is not able to provide location, an error 404 with code LOCATION_RETRIEVAL.DEVICE_NOT_FOUND is sent back. - * maxAge=0 means a fresh calculation is requested by the client. If the system is not able to provide fresh location an error 422 with code LOCATION_RETRIEVAL.UNABLE_TO_FULFILL_MAX_AGE is send back. + * `maxAge`=0 means that a fresh calculation is requested by the client. If the system is not able to provide the fresh location, an error 422 with code LOCATION_RETRIEVAL.UNABLE_TO_FULFILL_MAX_AGE is sent back. * **Last Location Time** : Last date and time when the device was localized.