UNOMI-673 : add json schema for click, form, video events (#508)
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/click/click.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/click/click.json
new file mode 100644
index 0000000..18284c9
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/click/click.json
@@ -0,0 +1,27 @@
+{
+ "$id": "https://unomi.apache.org/schemas/json/events/click/1-0-0",
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "self": {
+ "vendor": "org.apache.unomi",
+ "target": "events",
+ "name": "click",
+ "format": "jsonschema",
+ "version": "1-0-0"
+ },
+ "title": "ClickEvent",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0"
+ }
+ ],
+ "properties": {
+ "source": {
+ "$ref": "https://unomi.apache.org/schemas/json/items/page/1-0-0"
+ },
+ "target": {
+ "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"
+ }
+ },
+ "unevaluatedProperties": false
+}
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.flattenedProperties.fields.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.flattenedProperties.fields.json
new file mode 100644
index 0000000..1bc5dd8
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.flattenedProperties.fields.json
@@ -0,0 +1,21 @@
+{
+ "$id": "https://unomi.apache.org/schemas/json/events/form/flattenedProperties/fields/1-0-0",
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "self":{
+ "vendor": "org.apache.unomi",
+ "name": "Form fields",
+ "format":"jsonschema",
+ "version":"1-0-0"
+ },
+ "title": "Form fields",
+ "type": "object",
+ "patternProperties": {
+ "^.*$": {
+ "type": ["array", "string"],
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "unevaluatedProperties": false
+}
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.flattenedProperties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.flattenedProperties.json
new file mode 100644
index 0000000..fe8fc7a
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.flattenedProperties.json
@@ -0,0 +1,18 @@
+{
+ "$id": "https://unomi.apache.org/schemas/json/events/form/flattenedProperties/1-0-0",
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "self":{
+ "vendor": "org.apache.unomi",
+ "name": "Form flattenedProperties",
+ "format":"jsonschema",
+ "version":"1-0-0"
+ },
+ "title": "Form flattenedProperties",
+ "type": "object",
+ "properties" : {
+ "fields": {
+ "$ref" : "https://unomi.apache.org/schemas/json/events/form/flattenedProperties/fields/1-0-0"
+ }
+ },
+ "unevaluatedProperties" : false
+}
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.json
new file mode 100644
index 0000000..d6e1e64
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.json
@@ -0,0 +1,26 @@
+{
+ "$id": "https://unomi.apache.org/schemas/json/events/form/1-0-0",
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "self": {
+ "vendor": "org.apache.unomi",
+ "target": "events",
+ "name": "form",
+ "format": "jsonschema",
+ "version": "1-0-0"
+ },
+ "title": "FormEvent",
+ "type": "object",
+ "allOf": [{"$ref": "https://unomi.apache.org/schemas/json/event/1-0-0"}],
+ "properties": {
+ "source": {
+ "$ref": "https://unomi.apache.org/schemas/json/items/page/1-0-0"
+ },
+ "target": {
+ "$ref": "https://unomi.apache.org/schemas/json/events/form/source/1-0-0"
+ },
+ "flattenedProperties": {
+ "$ref": "https://unomi.apache.org/schemas/json/events/form/flattenedProperties/1-0-0"
+ }
+ },
+ "unevaluatedProperties" : false
+}
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.source.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.source.json
new file mode 100644
index 0000000..04a1b32
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/form/form.source.json
@@ -0,0 +1,14 @@
+{
+ "$id": "https://unomi.apache.org/schemas/json/events/form/source/1-0-0",
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "self":{
+ "vendor": "org.apache.unomi",
+ "name": "FormSource",
+ "format":"jsonschema",
+ "version":"1-0-0"
+ },
+ "title": "FormSource",
+ "type": "object",
+ "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/item/1-0-0" }],
+ "unevaluatedProperties" : false
+}
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json
index fdb4c30..9079698 100644
--- a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/login/login.json
@@ -1,21 +1,25 @@
{
"$id": "https://unomi.apache.org/schemas/json/events/login/1-0-0",
"$schema": "https://json-schema.org/draft/2019-09/schema",
- "self":{
- "vendor":"org.apache.unomi",
- "target" : "events",
+ "self": {
+ "vendor": "org.apache.unomi",
+ "target": "events",
"name": "login",
- "format":"jsonschema",
- "version":"1-0-0"
+ "format": "jsonschema",
+ "version": "1-0-0"
},
"title": "LoginEvent",
"type": "object",
- "allOf": [{ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0" }],
- "properties" : {
- "properties" : {
- "type" : "object",
+ "allOf": [
+ {
+ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "type": "object",
"maxProperties": 50
}
},
- "$comment" : "WARNING: This schema is open and do not restrict unevaluated properties because it is protected with third-party server key check"
-}
\ No newline at end of file
+ "$comment": "WARNING: This schema is open and do not restrict unevaluated properties because it is protected with third-party server key check"
+}
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/video/video.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/video/video.json
new file mode 100644
index 0000000..f471d3e
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/video/video.json
@@ -0,0 +1,27 @@
+{
+ "$id": "https://unomi.apache.org/schemas/json/events/video/1-0-0",
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "self": {
+ "vendor": "org.apache.unomi",
+ "target": "events",
+ "name": "video",
+ "format": "jsonschema",
+ "version": "1-0-0"
+ },
+ "title": "VideoEvent",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "https://unomi.apache.org/schemas/json/event/1-0-0"
+ }
+ ],
+ "properties": {
+ "source": {
+ "$ref": "https://unomi.apache.org/schemas/json/items/page/1-0-0"
+ },
+ "target": {
+ "$ref": "https://unomi.apache.org/schemas/json/events/video/target/1-0-0"
+ }
+ },
+ "unevaluatedProperties": false
+}
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/video/video.target.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/video/video.target.json
new file mode 100644
index 0000000..62645a9
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/video/video.target.json
@@ -0,0 +1,19 @@
+{
+ "$id": "https://unomi.apache.org/schemas/json/events/video/target/1-0-0",
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "self": {
+ "vendor": "org.apache.unomi",
+ "name": "videoTarget",
+ "format": "jsonschema",
+ "version": "1-0-0"
+ },
+ "title": "videoTarget",
+ "type": "object",
+ "allOf": [{"$ref": "https://unomi.apache.org/schemas/json/item/1-0-0"}],
+ "properties": {
+ "properties": {
+ "$ref": "https://unomi.apache.org/schemas/json/events/video/target/properties/1-0-0"
+ }
+ },
+ "unevaluatedProperties": false
+}
diff --git a/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/video/video.target.properties.json b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/video/video.target.properties.json
new file mode 100644
index 0000000..f358d61
--- /dev/null
+++ b/extensions/json-schema/services/src/main/resources/META-INF/cxs/schemas/events/video/video.target.properties.json
@@ -0,0 +1,18 @@
+{
+ "$id": "https://unomi.apache.org/schemas/json/events/video/target/properties/1-0-0",
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
+ "self": {
+ "vendor": "org.apache.unomi",
+ "name": "videoTargetProperties",
+ "format": "jsonschema",
+ "version": "1-0-0"
+ },
+ "title": "videoTargetProperties",
+ "type": "object",
+ "properties": {
+ "action": {
+ "type": "string"
+ }
+ },
+ "unevaluatedProperties": false
+}