Files
netwatch/TODO.md
2026-02-16 13:56:01 +01:00

10 KiB

TODO

Zentrale Sammlung aller TODO-Markierungen im Repository (Stand: 13. Februar 2026).

Hinweis: Die Eintraege sind direkt aus den Quelldateien aggregiert.

Arbeitsnotizen (16. Februar 2026)

  • API-Basis umgesetzt: app/api/connections.php, app/api/device_type_ports.php, app/api/upload.php auf aktuelles Schema gebracht (Auth, Validierung, Existenzpruefungen, Fehlerantworten).
  • Bootstrap/Auth/Config/Routing umgesetzt: app/config.php, app/bootstrap.php, app/lib/_sql.php, app/lib/auth.php, app/index.php.
  • Frontend-Grundlagen aktualisiert: app/assets/js/app.js, app/assets/js/dashboard.js, app/assets/js/svg-editor.js, app/assets/js/network-view.js.
  • Delete-Flow fuer zentrale Module umgesetzt: buildings, floors, racks, device_types, floor_infrastructure.
  • Legacy-Mock ersetzt: app/modules/device_types/ports.php lauffaehig gemacht (anzeigen, hinzufuegen, loeschen).
  • TODO-Reste in header.php, footer.php, layout.php, floor_infrastructure/edit.php entfernt.

Offene Blocker / naechste Punkte:

  • app/modules/connections/list.php: Detailbereich fuer ausgewaehlte Verbindung sowie Bearbeiten/Loeschen im UI fehlen noch.
  • app/modules/dashboard/list.php: grosse zoombare Gesamt-Topologie-Wand (fachlich/grafisch groesseres Feature).
  • app/lib/helpers.php: generischer Sammel-TODO ohne konkreten Scope.
  • Vollstaendiger End-to-End-Test aktuell nicht moeglich, da in dieser Shell kein php CLI verfuegbar ist.

app\api\connections.php

  • L15: // TODO: Single-User-Auth prüfen
  • L61: // TODO: Kontext definieren (Standort, Rack, Floor, gesamtes Netz)
  • L117: // TODO: Validierung
  • L182: // TODO: Prüfen, ob Verbindung existiert

app\api\device_type_ports.php

  • L15: // TODO: Single-User-Auth prüfen
  • L96: // TODO: Transaktion starten (falls SQL-Klasse das unterstützt)
  • L100: // TODO: Validierung:
  • L163: // TODO: Prüfen, ob Port existiert und nicht verwendet wird

app\api\upload.php

  • L18: // TODO: Single-User-Auth prüfen
  • L25: // TODO: Upload-Basisverzeichnis aus config.php
  • L35: // TODO: Max. Dateigröße festlegen (z.B. 5MB)
  • L77: // TODO: Kategorie definieren (device_types, floors, racks, etc.)
  • L95: // TODO: Eindeutigen Namen besser definieren (UUID?)
  • L114: // TODO: Optional in Tabelle uploads speichern

app\assets\js\app.js

  • L15: deviceTypes: [], // TODO: alle Gerätetypen laden
  • L16: devices: [], // TODO: alle Geräte laden
  • L17: racks: [], // TODO: alle Racks laden
  • L18: floors: [], // TODO: alle Floors laden
  • L19: connections: [], // TODO: alle Verbindungen laden
  • L33: // TODO: import / init svg-editor.js
  • L39: // TODO: import / init network-view.js
  • L45: // TODO: init drag & drop logic
  • L59: // TODO: Save-Button Device-Type
  • L64: // TODO: Save Device-Type via AJAX
  • L68: // TODO: Save-Button Device
  • L73: // TODO: Save Device via AJAX
  • L77: // TODO: Save-Button Floor
  • L82: // TODO: Save Floor via AJAX
  • L86: // TODO: Save-Button Rack
  • L91: // TODO: Save Rack via AJAX
  • L95: // TODO: Weitere Event-Handler (Import, Export, Filter)
  • L132: // TODO: weitere Utility-Funktionen (DOM-Helper, SVG-Helper, etc.)

