Files
todos/App/Sources/Protocols/TodoRepository.swift
T

29 lines
1.1 KiB
Swift
Raw Normal View History

2026-02-11 18:22:26 +00:00
import SwiftData
/// A protocol defining the interface for a todo repository.
///
/// This protocol abstracts the underlying data persistence mechanism for todo tasks,
/// allowing for dependency injection and easier testing. Implementations handle the
/// storage and retrieval of Todo objects.
protocol TodoRepository {
/// Deletes a todo task from the repository.
///
/// This method removes the specified todo 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 todo: The todo task to delete from the repository.
func delete(_ todo: Todo)
/// Inserts a new todo task into the repository.
///
/// This method adds a new todo to persistent storage. The todo is typically
/// tracked immediately, though the actual persistence may be deferred until a
/// save operation occurs depending on the implementation.
///
/// - Parameter todo: The todo task to insert into the repository.
func insert(_ todo: Todo)
}