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