mirror of
https://github.com/go-vikunja/app
synced 2024-06-03 19:19:46 +00:00
056b2d72c9
This PR formats all code with dart format and adds a step to the CI so that it will be checked on every push and PR.
85 lines
2.3 KiB
Dart
85 lines
2.3 KiB
Dart
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
|
|
import 'package:vikunja_app/api/service.dart';
|
|
import 'package:vikunja_app/models/project.dart';
|
|
import 'package:vikunja_app/service/services.dart';
|
|
|
|
class ProjectAPIService extends APIService implements ProjectService {
|
|
FlutterSecureStorage _storage;
|
|
|
|
ProjectAPIService(client, storage)
|
|
: _storage = storage,
|
|
super(client);
|
|
|
|
@override
|
|
Future<Project?> create(Project p) {
|
|
// TODO: implement create
|
|
throw UnimplementedError();
|
|
}
|
|
|
|
@override
|
|
Future delete(int projectId) {
|
|
return client.delete('/projects/$projectId').then((_) {});
|
|
}
|
|
|
|
@override
|
|
Future<Project?> get(int projectId) {
|
|
return client.get('/projects/$projectId').then((response) {
|
|
if (response == null) return null;
|
|
final map = response.body;
|
|
/*if (map.containsKey('id')) {
|
|
return client
|
|
.get("/lists/$projectId/tasks")
|
|
.then((tasks) {
|
|
map['tasks'] = tasks?.body;
|
|
return Project.fromJson(map);
|
|
});
|
|
}*/
|
|
return Project.fromJson(map);
|
|
});
|
|
}
|
|
|
|
@override
|
|
Future<List<Project>?> getAll() {
|
|
// TODO: implement getAll
|
|
return client.get('/projects').then((response) {
|
|
if (response == null) return null;
|
|
return convertList(response.body, (result) => Project.fromJson(result));
|
|
});
|
|
}
|
|
|
|
@override
|
|
Future<Project?> update(Project p) {
|
|
return client.post('/projects/${p.id}', body: p.toJSON()).then((response) {
|
|
if (response == null) return null;
|
|
return Project.fromJson(response.body);
|
|
});
|
|
}
|
|
|
|
@override
|
|
Future<String> getDisplayDoneTasks(int listId) {
|
|
return _storage.read(key: "display_done_tasks_list_$listId").then((value) {
|
|
if (value == null) {
|
|
// TODO: implement default value
|
|
setDisplayDoneTasks(listId, "1");
|
|
return Future.value("1");
|
|
}
|
|
return value;
|
|
});
|
|
}
|
|
|
|
@override
|
|
void setDisplayDoneTasks(int listId, String value) {
|
|
_storage.write(key: "display_done_tasks_list_$listId", value: value);
|
|
}
|
|
|
|
@override
|
|
Future<String?> getDefaultList() {
|
|
return _storage.read(key: "default_list_id");
|
|
}
|
|
|
|
@override
|
|
void setDefaultList(int? listId) {
|
|
_storage.write(key: "default_list_id", value: listId.toString());
|
|
}
|
|
}
|