aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pkg/database/sql/media.go4
-rw-r--r--pkg/worker/scanner/exif_scanner.go4
2 files changed, 6 insertions, 2 deletions
diff --git a/pkg/database/sql/media.go b/pkg/database/sql/media.go
index 4b48608..b13e267 100644
--- a/pkg/database/sql/media.go
+++ b/pkg/database/sql/media.go
@@ -43,8 +43,8 @@ type (
MediaThumbnail struct {
gorm.Model
- Path string `gorm:"not null;unique"`
- MediaID uint `gorm:"not null"`
+ Path string
+ MediaID uint `gorm:"not null"`
Media Media
}
diff --git a/pkg/worker/scanner/exif_scanner.go b/pkg/worker/scanner/exif_scanner.go
index da63c0b..c265223 100644
--- a/pkg/worker/scanner/exif_scanner.go
+++ b/pkg/worker/scanner/exif_scanner.go
@@ -30,6 +30,10 @@ func (e *EXIFScanner) Query(ctx context.Context) ([]*repository.Media, error) {
})
}
+func (t *EXIFScanner) OnFail(ctx context.Context, media *repository.Media, _ error) {
+ _ = t.repository.CreateEXIF(ctx, media.ID, &repository.MediaEXIF{})
+}
+
func (e *EXIFScanner) Process(ctx context.Context, m *repository.Media) error {
exif, err := coroutine.WrapProcess(ctx, func() (*repository.MediaEXIF, error) { return fileop.ReadExif(m.Path) })
if err != nil {