@domisoft/todo-clean-architecture
Version:
todo project following uncle bob clean architecture patterns
16 lines (15 loc) • 830 B
TypeScript
import { Observable } from 'rxjs';
import { TodoEntity } from '../entity/todo.entity';
export declare abstract class TodoRepository {
abstract getAllTodos(): Observable<TodoEntity[]>;
abstract getCompletedTodos(): Observable<TodoEntity[]>;
abstract getActiveTodos(): Observable<TodoEntity[]>;
abstract getActiveTodosCount(): Observable<number>;
abstract addTodo(name: string): Observable<TodoEntity>;
abstract removeTodo(id: string): Observable<TodoEntity>;
abstract removeCompletedTodos(): Observable<TodoEntity[]>;
abstract getTodoById(id: string): Observable<TodoEntity>;
abstract markTodoAsCompleted(id: string, isCompleted: boolean): Observable<TodoEntity>;
abstract markAllTodosAsCompleted(): Observable<TodoEntity[]>;
abstract markAllTodosAsActive(): Observable<TodoEntity[]>;
}