diff --git a/internal/db/skip_segment_overrides.go b/internal/db/skip_segment_overrides.go index 3a75e5a..9107ce6 100644 --- a/internal/db/skip_segment_overrides.go +++ b/internal/db/skip_segment_overrides.go @@ -6,7 +6,20 @@ import ( "fmt" ) -func (q *Queries) ListSkipSegmentOverrides(ctx context.Context, userID string, animeID int64, episode int64) ([]SkipSegmentOverride, error) { +// Note: we intentionally avoid naming this struct SkipSegmentOverride because +// some environments may have an sqlc-generated SkipSegmentOverride model, +// which would cause a redeclare build error. +type SkipSegmentOverrideRow struct { + ID string + UserID string + AnimeID int64 + Episode int64 + SkipType string + StartTime float64 + EndTime float64 +} + +func (q *Queries) ListSkipSegmentOverrides(ctx context.Context, userID string, animeID int64, episode int64) ([]SkipSegmentOverrideRow, error) { const query = ` SELECT id, user_id, anime_id, episode, skip_type, start_time, end_time FROM skip_segment_override @@ -19,9 +32,9 @@ ORDER BY skip_type ASC; } defer func() { _ = rows.Close() }() - var out []SkipSegmentOverride + var out []SkipSegmentOverrideRow for rows.Next() { - var r SkipSegmentOverride + var r SkipSegmentOverrideRow if err := rows.Scan(&r.ID, &r.UserID, &r.AnimeID, &r.Episode, &r.SkipType, &r.StartTime, &r.EndTime); err != nil { return nil, fmt.Errorf("scan skip segment override: %w", err) } @@ -33,7 +46,7 @@ ORDER BY skip_type ASC; return out, nil } -func (q *Queries) UpsertSkipSegmentOverride(ctx context.Context, r SkipSegmentOverride) error { +func (q *Queries) UpsertSkipSegmentOverride(ctx context.Context, r SkipSegmentOverrideRow) error { const query = ` INSERT INTO skip_segment_override (id, user_id, anime_id, episode, skip_type, start_time, end_time) VALUES (?, ?, ?, ?, ?, ?, ?) diff --git a/internal/domain/playback.go b/internal/domain/playback.go index e018f35..ab45b2d 100644 --- a/internal/domain/playback.go +++ b/internal/domain/playback.go @@ -39,7 +39,7 @@ type PlaybackRepository interface { UpsertWatchListEntry(ctx context.Context, params db.UpsertWatchListEntryParams) (db.WatchListEntry, error) UpsertContinueWatchingEntry(ctx context.Context, params db.UpsertContinueWatchingEntryParams) (db.ContinueWatchingEntry, error) DeleteContinueWatchingEntry(ctx context.Context, params db.DeleteContinueWatchingEntryParams) error - ListSkipSegmentOverrides(ctx context.Context, userID string, animeID int64, episode int64) ([]db.SkipSegmentOverride, error) - UpsertSkipSegmentOverride(ctx context.Context, r db.SkipSegmentOverride) error + ListSkipSegmentOverrides(ctx context.Context, userID string, animeID int64, episode int64) ([]db.SkipSegmentOverrideRow, error) + UpsertSkipSegmentOverride(ctx context.Context, r db.SkipSegmentOverrideRow) error HasSkipSegmentOverrideTable(ctx context.Context) (bool, error) } diff --git a/internal/playback/repository/repository.go b/internal/playback/repository/repository.go index b1b4354..ba69758 100644 --- a/internal/playback/repository/repository.go +++ b/internal/playback/repository/repository.go @@ -38,11 +38,11 @@ func (r *playbackRepository) DeleteContinueWatchingEntry(ctx context.Context, pa return r.queries.DeleteContinueWatchingEntry(ctx, params) } -func (r *playbackRepository) ListSkipSegmentOverrides(ctx context.Context, userID string, animeID int64, episode int64) ([]db.SkipSegmentOverride, error) { +func (r *playbackRepository) ListSkipSegmentOverrides(ctx context.Context, userID string, animeID int64, episode int64) ([]db.SkipSegmentOverrideRow, error) { return r.queries.ListSkipSegmentOverrides(ctx, userID, animeID, episode) } -func (r *playbackRepository) UpsertSkipSegmentOverride(ctx context.Context, s db.SkipSegmentOverride) error { +func (r *playbackRepository) UpsertSkipSegmentOverride(ctx context.Context, s db.SkipSegmentOverrideRow) error { return r.queries.UpsertSkipSegmentOverride(ctx, s) } diff --git a/internal/playback/service/service.go b/internal/playback/service/service.go index f183310..4c58fa7 100644 --- a/internal/playback/service/service.go +++ b/internal/playback/service/service.go @@ -374,7 +374,7 @@ func (s *playbackService) UpsertSkipSegmentOverride(ctx context.Context, userID if endTime-startTime < 5 || endTime-startTime > 10*60 { return fmt.Errorf("interval duration out of range") } - return s.repo.UpsertSkipSegmentOverride(ctx, db.SkipSegmentOverride{ + return s.repo.UpsertSkipSegmentOverride(ctx, db.SkipSegmentOverrideRow{ ID: uuid.New().String(), UserID: userID, AnimeID: animeID, diff --git a/justfile b/justfile index 1814858..8550c92 100644 --- a/justfile +++ b/justfile @@ -1,6 +1,8 @@ set shell := ["bash", "-c"] set dotenv-load := true +export GOCACHE := justfile_directory() + "/.cache/go-build" + fmt: go fmt ./...