Defined the Repository protocol in the app target.

This commit is contained in:
2026-02-11 17:44:44 +01:00
parent b8e6e515dc
commit 48f8f5d5c2
+28
View File
@@ -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)
}