# Portabilität: UNIVERSAL
# Version: 1.0.0
# Zuletzt validiert: 2026-03-04

MOUNT HANDLER
=============

Anbindung externer Ordner als Symlinks/Junctions im Arbeitsbereich. Verwaltung über
die Datenbank connections-Tabelle mit Persistenz über System-Neustarts.


BESCHREIBUNG
============

Der Mount Handler bindet externe Ordner in den user/-Verzeichnis ein (hub/user/).
Es werden Windows-Junctions verwendet, die automatisch bei Restore wiederhergestellt
werden. Alle Mounts werden in data/bach.db mit Status is_active verwaltet.


OPERATIONEN
===========

ADD: Externen Ordner anbinden
  Syntax: bach mount add <pfad> <alias>
  Beispiel: bach mount add C:\Data\Forschung research
  - Erstellt Junction: hub/user/research -> C:\Data\Forschung
  - Speichert in DB connections-Tabelle (type='mount')
  - Überschreibt vorhandene Mounts mit gleichem Alias

REMOVE: Anbindung entfernen
  Syntax: bach mount remove <alias>
  Beispiel: bach mount remove research
  - Löscht Junction aus hub/user/<alias>
  - Entfernt Eintrag aus DB connections-Tabelle
  - Junction muss existieren, sonst wird Fehler ignoriert

LIST: Aktive Mounts anzeigen (Standard-Operation)
  Syntax: bach mount list
  - Zeigt alle Mounts aus DB mit Status [OK]/[--] und [EXISTIERT]/[FEHLT]
  - [OK] = is_active=1, [--] = is_active=0
  - [EXISTIERT] = Junction-Pfad existiert, [FEHLT] = nicht vorhanden

RESTORE: Junctions aus DB wiederherstellen
  Syntax: bach mount restore
  - Erstellt alle Junctions für active Mounts neu (Falls nach Umzug verloren)
  - Überspringt bereits existierende Junctions
  - Meldet Fehler wenn Quellpfad nicht existiert


BEISPIELE
=========

1. Datei-Server in Projekt einbinden:
   bach mount add \\SERVER\shared projdata
   -> hub/user/projdata wird Symlink zu \\SERVER\shared

2. Mehrere Ordner anbinden:
   bach mount add C:\Daten data
   bach mount add D:\Archive archive
   bach mount list

3. Nach Systemumzug wiederherstellen:
   bach mount restore
   -> Alle Junctions aus DB neu erstellt (wenn Quellpfade noch verfügbar)

4. Dry-Run vor Operation:
   bach mount --dry-run add C:\Quelle test
   bach mount --dry-run remove test


DATEIEN
=======

Betroffene Dateien (relativ zu system/):
  hub/mount.py              - Handler-Implementation
  hub/user/                 - Verzeichnis für Junctions
  data/bach.db              - Persistente Storage (connections-Tabelle)
  docs/help/mount.txt       - Diese Datei


SIEHE AUCH
==========

  hub/base.py               - BaseHandler Interface
  data/                     - Datenbank-Schema für connections
  bach.py --help            - Allgemeine BACH-Hilfe

