Model refactor (#3915)

* Add mockery config file
* Move basic file/folder structs to models
* Fix hack due to import loop
* Move file interfaces to models
* Move folder interfaces to models
* Move scene interfaces to models
* Move scene marker interfaces to models
* Move image interfaces to models
* Move gallery interfaces to models
* Move gallery chapter interfaces to models
* Move studio interfaces to models
* Move movie interfaces to models
* Move performer interfaces to models
* Move tag interfaces to models
* Move autotag interfaces to models
* Regenerate mocks
This commit is contained in:
DingDongSoLong4
2023-09-01 02:39:29 +02:00
committed by GitHub
parent 20520a58b4
commit c364346a59
185 changed files with 3840 additions and 2559 deletions

27
pkg/models/fs.go Normal file
View File

@@ -0,0 +1,27 @@
package models
import (
"io"
"io/fs"
)
// FileOpener provides an interface to open a file.
type FileOpener interface {
Open() (io.ReadCloser, error)
}
// FS represents a file system.
type FS interface {
Stat(name string) (fs.FileInfo, error)
Lstat(name string) (fs.FileInfo, error)
Open(name string) (fs.ReadDirFile, error)
OpenZip(name string) (ZipFS, error)
IsPathCaseSensitive(path string) (bool, error)
}
// ZipFS represents a zip file system.
type ZipFS interface {
FS
io.Closer
OpenOnly(name string) (io.ReadCloser, error)
}