This commit is contained in:
J. A. Messias 2024-11-14 10:46:10 -03:00
parent 4391efaeaf
commit 4eca85a85d
15 changed files with 37 additions and 48 deletions

View File

@ -239,7 +239,7 @@ Future<void> onMessageReceived(Map<String, dynamic> payload, String? extra, Stri
break; break;
case 'enroll_cond': case 'enroll_cond':
await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); await StorageHelper().s(SecureStorageKey.haveLocal.value, true);
StorageHelper().context!.go('/homePage'); StorageHelper().context!.go('/homePage');
break; break;
default: default:
@ -275,7 +275,7 @@ class NotificationService {
if (requestOSnotification == false) { if (requestOSnotification == false) {
if (isAllowed == false) { if (isAllowed == false) {
await StorageHelper().s(KeychainStorageKey.requestOSNotification.value, 'true'); await StorageHelper().s(KeychainStorageKey.requestOSNotification.value, true);
await AwesomeNotifications().requestPermissionToSendNotifications(); await AwesomeNotifications().requestPermissionToSendNotifications();
} }
} }

View File

@ -82,7 +82,7 @@ Future<void> _initializeFlutterFlow() async {
Future<void> _foregroundHandlerMessage(RemoteMessage message) async { Future<void> _foregroundHandlerMessage(RemoteMessage message) async {
if (message.data['click_action'] == 'enroll_cond') { 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'); StorageHelper().context?.go('/homePage');
} }
@ -96,7 +96,7 @@ Future<void> _foregroundHandlerMessage(RemoteMessage message) async {
Future<void> _backgroundHandlerMessage(RemoteMessage message) async { Future<void> _backgroundHandlerMessage(RemoteMessage message) async {
if (message.data['click_action'] == 'enroll_cond') { 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'); StorageHelper().context?.go('/homePage');
} }
} }
@ -225,7 +225,7 @@ class _AppState extends State<App> with WidgetsBindingObserver {
FirebaseMessaging.onMessage.listen(_foregroundHandlerMessage); FirebaseMessaging.onMessage.listen(_foregroundHandlerMessage);
FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) async { FirebaseMessaging.onMessageOpenedApp.listen((RemoteMessage message) async {
if (message.data['click_action'] == 'enroll_cond') { if (message.data['click_action'] == 'enroll_cond') {
await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); await StorageHelper().s(SecureStorageKey.haveLocal.value, true);
log('onMessageOpenedApp'); log('onMessageOpenedApp');
} else { } else {
onMessageReceived(message.data, message.notification!.body, message.data['click_action']); onMessageReceived(message.data, message.notification!.body, message.data['click_action']);
@ -234,7 +234,7 @@ class _AppState extends State<App> with WidgetsBindingObserver {
FirebaseMessaging.instance.getInitialMessage().then((message) async { FirebaseMessaging.instance.getInitialMessage().then((message) async {
if (message != null) { if (message != null) {
if (message.data['click_action'] == 'enroll_cond') { if (message.data['click_action'] == 'enroll_cond') {
await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); await StorageHelper().s(SecureStorageKey.haveLocal.value, true);
log('getInitialMessage'); log('getInitialMessage');
} }
} }

View File

@ -78,7 +78,7 @@ class _FastPassPageWidgetState extends State<FastPassPageWidget> {
await controller.evaluateJavascript( await controller.evaluateJavascript(
source: "window.localStorage.setItem('fre-user-data', '$freUserData')"); source: "window.localStorage.setItem('fre-user-data', '$freUserData')");
await controller.evaluateJavascript( await controller.evaluateJavascript(
source: "window.localStorage.setItem('enableBackButton', 'true')"); source: "window.localStorage.setItem('enableBackButton', true)");
}, },
onUpdateVisitedHistory: (controller, uri, isVisited) { onUpdateVisitedHistory: (controller, uri, isVisited) {
if (uri.toString().contains('/hub/home')) context.pop(); if (uri.toString().contains('/hub/home')) context.pop();
@ -96,7 +96,7 @@ class _FastPassPageWidgetState extends State<FastPassPageWidget> {
onPageStarted: (String url) { onPageStarted: (String url) {
final String token = "localStorage.setItem('fre-token', '\"$userUUID\"');"; final String token = "localStorage.setItem('fre-token', '\"$userUUID\"');";
final String data = "localStorage.setItem('fre-user-data', '$freUserData');"; 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(token);
_controllerAndroid.runJavaScript(data); _controllerAndroid.runJavaScript(data);

View File

@ -79,7 +79,7 @@ class _ReservationPageWidgetState extends State<ReservationPageWidget> {
await controller.evaluateJavascript( await controller.evaluateJavascript(
source: "window.localStorage.setItem('fre-user-data', '$freUserData')"); source: "window.localStorage.setItem('fre-user-data', '$freUserData')");
await controller.evaluateJavascript( await controller.evaluateJavascript(
source: "window.localStorage.setItem('enableBackButton', 'true')"); source: "window.localStorage.setItem('enableBackButton', true)");
}, },
onUpdateVisitedHistory: (controller, uri, isVisited) { onUpdateVisitedHistory: (controller, uri, isVisited) {
if (uri.toString().contains('/hub/home')) { if (uri.toString().contains('/hub/home')) {
@ -99,7 +99,7 @@ class _ReservationPageWidgetState extends State<ReservationPageWidget> {
onPageStarted: (String url) { onPageStarted: (String url) {
final String token = "localStorage.setItem('fre-token', '\"$userUUID\"');"; final String token = "localStorage.setItem('fre-token', '\"$userUUID\"');";
final String data = "localStorage.setItem('fre-user-data', '$freUserData');"; 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(token);
_controllerAll.runJavaScript(data); _controllerAll.runJavaScript(data);

View File

@ -1,7 +1,8 @@
abstract class BaseStorage { abstract class BaseStorage {
Future<void> init(); Future<void> init();
Future<void> set(String key, String value); Future<void> set<T>(String key, T value);
Future<String?> get(String key); Future<String?> get(String key);

View File

@ -73,7 +73,7 @@ class DatabaseStorage implements BaseStorage {
} }
@override @override
Future<void> set(String key, String value) async { Future<void> set<T>(String key, T value) async {
return await getInstanceByKey(key).set(key, value); return await getInstanceByKey(key).set(key, value);
} }
} }

View File

@ -20,8 +20,8 @@ class SecureStorage implements BaseStorage {
} }
@override @override
Future<void> set(String key, String value) async { Future<void> set<T>(String key, T value) async {
await _secureStorage.write(key: key, value: value); await _secureStorage.write(key: key, value: value.toString());
} }
@override @override

View File

@ -20,8 +20,8 @@ class SharedPreferencesStorage implements BaseStorage {
} }
@override @override
Future<void> set(String key, String value) async { Future<void> set<T>(String key, T value) async {
await _prefs.setString(key, value); await _prefs.setString(key, value.toString());
} }
@override @override

View File

@ -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/database_storage.dart';
import 'package:hub/shared/helpers/secure_storage.dart'; import 'package:hub/shared/helpers/secure_storage.dart';
import 'package:hub/shared/helpers/shared_preferences_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 { class StorageHelper {
static final StorageHelper _instance = StorageHelper._internal(); static final StorageHelper _instance = StorageHelper._internal();
@ -27,8 +25,8 @@ class StorageHelper {
String? isFirstRun = await SharedPreferencesStorage.instance.get(SharedPreferencesKey.isFirstRun.value); String? isFirstRun = await SharedPreferencesStorage.instance.get(SharedPreferencesKey.isFirstRun.value);
if (isFirstRun == 'true') { if (isFirstRun == 'true') {
await SharedPreferencesStorage.instance.set(SharedPreferencesKey.isFirstRun.value, 'false'); await SharedPreferencesStorage.instance.set(SharedPreferencesKey.isFirstRun.value, false);
await SecureStorage.instance.set(SecureStorageKey.isLogged.value, 'false'); await SecureStorage.instance.set(SecureStorageKey.isLogged.value, false);
} }
} }
@ -57,7 +55,7 @@ class StorageHelper {
return await getInstanceByKey(key).get(key); return await getInstanceByKey(key).get(key);
} }
Future<void> s(String key, String value) async { Future<void> s<T>(String key, T value) async {
return await getInstanceByKey(key).set(key, value); return await getInstanceByKey(key).set(key, value);
} }

View File

@ -24,14 +24,14 @@ class AuthenticationService {
List<dynamic> locals = response.jsonBody['locais'] ?? []; List<dynamic> locals = response.jsonBody['locais'] ?? [];
if (locals.isEmpty) { if (locals.isEmpty) {
await StorageHelper().s(SecureStorageKey.haveLocal.value, 'false'); await StorageHelper().s(SecureStorageKey.haveLocal.value, false);
context.go('/receptionPage'); context.go('/receptionPage');
} else { } else {
await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); await StorageHelper().s(SecureStorageKey.haveLocal.value, true);
context.go('/homePage'); context.go('/homePage');
} }
await StorageHelper().s(SecureStorageKey.isLogged.value, 'true'); await StorageHelper().s(SecureStorageKey.isLogged.value, true);
} }
static Future signIn( static Future signIn(

View File

@ -35,13 +35,13 @@ class KeychainDelegate implements BaseStorage {
} }
@override @override
Future<void> set(String key, String value) async { Future<void> set<T>(String key, T value) async {
var date = DateTime.now().toIso8601String(); var date = DateTime.now().toIso8601String();
await DatabaseStorage.database.insert( await DatabaseStorage.database.insert(
tableKeychain, tableKeychain,
{ {
'key': key, 'key': key,
'value': value, 'value': value.toString(),
'type': 'local', 'type': 'local',
'updateAt': date, 'updateAt': date,
'resolvedAt': date, 'resolvedAt': date,

View File

@ -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 { class KeychainService {
static final KeychainService _instance = KeychainService._internal(); static final KeychainService _instance = KeychainService._internal();

View File

@ -37,19 +37,18 @@ class LicenseDelegate implements BaseStorage {
} }
@override @override
Future<void> set(String key, String value) async { Future<void> set<T>(String key, T value) async {
log('setLicense($key, $value)'); log('setLicense($key, $value)');
Map<String, dynamic> valueMap = jsonDecode(value); value as Map<String, dynamic>;
log('String to Map<String, dynamic>: $value to $valueMap');
await DatabaseStorage.database.insert( await DatabaseStorage.database.insert(
tableLicense, tableLicense,
{ {
'key': key, 'key': key,
'display': valueMap['display'], 'display': value['display'],
'expirationDate': valueMap['expirationDate'], 'expirationDate': value['expirationDate'],
'startDate': valueMap['startDate'], 'startDate': value['startDate'],
'quantity': valueMap['quantity'], 'quantity': value['quantity'],
}, },
conflictAlgorithm: ConflictAlgorithm.replace); conflictAlgorithm: ConflictAlgorithm.replace);
} }

View File

@ -16,10 +16,8 @@ class LicenseService {
factory LicenseService() => _instance; factory LicenseService() => _instance;
LicenseService._internal(); LicenseService._internal();
static Future<void> setupLicense() async { static Future<void> setupLicense() async {
log('initLicense()'); log('All modules are visible');
for (var element in LicenseStorageKey.values.map((e) => e.value)) { for (var element in LicenseStorageKey.values.map((e) => e.value)) {
await DatabaseStorage.database.insert( await DatabaseStorage.database.insert(
LicenseDelegate.tableLicense, LicenseDelegate.tableLicense,
@ -35,7 +33,6 @@ class LicenseService {
} }
} }
static Future<void> initLicenseService() async { static Future<void> initLicenseService() async {
// for (var element in LicenseStorageKey.values.map((e) => e.value)) { // for (var element in LicenseStorageKey.values.map((e) => e.value)) {
// await SQLiteStorage.database.insert( // await SQLiteStorage.database.insert(
@ -82,8 +79,7 @@ class LicenseService {
} }
} }
return true; return true;
} catch (e, s) { } catch (e) {
log('Erro ao obter licença', error: e, stackTrace: s);
await setupLicense(); await setupLicense();
return true; return true;
} }
@ -96,7 +92,7 @@ class LicenseService {
static Future<void> _saveModule(final dynamic body) async { static Future<void> _saveModule(final dynamic body) async {
if (body is Map<String, dynamic>) log('Salvando módulo: ${body.toString()}'); if (body is Map<String, dynamic>) log('Salvando módulo: ${body.toString()}');
// if (body is Map<String, dynamic>) await StorageHelper().s(body['key'], ''); // if (body is Map<String, dynamic>) await StorageHelper().s(body['key'], '');
if (body is Map<String, dynamic>) await StorageHelper().s(body['key'], jsonEncode(body)); if (body is Map<String, dynamic>) await StorageHelper().s(body['key'], body);
// StorageHelper.getInstance(Storage.SQLiteStorage).set(key, value); // StorageHelper.getInstance(Storage.SQLiteStorage).set(key, value);
} }

View File

@ -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/base_storage.dart';
import 'package:hub/shared/helpers/storage_helper.dart'; import 'package:hub/shared/helpers/storage_helper.dart';
import 'package:hub/shared/services/license/license_service.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 'package:hub/shared/utils/dialog_util.dart';
import '../../../backend/api_requests/api_calls.dart'; import '../../../backend/api_requests/api_calls.dart';
@ -45,8 +44,8 @@ class LocalizationService {
final bool isEnable = !isEmpty && isActive; final bool isEnable = !isEmpty && isActive;
if (isEnable) { if (isEnable) {
await StorageHelper().s(SecureStorageKey.haveLocal.value, 'true'); await StorageHelper().s(SecureStorageKey.haveLocal.value, true);
await StorageHelper().s(SecureStorageKey.isLogged.value, 'true'); await StorageHelper().s(SecureStorageKey.isLogged.value, true);
await WidgetsBinding.instance.endOfFrame; await WidgetsBinding.instance.endOfFrame;
await StorageHelper().s(KeychainStorageKey.clientUUID.value, ''); await StorageHelper().s(KeychainStorageKey.clientUUID.value, '');
await StorageHelper().s(KeychainStorageKey.ownerUUID.value, ''); await StorageHelper().s(KeychainStorageKey.ownerUUID.value, '');