Merge pull request #79 from FRE-Informatica/fix/fd-1047

FIX/FD-1047 - Sincronizar Opções do Sistema
This commit is contained in:
DanielYukio 2025-01-14 14:46:32 -03:00 committed by GitHub
commit ade5dcb401
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
238 changed files with 1140 additions and 1226 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 66 KiB

View File

@ -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<void> _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<void> _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<void> _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<void> _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<void> _recoveryPassword() async {
await widget.pumpAndSettle();
final Finder forgotPassword =
find.byKey(const ValueKey<String>('ForgotPassword'));
if (forgotPassword.evaluate().isNotEmpty) await widget.tap(forgotPassword);
await widget.ensureVisible(forgotPassword);
await widget.pumpAndSettle();
}
Future<void> _navigateBackUsingSystemGesture() async =>
IntegrationTestWidgetsFlutterBinding.instance.keyboard
.isLogicalKeyPressed(LogicalKeyboardKey.escape);
Future<void> _navigateToSignUp() async {
await widget.pumpAndSettle();
final Finder navToSignUp =
find.byKey(const ValueKey<String>('toggleSignUpPage'));
if (navToSignUp.evaluate().isNotEmpty) {
await widget.tap(navToSignUp);
await widget.pumpAndSettle();
}
}
Future<void> _navigateToSignIn() async {
await widget.pumpAndSettle();
final Finder navToSignIn =
find.byKey(const ValueKey<String>('toggleSignInPage'));
expect(navToSignIn, findsOneWidget);
if (navToSignIn.evaluate().isNotEmpty) {
await widget.tap(navToSignIn);
await widget.pumpAndSettle();
}
}
Future<void> _auth(Map<String, dynamic> credentials) async {
await _enterCredentials(credentials);
await _submit('SubmitButtonWidget');
}
Future<void> _send(Map<String, dynamic> credentials) async {
await _enterCredentials(credentials);
await _submit('SendButtonWidget');
}
Future<void> _enterCredentials(Map<String, dynamic> credentials) async {
await widget.pumpAndSettle();
for (var entry in credentials.entries) {
final Finder field = find.byKey(ValueKey<String>(entry.key));
await widget.pumpAndSettle();
expect(field, findsOneWidget);
await widget.enterText(field, entry.value);
await widget.pumpAndSettle();
}
await widget.pumpAndSettle();
}
Future<void> _submit(String key) async {
await widget.pumpAndSettle();
final Finder submitButton = find.byKey(ValueKey<String>(key));
await widget.pumpAndSettle();
if (submitButton.evaluate().isNotEmpty) {
await widget.tap(submitButton);
await widget.pumpAndSettle();
}
final Finder throwExceptionWidget =
find.byKey(const ValueKey<String>('ThrowExceptionWidget'));
await widget.pumpAndSettle();
if (throwExceptionWidget.evaluate().isNotEmpty) {
await widget.ensureVisible(throwExceptionWidget);
await widget.tap(throwExceptionWidget);
await widget.pumpAndSettle();
} else {
await _navigateBackUsingSystemGesture();
}
}

View File

@ -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);
});
});
}

View File

@ -1,3 +0,0 @@
export '/backend/schema/util/schema_util.dart';
export 'device_struct.dart';

View File

@ -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: [

View File

@ -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<dynamic> _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;

View File

@ -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<void> 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

View File

@ -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';

View File

@ -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<UpArrowLinkedLocalsComponentWidget> {
@ -17,14 +16,13 @@ class UpArrowLinkedLocalsComponentModel
}
Future<void> 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

View File

@ -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';

View File

@ -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<void> 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

View File

@ -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';

View File

@ -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;

View File

@ -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';

View File

@ -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<void> 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)) ?? '';
;
}

View File

@ -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<ScheduleProvisionalVisitPageWidget> {
@ -148,16 +147,15 @@ class ScheduleProvisionalVisitPageModel
}
Future<void> 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();
}
}

View File

@ -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';

View File

@ -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<void> 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)) ?? '';
;
}

View File

@ -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';

View File

@ -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';

View File

@ -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';

View File

@ -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<ViewVisitDetailWidget> {
}
Future<void> 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)) ?? '';
;
}

View File

@ -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';

View File

@ -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<VisitorSearchModalTemplateComponentWidget> {
@ -39,12 +38,11 @@ class VisitorSearchModalTemplateComponentModel
}
Future<void> 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)) ?? '';
;
}

View File

@ -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';

1
lib/core/meta/index.dart Normal file
View File

@ -0,0 +1 @@
export 'anotations.dart';

View File

@ -0,0 +1 @@
export 'services/index.dart';

View File

@ -1,3 +1,4 @@
export 'data/index.dart';
export 'domain/index.dart';
export 'presentation/index.dart';
export 'application/index.dart';

View File

@ -1,25 +1,18 @@
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/module/data/repositories/license_repository_impl.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<void> login(BuildContext context) async {
@ -76,7 +69,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 +78,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 {
@ -161,8 +152,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);
}

View File

@ -0,0 +1 @@
export 'authentication_service.dart';

View File

