From 6074064d482c85e1bf0d3b7eb178a3baa9171ba8 Mon Sep 17 00:00:00 2001 From: Elian Kraja Date: Fri, 20 Dec 2019 17:00:23 +0100 Subject: [PATCH] Updating json schemas to v.2.1.1 for MEC 013 --- GenericKeywords.robot | 1 + SRV/RLOCLOOK/PlatRadioNodeLocation.robot | 2 +- .../schemas/AccessPointList.schema.json | 137 +-------- ...CircleNotificationSubscription.schema.json | 143 +--------- .../schemas/TerminalDistance.schema.json | 37 +-- ...stanceNotificationSubscription.schema.json | 152 +--------- SRV/UEINFOLOOK/schemas/UserList.schema.json | 260 +++++++++++------- .../ZonalTrafficSubscription.schema.json | 80 +----- SRV/UELOCLOOK/schemas/UserInfo.schema.json | 222 ++++++++++----- .../UserTrackingSubscription.schema.json | 86 +----- ...riodicNotificationSubscription.schema.json | 108 +------- 11 files changed, 381 insertions(+), 847 deletions(-) diff --git a/GenericKeywords.robot b/GenericKeywords.robot index 90d51c5..68eb607 100644 --- a/GenericKeywords.robot +++ b/GenericKeywords.robot @@ -15,6 +15,7 @@ Check HTTP Response Status Code Is Log Status code validated Check HTTP Response Body Json Schema Is + [Tags] INCLUDE_UNDEFINED_SCHEMAS [Arguments] ${input} Should Contain ${response['headers']['Content-Type']} application/json ${schema} = Catenate SEPARATOR= ${input} .schema.json diff --git a/SRV/RLOCLOOK/PlatRadioNodeLocation.robot b/SRV/RLOCLOOK/PlatRadioNodeLocation.robot index f995c18..54c282a 100644 --- a/SRV/RLOCLOOK/PlatRadioNodeLocation.robot +++ b/SRV/RLOCLOOK/PlatRadioNodeLocation.robot @@ -21,7 +21,7 @@ TC_MEC_SRV_RLOCLOOK_001_OK ... Reference ETSI GS MEC 013 V2.1.1, clause 7.3.7 ... OpenAPI https://forge.etsi.org/gitlab/mec/gs013-location-api/blob/master/LocationAPI.yaml#/definitions/AccessPointList - [Tags] PIC_MEC_PLAT PIC_SERVICES + [Tags] PIC_MEC_PLAT PIC_SERVICES Get the access points list ${ZONE_ID} Check HTTP Response Status Code Is 200 Check HTTP Response Body Json Schema Is AccessPointList diff --git a/SRV/RLOCLOOK/schemas/AccessPointList.schema.json b/SRV/RLOCLOOK/schemas/AccessPointList.schema.json index 50efd4e..f8b20f2 100644 --- a/SRV/RLOCLOOK/schemas/AccessPointList.schema.json +++ b/SRV/RLOCLOOK/schemas/AccessPointList.schema.json @@ -1,128 +1,11 @@ { - "properties": { - "accessPointList": { - "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 + "properties": { + "undefinedJsonSchema": { + "type": "string", + "description": "Json Schema for the given object is not yet defined" + } + }, + "required": [ + "undefinedJsonSchema" + ] +} \ No newline at end of file diff --git a/SRV/UEAREASUB/schemas/CircleNotificationSubscription.schema.json b/SRV/UEAREASUB/schemas/CircleNotificationSubscription.schema.json index 6b745ec..f8b20f2 100644 --- a/SRV/UEAREASUB/schemas/CircleNotificationSubscription.schema.json +++ b/SRV/UEAREASUB/schemas/CircleNotificationSubscription.schema.json @@ -1,142 +1,11 @@ { - "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", + "undefinedJsonSchema": { "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": "^(.*)$" + "description": "Json Schema for the given object is not yet defined" } - } + }, + "required": [ + "undefinedJsonSchema" + ] } \ No newline at end of file diff --git a/SRV/UEDISTLOOK/schemas/TerminalDistance.schema.json b/SRV/UEDISTLOOK/schemas/TerminalDistance.schema.json index b23ded1..f8b20f2 100644 --- a/SRV/UEDISTLOOK/schemas/TerminalDistance.schema.json +++ b/SRV/UEDISTLOOK/schemas/TerminalDistance.schema.json @@ -1,32 +1,11 @@ { - "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": "^(.*)$" - } - } + "undefinedJsonSchema": { + "type": "string", + "description": "Json Schema for the given object is not yet defined" } - } -} + }, + "required": [ + "undefinedJsonSchema" + ] +} \ No newline at end of file diff --git a/SRV/UEDISTSUB/schemas/DistanceNotificationSubscription.schema.json b/SRV/UEDISTSUB/schemas/DistanceNotificationSubscription.schema.json index bc69876..f8b20f2 100644 --- a/SRV/UEDISTSUB/schemas/DistanceNotificationSubscription.schema.json +++ b/SRV/UEDISTSUB/schemas/DistanceNotificationSubscription.schema.json @@ -1,147 +1,11 @@ { - "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": "^(.*)$" - } - } + "undefinedJsonSchema": { + "type": "string", + "description": "Json Schema for the given object is not yet defined" } - } -} + }, + "required": [ + "undefinedJsonSchema" + ] +} \ No newline at end of file diff --git a/SRV/UEINFOLOOK/schemas/UserList.schema.json b/SRV/UEINFOLOOK/schemas/UserList.schema.json index ae608d6..51f8a2e 100644 --- a/SRV/UEINFOLOOK/schemas/UserList.schema.json +++ b/SRV/UEINFOLOOK/schemas/UserList.schema.json @@ -1,93 +1,169 @@ { - "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 + "description": "A type containing list of users.", + "type": "object", + "required": [ + "resourceURL" + ], + "properties": { + "user": { + "description": "Collection of the zone information list.", + "type": "array", + "items": { + "properties": { + "accessPointId": { + "description": "The identity of the access point the user is currently on, see note 1.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "address": { + "description": "Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently on the access point, see note 1.", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "AnyURI" + }, + "ancillaryInfo": { + "description": "Reserved for future use.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "contextLocationInfo": { + "description": "Contextual information of a user location (e.g. aisle, floor, room number, etc.).", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "locationInfo": { + "properties": { + "accuracy": { + "type": "number" + }, + "accuracyAltitude": { + "type": "number" + }, + "accuracySemiMinor": { + "type": "number" + }, + "altitude": { + "description": "Location altitude relative to the WGS84 ellipsoid surface.", + "type": "number", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Float" + }, + "confidence": { + "type": "number" + }, + "includedAngle": { + "type": "number" + }, + "innerRadius": { + "type": "number" + }, + "latitude": { + "description": "Location latitude, expressed in the range -90° to +90°. Cardinality greater than one only if \"shape\" equals 7.", + "items": { + "type": "number" + }, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "Float" + }, + "longitude": { + "description": "Location longitude, expressed in the range -180° to +180°. Cardinality greater than one only if \"shape\" equals 7.", + "items": { + "type": "number" + }, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "Float" + }, + "offsetAngle": { + "type": "number" + }, + "orientationMajorAxis": { + "type": "number" + }, + "shape": { + "description": "Shape information, as detailed in [14], associated with the reported location coordinate:\n1 = Ellipsoid_Arc\n2 = ellipsoid_Point\n3 = ellipsoid_Point_Altitude\n4 = ellipsoid_Point_Altitude_Uncert_Ellipsoid\n5 = ellipsoid_Point_Uncert_Circle\n6 = ellipsoid_Point_Uncert_Ellipse\n7 = polygon", + "enum": [ + "ELLIPSOID_ARC", + "ELLIPSOID_POINT", + "ELLIPSOID_POINT_ALTITUDE", + "ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID", + "ELLIPSOID_POINT_UNCERT_CIRCLE", + "ELLIPSOID_POINT_UNCERT_ELLIPSE", + "POLYGON" + ], + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum (inlined)" + }, + "uncertaintyRadius": { + "type": "number" + }, + "velocity": { + "description": "Structure with attributes relating to the target entity’s velocity, as defined in [14].", + "type": "object", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Structure (inlined)" + } + }, + "required": [ + "latitude", + "longitude", + "shape" + ], + "type": "object", + "x-etsi-ref": "6.5.3" + }, + "resourceURL": { + "description": "Self-referring URL, see note 1.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "timeStamp": { + "properties": { + "nanoSeconds": { + "type": "number" + }, + "seconds": { + "type": "number" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + }, + "zoneId": { + "description": "The identity of the zone the user is currently within, see note 1.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "address", + "accessPointId", + "zoneId", + "resourceURL", + "timeStamp" + ], + "type": "object", + "x-etsi-notes": ":\tAs specified in [5], clause 5.2.2.7.\nNOTE 2: \tAs specified in [5], clause 5.2.2.5.", + "x-etsi-ref": "6.2.2" + } + }, + "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 6c9a35d..f8b20f2 100644 --- a/SRV/UEINFOSUB/schemas/ZonalTrafficSubscription.schema.json +++ b/SRV/UEINFOSUB/schemas/ZonalTrafficSubscription.schema.json @@ -1,71 +1,11 @@ { - "zonalTrafficSubscription": { - "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 + "properties": { + "undefinedJsonSchema": { + "type": "string", + "description": "Json Schema for the given object is not yet defined" + } + }, + "required": [ + "undefinedJsonSchema" + ] +} \ No newline at end of file diff --git a/SRV/UELOCLOOK/schemas/UserInfo.schema.json b/SRV/UELOCLOOK/schemas/UserInfo.schema.json index 8f5cef3..83c1840 100644 --- a/SRV/UELOCLOOK/schemas/UserInfo.schema.json +++ b/SRV/UELOCLOOK/schemas/UserInfo.schema.json @@ -1,74 +1,150 @@ { - "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 + "properties": { + "accessPointId": { + "description": "The identity of the access point the user is currently on, see note 1.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "address": { + "description": "Address of user (e.g. 'sip' URI, 'tel' URI, 'acr' URI) currently on the access point, see note 1.", + "format": "uri", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "AnyURI" + }, + "ancillaryInfo": { + "description": "Reserved for future use.", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "contextLocationInfo": { + "description": "Contextual information of a user location (e.g. aisle, floor, room number, etc.).", + "type": "string", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "String" + }, + "locationInfo": { + "properties": { + "accuracy": { + "type": "number" + }, + "accuracyAltitude": { + "type": "number" + }, + "accuracySemiMinor": { + "type": "number" + }, + "altitude": { + "description": "Location altitude relative to the WGS84 ellipsoid surface.", + "type": "number", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Float" + }, + "confidence": { + "type": "number" + }, + "includedAngle": { + "type": "number" + }, + "innerRadius": { + "type": "number" + }, + "latitude": { + "description": "Location latitude, expressed in the range -90° to +90°. Cardinality greater than one only if \"shape\" equals 7.", + "items": { + "type": "number" + }, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "Float" + }, + "longitude": { + "description": "Location longitude, expressed in the range -180° to +180°. Cardinality greater than one only if \"shape\" equals 7.", + "items": { + "type": "number" + }, + "type": "array", + "x-etsi-mec-cardinality": "1..N", + "x-etsi-mec-origin-type": "Float" + }, + "offsetAngle": { + "type": "number" + }, + "orientationMajorAxis": { + "type": "number" + }, + "shape": { + "description": "Shape information, as detailed in [14], associated with the reported location coordinate:\n1 = Ellipsoid_Arc\n2 = ellipsoid_Point\n3 = ellipsoid_Point_Altitude\n4 = ellipsoid_Point_Altitude_Uncert_Ellipsoid\n5 = ellipsoid_Point_Uncert_Circle\n6 = ellipsoid_Point_Uncert_Ellipse\n7 = polygon", + "enum": [ + "ELLIPSOID_ARC", + "ELLIPSOID_POINT", + "ELLIPSOID_POINT_ALTITUDE", + "ELLIPSOID_POINT_ALTITUDE_UNCERT_ELLIPSOID", + "ELLIPSOID_POINT_UNCERT_CIRCLE", + "ELLIPSOID_POINT_UNCERT_ELLIPSE", + "POLYGON" + ], + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "Enum (inlined)" + }, + "uncertaintyRadius": { + "type": "number" + }, + "velocity": { + "description": "Structure with attributes relating to the target entity’s velocity, as defined in [14].", + "type": "object", + "x-etsi-mec-cardinality": "0..1", + "x-etsi-mec-origin-type": "Structure (inlined)" + } + }, + "required": [ + "latitude", + "longitude", + "shape" + ], + "type": "object", + "x-etsi-ref": "6.5.3" + }, + "resourceURL": { + "description": "Self-referring URL, see note 1.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + }, + "timeStamp": { + "properties": { + "nanoSeconds": { + "type": "number" + }, + "seconds": { + "type": "number" + } + }, + "required": [ + "seconds", + "nanoSeconds" + ], + "type": "object", + "x-etsi-ref": "6.5.2" + }, + "zoneId": { + "description": "The identity of the zone the user is currently within, see note 1.", + "type": "string", + "x-etsi-mec-cardinality": "1", + "x-etsi-mec-origin-type": "String" + } + }, + "required": [ + "address", + "accessPointId", + "zoneId", + "resourceURL", + "timeStamp" + ], + "type": "object", + "x-etsi-notes": ":\tAs specified in [5], clause 5.2.2.7.\nNOTE 2: \tAs specified in [5], clause 5.2.2.5.", + "x-etsi-ref": "6.2.2" +} \ No newline at end of file diff --git a/SRV/UELOCSUB/schemas/UserTrackingSubscription.schema.json b/SRV/UELOCSUB/schemas/UserTrackingSubscription.schema.json index c7e590d..f8b20f2 100644 --- a/SRV/UELOCSUB/schemas/UserTrackingSubscription.schema.json +++ b/SRV/UELOCSUB/schemas/UserTrackingSubscription.schema.json @@ -1,77 +1,11 @@ { - "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": "^.*$" - } - } - } - - } -} + "properties": { + "undefinedJsonSchema": { + "type": "string", + "description": "Json Schema for the given object is not yet defined" + } + }, + "required": [ + "undefinedJsonSchema" + ] +} \ No newline at end of file diff --git a/SRV/UETRACKSUB/schemas/PeriodicNotificationSubscription.schema.json b/SRV/UETRACKSUB/schemas/PeriodicNotificationSubscription.schema.json index 4a1d50e..f8b20f2 100644 --- a/SRV/UETRACKSUB/schemas/PeriodicNotificationSubscription.schema.json +++ b/SRV/UETRACKSUB/schemas/PeriodicNotificationSubscription.schema.json @@ -1,99 +1,11 @@ { - "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": "^.*$" - } - } - } - - } -} + "properties": { + "undefinedJsonSchema": { + "type": "string", + "description": "Json Schema for the given object is not yet defined" + } + }, + "required": [ + "undefinedJsonSchema" + ] +} \ No newline at end of file -- GitLab