blob: e138c7fbe7685836dc763cc55bb82d0501855a02 [file] [log] [blame]
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://flagon.incubator.apache.org/log.schema.json",
"title": "Log",
"description": "A raw or custom log produced by userale",
"type": "object",
"properties": {
"target": {
"type": "string"
},
"path": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1
},
"pageUrl": {
"type": "string"
},
"pageTitle": {
"type": "string"
},
"browser": {
"type": "object",
"properties": {
"browser": {
"type": "string"
},
"version": {
"type": "string"
}
},
"required" : ["browser", "version"]
},
"clientTime": {
"type": "integer"
},
"microTime": {
"type": "number",
"minimum": 0,
"maxmaximumi": 1
},
"location": {
"type": "object",
"properties": {
"x": {
"type": ["integer", "null"]
},
"y": {
"type": ["integer", "null"]
}
},
"required" : ["x", "y"]
},
"scrnRes": {
"type": "object",
"properties": {
"height": {
"type": "integer"
},
"width": {
"type": "integer"
}
},
"required" : ["height", "width"]
},
"type": {
"type": "string"
},
"logType": {
"type": "string",
"enum": ["raw", "custom"]
},
"userAction": {
"type": "boolean"
},
"details": {
"type": "object"
},
"userId": {
"type": "string"
},
"toolVersion": {
"type": "string"
},
"toolName": {
"type": "string"
},
"useraleVersion": {
"type": "string"
},
"sessionID": {
"type": "string"
}
},
"required": [
"pageUrl",
"pageTitle",
"pageReferrer",
"browser",
"clientTime",
"scrnRes",
"logType",
"userAction",
"details",
"userId",
"toolVersion",
"toolName",
"useraleVersion",
"sessionID"
],
"if": {
"properties": { "logType": { "const": "raw" } }
},
"then": {
"required": [
"target",
"path",
"microTime",
"location",
"type"
]
}
}