@ -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<ApiCallResponse> 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<ApiCallResponse> 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<ApiCallResponse> 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<ApiCallResponse> 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<ApiCallResponse> 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<ApiCallResponse> 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<ApiCallResponse> 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<ApiCallResponse> 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<ApiCallResponse> 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(

View File

@ -0,0 +1,3 @@
export 'api_calls.dart';
export 'api_manager.dart';
export 'get_streamed_response.dart';

View File

@ -0,0 +1,2 @@
export 'api_requests/index.dart';
export 'schema/index.dart';

View File

@ -0,0 +1 @@
export 'enums.dart';

View File

@ -0,0 +1,3 @@
export 'enums/index.dart';
export 'structs/index.dart';
export 'util/index.dart';

View File

@ -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';

View File

@ -0,0 +1 @@
export 'device_struct.dart';

View File

@ -0,0 +1 @@
export 'schema_util.dart';

View File

@ -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';

View File

@ -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<AccessHistoryScreen> {
late final String devUUID;
@ -33,12 +32,11 @@ class AcessHistoryPageModel extends FlutterFlowModel<AccessHistoryScreen> {
}
Future<void> 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

View File

@ -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,

View File

@ -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<AccessHistoryScreen> {
fontFamily: theme.headlineMediumFamily,
color: theme.primaryText,
fontSize: 16.0,
fontWeight: FontWeight.bold,
letterSpacing: 0.0,
useGoogleFonts:
GoogleFonts.asMap().containsKey(theme.headlineMediumFamily),

View File

@ -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';
@ -12,6 +12,7 @@ import 'package:hub/flutter_flow/flutter_flow_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 'package:rxdart/rxdart.dart';
@immutable
@ -110,14 +111,15 @@ class ProvisionalHistoryState extends State<ProvisionalHistoryPage> {
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),
),
);
}

View File

@ -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<HomeEvent, HomeState> {
@ -19,13 +18,13 @@ class HomeBloc extends Bloc<HomeEvent, HomeState> {
Future<void> _onHomeEvent(HomeEvent event, Emitter<HomeState> 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)) ?? '';

View File

@ -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<AboutSystemPage> {
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<AboutSystemPage> {
Widget _buildLogo() {
return SizedBox(
height: 50,
width: 50,
height: 100,
width: 100,
child: Image.asset('assets/images/fre.png'),
);
}

View File

@ -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});

View File

@ -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});

View File

@ -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<void> init() async {
if (_isInitialized) return;
await DatabaseService.instance.init();
_isInitialized = true;
}
@override
Future<String?> 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<void> set<T>(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<void> 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<void> clearAll() async {
try {
await DatabaseService.database
.delete(LocalsConstants.tableLocalsKeychain);
} catch (e, s) {
log('() => clearAll keychain: $e', stackTrace: s);
}
}
}

View File

@ -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<void> linkLocal(BuildContext context);
Future<bool> checkLocals(BuildContext context);
Future<bool> processLocals(BuildContext context);
Future<bool> processData(BuildContext context);
Future<bool> processProperty(BuildContext context);
Future<bool> selectLocal(BuildContext context, ApiCallResponse? response);
Future<bool> 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<bool> 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<bool> processData(BuildContext context) async {
Future<bool> 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});

View File

@ -0,0 +1 @@

View File

@ -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<bool> 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<bool> fetch(BuildContext context) async {
return await _handleProperty(context);
}
Future<void> select(BuildContext context) async {
await localDataSource.unlinkLocal();
await unselect();
await update(context);
}
Future<void> unselect() async {
await StorageHelper().set(ProfileStorageKey.clientUUID.key, '');
await StorageHelper().set(ProfileStorageKey.clientName.key, '');
await StorageHelper().set(ProfileStorageKey.ownerName.key, '');
}
Future<void> 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<bool> _handleReponse(BuildContext context) async {
Future<bool> _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<bool> _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<void> _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<void> 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);

View File

@ -0,0 +1 @@

View File

@ -4,4 +4,5 @@ abstract class LocalsRepository {
Future<void> validateLocal(BuildContext context) async {}
Future<bool> update(BuildContext context) async => false;
Future<void> unlinkLocal(BuildContext context) async {}
Future<void> fetch(BuildContext context) async {}
}

View File

@ -0,0 +1 @@

View File

@ -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<LocalProfileEvent, LocalProfileState> {
Future<void> _onLocalProfileEvent(
LocalProfileEvent event, Emitter<LocalProfileState> 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<void> 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();
}

View File

@ -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});

View File

@ -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<bool> 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<dynamic> 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<bool> updateStorageUtil(Map<String, dynamic> 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<bool> isInactived(List<dynamic> 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<bool> 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<bool> 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<bool> 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;
}
}

View File

@ -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<MenuItem?> addMenuEntry(EnumMenuItem item, List<MenuItem?> entries,
IconData icon, String text, Function() action);

View File

@ -0,0 +1 @@

View File

@ -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();

View File

@ -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,

View File

@ -0,0 +1 @@
export 'menu_repository.dart';

View File

@ -0,0 +1,6 @@
import 'package:hub/features/menu/index.dart';
abstract class MenuRepository {
Future<List<MenuItem?>> generateMenuEntries(
List<MenuEntry> menuEntries, EnumMenuItem item);
}

View File

@ -0,0 +1 @@

View File

@ -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 {}

Some files were not shown because too many files have changed in this diff Show More