Add filesystem based blob storage (#3187)

* Refactor transaction hooks. Add preCommit
* Add BlobStore
* Use blobStore for tag images
* Use blobStore for studio images
* Use blobStore for performer images
* Use blobStore for scene covers
* Don't generate screenshots in legacy directory
* Run post-hooks outside original transaction
* Use blobStore for movie images
* Remove unnecessary DestroyImage methods
* Add missing filter for scene cover
* Add covers to generate options
* Add generate cover option to UI
* Add screenshot migration
* Delete thumb files as part of screenshot migration
This commit is contained in:
WithoutPants
2023-03-17 10:52:49 +11:00
committed by GitHub
parent c3081700c0
commit 7cff71c35f
105 changed files with 2647 additions and 1086 deletions

View File

@@ -34,6 +34,26 @@ type FS interface {
// OsFS is a file system backed by the OS.
type OsFS struct{}
func (f *OsFS) Create(name string) (*os.File, error) {
return os.Create(name)
}
func (f *OsFS) MkdirAll(path string, perm fs.FileMode) error {
return os.MkdirAll(path, perm)
}
func (f *OsFS) Remove(name string) error {
return os.Remove(name)
}
func (f *OsFS) Rename(oldpath, newpath string) error {
return os.Rename(oldpath, newpath)
}
func (f *OsFS) RemoveAll(path string) error {
return os.RemoveAll(path)
}
func (f *OsFS) Stat(name string) (fs.FileInfo, error) {
return os.Stat(name)
}