import 'package:vikunja_app/models/user.dart'; import 'package:meta/meta.dart'; class Task { final int id; final DateTime created, updated, due; final List 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 json) : id = json['id'], updated = DateTime.parse(json['updated']), created = DateTime.parse(json['created']), reminders = (json['reminderDates'] as List) ?.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() }; }