#!/usr/bin/env python3
#
# Validate data for the syslogarchiver
#

import pscheduler

try:
    json = pscheduler.json_load(max_schema=1)
except ValueError as ex:
    pscheduler.succeed_json({
        "valid": False,
        "error": str(ex)
        })

data_validator = {
    "type": "object",
    "properties": {
        "schema": { "$ref": "#/pScheduler/Cardinal" },
        "ident": { "$ref": "#/pScheduler/String" },
        "facility": {
            "type": "string",
            "enum": [
                "kern",
                "user",
                "mail",
                "daemon",
                "auth",
                "lpr",
                "news",
                "uucp",
                "cron",
                "syslog",
                "local0",
                "local1",
                "local2",
                "local3",
                "local4",
                "local5",
                "local6",
                "local7"
            ]
        },
        "priority": {
            "type": "string",
            "enum": [
                "emerg",
                "alert",
                "crit",
                "err",
                "warning",
                "notice",
                "info",
                "debug"
            ]
        }
    },
    "additionalProperties": False
}

valid, error = pscheduler.json_validate(json, data_validator)

if not valid:
    pscheduler.succeed_json({
        "valid": False,
        "error": error
        })
    
pscheduler.succeed_json({ "valid": True })
