package storage import "log" // AttachRequest holds parameters for attaching an existing partition // without formatting — using a bind mount from a subfolder. type AttachRequest struct { DevicePath string // "/dev/sdb1" — must have an existing filesystem MountName string // "hdd_1" → bind-mounts at /mnt/hdd_1 SubPath string // full path on raw mount to bind-mount (e.g., "/mnt/.felhom-raw/hdd_1/felhom_data") Label string // Display label for the UI SetDefault bool // Register as default storage path Logger *log.Logger // Optional logger for debug output Debug bool // Enable debug logging } // DirEntry represents a directory entry returned by ListDirectories. type DirEntry struct { Name string `json:"name"` Path string `json:"path"` HasChildren bool `json:"has_children"` } // RawMountBase is the hidden staging directory where partitions are // temporarily mounted for browsing before the final bind mount. const RawMountBase = "/mnt/.felhom-raw"