app\assets\js\dashboard.js

  • L75: // TODO: Dashboard-Container ermitteln
  • L78: // TODO: Module rendern
  • L81: // TODO: Optional: Status-Daten laden (Counts, Warnings)
  • L117: // TODO: loadStats() → Anzahl Geräte, offene Ports, unverbundene Dosen
  • L118: // TODO: showWarnings() → unverbundene Ports, VLAN-Konflikte
  • L119: // TODO: RecentChanges() → letzte Änderungen

app\assets\js\network-view.js

  • L20: // TODO: Standort / Rack / View-Kontext vom Backend setzen
  • L23: // TODO: API-Endpunkte definieren
  • L79: // TODO: Datenstruktur validieren
  • L123: // TODO: Gerätetyp (SVG oder JPG) korrekt laden
  • L144: // TODO: Ports als kleine Kreise anlegen (Position aus Portdefinition)
  • L145: // TODO: Ports klickbar machen (für Verbindungs-Erstellung)
  • L157: // TODO: Quell- & Ziel-Port-Koordinaten berechnen
  • L158: // TODO: unterschiedliche Verbindungstypen (Farbe, Strichart, Dicke)
  • L217: // TODO: Positionen optional automatisch speichern
  • L232: // TODO: Sidebar mit Gerätedetails füllen
  • L254: // TODO: Erfolg / Fehler anzeigen
  • L289: // TODO: Delete -> Gerät entfernen?

app\assets\js\svg-editor.js

  • L20: // TODO: vom Backend setzen (z. B. via data-Attribut)
  • L23: // TODO: API-Endpunkte festlegen
  • L74: // TODO: Modifier-Key prüfen (z. B. nur mit SHIFT neuen Port erstellen?)
  • L86: port_type_id: null, // TODO: Default-Porttyp?
  • L134: // TODO: Sidebar-Felder mit Portdaten füllen
  • L178: // TODO: Sicherheitsabfrage (confirm)
  • L184: // TODO: Sidebar zurücksetzen
  • L200: // TODO: Datenformat validieren
  • L222: // TODO: Erfolg / Fehler anzeigen

app\bootstrap.php

  • L16: // TODO: Config-Datei mit DB-Zugang, Pfaden, globalen Settings füllen
  • L22: // TODO: Single-User Auth prüfen
  • L30: // TODO: Host, User, Passwort, DB aus config.php nutzen

app\index.php

  • L19: // TODO: Session starten / Single-User-Auth prüfen
  • L37: // TODO: Fehlerseite anzeigen, nutze renderClientError(...)
  • L42: // TODO: Fehlerseite anzeigen, nutze renderClientError(...)
  • L61: // TODO: Fehlerseite oder 404, nutze renderClientError(...)

app\lib\auth.php

  • L24: // TODO: Session-Variable definieren, z.B. $_SESSION['auth'] === true
  • L40: // TODO: Passwort aus config.php vergleichen
  • L41: // TODO: Passwort-Hash verwenden (password_hash / password_verify)
  • L62: // TODO: Session-Variablen löschen
  • L65: // TODO: Optional komplette Session zerstören
  • L79: // TODO: Redirect auf Login-Seite

app\lib\helpers.php

  • L300: // TODO: Weitere Helfer nach Bedarf

app\modules\buildings\edit.php

  • L176: // TODO: AJAX-Delete implementieren

app\modules\buildings\list.php

  • L245: // TODO: AJAX-Delete implementieren

app\modules\connections\list.php

  • L198:
  • L207:

app\modules\device_types\edit.php

  • L18: //TODO port hinzufügen geht nicht
  • L378: // TODO: AJAX-Delete implementieren

app\modules\device_types\list.php

  • L252: // TODO: AJAX-Delete implementieren

