28 lines
821 B
Go
28 lines
821 B
Go
package collection
|
|
|
|
// Repository defines the data access operations for collections
|
|
type Repository interface {
|
|
// Create stores a new collection record
|
|
Create(collection *Collection) error
|
|
|
|
// Get retrieves a collection by its ID
|
|
Get(id string) (*Collection, error)
|
|
|
|
// Update modifies an existing collection record
|
|
Update(collection *Collection) error
|
|
|
|
// Delete removes a collection record by its ID
|
|
Delete(id string) error
|
|
|
|
// List returns all collection records
|
|
List() ([]*Collection, error)
|
|
|
|
// ListByParent returns all collections with a specific parent ID
|
|
ListByParent(parentID string) ([]*Collection, error)
|
|
|
|
// ListRoot returns all root-level collections (no parent)
|
|
ListRoot() ([]*Collection, error)
|
|
|
|
// Exists checks if a collection with the given ID exists
|
|
Exists(id string) (bool, error)
|
|
}
|