From dc2bc0109a9468f1e2ebd0eb85b4f7103e55cf4c Mon Sep 17 00:00:00 2001 From: Jose Manuel Cantera Date: Fri, 9 Nov 2018 10:51:10 +0100 Subject: [PATCH] ContextSourceNotification --- schema/ContextSourceNotification.json | 51 +++++++++++++++++++++++++++ schema/ContextSourceRegistration.json | 2 +- schema/Notification.json | 4 +++ scripts/validate_schema.sh | 3 ++ 4 files changed, 59 insertions(+), 1 deletion(-) create mode 100644 schema/ContextSourceNotification.json diff --git a/schema/ContextSourceNotification.json b/schema/ContextSourceNotification.json new file mode 100644 index 0000000..cd289c2 --- /dev/null +++ b/schema/ContextSourceNotification.json @@ -0,0 +1,51 @@ +{ + "$schema": "http://json-schema.org/schema#", + "id": "https://uri.etsi.org/ngsi-ld/schema/ContextSourceNotification.json", + "title": "NGSI-LD Context Source Notification", + "description": "NGSI-LD Context Source Notification", + "type": "object", + "properties": { + "id": { + "type": "string", + "format": "uri" + }, + "type": { + "type": "string", + "const": "ContextSourceNotification" + }, + "subscriptionId": { + "type": "string", + "format": "uri" + }, + "@context": { + "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/LdContext" + }, + "notifiedAt": { + "type": "string", + "format": "date-time" + }, + "data": { + "type": "array", + "items": { + "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/ContextSourceRegistration.json#" + }, + "minItems": 1 + }, + "triggerReason": { + "type": "string", + "enum": [ + "newlyMatching", + "updated", + "noLongerMatching" + ] + } + }, + "required": [ + "id", + "type", + "subscriptionId", + "notifiedAt", + "data", + "triggerReason" + ] +} diff --git a/schema/ContextSourceRegistration.json b/schema/ContextSourceRegistration.json index c4161e6..38379cd 100644 --- a/schema/ContextSourceRegistration.json +++ b/schema/ContextSourceRegistration.json @@ -1,6 +1,6 @@ { "$schema": "http://json-schema.org/schema#", - "id": "https://uri.etsi.org/ngsi-ld/schema/ContextSourceRegistration.json", + "id": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/ContextSourceRegistration.json", "title": "NGSI-LD Context Source Registration", "description": "NGSI-LD Context Source Registration", "definitions": { diff --git a/schema/Notification.json b/schema/Notification.json index 4a84862..d73ed76 100644 --- a/schema/Notification.json +++ b/schema/Notification.json @@ -13,6 +13,10 @@ "type": "string", "const": "Notification" }, + "subscriptionId": { + "type": "string", + "format": "uri" + }, "@context": { "$ref": "https://forge.etsi.org/gitlab/NGSI-LD/NGSI-LD/raw/master/schema/common.json#/definitions/LdContext" }, diff --git a/scripts/validate_schema.sh b/scripts/validate_schema.sh index 1483f51..2f4cc97 100755 --- a/scripts/validate_schema.sh +++ b/scripts/validate_schema.sh @@ -9,3 +9,6 @@ ajv compile -s $SCHEMAS/EntityTemporal.json -r $SCHEMAS/common.json -r $SCHEMAS/ ajv compile -s $SCHEMAS/ContextSourceRegistration.json -r $SCHEMAS/common.json -r $SCHEMAS/geometry-schema.json ajv compile -s $SCHEMAS/Notification.json -r $SCHEMAS/common.json -r $SCHEMAS/geometry-schema.json -r $SCHEMAS/Entity.json + +ajv compile -s $SCHEMAS/ContextSourceNotification.json -r $SCHEMAS/common.json -r $SCHEMAS/geometry-schema.json -r $SCHEMAS/ContextSourceRegistration.json + -- GitLab