mirror of
https://github.com/stashapp/stash.git
synced 2025-12-17 12:24:38 +03:00
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:
64
pkg/models/repository_folder.go
Normal file
64
pkg/models/repository_folder.go
Normal file
@@ -0,0 +1,64 @@
|
||||
package models
|
||||
|
||||
import "context"
|
||||
|
||||
// FolderGetter provides methods to get folders by ID.
|
||||
type FolderGetter interface {
|
||||
Find(ctx context.Context, id FolderID) (*Folder, error)
|
||||
}
|
||||
|
||||
// FolderFinder provides methods to find folders.
|
||||
type FolderFinder interface {
|
||||
FolderGetter
|
||||
FindAllInPaths(ctx context.Context, p []string, limit, offset int) ([]*Folder, error)
|
||||
FindByPath(ctx context.Context, path string) (*Folder, error)
|
||||
FindByZipFileID(ctx context.Context, zipFileID FileID) ([]*Folder, error)
|
||||
FindByParentFolderID(ctx context.Context, parentFolderID FolderID) ([]*Folder, error)
|
||||
}
|
||||
|
||||
type FolderCounter interface {
|
||||
CountAllInPaths(ctx context.Context, p []string) (int, error)
|
||||
}
|
||||
|
||||
// FolderCreator provides methods to create folders.
|
||||
type FolderCreator interface {
|
||||
Create(ctx context.Context, f *Folder) error
|
||||
}
|
||||
|
||||
// FolderUpdater provides methods to update folders.
|
||||
type FolderUpdater interface {
|
||||
Update(ctx context.Context, f *Folder) error
|
||||
}
|
||||
|
||||
type FolderDestroyer interface {
|
||||
Destroy(ctx context.Context, id FolderID) error
|
||||
}
|
||||
|
||||
type FolderFinderCreator interface {
|
||||
FolderFinder
|
||||
FolderCreator
|
||||
}
|
||||
|
||||
type FolderFinderDestroyer interface {
|
||||
FolderFinder
|
||||
FolderDestroyer
|
||||
}
|
||||
|
||||
// FolderReader provides all methods to read folders.
|
||||
type FolderReader interface {
|
||||
FolderFinder
|
||||
FolderCounter
|
||||
}
|
||||
|
||||
// FolderWriter provides all methods to modify folders.
|
||||
type FolderWriter interface {
|
||||
FolderCreator
|
||||
FolderUpdater
|
||||
FolderDestroyer
|
||||
}
|
||||
|
||||
// FolderReaderWriter provides all folder methods.
|
||||
type FolderReaderWriter interface {
|
||||
FolderReader
|
||||
FolderWriter
|
||||
}
|
||||
Reference in New Issue
Block a user