From 3af21a7a04f56fae8e8be21ba1da087abfa3f911 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Sun, 15 Dec 2019 15:29:14 +0100 Subject: [PATCH] LocationAPI schemas update --- .../schemas/AccessPointList.schema.json | 124 +++++++++++++++ SRV/UEAREASUB/PlatUeAreaSubscription.robot | 2 +- .../jsons/CircleNotificationSubscription.json | 2 - .../CircleNotificationSubscriptionError.json | 2 - ...CircleNotificationSubscription.schema.json | 142 +++++++++++++++++ .../schemas/TerminalDistance.schema.json | 32 ++++ ...stanceNotificationSubscription.schema.json | 147 ++++++++++++++++++ SRV/UEINFOLOOK/PlatUeInformationLookup.robot | 2 +- SRV/UEINFOLOOK/jsons/UserList.json | 19 +++ SRV/UEINFOLOOK/schemas/UserList.schema.json | 93 +++++++++++ .../ZonalTrafficSubscription.schema.json | 75 +++++++++ SRV/UELOCLOOK/PlatUeLocationLookup.robot | 2 +- SRV/UELOCLOOK/schemas/UserInfo.schema.json | 74 +++++++++ .../UserTrackingSubscription.schema.json | 77 +++++++++ ...riodicNotificationSubscription.schema.json | 99 ++++++++++++ 15 files changed, 885 insertions(+), 7 deletions(-) create mode 100644 SRV/UEINFOLOOK/jsons/UserList.json create mode 100644 SRV/UEINFOLOOK/schemas/UserList.schema.json create mode 100644 SRV/UELOCLOOK/schemas/UserInfo.schema.json diff --git a/SRV/RLOCLOOK/schemas/AccessPointList.schema.json b/SRV/RLOCLOOK/schemas/AccessPointList.schema.json index e69de29..767e377 100644 --- a/SRV/RLOCLOOK/schemas/AccessPointList.schema.json +++ b/SRV/RLOCLOOK/schemas/AccessPointList.schema.json @@ -0,0 +1,124 @@ +{ + "description": "A type containing list of access points.", + "type": "object", + "required": [ + "zoneId", + "resourceURL" + ], + "properties": { + "zoneId": { + "description": "Identifier of zone", + "type": "string", + "example": "zone01" + }, + "accessPoint": { + "description": "Collection of the access point information list.", + "type": "array", + "items": { + "description": "A type containing access point information.", + "type": "object", + "required": [ + "accessPointId", + "connectionType", + "operationStatus", + "numberOfUsers", + "resourceURL" + ], + "properties": { + "accessPointId": { + "description": "Identifier of access point, (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element", + "type": "string", + "example": "001010000000000000000000000000001" + }, + "locationInfo": { + "description": "A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.", + "type": "object", + "required": [ + "latitude", + "longitude", + "accuracy" + ], + "properties": { + "latitude": { + "type": "number", + "format": "float", + "example": "80.123" + }, + "longitude": { + "type": "number", + "format": "float", + "example": "70.123" + }, + "altitude": { + "type": "number", + "format": "float", + "example": "10.0" + }, + "accuracy": { + "type": "integer", + "format": "int32", + "example": "10" + } + } + }, + "connectionType": { + "description": "The connection type for the access point", + "type": "string", + "enum": [ + "Femto", + "LTE-femto", + "Smallcell", + "LTE-smallcell", + "Wifi", + "Pico", + "Micro", + "Macro", + "Wimax", + "Unknown" + ], + "example": "Macro" + }, + "operationStatus": { + "description": "The operation status of the access point", + "type": "string", + "enum": [ + "Serviceable", + "Unserviceable", + "Unknown" + ], + "example": "Serviceable" + }, + "numberOfUsers": { + "description": "The number of users currently on the access point.", + "type": "integer", + "format": "uint32", + "example": "7" + }, + "timezone": { + "description": "Time zone of access point", + "type": "string", + "format": "date-time", + "example": "2017-01-01T02:51:43Z" + }, + "interestRealm": { + "description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).", + "type": "string", + "example": "LA" + }, + "resourceURL": { + "description": "Self referring URL.", + "type": "string", + "format": "uri", + "example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123" + } + } + } + }, + "resourceURL": { + "description": "Self referring URL.", + "type": "string", + "format": "uri", + "example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123" + } + } +} \ No newline at end of file diff --git a/SRV/UEAREASUB/PlatUeAreaSubscription.robot b/SRV/UEAREASUB/PlatUeAreaSubscription.robot index 0307725..426b21b 100644 --- a/SRV/UEAREASUB/PlatUeAreaSubscription.robot +++ b/SRV/UEAREASUB/PlatUeAreaSubscription.robot @@ -25,7 +25,7 @@ TC_MEC_SRV_UEAREASUB_001_OK [Tags] PIC_MEC_PLAT PIC_SERVICES Create new subscription CircleNotificationSubscription Check HTTP Response Status Code Is 201 - Check HTTP Response Body Json Schema Is circleNotificationSubscription + Check HTTP Response Body Json Schema Is CircleNotificationSubscription Check Result Contains ${response['body']['circleNotificationSubscription']} clientCorrelator ${UEAREASUB_CLIENT_ID} Check Result Contains ${response['body']['circleNotificationSubscription']} callbackReference ${APP_UEAREASUB_CALLBACK_URI} Check Result Contains ${response['body']['circleNotificationSubscription']} address ${IP_ADDRESS} diff --git a/SRV/UEAREASUB/jsons/CircleNotificationSubscription.json b/SRV/UEAREASUB/jsons/CircleNotificationSubscription.json index 918f135..2780574 100644 --- a/SRV/UEAREASUB/jsons/CircleNotificationSubscription.json +++ b/SRV/UEAREASUB/jsons/CircleNotificationSubscription.json @@ -1,5 +1,4 @@ { - "circleNotificationSubscription": { "address": "acr:10.0.0.1", "callbackReference": { "callbackData": "1234", @@ -13,5 +12,4 @@ "longitude": "41.277306", "radius": "500", "trackingAccuracy": "10" - } } \ No newline at end of file diff --git a/SRV/UEAREASUB/jsons/CircleNotificationSubscriptionError.json b/SRV/UEAREASUB/jsons/CircleNotificationSubscriptionError.json index 25b2930..3f9f6e8 100644 --- a/SRV/UEAREASUB/jsons/CircleNotificationSubscriptionError.json +++ b/SRV/UEAREASUB/jsons/CircleNotificationSubscriptionError.json @@ -1,5 +1,4 @@ { - "circleNotificationSubscription": { "address": "acr:10.0.0.1", "callback": { "callbackData": "1234", @@ -13,5 +12,4 @@ "longitude": "41.277306", "radius": "500", "trackingAccuracy": "10" - } } \ No newline at end of file diff --git a/SRV/UEAREASUB/schemas/CircleNotificationSubscription.schema.json b/SRV/UEAREASUB/schemas/CircleNotificationSubscription.schema.json index e69de29..6b745ec 100644 --- a/SRV/UEAREASUB/schemas/CircleNotificationSubscription.schema.json +++ b/SRV/UEAREASUB/schemas/CircleNotificationSubscription.schema.json @@ -0,0 +1,142 @@ +{ + "definitions": {}, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://example.com/root.json", + "type": "object", + "title": "The Root Schema", + "required": [ + "address", + "callbackReference", + "checkImmediate", + "clientCorrelator", + "enteringLeavingCriteria", + "frequency", + "latitude", + "longitude", + "radius", + "trackingAccuracy" + ], + "properties": { + "address": { + "$id": "#/properties/address", + "type": "string", + "title": "The Address Schema", + "default": "", + "examples": [ + "acr:10.0.0.1" + ], + "pattern": "^(.*)$" + }, + "callbackReference": { + "$id": "#/properties/callbackReference", + "type": "object", + "title": "The Callbackreference Schema", + "required": [ + "callbackData", + "notifyURL" + ], + "properties": { + "callbackData": { + "$id": "#/properties/callbackReference/properties/callbackData", + "type": "string", + "title": "The Callbackdata Schema", + "default": "", + "examples": [ + "1234" + ], + "pattern": "^(.*)$" + }, + "notifyURL": { + "$id": "#/properties/callbackReference/properties/notifyURL", + "type": "string", + "title": "The Notifyurl Schema", + "default": "", + "examples": [ + "http://application.example.com/notifications/distance_notifications/123456" + ], + "pattern": "^(.*)$" + } + } + }, + "checkImmediate": { + "$id": "#/properties/checkImmediate", + "type": "string", + "title": "The Checkimmediate Schema", + "default": "", + "examples": [ + "true" + ], + "pattern": "^(.*)$" + }, + "clientCorrelator": { + "$id": "#/properties/clientCorrelator", + "type": "string", + "title": "The Clientcorrelator Schema", + "default": "", + "examples": [ + "0123" + ], + "pattern": "^(.*)$" + }, + "enteringLeavingCriteria": { + "$id": "#/properties/enteringLeavingCriteria", + "type": "string", + "title": "The Enteringleavingcriteria Schema", + "default": "", + "examples": [ + "Entering" + ], + "pattern": "^(.*)$" + }, + "frequency": { + "$id": "#/properties/frequency", + "type": "string", + "title": "The Frequency Schema", + "default": "", + "examples": [ + "10" + ], + "pattern": "^(.*)$" + }, + "latitude": { + "$id": "#/properties/latitude", + "type": "string", + "title": "The Latitude Schema", + "default": "", + "examples": [ + "-80.86302" + ], + "pattern": "^(.*)$" + }, + "longitude": { + "$id": "#/properties/longitude", + "type": "string", + "title": "The Longitude Schema", + "default": "", + "examples": [ + "41.277306" + ], + "pattern": "^(.*)$" + }, + "radius": { + "$id": "#/properties/radius", + "type": "string", + "title": "The Radius Schema", + "default": "", + "examples": [ + "500" + ], + "pattern": "^(.*)$" + }, + "trackingAccuracy": { + "$id": "#/properties/trackingAccuracy", + "type": "string", + "title": "The Trackingaccuracy Schema", + "default": "", + "examples": [ + "10" + ], + "pattern": "^(.*)$" + } + } +} \ No newline at end of file diff --git a/SRV/UEDISTLOOK/schemas/TerminalDistance.schema.json b/SRV/UEDISTLOOK/schemas/TerminalDistance.schema.json index e69de29..b23ded1 100644 --- a/SRV/UEDISTLOOK/schemas/TerminalDistance.schema.json +++ b/SRV/UEDISTLOOK/schemas/TerminalDistance.schema.json @@ -0,0 +1,32 @@ +{ + "definitions": {}, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://example.com/root.json", + "type": "object", + "title": "The Root Schema", + "required": [ + " terminalDistance" + ], + "properties": { + " terminalDistance": { + "$id": "#/properties/ terminalDistance", + "type": "object", + "title": "The terminaldistance Schema", + "required": [ + "distance" + ], + "properties": { + "distance": { + "$id": "#/properties/ terminalDistance/properties/distance", + "type": "string", + "title": "The Distance Schema", + "default": "", + "examples": [ + "123" + ], + "pattern": "^(.*)$" + } + } + } + } +} diff --git a/SRV/UEDISTSUB/schemas/DistanceNotificationSubscription.schema.json b/SRV/UEDISTSUB/schemas/DistanceNotificationSubscription.schema.json index e69de29..bc69876 100644 --- a/SRV/UEDISTSUB/schemas/DistanceNotificationSubscription.schema.json +++ b/SRV/UEDISTSUB/schemas/DistanceNotificationSubscription.schema.json @@ -0,0 +1,147 @@ +{ + "definitions": {}, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "http://example.com/root.json", + "type": "object", + "title": "The Root Schema", + "required": [ + "distanceNotificationSubscription" + ], + "properties": { + "distanceNotificationSubscription": { + "$id": "#/properties/distanceNotificationSubscription", + "type": "object", + "title": "The Distancenotificationsubscription Schema", + "required": [ + "callbackReference", + "checkImmediate", + "clientCorrelator", + "criteria", + "distance", + "frequency", + "monitoredAddress", + "referenceAddress", + "trackingAccuracy" + ], + "properties": { + "callbackReference": { + "$id": "#/properties/distanceNotificationSubscription/properties/callbackReference", + "type": "object", + "title": "The Callbackreference Schema", + "required": [ + "callbackData", + "notifyURL" + ], + "properties": { + "callbackData": { + "$id": "#/properties/distanceNotificationSubscription/properties/callbackReference/properties/callbackData", + "type": "string", + "title": "The Callbackdata Schema", + "default": "", + "examples": [ + "1234" + ], + "pattern": "^(.*)$" + }, + "notifyURL": { + "$id": "#/properties/distanceNotificationSubscription/properties/callbackReference/properties/notifyURL", + "type": "string", + "title": "The Notifyurl Schema", + "default": "", + "examples": [ + "http://application.example.com/notifications/distance_notifications/123456" + ], + "pattern": "^(.*)$" + } + } + }, + "checkImmediate": { + "$id": "#/properties/distanceNotificationSubscription/properties/checkImmediate", + "type": "string", + "title": "The Checkimmediate Schema", + "default": "", + "examples": [ + "true" + ], + "pattern": "^(.*)$" + }, + "clientCorrelator": { + "$id": "#/properties/distanceNotificationSubscription/properties/clientCorrelator", + "type": "string", + "title": "The Clientcorrelator Schema", + "default": "", + "examples": [ + "0123" + ], + "pattern": "^(.*)$" + }, + "criteria": { + "$id": "#/properties/distanceNotificationSubscription/properties/criteria", + "type": "string", + "title": "The Criteria Schema", + "default": "", + "examples": [ + "AllWithinDistance" + ], + "pattern": "^(.*)$" + }, + "distance": { + "$id": "#/properties/distanceNotificationSubscription/properties/distance", + "type": "string", + "title": "The Distance Schema", + "default": "", + "examples": [ + "100" + ], + "pattern": "^(.*)$" + }, + "frequency": { + "$id": "#/properties/distanceNotificationSubscription/properties/frequency", + "type": "string", + "title": "The Frequency Schema", + "default": "", + "examples": [ + "10" + ], + "pattern": "^(.*)$" + }, + "monitoredAddress": { + "$id": "#/properties/distanceNotificationSubscription/properties/monitoredAddress", + "type": "array", + "title": "The Monitoredaddress Schema", + "items": { + "$id": "#/properties/distanceNotificationSubscription/properties/monitoredAddress/items", + "type": "string", + "title": "The Items Schema", + "default": "", + "examples": [ + "acr:10.0.0.1", + "acr:10.0.0.2" + ], + "pattern": "^(.*)$" + } + }, + "referenceAddress": { + "$id": "#/properties/distanceNotificationSubscription/properties/referenceAddress", + "type": "string", + "title": "The Referenceaddress Schema", + "default": "", + "examples": [ + "acr:10.0.0.3" + ], + "pattern": "^(.*)$" + }, + "trackingAccuracy": { + "$id": "#/properties/distanceNotificationSubscription/properties/trackingAccuracy", + "type": "string", + "title": "The Trackingaccuracy Schema", + "default": "", + "examples": [ + "10" + ], + "pattern": "^(.*)$" + } + } + } + } +} diff --git a/SRV/UEINFOLOOK/PlatUeInformationLookup.robot b/SRV/UEINFOLOOK/PlatUeInformationLookup.robot index b001867..4db40dc 100644 --- a/SRV/UEINFOLOOK/PlatUeInformationLookup.robot +++ b/SRV/UEINFOLOOK/PlatUeInformationLookup.robot @@ -24,7 +24,7 @@ TC_MEC_SRV_UEINFOLOOK_001_OK [Tags] PIC_MEC_PLAT PIC_SERVICES Get list of users with filter address ${ACR_ADDRESS} Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is userList + Check HTTP Response Body Json Schema Is UserList TC_MEC_SRV_UEINFOLOOK_001_BR diff --git a/SRV/UEINFOLOOK/jsons/UserList.json b/SRV/UEINFOLOOK/jsons/UserList.json new file mode 100644 index 0000000..72cd825 --- /dev/null +++ b/SRV/UEINFOLOOK/jsons/UserList.json @@ -0,0 +1,19 @@ +{ + "user":[ + { + "address":"acr:192.0.2.1", + "accessPointId":"", + "zoneId":"", + "resourceURL":"http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription1", + "locationInfo":{ + "latitude":0.0, + "longitude":0.0, + "altitude":0.0, + "accuracy":0.0 + }, + "contextLocationInfo":"", + "ancillaryInfo":"" + } + ], + "resourceURL":"http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription1" +} \ No newline at end of file diff --git a/SRV/UEINFOLOOK/schemas/UserList.schema.json b/SRV/UEINFOLOOK/schemas/UserList.schema.json new file mode 100644 index 0000000..ae608d6 --- /dev/null +++ b/SRV/UEINFOLOOK/schemas/UserList.schema.json @@ -0,0 +1,93 @@ +{ + "description": "A type containing list of users.", + "type": "object", + "required": [ + "resourceURL" + ], + "properties": { + "user": { + "description": "Collection of the zone information list.", + "type": "array", + "items": { + "description": "A type containing user information.", + "type": "object", + "required": [ + "address", + "accessPointId", + "zoneId", + "resourceURL" + ], + "properties": { + "address": { + "description": "Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI).", + "type": "string", + "format": "uri", + "example": "acr:192.0.2.1" + }, + "accessPointId": { + "description": "Identifier of access point, (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element", + "type": "string", + "example": "001010000000000000000000000000001" + }, + "zoneId": { + "description": "Identifier of zone", + "type": "string", + "example": "zone01" + }, + "resourceURL": { + "description": "Self referring URL.", + "type": "string", + "format": "uri", + "example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123" + }, + "locationInfo": { + "description": "A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.", + "type": "object", + "required": [ + "latitude", + "longitude", + "accuracy" + ], + "properties": { + "latitude": { + "type": "number", + "format": "float", + "example": "80.123" + }, + "longitude": { + "type": "number", + "format": "float", + "example": "70.123" + }, + "altitude": { + "type": "number", + "format": "float", + "example": "10.0" + }, + "accuracy": { + "type": "integer", + "format": "int32", + "example": "10" + } + } + }, + "contextLocationInfo": { + "description": "Contextual information of a user location (e.g., aisle, floor, room number, etc.)", + "type": "string", + "example": "GroundFloor" + }, + "ancillaryInfo": { + "description": "Reserved for future use.", + "type": "string" + } + } + } + }, + "resourceURL": { + "description": "Self referring URL.", + "type": "string", + "format": "uri", + "example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123" + } + } + } \ No newline at end of file diff --git a/SRV/UEINFOSUB/schemas/ZonalTrafficSubscription.schema.json b/SRV/UEINFOSUB/schemas/ZonalTrafficSubscription.schema.json index e69de29..6325e7a 100644 --- a/SRV/UEINFOSUB/schemas/ZonalTrafficSubscription.schema.json +++ b/SRV/UEINFOSUB/schemas/ZonalTrafficSubscription.schema.json @@ -0,0 +1,75 @@ +{ + "name": "zonalTrafficSubscription", + "in": "body", + "description": "Zonal Traffic Subscription", + "required": true, + "schema": { + "description": "A type containing zonal traffic subscription", + "type": "object", + "required": [ + "callbackReference", + "zoneId" + ], + "properties": { + "clientCorrelator": { + "description": "Uniquely identifies this create subscription request. If there is a communication failure during the request, using the same clientCorrelator when retrying the request allows the operator to avoid creating a duplicate subscription.", + "type": "string", + "example": "0123" + }, + "callbackReference": { + "description": "Notification callback definition.", + "type": "object", + "required": [ + "notifyURL" + ], + "properties": { + "notifyURL": { + "description": "The URL of your own listener application.", + "type": "string", + "format": "url", + "example": "http://clientApp.example.com/location_notifications/123456" + } + } + }, + "zoneId": { + "description": "Identifier of zone", + "type": "string", + "example": "zone01" + }, + "interestRealm": { + "description": "Interest realms of access points within a zone (e.g. geographical area, a type of industry etc.).", + "type": "array", + "items": { + "description": "Interest realm of access point (e.g. geographical area, a type of industry etc.).", + "type": "string", + "example": "LA" + } + }, + "userEventCriteria": { + "description": "List of user event values to generate notifications for (these apply to zone identifier or all interest realms within zone identifier specified). If this element is missing, a notification is requested to be generated for any change in user event.", + "type": "array", + "items": { + "description": "User event", + "type": "string", + "enum": [ + "Entering", + "Leaving", + "Transferring" + ], + "example": "Entering" + } + }, + "duration": { + "description": "Period (in seconds) of time notifications are provided for. If set to \"0\" (zero), a default duration time, which is specified by the service policy, will be used. If the parameter is omitted, the notifications will continue until the maximum duration time, which is specified by the service policy, unless the notifications are stopped by deletion of subscription for notifications. This element MAY be given by the client during resource creation in order to signal the desired lifetime of the subscription. The server MUST return in this element the period of time for which the subscription will still be valid.", + "type": "string", + "example": "0" + }, + "resourceURL": { + "description": "Self referring URL.", + "type": "string", + "format": "uri", + "example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123" + } + } + } + } \ No newline at end of file diff --git a/SRV/UELOCLOOK/PlatUeLocationLookup.robot b/SRV/UELOCLOOK/PlatUeLocationLookup.robot index 852351e..5401d95 100644 --- a/SRV/UELOCLOOK/PlatUeLocationLookup.robot +++ b/SRV/UELOCLOOK/PlatUeLocationLookup.robot @@ -26,7 +26,7 @@ TC_MEC_SRV_UELOCLOOK_001_OK [Tags] PIC_MEC_PLAT PIC_SERVICES Get list of user equipments zoneId ${ZONE_ID} Check HTTP Response Status Code Is 200 - Check HTTP Response Body Json Schema Is userInfo + Check HTTP Response Body Json Schema Is UserInfo Check Result Contains ${response['body']['userInfo']} zoneId ${ZONE_ID} diff --git a/SRV/UELOCLOOK/schemas/UserInfo.schema.json b/SRV/UELOCLOOK/schemas/UserInfo.schema.json new file mode 100644 index 0000000..8f5cef3 --- /dev/null +++ b/SRV/UELOCLOOK/schemas/UserInfo.schema.json @@ -0,0 +1,74 @@ +{ + "description": "A type containing user information.", + "type": "object", + "required": [ + "address", + "accessPointId", + "zoneId", + "resourceURL" + ], + "properties": { + "address": { + "description": "Address of user (e.g. \"sip\" URI, \"tel\" URI, \"acr\" URI).", + "type": "string", + "format": "uri", + "example": "acr:192.0.2.1" + }, + "accessPointId": { + "description": "Identifier of access point, (reference ETSI TS 129 171). Where the E-CGI is made up of the PLMN and Cell Identity (28 bit string). Then the PLMN is made up of the 3 digit MCC & 2 or 3 digit MNC. The Cell Portion is an optional element", + "type": "string", + "example": "001010000000000000000000000000001" + }, + "zoneId": { + "description": "Identifier of zone", + "type": "string", + "example": "zone01" + }, + "resourceURL": { + "description": "Self referring URL.", + "type": "string", + "format": "uri", + "example": "http://example.com/exampleAPI/location/v1/subscriptions/userTracking/subscription123" + }, + "locationInfo": { + "description": "A type containing location information with latitude, longitude and altitude, in addition the accuracy of the information are provided.", + "type": "object", + "required": [ + "latitude", + "longitude", + "accuracy" + ], + "properties": { + "latitude": { + "type": "number", + "format": "float", + "example": "80.123" + }, + "longitude": { + "type": "number", + "format": "float", + "example": "70.123" + }, + "altitude": { + "type": "number", + "format": "float", + "example": "10.0" + }, + "accuracy": { + "type": "integer", + "format": "int32", + "example": "10" + } + } + }, + "contextLocationInfo": { + "description": "Contextual information of a user location (e.g., aisle, floor, room number, etc.)", + "type": "string", + "example": "GroundFloor" + }, + "ancillaryInfo": { + "description": "Reserved for future use.", + "type": "string" + } + } + } \ No newline at end of file diff --git a/SRV/UELOCSUB/schemas/UserTrackingSubscription.schema.json b/SRV/UELOCSUB/schemas/UserTrackingSubscription.schema.json index e69de29..c7e590d 100644 --- a/SRV/UELOCSUB/schemas/UserTrackingSubscription.schema.json +++ b/SRV/UELOCSUB/schemas/UserTrackingSubscription.schema.json @@ -0,0 +1,77 @@ +{ + "definitions": {}, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://example.com/object1575044080.json", + "title": "Root", + "type": "object", + "required": [ + "userTrackingSubscription" + ], + "properties": { + "userTrackingSubscription": { + "$id": "#root/userTrackingSubscription", + "title": "Usertrackingsubscription", + "type": "object", + "required": [ + "clientCorrelator", + "callbackReference", + "address", + "userEventCriteria" + ], + "properties": { + "clientCorrelator": { + "$id": "#root/userTrackingSubscription/clientCorrelator", + "title": "Clientcorrelator", + "type": "string", + "default": "", + "examples": [ + "0123" + ], + "pattern": "^.*$" + }, + "callbackReference": { + "$id": "#root/userTrackingSubscription/callbackReference", + "title": "Callbackreference", + "type": "object", + "required": [ + "notifyURL" + ], + "properties": { + "notifyURL": { + "$id": "#root/userTrackingSubscription/callbackReference/notifyURL", + "title": "Notifyurl", + "type": "string", + "default": "", + "examples": [ + "http://clientApp.example.com/location_notifications/123456" + ], + "pattern": "^.*$" + } + } + } +, + "address": { + "$id": "#root/userTrackingSubscription/address", + "title": "Address", + "type": "string", + "default": "", + "examples": [ + "acr:10.0.0.1" + ], + "pattern": "^.*$" + }, + "userEventCriteria": { + "$id": "#root/userTrackingSubscription/userEventCriteria", + "title": "Usereventcriteria", + "type": "string", + "default": "", + "examples": [ + "Transferring" + ], + "pattern": "^.*$" + } + } + } + + } +} diff --git a/SRV/UETRACKSUB/schemas/PeriodicNotificationSubscription.schema.json b/SRV/UETRACKSUB/schemas/PeriodicNotificationSubscription.schema.json index e69de29..4a1d50e 100644 --- a/SRV/UETRACKSUB/schemas/PeriodicNotificationSubscription.schema.json +++ b/SRV/UETRACKSUB/schemas/PeriodicNotificationSubscription.schema.json @@ -0,0 +1,99 @@ +{ + "definitions": {}, + "$schema": "http://json-schema.org/draft-07/schema#", + "$id": "https://example.com/object1575044234.json", + "title": "Root", + "type": "object", + "required": [ + "periodicNotificationSubscription" + ], + "properties": { + "periodicNotificationSubscription": { + "$id": "#root/periodicNotificationSubscription", + "title": "Periodicnotificationsubscription", + "type": "object", + "required": [ + "address", + "callbackReference", + "clientCorrelator", + "frequency", + "requestedAccuracy" + ], + "properties": { + "address": { + "$id": "#root/periodicNotificationSubscription/address", + "title": "Address", + "type": "string", + "default": "", + "examples": [ + "acr:10.0.0.1" + ], + "pattern": "^.*$" + }, + "callbackReference": { + "$id": "#root/periodicNotificationSubscription/callbackReference", + "title": "Callbackreference", + "type": "object", + "required": [ + "callbackData", + "notifyURL" + ], + "properties": { + "callbackData": { + "$id": "#root/periodicNotificationSubscription/callbackReference/callbackData", + "title": "Callbackdata", + "type": "string", + "default": "", + "examples": [ + "0123" + ], + "pattern": "^.*$" + }, + "notifyURL": { + "$id": "#root/periodicNotificationSubscription/callbackReference/notifyURL", + "title": "Notifyurl", + "type": "string", + "default": "", + "examples": [ + "http://clientApp.example.com/location_notifications/123456" + ], + "pattern": "^.*$" + } + } + } +, + "clientCorrelator": { + "$id": "#root/periodicNotificationSubscription/clientCorrelator", + "title": "Clientcorrelator", + "type": "string", + "default": "", + "examples": [ + "0123" + ], + "pattern": "^.*$" + }, + "frequency": { + "$id": "#root/periodicNotificationSubscription/frequency", + "title": "Frequency", + "type": "string", + "default": "", + "examples": [ + "10" + ], + "pattern": "^.*$" + }, + "requestedAccuracy": { + "$id": "#root/periodicNotificationSubscription/requestedAccuracy", + "title": "Requestedaccuracy", + "type": "string", + "default": "", + "examples": [ + "10" + ], + "pattern": "^.*$" + } + } + } + + } +} -- GitLab