backend: add force rescan parameter to scanner

- Add Force bool field to ScanLibraryRequest in handlers
- Pass force param through job params to worker
- Add forceRescan field and SetForce method to MediaScanner
- Modify processMediaFile to delete and re-create existing items when force=true
- Default behavior unchanged (force=false maintains skip-if-exists)
This commit is contained in:
2026-02-26 10:11:46 -05:00
parent d7526a5bf4
commit a97220e654
3 changed files with 30 additions and 6 deletions
+6
View File
@@ -194,6 +194,11 @@ func (w *Worker) processScanJob(job *Job) (interface{}, error) {
return nil, fmt.Errorf("database queries required")
}
force := false
if forceVal, ok := job.Params["force"].(bool); ok {
force = forceVal
}
scanner := NewMediaScanner(db)
scanner.job = job
@@ -218,6 +223,7 @@ func (w *Worker) processScanJob(job *Job) (interface{}, error) {
return nil, err
}
scanner.SetAdminID(adminUUID)
scanner.SetForce(force)
if err := scanner.ScanFolders(job.Context); err != nil {
return nil, err