This repository has been archived on 2022-04-20. You can view files and clone it, but cannot push or open issues or pull requests.
app/lib/api/labels.dart
konrad e97cd9a2f9
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/pr Build is failing
Added the possibility to create and add labels on the fly
2019-03-22 23:00:34 +01:00

40 lines
1.1 KiB
Dart

import 'package:vikunja_app/api/client.dart';
import 'package:vikunja_app/api/service.dart';
import 'package:vikunja_app/models/label.dart';
import 'package:vikunja_app/service/services.dart';
class LabelAPIService extends APIService implements LabelService {
LabelAPIService(Client client) : super(client);
@override
Future<Label> create(Label label) {
return client
.put('/labels', body: label.toJSON())
.then((result) => Label.fromJson(result));
}
@override
Future<Label> delete(Label label) {
return client.delete('/labels/${label.id}');
}
@override
Future<Label> get(int labelID) {
return client.get('/labels/$labelID').then((map) => Label.fromJson(map));
}
@override
Future<List<Label>> getAll({String query}) {
String params = query == '' ? null : '?s=' + query;
return client.get('/labels$params').then(
(label) => convertList(label, (result) => Label.fromJson(result)));
}
@override
Future<Label> update(Label label) {
return client
.post('/labels/${label.id}', body: label)
.then((map) => Label.fromJson(map));
}
}