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")
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user