From 4eca85a85d56cd7a7870bf625e380e0bcfd11de8 Mon Sep 17 00:00:00 2001 From: "J. A. Messias" Date: Thu, 14 Nov 2024 10:46:10 -0300 Subject: [PATCH] WIP --- lib/backend/notifications/notification_service.dart | 4 ++-- lib/main.dart | 8 ++++---- lib/pages/fast_pass_page/fast_pass_page_widget.dart | 4 ++-- .../reservation_page/reservation_page_widget.dart | 4 ++-- lib/shared/helpers/base_storage.dart | 3 ++- lib/shared/helpers/database_storage.dart | 2 +- lib/shared/helpers/secure_storage.dart | 4 ++-- lib/shared/helpers/shared_preferences_storage.dart | 4 ++-- lib/shared/helpers/storage_helper.dart | 8 +++----- .../authentication/authentication_service.dart | 6 +++--- .../keychain/keychain_database_delegate.dart | 4 ++-- lib/shared/services/keychain/keychain_service.dart | 6 +----- .../services/license/license_database_delegate.dart | 13 ++++++------- lib/shared/services/license/license_service.dart | 10 +++------- .../services/localization/localization_service.dart | 5 ++--- 15 files changed, 37 insertions(+), 48 deletions(-) diff --git a/lib/backend/notifications/notification_service.dart b/lib/backend/notifications/notification_service.dart index b40ad38a..e6512034 100644 --- a/lib/backend/notifications/notification_service.dart +++ b/lib/backend/notifications/notification_service.dart @@ -239,7 +239,7 @@ Future onMessageReceived(Map payload, String? extra, Stri break; case 'enroll_cond': - await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); + await StorageHelper().s(SecureStorageKey.haveLocal.value, true); StorageHelper().context!.go('/homePage'); break; default: @@ -275,7 +275,7 @@ class NotificationService { if (requestOSnotification == false) { if (isAllowed == false) { - await StorageHelper().s(KeychainStorageKey.requestOSNotification.value, 'true'); + await StorageHelper().s(KeychainStorageKey.requestOSNotification.value, true); await AwesomeNotifications().requestPermissionToSendNotifications(); } } diff --git a/lib/main.dart b/lib/main.dart index e7d08f3c..55765c25 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -82,7 +82,7 @@ Future _initializeFlutterFlow() async { Future _foregroundHandlerMessage(RemoteMessage message) async { if (message.data['click_action'] == 'enroll_cond') { - await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); + await StorageHelper().s(SecureStorageKey.haveLocal.value, true); StorageHelper().context?.go('/homePage'); } @@ -96,7 +96,7 @@ Future _foregroundHandlerMessage(RemoteMessage message) async { Future _backgroundHandlerMessage(RemoteMessage message) async { if (message.data['click_action'] == 'enroll_cond') { - await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); + await StorageHelper().s(SecureStorageKey.haveLocal.value, true); StorageHelper().context?.go('/homePage'); } } @@ -225,7 +225,7 @@ class _AppState extends State with WidgetsBindingObserver { FirebaseMessaging.onMessage.listen(_foregroundHandlerMessage); FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) async { if (message.data['click_action'] == 'enroll_cond') { - await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); + await StorageHelper().s(SecureStorageKey.haveLocal.value, true); log('onMessageOpenedApp'); } else { onMessageReceived(message.data, message.notification!.body, message.data['click_action']); @@ -234,7 +234,7 @@ class _AppState extends State with WidgetsBindingObserver { FirebaseMessaging.instance.getInitialMessage().then((message) async { if (message != null) { if (message.data['click_action'] == 'enroll_cond') { - await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); + await StorageHelper().s(SecureStorageKey.haveLocal.value, true); log('getInitialMessage'); } } diff --git a/lib/pages/fast_pass_page/fast_pass_page_widget.dart b/lib/pages/fast_pass_page/fast_pass_page_widget.dart index f5123a00..c998e6cc 100644 --- a/lib/pages/fast_pass_page/fast_pass_page_widget.dart +++ b/lib/pages/fast_pass_page/fast_pass_page_widget.dart @@ -78,7 +78,7 @@ class _FastPassPageWidgetState extends State { await controller.evaluateJavascript( source: "window.localStorage.setItem('fre-user-data', '$freUserData')"); await controller.evaluateJavascript( - source: "window.localStorage.setItem('enableBackButton', 'true')"); + source: "window.localStorage.setItem('enableBackButton', true)"); }, onUpdateVisitedHistory: (controller, uri, isVisited) { if (uri.toString().contains('/hub/home')) context.pop(); @@ -96,7 +96,7 @@ class _FastPassPageWidgetState extends State { onPageStarted: (String url) { final String token = "localStorage.setItem('fre-token', '\"$userUUID\"');"; final String data = "localStorage.setItem('fre-user-data', '$freUserData');"; - const String backNavigation = "localStorage.setItem('enableBackButton', 'true');"; + const String backNavigation = "localStorage.setItem('enableBackButton', true);"; _controllerAndroid.runJavaScript(token); _controllerAndroid.runJavaScript(data); diff --git a/lib/pages/reservation_page/reservation_page_widget.dart b/lib/pages/reservation_page/reservation_page_widget.dart index 757293c9..1f5e4f47 100644 --- a/lib/pages/reservation_page/reservation_page_widget.dart +++ b/lib/pages/reservation_page/reservation_page_widget.dart @@ -79,7 +79,7 @@ class _ReservationPageWidgetState extends State { await controller.evaluateJavascript( source: "window.localStorage.setItem('fre-user-data', '$freUserData')"); await controller.evaluateJavascript( - source: "window.localStorage.setItem('enableBackButton', 'true')"); + source: "window.localStorage.setItem('enableBackButton', true)"); }, onUpdateVisitedHistory: (controller, uri, isVisited) { if (uri.toString().contains('/hub/home')) { @@ -99,7 +99,7 @@ class _ReservationPageWidgetState extends State { onPageStarted: (String url) { final String token = "localStorage.setItem('fre-token', '\"$userUUID\"');"; final String data = "localStorage.setItem('fre-user-data', '$freUserData');"; - const String backNavigation = "localStorage.setItem('enableBackButton', 'true');"; + const String backNavigation = "localStorage.setItem('enableBackButton', true);"; _controllerAll.runJavaScript(token); _controllerAll.runJavaScript(data); diff --git a/lib/shared/helpers/base_storage.dart b/lib/shared/helpers/base_storage.dart index fd66d0de..3fae76dd 100644 --- a/lib/shared/helpers/base_storage.dart +++ b/lib/shared/helpers/base_storage.dart @@ -1,7 +1,8 @@ abstract class BaseStorage { Future init(); - Future set(String key, String value); + Future set(String key, T value); + Future get(String key); diff --git a/lib/shared/helpers/database_storage.dart b/lib/shared/helpers/database_storage.dart index 2a40d14e..5d981a64 100644 --- a/lib/shared/helpers/database_storage.dart +++ b/lib/shared/helpers/database_storage.dart @@ -73,7 +73,7 @@ class DatabaseStorage implements BaseStorage { } @override - Future set(String key, String value) async { + Future set(String key, T value) async { return await getInstanceByKey(key).set(key, value); } } diff --git a/lib/shared/helpers/secure_storage.dart b/lib/shared/helpers/secure_storage.dart index 0313b583..949e1ca9 100644 --- a/lib/shared/helpers/secure_storage.dart +++ b/lib/shared/helpers/secure_storage.dart @@ -20,8 +20,8 @@ class SecureStorage implements BaseStorage { } @override - Future set(String key, String value) async { - await _secureStorage.write(key: key, value: value); + Future set(String key, T value) async { + await _secureStorage.write(key: key, value: value.toString()); } @override diff --git a/lib/shared/helpers/shared_preferences_storage.dart b/lib/shared/helpers/shared_preferences_storage.dart index c7d10cd5..358f5920 100644 --- a/lib/shared/helpers/shared_preferences_storage.dart +++ b/lib/shared/helpers/shared_preferences_storage.dart @@ -20,8 +20,8 @@ class SharedPreferencesStorage implements BaseStorage { } @override - Future set(String key, String value) async { - await _prefs.setString(key, value); + Future set(String key, T value) async { + await _prefs.setString(key, value.toString()); } @override diff --git a/lib/shared/helpers/storage_helper.dart b/lib/shared/helpers/storage_helper.dart index 879c54a6..286115ab 100644 --- a/lib/shared/helpers/storage_helper.dart +++ b/lib/shared/helpers/storage_helper.dart @@ -3,8 +3,6 @@ import 'package:hub/shared/helpers/base_storage.dart'; import 'package:hub/shared/helpers/database_storage.dart'; import 'package:hub/shared/helpers/secure_storage.dart'; import 'package:hub/shared/helpers/shared_preferences_storage.dart'; -import 'package:hub/shared/services/keychain/keychain_service.dart'; -import 'package:hub/shared/services/license/license_service.dart'; class StorageHelper { static final StorageHelper _instance = StorageHelper._internal(); @@ -27,8 +25,8 @@ class StorageHelper { String? isFirstRun = await SharedPreferencesStorage.instance.get(SharedPreferencesKey.isFirstRun.value); if (isFirstRun == 'true') { - await SharedPreferencesStorage.instance.set(SharedPreferencesKey.isFirstRun.value, 'false'); - await SecureStorage.instance.set(SecureStorageKey.isLogged.value, 'false'); + await SharedPreferencesStorage.instance.set(SharedPreferencesKey.isFirstRun.value, false); + await SecureStorage.instance.set(SecureStorageKey.isLogged.value, false); } } @@ -57,7 +55,7 @@ class StorageHelper { return await getInstanceByKey(key).get(key); } - Future s(String key, String value) async { + Future s(String key, T value) async { return await getInstanceByKey(key).set(key, value); } diff --git a/lib/shared/services/authentication/authentication_service.dart b/lib/shared/services/authentication/authentication_service.dart index 67da6484..040087d2 100644 --- a/lib/shared/services/authentication/authentication_service.dart +++ b/lib/shared/services/authentication/authentication_service.dart @@ -24,14 +24,14 @@ class AuthenticationService { List locals = response.jsonBody['locais'] ?? []; if (locals.isEmpty) { - await StorageHelper().s(SecureStorageKey.haveLocal.value, 'false'); + await StorageHelper().s(SecureStorageKey.haveLocal.value, false); context.go('/receptionPage'); } else { - await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); + await StorageHelper().s(SecureStorageKey.haveLocal.value, true); context.go('/homePage'); } - await StorageHelper().s(SecureStorageKey.isLogged.value, 'true'); + await StorageHelper().s(SecureStorageKey.isLogged.value, true); } static Future signIn( diff --git a/lib/shared/services/keychain/keychain_database_delegate.dart b/lib/shared/services/keychain/keychain_database_delegate.dart index 42bb7fc3..35ccf130 100644 --- a/lib/shared/services/keychain/keychain_database_delegate.dart +++ b/lib/shared/services/keychain/keychain_database_delegate.dart @@ -35,13 +35,13 @@ class KeychainDelegate implements BaseStorage { } @override - Future set(String key, String value) async { + Future set(String key, T value) async { var date = DateTime.now().toIso8601String(); await DatabaseStorage.database.insert( tableKeychain, { 'key': key, - 'value': value, + 'value': value.toString(), 'type': 'local', 'updateAt': date, 'resolvedAt': date, diff --git a/lib/shared/services/keychain/keychain_service.dart b/lib/shared/services/keychain/keychain_service.dart index 4d14aa4d..13fa5ceb 100644 --- a/lib/shared/services/keychain/keychain_service.dart +++ b/lib/shared/services/keychain/keychain_service.dart @@ -1,8 +1,4 @@ -import 'dart:convert'; -import 'dart:developer'; -import 'package:hub/shared/helpers/database_storage.dart'; -import 'package:sqflite/sqflite.dart'; -import 'package:hub/shared/helpers/base_storage.dart'; + class KeychainService { static final KeychainService _instance = KeychainService._internal(); diff --git a/lib/shared/services/license/license_database_delegate.dart b/lib/shared/services/license/license_database_delegate.dart index e37e145b..873b0bde 100644 --- a/lib/shared/services/license/license_database_delegate.dart +++ b/lib/shared/services/license/license_database_delegate.dart @@ -37,19 +37,18 @@ class LicenseDelegate implements BaseStorage { } @override - Future set(String key, String value) async { + Future set(String key, T value) async { log('setLicense($key, $value)'); - Map valueMap = jsonDecode(value); - log('String to Map: $value to $valueMap'); + value as Map; await DatabaseStorage.database.insert( tableLicense, { 'key': key, - 'display': valueMap['display'], - 'expirationDate': valueMap['expirationDate'], - 'startDate': valueMap['startDate'], - 'quantity': valueMap['quantity'], + 'display': value['display'], + 'expirationDate': value['expirationDate'], + 'startDate': value['startDate'], + 'quantity': value['quantity'], }, conflictAlgorithm: ConflictAlgorithm.replace); } diff --git a/lib/shared/services/license/license_service.dart b/lib/shared/services/license/license_service.dart index 1dee9c9e..079751a8 100644 --- a/lib/shared/services/license/license_service.dart +++ b/lib/shared/services/license/license_service.dart @@ -16,10 +16,8 @@ class LicenseService { factory LicenseService() => _instance; LicenseService._internal(); - - static Future setupLicense() async { - log('initLicense()'); + log('All modules are visible'); for (var element in LicenseStorageKey.values.map((e) => e.value)) { await DatabaseStorage.database.insert( LicenseDelegate.tableLicense, @@ -35,7 +33,6 @@ class LicenseService { } } - static Future initLicenseService() async { // for (var element in LicenseStorageKey.values.map((e) => e.value)) { // await SQLiteStorage.database.insert( @@ -82,8 +79,7 @@ class LicenseService { } } return true; - } catch (e, s) { - log('Erro ao obter licença', error: e, stackTrace: s); + } catch (e) { await setupLicense(); return true; } @@ -96,7 +92,7 @@ class LicenseService { static Future _saveModule(final dynamic body) async { if (body is Map) log('Salvando módulo: ${body.toString()}'); // if (body is Map) await StorageHelper().s(body['key'], ''); - if (body is Map) await StorageHelper().s(body['key'], jsonEncode(body)); + if (body is Map) await StorageHelper().s(body['key'], body); // StorageHelper.getInstance(Storage.SQLiteStorage).set(key, value); } diff --git a/lib/shared/services/localization/localization_service.dart b/lib/shared/services/localization/localization_service.dart index 59e54cac..59a3a409 100644 --- a/lib/shared/services/localization/localization_service.dart +++ b/lib/shared/services/localization/localization_service.dart @@ -9,7 +9,6 @@ import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/shared/helpers/base_storage.dart'; import 'package:hub/shared/helpers/storage_helper.dart'; import 'package:hub/shared/services/license/license_service.dart'; -import 'package:hub/shared/utils/device_util.dart'; import 'package:hub/shared/utils/dialog_util.dart'; import '../../../backend/api_requests/api_calls.dart'; @@ -45,8 +44,8 @@ class LocalizationService { final bool isEnable = !isEmpty && isActive; if (isEnable) { - await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); - await StorageHelper().s(SecureStorageKey.isLogged.value, 'true'); + await StorageHelper().s(SecureStorageKey.haveLocal.value, true); + await StorageHelper().s(SecureStorageKey.isLogged.value, true); await WidgetsBinding.instance.endOfFrame; await StorageHelper().s(KeychainStorageKey.clientUUID.value, ''); await StorageHelper().s(KeychainStorageKey.ownerUUID.value, '');