feat(import): bulk tool import (CSV/JSON/YAML) for admins; NetBox-style help button
Build & Push Docker Image / build (push) Successful in 2m49s
Build & Push Docker Image / build (push) Successful in 2m49s
- Add POST /admin/tools/import with format auto-detect, CSV delimiters
(comma/semicolon/tab), per-row validation via CreateToolBody, bulk insert,
audit log entries per imported tool; gated by new 'tool-import' feature
flag (premium/enterprise; admins always pass)
- Add tool-import-dialog UI (format tabs, delimiter select, textarea, file
upload, result/error list) behind hasFeature('tool-import')
- Replace FieldHelp question marks and bare GuideHelp links with a NetBox-style
'Hilfe/Help' outline button (HelpCircle + text) in form headers only
- Sync locales to 482 keys per language (de/en), update handbook docs
(administration import section, index/plaene feature tables), regenerate
API client + zod schemas, add yaml dependency
This commit is contained in:
@@ -57,6 +57,7 @@
|
||||
"language": "Sprache",
|
||||
"viewDetails": "Details ansehen",
|
||||
"guideTooltip": "Anleitung in der Dokumentation",
|
||||
"help": "Hilfe",
|
||||
"viewMode": "Ansichtsmodus",
|
||||
"viewGrid": "Raster",
|
||||
"viewTable": "Tabelle",
|
||||
@@ -304,7 +305,6 @@
|
||||
"parameter": "Parameter",
|
||||
"noResults": "Keine Treffer",
|
||||
"fields": "Felder",
|
||||
"fieldHelpHint": "Hinweis: Formular-Felder verlinken per ?-Icon direkt zu den jeweiligen Zeilen dieser Tabelle.",
|
||||
"name": "Name",
|
||||
"in": "In",
|
||||
"requestBody": "Request-Body"
|
||||
@@ -402,7 +402,27 @@
|
||||
"moveToTrashAction": "In den Papierkorb verschieben",
|
||||
"toastMoved": "Tools in den Papierkorb verschoben",
|
||||
"toastMovedSub": "{{count}} Tool(s) in den Papierkorb verschoben.",
|
||||
"toastMoveFailed": "Verschieben in den Papierkorb fehlgeschlagen"
|
||||
"toastMoveFailed": "Verschieben in den Papierkorb fehlgeschlagen",
|
||||
"importTitle": "Tools importieren",
|
||||
"importSub": "Mehrere Tools auf einmal importieren — als CSV, JSON oder YAML (Premium-Feature).",
|
||||
"importButton": "Importieren",
|
||||
"importFormatAuto": "Auto",
|
||||
"importFormatAutoSub": "Das Format wird automatisch erkannt (CSV, JSON oder YAML).",
|
||||
"importDelimiter": "CSV-Trenner",
|
||||
"importDelimiterAuto": "Automatisch",
|
||||
"importDelimiterComma": "Komma",
|
||||
"importDelimiterSemicolon": "Semikolon",
|
||||
"importDelimiterTab": "Tabulator",
|
||||
"importCsvSub": "Spalten: name, description, category, websiteUrl, iconUrl, features, tags. Features/Tags durch | getrennt. Erste Zeile enthält die Spaltennamen.",
|
||||
"importJsonSub": "JSON-Objekt oder Array von Objekten mit den Feldern name, description, category, websiteUrl, iconUrl, features, tags.",
|
||||
"importYamlSub": "YAML-Liste von Objekten (oder ein einzelnes Objekt) mit den Feldern name, description, category, websiteUrl, iconUrl, features, tags.",
|
||||
"importFile": "Datei laden",
|
||||
"importTextareaPlaceholder": "name;description;category;features;tags\nMein Tool;Eine tolle Beschreibung;Monitoring;Deployment|Open Source;devops",
|
||||
"importing": "Wird importiert…",
|
||||
"importDone": "{{count}} von {{total}} Tools erfolgreich importiert.",
|
||||
"importErrors": "{{count}} Zeilen mit Fehlern:",
|
||||
"importErrorRow": "Zeile {{row}}",
|
||||
"toastImportDone": "Tools erfolgreich importiert"
|
||||
},
|
||||
"analytics": {
|
||||
"title": "Plattform-Analysen",
|
||||
|
||||
Reference in New Issue
Block a user