2018-09-16 19:47:33 +00:00
|
|
|
import 'dart:async';
|
|
|
|
|
2018-09-22 20:56:16 +00:00
|
|
|
import 'package:vikunja_app/models/namespace.dart';
|
|
|
|
import 'package:vikunja_app/models/task.dart';
|
|
|
|
import 'package:vikunja_app/models/user.dart';
|
2018-09-16 19:47:33 +00:00
|
|
|
|
|
|
|
abstract class NamespaceService {
|
|
|
|
Future<List<Namespace>> getAll();
|
|
|
|
Future<Namespace> get(int namespaceId);
|
|
|
|
Future<Namespace> create(Namespace ns);
|
|
|
|
Future<Namespace> update(Namespace ns);
|
|
|
|
Future delete(int namespaceId);
|
|
|
|
}
|
|
|
|
|
|
|
|
abstract class ListService {
|
|
|
|
Future<List<TaskList>> getAll();
|
|
|
|
Future<TaskList> get(int listId);
|
|
|
|
Future<List<TaskList>> getByNamespace(int namespaceId);
|
2018-09-17 16:16:50 +00:00
|
|
|
Future<TaskList> create(int namespaceId, TaskList tl);
|
2018-09-16 19:47:33 +00:00
|
|
|
Future<TaskList> update(TaskList tl);
|
|
|
|
Future delete(int listId);
|
|
|
|
}
|
|
|
|
|
|
|
|
abstract class TaskService {
|
|
|
|
Future<Task> update(Task task);
|
|
|
|
Future delete(int taskId);
|
2018-09-17 16:16:50 +00:00
|
|
|
Future<Task> add(int listId, Task task);
|
2018-09-16 19:47:33 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
abstract class UserService {
|
|
|
|
Future<UserTokenPair> login(String username, password);
|
2018-09-17 13:35:57 +00:00
|
|
|
Future<User> getCurrentUser();
|
2018-09-16 19:47:53 +00:00
|
|
|
}
|