From 79cae9570dcf5c38d6f1e47a9a5837a075f804de Mon Sep 17 00:00:00 2001 From: marco Date: Mon, 20 Jul 2026 13:39:26 +0200 Subject: [PATCH] added alarms to task model --- lib/model/requests/create_task_request.dart | 7 ++++++- lib/model/task.dart | 12 +++++++++++- lib/pages/task_edit_page.dart | 1 + 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/lib/model/requests/create_task_request.dart b/lib/model/requests/create_task_request.dart index 49c0a38..102c16c 100644 --- a/lib/model/requests/create_task_request.dart +++ b/lib/model/requests/create_task_request.dart @@ -1,3 +1,4 @@ +import '../alarm/alarm.dart'; import '../task.dart'; class CreateTaskRequest { @@ -9,6 +10,7 @@ class CreateTaskRequest { final String category; final List subtasks; final String url; + final List alarms; CreateTaskRequest({ required this.title, @@ -19,6 +21,7 @@ class CreateTaskRequest { required this.category, required this.subtasks, required this.url, + required this.alarms, }); CreateTaskRequest.fromTask(Task task) @@ -29,7 +32,8 @@ class CreateTaskRequest { isCompleted = task.isCompleted, category = task.category, subtasks = task.subtasks, - url = task.url; + url = task.url, + alarms = task.alarms; Task toTask({required String id}) { return Task( @@ -42,6 +46,7 @@ class CreateTaskRequest { category: category, subtasks: subtasks, url: url, + alarms: alarms, ); } } diff --git a/lib/model/task.dart b/lib/model/task.dart index cecddd7..922e92f 100644 --- a/lib/model/task.dart +++ b/lib/model/task.dart @@ -1,3 +1,4 @@ +import 'alarm/alarm.dart'; import 'location.dart'; class Task { @@ -10,6 +11,7 @@ class Task { final String category; final List subtasks; final String url; + final List alarms; Task({ required this.id, @@ -21,6 +23,7 @@ class Task { this.category = '', this.subtasks = const [], this.url = '', + required this.alarms, }); Task copyWith({ @@ -32,7 +35,7 @@ class Task { bool? isCompleted, String? category, List? subtasks, - List? alarms, + List? alarms, Location? location, String? url, }) { @@ -46,6 +49,7 @@ class Task { category: category ?? this.category, subtasks: subtasks ?? this.subtasks, url: url ?? this.url, + alarms: alarms ?? this.alarms, ); } @@ -66,6 +70,11 @@ class Task { .toList() ?? [], url: json['url'] as String? ?? '', + alarms: + (json['alarms'] as List?) + ?.map((e) => Alarm.fromJson(e as Map)) + .toList() ?? + [], ); } @@ -80,6 +89,7 @@ class Task { 'category': category, 'subtasks': subtasks.map((e) => e.toJson()).toList(), 'url': url, + 'alarms': alarms.map((e) => e.toJson()).toList(), }; } diff --git a/lib/pages/task_edit_page.dart b/lib/pages/task_edit_page.dart index d225b61..4ece1bf 100644 --- a/lib/pages/task_edit_page.dart +++ b/lib/pages/task_edit_page.dart @@ -187,6 +187,7 @@ class _TaskEditPageState extends State { category: categoryController.text, subtasks: [], url: urlController.text, + alarms: [], ), ); }