Files
tasks/lib/model/task.dart
T

62 lines
1.4 KiB
Dart

import 'location.dart';
class Task {
final String id;
final String title;
final String description;
final DateTime? start;
final DateTime? due;
final bool isCompleted;
final String category;
final List<Task> subtasks;
final List<DateTime> alarms;
final Location? location;
final String url;
final int position;
Task({
required this.id,
required this.title,
this.description = '',
this.start,
this.due,
this.isCompleted = false,
this.category = '',
this.subtasks = const [],
this.alarms = const [],
this.location,
this.url = '',
required this.position,
});
Task copyWith({
String? id,
String? title,
String? description,
DateTime? start,
DateTime? due,
bool? isCompleted,
String? category,
List<Task>? subtasks,
List<DateTime>? alarms,
Location? location,
String? url,
int? position,
}) {
return Task(
id: id ?? this.id,
title: title ?? this.title,
description: description ?? this.description,
start: start ?? this.start,
due: due ?? this.due,
isCompleted: isCompleted ?? this.isCompleted,
category: category ?? this.category,
subtasks: subtasks ?? this.subtasks,
alarms: alarms ?? this.alarms,
location: location ?? this.location,
url: url ?? this.url,
position: position ?? this.position,
);
}
}