mirror of
https://github.com/stashapp/stash.git
synced 2026-03-17 02:23:19 +01:00
* Add basename field to folder * Add parent_folders field to folder * Add basename column to folder table * Add basename filter field * Create missing folder hierarchies during migration * Treat files/folders in zips where path can't be made relative as not found Addresses an issue during clean where corrupt folder entries in zip files could not be removed due to an error during the call to Rel.
71 lines
1.8 KiB
Go
71 lines
1.8 KiB
Go
package models
|
|
|
|
import "context"
|
|
|
|
// FolderGetter provides methods to get folders by ID.
|
|
type FolderGetter interface {
|
|
Find(ctx context.Context, id FolderID) (*Folder, error)
|
|
FindMany(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, caseSensitive bool) (*Folder, error)
|
|
FindByZipFileID(ctx context.Context, zipFileID FileID) ([]*Folder, error)
|
|
FindByParentFolderID(ctx context.Context, parentFolderID FolderID) ([]*Folder, error)
|
|
GetManyParentFolderIDs(ctx context.Context, folderIDs []FolderID) ([][]FolderID, error)
|
|
}
|
|
|
|
type FolderQueryer interface {
|
|
Query(ctx context.Context, options FolderQueryOptions) (*FolderQueryResult, 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
|
|
FolderQueryer
|
|
FolderCounter
|
|
}
|
|
|
|
// FolderWriter provides all methods to modify folders.
|
|
type FolderWriter interface {
|
|
FolderCreator
|
|
FolderUpdater
|
|
FolderDestroyer
|
|
}
|
|
|
|
// FolderReaderWriter provides all folder methods.
|
|
type FolderReaderWriter interface {
|
|
FolderReader
|
|
FolderWriter
|
|
}
|