fix: add missing WebDAV path migration and remove duplicate migration.go
This commit is contained in:
@@ -366,6 +366,41 @@ func migrateOldPaths(st *store.Store, dataDir string, logger *slog.Logger) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Migrate WebDAV files from old flat structure (dataDir/files/<username>/)
|
||||||
|
// to new nested structure (dataDir/<username>/files/)
|
||||||
|
filesRoot := filepath.Join(dataDir, "files")
|
||||||
|
if _, err := os.Stat(filesRoot); err == nil {
|
||||||
|
if entries, er := os.ReadDir(filesRoot); er == nil {
|
||||||
|
for _, entry := range entries {
|
||||||
|
if !entry.IsDir() {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
username := entry.Name()
|
||||||
|
oldWebdavPath := filepath.Join(filesRoot, username)
|
||||||
|
newUserDir := filepath.Join(dataDir, username)
|
||||||
|
newWebdavPath := filepath.Join(newUserDir, "files")
|
||||||
|
|
||||||
|
if _, e := os.Stat(oldWebdavPath); e != nil {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if _, e := os.Stat(newWebdavPath); !os.IsNotExist(e) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
|
||||||
|
logger.Info("Migrating webdav files", "user", username, "from", oldWebdavPath, "to", newWebdavPath)
|
||||||
|
if mkErr := os.MkdirAll(filepath.Dir(newWebdavPath), 0755); mkErr != nil {
|
||||||
|
logger.Warn("Failed to create directory for webdav migration", "path", newWebdavPath, "error", mkErr)
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if mvErr := moveDirContent(oldWebdavPath, newWebdavPath); mvErr != nil {
|
||||||
|
logger.Warn("Failed to migrate webdav files", "user", username, "error", mvErr)
|
||||||
|
} else {
|
||||||
|
logger.Info("webdav files migration complete", "user", username)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
logger.Info("Legacy structure check complete")
|
logger.Info("Legacy structure check complete")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user