added alarms to task model

This commit is contained in:
2026-07-20 13:39:26 +02:00
parent 7fed7bfe16
commit 79cae9570d
3 changed files with 18 additions and 2 deletions
+6 -1
View File
@@ -1,3 +1,4 @@
import '../alarm/alarm.dart';
import '../task.dart'; import '../task.dart';
class CreateTaskRequest { class CreateTaskRequest {
@@ -9,6 +10,7 @@ class CreateTaskRequest {
final String category; final String category;
final List<Task> subtasks; final List<Task> subtasks;
final String url; final String url;
final List<Alarm> alarms;
CreateTaskRequest({ CreateTaskRequest({
required this.title, required this.title,
@@ -19,6 +21,7 @@ class CreateTaskRequest {
required this.category, required this.category,
required this.subtasks, required this.subtasks,
required this.url, required this.url,
required this.alarms,
}); });
CreateTaskRequest.fromTask(Task task) CreateTaskRequest.fromTask(Task task)
@@ -29,7 +32,8 @@ class CreateTaskRequest {
isCompleted = task.isCompleted, isCompleted = task.isCompleted,
category = task.category, category = task.category,
subtasks = task.subtasks, subtasks = task.subtasks,
url = task.url; url = task.url,
alarms = task.alarms;
Task toTask({required String id}) { Task toTask({required String id}) {
return Task( return Task(
@@ -42,6 +46,7 @@ class CreateTaskRequest {
category: category, category: category,
subtasks: subtasks, subtasks: subtasks,
url: url, url: url,
alarms: alarms,
); );
} }
} }
+11 -1
View File
@@ -1,3 +1,4 @@
import 'alarm/alarm.dart';
import 'location.dart'; import 'location.dart';
class Task { class Task {
@@ -10,6 +11,7 @@ class Task {
final String category; final String category;
final List<Task> subtasks; final List<Task> subtasks;
final String url; final String url;
final List<Alarm> alarms;
Task({ Task({
required this.id, required this.id,
@@ -21,6 +23,7 @@ class Task {
this.category = '', this.category = '',
this.subtasks = const [], this.subtasks = const [],
this.url = '', this.url = '',
required this.alarms,
}); });
Task copyWith({ Task copyWith({
@@ -32,7 +35,7 @@ class Task {
bool? isCompleted, bool? isCompleted,
String? category, String? category,
List<Task>? subtasks, List<Task>? subtasks,
List<DateTime>? alarms, List<Alarm>? alarms,
Location? location, Location? location,
String? url, String? url,
}) { }) {
@@ -46,6 +49,7 @@ class Task {
category: category ?? this.category, category: category ?? this.category,
subtasks: subtasks ?? this.subtasks, subtasks: subtasks ?? this.subtasks,
url: url ?? this.url, url: url ?? this.url,
alarms: alarms ?? this.alarms,
); );
} }
@@ -66,6 +70,11 @@ class Task {
.toList() ?? .toList() ??
[], [],
url: json['url'] as String? ?? '', url: json['url'] as String? ?? '',
alarms:
(json['alarms'] as List<dynamic>?)
?.map((e) => Alarm.fromJson(e as Map<String, dynamic>))
.toList() ??
[],
); );
} }
@@ -80,6 +89,7 @@ class Task {
'category': category, 'category': category,
'subtasks': subtasks.map((e) => e.toJson()).toList(), 'subtasks': subtasks.map((e) => e.toJson()).toList(),
'url': url, 'url': url,
'alarms': alarms.map((e) => e.toJson()).toList(),
}; };
} }
+1
View File
@@ -187,6 +187,7 @@ class _TaskEditPageState extends State<TaskEditPage> {
category: categoryController.text, category: categoryController.text,
subtasks: [], subtasks: [],
url: urlController.text, url: urlController.text,
alarms: [],
), ),
); );
} }