diff options
Diffstat (limited to 'lib/services')
| -rw-r--r-- | lib/services/authentication_service.dart | 10 | ||||
| -rw-r--r-- | lib/services/local_shift_provider_service.dart | 21 |
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); } } |
