From f5407d247788defc2e822b5d43e66b8cea613fe7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elias=20M=C3=BCller?= Date: Tue, 16 Apr 2024 14:39:20 +0200 Subject: [PATCH] updated localstore collection to global constant --- lib/api/holidays/getHolidaysCache.dart | 2 +- lib/api/marianumcloud/talk/chat/getChatCache.dart | 2 +- .../talk/getParticipants/getParticipantsCache.dart | 2 +- lib/api/marianumcloud/talk/room/getRoomCache.dart | 2 +- .../webdav/queries/listFiles/listFilesCache.dart | 2 +- lib/api/mhsl/breaker/getBreakers/getBreakersCache.dart | 2 +- .../get/getCustomTimetableEventCache.dart | 2 +- lib/api/mhsl/message/getMessages/getMessagesCache.dart | 2 +- lib/api/requestCache.dart | 8 +++++--- .../webuntis/queries/getHolidays/getHolidaysCache.dart | 2 +- lib/api/webuntis/queries/getRooms/getRoomsCache.dart | 2 +- .../webuntis/queries/getSubjects/getSubjectsCache.dart | 2 +- .../webuntis/queries/getTimetable/getTimetableCache.dart | 2 +- lib/model/dataCleaner.dart | 6 +++--- lib/view/settings/settings.dart | 1 - lib/widget/debug/cacheView.dart | 8 ++++---- 16 files changed, 24 insertions(+), 23 deletions(-) diff --git a/lib/api/holidays/getHolidaysCache.dart b/lib/api/holidays/getHolidaysCache.dart index 1e8f7e6..d27a9ed 100644 --- a/lib/api/holidays/getHolidaysCache.dart +++ b/lib/api/holidays/getHolidaysCache.dart @@ -6,7 +6,7 @@ import 'getHolidaysResponse.dart'; class GetHolidaysCache extends RequestCache { GetHolidaysCache({onUpdate, renew}) : super(RequestCache.cacheDay, onUpdate, renew: renew) { - start('MarianumMobile', 'state-holidays'); + start('state-holidays'); } @override diff --git a/lib/api/marianumcloud/talk/chat/getChatCache.dart b/lib/api/marianumcloud/talk/chat/getChatCache.dart index 1a6cfd0..3792365 100644 --- a/lib/api/marianumcloud/talk/chat/getChatCache.dart +++ b/lib/api/marianumcloud/talk/chat/getChatCache.dart @@ -9,7 +9,7 @@ class GetChatCache extends RequestCache { String chatToken; GetChatCache({required onUpdate, required this.chatToken}) : super(RequestCache.cacheNothing, onUpdate) { - start('MarianumMobile', 'nc-chat-$chatToken'); + start('nc-chat-$chatToken'); } @override diff --git a/lib/api/marianumcloud/talk/getParticipants/getParticipantsCache.dart b/lib/api/marianumcloud/talk/getParticipants/getParticipantsCache.dart index 4adfd5c..55df84d 100644 --- a/lib/api/marianumcloud/talk/getParticipants/getParticipantsCache.dart +++ b/lib/api/marianumcloud/talk/getParticipants/getParticipantsCache.dart @@ -8,7 +8,7 @@ class GetParticipantsCache extends RequestCache { String chatToken; GetParticipantsCache({required onUpdate, required this.chatToken}) : super(RequestCache.cacheNothing, onUpdate) { - start('MarianumMobile', 'nc-chat-participants-$chatToken'); + start('nc-chat-participants-$chatToken'); } @override diff --git a/lib/api/marianumcloud/talk/room/getRoomCache.dart b/lib/api/marianumcloud/talk/room/getRoomCache.dart index 295856c..a4ea708 100644 --- a/lib/api/marianumcloud/talk/room/getRoomCache.dart +++ b/lib/api/marianumcloud/talk/room/getRoomCache.dart @@ -8,7 +8,7 @@ import 'getRoomResponse.dart'; class GetRoomCache extends RequestCache { GetRoomCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) { - start('MarianumMobile', 'nc-rooms'); + start('nc-rooms'); } @override diff --git a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart b/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart index fab0e2d..845dc47 100644 --- a/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart +++ b/lib/api/marianumcloud/webdav/queries/listFiles/listFilesCache.dart @@ -12,7 +12,7 @@ class ListFilesCache extends RequestCache { ListFilesCache({required onUpdate, required this.path}) : super(RequestCache.cacheNothing, onUpdate) { var bytes = utf8.encode('MarianumMobile-$path'); var cacheName = md5.convert(bytes).toString(); - start('MarianumMobile', 'wd-folder-$cacheName'); + start('wd-folder-$cacheName'); } @override diff --git a/lib/api/mhsl/breaker/getBreakers/getBreakersCache.dart b/lib/api/mhsl/breaker/getBreakers/getBreakersCache.dart index 50dcb9b..9f6ef34 100644 --- a/lib/api/mhsl/breaker/getBreakers/getBreakersCache.dart +++ b/lib/api/mhsl/breaker/getBreakers/getBreakersCache.dart @@ -6,7 +6,7 @@ import 'getBreakersResponse.dart'; class GetBreakersCache extends RequestCache { GetBreakersCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) { - start('MarianumMobile', 'breakers'); + start('breakers'); } @override diff --git a/lib/api/mhsl/customTimetableEvent/get/getCustomTimetableEventCache.dart b/lib/api/mhsl/customTimetableEvent/get/getCustomTimetableEventCache.dart index ba47a31..1f67d5f 100644 --- a/lib/api/mhsl/customTimetableEvent/get/getCustomTimetableEventCache.dart +++ b/lib/api/mhsl/customTimetableEvent/get/getCustomTimetableEventCache.dart @@ -9,7 +9,7 @@ class GetCustomTimetableEventCache extends RequestCache { GetMessagesCache({onUpdate, renew}) : super(RequestCache.cacheMinute, onUpdate, renew: renew) { - start('MarianumMobile', 'message'); + start('message'); } @override diff --git a/lib/api/requestCache.dart b/lib/api/requestCache.dart index 8040f2c..9bd9b5e 100644 --- a/lib/api/requestCache.dart +++ b/lib/api/requestCache.dart @@ -11,6 +11,8 @@ abstract class RequestCache { static const int cacheHour = 60 * 60; static const int cacheDay = 60 * 60 * 24; + static String collection = 'MarianumMobile'; + int maxCacheTime; Function(T) onUpdate; Function(Exception) onError; @@ -20,8 +22,8 @@ abstract class RequestCache { static void ignore(Exception e) {} - Future start(String file, String document) async { - var tableData = await Localstore.instance.collection(file).doc(document).get(); + Future start(String document) async { + var tableData = await Localstore.instance.collection(collection).doc(document).get(); if(tableData != null) { onUpdate(onLocalData(tableData['json'])); } @@ -34,7 +36,7 @@ abstract class RequestCache { var newValue = await onLoad(); onUpdate(newValue); - Localstore.instance.collection(file).doc(document).set({ + Localstore.instance.collection(collection).doc(document).set({ 'json': jsonEncode(newValue), 'lastupdate': DateTime.now().millisecondsSinceEpoch }); diff --git a/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart b/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart index da89d46..a91decd 100644 --- a/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart +++ b/lib/api/webuntis/queries/getHolidays/getHolidaysCache.dart @@ -6,7 +6,7 @@ import 'getHolidaysResponse.dart'; class GetHolidaysCache extends RequestCache { GetHolidaysCache({onUpdate}) : super(RequestCache.cacheDay, onUpdate) { - start('MarianumMobile', 'wu-holidays'); + start('wu-holidays'); } @override diff --git a/lib/api/webuntis/queries/getRooms/getRoomsCache.dart b/lib/api/webuntis/queries/getRooms/getRoomsCache.dart index d126cd0..e33589b 100644 --- a/lib/api/webuntis/queries/getRooms/getRoomsCache.dart +++ b/lib/api/webuntis/queries/getRooms/getRoomsCache.dart @@ -6,7 +6,7 @@ import 'getRoomsResponse.dart'; class GetRoomsCache extends RequestCache { GetRoomsCache({onUpdate}) : super(RequestCache.cacheHour, onUpdate) { - start('MarianumMobile', 'wu-rooms'); + start('wu-rooms'); } @override diff --git a/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart b/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart index a1670d0..07a5ede 100644 --- a/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart +++ b/lib/api/webuntis/queries/getSubjects/getSubjectsCache.dart @@ -6,7 +6,7 @@ import 'getSubjectsResponse.dart'; class GetSubjectsCache extends RequestCache { GetSubjectsCache({onUpdate}) : super(RequestCache.cacheHour, onUpdate) { - start('MarianumMobile', 'wu-subjects'); + start('wu-subjects'); } @override diff --git a/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart b/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart index 54a1b86..3b6d87a 100644 --- a/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart +++ b/lib/api/webuntis/queries/getTimetable/getTimetableCache.dart @@ -11,7 +11,7 @@ class GetTimetableCache extends RequestCache { int enddate; GetTimetableCache({required onUpdate, onError, required this.startdate, required this.enddate}) : super(RequestCache.cacheMinute, onUpdate, onError: onError) { - start('MarianumMobile', 'wu-timetable-$startdate-$enddate'); + start('wu-timetable-$startdate-$enddate'); } @override diff --git a/lib/model/dataCleaner.dart b/lib/model/dataCleaner.dart index a2706a9..f24fb04 100644 --- a/lib/model/dataCleaner.dart +++ b/lib/model/dataCleaner.dart @@ -1,14 +1,14 @@ import 'package:localstore/localstore.dart'; -import '../widget/debug/cacheView.dart'; +import '../api/requestCache.dart'; class DataCleaner { static Future cleanOldCache() async { - var cacheData = await Localstore.instance.collection(CacheView.collection).get(); + var cacheData = await Localstore.instance.collection(RequestCache.collection).get(); cacheData?.forEach((key, value) async { var lastUpdate = DateTime.fromMillisecondsSinceEpoch(value['lastupdate']); if(DateTime.now().subtract(const Duration(days: 200)).isAfter(lastUpdate)) { - await Localstore.instance.collection(CacheView.collection).doc(key.split('/').last).delete(); + await Localstore.instance.collection(RequestCache.collection).doc(key.split('/').last).delete(); } }); } diff --git a/lib/view/settings/settings.dart b/lib/view/settings/settings.dart index 1827588..6bcac72 100644 --- a/lib/view/settings/settings.dart +++ b/lib/view/settings/settings.dart @@ -1,5 +1,4 @@ - import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:jiffy/jiffy.dart'; diff --git a/lib/widget/debug/cacheView.dart b/lib/widget/debug/cacheView.dart index ce4e9ad..157d498 100644 --- a/lib/widget/debug/cacheView.dart +++ b/lib/widget/debug/cacheView.dart @@ -8,21 +8,21 @@ import 'package:jiffy/jiffy.dart'; import 'package:localstore/localstore.dart'; import '../../../widget/placeholderView.dart'; +import '../../api/requestCache.dart'; import 'jsonViewer.dart'; class CacheView extends StatefulWidget { - static String collection = 'MarianumMobile'; const CacheView({super.key}); @override State createState() => _CacheViewState(); Future clear() async { - await Localstore.instance.collection(collection).delete(); + await Localstore.instance.collection(RequestCache.collection).delete(); } Future totalSize() async { - var data = await Localstore.instance.collection(collection).get(); + var data = await Localstore.instance.collection(RequestCache.collection).get(); if(data!.length <= 1) return jsonEncode(data.values.first).length * 8; return data.values.reduce((a, b) => jsonEncode(a).length + jsonEncode(b).length) * 8; } @@ -34,7 +34,7 @@ class _CacheViewState extends State { @override void initState() { - files = Localstore.instance.collection(CacheView.collection).get(); + files = Localstore.instance.collection(RequestCache.collection).get(); super.initState(); }