28 lines
764 B
Go
28 lines
764 B
Go
package file
|
|
|
|
// Repository defines the data access operations for files
|
|
type Repository interface {
|
|
// Create stores a new file record
|
|
Create(file *File) error
|
|
|
|
// Get retrieves a file by its ID
|
|
Get(id string) (*File, error)
|
|
|
|
// Update modifies an existing file record
|
|
Update(file *File) error
|
|
|
|
// Delete removes a file record by its ID
|
|
Delete(id string) error
|
|
|
|
// List returns all file records
|
|
List() ([]*File, error)
|
|
|
|
// ListByCollection returns all files belonging to a specific collection
|
|
ListByCollection(collectionID string) ([]*File, error)
|
|
|
|
// ListByStatus returns all files with a specific sync status
|
|
ListByStatus(status SyncStatus) ([]*File, error)
|
|
|
|
// Exists checks if a file with the given ID exists
|
|
Exists(id string) (bool, error)
|
|
}
|