Todo repository protocol #8
@@ -0,0 +1,28 @@
|
||||
import SwiftData
|
||||
|
||||
/// A protocol defining the interface for a data repository.
|
||||
///
|
||||
/// This protocol abstracts the underlying data persistence mechanism, allowing for
|
||||
/// dependency injection and easier testing. Implementations handle the storage and
|
||||
/// retrieval of model objects.
|
||||
protocol Repository {
|
||||
|
||||
/// Deletes a model object from the repository.
|
||||
///
|
||||
/// This method removes the specified object from persistent storage. The deletion
|
||||
/// is typically performed immediately, though the actual persistence may be deferred
|
||||
/// until a save operation occurs depending on the implementation.
|
||||
///
|
||||
/// - Parameter model: The model object to delete from the repository.
|
||||
func delete(_ model: some PersistentModel)
|
||||
|
||||
/// Inserts a new model object into the repository.
|
||||
///
|
||||
/// This method adds a new object to persistent storage. The object is typically
|
||||
/// tracked immediately, though the actual persistence may be deferred until a
|
||||
/// save operation occurs depending on the implementation.
|
||||
///
|
||||
/// - Parameter model: The model object to insert into the repository.
|
||||
func insert(_ model: some PersistentModel)
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user