working commit

This commit is contained in:
2026-02-05 14:37:54 +02:00
parent 2dfb4a88b8
commit e81037d75f
10 changed files with 408 additions and 119 deletions
+39 -1
View File
@@ -1,6 +1,7 @@
package storage
import (
"bytes"
"crypto/sha256"
"encoding/hex"
"errors"
@@ -309,7 +310,7 @@ func (store *Storage) WriteBlob(digest string, source io.Reader) (int64, string,
return recsize, recsum, err
}
func (st *Storage) BlobFileExists(digest string) (bool, int64, error) {
func (st *Storage) BlobExists(digest string) (bool, int64, error) {
var err error
var fileSize int64
@@ -326,3 +327,40 @@ func (st *Storage) BlobFileExists(digest string) (bool, int64, error) {
fileSize = fileStat.Size()
return true, fileSize, err
}
func (store *Storage) BlobReader(digest string) (int64, io.ReadCloser, error) {
var err error
var filesize int64
blobpath := store.makeBlobpath(digest)
emptyReadCloser := io.NopCloser(bytes.NewReader(nil))
file, err := os.OpenFile(blobpath, os.O_RDONLY, 0)
if err != nil {
return filesize, emptyReadCloser, err
}
defer func() {
if err != nil {
file.Close()
}
}()
filestat, err := file.Stat()
if err != nil {
return filesize, emptyReadCloser, err
}
filesize = filestat.Size()
return filesize, file, err
}
func (store *Storage) DeleteBlob(digest string) error {
var err error
blobpath := store.makeBlobpath(digest)
err = os.Remove(blobpath)
if errors.Is(err, os.ErrNotExist) {
err = nil
}
if err != nil {
return err
}
return err
}