From b94ec8410d7a7ef5bb14bee2f9930abda52f28fe Mon Sep 17 00:00:00 2001 From: Paul Buetow Date: Thu, 30 Apr 2026 00:55:27 +0300 Subject: fix: exclude soft-deleted media from GetMediaByID --- internal/repository/sqlite_test.go | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) (limited to 'internal/repository/sqlite_test.go') diff --git a/internal/repository/sqlite_test.go b/internal/repository/sqlite_test.go index 5e6f3fd..faa4fb6 100644 --- a/internal/repository/sqlite_test.go +++ b/internal/repository/sqlite_test.go @@ -242,6 +242,31 @@ func TestSQLite_MediaRepo(t *testing.T) { } }, }, + { + name: "excludes soft-deleted from get by id", + run: func(t *testing.T, ctx context.Context, s *SQLite) { + now := time.Now().Truncate(time.Second) + sid, _ := s.CreateSet(ctx, &model.Set{Name: "s", RootPath: "/s", CreatedAt: now}) + mid, _ := s.CreateMedia(ctx, &model.Media{SetID: sid, RelPath: "a.mp4", FileName: "a.mp4", AbsPath: "/s/a.mp4", Type: model.MediaTypeVideo, CreatedAt: now}) + if err := s.SoftDeleteMedia(ctx, mid); err != nil { + t.Fatalf("soft delete: %v", err) + } + m, err := s.GetMediaByID(ctx, mid) + if err == nil { + t.Fatal("expected error for soft-deleted media") + } + if m != nil { + t.Fatalf("expected nil media for soft-deleted record, got %+v", m) + } + deleted, _ := s.ListDeletedMedia(ctx) + if len(deleted) != 1 { + t.Fatalf("expected 1 deleted media, got %d", len(deleted)) + } + if deleted[0].ID != mid { + t.Fatalf("expected deleted media ID %d, got %d", mid, deleted[0].ID) + } + }, + }, { name: "hard delete", run: func(t *testing.T, ctx context.Context, s *SQLite) { -- cgit v1.2.3