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/models/task.dart

49 lines
1.3 KiB
Dart

import 'package:vikunja_app/models/user.dart';
import 'package:meta/meta.dart';
class Task {
final int id;
final DateTime created, updated, due;
final List<DateTime> reminders;
final String text, description;
final bool done;
final User owner;
Task(
{@required this.id,
this.created,
this.updated,
this.reminders,
this.due,
@required this.text,
this.description,
@required this.done,
@required this.owner});
Task.fromJson(Map<String, dynamic> json)
: id = json['id'],
updated = DateTime.parse(json['updated']),
created = DateTime.parse(json['created']),
reminders = (json['reminderDates'] as List<dynamic>)
?.map((r) => DateTime.parse(r))
?.toList(),
due = DateTime.parse(json['dueDate']),
description = json['description'],
text = json['text'],
done = json['done'],
owner = User.fromJson(json['createdBy']);
toJSON() => {
'id': id,
'updated': updated?.toIso8601String(),
'created': created?.toIso8601String(),
'reminderDates':
reminders?.map((date) => date.toIso8601String())?.toList(),
'dueDate': due?.toIso8601String(),
'description': description,
'text': text,
'done': done ?? false,
'createdBy': owner?.toJSON()
};
}