From 695c9fc35325d3bec3ec81bdce59f780acd74e8d Mon Sep 17 00:00:00 2001 From: bodqhrohro Date: Fri, 25 Oct 2019 21:12:38 +0300 Subject: Add config validation --- config_schema.json | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 config_schema.json (limited to 'config_schema.json') diff --git a/config_schema.json b/config_schema.json new file mode 100644 index 0000000..434bde5 --- /dev/null +++ b/config_schema.json @@ -0,0 +1,94 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "type": "object", + "required": [":telegram", ":xmpp"], + "properties": { + ":telegram": { + "type": "object", + "required": [":loglevel", ":content", ":tdlib"], + "properties": { + ":loglevel": { + "$ref": "#/definitions/non-empty-string" + }, + ":content": { + "type": "object", + "properties": { + ":path": { + "type": "string" + }, + ":link": { + "type": "string" + }, + ":upload": { + "type": "string" + } + } + }, + ":tdlib_verbosity": { + "type": "integer" + }, + ":tdlib": { + "required": [":lib_path", ":client"], + "type": "object", + "properties": { + ":lib_path": { + "$ref": "#/definitions/non-empty-string" + }, + ":client": { + "type": "object", + "required": [":api_id", ":api_hash"], + "properties": { + ":api_id": { + "$ref": "#/definitions/non-empty-string" + }, + ":api_hash": { + "$ref": "#/definitions/non-empty-string" + }, + ":device_model": { + "type": "string" + }, + ":application_version": { + "type": "string" + }, + ":use_chat_info_database": { + "type": "boolean" + } + } + } + } + } + } + }, + ":xmpp": { + "type": "object", + "required": [":loglevel", ":jid", ":host", ":port", ":password", ":db"], + "properties": { + ":loglevel": { + "$ref": "#/definitions/non-empty-string" + }, + ":jid": { + "$ref": "#/definitions/non-empty-string" + }, + ":host": { + "$ref": "#/definitions/non-empty-string" + }, + ":port": { + "type": "integer", + "minimum": 1 + }, + ":password": { + "$ref": "#/definitions/non-empty-string" + }, + ":db": { + "$ref": "#/definitions/non-empty-string" + } + } + } + }, + "definitions": { + "non-empty-string": { + "type": "string", + "minLength": 1 + } + } +} -- cgit v1.2.3