munin/source/conf.ts
Christian Fraß a975fa98a0 [ini]
2025-04-24 22:48:05 +00:00

150 lines
2.7 KiB
TypeScript

namespace _lixer_event_reminder.conf
{
/**
*/
export type type_conf = {
bot_token : string;
sources : Array<
(
{
kind : "kalender_digital",
data : {
id : string;
filtration : {
category_blacklist : Array<string>;
title_blacklist : Array<string>;
};
};
}
)
>;
targets : Array<
{
chat_id : int;
interval : Array<int>;
}
>;
};
/**
*/
export const schema : lib_plankton.conf.type_schema = {
"nullable": false,
"type": "object",
"properties": {
"version": {
"nullable": false,
"type": "string",
},
"bot_token": {
"nullable": false,
"type": "string",
},
"sources": {
"nullable": false,
"type": "array",
"items": {
"nullable": false,
"anyOf": [
{
"type": "object",
"properties": {
"kind": {
"nullable": false,
"type": "string",
"enum": ["kalender_digital"]
},
"data": {
"nullable": false,
"type": "object",
"properties": {
"id": {
"nullable": false,
"type": "string"
},
"filtration": {
"nullable": false,
"type": "object",
"properties": {
"category_blacklist": {
"nullable": false,
"type": "array",
"items": {
"nullable": false,
"type": "string",
}
},
"title_blacklist": {
"nullable": false,
"type": "array",
"items": {
"nullable": false,
"type": "string",
}
},
},
"additionalProperties": false,
"required": [
"category_blacklist",
"title_blacklist",
]
},
},
"additionalProperties": false,
"required": [
"id",
"filtration",
]
}
},
"additionalProperties": false,
"required": [
"kind",
"data",
]
}
]
}
},
"targets": {
"nullable": false,
"type": "array",
"items": {
"nullable": false,
"type": "object",
"properties": {
"chat_id": {
"nullable": false,
"type": "integer",
},
"interval": {
"nullable": false,
"type": "array",
"items": {
"nullable": false,
"type": "integer"
}
},
},
"additionalProperties": false,
"required": [
"chat_id",
"interval",
]
}
},
},
"additionalProperties": false,
"required": [
"version",
"bot_token",
"chat_id",
"intval",
],
};
}