From 52062c0b7f049c362ac6c94301d9cab5b6490413 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Tue, 23 Apr 2024 17:27:03 +0200 Subject: [PATCH 01/15] Update location-retrieval.yaml update maxAge behaviour --- code/API_definitions/location-retrieval.yaml | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/code/API_definitions/location-retrieval.yaml b/code/API_definitions/location-retrieval.yaml index 41296dbd..99793aca 100644 --- a/code/API_definitions/location-retrieval.yaml +++ b/code/API_definitions/location-retrieval.yaml @@ -13,7 +13,7 @@ info: The retrieved shape depends on the network conditions at the subscriber's location and any of the supported shapes could be received. - The requester could optionally ask for a freshness of the localization information by providing a maxAge ("I want a location not older than 600 seconds") + The requester could optionally ask for a freshness of the localization information by providing a maxAge ("I want a location not older than 600 seconds"). The result accuracy depends on the network's ability and accuracy to locate the device. @@ -37,6 +37,10 @@ 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 + * maxAge=0 means a fresh calculation is requested by the client. + If the system does not support it, or fresh location cannot be calculated at that time for any reason, the API response will be "unknown". + * **Last Location Time** : Last date and time when the device was localized. @@ -146,8 +150,7 @@ components: $ref: '#/components/schemas/Device' maxAge: type: integer - description: Maximum age of the location information which is accepted for the location retrieval (in seconds) - minimum: 60 + description: Maximum age of the location information which is accepted for the location retrieval (in seconds). Absence of maxAge means "any age" and maxAge=0 means a fresh calculation. required: - device From ffffd2aa7f62b2246e4219f20b29cf142f00d9e7 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Tue, 23 Apr 2024 17:32:52 +0200 Subject: [PATCH 02/15] Update location-verification.yaml Update maxAge behavior for Location Verfication yaml --- code/API_definitions/location-verification.yaml | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/code/API_definitions/location-verification.yaml b/code/API_definitions/location-verification.yaml index 57dd6f1b..f1d99829 100644 --- a/code/API_definitions/location-verification.yaml +++ b/code/API_definitions/location-verification.yaml @@ -31,6 +31,14 @@ info: * **Device**: A device refers to any physical entity that can connect to a network and participate in network communication. * **Area**: It specifies the geographical surface where a device may be physically located. + + + * **Max Age**: Maximum age of the location information which is accepted for the location verification (in seconds). + + * Absence of maxAge means "any age" is acceptable for the client. In other words, this is like maxAge=infinite + * maxAge=0 means a fresh calculation is requested by the client. + If the system does not support it, or fresh location cannot be checked at that time for any reason, the API response will be "unknown". + * **Verification**: Process triggered in the API server to confirm or contradict the expectation assumed by the API client about the device location. @@ -355,9 +363,8 @@ components: example: 2001:db8:85a3:8d3:1319:8a2e:370:7344 MaxAge: - description: The maximum age (in seconds) of the available location, which is accepted for the verification. + description: The maximum age (in seconds) of the available location, which is accepted for the verification. Absence of maxAge means "any age" and maxAge=0 means a fresh calculation. type: integer - minimum: 60 example: 120 VerificationResult: description: | From d2f694d40c8c5941c219240538c5046a78c4342a Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Tue, 23 Apr 2024 17:40:16 +0200 Subject: [PATCH 03/15] Update location-retrieval.yaml Remove trailing spaces --- code/API_definitions/location-retrieval.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/code/API_definitions/location-retrieval.yaml b/code/API_definitions/location-retrieval.yaml index 99793aca..ea9ffe72 100644 --- a/code/API_definitions/location-retrieval.yaml +++ b/code/API_definitions/location-retrieval.yaml @@ -38,8 +38,8 @@ 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 - * maxAge=0 means a fresh calculation is requested by the client. - If the system does not support it, or fresh location cannot be calculated at that time for any reason, the API response will be "unknown". + * maxAge=0 means a fresh calculation is requested by the client. + If the system does not support it, or fresh location cannot be calculated at that time for any reason, the API response will be "unknown". * **Last Location Time** : Last date and time when the device was localized. From b47e103f4a0d4d66b7c08260d7be2fbb6f3aabc4 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Tue, 23 Apr 2024 17:41:12 +0200 Subject: [PATCH 04/15] Update location-verification.yaml Remove trailing spaces --- code/API_definitions/location-verification.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/API_definitions/location-verification.yaml b/code/API_definitions/location-verification.yaml index f1d99829..b34c059d 100644 --- a/code/API_definitions/location-verification.yaml +++ b/code/API_definitions/location-verification.yaml @@ -34,10 +34,10 @@ info: * **Max Age**: Maximum age of the location information which is accepted for the location verification (in seconds). - + * Absence of maxAge means "any age" is acceptable for the client. In other words, this is like maxAge=infinite - * maxAge=0 means a fresh calculation is requested by the client. - If the system does not support it, or fresh location cannot be checked at that time for any reason, the API response will be "unknown". + * maxAge=0 means a fresh calculation is requested by the client. + If the system does not support it, or fresh location cannot be checked at that time for any reason, the API response will be "unknown". * **Verification**: Process triggered in the API server to confirm or contradict the expectation assumed by the API client about the device location. From dd519fbebe598a921791befe29333b4f9e64de59 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Tue, 23 Apr 2024 17:54:43 +0200 Subject: [PATCH 05/15] Update location-verification.yaml --- code/API_definitions/location-verification.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/code/API_definitions/location-verification.yaml b/code/API_definitions/location-verification.yaml index b34c059d..175ddd43 100644 --- a/code/API_definitions/location-verification.yaml +++ b/code/API_definitions/location-verification.yaml @@ -31,7 +31,6 @@ info: * **Device**: A device refers to any physical entity that can connect to a network and participate in network communication. * **Area**: It specifies the geographical surface where a device may be physically located. - * **Max Age**: Maximum age of the location information which is accepted for the location verification (in seconds). From d5f53eb3d3ca3fb063f4c8edf35dce03bdac597f Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Tue, 23 Apr 2024 17:57:21 +0200 Subject: [PATCH 06/15] Update location-verification.yaml --- code/API_definitions/location-verification.yaml | 1 - 1 file changed, 1 deletion(-) diff --git a/code/API_definitions/location-verification.yaml b/code/API_definitions/location-verification.yaml index 175ddd43..788e492e 100644 --- a/code/API_definitions/location-verification.yaml +++ b/code/API_definitions/location-verification.yaml @@ -33,7 +33,6 @@ info: * **Area**: It specifies the geographical surface where a device may be physically located. * **Max Age**: Maximum age of the location information which is accepted for the location verification (in seconds). - * Absence of maxAge means "any age" is acceptable for the client. In other words, this is like maxAge=infinite * maxAge=0 means a fresh calculation is requested by the client. If the system does not support it, or fresh location cannot be checked at that time for any reason, the API response will be "unknown". From 391a07199677f9f58bc5f7c4f856892e6626d5ab Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Thu, 25 Apr 2024 12:31:24 +0200 Subject: [PATCH 07/15] Update code/API_definitions/location-verification.yaml Co-authored-by: Jose Luis Urien --- code/API_definitions/location-verification.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/location-verification.yaml b/code/API_definitions/location-verification.yaml index 788e492e..0c4b6e36 100644 --- a/code/API_definitions/location-verification.yaml +++ b/code/API_definitions/location-verification.yaml @@ -35,7 +35,7 @@ info: * **Max Age**: Maximum age of the location information which is accepted for the location verification (in seconds). * Absence of maxAge means "any age" is acceptable for the client. In other words, this is like maxAge=infinite * maxAge=0 means a fresh calculation is requested by the client. - If the system does not support it, or fresh location cannot be checked at that time for any reason, the API response will be "unknown". + If the system does not support it, or fresh location cannot be checked at that time for any reason, the API response will be "UNKNOWN". * **Verification**: Process triggered in the API server to confirm or contradict the expectation assumed by the API client about the device location. From ace739b53b6b18d2f215af5d20fef3695046b246 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Thu, 25 Apr 2024 13:56:59 +0200 Subject: [PATCH 08/15] Update location-verification.yaml Added @alpaycetin74 proposal --- code/API_definitions/location-verification.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/location-verification.yaml b/code/API_definitions/location-verification.yaml index 0c4b6e36..23ff7dc8 100644 --- a/code/API_definitions/location-verification.yaml +++ b/code/API_definitions/location-verification.yaml @@ -33,7 +33,7 @@ info: * **Area**: It specifies the geographical surface where a device may be physically located. * **Max Age**: Maximum age of the location information which is accepted for the location verification (in seconds). - * Absence of maxAge means "any age" is acceptable for the client. In other words, this is like maxAge=infinite + * 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. * maxAge=0 means a fresh calculation is requested by the client. If the system does not support it, or fresh location cannot be checked at that time for any reason, the API response will be "UNKNOWN". From 2409c23914e58be1a44ad0dde594ce16d7f32ed8 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Thu, 25 Apr 2024 14:00:09 +0200 Subject: [PATCH 09/15] 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 ea9ffe72..fddd2ef3 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 + * 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. * maxAge=0 means a fresh calculation is requested by the client. If the system does not support it, or fresh location cannot be calculated at that time for any reason, the API response will be "unknown". From a3ee755fc1210dfca80f24f132075264b3f6d394 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Thu, 25 Apr 2024 15:14:18 +0200 Subject: [PATCH 10/15] Update location-verification.yaml Remove sapce --- code/API_definitions/location-verification.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/location-verification.yaml b/code/API_definitions/location-verification.yaml index 23ff7dc8..611b3719 100644 --- a/code/API_definitions/location-verification.yaml +++ b/code/API_definitions/location-verification.yaml @@ -33,7 +33,7 @@ info: * **Area**: It specifies the geographical surface where a device may be physically located. * **Max Age**: Maximum age of the location information which is accepted for the location verification (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. + * 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. * maxAge=0 means a fresh calculation is requested by the client. If the system does not support it, or fresh location cannot be checked at that time for any reason, the API response will be "UNKNOWN". From 12741fd623811cd77a7e9c114a1cc7035acd8570 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Fri, 26 Apr 2024 18:30:20 +0200 Subject: [PATCH 11/15] Update location-retrieval.yaml Aligned following our discussion --- code/API_definitions/location-retrieval.yaml | 37 +++++++++++++++----- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/code/API_definitions/location-retrieval.yaml b/code/API_definitions/location-retrieval.yaml index fddd2ef3..36ae43fa 100644 --- a/code/API_definitions/location-retrieval.yaml +++ b/code/API_definitions/location-retrieval.yaml @@ -37,9 +37,8 @@ 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. - * maxAge=0 means a fresh calculation is requested by the client. - If the system does not support it, or fresh location cannot be calculated at that time for any reason, the API response will be "unknown". + * 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 400 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 (current time - location time > maxDate) 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. @@ -116,7 +115,9 @@ paths: '403': $ref: '#/components/responses/Generic403' '404': - $ref: '#/components/responses/Generic404' + $ref: '#/components/responses/RetrieveLocationNotFound404' + '422': + $ref: '#/components/responses/RetrieveLocationUnprocessableEntity404' '500': $ref: '#/components/responses/Generic500' '503': @@ -396,8 +397,28 @@ components: status: 403 code: PERMISSION_DENIED message: "Operation not allowed: ..." - Generic404: + RetrieveLocationNotFound404: description: Not found + headers: + x-correlator: + $ref: '#/components/headers/x-correlator' + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorInfo' + examples: + notFound: + value: + status: 404 + code: NOT_FOUND + message: 'The specified resource is not found' + deviceNotFound: + value: + status: 404 + code: LOCATION_RETRIEVAL.DEVICE_NOT_FOUND + message: 'The location server is not able to locate the mobile' + RetrieveLocationUnprocessableEntity404: + description: Unprocessable Entity headers: x-correlator: $ref: '#/components/headers/x-correlator' @@ -406,9 +427,9 @@ components: schema: $ref: '#/components/schemas/ErrorInfo' example: - status: 404 - code: NOT_FOUND - message: 'The specified resource is not found' + status: 422 + code: LOCATION_RETRIEVAL.UNABLE_TO_FULFILL_MAX_AGE + message: "Unable to provide expected frehsness for location" Generic500: description: Internal server error headers: From 2e8350ccb73a1f36d3f4d3b932e517798095cd77 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Fri, 26 Apr 2024 18:33:18 +0200 Subject: [PATCH 12/15] Update location-retrieval.yaml Fixed megalinter issue --- 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 36ae43fa..e0308009 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 400 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. In this case the system may still return lastLocationTime, if available. If the system is not able to provide location a error 400 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 (current time - location time > maxDate) 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 e9dc94b1b731e98f237d3633a5b49932690d830e Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Fri, 3 May 2024 15:55:06 +0200 Subject: [PATCH 13/15] Update location-retrieval.yaml --- code/API_definitions/location-retrieval.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/API_definitions/location-retrieval.yaml b/code/API_definitions/location-retrieval.yaml index e0308009..b5f559b7 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 400 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. 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. * maxAge=0 means a fresh calculation is requested by the client. If the system is not able to provide fresh location (current time - location time > maxDate) 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. @@ -117,7 +117,7 @@ paths: '404': $ref: '#/components/responses/RetrieveLocationNotFound404' '422': - $ref: '#/components/responses/RetrieveLocationUnprocessableEntity404' + $ref: '#/components/responses/RetrieveLocationUnprocessableEntity422' '500': $ref: '#/components/responses/Generic500' '503': @@ -417,7 +417,7 @@ components: status: 404 code: LOCATION_RETRIEVAL.DEVICE_NOT_FOUND message: 'The location server is not able to locate the mobile' - RetrieveLocationUnprocessableEntity404: + RetrieveLocationUnprocessableEntity422: description: Unprocessable Entity headers: x-correlator: From b429ae78fdd2618e0ecfa812f6f83ebe74d96c09 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Mon, 6 May 2024 13:44:06 +0200 Subject: [PATCH 14/15] Update code/API_definitions/location-verification.yaml Co-authored-by: Jose Luis Urien --- code/API_definitions/location-verification.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/API_definitions/location-verification.yaml b/code/API_definitions/location-verification.yaml index 611b3719..d734b209 100644 --- a/code/API_definitions/location-verification.yaml +++ b/code/API_definitions/location-verification.yaml @@ -35,7 +35,7 @@ info: * **Max Age**: Maximum age of the location information which is accepted for the location verification (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. * maxAge=0 means a fresh calculation is requested by the client. - If the system does not support it, or fresh location cannot be checked at that time for any reason, the API response will be "UNKNOWN". + If the system does not support it, or fresh location cannot be checked at that time for any reason, the API response will be "UNKNOWN" and the `lastLocationTime` attribute may indicate the last available time for the device location. * **Verification**: Process triggered in the API server to confirm or contradict the expectation assumed by the API client about the device location. From cbe5473da863cab4eb9360206ab6009494a0a6a0 Mon Sep 17 00:00:00 2001 From: Ludovic Robert <30499179+bigludo7@users.noreply.github.com> Date: Mon, 6 May 2024 13:46:11 +0200 Subject: [PATCH 15/15] Update location-retrieval.yaml Removal formula for UNABLE_TO_FULFILL_MAX_AGE --- 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 b5f559b7..d7024380 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 "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. - * maxAge=0 means a fresh calculation is requested by the client. If the system is not able to provide fresh location (current time - location time > maxDate) an error 422 with code LOCATION_RETRIEVAL.UNABLE_TO_FULFILL_MAX_AGE 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.