diff --git a/assets/images/fre.png b/assets/images/fre.png index fc355bcf..642a511c 100644 Binary files a/assets/images/fre.png and b/assets/images/fre.png differ diff --git a/integration_test/app_test.dart b/integration_test/app_test.dart deleted file mode 100644 index a57665f5..00000000 --- a/integration_test/app_test.dart +++ /dev/null @@ -1,236 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:hub/flutter_flow/random_data_util.dart'; -import 'package:hub/initialization.dart'; -import 'package:hub/main.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; -import 'package:integration_test/integration_test.dart'; - -late WidgetTester widget; - -void main() { - IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - - group( - 'Initialization', - () { - group('Navigation', () { - setUpAll(() async => await initializeApp().then((_) async => - await StorageHelper() - .set(SecureStorageKey.isLogged.value, 'false'))); - testWidgets('Test Welcome', (WidgetTester tester) async { - widget = tester; - await _testWelcome(); - }); - }); - - group('Terms of Use', () { - // Add tests for Terms of Use here - }); - }, - ); - - group('Authentication', () { - group('Sign in', () { - setUpAll(() async => await initializeApp().then((_) async => - await StorageHelper().set(SecureStorageKey.isLogged.value, 'false'))); - testWidgets('Test Sign In', (WidgetTester tester) async { - widget = tester; - await _testSignIn(); - }); - }); - group('Sign up', () { - setUpAll(() async => await initializeApp().then((_) async => - await StorageHelper().set(SecureStorageKey.isLogged.value, 'false'))); - testWidgets('Test Sign Up', (WidgetTester tester) async { - widget = tester; - await _testSignUp(); - }); - }); - group('Sign Out', () { - // Add tests for Sign Out here - }); - group('Forgot Password', () { - // setUpAll(() async => await initializeApp().then((_) => StorageUtil().isLogged = false)); - // testWidgets('Test Forgot Password', (WidgetTester tester) async { - // widget = tester; - // await _testForgotPassword(); - // }); - }); - }); - group('Localization', () { - // Add tests for Localization here - }); - group('Networking', () { - // Add tests for Networking here - }); - group('Functionality', () { - // Add tests for Functionality here - }); - group('Usability', () { - // Add tests for Usability here - }); - group('Performance', () { - // Add tests for Performance here - }); - group('Security', () { - // Add tests for Security here - }); - group('Accessibility', () { - // Add tests for Accessibility here - }); - group('Compatibility', () { - // Add tests for Compatibility here - }); - group('Internationalization', () { - // Add tests for Internationalization here - }); -} - -Future _testWelcome() async { - await widget.pumpWidget(const App()); - await widget.pumpAndSettle(); - await _navigateToSignIn(); - await _navigateToSignUp(); - await widget.pumpAndSettle(); - await widget.pumpWidget(const App()); - await widget.pumpAndSettle(); - await _navigateToSignUp(); - await _navigateToSignIn(); - await widget.pumpAndSettle(); -} - -Future _testSignIn() async { - await widget.pumpWidget(const App()); - await _navigateToSignIn(); - await _auth({ - 'emailTextFormField': 'erro@exemplo.com', - 'passwordTextFormField': '12345678' - }); - await _auth({ - 'emailTextFormField': 'email_app@exemplo.com', - 'passwordTextFormField': '12345678' - }); -} - -Future _testSignUp() async { - await widget.pumpWidget(const App()); - await _navigateToSignUp(); - - var credentials = { - 'nameTextFormField': 'app', - 'emailTextFormField': 'email_app@exemplo.com', - 'passwordTextFormField': '12345678' - }; - await _auth(credentials); - - var name = randomString(7, 7, true, true, true); - var email = '$name@example.com'; - var password = '12345678'; - credentials = { - 'nameTextFormField': name, - 'emailTextFormField': email, - 'passwordTextFormField': password - }; - await _navigateToSignUp(); - await _auth(credentials); - credentials = { - 'emailTextFormField': email, - 'passwordTextFormField': password - }; - await _auth(credentials); -} - -Future _testForgotPassword() async { - await widget.pumpWidget(const App()); - await _navigateToSignIn(); - await _recoveryPassword(); - - var addr = randomString(5, 5, true, true, true); - var credentials = {'recoveryTextFormField': '$addr@exemple.com'}; - await _send(credentials); - - await Future.delayed(const Duration(seconds: 2)); - - await _recoveryPassword(); - credentials = {'recoveryTextFormField': 'email_app@exemple.com'}; - await _send(credentials); -} - -Future _recoveryPassword() async { - await widget.pumpAndSettle(); - final Finder forgotPassword = - find.byKey(const ValueKey('ForgotPassword')); - if (forgotPassword.evaluate().isNotEmpty) await widget.tap(forgotPassword); - await widget.ensureVisible(forgotPassword); - await widget.pumpAndSettle(); -} - -Future _navigateBackUsingSystemGesture() async => - IntegrationTestWidgetsFlutterBinding.instance.keyboard - .isLogicalKeyPressed(LogicalKeyboardKey.escape); -Future _navigateToSignUp() async { - await widget.pumpAndSettle(); - final Finder navToSignUp = - find.byKey(const ValueKey('toggleSignUpPage')); - if (navToSignUp.evaluate().isNotEmpty) { - await widget.tap(navToSignUp); - await widget.pumpAndSettle(); - } -} - -Future _navigateToSignIn() async { - await widget.pumpAndSettle(); - final Finder navToSignIn = - find.byKey(const ValueKey('toggleSignInPage')); - expect(navToSignIn, findsOneWidget); - if (navToSignIn.evaluate().isNotEmpty) { - await widget.tap(navToSignIn); - await widget.pumpAndSettle(); - } -} - -Future _auth(Map credentials) async { - await _enterCredentials(credentials); - await _submit('SubmitButtonWidget'); -} - -Future _send(Map credentials) async { - await _enterCredentials(credentials); - await _submit('SendButtonWidget'); -} - -Future _enterCredentials(Map credentials) async { - await widget.pumpAndSettle(); - for (var entry in credentials.entries) { - final Finder field = find.byKey(ValueKey(entry.key)); - await widget.pumpAndSettle(); - expect(field, findsOneWidget); - await widget.enterText(field, entry.value); - await widget.pumpAndSettle(); - } - await widget.pumpAndSettle(); -} - -Future _submit(String key) async { - await widget.pumpAndSettle(); - final Finder submitButton = find.byKey(ValueKey(key)); - await widget.pumpAndSettle(); - if (submitButton.evaluate().isNotEmpty) { - await widget.tap(submitButton); - await widget.pumpAndSettle(); - } - - final Finder throwExceptionWidget = - find.byKey(const ValueKey('ThrowExceptionWidget')); - await widget.pumpAndSettle(); - if (throwExceptionWidget.evaluate().isNotEmpty) { - await widget.ensureVisible(throwExceptionWidget); - await widget.tap(throwExceptionWidget); - await widget.pumpAndSettle(); - } else { - await _navigateBackUsingSystemGesture(); - } -} diff --git a/integration_test/features/provisional_history_test.dart b/integration_test/features/provisional_history_test.dart deleted file mode 100644 index 32eb72a1..00000000 --- a/integration_test/features/provisional_history_test.dart +++ /dev/null @@ -1,47 +0,0 @@ -import 'package:flutter/material.dart'; -import 'package:flutter_test/flutter_test.dart'; -import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart'; -import 'package:hub/initialization.dart'; -import 'package:hub/main.dart' as app; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; -import 'package:integration_test/integration_test.dart'; - -void main() { - IntegrationTestWidgetsFlutterBinding.ensureInitialized(); - - group('ProvisionalHistoryPage Integration Test', () { - setUpAll(() async => await initializeApp().then((_) async { - await StorageHelper().set(SecureStorageKey.isLogged.value, 'true'); - await StorageHelper().set(SecureStorageKey.haveLocal.value, 'true'); - await StorageHelper() - .set(KeychainStorageKey.devUUID.value, 'b5c3818753e76d85'); - await StorageHelper().set( - KeychainStorageKey.userUUID.value, '649c45d7514a28.85876308'); - await StorageHelper().set(KeychainStorageKey.clientUUID.value, '7'); - })); - - testWidgets('Filter Provisional History', (WidgetTester tester) async { - app.main(); - await tester.pumpAndSettle(); - - final Finder menuButton = find.byIcon(Icons.person_search_outlined); - await tester.tap(menuButton); - await tester.pumpAndSettle(); - - final Finder filterButton = find.byIcon(Icons.filter_list); - await tester.tap(filterButton); - await tester.pumpAndSettle(); - - final Finder activeFilterOption = find.text('Active'); - await tester.tap(activeFilterOption); - await tester.pumpAndSettle(); - - final Finder applyFilterButton = find.text('Apply'); - await tester.tap(applyFilterButton); - await tester.pumpAndSettle(); - - expect(find.byType(CardItemTemplateComponentWidget), findsWidgets); - }); - }); -} diff --git a/lib/backend/schema/structs/index.dart b/lib/backend/schema/structs/index.dart deleted file mode 100644 index 4affa264..00000000 --- a/lib/backend/schema/structs/index.dart +++ /dev/null @@ -1,3 +0,0 @@ -export '/backend/schema/util/schema_util.dart'; - -export 'device_struct.dart'; diff --git a/lib/shared/components/molecules/locals/data/models/index.dart b/lib/components/_template_/bloc/bloc.dart similarity index 100% rename from lib/shared/components/molecules/locals/data/models/index.dart rename to lib/components/_template_/bloc/bloc.dart diff --git a/lib/shared/components/molecules/locals/domain/entities/index.dart b/lib/components/_template_/bloc/event.dart similarity index 100% rename from lib/shared/components/molecules/locals/domain/entities/index.dart rename to lib/components/_template_/bloc/event.dart diff --git a/lib/shared/components/molecules/locals/domain/usecases/index.dart b/lib/components/_template_/bloc/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/domain/usecases/index.dart rename to lib/components/_template_/bloc/index.dart diff --git a/lib/shared/components/molecules/menu/data/models/index.dart b/lib/components/_template_/bloc/state.dart similarity index 100% rename from lib/shared/components/molecules/menu/data/models/index.dart rename to lib/components/_template_/bloc/state.dart diff --git a/lib/shared/components/molecules/menu/domain/respositories/index.dart b/lib/components/_template_/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/domain/respositories/index.dart rename to lib/components/_template_/index.dart diff --git a/lib/shared/components/molecules/menu/domain/usecases/index.dart b/lib/components/_template_/view_model/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/domain/usecases/index.dart rename to lib/components/_template_/view_model/index.dart diff --git a/lib/shared/components/molecules/modules/domain/usecases/index.dart b/lib/components/_template_/view_model/view_model.dart similarity index 100% rename from lib/shared/components/molecules/modules/domain/usecases/index.dart rename to lib/components/_template_/view_model/view_model.dart diff --git a/lib/shared/components/molecules/modules/presentation/blocs/index.dart b/lib/components/_template_/widgets/index.dart similarity index 100% rename from lib/shared/components/molecules/modules/presentation/blocs/index.dart rename to lib/components/_template_/widgets/index.dart diff --git a/lib/shared/components/molecules/modules/presentation/widgets/index.dart b/lib/components/_template_/widgets/screen.dart similarity index 100% rename from lib/shared/components/molecules/modules/presentation/widgets/index.dart rename to lib/components/_template_/widgets/screen.dart diff --git a/lib/shared/components/templates/history/history_page_template.dart b/lib/components/_template_/widgets/widget.dart similarity index 100% rename from lib/shared/components/templates/history/history_page_template.dart rename to lib/components/_template_/widgets/widget.dart diff --git a/lib/shared/components/atoms/image_cropper/image_cropper.dart b/lib/components/atomic_components/image_cropper/image_cropper.dart similarity index 100% rename from lib/shared/components/atoms/image_cropper/image_cropper.dart rename to lib/components/atomic_components/image_cropper/image_cropper.dart diff --git a/lib/components/atomic_components/shared_components_atoms/appbar.dart b/lib/components/atomic_components/shared_components_atoms/appbar.dart index 6fe9a824..9bdfdab4 100644 --- a/lib/components/atomic_components/shared_components_atoms/appbar.dart +++ b/lib/components/atomic_components/shared_components_atoms/appbar.dart @@ -37,12 +37,13 @@ class AppBarUtil extends StatelessWidget implements PreferredSizeWidget { title: Text( title, style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, - letterSpacing: 0.0, + fontSize: 16.0, fontWeight: FontWeight.bold, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), ), ), actions: [ diff --git a/lib/shared/components/atoms/term_of_use/atom_terms_of_use.dart b/lib/components/atomic_components/term_of_use/atom_terms_of_use.dart similarity index 100% rename from lib/shared/components/atoms/term_of_use/atom_terms_of_use.dart rename to lib/components/atomic_components/term_of_use/atom_terms_of_use.dart diff --git a/lib/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart b/lib/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart index 95b1cf40..6dc7b85b 100644 --- a/lib/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart +++ b/lib/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart @@ -1,16 +1,15 @@ import 'package:flutter/material.dart'; import 'package:hub/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_model.dart'; import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; + import 'package:hub/shared/utils/dialog_util.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; import 'package:hub/shared/utils/log_util.dart'; -import '../../../shared/services/authentication/authentication_service.dart'; -import '/backend/api_requests/api_calls.dart'; import '/flutter_flow/flutter_flow_theme.dart'; class BottomArrowLinkedLocalsComponentWidget extends StatefulWidget { @@ -109,13 +108,13 @@ class _BottomArrowLinkedLocalsComponentWidgetState final local = locals[0]; await StorageHelper() - .set(KeychainStorageKey.clientName.value, local['CLI_NOME']); + .set(ProfileStorageKey.clientName.key, local['CLI_NOME']); await StorageHelper() - .set(KeychainStorageKey.ownerName.value, local['CLU_OWNER_DSC']); + .set(ProfileStorageKey.ownerName.key, local['CLU_OWNER_DSC']); await StorageHelper() - .set(KeychainStorageKey.clientUUID.value, local['CLI_ID']); + .set(ProfileStorageKey.clientUUID.key, local['CLI_ID']); await StorageHelper() - .set(KeychainStorageKey.ownerUUID.value, local['CLU_OWNER_ID']); + .set(ProfileStorageKey.ownerUUID.key, local['CLU_OWNER_ID']); context.pop(); return widget.response; @@ -146,7 +145,7 @@ class _BottomArrowLinkedLocalsComponentWidgetState Future _fetchResponseLink(String status, String cliID) async { try { - await StorageHelper().set(KeychainStorageKey.clientUUID.value, cliID); + await StorageHelper().set(ProfileStorageKey.clientUUID.key, cliID); var response = await PhpGroup.resopndeVinculo.call(tarefa: status); if (response.jsonBody['error'] == false) { @@ -157,7 +156,7 @@ class _BottomArrowLinkedLocalsComponentWidgetState enText: "Link Activated Successfully") }; } else { - await StorageHelper().set(KeychainStorageKey.clientUUID.value, ''); + await StorageHelper().set(ProfileStorageKey.clientUUID.key, ''); return response.jsonBody; } } catch (e, s) { @@ -210,13 +209,13 @@ class _BottomArrowLinkedLocalsComponentWidgetState onTapCardItemAction: () async { if (local['CLU_STATUS'] == 'A') { await StorageHelper() - .set(KeychainStorageKey.clientUUID.value, local['CLI_ID']); + .set(ProfileStorageKey.clientUUID.key, local['CLI_ID']); await StorageHelper() - .set(KeychainStorageKey.clientName.value, local['CLI_NOME']); + .set(ProfileStorageKey.clientName.key, local['CLI_NOME']); await StorageHelper() - .set(KeychainStorageKey.ownerName.value, local['CLU_OWNER_DSC']); + .set(ProfileStorageKey.ownerName.key, local['CLU_OWNER_DSC']); await StorageHelper() - .set(KeychainStorageKey.ownerUUID.value, local['CLU_OWNER_ID']); + .set(ProfileStorageKey.ownerUUID.key, local['CLU_OWNER_ID']); context.pop(true); return true; diff --git a/lib/components/organism_components/schedule_visit_detail/schedule_visit_detail_model.dart b/lib/components/organism_components/schedule_visit_detail/schedule_visit_detail_model.dart index 33c9b152..734cb294 100644 --- a/lib/components/organism_components/schedule_visit_detail/schedule_visit_detail_model.dart +++ b/lib/components/organism_components/schedule_visit_detail/schedule_visit_detail_model.dart @@ -1,9 +1,8 @@ import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_manager.dart'; import 'package:hub/components/organism_components/schedule_visit_detail/schedule_visit_detail_widget.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; // ignore: unused_import import 'package:intl/intl.dart'; @@ -59,12 +58,11 @@ class ScheduleVisitDetailModel } Future initDB() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; } @override diff --git a/lib/components/organism_components/schedule_visit_detail/schedule_visit_detail_widget.dart b/lib/components/organism_components/schedule_visit_detail/schedule_visit_detail_widget.dart index 82c8fa1f..0baeea54 100644 --- a/lib/components/organism_components/schedule_visit_detail/schedule_visit_detail_widget.dart +++ b/lib/components/organism_components/schedule_visit_detail/schedule_visit_detail_widget.dart @@ -1,8 +1,8 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/organism_components/schedule_visit_detail/schedule_visit_detail_model.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/custom_functions.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; diff --git a/lib/components/organism_components/up_arrow_linked_locals_component/up_arrow_linked_locals_component_model.dart b/lib/components/organism_components/up_arrow_linked_locals_component/up_arrow_linked_locals_component_model.dart index 62331c5d..be8b36d1 100644 --- a/lib/components/organism_components/up_arrow_linked_locals_component/up_arrow_linked_locals_component_model.dart +++ b/lib/components/organism_components/up_arrow_linked_locals_component/up_arrow_linked_locals_component_model.dart @@ -1,8 +1,7 @@ import 'package:flutter/material.dart'; import 'package:hub/components/organism_components/up_arrow_linked_locals_component/up_arrow_linked_locals_component_widget.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; class UpArrowLinkedLocalsComponentModel extends FlutterFlowModel { @@ -17,14 +16,13 @@ class UpArrowLinkedLocalsComponentModel } Future initDB() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; cliName = - (await StorageHelper().get(KeychainStorageKey.clientName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientName.key)) ?? ''; } @override diff --git a/lib/components/organism_components/up_arrow_linked_locals_component/up_arrow_linked_locals_component_widget.dart b/lib/components/organism_components/up_arrow_linked_locals_component/up_arrow_linked_locals_component_widget.dart index 9415e7fc..d1ad656e 100644 --- a/lib/components/organism_components/up_arrow_linked_locals_component/up_arrow_linked_locals_component_widget.dart +++ b/lib/components/organism_components/up_arrow_linked_locals_component/up_arrow_linked_locals_component_widget.dart @@ -2,8 +2,8 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/organism_components/up_arrow_linked_locals_component/up_arrow_linked_locals_component_model.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; diff --git a/lib/components/templates_components/access_notification_modal_template_component/access_notification_modal_template_component_model.dart b/lib/components/templates_components/access_notification_modal_template_component/access_notification_modal_template_component_model.dart index 25d80408..03352151 100644 --- a/lib/components/templates_components/access_notification_modal_template_component/access_notification_modal_template_component_model.dart +++ b/lib/components/templates_components/access_notification_modal_template_component/access_notification_modal_template_component_model.dart @@ -1,9 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; -import '/backend/api_requests/api_calls.dart'; import '/flutter_flow/flutter_flow_util.dart'; import 'access_notification_modal_template_component_widget.dart' show AccessNotificationModalTemplateComponentWidget; @@ -33,12 +32,11 @@ class AccessNotificationModalTemplateComponentModel } Future initDB() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; } @override diff --git a/lib/components/templates_components/change_passs_qr_code_pass_key_template_component/change_pass_widget.dart b/lib/components/templates_components/change_passs_qr_code_pass_key_template_component/change_pass_widget.dart index ae9c7343..d4938cff 100644 --- a/lib/components/templates_components/change_passs_qr_code_pass_key_template_component/change_pass_widget.dart +++ b/lib/components/templates_components/change_passs_qr_code_pass_key_template_component/change_pass_widget.dart @@ -2,9 +2,8 @@ import 'package:easy_debounce/easy_debounce.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:google_fonts/google_fonts.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; diff --git a/lib/components/templates_components/forgot_password_template_component/forgot_password_template_component_model.dart b/lib/components/templates_components/forgot_password_template_component/forgot_password_template_component_model.dart index 3f9ca6ac..f045131b 100644 --- a/lib/components/templates_components/forgot_password_template_component/forgot_password_template_component_model.dart +++ b/lib/components/templates_components/forgot_password_template_component/forgot_password_template_component_model.dart @@ -1,6 +1,6 @@ +import 'package:hub/features/backend/index.dart'; import 'package:hub/shared/utils/validator_util.dart'; -import '/backend/api_requests/api_calls.dart'; import '/flutter_flow/flutter_flow_util.dart'; import 'forgot_password_template_component_widget.dart' show ForgotPasswordTemplateComponentWidget; diff --git a/lib/components/templates_components/forgot_password_template_component/forgot_password_template_component_widget.dart b/lib/components/templates_components/forgot_password_template_component/forgot_password_template_component_widget.dart index 06e48e98..d9797e17 100644 --- a/lib/components/templates_components/forgot_password_template_component/forgot_password_template_component_widget.dart +++ b/lib/components/templates_components/forgot_password_template_component/forgot_password_template_component_widget.dart @@ -1,8 +1,8 @@ import 'package:easy_debounce/easy_debounce.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; +import 'package:hub/features/auth/index.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/services/authentication/authentication_service.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; import 'package:hub/shared/utils/validator_util.dart'; diff --git a/lib/components/templates_components/liberation_history_item_details_template_component/liberation_history_item_details_template_component_model.dart b/lib/components/templates_components/liberation_history_item_details_template_component/liberation_history_item_details_template_component_model.dart index f22a2e8e..0fefa607 100644 --- a/lib/components/templates_components/liberation_history_item_details_template_component/liberation_history_item_details_template_component_model.dart +++ b/lib/components/templates_components/liberation_history_item_details_template_component/liberation_history_item_details_template_component_model.dart @@ -1,8 +1,7 @@ import 'package:flutter/material.dart'; import 'package:hub/components/templates_components/liberation_history_item_details_template_component/liberation_history_item_details_template_component_widget.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; class LiberationHistoryItemDetailsTemplateComponentModel extends FlutterFlowModel< @@ -28,12 +27,11 @@ class LiberationHistoryItemDetailsTemplateComponentModel void initState(BuildContext context) {} Future initDatabase() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; ; } diff --git a/lib/components/templates_components/provisional_schedule_template/provisional_schedule_template_model.dart b/lib/components/templates_components/provisional_schedule_template/provisional_schedule_template_model.dart index 4b69ecec..c1e82767 100644 --- a/lib/components/templates_components/provisional_schedule_template/provisional_schedule_template_model.dart +++ b/lib/components/templates_components/provisional_schedule_template/provisional_schedule_template_model.dart @@ -1,11 +1,10 @@ import 'dart:developer'; import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_manager.dart'; import 'package:hub/components/templates_components/provisional_schedule_template/provisional_shcedule_template_widget.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; class ScheduleProvisionalVisitPageModel extends FlutterFlowModel { @@ -148,16 +147,15 @@ class ScheduleProvisionalVisitPageModel } Future init() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; ownerName = - (await StorageHelper().get(KeychainStorageKey.ownerName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.ownerName.key)) ?? ''; ownerUUID = - (await StorageHelper().get(KeychainStorageKey.ownerUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.ownerUUID.key)) ?? ''; setState?.call(); } } diff --git a/lib/components/templates_components/provisional_schedule_template/provisional_shcedule_template_widget.dart b/lib/components/templates_components/provisional_schedule_template/provisional_shcedule_template_widget.dart index 03d84544..54e96540 100644 --- a/lib/components/templates_components/provisional_schedule_template/provisional_shcedule_template_widget.dart +++ b/lib/components/templates_components/provisional_schedule_template/provisional_shcedule_template_widget.dart @@ -4,11 +4,11 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:hub/components/templates_components/provisional_schedule_template/provisional_schedule_template_model.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/shared/utils/dialog_util.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; import 'package:hub/shared/utils/log_util.dart'; -import '/backend/api_requests/api_calls.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/flutter_flow_widgets.dart'; diff --git a/lib/components/templates_components/regisiter_vistor_template_component/regisiter_vistor_template_component_model.dart b/lib/components/templates_components/regisiter_vistor_template_component/regisiter_vistor_template_component_model.dart index 25e1ea35..acff7931 100644 --- a/lib/components/templates_components/regisiter_vistor_template_component/regisiter_vistor_template_component_model.dart +++ b/lib/components/templates_components/regisiter_vistor_template_component/regisiter_vistor_template_component_model.dart @@ -1,11 +1,11 @@ import 'dart:async'; import 'package:flutter/material.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; + import 'package:hub/shared/utils/validator_util.dart'; -import '/backend/api_requests/api_calls.dart'; import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/form_field_controller.dart'; import 'regisiter_vistor_template_component_widget.dart'; @@ -135,12 +135,11 @@ class RegisiterVistorTemplateComponentModel } Future initializeDatabase() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; ; } diff --git a/lib/components/templates_components/regisiter_vistor_template_component/regisiter_vistor_template_component_widget.dart b/lib/components/templates_components/regisiter_vistor_template_component/regisiter_vistor_template_component_widget.dart index 9202a84e..4a9c5ebe 100644 --- a/lib/components/templates_components/regisiter_vistor_template_component/regisiter_vistor_template_component_widget.dart +++ b/lib/components/templates_components/regisiter_vistor_template_component/regisiter_vistor_template_component_widget.dart @@ -3,13 +3,13 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:hub/components/atomic_components/shared_components_atoms/media_upload_button.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/shared/utils/dialog_util.dart'; import 'package:hub/shared/utils/image_util.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; import 'package:hub/shared/utils/validator_util.dart'; import 'package:rxdart/rxdart.dart'; -import '/backend/api_requests/api_calls.dart'; import '/flutter_flow/flutter_flow_drop_down.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; diff --git a/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart b/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart index 447109c6..2a788357 100644 --- a/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart +++ b/lib/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart @@ -3,7 +3,8 @@ import 'package:flutter/material.dart'; import 'package:flutter_animate/flutter_animate.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:hub/components/atomic_components/shared_components_atoms/atom_image_svg_theme.dart'; -import 'package:hub/shared/components/atoms/term_of_use/atom_terms_of_use.dart'; +import 'package:hub/components/atomic_components/term_of_use/atom_terms_of_use.dart'; +import 'package:hub/features/auth/index.dart'; import 'package:hub/shared/utils/dialog_util.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; import 'package:hub/shared/utils/log_util.dart'; @@ -14,7 +15,6 @@ import '/flutter_flow/flutter_flow_animations.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/flutter_flow_widgets.dart'; -import '../../../shared/services/authentication/authentication_service.dart'; import 'sign_in_template_component_model.dart'; export 'sign_in_template_component_model.dart'; diff --git a/lib/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart b/lib/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart index eb04532f..3ad2c626 100644 --- a/lib/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart +++ b/lib/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart @@ -3,9 +3,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_animate/flutter_animate.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:hub/components/atomic_components/shared_components_atoms/atom_image_svg_theme.dart'; -import 'package:hub/shared/components/atoms/term_of_use/atom_terms_of_use.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/components/atomic_components/term_of_use/atom_terms_of_use.dart'; +import 'package:hub/features/auth/index.dart'; +import 'package:hub/features/storage/index.dart'; + import 'package:hub/shared/utils/limited_text_size.dart'; import 'package:hub/shared/utils/validator_util.dart'; @@ -13,7 +14,6 @@ import '/flutter_flow/flutter_flow_animations.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; import '/flutter_flow/flutter_flow_widgets.dart'; -import '../../../shared/services/authentication/authentication_service.dart'; import 'sign_up_template_component_model.dart'; export 'sign_up_template_component_model.dart'; diff --git a/lib/components/templates_components/view_visit_detail/view_visit_detail_model.dart b/lib/components/templates_components/view_visit_detail/view_visit_detail_model.dart index 4adffceb..d115ada3 100644 --- a/lib/components/templates_components/view_visit_detail/view_visit_detail_model.dart +++ b/lib/components/templates_components/view_visit_detail/view_visit_detail_model.dart @@ -1,8 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; -import '/backend/api_requests/api_calls.dart'; import '/flutter_flow/flutter_flow_util.dart'; import 'view_visit_detail_widget.dart' show ViewVisitDetailWidget; @@ -37,12 +36,11 @@ class ViewVisitDetailModel extends FlutterFlowModel { } Future initializeDatabase() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; ; } diff --git a/lib/components/templates_components/view_visit_detail/view_visit_detail_widget.dart b/lib/components/templates_components/view_visit_detail/view_visit_detail_widget.dart index fbbd960a..41f38054 100644 --- a/lib/components/templates_components/view_visit_detail/view_visit_detail_widget.dart +++ b/lib/components/templates_components/view_visit_detail/view_visit_detail_widget.dart @@ -1,11 +1,11 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/shared/utils/dialog_util.dart'; import 'package:share_plus/share_plus.dart'; -import '/backend/api_requests/api_calls.dart'; import '/flutter_flow/flutter_flow_icon_button.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; diff --git a/lib/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_model.dart b/lib/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_model.dart index ae48fa86..17cc8baf 100644 --- a/lib/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_model.dart +++ b/lib/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_model.dart @@ -1,9 +1,8 @@ import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_manager.dart'; import 'package:hub/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; class VisitorSearchModalTemplateComponentModel extends FlutterFlowModel { @@ -39,12 +38,11 @@ class VisitorSearchModalTemplateComponentModel } Future initDatabase() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; ; } diff --git a/lib/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_widget.dart b/lib/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_widget.dart index c7dfd15e..41fe84e8 100644 --- a/lib/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_widget.dart +++ b/lib/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_widget.dart @@ -1,14 +1,12 @@ -import 'dart:developer'; - import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/atomic_components/shared_components_atoms/toast.dart'; import 'package:hub/components/molecular_components/visitor_not_found_component/visitor_not_found_component_widget.dart'; import 'package:hub/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_model.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; diff --git a/lib/shared/components/templates/home/home_page_template.dart b/lib/core/index.dart similarity index 100% rename from lib/shared/components/templates/home/home_page_template.dart rename to lib/core/index.dart diff --git a/lib/core/meta/index.dart b/lib/core/meta/index.dart new file mode 100644 index 00000000..166d574c --- /dev/null +++ b/lib/core/meta/index.dart @@ -0,0 +1 @@ +export 'anotations.dart'; diff --git a/lib/features/_template_/application/index.dart b/lib/features/_template_/application/index.dart new file mode 100644 index 00000000..810de75e --- /dev/null +++ b/lib/features/_template_/application/index.dart @@ -0,0 +1 @@ +export 'services/index.dart'; diff --git a/lib/shared/components/templates/schedule/schedule_page_template.dart b/lib/features/_template_/application/services/index.dart similarity index 100% rename from lib/shared/components/templates/schedule/schedule_page_template.dart rename to lib/features/_template_/application/services/index.dart diff --git a/lib/features/_template_/index.dart b/lib/features/_template_/index.dart index aa560630..7bec4f0a 100644 --- a/lib/features/_template_/index.dart +++ b/lib/features/_template_/index.dart @@ -1,3 +1,4 @@ export 'data/index.dart'; export 'domain/index.dart'; export 'presentation/index.dart'; +export 'application/index.dart'; diff --git a/lib/shared/services/authentication/authentication_service.dart b/lib/features/auth/authentication_service.dart similarity index 84% rename from lib/shared/services/authentication/authentication_service.dart rename to lib/features/auth/authentication_service.dart index 3643ca6d..d8ce20ae 100644 --- a/lib/shared/services/authentication/authentication_service.dart +++ b/lib/features/auth/authentication_service.dart @@ -1,25 +1,15 @@ -import 'dart:developer'; - import 'package:flutter/material.dart'; -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:hub/features/home/presentation/pages/home_page.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/local/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/components/molecules/modules/data/repositories/license_repository_impl.dart'; -import 'package:hub/shared/helpers/database/database_helper.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; - +import 'package:hub/shared/utils/device_util.dart'; +import 'package:hub/shared/utils/dialog_util.dart'; +import 'package:hub/shared/utils/log_util.dart'; import 'package:hub/shared/utils/snackbar_util.dart'; -import '../../../backend/api_requests/api_calls.dart'; import '../../../flutter_flow/flutter_flow_util.dart'; import '../../../flutter_flow/random_data_util.dart'; -import '../../components/molecules/locals/data/index.dart'; -import '../../components/molecules/locals/index.dart'; -import '../../components/molecules/menu/index.dart'; -import '../../utils/device_util.dart'; -import '../../utils/dialog_util.dart'; -import '../../utils/log_util.dart'; class AuthenticationService { static Future login(BuildContext context) async { @@ -76,7 +66,7 @@ class AuthenticationService { if ((email != '') && (passwd != '')) { await StorageHelper().set(SecureStorageKey.email.value, email); await StorageHelper().set(SecureStorageKey.password.value, passwd); - await StorageHelper().set(KeychainStorageKey.devUUID.value, devUUID!); + await StorageHelper().set(ProfileStorageKey.devUUID.key, devUUID!); response = await callback.call(); if (response.jsonBody['error'] == false) { @@ -85,13 +75,11 @@ class AuthenticationService { userDevUUID = response.jsonBody['user']['dev_id']; userName = response.jsonBody['user']['name']; + await StorageHelper().set(ProfileStorageKey.userUUID.key, userUUID); await StorageHelper() - .set(KeychainStorageKey.userUUID.value, userUUID); - await StorageHelper() - .set(KeychainStorageKey.userDevUUID.value, userDevUUID); - await StorageHelper().set(KeychainStorageKey.status.value, status); - await StorageHelper() - .set(KeychainStorageKey.userName.value, userName); + .set(ProfileStorageKey.userDevUUID.key, userDevUUID); + await StorageHelper().set(ProfileStorageKey.status.key, status); + await StorageHelper().set(ProfileStorageKey.userName.key, userName); await login(context); } else { @@ -160,9 +148,8 @@ class AuthenticationService { await StorageHelper().clean(Storage.databaseStorage); await StorageHelper().clean(Storage.secureStorage); - await LicenseRepositoryImpl().cleanLicense(); - DatabaseStorage.isInitialized = false; - await StorageHelper().init(); + DatabaseService.isInitialized = false; + await DatabaseService.instance.init(); context.go('/welcomePage', extra: extra); } diff --git a/lib/features/auth/index.dart b/lib/features/auth/index.dart new file mode 100644 index 00000000..c2aa7540 --- /dev/null +++ b/lib/features/auth/index.dart @@ -0,0 +1 @@ +export 'authentication_service.dart'; diff --git a/lib/backend/api_requests/api_calls.dart b/lib/features/backend/api_requests/api_calls.dart similarity index 89% rename from lib/backend/api_requests/api_calls.dart rename to lib/features/backend/api_requests/api_calls.dart index cc284f6b..b5665bea 100644 --- a/lib/backend/api_requests/api_calls.dart +++ b/lib/features/backend/api_requests/api_calls.dart @@ -3,9 +3,9 @@ import 'dart:convert'; import 'dart:developer'; import 'package:flutter/foundation.dart'; -import 'package:hub/backend/notifications/firebase_messaging_service.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/notification/index.dart'; +import 'package:hub/features/storage/index.dart'; + import 'package:hub/shared/utils/log_util.dart'; import 'package:hub/shared/utils/validator_util.dart'; @@ -70,11 +70,11 @@ class GetProvSchedules { Future call(final String page, final String status) async { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getAgendamentoProv'; const String pageSize = '10'; final bool isFiltered = status != '' && status != '.*'; @@ -108,11 +108,11 @@ class GetOpenedVisits { Future call(final String page) async { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getOpenedVisits'; const String pageSize = '10'; return await ApiManager.instance.makeApiCall( @@ -143,11 +143,11 @@ class GetResidentsByProperty { Future call(final String page) async { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - await StorageHelper().get(KeychainStorageKey.devUUID.value) ?? ''; + await StorageHelper().get(ProfileStorageKey.devUUID.key) ?? ''; final String userUUID = - await StorageHelper().get(KeychainStorageKey.userUUID.value) ?? ''; + await StorageHelper().get(ProfileStorageKey.userUUID.key) ?? ''; final String cliID = - await StorageHelper().get(KeychainStorageKey.clientUUID.value) ?? ''; + await StorageHelper().get(ProfileStorageKey.clientUUID.key) ?? ''; const String atividade = 'getResidentsByProperty'; const String pageSize = '10'; return await ApiManager.instance.makeApiCall( @@ -177,11 +177,11 @@ class GetVehiclesByProperty { Future call(final String page) async { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getVehiclesByProperty'; const String pageSize = '10'; return await ApiManager.instance.makeApiCall( @@ -213,11 +213,11 @@ class GetLicense { Future call() async { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; return await ApiManager.instance.makeApiCall( callName: 'getLicense', @@ -247,9 +247,9 @@ class UnregisterDevice { Future call() async { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; return await ApiManager.instance.makeApiCall( callName: 'unregisterDevice', @@ -277,11 +277,11 @@ class DeletePet { Future call({final int? petID = 0}) async { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'excluirPet'; return await ApiManager.instance.makeApiCall( @@ -325,11 +325,11 @@ class UpdatePet { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'atualizarPet'; return await ApiManager.instance.makeApiCall( @@ -376,11 +376,11 @@ class GetPets { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'consultaPets'; return await ApiManager.instance.makeApiCall( @@ -413,11 +413,11 @@ class GetPetPhoto { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'consultaFotoPet'; return await ApiManager.instance.makeApiCall( @@ -459,11 +459,11 @@ class RegisterPet { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'cadastrarPet'; return await ApiManager.instance.makeApiCall( @@ -509,11 +509,11 @@ class BuscaEnconcomendas { final String? status, }) async { final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getEncomendas'; final String baseUrl = PhpGroup.getBaseUrl(); @@ -556,11 +556,11 @@ class CancelaVisita { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'cancelaVisita'; return await ApiManager.instance.makeApiCall( @@ -593,9 +593,9 @@ class CancelaVisita { class DeleteAccount { Future call() async { final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String baseUrl = PhpGroup.getBaseUrl(); return await ApiManager.instance.makeApiCall( @@ -627,11 +627,11 @@ class ChangePanic { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'updVisitado'; return await ApiManager.instance.makeApiCall( @@ -666,11 +666,11 @@ class ChangePass { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'updVisitado'; return await ApiManager.instance.makeApiCall( @@ -705,11 +705,11 @@ class RespondeVinculo { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; return await ApiManager.instance.makeApiCall( callName: 'respondeVinculo', @@ -742,11 +742,11 @@ class ChangeNotifica { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'updVisitado'; return await ApiManager.instance.makeApiCall( @@ -779,13 +779,13 @@ class UpdateIDE { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; final String newIde = - (await StorageHelper().get(KeychainStorageKey.userDevUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userDevUUID.key)) ?? ''; const String atividade = 'updVisitado'; return await ApiManager.instance.makeApiCall( @@ -818,9 +818,9 @@ class UpdToken { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String token = (await StorageHelper().get(SecureStorageKey.token.value)) ?? ''; @@ -850,7 +850,7 @@ class LoginCall { Future call() async { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String email = (await StorageHelper().get(SecureStorageKey.email.value)) ?? ''; final String password = @@ -943,11 +943,11 @@ class ChangePasswordCall { }) async { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; return await ApiManager.instance.makeApiCall( callName: 'changePassword', @@ -1007,9 +1007,9 @@ class GetLocalsCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - await StorageHelper().get(KeychainStorageKey.devUUID.value) ?? ''; + await StorageHelper().get(ProfileStorageKey.devUUID.key) ?? ''; final String userUUID = - await StorageHelper().get(KeychainStorageKey.userUUID.value) ?? ''; + await StorageHelper().get(ProfileStorageKey.userUUID.key) ?? ''; return await ApiManager.instance .makeApiCall( @@ -1051,11 +1051,11 @@ class PostScheduleVisitorCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'putVisitante'; return await ApiManager.instance.makeApiCall( @@ -1109,11 +1109,11 @@ class PostScheduleVisitCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'putVisita'; return await ApiManager.instance.makeApiCall( @@ -1166,11 +1166,11 @@ class GetScheduleVisitCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getVisitas'; return await ApiManager.instance.makeApiCall( @@ -1443,11 +1443,11 @@ class GetDadosCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getDados'; return await ApiManager.instance @@ -1691,11 +1691,11 @@ class GetVisitorByDocCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getVisitante'; return await ApiManager.instance.makeApiCall( @@ -1748,11 +1748,11 @@ class GetFotoVisitanteCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getFotoVisitante'; return await ApiManager.instance.makeApiCall( @@ -1790,11 +1790,11 @@ class PostProvVisitSchedulingCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'putAgendamentoProv'; return await ApiManager.instance.makeApiCall( @@ -1842,11 +1842,11 @@ class GetVisitsCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getVisitas'; return await ApiManager.instance.makeApiCall( @@ -2108,11 +2108,11 @@ class DeleteVisitCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'cancelaVisita'; return await ApiManager.instance.makeApiCall( @@ -2154,13 +2154,13 @@ class GetPessoasLocalCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String ownerUUID = - (await StorageHelper().get(KeychainStorageKey.ownerUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.ownerUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; return await ApiManager.instance.makeApiCall( callName: 'getPessoasLocal', @@ -2224,11 +2224,11 @@ class RespondeSolicitacaoCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'respondeSolicitacao'; return await ApiManager.instance.makeApiCall( @@ -2277,11 +2277,11 @@ class GetAccessCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getAcessos'; return await ApiManager.instance.makeApiCall( @@ -2529,12 +2529,11 @@ class GetLiberationsCall { Future.microtask(() async { final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? - ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getSolicitacoes'; try { @@ -2725,11 +2724,11 @@ class GetMessagesCall { final String baseUrl = PhpGroup.getBaseUrl(); final String devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final String userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const String atividade = 'getMensagens'; return await ApiManager.instance.makeApiCall( diff --git a/lib/backend/api_requests/api_manager.dart b/lib/features/backend/api_requests/api_manager.dart similarity index 100% rename from lib/backend/api_requests/api_manager.dart rename to lib/features/backend/api_requests/api_manager.dart diff --git a/lib/backend/api_requests/get_streamed_response.dart b/lib/features/backend/api_requests/get_streamed_response.dart similarity index 100% rename from lib/backend/api_requests/get_streamed_response.dart rename to lib/features/backend/api_requests/get_streamed_response.dart diff --git a/lib/features/backend/api_requests/index.dart b/lib/features/backend/api_requests/index.dart new file mode 100644 index 00000000..880f01b3 --- /dev/null +++ b/lib/features/backend/api_requests/index.dart @@ -0,0 +1,3 @@ +export 'api_calls.dart'; +export 'api_manager.dart'; +export 'get_streamed_response.dart'; diff --git a/lib/features/backend/index.dart b/lib/features/backend/index.dart new file mode 100644 index 00000000..1301ec34 --- /dev/null +++ b/lib/features/backend/index.dart @@ -0,0 +1,2 @@ +export 'api_requests/index.dart'; +export 'schema/index.dart'; diff --git a/lib/backend/schema/enums/enums.dart b/lib/features/backend/schema/enums/enums.dart similarity index 100% rename from lib/backend/schema/enums/enums.dart rename to lib/features/backend/schema/enums/enums.dart diff --git a/lib/features/backend/schema/enums/index.dart b/lib/features/backend/schema/enums/index.dart new file mode 100644 index 00000000..815115d9 --- /dev/null +++ b/lib/features/backend/schema/enums/index.dart @@ -0,0 +1 @@ +export 'enums.dart'; diff --git a/lib/features/backend/schema/index.dart b/lib/features/backend/schema/index.dart new file mode 100644 index 00000000..5b15343c --- /dev/null +++ b/lib/features/backend/schema/index.dart @@ -0,0 +1,3 @@ +export 'enums/index.dart'; +export 'structs/index.dart'; +export 'util/index.dart'; diff --git a/lib/backend/schema/structs/device_struct.dart b/lib/features/backend/schema/structs/device_struct.dart similarity index 98% rename from lib/backend/schema/structs/device_struct.dart rename to lib/features/backend/schema/structs/device_struct.dart index ea504028..db8a8896 100644 --- a/lib/backend/schema/structs/device_struct.dart +++ b/lib/features/backend/schema/structs/device_struct.dart @@ -1,5 +1,6 @@ // ignore_for_file: unnecessary_getters_setters +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; import 'index.dart'; diff --git a/lib/features/backend/schema/structs/index.dart b/lib/features/backend/schema/structs/index.dart new file mode 100644 index 00000000..5bd18316 --- /dev/null +++ b/lib/features/backend/schema/structs/index.dart @@ -0,0 +1 @@ +export 'device_struct.dart'; diff --git a/lib/features/backend/schema/util/index.dart b/lib/features/backend/schema/util/index.dart new file mode 100644 index 00000000..ff023bbe --- /dev/null +++ b/lib/features/backend/schema/util/index.dart @@ -0,0 +1 @@ +export 'schema_util.dart'; diff --git a/lib/backend/schema/util/schema_util.dart b/lib/features/backend/schema/util/schema_util.dart similarity index 93% rename from lib/backend/schema/util/schema_util.dart rename to lib/features/backend/schema/util/schema_util.dart index 8ec1188e..18cc5548 100644 --- a/lib/backend/schema/util/schema_util.dart +++ b/lib/features/backend/schema/util/schema_util.dart @@ -1,8 +1,6 @@ import 'dart:convert'; -import 'package:flutter/material.dart'; -import 'package:from_css_color/from_css_color.dart'; -import 'package:hub/backend/schema/enums/enums.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/nav/serialization_util.dart'; diff --git a/lib/features/history/presentation/blocs/access_history_bloc.dart b/lib/features/history/presentation/blocs/access_history_bloc.dart index 97f790db..9e5bd113 100644 --- a/lib/features/history/presentation/blocs/access_history_bloc.dart +++ b/lib/features/history/presentation/blocs/access_history_bloc.dart @@ -1,10 +1,9 @@ import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_manager.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/features/history/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; import 'package:hub/flutter_flow/request_manager.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; class AcessHistoryPageModel extends FlutterFlowModel { late final String devUUID; @@ -33,12 +32,11 @@ class AcessHistoryPageModel extends FlutterFlowModel { } Future initDatabase() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; } @override diff --git a/lib/features/history/presentation/blocs/provisional_history_bloc.dart b/lib/features/history/presentation/blocs/provisional_history_bloc.dart index b5354bcf..3c6b0d9e 100644 --- a/lib/features/history/presentation/blocs/provisional_history_bloc.dart +++ b/lib/features/history/presentation/blocs/provisional_history_bloc.dart @@ -1,6 +1,5 @@ import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/storage/index.dart'; class ProvisionalHistoryEvent {} @@ -48,11 +47,11 @@ class ProvisionalHistoryBloc ) async { emit(state.copyWith(isLoading: true)); final devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; emit(state.copyWith( devUUID: devUUID, userUUID: userUUID, diff --git a/lib/features/history/presentation/pages/acess_history_page_widget.dart b/lib/features/history/presentation/pages/acess_history_page_widget.dart index 1acaefd6..16708425 100644 --- a/lib/features/history/presentation/pages/acess_history_page_widget.dart +++ b/lib/features/history/presentation/pages/acess_history_page_widget.dart @@ -3,8 +3,8 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/features/history/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; @@ -114,6 +114,7 @@ class _AccessHistoryState extends State { fontFamily: theme.headlineMediumFamily, color: theme.primaryText, fontSize: 16.0, + fontWeight: FontWeight.bold, letterSpacing: 0.0, useGoogleFonts: GoogleFonts.asMap().containsKey(theme.headlineMediumFamily), diff --git a/lib/features/history/presentation/pages/provisional_history_page.dart b/lib/features/history/presentation/pages/provisional_history_page.dart index b894f13a..3c6724ca 100644 --- a/lib/features/history/presentation/pages/provisional_history_page.dart +++ b/lib/features/history/presentation/pages/provisional_history_page.dart @@ -1,27 +1,28 @@ import 'dart:async'; -import 'dart:developer'; import 'package:flutter/material.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/features/history/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/shared/utils/dialog_util.dart'; -import 'package:hub/shared/utils/limited_text_size.dart'; import 'package:hub/shared/utils/log_util.dart'; import 'package:hub/shared/utils/snackbar_util.dart'; + import 'package:rxdart/rxdart.dart'; @immutable // ignore: must_be_immutable class ProvisionalHistoryPage extends StatefulWidget { Map opt; + ProvisionalHistoryPage({super.key, Map? opt}) : opt = opt ?? const {'AGP_STATUS': '.*'}; + @override State createState() => ProvisionalHistoryState(opt); } @@ -107,17 +108,18 @@ class ProvisionalHistoryState extends State { Widget _title(BuildContext context, FlutterFlowTheme theme) { return Text( FFLocalizations.of(context).getVariableText( - ptText: 'Histórico Provisório', + ptText: 'Consultar Agendas', enText: 'Provisional History', ), - style: theme.headlineMedium.override( - fontFamily: theme.headlineMediumFamily, - color: theme.primaryText, - fontSize: 16.0, - letterSpacing: 0.0, - useGoogleFonts: - GoogleFonts.asMap().containsKey(theme.headlineMediumFamily), - ), + style: FlutterFlowTheme.of(context).headlineMedium.override( + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, + color: FlutterFlowTheme.of(context).primaryText, + fontSize: 16.0, + fontWeight: FontWeight.bold, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap() + .containsKey(FlutterFlowTheme.of(context).headlineMediumFamily), + ), ); } @@ -157,8 +159,8 @@ class ProvisionalHistoryState extends State { { 'title': FFLocalizations.of(context) .getVariableText( - ptText: 'Convidado', - enText: 'Guest', + ptText: 'Concluído', + enText: 'Completed', ), 'value': 'CO', }, diff --git a/lib/features/home/presentation/blocs/home_bloc.dart b/lib/features/home/presentation/blocs/home_bloc.dart index bfa06a48..c7b69418 100644 --- a/lib/features/home/presentation/blocs/home_bloc.dart +++ b/lib/features/home/presentation/blocs/home_bloc.dart @@ -1,10 +1,9 @@ import 'dart:async'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/local/index.dart'; +import 'package:hub/features/storage/index.dart'; -import '../../../../shared/components/molecules/locals/index.dart'; import 'index.dart'; class HomeBloc extends Bloc { @@ -19,13 +18,13 @@ class HomeBloc extends Bloc { Future _onHomeEvent(HomeEvent event, Emitter emit) async { final devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; final userName = - (await StorageHelper().get(KeychainStorageKey.userName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userName.key)) ?? ''; final userEmail = (await StorageHelper().get(SecureStorageKey.email.value)) ?? ''; diff --git a/lib/features/home/presentation/pages/about_system.dart b/lib/features/home/presentation/pages/about_system.dart index 26fb1b72..78a409c2 100644 --- a/lib/features/home/presentation/pages/about_system.dart +++ b/lib/features/home/presentation/pages/about_system.dart @@ -7,6 +7,7 @@ import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/internationalization.dart'; + import 'package:package_info_plus/package_info_plus.dart'; import 'package:url_launcher/url_launcher.dart'; @@ -87,14 +88,15 @@ class _AboutSystemPageState extends State { ptText: 'Sobre o Sistema', enText: 'About the System', ), - style: theme.headlineMedium.override( - fontFamily: theme.headlineMediumFamily, - color: theme.primaryText, - fontSize: 16.0, - letterSpacing: 0.0, - useGoogleFonts: - GoogleFonts.asMap().containsKey(theme.headlineMediumFamily), - ), + style: FlutterFlowTheme.of(context).headlineMedium.override( + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, + color: FlutterFlowTheme.of(context).primaryText, + fontSize: 16.0, + fontWeight: FontWeight.bold, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap() + .containsKey(FlutterFlowTheme.of(context).headlineMediumFamily), + ), ); } @@ -124,8 +126,8 @@ class _AboutSystemPageState extends State { Widget _buildLogo() { return SizedBox( - height: 50, - width: 50, + height: 100, + width: 100, child: Image.asset('assets/images/fre.png'), ); } diff --git a/lib/features/home/presentation/pages/home_page.dart b/lib/features/home/presentation/pages/home_page.dart index 2dad8027..f3a9df42 100644 --- a/lib/features/home/presentation/pages/home_page.dart +++ b/lib/features/home/presentation/pages/home_page.dart @@ -2,12 +2,12 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:hub/features/home/presentation/widgets/drawer_widget.dart'; +import 'package:hub/features/menu/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; +import 'package:hub/features/local/index.dart'; class HomePageWidget extends StatefulWidget { const HomePageWidget(this.update, {super.key}); diff --git a/lib/features/home/presentation/widgets/drawer_widget.dart b/lib/features/home/presentation/widgets/drawer_widget.dart index 7e709275..014fa9f8 100644 --- a/lib/features/home/presentation/widgets/drawer_widget.dart +++ b/lib/features/home/presentation/widgets/drawer_widget.dart @@ -2,12 +2,12 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:hub/features/home/index.dart'; +import 'package:hub/features/menu/index.dart'; +import 'package:hub/features/module/data/index.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; -import 'package:hub/shared/components/molecules/modules/index.dart'; +import 'package:hub/features/local/index.dart'; class DrawerWidget extends StatelessWidget { const DrawerWidget({super.key}); diff --git a/lib/shared/components/molecules/locals/data/data_sources/index.dart b/lib/features/local/data/data_sources/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/data/data_sources/index.dart rename to lib/features/local/data/data_sources/index.dart diff --git a/lib/features/local/data/data_sources/locals_local_data_source.dart b/lib/features/local/data/data_sources/locals_local_data_source.dart new file mode 100644 index 00000000..cac9e924 --- /dev/null +++ b/lib/features/local/data/data_sources/locals_local_data_source.dart @@ -0,0 +1,78 @@ +import 'dart:developer'; + +import 'package:hub/features/storage/constants/locals_constants.dart'; +import 'package:hub/features/storage/index.dart'; +import 'package:sqflite/sqflite.dart'; + +abstract class LocalsLocalDataSource implements BaseStorage {} + +class LocalsLocalDataSourceImpl implements LocalsLocalDataSource { + static final LocalsLocalDataSourceImpl _instance = + LocalsLocalDataSourceImpl._internal(); + factory LocalsLocalDataSourceImpl() => _instance; + LocalsLocalDataSourceImpl._internal(); + + bool _isInitialized = false; + + @override + Future init() async { + if (_isInitialized) return; + await DatabaseService.instance.init(); + _isInitialized = true; + } + + @override + Future get(String key) async { + final String? local = + await StorageHelper().get(ProfileStorageKey.clientUUID.key); + var response = await DatabaseService.database.query( + LocalsConstants.tableLocalsKeychain, + where: 'key = ? AND local = ?', + whereArgs: [key, local]); + if (response.isEmpty) { + return null; + } + return response.first['value'].toString(); + } + + @override + Future set(String key, T value) async { + try { + var date = DateTime.now().toIso8601String(); + final String? local = + await StorageHelper().get(ProfileStorageKey.clientUUID.key); + + await DatabaseService.database.insert( + LocalsConstants.tableLocalsKeychain, + { + 'key': key, + 'value': value.toString(), + 'type': 'local', + 'updateAt': date, + 'resolvedAt': date, + 'createdAt': date, + 'local': local + }, + conflictAlgorithm: ConflictAlgorithm.replace, + ); + } catch (e, s) {} + } + + @override + Future delete(String key) async { + final String? local = + await StorageHelper().get(ProfileStorageKey.clientUUID.key); + await DatabaseService.database.delete(LocalsConstants.tableLocalsKeychain, + where: 'key = ? AND local = ?', whereArgs: [key, local]); + } + + @override + Future clearAll() async { + try { + await DatabaseService.database + .delete(LocalsConstants.tableLocalsKeychain); + } catch (e, s) { + log('() => clearAll keychain: $e', stackTrace: s); + } + } +} diff --git a/lib/shared/components/molecules/locals/data/data_sources/locals_remote_data_source.dart b/lib/features/local/data/data_sources/locals_remote_data_source.dart similarity index 86% rename from lib/shared/components/molecules/locals/data/data_sources/locals_remote_data_source.dart rename to lib/features/local/data/data_sources/locals_remote_data_source.dart index 3a5a865e..fd91b648 100644 --- a/lib/shared/components/molecules/locals/data/data_sources/locals_remote_data_source.dart +++ b/lib/features/local/data/data_sources/locals_remote_data_source.dart @@ -3,25 +3,22 @@ import 'dart:developer'; import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/organism_components/bottom_arrow_linked_locals_component/bottom_arrow_linked_locals_component_widget.dart'; +import 'package:hub/features/auth/index.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/module/data/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/internationalization.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; -import 'package:hub/shared/components/molecules/modules/index.dart'; - -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; -import 'package:hub/shared/services/authentication/authentication_service.dart'; -import 'package:hub/shared/utils/dialog_util.dart'; +import 'package:hub/features/local/index.dart'; import 'package:hub/shared/utils/snackbar_util.dart'; abstract class LocalsRemoteDataSource { Future linkLocal(BuildContext context); Future checkLocals(BuildContext context); Future processLocals(BuildContext context); - Future processData(BuildContext context); + Future processProperty(BuildContext context); Future selectLocal(BuildContext context, ApiCallResponse? response); Future detachLocal(BuildContext context); } @@ -62,8 +59,8 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource { await StorageHelper().set(SecureStorageKey.haveLocal.value, true); await StorageHelper().set(SecureStorageKey.isLogged.value, true); await WidgetsBinding.instance.endOfFrame; - await StorageHelper().set(KeychainStorageKey.clientUUID.value, ''); - await StorageHelper().set(KeychainStorageKey.ownerUUID.value, ''); + await StorageHelper().set(ProfileStorageKey.clientUUID.key, ''); + await StorageHelper().set(ProfileStorageKey.ownerUUID.key, ''); StorageHelper().context?.go('/homePage'); } } catch (e, s) { @@ -121,10 +118,16 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource { return await selectLocal(context, response); } else if (isSelected) { log('() => isSelected'); - return await processData(context); + return await processProperty(context).then((v) async { + if (v == true) return await LicenseRepositoryImpl().updateLicense(); + return v; + }); } else if (isAvailable) { log('() => isAvailable'); - return await processData(context); + return await processProperty(context).then((v) async { + if (v == true) return await LicenseRepositoryImpl().updateLicense(); + return v; + }); } else { if (!isUnique && !isActive) log('() => not unique and not active'); if (!isUnique && isInactived) log('() => not unique and inactived'); @@ -149,14 +152,14 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource { @override Future checkLocals(BuildContext context) async { String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; String cliName = - (await StorageHelper().get(KeychainStorageKey.clientName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientName.key)) ?? ''; return cliUUID.isEmpty && cliName.isEmpty; } @override - Future processData(BuildContext context) async { + Future processProperty(BuildContext context) async { try { final GetDadosCall callback = PhpGroup.getDadosCall; ApiCallResponse? response = await callback.call(); @@ -181,7 +184,7 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource { return false; } else { await LocalUtil.updateStorageUtil(response.jsonBody); - return await LicenseRepositoryImpl().updateLicense(); + return true; } } catch (e, s) { log('() => error processData: $e', stackTrace: s); @@ -212,7 +215,10 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource { child: BottomArrowLinkedLocalsComponentWidget(response: response), ), ), - ).then((_) async => await processData(context)); + ).then((_) async => await processProperty(context).then((v) async { + if (v == true) return await LicenseRepositoryImpl().updateLicense(); + return v; + })); } @override @@ -226,9 +232,9 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource { final bool status = await PhpGroup.resopndeVinculo.call(tarefa: 'I').then((value) async { if (value.jsonBody['error'] == false) { - await StorageHelper().set(KeychainStorageKey.clientName.value, ''); - await StorageHelper().set(KeychainStorageKey.ownerName.value, ''); - await StorageHelper().set(KeychainStorageKey.clientUUID.value, ''); + await StorageHelper().set(ProfileStorageKey.clientName.key, ''); + await StorageHelper().set(ProfileStorageKey.ownerName.key, ''); + await StorageHelper().set(ProfileStorageKey.clientUUID.key, ''); context.pop(); context.go('/homePage', extra: {'update': LocalsRepositoryImpl().update}); diff --git a/lib/shared/components/molecules/locals/data/index.dart b/lib/features/local/data/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/data/index.dart rename to lib/features/local/data/index.dart diff --git a/lib/features/local/data/models/index.dart b/lib/features/local/data/models/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/local/data/models/index.dart @@ -0,0 +1 @@ + diff --git a/lib/shared/components/molecules/locals/data/repositories/index.dart b/lib/features/local/data/repositories/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/data/repositories/index.dart rename to lib/features/local/data/repositories/index.dart diff --git a/lib/shared/components/molecules/locals/data/repositories/locals_repository_impl.dart b/lib/features/local/data/repositories/locals_repository_impl.dart similarity index 63% rename from lib/shared/components/molecules/locals/data/repositories/locals_repository_impl.dart rename to lib/features/local/data/repositories/locals_repository_impl.dart index 6b9ee844..232e511e 100644 --- a/lib/shared/components/molecules/locals/data/repositories/locals_repository_impl.dart +++ b/lib/features/local/data/repositories/locals_repository_impl.dart @@ -2,13 +2,13 @@ import 'dart:developer'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:hub/backend/notifications/firebase_messaging_service.dart'; -import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; -import 'package:hub/shared/components/molecules/menu/presentation/blocs/menu_bloc.dart'; -import 'package:hub/shared/components/molecules/modules/index.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/local/index.dart'; +import 'package:hub/features/menu/index.dart'; +import 'package:hub/features/module/data/index.dart'; +import 'package:hub/features/notification/index.dart'; +import 'package:hub/features/storage/index.dart'; +import 'package:hub/flutter_flow/index.dart'; + import 'package:hub/shared/utils/dialog_util.dart'; import 'package:rxdart/rxdart.dart'; @@ -27,21 +27,32 @@ class LocalsRepositoryImpl implements LocalsRepository { @override Future update(BuildContext context) async { LocalsRepositoryImpl.license.add(false); - final bool response = await _handleReponse(context); + final bool response = await _handleLocal(context); LocalsRepositoryImpl.license.add(response); return response; } + @override + Future fetch(BuildContext context) async { + return await _handleProperty(context); + } + Future select(BuildContext context) async { - await localDataSource.unlinkLocal(); + await unselect(); await update(context); } + Future unselect() async { + await StorageHelper().set(ProfileStorageKey.clientUUID.key, ''); + await StorageHelper().set(ProfileStorageKey.clientName.key, ''); + await StorageHelper().set(ProfileStorageKey.ownerName.key, ''); + } + Future check(BuildContext context) async { final String? cliUUID = - await StorageHelper().get(KeychainStorageKey.clientUUID.value); + await StorageHelper().get(ProfileStorageKey.clientUUID.key); final String? ownerUUID = - await StorageHelper().get(KeychainStorageKey.ownerUUID.value); + await StorageHelper().get(ProfileStorageKey.ownerUUID.key); final bool haveCli = cliUUID != null && cliUUID.isNotEmpty; final bool haveOwner = ownerUUID != null && ownerUUID.isNotEmpty; if (!haveCli && !haveOwner) { @@ -50,7 +61,7 @@ class LocalsRepositoryImpl implements LocalsRepository { } } - Future _handleReponse(BuildContext context) async { + Future _handleLocal(BuildContext context) async { bool response = false; final bool isUnselected = await remoteDataSource.checkLocals(context); if (isUnselected) { @@ -68,11 +79,26 @@ class LocalsRepositoryImpl implements LocalsRepository { } else { return true; } + + return response; + } + + Future _handleProperty(BuildContext context) async { + bool response = false; + try { + response = await remoteDataSource.processProperty(context); + if (!response) { + await _handleUpdateError(context); + } + } catch (e, s) { + log('Error updating locals: $e', stackTrace: s); + await _handleUpdateError(context); + } return response; } Future _handleUpdateError(BuildContext context) async { - await StorageHelper().set(KeychainStorageKey.clientUUID.value, ''); + await StorageHelper().set(ProfileStorageKey.clientUUID.key, ''); const String errorMsg = 'Erro ao atualizar locais'; await DialogUtil.error(context, errorMsg); } @@ -86,7 +112,7 @@ class LocalsRepositoryImpl implements LocalsRepository { Future unlinkLocal(BuildContext context) async { final bool response = await remoteDataSource.detachLocal(context); if (!response) return; - await localDataSource.unlinkLocal(); + await unselect(); context.pop(); context.go('/homePage', extra: {'update': update}); await update(context); diff --git a/lib/features/local/domain/entities/index.dart b/lib/features/local/domain/entities/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/local/domain/entities/index.dart @@ -0,0 +1 @@ + diff --git a/lib/shared/components/molecules/locals/domain/index.dart b/lib/features/local/domain/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/domain/index.dart rename to lib/features/local/domain/index.dart diff --git a/lib/shared/components/molecules/locals/domain/respositories/index.dart b/lib/features/local/domain/respositories/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/domain/respositories/index.dart rename to lib/features/local/domain/respositories/index.dart diff --git a/lib/shared/components/molecules/locals/domain/respositories/locals_repository.dart b/lib/features/local/domain/respositories/locals_repository.dart similarity index 83% rename from lib/shared/components/molecules/locals/domain/respositories/locals_repository.dart rename to lib/features/local/domain/respositories/locals_repository.dart index 1862d79c..6e4dcd97 100644 --- a/lib/shared/components/molecules/locals/domain/respositories/locals_repository.dart +++ b/lib/features/local/domain/respositories/locals_repository.dart @@ -4,4 +4,5 @@ abstract class LocalsRepository { Future validateLocal(BuildContext context) async {} Future update(BuildContext context) async => false; Future unlinkLocal(BuildContext context) async {} + Future fetch(BuildContext context) async {} } diff --git a/lib/features/local/domain/usecases/index.dart b/lib/features/local/domain/usecases/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/local/domain/usecases/index.dart @@ -0,0 +1 @@ + diff --git a/lib/shared/components/molecules/locals/index.dart b/lib/features/local/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/index.dart rename to lib/features/local/index.dart diff --git a/lib/shared/components/molecules/locals/presentation/blocs/index.dart b/lib/features/local/presentation/blocs/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/presentation/blocs/index.dart rename to lib/features/local/presentation/blocs/index.dart diff --git a/lib/shared/components/molecules/locals/presentation/blocs/local_profile_bloc.dart b/lib/features/local/presentation/blocs/local_profile_bloc.dart similarity index 72% rename from lib/shared/components/molecules/locals/presentation/blocs/local_profile_bloc.dart rename to lib/features/local/presentation/blocs/local_profile_bloc.dart index 16faa756..bca9c819 100644 --- a/lib/shared/components/molecules/locals/presentation/blocs/local_profile_bloc.dart +++ b/lib/features/local/presentation/blocs/local_profile_bloc.dart @@ -3,12 +3,10 @@ import 'dart:developer'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter/material.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/local/index.dart'; class LocalProfileEvent {} @@ -43,11 +41,11 @@ class LocalProfileBloc extends Bloc { Future _onLocalProfileEvent( LocalProfileEvent event, Emitter emit) async { final cliName = - (await StorageHelper().get(KeychainStorageKey.clientName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientName.key)) ?? ''; final ownerName = - (await StorageHelper().get(KeychainStorageKey.ownerName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.ownerName.key)) ?? ''; final cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; emit(state.copyWith( cliName: cliName, cliUUID: cliUUID, ownerName: ownerName)); } @@ -74,11 +72,11 @@ class LocalProfileComponentModel Future getData() async { cliName = - (await StorageHelper().get(KeychainStorageKey.clientName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientName.key)) ?? ''; ownerName = - (await StorageHelper().get(KeychainStorageKey.ownerName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.ownerName.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; setStateCallback?.call(); } diff --git a/lib/shared/components/molecules/locals/presentation/index.dart b/lib/features/local/presentation/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/presentation/index.dart rename to lib/features/local/presentation/index.dart diff --git a/lib/shared/components/molecules/locals/presentation/widgets/index.dart b/lib/features/local/presentation/widgets/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/presentation/widgets/index.dart rename to lib/features/local/presentation/widgets/index.dart diff --git a/lib/shared/components/molecules/locals/presentation/widgets/local_profile/index.dart b/lib/features/local/presentation/widgets/local_profile/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/presentation/widgets/local_profile/index.dart rename to lib/features/local/presentation/widgets/local_profile/index.dart diff --git a/lib/shared/components/molecules/locals/presentation/widgets/local_profile/local_profile_widget.dart b/lib/features/local/presentation/widgets/local_profile/local_profile_widget.dart similarity index 97% rename from lib/shared/components/molecules/locals/presentation/widgets/local_profile/local_profile_widget.dart rename to lib/features/local/presentation/widgets/local_profile/local_profile_widget.dart index 1cb799be..b3018ce6 100644 --- a/lib/shared/components/molecules/locals/presentation/widgets/local_profile/local_profile_widget.dart +++ b/lib/features/local/presentation/widgets/local_profile/local_profile_widget.dart @@ -1,17 +1,12 @@ -import 'dart:developer'; - import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:hub/features/module/index.dart'; import 'package:hub/flutter_flow/custom_functions.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; -import 'package:hub/shared/components/molecules/modules/data/index.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; -import 'package:provider/provider.dart'; +import 'package:hub/features/local/index.dart'; class LocalProfileComponentWidget extends StatefulWidget { const LocalProfileComponentWidget({super.key}); diff --git a/lib/shared/components/molecules/locals/utils/index.dart b/lib/features/local/utils/index.dart similarity index 100% rename from lib/shared/components/molecules/locals/utils/index.dart rename to lib/features/local/utils/index.dart diff --git a/lib/shared/components/molecules/locals/utils/local_util.dart b/lib/features/local/utils/local_util.dart similarity index 56% rename from lib/shared/components/molecules/locals/utils/local_util.dart rename to lib/features/local/utils/local_util.dart index cb9ac067..32541690 100644 --- a/lib/shared/components/molecules/locals/utils/local_util.dart +++ b/lib/features/local/utils/local_util.dart @@ -1,20 +1,20 @@ import 'dart:developer'; import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/internationalization.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/local/index.dart'; + import 'package:hub/shared/utils/dialog_util.dart'; import 'package:hub/shared/utils/log_util.dart'; class LocalUtil { static void handleError(BuildContext context, String errorMsg) async { final String devUUID = - await StorageHelper().get(KeychainStorageKey.devUUID.value) ?? ''; + await StorageHelper().get(ProfileStorageKey.devUUID.key) ?? ''; final String userUUID = - await StorageHelper().get(KeychainStorageKey.userUUID.value) ?? ''; + await StorageHelper().get(ProfileStorageKey.userUUID.key) ?? ''; final bool isAuthenticated = userUUID.isNotEmpty && devUUID.isNotEmpty; final bool isDevLinked = !errorMsg.contains('Esse dispositivo nao pertence a esse usuario'); @@ -44,26 +44,26 @@ class LocalUtil { log('() => isUnavailable'); try { await StorageHelper() - .set(KeychainStorageKey.clientUUID.value, locals[0]['CLI_ID']); + .set(ProfileStorageKey.clientUUID.key, locals[0]['CLI_ID']); await StorageHelper() - .set(KeychainStorageKey.ownerUUID.value, locals[0]['CLU_OWNER_ID']); + .set(ProfileStorageKey.ownerUUID.key, locals[0]['CLU_OWNER_ID']); await StorageHelper() - .set(KeychainStorageKey.clientName.value, locals[0]['CLI_NOME']); + .set(ProfileStorageKey.clientName.key, locals[0]['CLI_NOME']); await StorageHelper() - .set(KeychainStorageKey.ownerName.value, locals[0]['CLU_OWNER_DSC']); + .set(ProfileStorageKey.ownerName.key, locals[0]['CLU_OWNER_DSC']); var response = await PhpGroup.resopndeVinculo.call(tarefa: 'A'); if (response.jsonBody['error'] == true) { - await StorageHelper().set(KeychainStorageKey.clientUUID.value, ''); - await StorageHelper().set(KeychainStorageKey.ownerUUID.value, ''); - await StorageHelper().set(KeychainStorageKey.clientName.value, ''); - await StorageHelper().set(KeychainStorageKey.ownerName.value, ''); + await StorageHelper().set(ProfileStorageKey.clientUUID.key, ''); + await StorageHelper().set(ProfileStorageKey.ownerUUID.key, ''); + await StorageHelper().set(ProfileStorageKey.clientName.key, ''); + await StorageHelper().set(ProfileStorageKey.ownerName.key, ''); return false; } if (response.jsonBody['error'] == false) return await LocalsRemoteDataSourceImpl() - .processData(context) + .processProperty(context) .then((value) => value); } catch (e, s) { await DialogUtil.errorDefault(context); @@ -77,16 +77,16 @@ class LocalUtil { static Future handleEnabled(BuildContext context, dynamic local) async { log('() => isEnabled'); await StorageHelper() - .set(KeychainStorageKey.clientUUID.value, local['CLI_ID']); + .set(ProfileStorageKey.clientUUID.key, local['CLI_ID']); await StorageHelper() - .set(KeychainStorageKey.ownerUUID.value, local['CLU_OWNER_ID']); + .set(ProfileStorageKey.ownerUUID.key, local['CLU_OWNER_ID']); await StorageHelper() - .set(KeychainStorageKey.clientName.value, local['CLI_NOME']); + .set(ProfileStorageKey.clientName.key, local['CLI_NOME']); await StorageHelper() - .set(KeychainStorageKey.ownerName.value, local['CLU_OWNER_DSC']); + .set(ProfileStorageKey.ownerName.key, local['CLU_OWNER_DSC']); await StorageHelper() - .set(KeychainStorageKey.userName.value, local['USU_NOME']); - return await LocalsRemoteDataSourceImpl().processData(context); + .set(ProfileStorageKey.userName.key, local['USU_NOME']); + return await LocalsRemoteDataSourceImpl().processProperty(context); } static void logLocalsStatus(List locals) { @@ -96,27 +96,56 @@ class LocalUtil { } } + static bool _processSystemOption(String? json) { + if (json == null) return false; + if (json == 'S') + return true; + else + return false; + } + static Future updateStorageUtil(Map jsonBody) async { try { - await StorageHelper().set( - KeychainStorageKey.whatsapp.value, jsonBody['whatsapp'] ?? false); - await StorageHelper().set(KeychainStorageKey.provisional.value, - jsonBody['provisional'] ?? false); await StorageHelper() - .set(KeychainStorageKey.pets.value, jsonBody['pet'] ?? false); + .set(LocalsStorageKey.whatsapp.key, jsonBody['whatsapp'] ?? false); await StorageHelper().set( - KeychainStorageKey.petAmount.value, + LocalsStorageKey.provisional.key, jsonBody['provisional'] ?? false); + await StorageHelper().set( + LocalsStorageKey.pets.key, + jsonBody['pet'] ?? false, + ); + await StorageHelper().set( + LocalsStorageKey.notify.key, + _processSystemOption( + jsonBody['visitado']['VDO_NOTTERCEIROS'], + ), + ); + if (jsonBody['visitado']['VDO_TEM_SENHA_ACESSO'] != null) { + await StorageHelper().set( + LocalsStorageKey.access.key, + _processSystemOption(jsonBody['visitado']['VDO_TEM_SENHA_ACESSO']), + ); + await StorageHelper().set( + LocalsStorageKey.panic.key, + _processSystemOption(jsonBody['visitado']['VDO_TEM_SENHA_PANICO']), + ); + } + + await StorageHelper().set( + LocalsStorageKey.petAmount.key, jsonBody['petAmountRegister']?.toString().isEmpty ?? true ? '0' : jsonBody['petAmountRegister'].toString()); - await StorageHelper().set(KeychainStorageKey.userName.value, + await StorageHelper().set(ProfileStorageKey.userName.key, jsonBody['visitado']['VDO_NOME'] ?? ''); - await StorageHelper().set(KeychainStorageKey.userEmail.value, + await StorageHelper().set(ProfileStorageKey.userEmail.key, jsonBody['visitado']['VDO_EMAIL'] ?? ''); + await StorageHelper().set( + LocalsStorageKey.provisional.key, jsonBody['provisional'] ?? false); final bool isNewVersion = jsonBody['newVersion'] ?? false; await StorageHelper() - .set(KeychainStorageKey.isNewVersion.value, isNewVersion); + .set(LocalsStorageKey.isNewVersion.key, isNewVersion); return isNewVersion; } catch (e, s) { log('Error in _updateStorageUtil: $e', stackTrace: s); @@ -130,7 +159,7 @@ class LocalUtil { static Future isInactived(List locals) async { String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; return locals .where( (local) => local['CLI_ID'] != cliUUID && local['CLU_STATUS'] == 'A') @@ -146,27 +175,27 @@ class LocalUtil { static Future isUnselected() async { String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; String cliName = - (await StorageHelper().get(KeychainStorageKey.clientName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientName.key)) ?? ''; String ownerUUID = - (await StorageHelper().get(KeychainStorageKey.ownerUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.ownerUUID.key)) ?? ''; return cliUUID.isEmpty && cliName.isEmpty && ownerUUID.isEmpty; } static Future isSelected(bool isInactived) async { String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; String cliName = - (await StorageHelper().get(KeychainStorageKey.clientName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientName.key)) ?? ''; return cliUUID.isNotEmpty && cliName.isNotEmpty && isInactived; } static Future isAvailable() async { String cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; String cliName = - (await StorageHelper().get(KeychainStorageKey.clientName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientName.key)) ?? ''; return cliUUID.isNotEmpty && cliName.isNotEmpty; } } diff --git a/lib/shared/components/molecules/menu/data/data_sources/index.dart b/lib/features/menu/data/data_sources/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/data/data_sources/index.dart rename to lib/features/menu/data/data_sources/index.dart diff --git a/lib/shared/components/molecules/menu/data/data_sources/menu_local_data_source.dart b/lib/features/menu/data/data_sources/menu_local_data_source.dart similarity index 94% rename from lib/shared/components/molecules/menu/data/data_sources/menu_local_data_source.dart rename to lib/features/menu/data/data_sources/menu_local_data_source.dart index 7faae928..8b5c4421 100644 --- a/lib/shared/components/molecules/menu/data/data_sources/menu_local_data_source.dart +++ b/lib/features/menu/data/data_sources/menu_local_data_source.dart @@ -1,14 +1,13 @@ import 'dart:developer'; import 'package:flutter/material.dart'; +import 'package:hub/features/auth/index.dart'; +import 'package:hub/features/menu/index.dart'; +import 'package:hub/features/module/index.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; import 'package:hub/shared/extensions/dialog_extensions.dart'; -import 'package:hub/shared/services/authentication/authentication_service.dart'; import 'package:hub/shared/utils/path_util.dart'; -import '../../../modules/domain/entities/index.dart'; - abstract class MenuLocalDataSource { Future addMenuEntry(EnumMenuItem item, List entries, IconData icon, String text, Function() action); diff --git a/lib/shared/components/molecules/menu/data/index.dart b/lib/features/menu/data/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/data/index.dart rename to lib/features/menu/data/index.dart diff --git a/lib/features/menu/data/models/index.dart b/lib/features/menu/data/models/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/menu/data/models/index.dart @@ -0,0 +1 @@ + diff --git a/lib/shared/components/molecules/menu/data/repositories/index.dart b/lib/features/menu/data/repositories/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/data/repositories/index.dart rename to lib/features/menu/data/repositories/index.dart diff --git a/lib/shared/components/molecules/menu/data/repositories/menu_repository_impl.dart b/lib/features/menu/data/repositories/menu_repository_impl.dart similarity index 82% rename from lib/shared/components/molecules/menu/data/repositories/menu_repository_impl.dart rename to lib/features/menu/data/repositories/menu_repository_impl.dart index f52fc420..c5642310 100644 --- a/lib/shared/components/molecules/menu/data/repositories/menu_repository_impl.dart +++ b/lib/features/menu/data/repositories/menu_repository_impl.dart @@ -1,15 +1,8 @@ -import 'dart:convert'; import 'dart:developer'; +import 'package:hub/features/menu/index.dart'; +import 'package:hub/features/module/index.dart'; import 'package:hub/flutter_flow/custom_functions.dart'; -import 'package:hub/main.dart'; -import 'package:hub/shared/components/molecules/menu/data/data_sources/menu_local_data_source.dart'; -import 'package:hub/shared/components/molecules/menu/domain/respositories/menu_repository.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; -import 'package:hub/shared/components/molecules/modules/index.dart'; -import 'package:hub/shared/extensions/string_extensions.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; class MenuRepositoryImpl implements MenuRepository { final MenuLocalDataSource menuDataSource = MenuLocalDataSourceImpl(); diff --git a/lib/shared/components/molecules/menu/domain/entities/index.dart b/lib/features/menu/domain/entities/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/domain/entities/index.dart rename to lib/features/menu/domain/entities/index.dart diff --git a/lib/shared/components/molecules/menu/domain/entities/menu_item.dart b/lib/features/menu/domain/entities/menu_item.dart similarity index 93% rename from lib/shared/components/molecules/menu/domain/entities/menu_item.dart rename to lib/features/menu/domain/entities/menu_item.dart index d9da8c5f..ec62f641 100644 --- a/lib/shared/components/molecules/menu/domain/entities/menu_item.dart +++ b/lib/features/menu/domain/entities/menu_item.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; +import 'package:hub/features/menu/index.dart'; enum EnumMenuItem { button, diff --git a/lib/shared/components/molecules/menu/domain/index.dart b/lib/features/menu/domain/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/domain/index.dart rename to lib/features/menu/domain/index.dart diff --git a/lib/features/menu/domain/respositories/index.dart b/lib/features/menu/domain/respositories/index.dart new file mode 100644 index 00000000..28b980f4 --- /dev/null +++ b/lib/features/menu/domain/respositories/index.dart @@ -0,0 +1 @@ +export 'menu_repository.dart'; diff --git a/lib/features/menu/domain/respositories/menu_repository.dart b/lib/features/menu/domain/respositories/menu_repository.dart new file mode 100644 index 00000000..fdccddd8 --- /dev/null +++ b/lib/features/menu/domain/respositories/menu_repository.dart @@ -0,0 +1,6 @@ +import 'package:hub/features/menu/index.dart'; + +abstract class MenuRepository { + Future> generateMenuEntries( + List menuEntries, EnumMenuItem item); +} diff --git a/lib/features/menu/domain/usecases/index.dart b/lib/features/menu/domain/usecases/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/menu/domain/usecases/index.dart @@ -0,0 +1 @@ + diff --git a/lib/shared/components/molecules/menu/index.dart b/lib/features/menu/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/index.dart rename to lib/features/menu/index.dart diff --git a/lib/shared/components/molecules/menu/presentation/blocs/index.dart b/lib/features/menu/presentation/blocs/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/presentation/blocs/index.dart rename to lib/features/menu/presentation/blocs/index.dart diff --git a/lib/shared/components/molecules/menu/presentation/blocs/menu_bloc.dart b/lib/features/menu/presentation/blocs/menu_bloc.dart similarity index 74% rename from lib/shared/components/molecules/menu/presentation/blocs/menu_bloc.dart rename to lib/features/menu/presentation/blocs/menu_bloc.dart index 4875d9fc..4d4bb797 100644 --- a/lib/shared/components/molecules/menu/presentation/blocs/menu_bloc.dart +++ b/lib/features/menu/presentation/blocs/menu_bloc.dart @@ -1,15 +1,9 @@ import 'dart:async'; -import 'dart:developer'; - -import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; - -import 'package:hub/shared/components/molecules/menu/data/repositories/menu_repository_impl.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; -import 'package:hub/shared/components/molecules/modules/index.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:hub/features/menu/index.dart'; +import 'package:hub/features/module/index.dart'; +import 'package:hub/features/local/index.dart'; class MenuEvent {} diff --git a/lib/shared/components/molecules/menu/presentation/blocs/menu_item_bloc.dart b/lib/features/menu/presentation/blocs/menu_item_bloc.dart similarity index 100% rename from lib/shared/components/molecules/menu/presentation/blocs/menu_item_bloc.dart rename to lib/features/menu/presentation/blocs/menu_item_bloc.dart diff --git a/lib/shared/components/molecules/menu/presentation/blocs/menu_view_bloc.dart b/lib/features/menu/presentation/blocs/menu_view_bloc.dart similarity index 100% rename from lib/shared/components/molecules/menu/presentation/blocs/menu_view_bloc.dart rename to lib/features/menu/presentation/blocs/menu_view_bloc.dart diff --git a/lib/shared/components/molecules/menu/presentation/index.dart b/lib/features/menu/presentation/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/presentation/index.dart rename to lib/features/menu/presentation/index.dart diff --git a/lib/shared/components/molecules/menu/presentation/mappers/index.dart b/lib/features/menu/presentation/mappers/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/presentation/mappers/index.dart rename to lib/features/menu/presentation/mappers/index.dart diff --git a/lib/shared/components/molecules/menu/presentation/mappers/menu_entry.dart b/lib/features/menu/presentation/mappers/menu_entry.dart similarity index 97% rename from lib/shared/components/molecules/menu/presentation/mappers/menu_entry.dart rename to lib/features/menu/presentation/mappers/menu_entry.dart index 8ef2b2a5..aec4f987 100644 --- a/lib/shared/components/molecules/menu/presentation/mappers/menu_entry.dart +++ b/lib/features/menu/presentation/mappers/menu_entry.dart @@ -1,7 +1,8 @@ import 'package:flutter/material.dart'; +import 'package:hub/features/module/index.dart'; import 'package:hub/flutter_flow/internationalization.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/components/molecules/modules/domain/entities/base_module.dart'; +import 'package:material_symbols_icons/symbols.dart'; enum MenuEntryType { Home, Drawer, Property } @@ -35,7 +36,7 @@ class MenuEntry implements BaseModule { key: 'FRE-HUB-AGE-PROV-DELIVERY', icon: Icons.sports_motorsports_outlined, name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText( - ptText: 'Agendar Delivery', + ptText: 'Agendar Entregas', enText: 'Schedule Delivery', ), route: '/deliverySchedule', @@ -61,16 +62,6 @@ class MenuEntry implements BaseModule { route: '/scheduleCompleteVisitPage', types: [MenuEntryType.Home, MenuEntryType.Drawer], ), - MenuEntry( - key: 'FRE-HUB-PROVISIONAL-HISTORY', - icon: Icons.person_search_outlined, - name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText( - ptText: 'Consultar Agendas', - enText: 'Provisional History', - ), - route: '/provisionalHistoryPage', - types: [MenuEntryType.Home, MenuEntryType.Drawer], - ), MenuEntry( key: 'FRE-HUB-RESIDENTS', icon: Icons.groups, @@ -179,6 +170,16 @@ class MenuEntry implements BaseModule { route: '/liberationHistory', types: [MenuEntryType.Home, MenuEntryType.Drawer], ), + MenuEntry( + key: 'FRE-HUB-PROVISIONAL-HISTORY', + icon: Symbols.calendar_clock, + name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText( + ptText: 'Consultar Agendas', + enText: 'Provisional History', + ), + route: '/provisionalHistoryPage', + types: [MenuEntryType.Home, MenuEntryType.Drawer], + ), MenuEntry( key: 'FRE-HUB-MESSAGES', icon: Icons.chat_outlined, diff --git a/lib/shared/components/molecules/menu/presentation/widgets/index.dart b/lib/features/menu/presentation/widgets/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/presentation/widgets/index.dart rename to lib/features/menu/presentation/widgets/index.dart diff --git a/lib/shared/components/molecules/menu/presentation/widgets/menu_factory.dart b/lib/features/menu/presentation/widgets/menu_factory.dart similarity index 85% rename from lib/shared/components/molecules/menu/presentation/widgets/menu_factory.dart rename to lib/features/menu/presentation/widgets/menu_factory.dart index 6a128366..2229d20f 100644 --- a/lib/shared/components/molecules/menu/presentation/widgets/menu_factory.dart +++ b/lib/features/menu/presentation/widgets/menu_factory.dart @@ -1,11 +1,9 @@ -import 'package:hub/flutter_flow/nav/nav.dart'; +import 'package:hub/features/local/index.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import 'package:hub/features/menu/index.dart'; +import 'package:hub/features/module/index.dart'; -import 'package:hub/flutter_flow/flutter_flow_theme.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; -import 'package:hub/shared/components/molecules/modules/index.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; import 'package:hub/shared/utils/loading_util.dart'; class Menufactory extends StatelessWidget { diff --git a/lib/shared/components/molecules/menu/presentation/widgets/menu_item/index.dart b/lib/features/menu/presentation/widgets/menu_item/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/presentation/widgets/menu_item/index.dart rename to lib/features/menu/presentation/widgets/menu_item/index.dart diff --git a/lib/shared/components/molecules/menu/presentation/widgets/menu_item/menu_item_button.dart b/lib/features/menu/presentation/widgets/menu_item/menu_item_button.dart similarity index 98% rename from lib/shared/components/molecules/menu/presentation/widgets/menu_item/menu_item_button.dart rename to lib/features/menu/presentation/widgets/menu_item/menu_item_button.dart index b52f0b28..c8f81e31 100644 --- a/lib/shared/components/molecules/menu/presentation/widgets/menu_item/menu_item_button.dart +++ b/lib/features/menu/presentation/widgets/menu_item/menu_item_button.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; +import 'package:hub/features/menu/index.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; class ButtonMenuItem extends MenuItem { const ButtonMenuItem({ diff --git a/lib/shared/components/molecules/menu/presentation/widgets/menu_item/menu_item_card.dart b/lib/features/menu/presentation/widgets/menu_item/menu_item_card.dart similarity index 97% rename from lib/shared/components/molecules/menu/presentation/widgets/menu_item/menu_item_card.dart rename to lib/features/menu/presentation/widgets/menu_item/menu_item_card.dart index d2aa5693..19843d1c 100644 --- a/lib/shared/components/molecules/menu/presentation/widgets/menu_item/menu_item_card.dart +++ b/lib/features/menu/presentation/widgets/menu_item/menu_item_card.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; +import 'package:hub/features/menu/index.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; class CardMenuItem extends MenuItem { const CardMenuItem({ diff --git a/lib/shared/components/molecules/menu/presentation/widgets/menu_view/index.dart b/lib/features/menu/presentation/widgets/menu_view/index.dart similarity index 100% rename from lib/shared/components/molecules/menu/presentation/widgets/menu_view/index.dart rename to lib/features/menu/presentation/widgets/menu_view/index.dart diff --git a/lib/shared/components/molecules/menu/presentation/widgets/menu_view/menu_list_view.dart b/lib/features/menu/presentation/widgets/menu_view/menu_list_view.dart similarity index 98% rename from lib/shared/components/molecules/menu/presentation/widgets/menu_view/menu_list_view.dart rename to lib/features/menu/presentation/widgets/menu_view/menu_list_view.dart index cd0e6f58..5146a97a 100644 --- a/lib/shared/components/molecules/menu/presentation/widgets/menu_view/menu_list_view.dart +++ b/lib/features/menu/presentation/widgets/menu_view/menu_list_view.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; +import 'package:hub/features/menu/domain/index.dart'; import '/flutter_flow/flutter_flow_icon_button.dart'; import '/flutter_flow/flutter_flow_theme.dart'; diff --git a/lib/shared/components/molecules/menu/presentation/widgets/menu_view/menu_staggered_view.dart b/lib/features/menu/presentation/widgets/menu_view/menu_staggered_view.dart similarity index 98% rename from lib/shared/components/molecules/menu/presentation/widgets/menu_view/menu_staggered_view.dart rename to lib/features/menu/presentation/widgets/menu_view/menu_staggered_view.dart index 07f77818..371fac5a 100644 --- a/lib/shared/components/molecules/menu/presentation/widgets/menu_view/menu_staggered_view.dart +++ b/lib/features/menu/presentation/widgets/menu_view/menu_staggered_view.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; +import 'package:hub/features/menu/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; diff --git a/lib/shared/components/molecules/modules/constants/index.dart b/lib/features/module/constants/index.dart similarity index 100% rename from lib/shared/components/molecules/modules/constants/index.dart rename to lib/features/module/constants/index.dart diff --git a/lib/shared/components/molecules/modules/constants/license_constants.dart b/lib/features/module/constants/license_constants.dart similarity index 100% rename from lib/shared/components/molecules/modules/constants/license_constants.dart rename to lib/features/module/constants/license_constants.dart diff --git a/lib/shared/components/molecules/modules/data/data_sources/index.dart b/lib/features/module/data/data_sources/index.dart similarity index 100% rename from lib/shared/components/molecules/modules/data/data_sources/index.dart rename to lib/features/module/data/data_sources/index.dart diff --git a/lib/shared/components/molecules/modules/data/data_sources/license_local_data_source.dart b/lib/features/module/data/data_sources/license_local_data_source.dart similarity index 76% rename from lib/shared/components/molecules/modules/data/data_sources/license_local_data_source.dart rename to lib/features/module/data/data_sources/license_local_data_source.dart index 25e9d256..25251b41 100644 --- a/lib/shared/components/molecules/modules/data/data_sources/license_local_data_source.dart +++ b/lib/features/module/data/data_sources/license_local_data_source.dart @@ -1,11 +1,6 @@ -import 'dart:developer'; - -import 'package:hub/shared/components/molecules/modules/index.dart'; -import 'package:hub/shared/helpers/database/database_helper.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/module/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/shared/extensions/string_extensions.dart'; -import 'package:sqflite/sqflite.dart'; abstract class LicenseLocalDataSource { Future init(); @@ -25,7 +20,7 @@ class LicenseLocalDataSourceImpl implements LicenseLocalDataSource { @override Future init() async { - await DatabaseStorage.instance.init(); + await DatabaseService.instance.init(); } @override @@ -46,14 +41,14 @@ class LicenseLocalDataSourceImpl implements LicenseLocalDataSource { @override Future isNewVersion() async { final String? reponse = - await StorageHelper().get(KeychainStorageKey.isNewVersion.value); + await StorageHelper().get(LocalsStorageKey.isNewVersion.key); final bool isNewVersion = reponse.toBoolean(); return isNewVersion; } @override Future get(String key) async { - var response = await DatabaseStorage.database + var response = await DatabaseService.database .query(tableLicense, where: 'key = ?', whereArgs: [key]); if (response.isEmpty) { return null; @@ -68,7 +63,7 @@ class LicenseLocalDataSourceImpl implements LicenseLocalDataSource { if (value.isEmpty) return; if (key == 'null') return; - await DatabaseStorage.database.rawInsert( + await DatabaseService.database.rawInsert( 'INSERT OR REPLACE INTO $tableLicense (key, display, expirationDate, startDate, quantity) VALUES (?, ?, ?, ?, ?)', [ key, @@ -83,12 +78,12 @@ class LicenseLocalDataSourceImpl implements LicenseLocalDataSource { @override Future del(String key) async { - await DatabaseStorage.database + await DatabaseService.database .delete(tableLicense, where: 'key = ?', whereArgs: [key]); } @override Future clear() async { - await DatabaseStorage.database.delete(tableLicense); + await DatabaseService.database.delete(tableLicense); } } diff --git a/lib/shared/components/molecules/modules/data/data_sources/license_remote_data_source.dart b/lib/features/module/data/data_sources/license_remote_data_source.dart similarity index 92% rename from lib/shared/components/molecules/modules/data/data_sources/license_remote_data_source.dart rename to lib/features/module/data/data_sources/license_remote_data_source.dart index c47abfd2..12e75bac 100644 --- a/lib/shared/components/molecules/modules/data/data_sources/license_remote_data_source.dart +++ b/lib/features/module/data/data_sources/license_remote_data_source.dart @@ -3,11 +3,9 @@ import 'dart:async'; import 'dart:developer'; -import 'package:hub/backend/api_requests/api_calls.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; -import 'package:hub/shared/components/molecules/modules/index.dart'; -import 'package:hub/shared/helpers/database/database_helper.dart'; - +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/local/data/repositories/locals_repository_impl.dart'; +import 'package:hub/features/module/index.dart'; import 'package:sqflite/sqflite.dart'; abstract class LicenseRemoteDataSource { @@ -96,7 +94,7 @@ class LicenseRemoteDataSourceImpl implements LicenseRemoteDataSource { } catch (e, s) { log('Erro ao obter licenças: $e', stackTrace: s); // return await setupLicense(DatabaseStorage.database, isNewVersion); - return false; + return true; } } diff --git a/lib/shared/components/molecules/modules/data/index.dart b/lib/features/module/data/index.dart similarity index 100% rename from lib/shared/components/molecules/modules/data/index.dart rename to lib/features/module/data/index.dart diff --git a/lib/shared/components/molecules/modules/data/models/index.dart b/lib/features/module/data/models/index.dart similarity index 100% rename from lib/shared/components/molecules/modules/data/models/index.dart rename to lib/features/module/data/models/index.dart diff --git a/lib/shared/components/molecules/modules/data/models/license_model.dart b/lib/features/module/data/models/license_model.dart similarity index 100% rename from lib/shared/components/molecules/modules/data/models/license_model.dart rename to lib/features/module/data/models/license_model.dart diff --git a/lib/shared/components/molecules/modules/data/models/license_model.freezed.dart b/lib/features/module/data/models/license_model.freezed.dart similarity index 100% rename from lib/shared/components/molecules/modules/data/models/license_model.freezed.dart rename to lib/features/module/data/models/license_model.freezed.dart diff --git a/lib/shared/components/molecules/modules/data/models/license_model.g.dart b/lib/features/module/data/models/license_model.g.dart similarity index 100% rename from lib/shared/components/molecules/modules/data/models/license_model.g.dart rename to lib/features/module/data/models/license_model.g.dart diff --git a/lib/shared/components/molecules/modules/data/models/module_model.dart b/lib/features/module/data/models/module_model.dart similarity index 100% rename from lib/shared/components/molecules/modules/data/models/module_model.dart rename to lib/features/module/data/models/module_model.dart diff --git a/lib/shared/components/molecules/modules/data/models/module_model.freezed.dart b/lib/features/module/data/models/module_model.freezed.dart similarity index 100% rename from lib/shared/components/molecules/modules/data/models/module_model.freezed.dart rename to lib/features/module/data/models/module_model.freezed.dart diff --git a/lib/shared/components/molecules/modules/data/models/module_model.g.dart b/lib/features/module/data/models/module_model.g.dart similarity index 100% rename from lib/shared/components/molecules/modules/data/models/module_model.g.dart rename to lib/features/module/data/models/module_model.g.dart diff --git a/lib/shared/components/molecules/modules/data/repositories/index.dart b/lib/features/module/data/repositories/index.dart similarity index 100% rename from lib/shared/components/molecules/modules/data/repositories/index.dart rename to lib/features/module/data/repositories/index.dart diff --git a/lib/shared/components/molecules/modules/data/repositories/license_repository_impl.dart b/lib/features/module/data/repositories/license_repository_impl.dart similarity index 66% rename from lib/shared/components/molecules/modules/data/repositories/license_repository_impl.dart rename to lib/features/module/data/repositories/license_repository_impl.dart index 824315c6..643f6473 100644 --- a/lib/shared/components/molecules/modules/data/repositories/license_repository_impl.dart +++ b/lib/features/module/data/repositories/license_repository_impl.dart @@ -1,9 +1,8 @@ import 'dart:developer'; -import 'package:hub/shared/components/molecules/modules/data/data_sources/license_local_data_source.dart'; -import 'package:hub/shared/components/molecules/modules/data/data_sources/license_remote_data_source.dart'; -import 'package:hub/shared/components/molecules/modules/domain/respositories/license_repository.dart'; -import 'package:hub/shared/helpers/database/database_helper.dart'; +import 'package:hub/features/module/data/data_sources/index.dart'; +import 'package:hub/features/module/domain/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:sqflite/sqflite.dart'; typedef LicenseStatus = bool; @@ -12,7 +11,7 @@ class LicenseRepositoryImpl implements LicenseRepository { final LicenseLocalDataSource localDataSource = LicenseLocalDataSourceImpl(); final LicenseRemoteDataSource remoteDataSource = LicenseRemoteDataSourceImpl(); - final Database database = DatabaseStorage.database; + final Database database = DatabaseService.database; LicenseRepositoryImpl(); @@ -21,9 +20,11 @@ class LicenseRepositoryImpl implements LicenseRepository { log('updateLicense'); bool result = false; final bool isNewVersion = await localDataSource.isNewVersion(); - result = await remoteDataSource.setupLicense(database, isNewVersion); if (isNewVersion) { + await remoteDataSource.setupLicense(database, isNewVersion); result = await remoteDataSource.fetchLicenses(isNewVersion); + } else { + result = await remoteDataSource.setupLicense(database, isNewVersion); } return result; diff --git a/lib/shared/components/molecules/modules/domain/entities/base_module.dart b/lib/features/module/domain/entities/base_module.dart similarity index 100% rename from lib/shared/components/molecules/modules/domain/entities/base_module.dart rename to lib/features/module/domain/entities/base_module.dart diff --git a/lib/shared/components/molecules/modules/domain/entities/index.dart b/lib/features/module/domain/entities/index.dart similarity index 100% rename from lib/shared/components/molecules/modules/domain/entities/index.dart rename to lib/features/module/domain/entities/index.dart diff --git a/lib/shared/components/molecules/modules/domain/entities/license.dart b/lib/features/module/domain/entities/license.dart similarity index 96% rename from lib/shared/components/molecules/modules/domain/entities/license.dart rename to lib/features/module/domain/entities/license.dart index 9864b87b..17a70650 100644 --- a/lib/shared/components/molecules/modules/domain/entities/license.dart +++ b/lib/features/module/domain/entities/license.dart @@ -1,6 +1,5 @@ +import 'package:hub/features/storage/index.dart'; import 'package:hub/shared/extensions/string_extensions.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; import 'module.dart'; @@ -62,7 +61,7 @@ class License { static Future _precessWpp() async { final bool whatsapp = await StorageHelper() - .get(KeychainStorageKey.whatsapp.value) + .get(LocalsStorageKey.whatsapp.key) .then((v) => v.toBoolean()); if (whatsapp) return ModuleStatus.active.key; @@ -72,7 +71,7 @@ class License { static Future _processProvisional() async { final bool provisional = await StorageHelper() - .get(KeychainStorageKey.provisional.value) + .get(LocalsStorageKey.provisional.key) .then((v) => v.toBoolean()); if (provisional) return ModuleStatus.active.key; @@ -82,7 +81,7 @@ class License { static Future _processPets() async { final bool pets = await StorageHelper() - .get(KeychainStorageKey.pets.value) + .get(LocalsStorageKey.pets.key) .then((v) => v.toBoolean()); if (pets) return ModuleStatus.active.key; diff --git a/lib/shared/components/molecules/modules/domain/entities/module.dart b/lib/features/module/domain/entities/module.dart similarity index 94% rename from lib/shared/components/molecules/modules/domain/entities/module.dart rename to lib/features/module/domain/entities/module.dart index 7cea6613..a0b36a12 100644 --- a/lib/shared/components/molecules/modules/domain/entities/module.dart +++ b/lib/features/module/domain/entities/module.dart @@ -1,4 +1,4 @@ -import 'package:hub/shared/components/molecules/modules/data/models/module_model.dart'; +import 'package:hub/features/module/index.dart'; enum ModuleStatus { active, inactive, disabled } diff --git a/lib/shared/components/molecules/modules/domain/index.dart b/lib/features/module/domain/index.dart similarity index 100% rename from lib/shared/components/molecules/modules/domain/index.dart rename to lib/features/module/domain/index.dart diff --git a/lib/shared/components/molecules/modules/domain/respositories/index.dart b/lib/features/module/domain/respositories/index.dart similarity index 100% rename from lib/shared/components/molecules/modules/domain/respositories/index.dart rename to lib/features/module/domain/respositories/index.dart diff --git a/lib/shared/components/molecules/modules/domain/respositories/license_repository.dart b/lib/features/module/domain/respositories/license_repository.dart similarity index 100% rename from lib/shared/components/molecules/modules/domain/respositories/license_repository.dart rename to lib/features/module/domain/respositories/license_repository.dart diff --git a/lib/features/module/domain/usecases/index.dart b/lib/features/module/domain/usecases/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/module/domain/usecases/index.dart @@ -0,0 +1 @@ + diff --git a/lib/shared/components/molecules/modules/index.dart b/lib/features/module/index.dart similarity index 100% rename from lib/shared/components/molecules/modules/index.dart rename to lib/features/module/index.dart diff --git a/lib/features/module/presentation/blocs/index.dart b/lib/features/module/presentation/blocs/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/module/presentation/blocs/index.dart @@ -0,0 +1 @@ + diff --git a/lib/shared/components/molecules/modules/presentation/index.dart b/lib/features/module/presentation/index.dart similarity index 100% rename from lib/shared/components/molecules/modules/presentation/index.dart rename to lib/features/module/presentation/index.dart diff --git a/lib/features/module/presentation/widgets/index.dart b/lib/features/module/presentation/widgets/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/module/presentation/widgets/index.dart @@ -0,0 +1 @@ + diff --git a/lib/shared/services/deeplink/deep_link_service.dart b/lib/features/notification/deep_link_service.dart similarity index 97% rename from lib/shared/services/deeplink/deep_link_service.dart rename to lib/features/notification/deep_link_service.dart index 1b44fd44..f7aa1ac0 100644 --- a/lib/shared/services/deeplink/deep_link_service.dart +++ b/lib/features/notification/deep_link_service.dart @@ -2,10 +2,10 @@ import 'dart:async'; import 'dart:developer'; import 'package:app_links/app_links.dart'; import 'package:flutter/material.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/pages/forgot_password_page/forgot_password_screen.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; class DeepLinkService { static final DeepLinkService _instance = DeepLinkService._internal(); diff --git a/lib/backend/notifications/firebase_messaging_service.dart b/lib/features/notification/firebase_messaging_service.dart similarity index 90% rename from lib/backend/notifications/firebase_messaging_service.dart rename to lib/features/notification/firebase_messaging_service.dart index 846be8a9..68fc300a 100644 --- a/lib/backend/notifications/firebase_messaging_service.dart +++ b/lib/features/notification/firebase_messaging_service.dart @@ -1,9 +1,9 @@ import 'dart:developer'; import 'package:firebase_messaging/firebase_messaging.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; + import 'package:hub/shared/utils/log_util.dart'; import 'notification_service.dart'; diff --git a/lib/features/notification/index.dart b/lib/features/notification/index.dart new file mode 100644 index 00000000..0fa0fda8 --- /dev/null +++ b/lib/features/notification/index.dart @@ -0,0 +1,3 @@ +export 'deep_link_service.dart'; +export 'firebase_messaging_service.dart'; +export 'notification_service.dart'; diff --git a/lib/backend/notifications/notification_service.dart b/lib/features/notification/notification_service.dart similarity index 97% rename from lib/backend/notifications/notification_service.dart rename to lib/features/notification/notification_service.dart index ecd7c88f..8e1662d6 100644 --- a/lib/backend/notifications/notification_service.dart +++ b/lib/features/notification/notification_service.dart @@ -1,15 +1,14 @@ import 'package:awesome_notifications/awesome_notifications.dart'; import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/templates_components/details_component/details_component_widget.dart'; import 'package:hub/components/templates_components/message_notificaion_modal_template_component/message_notification_widget.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; import 'package:hub/shared/utils/dialog_util.dart'; Future onMessageReceived( @@ -17,7 +16,7 @@ Future onMessageReceived( final localId = jsonDecode(payload['local']!)['CLI_ID']; final cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; answersRequest( {required BuildContext context, @@ -290,13 +289,13 @@ class NotificationService { .isNotificationAllowed() .then((isAllowed) async { final bool requestOSnotification = (await StorageHelper() - .get(KeychainStorageKey.requestOSNotification.value)) == + .get(LocalsStorageKey.requestOSNotification.key)) == 'true'; if (requestOSnotification == false) { if (isAllowed == false) { await StorageHelper() - .set(KeychainStorageKey.requestOSNotification.value, true); + .set(LocalsStorageKey.requestOSNotification.key, true); await AwesomeNotifications().requestPermissionToSendNotifications(); } } diff --git a/lib/features/profile/data/data_sources/index.dart b/lib/features/profile/data/data_sources/index.dart new file mode 100644 index 00000000..df355299 --- /dev/null +++ b/lib/features/profile/data/data_sources/index.dart @@ -0,0 +1 @@ +export 'profile_local_data_source.dart'; diff --git a/lib/shared/helpers/storage/keychain_storage.dart b/lib/features/profile/data/data_sources/profile_local_data_source.dart similarity index 64% rename from lib/shared/helpers/storage/keychain_storage.dart rename to lib/features/profile/data/data_sources/profile_local_data_source.dart index 4f261b8e..8b0f9d1e 100644 --- a/lib/shared/helpers/storage/keychain_storage.dart +++ b/lib/features/profile/data/data_sources/profile_local_data_source.dart @@ -1,27 +1,31 @@ import 'dart:developer'; +import 'package:hub/features/storage/constants/profile_constants.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/shared/constants/index.dart'; -import 'package:hub/shared/helpers/database/database_helper.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; + import 'package:sqflite/sqflite.dart'; -class KeychainHelper implements BaseStorage { - KeychainHelper._(); +abstract class ProfileLocalDataSource implements DatabaseStorage {} - static final KeychainHelper instance = KeychainHelper._(); +class ProfileLocalDataSourceImpl implements ProfileLocalDataSource { + static final ProfileLocalDataSourceImpl _instance = + ProfileLocalDataSourceImpl._internal(); + factory ProfileLocalDataSourceImpl() => _instance; + ProfileLocalDataSourceImpl._internal(); bool _isInitialized = false; @override Future init() async { if (_isInitialized) return; - await DatabaseStorage.instance.init(); + await DatabaseService.instance.init(); _isInitialized = true; } @override Future get(String key) async { - var response = await DatabaseStorage.database + var response = await DatabaseService.database .query(tableKeychain, where: 'key = ?', whereArgs: [key]); if (response.isEmpty) { return null; @@ -33,7 +37,7 @@ class KeychainHelper implements BaseStorage { @override Future set(String key, T value) async { var date = DateTime.now().toIso8601String(); - await DatabaseStorage.database.insert( + await DatabaseService.database.insert( tableKeychain, { 'key': key, @@ -49,14 +53,14 @@ class KeychainHelper implements BaseStorage { @override Future delete(String key) async { - await DatabaseStorage.database + await DatabaseService.database .delete(tableKeychain, where: 'key = ?', whereArgs: [key]); } @override Future clearAll() async { try { - await DatabaseStorage.database.delete(tableKeychain); + await DatabaseService.database.delete(tableKeychain); } catch (e, s) { log('() => clearAll keychain: $e', stackTrace: s); } diff --git a/lib/features/profile/data/index.dart b/lib/features/profile/data/index.dart new file mode 100644 index 00000000..186dfac9 --- /dev/null +++ b/lib/features/profile/data/index.dart @@ -0,0 +1,3 @@ +export 'data_sources/index.dart'; +export 'repositories/index.dart'; +export 'models/index.dart'; diff --git a/lib/features/profile/data/models/index.dart b/lib/features/profile/data/models/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/profile/data/models/index.dart @@ -0,0 +1 @@ + diff --git a/lib/features/profile/data/repositories/index.dart b/lib/features/profile/data/repositories/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/profile/data/repositories/index.dart @@ -0,0 +1 @@ + diff --git a/lib/features/profile/domain/entities/index.dart b/lib/features/profile/domain/entities/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/profile/domain/entities/index.dart @@ -0,0 +1 @@ + diff --git a/lib/features/profile/domain/index.dart b/lib/features/profile/domain/index.dart new file mode 100644 index 00000000..00b76d59 --- /dev/null +++ b/lib/features/profile/domain/index.dart @@ -0,0 +1,3 @@ +export 'entities/index.dart'; +export 'respositories/index.dart'; +export 'usecases/index.dart'; diff --git a/lib/features/profile/domain/respositories/index.dart b/lib/features/profile/domain/respositories/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/profile/domain/respositories/index.dart @@ -0,0 +1 @@ + diff --git a/lib/features/profile/domain/usecases/index.dart b/lib/features/profile/domain/usecases/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/profile/domain/usecases/index.dart @@ -0,0 +1 @@ + diff --git a/lib/features/profile/index.dart b/lib/features/profile/index.dart new file mode 100644 index 00000000..aa560630 --- /dev/null +++ b/lib/features/profile/index.dart @@ -0,0 +1,3 @@ +export 'data/index.dart'; +export 'domain/index.dart'; +export 'presentation/index.dart'; diff --git a/lib/features/profile/presentation/blocs/index.dart b/lib/features/profile/presentation/blocs/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/profile/presentation/blocs/index.dart @@ -0,0 +1 @@ + diff --git a/lib/features/profile/presentation/index.dart b/lib/features/profile/presentation/index.dart new file mode 100644 index 00000000..48b6447a --- /dev/null +++ b/lib/features/profile/presentation/index.dart @@ -0,0 +1,3 @@ +export 'blocs/index.dart'; +export 'pages/index.dart'; +export 'widgets/index.dart'; diff --git a/lib/features/profile/presentation/pages/index.dart b/lib/features/profile/presentation/pages/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/profile/presentation/pages/index.dart @@ -0,0 +1 @@ + diff --git a/lib/features/profile/presentation/widgets/index.dart b/lib/features/profile/presentation/widgets/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/profile/presentation/widgets/index.dart @@ -0,0 +1 @@ + diff --git a/lib/features/property/presentation/pages/about_property_screen.dart b/lib/features/property/presentation/pages/about_property_screen.dart index 8b63a474..9753b962 100644 --- a/lib/features/property/presentation/pages/about_property_screen.dart +++ b/lib/features/property/presentation/pages/about_property_screen.dart @@ -1,13 +1,11 @@ // ignore: must_be_immutable import 'package:flutter/material.dart'; -import 'package:hub/backend/schema/enums/enums.dart'; import 'package:hub/components/atomic_components/shared_components_atoms/appbar.dart'; +import 'package:hub/features/menu/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; -import 'package:hub/shared/components/molecules/modules/index.dart'; class AboutPropertyModel extends FlutterFlowModel { dynamic item; diff --git a/lib/features/storage/constants/index.dart b/lib/features/storage/constants/index.dart new file mode 100644 index 00000000..674329bd --- /dev/null +++ b/lib/features/storage/constants/index.dart @@ -0,0 +1,2 @@ +export 'locals_constants.dart'; +export 'profile_constants.dart'; diff --git a/lib/features/storage/constants/locals_constants.dart b/lib/features/storage/constants/locals_constants.dart new file mode 100644 index 00000000..626f4087 --- /dev/null +++ b/lib/features/storage/constants/locals_constants.dart @@ -0,0 +1,18 @@ +class LocalsConstants { + static const String tableLocalsKeychain = 'LocalsKeychain'; + + static String get createLocalsTable => ''' + CREATE TABLE IF NOT EXISTS $tableLocalsKeychain ( + key TEXT, + value TEXT, + type TEXT, + updateAt TEXT, + resolvedAt TEXT, + createdAt TEXT, + local TEXT, + UNIQUE (key, local) + ); + '''; + static String get deleteLocalsTable => + 'DROP TABLE IF EXISTS $tableLocalsKeychain;'; +} diff --git a/lib/shared/constants/keychain_constants.dart b/lib/features/storage/constants/profile_constants.dart similarity index 100% rename from lib/shared/constants/keychain_constants.dart rename to lib/features/storage/constants/profile_constants.dart diff --git a/lib/features/storage/enums/database_storage_key.dart b/lib/features/storage/enums/database_storage_key.dart new file mode 100644 index 00000000..f4028646 --- /dev/null +++ b/lib/features/storage/enums/database_storage_key.dart @@ -0,0 +1,47 @@ +abstract class DatabaseStorageKey {} + +enum ProfileStorageKey implements DatabaseStorageKey { + userEmail('fre_userEmail'), + devUUID('fre_devUUID'), + userUUID('fre_userUUID'), + userDevUUID('fre_userDevUUID'), + status('fre_status'), + userName('fre_userName'), + clientUUID('fre_cliUUID'), + ownerUUID('fre_ownerUUID'), + clientName('fre_cliName'), + ownerName('fre_ownerName'); + + final String key; + + const ProfileStorageKey(this.key); + + static const String table = 'profileTable'; + + static List get keys => + ProfileStorageKey.values.map((e) => e.key).toList(); +} + +enum LocalsStorageKey implements DatabaseStorageKey { + petAmount('fre_petAmountRegister'), + whatsapp('fre_whatsapp'), + provisional('fre_provisional'), + pets('fre_pets'), + local('fre_local'), + notify('fre_notify'), + fingerprint('fre_fingerprint'), + access('fre_access'), + panic('fre_panic'), + person('fre_person'), + requestOSNotification('fre_requestOSnotification'), + isNewVersion('fre_isNewVersion'); + + final String key; + + const LocalsStorageKey(this.key); + + static const String table = 'LocalsStorageKey'; + + static List get keys => + LocalsStorageKey.values.map((e) => e.key).toList(); +} diff --git a/lib/features/storage/enums/index.dart b/lib/features/storage/enums/index.dart new file mode 100644 index 00000000..ac61a5b2 --- /dev/null +++ b/lib/features/storage/enums/index.dart @@ -0,0 +1,4 @@ +export 'database_storage_key.dart'; +export 'secure_storage_key.dart'; +export 'shared_storage_key.dart'; +export 'storage.dart'; diff --git a/lib/features/storage/enums/secure_storage_key.dart b/lib/features/storage/enums/secure_storage_key.dart new file mode 100644 index 00000000..85472419 --- /dev/null +++ b/lib/features/storage/enums/secure_storage_key.dart @@ -0,0 +1,41 @@ +import 'package:hub/features/storage/index.dart'; + +enum SecureStorageKey implements ISecureStorageKey { + isLogged, + email, + password, + deviceType, + token, + accessPass, + panicPass, + fingerprintPass, + haveLocal, + deviceDescription, +} + +extension SecureStorageKeyExtension on SecureStorageKey { + String get value { + switch (this) { + case SecureStorageKey.isLogged: + return 'fre_isLogged'; + case SecureStorageKey.email: + return 'fre_email'; + case SecureStorageKey.password: + return 'fre_passwd'; + case SecureStorageKey.deviceType: + return 'fre_deviceType'; + case SecureStorageKey.token: + return 'fre_token'; + case SecureStorageKey.accessPass: + return 'fre_accessPass'; + case SecureStorageKey.panicPass: + return 'fre_panicPass'; + case SecureStorageKey.fingerprintPass: + return 'fre_fingerprintPass'; + case SecureStorageKey.haveLocal: + return 'fre_have_local'; + case SecureStorageKey.deviceDescription: + return 'fre_deviceDescription'; + } + } +} diff --git a/lib/features/storage/enums/shared_storage_key.dart b/lib/features/storage/enums/shared_storage_key.dart new file mode 100644 index 00000000..7cd1dc3e --- /dev/null +++ b/lib/features/storage/enums/shared_storage_key.dart @@ -0,0 +1,16 @@ +import 'package:hub/features/storage/index.dart'; + +enum SharedPreferencesKey implements ISharedPreferencesKey { + isFirstRun, +} + +extension SharedPreferencesKeyExtension on SharedPreferencesKey { + String get value { + switch (this) { + case SharedPreferencesKey.isFirstRun: + return 'fre_isFirstRun'; + default: + return ''; + } + } +} diff --git a/lib/features/storage/enums/storage.dart b/lib/features/storage/enums/storage.dart new file mode 100644 index 00000000..b881cf3f --- /dev/null +++ b/lib/features/storage/enums/storage.dart @@ -0,0 +1,7 @@ +import 'package:hub/features/storage/index.dart'; + +enum Storage implements IStorage { + secureStorage, + sharedPreferences, + databaseStorage, +} diff --git a/lib/features/storage/helpers/dabase_storage_helper.dart b/lib/features/storage/helpers/dabase_storage_helper.dart new file mode 100644 index 00000000..7bf0ba2c --- /dev/null +++ b/lib/features/storage/helpers/dabase_storage_helper.dart @@ -0,0 +1,46 @@ +import 'package:hub/features/local/index.dart'; +import 'package:hub/features/profile/index.dart'; +import 'package:hub/features/storage/index.dart'; + +class DatabaseStorage implements BaseStorage { + DatabaseStorage._(); + + static final DatabaseStorage instance = DatabaseStorage._(); + + // static final DatabaseStorage instance = DatabaseStorage._(); + + // late final Database _database; + // bool _isInitialized = false; + + static BaseStorage getInstanceByKey(String key) { + if (ProfileStorageKey.keys.contains(key)) // + { + return ProfileLocalDataSourceImpl(); + } else //if (LocalsStorageKey.values.contains(key)) + { + return LocalsLocalDataSourceImpl(); + } + } + + @override + Future clearAll() async { + await ProfileLocalDataSourceImpl().clearAll(); + await LocalsLocalDataSourceImpl().clearAll(); + } + + @override + Future delete(String key) async => + await getInstanceByKey(key).delete(key); + + @override + Future get(String key) async => // + await getInstanceByKey(key).get(key); + + @override + Future init() async => // + await DatabaseService.instance.init(); + + @override + Future set(String key, T value) async => + await getInstanceByKey(key).set(key, value); +} diff --git a/lib/features/storage/helpers/index.dart b/lib/features/storage/helpers/index.dart new file mode 100644 index 00000000..56c9c91c --- /dev/null +++ b/lib/features/storage/helpers/index.dart @@ -0,0 +1,3 @@ +export 'dabase_storage_helper.dart'; +export 'secure_storage_helper.dart'; +export 'shared_storage_helper.dart'; diff --git a/lib/shared/helpers/storage/secure_storage.dart b/lib/features/storage/helpers/secure_storage_helper.dart similarity index 95% rename from lib/shared/helpers/storage/secure_storage.dart rename to lib/features/storage/helpers/secure_storage_helper.dart index 18adf900..b3732665 100644 --- a/lib/shared/helpers/storage/secure_storage.dart +++ b/lib/features/storage/helpers/secure_storage_helper.dart @@ -1,7 +1,7 @@ import 'dart:developer'; import 'package:flutter_secure_storage/flutter_secure_storage.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; +import 'package:hub/features/storage/index.dart'; class SecureStorage implements BaseStorage { SecureStorage._(); diff --git a/lib/shared/helpers/storage/shared_preferences_storage.dart b/lib/features/storage/helpers/shared_storage_helper.dart similarity index 93% rename from lib/shared/helpers/storage/shared_preferences_storage.dart rename to lib/features/storage/helpers/shared_storage_helper.dart index a2561e2a..293205d2 100644 --- a/lib/shared/helpers/storage/shared_preferences_storage.dart +++ b/lib/features/storage/helpers/shared_storage_helper.dart @@ -1,4 +1,4 @@ -import 'package:hub/shared/helpers/storage/base_storage.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:shared_preferences/shared_preferences.dart'; class SharedPreferencesStorage implements BaseStorage { diff --git a/lib/features/storage/index.dart b/lib/features/storage/index.dart new file mode 100644 index 00000000..07a79a2a --- /dev/null +++ b/lib/features/storage/index.dart @@ -0,0 +1,6 @@ +export 'interfaces/index.dart'; +export 'enums/index.dart'; +export 'helpers/index.dart'; +export 'repositories/index.dart'; +export 'services/index.dart'; +export 'constants/index.dart'; diff --git a/lib/features/storage/interfaces/base_storage.dart b/lib/features/storage/interfaces/base_storage.dart new file mode 100644 index 00000000..c1cb6f45 --- /dev/null +++ b/lib/features/storage/interfaces/base_storage.dart @@ -0,0 +1,11 @@ +abstract class BaseStorage { + Future init(); + + Future set(String key, T value); + + Future get(String key); + + Future delete(String key); + + Future clearAll(); +} diff --git a/lib/features/storage/interfaces/database_storage.dart b/lib/features/storage/interfaces/database_storage.dart new file mode 100644 index 00000000..36dafd89 --- /dev/null +++ b/lib/features/storage/interfaces/database_storage.dart @@ -0,0 +1,3 @@ +import 'package:hub/features/storage/index.dart'; + +abstract class IDatabaseStorage implements IStorage {} diff --git a/lib/features/storage/interfaces/index.dart b/lib/features/storage/interfaces/index.dart new file mode 100644 index 00000000..582e38ee --- /dev/null +++ b/lib/features/storage/interfaces/index.dart @@ -0,0 +1,5 @@ +export 'base_storage.dart'; +export 'database_storage.dart'; +export 'secure_storage.dart'; +export 'shared_storage.dart'; +export 'storage.dart'; diff --git a/lib/features/storage/interfaces/secure_storage.dart b/lib/features/storage/interfaces/secure_storage.dart new file mode 100644 index 00000000..a78a931d --- /dev/null +++ b/lib/features/storage/interfaces/secure_storage.dart @@ -0,0 +1,3 @@ +import 'package:hub/features/storage/index.dart'; + +abstract class ISecureStorageKey implements IStorage {} diff --git a/lib/features/storage/interfaces/shared_storage.dart b/lib/features/storage/interfaces/shared_storage.dart new file mode 100644 index 00000000..f1e9fb35 --- /dev/null +++ b/lib/features/storage/interfaces/shared_storage.dart @@ -0,0 +1,3 @@ +import 'package:hub/features/storage/index.dart'; + +abstract class ISharedPreferencesKey implements IStorage {} diff --git a/lib/features/storage/interfaces/storage.dart b/lib/features/storage/interfaces/storage.dart new file mode 100644 index 00000000..d1902c81 --- /dev/null +++ b/lib/features/storage/interfaces/storage.dart @@ -0,0 +1 @@ +abstract class IStorage {} diff --git a/lib/features/storage/repositories/index.dart b/lib/features/storage/repositories/index.dart new file mode 100644 index 00000000..030753fc --- /dev/null +++ b/lib/features/storage/repositories/index.dart @@ -0,0 +1,2 @@ +export 'storage_repository.dart'; +export 'storage_repository_impl.dart'; diff --git a/lib/features/storage/repositories/storage_repository.dart b/lib/features/storage/repositories/storage_repository.dart new file mode 100644 index 00000000..1e4eb962 --- /dev/null +++ b/lib/features/storage/repositories/storage_repository.dart @@ -0,0 +1 @@ +abstract class StorageRepository {} diff --git a/lib/shared/helpers/storage/storage_helper.dart b/lib/features/storage/repositories/storage_repository_impl.dart similarity index 79% rename from lib/shared/helpers/storage/storage_helper.dart rename to lib/features/storage/repositories/storage_repository_impl.dart index 2dbc5703..30f3fd0d 100644 --- a/lib/shared/helpers/storage/storage_helper.dart +++ b/lib/features/storage/repositories/storage_repository_impl.dart @@ -1,12 +1,10 @@ import 'dart:developer'; import 'package:flutter/cupertino.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/keychain_storage.dart'; -import 'package:hub/shared/helpers/storage/secure_storage.dart'; -import 'package:hub/shared/helpers/storage/shared_preferences_storage.dart'; +import 'package:hub/features/profile/data/data_sources/profile_local_data_source.dart'; +import 'package:hub/features/storage/index.dart'; -class StorageHelper { +class StorageHelper implements StorageRepository { static final StorageHelper _instance = StorageHelper._internal(); factory StorageHelper() => _instance; StorageHelper._internal(); @@ -22,7 +20,7 @@ class StorageHelper { Future init() async { await SecureStorage.instance.init(); await SharedPreferencesStorage.instance.init(); - await KeychainHelper.instance.init(); + await DatabaseStorage.instance.init(); String? isFirstRun = await SharedPreferencesStorage.instance .get(SharedPreferencesKey.isFirstRun.value); @@ -42,12 +40,15 @@ class StorageHelper { case Storage.sharedPreferences: return SharedPreferencesStorage.instance; default: - return KeychainHelper.instance; + return DatabaseStorage.instance; } } static BaseStorage getInstanceByKey(String key) { - if (SecureStorageKey.values.map((e) => e.value).toList().contains(key)) { + if (SecureStorageKey.values // + .map((e) => e.value) + .toList() + .contains(key)) { return SecureStorage.instance; } else if (SharedPreferencesKey.values .map((e) => e.value) @@ -55,7 +56,7 @@ class StorageHelper { .contains(key)) { return SharedPreferencesStorage.instance; } else { - return KeychainHelper.instance; + return DatabaseStorage.instance; } } diff --git a/lib/shared/helpers/database/database_helper.dart b/lib/features/storage/services/database_storage_service.dart similarity index 66% rename from lib/shared/helpers/database/database_helper.dart rename to lib/features/storage/services/database_storage_service.dart index ba26e34d..082a3e7d 100644 --- a/lib/shared/helpers/database/database_helper.dart +++ b/lib/features/storage/services/database_storage_service.dart @@ -1,17 +1,15 @@ -import 'package:hub/shared/components/molecules/modules/index.dart'; -import 'package:hub/shared/constants/index.dart'; -import 'package:hub/shared/helpers/storage/keychain_storage.dart'; +import 'package:hub/features/module/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:sqflite/sqflite.dart'; import 'package:path/path.dart'; -import 'dart:developer'; -class DatabaseStorage { +class DatabaseService { static const String _dbName = 'database.db'; - static const int _dbVersion = 2; + static const int _dbVersion = 3; - static final DatabaseStorage instance = DatabaseStorage._internal(); - factory DatabaseStorage() => instance; - DatabaseStorage._internal(); + static final DatabaseService instance = DatabaseService._internal(); + factory DatabaseService() => instance; + DatabaseService._internal(); static Database? _database; static Database get database { @@ -50,14 +48,22 @@ class DatabaseStorage { Future _onCreate(Database database, int version) async { print('Creating database...'); - await _createTables(database, version); + await database.execute(createKeychainTable); + await _onUpgrade(database, 1, _dbVersion); } Future _onUpgrade( Database database, int oldVersion, int newVersion) async { print('Upgrading database from version $oldVersion to $newVersion...'); if (oldVersion < 2 && newVersion >= 2) { - await _createTables(database, newVersion); + await database.execute(LicenseConstants.createLicenseTable); + await database.execute(LicenseConstants.updatePetsHistoryTrigger); + await database.execute(LicenseConstants.updateDisplayTrigger); + await database.execute(LicenseConstants.insertDisplayTrigger); + await database.execute(LicenseConstants.updatePeopleDisplayTrigger); + } + if (oldVersion < 3 && newVersion >= 3) { + await database.execute(LocalsConstants.createLocalsTable); } } @@ -65,7 +71,14 @@ class DatabaseStorage { Database database, int oldVersion, int newVersion) async { print('Downgrading database from version $oldVersion to $newVersion...'); if (oldVersion >= 2 && newVersion < 2) { - await _dropTables(database); + await database.execute(LicenseConstants.deleteLicenseTable); + await database.execute(LicenseConstants.dropPeopleDisplayTrigger); + await database.execute(LicenseConstants.dropInsertDisplayTrigger); + await database.execute(LicenseConstants.dropUpdateDisplayTrigger); + await database.execute(LicenseConstants.dropPetsHistoryTrigger); + } + if (oldVersion >= 3 && newVersion > 3) { + await database.execute(LocalsConstants.deleteLocalsTable); } } @@ -75,23 +88,4 @@ class DatabaseStorage { // await database.execute('PRAGMA temp_store = MEMORY;'); // await database.execute('PRAGMA foreign_keys = ON;'); } - - Future _createTables(Database database, int version) async { - await database.execute(createKeychainTable); - await database.execute(LicenseConstants.createLicenseTable); - if (version >= 2) { - await database.execute(LicenseConstants.updatePetsHistoryTrigger); - await database.execute(LicenseConstants.updateDisplayTrigger); - await database.execute(LicenseConstants.insertDisplayTrigger); - await database.execute(LicenseConstants.updatePeopleDisplayTrigger); - } - } - - Future _dropTables(Database database) async { - await database.execute(LicenseConstants.deleteLicenseTable); - await database.execute(LicenseConstants.dropPeopleDisplayTrigger); - await database.execute(LicenseConstants.dropInsertDisplayTrigger); - await database.execute(LicenseConstants.dropUpdateDisplayTrigger); - await database.execute(LicenseConstants.dropPetsHistoryTrigger); - } } diff --git a/lib/features/storage/services/index.dart b/lib/features/storage/services/index.dart new file mode 100644 index 00000000..d92898f1 --- /dev/null +++ b/lib/features/storage/services/index.dart @@ -0,0 +1,4 @@ +export 'database_storage_service.dart'; +export 'secure_storage_service.dart'; +export 'shared_storage_service.dart'; +export 'storage_service.dart'; diff --git a/lib/features/storage/services/secure_storage_service.dart b/lib/features/storage/services/secure_storage_service.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/storage/services/secure_storage_service.dart @@ -0,0 +1 @@ + diff --git a/lib/features/storage/services/shared_storage_service.dart b/lib/features/storage/services/shared_storage_service.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/storage/services/shared_storage_service.dart @@ -0,0 +1 @@ + diff --git a/lib/features/storage/services/storage_service.dart b/lib/features/storage/services/storage_service.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/features/storage/services/storage_service.dart @@ -0,0 +1 @@ + diff --git a/lib/flutter_flow/index.dart b/lib/flutter_flow/index.dart new file mode 100644 index 00000000..d27a3f04 --- /dev/null +++ b/lib/flutter_flow/index.dart @@ -0,0 +1,23 @@ +export 'custom_functions.dart'; +export 'custom_icons.dart'; +export 'flutter_flow_animations.dart'; +export 'flutter_flow_button_tabbar.dart'; +export 'flutter_flow_checkbox_group.dart'; +export 'flutter_flow_drop_down.dart'; +export 'flutter_flow_icon_button.dart'; +export 'flutter_flow_model.dart'; +export 'flutter_flow_theme.dart'; +export 'flutter_flow_util.dart'; +export 'flutter_flow_widgets.dart'; +export 'form_field_controller.dart'; +export 'internationalization.dart'; +export 'keep_alive_wrapper.dart'; +export 'lat_lng.dart'; +export 'permissions_util.dart'; +export 'place.dart'; +export 'random_data_util.dart'; +export 'request_manager.dart'; +export 'uploaded_file.dart'; +export 'upload_data.dart'; + +export 'nav/index.dart'; diff --git a/lib/flutter_flow/nav/index.dart b/lib/flutter_flow/nav/index.dart new file mode 100644 index 00000000..e1ef24f5 --- /dev/null +++ b/lib/flutter_flow/nav/index.dart @@ -0,0 +1,2 @@ +export 'nav.dart'; +export 'serialization_util.dart'; diff --git a/lib/flutter_flow/nav/nav.dart b/lib/flutter_flow/nav/nav.dart index 6072e7ed..007b1dda 100644 --- a/lib/flutter_flow/nav/nav.dart +++ b/lib/flutter_flow/nav/nav.dart @@ -1,13 +1,15 @@ import 'dart:async'; -import 'dart:developer'; import 'dart:io'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; -import 'package:hub/backend/schema/util/schema_util.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/features/history/index.dart'; import 'package:hub/features/home/index.dart'; +import 'package:hub/features/local/index.dart'; +import 'package:hub/features/menu/index.dart'; import 'package:hub/features/property/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/pages/delivery_schedule_page/delivery_schedule_widget.dart'; @@ -32,14 +34,6 @@ import 'package:hub/pages/sign_up_page/sign_up_page_widget.dart'; import 'package:hub/pages/vehicles_on_the_property/vehicles_on_the_property.dart'; import 'package:hub/pages/visits_on_the_property/visits_on_the_property_screen.dart'; import 'package:hub/pages/welcome_page/welcome_page_widget.dart'; -import 'package:hub/shared/components/molecules/locals/data/repositories/locals_repository_impl.dart'; -import 'package:hub/shared/components/molecules/locals/presentation/blocs/local_profile_bloc.dart'; -import 'package:hub/shared/components/molecules/menu/domain/entities/menu_item.dart'; -import 'package:hub/shared/components/molecules/menu/presentation/blocs/menu_bloc.dart'; -import 'package:hub/shared/components/molecules/menu/presentation/mappers/menu_entry.dart'; -import 'package:hub/shared/components/molecules/menu/presentation/widgets/menu_view/menu_list_view.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; import 'package:hub/shared/utils/dialog_util.dart'; import 'package:provider/provider.dart'; export 'package:go_router/go_router.dart'; @@ -99,11 +93,11 @@ GoRouter createRouter(AppStateNotifier appStateNotifier) { await StorageHelper().get(SecureStorageKey.haveLocal.value) == 'true'; final bool haveUserUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?.isNotEmpty ?? false; final bool haveDevUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?.isNotEmpty ?? false; diff --git a/lib/flutter_flow/nav/serialization_util.dart b/lib/flutter_flow/nav/serialization_util.dart index 5be44705..a4d36fd0 100644 --- a/lib/flutter_flow/nav/serialization_util.dart +++ b/lib/flutter_flow/nav/serialization_util.dart @@ -1,9 +1,7 @@ import 'dart:convert'; import 'package:flutter/material.dart'; - -import '/backend/schema/structs/index.dart'; -import '/backend/schema/enums/enums.dart'; +import 'package:hub/features/backend/index.dart'; import '../../flutter_flow/lat_lng.dart'; import '../../flutter_flow/place.dart'; diff --git a/lib/initialization.dart b/lib/initialization.dart index 564b073f..27bdc509 100644 --- a/lib/initialization.dart +++ b/lib/initialization.dart @@ -7,11 +7,11 @@ import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_web_plugins/url_strategy.dart'; -import 'package:hub/backend/notifications/notification_service.dart'; +import 'package:hub/features/notification/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; Future initializeApp() async { WidgetsFlutterBinding.ensureInitialized(); diff --git a/lib/main.dart b/lib/main.dart index 454daa68..b97e09e4 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -1,3 +1,5 @@ +// ignore_for_file: constant_identifier_names + import 'dart:async'; import 'dart:developer'; import 'dart:io'; @@ -6,13 +8,12 @@ import 'package:firebase_crashlytics/firebase_crashlytics.dart'; import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:flutter/material.dart'; import 'package:flutter_localizations/flutter_localizations.dart'; -import 'package:hub/backend/notifications/notification_service.dart'; +import 'package:hub/features/notification/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/internationalization.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; -import 'package:hub/shared/services/deeplink/deep_link_service.dart'; + import 'package:responsive_framework/responsive_framework.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; diff --git a/lib/pages/delivery_schedule_page/delivery_schedule_widget.dart b/lib/pages/delivery_schedule_page/delivery_schedule_widget.dart index 43872127..1cb9787f 100644 --- a/lib/pages/delivery_schedule_page/delivery_schedule_widget.dart +++ b/lib/pages/delivery_schedule_page/delivery_schedule_widget.dart @@ -51,14 +51,17 @@ class _DeliveryScheduleState extends State { ), title: Text( FFLocalizations.of(context).getVariableText( - enText: 'Delivery Schedule', ptText: 'Agendar Entregas'), + enText: 'Delivery Schedule', + ptText: 'Agendar Entregas', + ), style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, + fontSize: 16.0, fontWeight: FontWeight.bold, letterSpacing: 0.0, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), ), ), actions: const [], 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 532f37ed..6cc9a845 100644 --- a/lib/pages/fast_pass_page/fast_pass_page_widget.dart +++ b/lib/pages/fast_pass_page/fast_pass_page_widget.dart @@ -5,10 +5,9 @@ import 'dart:io' show Platform; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; import 'package:hub/shared/utils/webview_util.dart'; import 'package:url_launcher/url_launcher_string.dart'; import 'package:webview_flutter/webview_flutter.dart'; @@ -28,13 +27,13 @@ class _FastPassPageWidgetState extends State { final email = (await StorageHelper().get(SecureStorageKey.email.value)) ?? ''; final name = - (await StorageHelper().get(KeychainStorageKey.userName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userName.key)) ?? ''; final devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const createdAt = '0000-00-00 00:00:00'; final url = 'https://hub.freaccess.com.br/hub/fast-pass/$cliUUID'; final freUserData = diff --git a/lib/pages/forgot_password_page/forgot_password_screen.dart b/lib/pages/forgot_password_page/forgot_password_screen.dart index eed0de3a..bf737647 100644 --- a/lib/pages/forgot_password_page/forgot_password_screen.dart +++ b/lib/pages/forgot_password_page/forgot_password_screen.dart @@ -2,8 +2,9 @@ import 'package:easy_debounce/easy_debounce.dart'; import 'package:flutter/material.dart'; import 'package:flutter_animate/flutter_animate.dart'; import 'package:google_fonts/google_fonts.dart'; +import 'package:hub/features/auth/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; import '../../flutter_flow/flutter_flow_animations.dart'; import '../../flutter_flow/flutter_flow_icon_button.dart'; @@ -11,7 +12,6 @@ import '../../flutter_flow/flutter_flow_model.dart'; import '../../flutter_flow/flutter_flow_theme.dart'; import '../../flutter_flow/flutter_flow_widgets.dart'; import '../../flutter_flow/internationalization.dart'; -import '../../shared/services/authentication/authentication_service.dart'; import 'forgot_password_model.dart'; class ForgotPasswordScreen extends StatefulWidget { diff --git a/lib/pages/liberation_history/liberation_history_model.dart b/lib/pages/liberation_history/liberation_history_model.dart index 614fca97..dc93f26b 100644 --- a/lib/pages/liberation_history/liberation_history_model.dart +++ b/lib/pages/liberation_history/liberation_history_model.dart @@ -1,10 +1,9 @@ import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; import 'package:hub/flutter_flow/request_manager.dart'; import 'package:hub/pages/liberation_history/liberation_history_widget.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; class LiberationHistoryModel extends FlutterFlowModel { late final String devUUID; @@ -37,12 +36,11 @@ class LiberationHistoryModel extends FlutterFlowModel { } Future init() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; } Future answersRequest( diff --git a/lib/pages/liberation_history/liberation_history_widget.dart b/lib/pages/liberation_history/liberation_history_widget.dart index 3b26d363..2560e511 100644 --- a/lib/pages/liberation_history/liberation_history_widget.dart +++ b/lib/pages/liberation_history/liberation_history_widget.dart @@ -1,8 +1,8 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart'; import 'package:hub/components/templates_components/details_component/details_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; @@ -13,6 +13,7 @@ import 'package:hub/shared/utils/dialog_util.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; import 'package:hub/shared/utils/log_util.dart'; import 'package:hub/shared/utils/snackbar_util.dart'; + import 'package:hub/shared/utils/validator_util.dart'; class LiberationHistoryWidget extends StatefulWidget { @@ -121,12 +122,13 @@ class _LiberationHistoryWidgetState extends State { '784f83pc' /* Histórico de Liberação */, ), style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, + fontSize: 16.0, fontWeight: FontWeight.bold, letterSpacing: 0.0, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), ), ), actions: const [], diff --git a/lib/pages/message_history_page/message_history_page_model.dart b/lib/pages/message_history_page/message_history_page_model.dart index 9660882d..68efb77d 100644 --- a/lib/pages/message_history_page/message_history_page_model.dart +++ b/lib/pages/message_history_page/message_history_page_model.dart @@ -1,10 +1,9 @@ import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_manager.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; import 'package:hub/flutter_flow/request_manager.dart'; import 'package:hub/pages/message_history_page/message_history_page_widget.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; class MessageHistoryPageModel extends FlutterFlowModel { @@ -42,12 +41,11 @@ class MessageHistoryPageModel } Future init() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; } @override diff --git a/lib/pages/message_history_page/message_history_page_widget.dart b/lib/pages/message_history_page/message_history_page_widget.dart index 81cb79b7..645a445d 100644 --- a/lib/pages/message_history_page/message_history_page_widget.dart +++ b/lib/pages/message_history_page/message_history_page_widget.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; @@ -165,12 +165,13 @@ class _MessageHistoryPageWidgetState extends State ptText: 'Consultar Mensagens', ), style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, color: FlutterFlowTheme.of(context).primaryText, - fontSize: LimitedFontSizeUtil.getHeaderFontSize(context), + fontSize: 16.0, fontWeight: FontWeight.bold, letterSpacing: 0.0, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), ), ), actions: const [], diff --git a/lib/pages/package_order_page/package_order_page.dart b/lib/pages/package_order_page/package_order_page.dart index 62f38272..a0b76920 100644 --- a/lib/pages/package_order_page/package_order_page.dart +++ b/lib/pages/package_order_page/package_order_page.dart @@ -2,18 +2,19 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/molecular_components/order_filter_modal/order_filter_modal_widget.dart'; import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart'; import 'package:hub/components/templates_components/details_component/details_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; + import 'package:hub/shared/utils/dialog_util.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; import 'package:hub/shared/utils/log_util.dart'; + import 'package:hub/shared/utils/validator_util.dart'; import 'package:rxdart/rxdart.dart'; @@ -66,7 +67,7 @@ class _PackageOrderPage extends State { Future initDatabase() async { cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value) ?? ''); + (await StorageHelper().get(ProfileStorageKey.clientUUID.key) ?? ''); } @override @@ -233,16 +234,18 @@ class _PackageOrderPage extends State { backgroundColor: FlutterFlowTheme.of(context).primaryBackground, automaticallyImplyLeading: false, title: Text( - FFLocalizations.of(context) - .getVariableText(enText: 'Orders', ptText: 'Encomendas'), - style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', - color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, - letterSpacing: 0.0, - fontWeight: FontWeight.bold, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), - )), + FFLocalizations.of(context) + .getVariableText(enText: 'Orders', ptText: 'Encomendas'), + style: FlutterFlowTheme.of(context).headlineMedium.override( + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, + color: FlutterFlowTheme.of(context).primaryText, + fontSize: 16.0, + fontWeight: FontWeight.bold, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), + ), + ), leading: _backButton(context, FlutterFlowTheme.of(context)), centerTitle: true, elevation: 0.0, diff --git a/lib/pages/people_on_the_property_page/people_on_the_property_page_widget.dart b/lib/pages/people_on_the_property_page/people_on_the_property_page_widget.dart index e5a60ef4..af732129 100644 --- a/lib/pages/people_on_the_property_page/people_on_the_property_page_widget.dart +++ b/lib/pages/people_on_the_property_page/people_on_the_property_page_widget.dart @@ -2,7 +2,7 @@ import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; @@ -65,12 +65,13 @@ class _PeopleOnThePropertyPageState extends State { 'nsu13r5d' /* Pessoas na Propriedade */, ), style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, - letterSpacing: 0.0, + fontSize: 16.0, fontWeight: FontWeight.bold, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), ), ), actions: const [], diff --git a/lib/pages/pets_on_the_property_page/pets_history_screen.dart b/lib/pages/pets_on_the_property_page/pets_history_screen.dart index 22fd2957..4881c182 100644 --- a/lib/pages/pets_on_the_property_page/pets_history_screen.dart +++ b/lib/pages/pets_on_the_property_page/pets_history_screen.dart @@ -1,15 +1,15 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; -import 'package:hub/backend/api_requests/api_manager.dart'; + import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/pages/pets_page/pets_page_model.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; + import 'package:hub/shared/utils/dialog_util.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; import 'package:hub/shared/utils/log_util.dart'; @@ -62,18 +62,20 @@ class _PetsHistoryScreenState extends State backgroundColor: FlutterFlowTheme.of(context).primaryBackground, automaticallyImplyLeading: false, title: Text( - FFLocalizations.of(context).getVariableText( - ptText: 'Pets', - enText: 'Pets', - ), - style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', - color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, - letterSpacing: 0.0, - fontWeight: FontWeight.bold, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), - )), + FFLocalizations.of(context).getVariableText( + ptText: 'Pets', + enText: 'Pets', + ), + style: FlutterFlowTheme.of(context).headlineMedium.override( + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, + color: FlutterFlowTheme.of(context).primaryText, + fontSize: 16.0, + fontWeight: FontWeight.bold, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), + ), + ), leading: _backButton(context, FlutterFlowTheme.of(context)), centerTitle: true, elevation: 0.0, @@ -309,16 +311,13 @@ class _PetsHistoryScreenState extends State ], onTapCardItemAction: () async { final devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? - ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? - ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; final cliName = - (await StorageHelper().get(KeychainStorageKey.clientName.value)) ?? - ''; + (await StorageHelper().get(ProfileStorageKey.clientName.key)) ?? ''; await showDialog( useSafeArea: true, context: context, diff --git a/lib/pages/pets_page/pets_page_model.dart b/lib/pages/pets_page/pets_page_model.dart index 199a60dd..c8473787 100644 --- a/lib/pages/pets_page/pets_page_model.dart +++ b/lib/pages/pets_page/pets_page_model.dart @@ -4,16 +4,16 @@ import 'dart:developer'; import 'package:cached_network_image/cached_network_image.dart'; import 'package:flutter/material.dart'; import 'package:http/http.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/templates_components/details_component/details_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/flutter_flow_widgets.dart'; import 'package:hub/flutter_flow/form_field_controller.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/pages/pets_page/pets_page_widget.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; + import 'package:hub/shared/utils/dialog_util.dart'; import 'package:hub/shared/utils/image_util.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; @@ -149,14 +149,13 @@ class PetsPageModel extends FlutterFlowModel { textControllerObservation = TextEditingController(); WidgetsBinding.instance.addPostFrameCallback((_) async { - devUUID = - await StorageHelper().get(KeychainStorageKey.devUUID.value) ?? ''; + devUUID = await StorageHelper().get(ProfileStorageKey.devUUID.key) ?? ''; userUUID = - await StorageHelper().get(KeychainStorageKey.userUUID.value) ?? ''; + await StorageHelper().get(ProfileStorageKey.userUUID.key) ?? ''; cliUUID = - await StorageHelper().get(KeychainStorageKey.clientUUID.value) ?? ''; + await StorageHelper().get(ProfileStorageKey.clientUUID.key) ?? ''; petAmountRegister = - await StorageHelper().get(KeychainStorageKey.petAmount.value) ?? ''; + await StorageHelper().get(LocalsStorageKey.petAmount.key) ?? ''; }); } diff --git a/lib/pages/preferences_settings_page/preferences_settings_model.dart b/lib/pages/preferences_settings_page/preferences_settings_model.dart index a4f59ed2..cd52eb59 100644 --- a/lib/pages/preferences_settings_page/preferences_settings_model.dart +++ b/lib/pages/preferences_settings_page/preferences_settings_model.dart @@ -1,14 +1,15 @@ -import 'dart:developer'; +import 'dart:async'; +import 'dart:isolate'; import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/templates_components/change_passs_qr_code_pass_key_template_component/change_pass_widget.dart'; +import 'package:hub/features/auth/index.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; -import 'package:hub/shared/services/authentication/authentication_service.dart'; +import 'package:hub/features/local/index.dart'; + import 'package:hub/shared/utils/path_util.dart'; import 'package:share_plus/share_plus.dart'; @@ -24,17 +25,13 @@ class PreferencesPageModel with ChangeNotifier { late bool isPanic = false; Future _initialize() async { + await LocalsRepositoryImpl().fetch(navigatorKey.currentContext!); isFingerprint = - await StorageHelper().get(KeychainStorageKey.fingerprint.value) == - 'true'; - isPerson = - await StorageHelper().get(KeychainStorageKey.person.value) == 'true'; - isNotify = - await StorageHelper().get(KeychainStorageKey.notify.value) == 'true'; - isAccess = - await StorageHelper().get(KeychainStorageKey.access.value) == 'true'; - isPanic = - await StorageHelper().get(KeychainStorageKey.panic.value) == 'true'; + await StorageHelper().get(LocalsStorageKey.fingerprint.key) == 'true'; + isPerson = await StorageHelper().get(LocalsStorageKey.person.key) == 'true'; + isNotify = await StorageHelper().get(LocalsStorageKey.notify.key) == 'true'; + isAccess = await StorageHelper().get(LocalsStorageKey.access.key) == 'true'; + isPanic = await StorageHelper().get(LocalsStorageKey.panic.key) == 'true'; notifyListeners(); } @@ -44,7 +41,7 @@ class PreferencesPageModel with ChangeNotifier { Future enablePerson(BuildContext context) async { final String userDevUUID = - (await StorageHelper().get(KeychainStorageKey.userDevUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userDevUUID.key)) ?? ''; notifyListeners(); Share.share( FFLocalizations.of(context).getVariableText( @@ -71,11 +68,10 @@ class PreferencesPageModel with ChangeNotifier { .call(notifica: value) .then((value) async { if (value.jsonBody['error'] == false) { - await StorageHelper().set( - KeychainStorageKey.notify.value, isNotify ? 'false' : 'true'); + await StorageHelper().set(LocalsStorageKey.notify.key, !isNotify); content = FFLocalizations.of(context).getVariableText( - enText: 'Notification changed successfully', - ptText: 'Notificação alterada com sucesso', + enText: 'Setting changed successfully', + ptText: 'Opção alterada com sucesso', ); notifyListeners(); SnackBarUtil.showSnackBar(context, content); @@ -95,8 +91,7 @@ class PreferencesPageModel with ChangeNotifier { SnackBarUtil.showSnackBar(context, content, isError: true); }) .then((_) async => isNotify = - await StorageHelper().get(KeychainStorageKey.notify.value) == - 'true') + await StorageHelper().get(LocalsStorageKey.notify.key) == 'true') .whenComplete(() => notifyListeners()); context.pop(); } @@ -109,6 +104,7 @@ class PreferencesPageModel with ChangeNotifier { ptText: 'Atualizar Identificador de Acesso', enText: 'Update Access Identifier', ); + final String content = FFLocalizations.of(context).getVariableText( ptText: 'Tem certeza que deseja habilitar seu dispositivo para acesso?', enText: 'Are you sure you want to enable your device for access?', @@ -152,8 +148,8 @@ class PreferencesPageModel with ChangeNotifier { .then((value) async { final String content; if (jsonDecode(value.jsonBody['error'].toString()) == false) { - await StorageHelper().set( - KeychainStorageKey.access.value, isAccess ? 'false' : 'true'); + await StorageHelper() + .set(LocalsStorageKey.access.key, isAccess ? false : true); notifyListeners(); content = FFLocalizations.of(context).getVariableText( enText: 'Access pass changed successfully', @@ -176,8 +172,7 @@ class PreferencesPageModel with ChangeNotifier { SnackBarUtil.showSnackBar(context, content, isError: true); }) .then((_) async => isAccess = - await StorageHelper().get(KeychainStorageKey.access.value) == - 'true') + await StorageHelper().get(LocalsStorageKey.access.key) == 'true') .whenComplete(() => notifyListeners()); } @@ -192,8 +187,8 @@ class PreferencesPageModel with ChangeNotifier { .then((value) async { final String content; if (jsonDecode(value.jsonBody['error'].toString()) == false) { - await StorageHelper().set( - KeychainStorageKey.panic.value, isPanic ? 'false' : 'true'); + await StorageHelper() + .set(LocalsStorageKey.panic.key, isPanic ? 'false' : 'true'); notifyListeners(); content = FFLocalizations.of(context).getVariableText( enText: 'Panic password changed successfully', @@ -216,8 +211,7 @@ class PreferencesPageModel with ChangeNotifier { SnackBarUtil.showSnackBar(context, content, isError: true); }) .then((_) async => isPanic = - await StorageHelper().get(KeychainStorageKey.panic.value) == - 'true') + await StorageHelper().get(LocalsStorageKey.panic.key) == 'true') .whenComplete(() => notifyListeners()); } @@ -234,13 +228,12 @@ class PreferencesPageModel with ChangeNotifier { isFingerprint = !isFingerprint; await StorageHelper() .set(SecureStorageKey.fingerprintPass.value, key ?? ''); - await StorageHelper().set(KeychainStorageKey.fingerprint.value, - isFingerprint ? 'true' : 'false'); + await StorageHelper().set( + LocalsStorageKey.fingerprint.key, isFingerprint ? 'true' : 'false'); notifyListeners(); SnackBarUtil.showSnackBar(context, content); isFingerprint = - await StorageHelper().get(KeychainStorageKey.fingerprint.value) == - 'true'; + await StorageHelper().get(LocalsStorageKey.fingerprint.key) == 'true'; } isFingerprint ? onChange(null) : _showPassKey(context, onChange); diff --git a/lib/pages/preferences_settings_page/preferences_settings_widget.dart b/lib/pages/preferences_settings_page/preferences_settings_widget.dart index 7cf47f3b..9b2b9418 100644 --- a/lib/pages/preferences_settings_page/preferences_settings_widget.dart +++ b/lib/pages/preferences_settings_page/preferences_settings_widget.dart @@ -1,11 +1,13 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; +import 'package:hub/features/local/data/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/pages/preferences_settings_page/preferences_settings_model.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; + import 'package:material_symbols_icons/symbols.dart'; import 'package:provider/provider.dart'; @@ -27,8 +29,8 @@ class _PreferencesPageWidgetState extends State { Widget build(BuildContext context) { return ChangeNotifierProvider( create: (_) => PreferencesPageModel(), - child: Consumer( - builder: (context, model, child) => GestureDetector( + child: Consumer(builder: (context, model, child) { + return GestureDetector( onTap: () => model.unfocusNode.canRequestFocus ? FocusScope.of(context).requestFocus(model.unfocusNode) : FocusScope.of(context).unfocus(), @@ -58,11 +60,14 @@ class _PreferencesPageWidgetState extends State { ptText: 'Opções do Sistema', ), style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', + fontFamily: + FlutterFlowTheme.of(context).headlineMediumFamily, color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, + fontSize: 16.0, + fontWeight: FontWeight.bold, letterSpacing: 0.0, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), ), ), centerTitle: true, @@ -88,8 +93,8 @@ class _PreferencesPageWidgetState extends State { ], ), ), - ), - ), + ); + }), ); } diff --git a/lib/pages/provisional_schedule_page/provisional_schedule_widget.dart b/lib/pages/provisional_schedule_page/provisional_schedule_widget.dart index 022822ed..3d5c32d4 100644 --- a/lib/pages/provisional_schedule_page/provisional_schedule_widget.dart +++ b/lib/pages/provisional_schedule_page/provisional_schedule_widget.dart @@ -55,12 +55,13 @@ class _ProvisionalScheduleState extends State { ptText: 'Agendar Prestadores', ), style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, - letterSpacing: 0.0, + fontSize: 16.0, fontWeight: FontWeight.bold, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), ), ), actions: const [], diff --git a/lib/pages/qr_code_page/qr_code_page_model.dart b/lib/pages/qr_code_page/qr_code_page_model.dart index aeef5eaf..bec899f0 100644 --- a/lib/pages/qr_code_page/qr_code_page_model.dart +++ b/lib/pages/qr_code_page/qr_code_page_model.dart @@ -2,10 +2,10 @@ import 'dart:async'; import 'dart:typed_data'; import 'package:flutter/material.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; import 'package:hub/pages/qr_code_page/qr_code_page_widget.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; + import 'package:qr_flutter/qr_flutter.dart'; class QrCodePageModel extends FlutterFlowModel { @@ -30,10 +30,9 @@ class QrCodePageModel extends FlutterFlowModel { Future initVariable() async { isFingerprint = - await StorageHelper().get(KeychainStorageKey.fingerprint.value) == - 'true'; + await StorageHelper().get(LocalsStorageKey.fingerprint.key) == 'true'; userDevUUID = - await StorageHelper().get(KeychainStorageKey.userDevUUID.value) ?? ''; + await StorageHelper().get(ProfileStorageKey.userDevUUID.key) ?? ''; safeSetState?.call(); } diff --git a/lib/pages/qr_code_page/qr_code_page_widget.dart b/lib/pages/qr_code_page/qr_code_page_widget.dart index 4d486828..2ea60636 100644 --- a/lib/pages/qr_code_page/qr_code_page_widget.dart +++ b/lib/pages/qr_code_page/qr_code_page_widget.dart @@ -9,6 +9,7 @@ import 'package:flutter/scheduler.dart'; import 'package:flutter_animate/flutter_animate.dart'; import 'package:google_fonts/google_fonts.dart'; import 'package:hub/components/templates_components/qr_code_pass_key_template_component/qr_code_pass_key_template_component_widget.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/custom_functions.dart'; import 'package:hub/flutter_flow/flutter_flow_animations.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; @@ -17,11 +18,10 @@ import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/flutter_flow_widgets.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/pages/qr_code_page/qr_code_page_model.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; import 'package:hub/shared/utils/biometric_util.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; + import 'package:percent_indicator/circular_percent_indicator.dart'; import 'package:qr_flutter/qr_flutter.dart'; @@ -127,14 +127,16 @@ class _QrCodePageWidgetState extends State enText: 'Use this QR Code for access', ), textAlign: TextAlign.center, - style: FlutterFlowTheme.of(context).bodyMedium.override( + style: FlutterFlowTheme.of(context).headlineMedium.override( fontFamily: - FlutterFlowTheme.of(context).bodyMediumFamily, - fontSize: limitedHeaderTextSize, - letterSpacing: 0.0, + FlutterFlowTheme.of(context).headlineMediumFamily, + color: FlutterFlowTheme.of(context).primaryText, + fontSize: 16.0, fontWeight: FontWeight.bold, + letterSpacing: 0.0, useGoogleFonts: GoogleFonts.asMap().containsKey( - FlutterFlowTheme.of(context).bodyMediumFamily), + FlutterFlowTheme.of(context) + .headlineMediumFamily), ), ), ), @@ -494,7 +496,7 @@ class _QrCodePageWidgetState extends State style: FlutterFlowTheme.of(context).headlineMedium.override( fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, + fontSize: 16.0, fontWeight: FontWeight.bold, letterSpacing: 0.0, useGoogleFonts: GoogleFonts.asMap().containsKey( diff --git a/lib/pages/reception_page/reception_page_model.dart b/lib/pages/reception_page/reception_page_model.dart index 553935c9..e72e9b96 100644 --- a/lib/pages/reception_page/reception_page_model.dart +++ b/lib/pages/reception_page/reception_page_model.dart @@ -1,13 +1,12 @@ import 'package:flutter/material.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/internationalization.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; import 'package:share_plus/share_plus.dart'; class ReceptionPageModel with ChangeNotifier { Future getIdenfifier(BuildContext context) async { final String userDevUUID = - (await StorageHelper().get(KeychainStorageKey.userDevUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userDevUUID.key)) ?? ''; notifyListeners(); Share.share( diff --git a/lib/pages/reception_page/reception_page_widget.dart b/lib/pages/reception_page/reception_page_widget.dart index ea627ad7..e7d5718e 100644 --- a/lib/pages/reception_page/reception_page_widget.dart +++ b/lib/pages/reception_page/reception_page_widget.dart @@ -3,16 +3,18 @@ import 'dart:developer'; import 'package:awesome_notifications/awesome_notifications.dart'; import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; -import 'package:hub/backend/notifications/firebase_messaging_service.dart'; + import 'package:hub/components/atomic_components/shared_components_atoms/atom_image_svg_theme.dart'; +import 'package:hub/features/auth/index.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/notification/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/flutter_flow_widgets.dart'; import 'package:hub/pages/reception_page/reception_page_model.dart'; -import 'package:hub/shared/components/molecules/locals/index.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; -import 'package:hub/shared/services/authentication/authentication_service.dart'; +import 'package:hub/features/local/index.dart'; + import 'package:hub/shared/utils/limited_text_size.dart'; import 'package:provider/provider.dart'; diff --git a/lib/pages/register_visitor_page/register_visitor_page_widget.dart b/lib/pages/register_visitor_page/register_visitor_page_widget.dart index 483364bf..6d39e4dc 100644 --- a/lib/pages/register_visitor_page/register_visitor_page_widget.dart +++ b/lib/pages/register_visitor_page/register_visitor_page_widget.dart @@ -63,7 +63,7 @@ class _RegisterVisitorPageWidgetState extends State { style: FlutterFlowTheme.of(context).headlineMedium.override( fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, + fontSize: 16.0, fontWeight: FontWeight.bold, letterSpacing: 0.0, useGoogleFonts: GoogleFonts.asMap().containsKey( diff --git a/lib/pages/reservation_page/reservation_page_widget.dart b/lib/pages/reservation_page/reservation_page_widget.dart index 6dbb8ea2..a75cd567 100644 --- a/lib/pages/reservation_page/reservation_page_widget.dart +++ b/lib/pages/reservation_page/reservation_page_widget.dart @@ -3,10 +3,10 @@ import 'dart:io' show Platform; import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/internationalization.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; + import 'package:hub/shared/utils/webview_util.dart'; import 'package:url_launcher/url_launcher_string.dart'; import 'package:webview_flutter/webview_flutter.dart'; @@ -25,13 +25,13 @@ class _ReservationPageWidgetState extends State { final email = (await StorageHelper().get(SecureStorageKey.email.value)) ?? ''; final name = - (await StorageHelper().get(KeychainStorageKey.userName.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userName.key)) ?? ''; final devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final clientId = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; const createdAt = '0000-00-00 00:00:00'; final url = 'https://hub.freaccess.com.br/hub/reservation/$clientId'; final freUserData = diff --git a/lib/pages/residents_on_the_property/residents_on_the_property_model.dart b/lib/pages/residents_on_the_property/residents_on_the_property_model.dart index d3d1ff3e..02c42ef4 100644 --- a/lib/pages/residents_on_the_property/residents_on_the_property_model.dart +++ b/lib/pages/residents_on_the_property/residents_on_the_property_model.dart @@ -1,8 +1,7 @@ import 'package:flutter/material.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; import 'package:hub/pages/residents_on_the_property/residents_on_the_property_screen.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; class ResidentsOnThePropertyModel extends FlutterFlowModel { @@ -19,10 +18,9 @@ class ResidentsOnThePropertyModel } void initVariables() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; onRefresh?.call(); } diff --git a/lib/pages/residents_on_the_property/residents_on_the_property_screen.dart b/lib/pages/residents_on_the_property/residents_on_the_property_screen.dart index 7e2ebc9c..664d713a 100644 --- a/lib/pages/residents_on_the_property/residents_on_the_property_screen.dart +++ b/lib/pages/residents_on_the_property/residents_on_the_property_screen.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; @@ -136,16 +136,18 @@ class _ResidentsOnThePropertyState extends State backgroundColor: FlutterFlowTheme.of(context).primaryBackground, automaticallyImplyLeading: false, title: Text( - FFLocalizations.of(context) - .getVariableText(ptText: 'Moradores', enText: 'Residents'), - style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', - color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, - letterSpacing: 0.0, - fontWeight: FontWeight.bold, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), - )), + FFLocalizations.of(context) + .getVariableText(ptText: 'Moradores', enText: 'Residents'), + style: FlutterFlowTheme.of(context).headlineMedium.override( + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, + color: FlutterFlowTheme.of(context).primaryText, + fontSize: 16.0, + fontWeight: FontWeight.bold, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), + ), + ), leading: _backButton(context, FlutterFlowTheme.of(context)), centerTitle: true, elevation: 0.0, diff --git a/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_model.dart b/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_model.dart index 66648ecf..f7248d93 100644 --- a/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_model.dart +++ b/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_model.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/templates_components/details_component/details_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/flutter_flow/flutter_flow_widgets.dart'; @@ -8,8 +9,6 @@ import 'package:hub/flutter_flow/form_field_controller.dart'; import 'package:hub/flutter_flow/nav/nav.dart'; import 'package:hub/flutter_flow/request_manager.dart'; import 'package:hub/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; import 'package:hub/shared/mixins/status_mixin.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; @@ -231,12 +230,11 @@ class ScheduleCompleteVisitPageModel } Future _initVariables() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; } @override diff --git a/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart b/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart index 207b5db6..d5b8aea4 100644 --- a/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart +++ b/lib/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart @@ -3,10 +3,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_spinkit/flutter_spinkit.dart'; import 'package:fluttertoast/fluttertoast.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/atomic_components/shared_components_atoms/toast.dart'; import 'package:hub/components/templates_components/details_component/details_component_widget.dart'; import 'package:hub/components/templates_components/visitor_search_modal_template_component/visitor_search_modal_template_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/custom_functions.dart'; import 'package:hub/flutter_flow/flutter_flow_drop_down.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; diff --git a/lib/pages/schedule_complete_visit_page/visit_history_page_widget.dart b/lib/pages/schedule_complete_visit_page/visit_history_page_widget.dart index d4eb90ba..bafb04bb 100644 --- a/lib/pages/schedule_complete_visit_page/visit_history_page_widget.dart +++ b/lib/pages/schedule_complete_visit_page/visit_history_page_widget.dart @@ -1,12 +1,12 @@ import 'package:flutter/material.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; import 'package:hub/pages/schedule_complete_visit_page/schedule_complete_visit_page_model.dart'; import 'package:hub/pages/schedule_complete_visit_page/schedule_complete_visit_page_widget.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; + import 'package:hub/shared/mixins/status_mixin.dart'; import 'package:hub/shared/utils/dialog_util.dart'; import 'package:hub/shared/utils/limited_text_size.dart'; @@ -36,12 +36,11 @@ class _VisitHistoryWidgetState extends State List _visitWrap = []; Future _initVariables() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; } @override @@ -267,16 +266,13 @@ class _VisitHistoryWidgetState extends State ], onTapCardItemAction: () async { final devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; final userUUID = - (await StorageHelper().get(KeychainStorageKey.userUUID.value)) ?? - ''; + (await StorageHelper().get(ProfileStorageKey.userUUID.key)) ?? ''; final cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? - ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; final cliName = - (await StorageHelper().get(KeychainStorageKey.clientName.value)) ?? - ''; + (await StorageHelper().get(ProfileStorageKey.clientName.key)) ?? ''; await showDialog( useSafeArea: true, diff --git a/lib/pages/sign_in_page/sign_in_page_widget.dart b/lib/pages/sign_in_page/sign_in_page_widget.dart index 4ae72793..e632670a 100644 --- a/lib/pages/sign_in_page/sign_in_page_widget.dart +++ b/lib/pages/sign_in_page/sign_in_page_widget.dart @@ -1,7 +1,5 @@ -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/shared/mixins/switcher_mixin.dart'; -import 'package:hub/shared/services/deeplink/deep_link_service.dart'; - import '/components/templates_components/sign_in_template_component/sign_in_template_component_widget.dart'; import '/flutter_flow/flutter_flow_theme.dart'; import '/flutter_flow/flutter_flow_util.dart'; diff --git a/lib/pages/sign_up_page/sign_up_page_widget.dart b/lib/pages/sign_up_page/sign_up_page_widget.dart index 2eaed633..e91ac753 100644 --- a/lib/pages/sign_up_page/sign_up_page_widget.dart +++ b/lib/pages/sign_up_page/sign_up_page_widget.dart @@ -1,7 +1,6 @@ import 'package:flutter/material.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/shared/mixins/switcher_mixin.dart'; -import 'package:hub/shared/services/deeplink/deep_link_service.dart'; import '/components/templates_components/sign_up_template_component/sign_up_template_component_widget.dart'; import '/flutter_flow/flutter_flow_theme.dart'; diff --git a/lib/pages/vehicles_on_the_property/vehicles_on_the_property.dart b/lib/pages/vehicles_on_the_property/vehicles_on_the_property.dart index 8d12d08b..9eda1f48 100644 --- a/lib/pages/vehicles_on_the_property/vehicles_on_the_property.dart +++ b/lib/pages/vehicles_on_the_property/vehicles_on_the_property.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; @@ -131,16 +131,18 @@ class _VehicleOnThePropertyState extends State backgroundColor: FlutterFlowTheme.of(context).primaryBackground, automaticallyImplyLeading: false, title: Text( - FFLocalizations.of(context) - .getVariableText(enText: 'Vehicles', ptText: 'Veículos'), - style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', - color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, - letterSpacing: 0.0, - fontWeight: FontWeight.bold, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), - )), + FFLocalizations.of(context) + .getVariableText(enText: 'Vehicles', ptText: 'Veículos'), + style: FlutterFlowTheme.of(context).headlineMedium.override( + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, + color: FlutterFlowTheme.of(context).primaryText, + fontSize: 16.0, + fontWeight: FontWeight.bold, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), + ), + ), leading: _backButton(context, FlutterFlowTheme.of(context)), centerTitle: true, elevation: 0.0, diff --git a/lib/pages/visits_on_the_property/model.dart b/lib/pages/visits_on_the_property/model.dart index affe665f..2ddcd047 100644 --- a/lib/pages/visits_on_the_property/model.dart +++ b/lib/pages/visits_on_the_property/model.dart @@ -1,11 +1,10 @@ import 'package:flutter/material.dart'; import 'package:hub/components/templates_components/details_component/details_component_widget.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:hub/flutter_flow/flutter_flow_model.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/internationalization.dart'; import 'package:hub/pages/vehicles_on_the_property/vehicles_on_the_property.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; class VisitsModel extends FlutterFlowModel { static VisitsModel? _instance; @@ -31,10 +30,9 @@ class VisitsModel extends FlutterFlowModel { void dispose() {} Future initAsync() async { - devUUID = - (await StorageHelper().get(KeychainStorageKey.devUUID.value)) ?? ''; + devUUID = (await StorageHelper().get(ProfileStorageKey.devUUID.key)) ?? ''; cliUUID = - (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? ''; + (await StorageHelper().get(ProfileStorageKey.clientUUID.key)) ?? ''; onRefresh?.call(); } diff --git a/lib/pages/visits_on_the_property/visits_on_the_property_screen.dart b/lib/pages/visits_on_the_property/visits_on_the_property_screen.dart index 583e737e..c1a59ca6 100644 --- a/lib/pages/visits_on_the_property/visits_on_the_property_screen.dart +++ b/lib/pages/visits_on_the_property/visits_on_the_property_screen.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:google_fonts/google_fonts.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; import 'package:hub/components/templates_components/card_item_template_component/card_item_template_component_widget.dart'; +import 'package:hub/features/backend/index.dart'; import 'package:hub/flutter_flow/flutter_flow_icon_button.dart'; import 'package:hub/flutter_flow/flutter_flow_theme.dart'; import 'package:hub/flutter_flow/flutter_flow_util.dart'; @@ -134,16 +134,18 @@ class _VisitsOnThePropertyState extends State backgroundColor: FlutterFlowTheme.of(context).primaryBackground, automaticallyImplyLeading: false, title: Text( - FFLocalizations.of(context).getVariableText( - ptText: 'Visitas em aberto', enText: 'Opened visits'), - style: FlutterFlowTheme.of(context).headlineMedium.override( - fontFamily: 'Nunito', - color: FlutterFlowTheme.of(context).primaryText, - fontSize: 15.0, - letterSpacing: 0.0, - fontWeight: FontWeight.bold, - useGoogleFonts: GoogleFonts.asMap().containsKey('Nunito'), - )), + FFLocalizations.of(context).getVariableText( + ptText: 'Visitas em aberto', enText: 'Opened visits'), + style: FlutterFlowTheme.of(context).headlineMedium.override( + fontFamily: FlutterFlowTheme.of(context).headlineMediumFamily, + color: FlutterFlowTheme.of(context).primaryText, + fontSize: 16.0, + fontWeight: FontWeight.bold, + letterSpacing: 0.0, + useGoogleFonts: GoogleFonts.asMap().containsKey( + FlutterFlowTheme.of(context).headlineMediumFamily), + ), + ), leading: _backButton(context, FlutterFlowTheme.of(context)), centerTitle: true, elevation: 0.0, diff --git a/lib/pages/welcome_page/welcome_page_widget.dart b/lib/pages/welcome_page/welcome_page_widget.dart index 53ac8018..5b3f46ea 100644 --- a/lib/pages/welcome_page/welcome_page_widget.dart +++ b/lib/pages/welcome_page/welcome_page_widget.dart @@ -1,9 +1,8 @@ import 'package:flutter/material.dart'; import 'package:flutter/scheduler.dart'; -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/storage/index.dart'; + import 'package:hub/shared/mixins/switcher_mixin.dart'; -import 'package:hub/shared/services/deeplink/deep_link_service.dart'; import '/components/templates_components/welcome_template_component/welcome_template_component_widget.dart'; import '/flutter_flow/flutter_flow_theme.dart'; diff --git a/lib/shared/components/molecules/locals/data/data_sources/locals_local_data_source.dart b/lib/shared/components/molecules/locals/data/data_sources/locals_local_data_source.dart deleted file mode 100644 index 775b4c05..00000000 --- a/lib/shared/components/molecules/locals/data/data_sources/locals_local_data_source.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; - -abstract class LocalsLocalDataSource { - Future unlinkLocal(); -} - -class LocalsLocalDataSourceImpl { - Future unlinkLocal() async { - await StorageHelper().set(KeychainStorageKey.clientUUID.value, ''); - await StorageHelper().set(KeychainStorageKey.clientName.value, ''); - await StorageHelper().set(KeychainStorageKey.ownerName.value, ''); - } -} diff --git a/lib/shared/components/molecules/menu/domain/respositories/menu_repository.dart b/lib/shared/components/molecules/menu/domain/respositories/menu_repository.dart deleted file mode 100644 index 1b9d1f74..00000000 --- a/lib/shared/components/molecules/menu/domain/respositories/menu_repository.dart +++ /dev/null @@ -1,7 +0,0 @@ -import 'package:hub/shared/components/molecules/menu/domain/entities/menu_item.dart'; -import 'package:hub/shared/components/molecules/menu/index.dart'; - -abstract class MenuRepository { - Future> generateMenuEntries( - List menuEntries, EnumMenuItem item); -} diff --git a/lib/shared/constants/index.dart b/lib/shared/constants/index.dart index a810e4ce..e69de29b 100644 --- a/lib/shared/constants/index.dart +++ b/lib/shared/constants/index.dart @@ -1 +0,0 @@ -export 'keychain_constants.dart'; diff --git a/lib/shared/enums/index.dart b/lib/shared/enums/index.dart new file mode 100644 index 00000000..585bd715 --- /dev/null +++ b/lib/shared/enums/index.dart @@ -0,0 +1 @@ +export 'enum_throw_exception.dart'; diff --git a/lib/shared/extensions/index.dart b/lib/shared/extensions/index.dart new file mode 100644 index 00000000..0f71878e --- /dev/null +++ b/lib/shared/extensions/index.dart @@ -0,0 +1,3 @@ +export 'dialog_extensions.dart'; +export 'flutter_secure_storage_extensions.dart'; +export 'string_extensions.dart'; diff --git a/lib/shared/extensions/string_extensions.dart b/lib/shared/extensions/string_extensions.dart index 20fa5f75..dc0b62c6 100644 --- a/lib/shared/extensions/string_extensions.dart +++ b/lib/shared/extensions/string_extensions.dart @@ -3,6 +3,12 @@ extension StringNullableExtensions on String? { if (this == null) return false; return this!.toLowerCase() == 'true'; } + + bool isNullOrEmpty() { + if (this == null) return true; + if (this == '') return true; + return false; + } } extension StringExtensions on String { @@ -10,3 +16,5 @@ extension StringExtensions on String { return this.toLowerCase() == 'true'; } } + +extension StringExtension on String? {} diff --git a/lib/shared/helpers/index.dart b/lib/shared/helpers/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/shared/helpers/index.dart @@ -0,0 +1 @@ + diff --git a/lib/shared/helpers/storage/base_storage.dart b/lib/shared/helpers/storage/base_storage.dart deleted file mode 100644 index 27892246..00000000 --- a/lib/shared/helpers/storage/base_storage.dart +++ /dev/null @@ -1,152 +0,0 @@ -abstract class BaseStorage { - Future init(); - - Future set(String key, T value); - - Future get(String key); - - Future delete(String key); - - Future clearAll(); -} - -enum Storage { - secureStorage, - sharedPreferences, - databaseStorage, -} - -enum SharedPreferencesKey { - isFirstRun, -} - -extension SharedPreferencesKeyExtension on SharedPreferencesKey { - String get value { - switch (this) { - case SharedPreferencesKey.isFirstRun: - return 'fre_isFirstRun'; - default: - return ''; - } - } -} - -enum SecureStorageKey { - isLogged, - email, - password, - deviceType, - token, - accessPass, - panicPass, - fingerprintPass, - haveLocal, - deviceDescription, -} - -extension SecureStorageKeyExtension on SecureStorageKey { - String get value { - switch (this) { - case SecureStorageKey.isLogged: - return 'fre_isLogged'; - case SecureStorageKey.email: - return 'fre_email'; - case SecureStorageKey.password: - return 'fre_passwd'; - case SecureStorageKey.deviceType: - return 'fre_deviceType'; - case SecureStorageKey.token: - return 'fre_token'; - case SecureStorageKey.accessPass: - return 'fre_accessPass'; - case SecureStorageKey.panicPass: - return 'fre_panicPass'; - case SecureStorageKey.fingerprintPass: - return 'fre_fingerprintPass'; - case SecureStorageKey.haveLocal: - return 'fre_have_local'; - case SecureStorageKey.deviceDescription: - return 'fre_deviceDescription'; - default: - return ''; - } - } -} - -enum KeychainStorageKey { - devUUID, - userUUID, - userDevUUID, - status, - userName, - userEmail, - clientUUID, - ownerName, - ownerUUID, - clientName, - petAmount, - whatsapp, - provisional, - pets, - local, - notify, - fingerprint, - access, - panic, - person, - requestOSNotification, - isNewVersion, -} - -extension KeychainStorageKeyExtension on KeychainStorageKey { - String get value { - switch (this) { - case KeychainStorageKey.userEmail: - return 'fre_userEmail'; - case KeychainStorageKey.devUUID: - return 'fre_devUUID'; - case KeychainStorageKey.userUUID: - return 'fre_userUUID'; - case KeychainStorageKey.userDevUUID: - return 'fre_userDevUUID'; - case KeychainStorageKey.status: - return 'fre_status'; - case KeychainStorageKey.userName: - return 'fre_userName'; - case KeychainStorageKey.clientUUID: - return 'fre_cliUUID'; - case KeychainStorageKey.ownerUUID: - return 'fre_ownerUUID'; - case KeychainStorageKey.clientName: - return 'fre_cliName'; - case KeychainStorageKey.ownerName: - return 'fre_ownerName'; - case KeychainStorageKey.petAmount: - return 'fre_petAmountRegister'; - case KeychainStorageKey.whatsapp: - return 'fre_whatsapp'; - case KeychainStorageKey.provisional: - return 'fre_provisional'; - case KeychainStorageKey.pets: - return 'fre_pets'; - case KeychainStorageKey.local: - return 'fre_local'; - case KeychainStorageKey.notify: - return 'fre_notify'; - case KeychainStorageKey.fingerprint: - return 'fre_fingerprint'; - case KeychainStorageKey.access: - return 'fre_access'; - case KeychainStorageKey.panic: - return 'fre_panic'; - case KeychainStorageKey.person: - return 'fre_person'; - case KeychainStorageKey.requestOSNotification: - return 'fre_requestOSnotification'; - case KeychainStorageKey.isNewVersion: - return 'fre_isNewVersion'; - default: - return ''; - } - } -} diff --git a/lib/shared/mixins/index.dart b/lib/shared/mixins/index.dart new file mode 100644 index 00000000..f41f8c59 --- /dev/null +++ b/lib/shared/mixins/index.dart @@ -0,0 +1,2 @@ +export 'status_mixin.dart'; +export 'switcher_mixin.dart'; diff --git a/lib/shared/services/index.dart b/lib/shared/services/index.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/shared/services/index.dart @@ -0,0 +1 @@ + diff --git a/lib/shared/utils/index.dart b/lib/shared/utils/index.dart new file mode 100644 index 00000000..3bbabf2a --- /dev/null +++ b/lib/shared/utils/index.dart @@ -0,0 +1,13 @@ +export 'biometric_util.dart'; +export 'device_util.dart'; +export 'dialog_util.dart'; +export 'image_util.dart'; +export 'limited_text_size.dart'; +export 'loading_util.dart'; +export 'log_util.dart'; +export 'path_util.dart'; +export 'share_util.dart'; +export 'snackbar_util.dart'; +export 'text_util.dart'; +export 'validator_util.dart'; +export 'webview_util.dart'; diff --git a/lib/shared/utils/log_util.dart b/lib/shared/utils/log_util.dart index 06be0098..c9c9526b 100644 --- a/lib/shared/utils/log_util.dart +++ b/lib/shared/utils/log_util.dart @@ -1,7 +1,7 @@ import 'dart:developer'; import 'package:firebase_crashlytics/firebase_crashlytics.dart'; -import 'package:hub/backend/api_requests/api_calls.dart'; +import 'package:hub/features/backend/index.dart'; class LogUtil { static void requestAPIFailed(String url, String body, String reason, diff --git a/lib/shared/utils/share_util.dart b/lib/shared/utils/share_util.dart index eed7a7dd..a9c410f7 100644 --- a/lib/shared/utils/share_util.dart +++ b/lib/shared/utils/share_util.dart @@ -1,13 +1,10 @@ -import 'package:hub/shared/helpers/storage/base_storage.dart'; -import 'package:hub/shared/helpers/storage/storage_helper.dart'; +import 'package:hub/features/storage/index.dart'; import 'package:share_plus/share_plus.dart'; class ShareUtil { static Future showShare(payload) async { - final cliName = - await StorageHelper().get(KeychainStorageKey.clientName.value); - final cliUUID = - await StorageHelper().get(KeychainStorageKey.clientUUID.value); + final cliName = await StorageHelper().get(ProfileStorageKey.clientName.key); + final cliUUID = await StorageHelper().get(ProfileStorageKey.clientUUID.key); for (var i = 0; i < payload['convites'].length; i++) { await Share.share(''' diff --git a/lib/shared/utils/string_util.dart b/lib/shared/utils/string_util.dart new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/lib/shared/utils/string_util.dart @@ -0,0 +1 @@ + diff --git a/test/widget_test.dart b/test/widget_test.dart deleted file mode 100644 index 76de18a9..00000000 --- a/test/widget_test.dart +++ /dev/null @@ -1,17 +0,0 @@ -// // This is a basic Flutter widget test. -// // -// // To perform an interaction with a widget in your test, use the WidgetTester -// // utility that Flutter provides. For example, you can send tap and scroll -// // gestures. You can also use WidgetTester to find child widgets in the widget -// // tree, read text, and verify that the values of widget properties are correct. - -// import 'package:flutter_test/flutter_test.dart'; - -// import 'package:f_r_e_hub/main.dart'; - -// void main() { -// testWidgets('Counter increments smoke test', (WidgetTester tester) async { -// // Build our app and trigger a frame. -// await tester.pumpWidget(MyApp()); -// }); -// }