Refactored parsing task

This commit is contained in:
konrad 2019-03-17 13:04:04 +01:00
parent 0b06fc3beb
commit 29a9545cd4
Signed by: konrad
GPG Key ID: F40E70337AB24C9B
1 changed files with 26 additions and 30 deletions

View File

@ -33,36 +33,32 @@ class Task {
this.updated,
this.createdBy});
Task.fromJson(Map<String, dynamic> inp)
: id = inp['id'],
text = inp['text'],
description = inp['description'],
done = inp['done'],
reminderDates = (inp['reminderDates'] as List<dynamic>)
?.map((ts) => dateTimeFromUnixTimestamp(ts))
?.cast<DateTime>()
?.toList(),
dueDate = dateTimeFromUnixTimestamp(inp['dueDate']),
startDate = dateTimeFromUnixTimestamp(inp['startDate']),
endDate = dateTimeFromUnixTimestamp(inp['endDate']),
parentTaskID = inp['parentTaskID'],
priority = inp['priority'],
repeatAfter = Duration(seconds: inp['repeatAfter']),
labels = inp['labels'] == null
? null
: (inp['labels'] as List<dynamic>)
.map((label) => Label.fromJson(label))
.cast<Label>()
.toList(),
subtasks = inp['subtasks'] == null
? null
: (inp['subtasks'] as List<dynamic>)
.map((subtask) => Task.fromJson(subtask))
.cast<Task>()
.toList(),
updated = dateTimeFromUnixTimestamp(inp['updated']),
created = dateTimeFromUnixTimestamp(inp['created']),
createdBy = User.fromJson(inp['createdBy']);
Task.fromJson(Map<String, dynamic> json)
: id = json['id'],
text = json['text'],
description = json['description'],
done = json['done'],
reminderDates = (json['reminderDates'] as List<dynamic>)
?.map((ts) => dateTimeFromUnixTimestamp(ts))
?.cast<DateTime>()
?.toList(),
dueDate = dateTimeFromUnixTimestamp(json['dueDate']),
startDate = dateTimeFromUnixTimestamp(json['startDate']),
endDate = dateTimeFromUnixTimestamp(json['endDate']),
parentTaskID = json['parentTaskID'],
priority = json['priority'],
repeatAfter = Duration(seconds: json['repeatAfter']),
labels = (json['labels'] as List<dynamic>)
?.map((label) => Label.fromJson(label))
?.cast<Label>()
?.toList(),
subtasks = (json['subtasks'] as List<dynamic>)
?.map((subtask) => Task.fromJson(subtask))
?.cast<Task>()
?.toList(),
updated = dateTimeFromUnixTimestamp(json['updated']),
created = dateTimeFromUnixTimestamp(json['created']),
createdBy = User.fromJson(json['createdBy']);
toJSON() => {
'id': id,