Files
sufw-anweisenheiten/schema.json
T
Rob 102b485794 add: Versionierung
- semantic versioning
- auto update on build
- git hash zusätzlich
- Anzeige per cli und im Fenster
2026-05-08 08:35:50 +02:00

106 lines
3.8 KiB
JSON
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{
"$schema": "http://json-schema.org/draft-07/schema#",
"title": "Attendance PDF Generator – Konfiguration",
"description": "Konfigurationsschema für config.json",
"type": "object",
"required": [
"version",
"antragsnummer",
"ort",
"template_pdf",
"output_dir",
"excel_year_pattern",
"excel_name_header",
"excel_name_column",
"excel_seq_column",
"excel_day_start_col",
"excel_day_end_col",
"month_mapping",
"valid_status_codes",
"plan_hours_value",
"pauschale_value"
],
"properties": {
"version": {
"type": "string",
"pattern": "^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$",
"description": "Semantic version (z. B. 1.0.0)"
},
"antragsnummer": {
"type": "string",
"description": "SAB-Antragsnummer (statisch, aus config)"
},
"ort": {
"type": "string",
"description": "Ort für die Unterschrift (statisch, aus config)"
},
"template_pdf": {
"type": "string",
"description": "Relativer Pfad zum PDF-Template"
},
"output_dir": {
"type": "string",
"description": "Ausgabeverzeichnis für generierte PDFs"
},
"excel_year_pattern": {
"type": "string",
"description": "Regex-Muster zur Jahresextraktion aus dem Dateinamen"
},
"excel_name_header": {
"type": "string",
"description": "Text in der Headerzeile der Namensspalte"
},
"excel_name_column": {
"type": "integer",
"description": "0-basierter Spaltenindex der Namensspalte (Spalte B = 1)"
},
"excel_seq_column": {
"type": "integer",
"description": "0-basierter Spaltenindex der lfd. Nummer (Spalte A = 0)"
},
"excel_day_start_col": {
"type": "integer",
"description": "0-basierter Spaltenindex des ersten Tages (Spalte J = 9)"
},
"excel_day_end_col": {
"type": "integer",
"description": "0-basierter Spaltenindex des letzten Tages (Spalte AN = 39)"
},
"month_mapping": {
"type": "object",
"description": "Mapping der deutschen Monatsabkürzungen auf zweistellige Monatsnummern",
"additionalProperties": {
"type": "string",
"pattern": "^(0[1-9]|1[0-2])$"
}
},
"valid_status_codes": {
"type": "array",
"items": { "type": "string" },
"description": "Gültige String-Statuscodes in Excel-Zellen (außer numerisch)"
},
"plan_hours_value": {
"type": "string",
"description": "Wert für das plan.N Dropdown (immer '6')"
},
"pauschale_value": {
"type": "string",
"description": "Wert für das pauschale.N Feld wenn anwesend"
},
"pdf_use_display_values": {
"type": "boolean",
"description": "true = Dropdown-Anzeigewerte ins PDF schreiben (z.B. 'X = anwesend'); false = rohe Export-Werte (z.B. 'X')",
"default": true
},
"pdf_need_appearances": {
"type": "boolean",
"description": "Steuert AcroForm /NeedAppearances beim Schreiben der PDF. false wird fuer stabile PyMuPDF-Render bevorzugt (Footer/Buttons sichtbar).",
"default": false
},
"excel_network_source": {
"type": "string",
"description": "Optionaler SMB- oder Dateipfad zur Excel-Datei, die beim GUI-Start nach input/ kopiert und bei Bedarf aktualisiert wird"
}
}
}