mirror of
https://codeberg.org/shroff/phylum.git
synced 2026-05-12 15:18:38 -05:00
34 lines
668 B
Go
34 lines
668 B
Go
package core
|
|
|
|
import (
|
|
"errors"
|
|
"io"
|
|
"io/fs"
|
|
|
|
"codeberg.org/shroff/phylum/server/internal/img"
|
|
)
|
|
|
|
func (f *FileSystem) GetImg(r Resource, versionIDStr string, resolution img.Res) (io.ReadCloser, error) {
|
|
id := r.latestVersionInfo.ID.String()
|
|
imgres := r.latestVersionInfo.ImgRes
|
|
if versionIDStr != "" {
|
|
id = versionIDStr
|
|
if version, err := f.GetVersion(r, versionIDStr); err != nil {
|
|
panic(err)
|
|
} else {
|
|
imgres = version.ImgRes
|
|
}
|
|
}
|
|
if imgres == 0 {
|
|
return nil, nil
|
|
}
|
|
if r, err := imgr.Open(id, imgres); err != nil {
|
|
if errors.Is(err, fs.ErrNotExist) {
|
|
return nil, ErrPreviewNotFound
|
|
}
|
|
return nil, err
|
|
} else {
|
|
return r, nil
|
|
}
|
|
}
|