summaryrefslogtreecommitdiff
path: root/lib/services
diff options
context:
space:
mode:
authorAldrik Ramaekers <aldrik@amftech.nl>2022-11-05 15:58:05 +0100
committerAldrik Ramaekers <aldrik@amftech.nl>2022-11-05 15:58:05 +0100
commit0b0168ac91c9b7f7896cb89436aa1dcf90605cf3 (patch)
treee6c25a6c618c6132c86d7133ae82554784213257 /lib/services
parentd3bf422afa275f8264a85c48c639576839f2f320 (diff)
fix shift delete bug
Diffstat (limited to 'lib/services')
-rw-r--r--lib/services/authentication_service.dart10
-rw-r--r--lib/services/local_shift_provider_service.dart21
2 files changed, 26 insertions, 5 deletions
diff --git a/lib/services/authentication_service.dart b/lib/services/authentication_service.dart
new file mode 100644
index 0000000..a1fd370
--- /dev/null
+++ b/lib/services/authentication_service.dart
@@ -0,0 +1,10 @@
+class AuthenticationService {
+ bool isAuthenticated = false;
+ String apiKey = '';
+
+ Future<bool> authenticate(String username, String password) async {
+ isAuthenticated = true;
+ apiKey = 'test';
+ return true;
+ }
+}
diff --git a/lib/services/local_shift_provider_service.dart b/lib/services/local_shift_provider_service.dart
index fe4d466..d49f6ec 100644
--- a/lib/services/local_shift_provider_service.dart
+++ b/lib/services/local_shift_provider_service.dart
@@ -1,5 +1,6 @@
import 'dart:convert';
import 'dart:io';
+import 'package:flutter/cupertino.dart';
import 'package:intl/intl.dart';
import 'package:training_planner/config/defaults.dart';
import 'package:training_planner/config/old_data.dart';
@@ -84,11 +85,13 @@ class LocalShiftProviderService extends IProgramProviderService {
Future<void> writeShiftsToFile(List<Shift> shifts) async {
try {
- for (var shift in shifts) {
+ if (shifts.isNotEmpty) {
final file = await _localFile(
- DateUtilities.DateUtils.firstDayOfWeek(shift.start).toString());
+ DateUtilities.DateUtils.firstDayOfWeek(shifts.first.start)
+ .toString());
LogService.log(
- DateUtilities.DateUtils.firstDayOfWeek(shift.start).toString());
+ DateUtilities.DateUtils.firstDayOfWeek(shifts.first.start)
+ .toString());
String content = jsonEncode(shifts);
LogService.log('writing content to ' + file.path + ' -- ' + content);
await file.writeAsString(content);
@@ -184,14 +187,22 @@ class LocalShiftProviderService extends IProgramProviderService {
@override
Future<void> deleteShift(Shift shift) async {
- List<Shift> savedShifts = await readShiftsFromFile(
- DateUtilities.DateUtils.firstDayOfWeek(shift.start));
+ DateTime firstDayOfWeek =
+ DateUtilities.DateUtils.firstDayOfWeek(shift.start);
+
+ List<Shift> savedShifts = await readShiftsFromFile(firstDayOfWeek);
for (var item in savedShifts) {
if (DateUtilities.DateUtils.isSameDay(shift.start, item.start)) {
savedShifts.remove(item);
break;
}
}
+
+ if (savedShifts.isEmpty) {
+ final file = await _localFile(firstDayOfWeek.toString());
+ await file.delete();
+ }
+
await writeShiftsToFile(savedShifts);
}
}