app\modules\device_types\ports.php

  • L12: // TODO: bootstrap laden
  • L15: // TODO: Auth erzwingen
  • L22: // TODO: device_type_id aus GET lesen
  • L25: // TODO: Gerätetyp laden
  • L28: // TODO: Ports dieses Gerätetyps laden
  • L43:
  • L59:
  • L60:
  • L109:
  • L113:
  • L117:
  • L120:
  • L123:
  • L126:
  • L161:
  • L262: * TODO: Replace this mock logic with real AJAX once ports are

app\modules\devices\list.php

  • L206: //TODO löschen geht nicht

app\modules\floor_infrastructure\edit.php

  • L277: //TODO drag an drop auf der stockwerkskarte für die patchfelder und wandbuchsen. buchsen haben eine einheitliche größe, und sind quadratisch, patchfelder sind auch für sich einheitlich, sind rechteckig und breiter als hoch
  • L278: //TODO style in css files einsortieren

app\modules\floor_infrastructure\list.php

  • L143:

    //TODO: SVG-Editor mit Drag & Drop für diese Objekte erweitern (siehe Stockwerke-Modul).

app\modules\floors\list.php

  • L237: // TODO: AJAX-Delete implementieren

app\modules\locations\edit.php

  • L157: // TODO: AJAX-Delete implementieren

app\modules\locations\list.php

  • L134: //TODO design schlecht, mach es hübscher
  • L208: //TODO style in css file

app\modules\racks\edit.php

  • L201: // TODO: AJAX-Delete implementieren
  • L221:
  • L237:
  • L251: // TODO: Rack-ID aus PHP setzen
  • L254: // TODO: Gerätepositionen an JS übergeben

app\modules\racks\list.php

  • L255: // TODO: AJAX-Delete implementieren

app\templates\footer.php

  • L14:
  • L17:

app\templates\header.php

  • L24:

app\templates\layout.php

  • L11: * TODO: In Zukunft: zentrales Template-System (z.B. mit $content)
  • L18:

BUGS.md

  • L3: - [ ] TODO Design vereinheitlichen

doc\DATABASE.md

  • L126: TODO

IMPLEMENTATION_STATUS.md

  • L80: - [ ] Delete-Funktionen - Löschen noch als TODO (als AJAX implementieren)
  • L109: │ └── auth.php 🚧 TODO: Auth

init.sql

  • L372: -- TODO: Port-Konfiguration (Patchpanel ↔ Patchpanel, Patchpanel ↔ Netzwerkbuchse) wird über die connections-Tabelle geregelt.

NEXT_STEPS.md

  • L74: ## 🔧 Bekannte TODOs im Code
  • L76: Alle noch offenen Punkte sind mit // TODO: gekennzeichnet:
  • L79: # Alle TODOs finden:
  • L80: grep -r "TODO:" app/modules/ --include="*.php"
  • L83: Wichtigste TODOs:

README.md

  • L241: ### TODO: Patchpanel-Infrastruktur

  • L253: - TODO: SVG-Editor um Drag & Drop für diese Objekte erweitern und Klicks direkt mit dem Modul verbinden.

  • //TODO infrastruktur patchfelder löschen soll implementiert werden.

Topologie-Abgleich (16. Februar 2026)

  • #TODO: connections.port_a_type und connections.port_b_type um einen Patchpanel-Port-Typ erweitern (z. B. patchpanel) und auf floor_patchpanel_ports.id referenzieren.
  • #TODO: Business-Regeln fuer Topologie in der Verbindungs-Validierung hinterlegen: Patchpanel-Port nur mit Patchpanel-Port oder Netzwerkbuchsen-Port verbinden.
  • #TODO: Port-CRUD fuer Patchpanels ergaenzen: floor_patchpanel_ports beim Speichern aus port_count erzeugen/synchronisieren.
  • #TODO: Port-CRUD fuer Netzwerkbuchsen ergaenzen: network_outlet_ports pflegen (mindestens ein Port je Buchse) und fuer Verbindungen nutzbar machen.