navidrome/core/artwork/reader_emptyid.go

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

35 lines
812 B
Go
Raw Normal View History

2022-12-27 11:36:23 -05:00
package artwork
import (
"context"
"fmt"
"io"
"time"
"github.com/navidrome/navidrome/conf"
2022-12-28 10:19:52 -05:00
"github.com/navidrome/navidrome/consts"
2022-12-27 11:36:23 -05:00
"github.com/navidrome/navidrome/model"
)
2022-12-28 10:19:52 -05:00
type emptyIDReader struct {
2022-12-27 11:36:23 -05:00
artID model.ArtworkID
}
2022-12-28 10:19:52 -05:00
func newEmptyIDReader(_ context.Context, artID model.ArtworkID) (*emptyIDReader, error) {
a := &emptyIDReader{
2022-12-27 11:36:23 -05:00
artID: artID,
}
return a, nil
}
2022-12-28 10:19:52 -05:00
func (a *emptyIDReader) LastUpdated() time.Time {
return consts.ServerStart // Invalidate cached placeholder every server start
2022-12-27 11:36:23 -05:00
}
2022-12-28 10:19:52 -05:00
func (a *emptyIDReader) Key() string {
return fmt.Sprintf("placeholder.%d.0.%d", a.LastUpdated().UnixMilli(), conf.Server.CoverJpegQuality)
2022-12-27 11:36:23 -05:00
}
2022-12-28 10:19:52 -05:00
func (a *emptyIDReader) Reader(ctx context.Context) (io.ReadCloser, string, error) {
2022-12-30 23:52:53 -05:00
return selectImageReader(ctx, a.artID, fromAlbumPlaceholder())
2022-12-27 11:36:23 -05:00
}