diff --git a/sigap-mobile/lib/splash_screen.dart b/sigap-mobile/lib/splash_screen.dart index f110a55..84c4b1f 100644 --- a/sigap-mobile/lib/splash_screen.dart +++ b/sigap-mobile/lib/splash_screen.dart @@ -1,7 +1,7 @@ import 'package:animated_splash_screen/animated_splash_screen.dart'; import 'package:flutter/material.dart'; import 'package:lottie/lottie.dart'; -import 'package:sigap/src/features/onboarding/screens/onboarding/onboarding_screen.dart'; +import 'package:sigap/src/features/onboarding/presentasion/pages/onboarding/onboarding_screen.dart'; import 'package:sigap/src/utils/constants/colors.dart'; import 'package:sigap/src/utils/constants/image_strings.dart'; import 'package:sigap/src/utils/helpers/helper_functions.dart'; diff --git a/sigap-mobile/lib/src/cores/bindings/controller_bindings.dart b/sigap-mobile/lib/src/cores/bindings/controller_bindings.dart index 886e5f7..7db701c 100644 --- a/sigap-mobile/lib/src/cores/bindings/controller_bindings.dart +++ b/sigap-mobile/lib/src/cores/bindings/controller_bindings.dart @@ -1,6 +1,6 @@ import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/bindings/auth_bindings.dart'; -import 'package:sigap/src/features/onboarding/bindings/onboarding_binding.dart'; +import 'package:sigap/src/features/auth/presentasion/bindings/auth_bindings.dart'; +import 'package:sigap/src/features/onboarding/presentasion/bindings/onboarding_binding.dart'; class ControllerBindings extends Bindings { @override @@ -11,7 +11,7 @@ class ControllerBindings extends Bindings { OnboardingBindings().dependencies(); // Auth Bindings - AuthBindings().dependencies(); + AuthControllerBindings().dependencies(); } } diff --git a/sigap-mobile/lib/src/cores/bindings/general_bindings.dart b/sigap-mobile/lib/src/cores/bindings/general_bindings.dart index f05359b..0bcd85b 100644 --- a/sigap-mobile/lib/src/cores/bindings/general_bindings.dart +++ b/sigap-mobile/lib/src/cores/bindings/general_bindings.dart @@ -8,7 +8,7 @@ class UtilityBindings extends Bindings { @override void dependencies() { // Get.put(BackgroundService.instance, permanent: true); - Get.put(NetworkManager()); + Get.put(NetworkManager(), permanent: true); Get.put(logger, permanent: true); } } diff --git a/sigap-mobile/lib/src/cores/bindings/repository_bindings.dart b/sigap-mobile/lib/src/cores/bindings/repository_bindings.dart index 4c1eb90..51a8988 100644 --- a/sigap-mobile/lib/src/cores/bindings/repository_bindings.dart +++ b/sigap-mobile/lib/src/cores/bindings/repository_bindings.dart @@ -1,22 +1,22 @@ import 'package:get/get.dart'; -import 'package:sigap/src/cores/repositories/authentication/authentication_repository.dart'; -import 'package:sigap/src/cores/repositories/daily-ops/officers_repository.dart'; -import 'package:sigap/src/cores/repositories/daily-ops/units_repository.dart'; -import 'package:sigap/src/cores/repositories/personalization/profile_repository.dart'; -import 'package:sigap/src/cores/repositories/personalization/roles_repository.dart'; -import 'package:sigap/src/cores/repositories/personalization/users_repository.dart'; +import 'package:sigap/src/features/auth/data/bindings/authentication_bindings_repository.dart'; +import 'package:sigap/src/features/daily-ops/data/bindings/daily_ops_repository_bindings.dart'; +import 'package:sigap/src/features/map/data/bindings/map_repository_bindings.dart'; +import 'package:sigap/src/features/panic-button/data/bindings/panic_button_repository_bindings.dart'; +import 'package:sigap/src/features/personalization/data/bindings/personalization_repository_bindings.dart'; class RepositoryBindings extends Bindings { @override void dependencies() { - Get.lazyPut( - () => AuthenticationRepository(), - fenix: true, - ); - Get.lazyPut(() => UserRepository(), fenix: true); - Get.lazyPut(() => OfficerRepository(), fenix: true); - Get.lazyPut(() => UnitRepository(), fenix: true); - Get.lazyPut(() => ProfileRepository(), fenix: true); - Get.lazyPut(() => RolesRepository(), fenix: true); + // Register all feature repositories + AuthRepositoryBindings().dependencies(); + + PersonalizationRepositoryBindings().dependencies(); + + PanicButtonRepositoryBindings().dependencies(); + + MapRepositoryBindings().dependencies(); + + DailyOpsRepositoryBindings().dependencies(); } } diff --git a/sigap-mobile/lib/src/cores/repositories/panic-button/crimes_repository.dart b/sigap-mobile/lib/src/cores/repositories/panic-button/crimes_repository.dart deleted file mode 100644 index e69de29..0000000 diff --git a/sigap-mobile/lib/src/cores/repositories/panic-button/events_repository.dart b/sigap-mobile/lib/src/cores/repositories/panic-button/events_repository.dart deleted file mode 100644 index e69de29..0000000 diff --git a/sigap-mobile/lib/src/cores/repositories/panic-button/evidences_repository.dart b/sigap-mobile/lib/src/cores/repositories/panic-button/evidences_repository.dart deleted file mode 100644 index e69de29..0000000 diff --git a/sigap-mobile/lib/src/cores/repositories/panic-button/incident_logs_repository.dart b/sigap-mobile/lib/src/cores/repositories/panic-button/incident_logs_repository.dart deleted file mode 100644 index e69de29..0000000 diff --git a/sigap-mobile/lib/src/cores/repositories/panic-button/sessions_repository.dart b/sigap-mobile/lib/src/cores/repositories/panic-button/sessions_repository.dart deleted file mode 100644 index e69de29..0000000 diff --git a/sigap-mobile/lib/src/cores/routes/app_pages.dart b/sigap-mobile/lib/src/cores/routes/app_pages.dart index c5ffcb8..af7ed34 100644 --- a/sigap-mobile/lib/src/cores/routes/app_pages.dart +++ b/sigap-mobile/lib/src/cores/routes/app_pages.dart @@ -1,11 +1,11 @@ import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/screens/forgot-password/forgot_password.dart'; -import 'package:sigap/src/features/auth/screens/signin/signin_screen.dart'; -import 'package:sigap/src/features/auth/screens/signup/signup_screen.dart'; -import 'package:sigap/src/features/auth/screens/step-form/step_form_screen.dart'; -import 'package:sigap/src/features/onboarding/screens/onboarding/onboarding_screen.dart'; -import 'package:sigap/src/features/onboarding/screens/role-selection/role_selection_screen.dart'; -import 'package:sigap/src/features/onboarding/screens/welcome/welcome_screen.dart'; +import 'package:sigap/src/features/auth/presentasion/pages/forgot-password/forgot_password.dart'; +import 'package:sigap/src/features/auth/presentasion/pages/signin/signin_screen.dart'; +import 'package:sigap/src/features/auth/presentasion/pages/signup/signup_screen.dart'; +import 'package:sigap/src/features/auth/presentasion/pages/step-form/step_form_screen.dart'; +import 'package:sigap/src/features/onboarding/presentasion/pages/onboarding/onboarding_screen.dart'; +import 'package:sigap/src/features/onboarding/presentasion/pages/role-selection/role_selection_screen.dart'; +import 'package:sigap/src/features/onboarding/presentasion/pages/welcome/welcome_screen.dart'; import 'package:sigap/src/utils/constants/app_routes.dart'; class AppPages { diff --git a/sigap-mobile/lib/src/cores/services/biometric_service.dart b/sigap-mobile/lib/src/cores/services/biometric_service.dart index febc97a..1dd6a07 100644 --- a/sigap-mobile/lib/src/cores/services/biometric_service.dart +++ b/sigap-mobile/lib/src/cores/services/biometric_service.dart @@ -3,7 +3,7 @@ import 'package:flutter_secure_storage/flutter_secure_storage.dart'; import 'package:get/get.dart'; import 'package:local_auth/local_auth.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/auth/models/user_metadata_model.dart'; +import 'package:sigap/src/features/auth/data/models/user_metadata_model.dart'; class BiometricService extends GetxService { static BiometricService get instance => Get.find(); diff --git a/sigap-mobile/lib/src/cores/services/supabase_service.dart b/sigap-mobile/lib/src/cores/services/supabase_service.dart index 941b883..bf597d3 100644 --- a/sigap-mobile/lib/src/cores/services/supabase_service.dart +++ b/sigap-mobile/lib/src/cores/services/supabase_service.dart @@ -1,5 +1,5 @@ import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/models/user_metadata_model.dart'; +import 'package:sigap/src/features/auth/data/models/user_metadata_model.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; class SupabaseService extends GetxService { diff --git a/sigap-mobile/lib/src/features/auth/bindings/auth_bindings.dart b/sigap-mobile/lib/src/features/auth/bindings/auth_bindings.dart deleted file mode 100644 index f7af436..0000000 --- a/sigap-mobile/lib/src/features/auth/bindings/auth_bindings.dart +++ /dev/null @@ -1,18 +0,0 @@ -import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/controllers/email_verification_controller.dart'; -import 'package:sigap/src/features/auth/controllers/forgot_password_controller.dart'; -import 'package:sigap/src/features/auth/controllers/signin_controller.dart'; -import 'package:sigap/src/features/auth/controllers/signup_controller.dart'; -import 'package:sigap/src/features/auth/controllers/step_form_controller.dart'; - -class AuthBindings extends Bindings { - @override - void dependencies() { - // Register all feature auth controllers - Get.lazyPut(() => SignInController()); - Get.lazyPut(() => SignUpController()); - Get.lazyPut(() => StepFormController()); - Get.lazyPut(() => EmailVerificationController()); - Get.lazyPut(() => ForgotPasswordController()); - } -} diff --git a/sigap-mobile/lib/src/features/auth/data/bindings/authentication_bindings_repository.dart b/sigap-mobile/lib/src/features/auth/data/bindings/authentication_bindings_repository.dart new file mode 100644 index 0000000..54e742e --- /dev/null +++ b/sigap-mobile/lib/src/features/auth/data/bindings/authentication_bindings_repository.dart @@ -0,0 +1,9 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/features/auth/data/repositories/authentication_repository.dart'; + +class AuthRepositoryBindings extends Bindings { + @override + void dependencies() { + Get.lazyPut(() => AuthenticationRepository(), fenix: true); + } +} diff --git a/sigap-mobile/lib/src/features/auth/models/index.dart b/sigap-mobile/lib/src/features/auth/data/models/index.dart similarity index 100% rename from sigap-mobile/lib/src/features/auth/models/index.dart rename to sigap-mobile/lib/src/features/auth/data/models/index.dart diff --git a/sigap-mobile/lib/src/features/auth/models/user_metadata_model.dart b/sigap-mobile/lib/src/features/auth/data/models/user_metadata_model.dart similarity index 96% rename from sigap-mobile/lib/src/features/auth/models/user_metadata_model.dart rename to sigap-mobile/lib/src/features/auth/data/models/user_metadata_model.dart index 010b70a..96664fa 100644 --- a/sigap-mobile/lib/src/features/auth/models/user_metadata_model.dart +++ b/sigap-mobile/lib/src/features/auth/data/models/user_metadata_model.dart @@ -1,5 +1,5 @@ -import 'package:sigap/src/features/daily-ops/models/models/officers_model.dart'; -import 'package:sigap/src/features/personalization/models/models/profile_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/officers_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/profile_model.dart'; class UserMetadataModel { final bool isOfficer; diff --git a/sigap-mobile/lib/src/cores/repositories/authentication/authentication_repository.dart b/sigap-mobile/lib/src/features/auth/data/repositories/authentication_repository.dart similarity index 99% rename from sigap-mobile/lib/src/cores/repositories/authentication/authentication_repository.dart rename to sigap-mobile/lib/src/features/auth/data/repositories/authentication_repository.dart index d76eb08..184c878 100644 --- a/sigap-mobile/lib/src/cores/repositories/authentication/authentication_repository.dart +++ b/sigap-mobile/lib/src/features/auth/data/repositories/authentication_repository.dart @@ -4,8 +4,8 @@ import 'package:get_storage/get_storage.dart'; import 'package:sigap/src/cores/services/biometric_service.dart'; import 'package:sigap/src/cores/services/location_service.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/auth/screens/signin/signin_screen.dart'; -import 'package:sigap/src/features/onboarding/screens/onboarding/onboarding_screen.dart'; +import 'package:sigap/src/features/auth/presentasion/pages/signin/signin_screen.dart'; +import 'package:sigap/src/features/onboarding/presentasion/pages/onboarding/onboarding_screen.dart'; import 'package:sigap/src/utils/constants/app_routes.dart'; import 'package:sigap/src/utils/exceptions/exceptions.dart'; import 'package:sigap/src/utils/exceptions/format_exceptions.dart'; diff --git a/sigap-mobile/lib/src/features/auth/presentasion/bindings/auth_bindings.dart b/sigap-mobile/lib/src/features/auth/presentasion/bindings/auth_bindings.dart new file mode 100644 index 0000000..5701cad --- /dev/null +++ b/sigap-mobile/lib/src/features/auth/presentasion/bindings/auth_bindings.dart @@ -0,0 +1,18 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/features/auth/presentasion/controllers/email_verification_controller.dart'; +import 'package:sigap/src/features/auth/presentasion/controllers/forgot_password_controller.dart'; +import 'package:sigap/src/features/auth/presentasion/controllers/signin_controller.dart'; +import 'package:sigap/src/features/auth/presentasion/controllers/signup_controller.dart'; +import 'package:sigap/src/features/auth/presentasion/controllers/step_form_controller.dart'; + +class AuthControllerBindings extends Bindings { + @override + void dependencies() { + // Register all feature auth controllers + Get.lazyPut(() => SignInController(), fenix: true); + Get.lazyPut(() => SignUpController(), fenix: true); + Get.lazyPut(() => FormRegistrationController(), fenix: true); + Get.lazyPut(() => EmailVerificationController(), fenix: true); + Get.lazyPut(() => ForgotPasswordController(), fenix: true); + } +} diff --git a/sigap-mobile/lib/src/features/auth/controllers/email_verification_controller.dart b/sigap-mobile/lib/src/features/auth/presentasion/controllers/email_verification_controller.dart similarity index 97% rename from sigap-mobile/lib/src/features/auth/controllers/email_verification_controller.dart rename to sigap-mobile/lib/src/features/auth/presentasion/controllers/email_verification_controller.dart index 7fb5e17..1d40438 100644 --- a/sigap-mobile/lib/src/features/auth/controllers/email_verification_controller.dart +++ b/sigap-mobile/lib/src/features/auth/presentasion/controllers/email_verification_controller.dart @@ -2,7 +2,7 @@ import 'dart:async'; import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/cores/repositories/authentication/authentication_repository.dart'; +import 'package:sigap/src/features/auth/data/repositories/authentication_repository.dart'; import 'package:sigap/src/utils/constants/app_routes.dart'; import 'package:sigap/src/utils/popups/loaders.dart'; diff --git a/sigap-mobile/lib/src/features/auth/controllers/forgot_password_controller.dart b/sigap-mobile/lib/src/features/auth/presentasion/controllers/forgot_password_controller.dart similarity index 95% rename from sigap-mobile/lib/src/features/auth/controllers/forgot_password_controller.dart rename to sigap-mobile/lib/src/features/auth/presentasion/controllers/forgot_password_controller.dart index 3751d25..021d4f6 100644 --- a/sigap-mobile/lib/src/features/auth/controllers/forgot_password_controller.dart +++ b/sigap-mobile/lib/src/features/auth/presentasion/controllers/forgot_password_controller.dart @@ -1,6 +1,6 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/cores/repositories/authentication/authentication_repository.dart'; +import 'package:sigap/src/features/auth/data/repositories/authentication_repository.dart'; import 'package:sigap/src/utils/popups/loaders.dart'; import 'package:sigap/src/utils/validators/validation.dart'; diff --git a/sigap-mobile/lib/src/features/auth/controllers/signin_controller.dart b/sigap-mobile/lib/src/features/auth/presentasion/controllers/signin_controller.dart similarity index 97% rename from sigap-mobile/lib/src/features/auth/controllers/signin_controller.dart rename to sigap-mobile/lib/src/features/auth/presentasion/controllers/signin_controller.dart index e28e65f..8f2de7b 100644 --- a/sigap-mobile/lib/src/features/auth/controllers/signin_controller.dart +++ b/sigap-mobile/lib/src/features/auth/presentasion/controllers/signin_controller.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; -import 'package:sigap/src/cores/repositories/authentication/authentication_repository.dart'; +import 'package:sigap/src/features/auth/data/repositories/authentication_repository.dart'; import 'package:sigap/src/utils/constants/app_routes.dart'; import 'package:sigap/src/utils/helpers/network_manager.dart'; import 'package:sigap/src/utils/popups/loaders.dart'; diff --git a/sigap-mobile/lib/src/features/auth/controllers/signup_controller.dart b/sigap-mobile/lib/src/features/auth/presentasion/controllers/signup_controller.dart similarity index 96% rename from sigap-mobile/lib/src/features/auth/controllers/signup_controller.dart rename to sigap-mobile/lib/src/features/auth/presentasion/controllers/signup_controller.dart index 475f2dd..22e95d6 100644 --- a/sigap-mobile/lib/src/features/auth/controllers/signup_controller.dart +++ b/sigap-mobile/lib/src/features/auth/presentasion/controllers/signup_controller.dart @@ -2,8 +2,8 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:logger/logger.dart'; -import 'package:sigap/src/cores/repositories/authentication/authentication_repository.dart'; -import 'package:sigap/src/features/auth/models/user_metadata_model.dart'; +import 'package:sigap/src/features/auth/data/repositories/authentication_repository.dart'; +import 'package:sigap/src/features/auth/data/models/user_metadata_model.dart'; import 'package:sigap/src/utils/constants/app_routes.dart'; import 'package:sigap/src/utils/helpers/network_manager.dart'; import 'package:sigap/src/utils/popups/loaders.dart'; diff --git a/sigap-mobile/lib/src/features/auth/controllers/step_form_controller.dart b/sigap-mobile/lib/src/features/auth/presentasion/controllers/step_form_controller.dart similarity index 97% rename from sigap-mobile/lib/src/features/auth/controllers/step_form_controller.dart rename to sigap-mobile/lib/src/features/auth/presentasion/controllers/step_form_controller.dart index b13916b..d46a0f0 100644 --- a/sigap-mobile/lib/src/features/auth/controllers/step_form_controller.dart +++ b/sigap-mobile/lib/src/features/auth/presentasion/controllers/step_form_controller.dart @@ -1,14 +1,14 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/models/user_metadata_model.dart'; -import 'package:sigap/src/features/daily-ops/models/index.dart'; -import 'package:sigap/src/features/personalization/models/index.dart'; +import 'package:sigap/src/features/auth/data/models/user_metadata_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/index.dart'; +import 'package:sigap/src/features/personalization/data/models/index.dart'; import 'package:sigap/src/utils/constants/app_routes.dart'; import 'package:sigap/src/utils/popups/loaders.dart'; import 'package:sigap/src/utils/validators/validation.dart'; -class StepFormController extends GetxController { - static StepFormController get to => Get.find(); +class FormRegistrationController extends GetxController { + static FormRegistrationController get to => Get.find(); // Role information final Rx selectedRole = Rx(null); diff --git a/sigap-mobile/lib/src/features/auth/screens/email-verification/email_verification_screen.dart b/sigap-mobile/lib/src/features/auth/presentasion/pages/email-verification/email_verification_screen.dart similarity index 93% rename from sigap-mobile/lib/src/features/auth/screens/email-verification/email_verification_screen.dart rename to sigap-mobile/lib/src/features/auth/presentasion/pages/email-verification/email_verification_screen.dart index cb136ea..7b175f3 100644 --- a/sigap-mobile/lib/src/features/auth/screens/email-verification/email_verification_screen.dart +++ b/sigap-mobile/lib/src/features/auth/presentasion/pages/email-verification/email_verification_screen.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/controllers/email_verification_controller.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_button.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_header.dart'; -import 'package:sigap/src/features/auth/screens/widgets/otp_input_field.dart'; +import 'package:sigap/src/features/auth/presentasion/controllers/email_verification_controller.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_button.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_header.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/otp_input_field.dart'; import 'package:sigap/src/utils/constants/colors.dart'; class EmailVerificationScreen extends StatelessWidget { diff --git a/sigap-mobile/lib/src/features/auth/screens/forgot-password/forgot_password.dart b/sigap-mobile/lib/src/features/auth/presentasion/pages/forgot-password/forgot_password.dart similarity index 92% rename from sigap-mobile/lib/src/features/auth/screens/forgot-password/forgot_password.dart rename to sigap-mobile/lib/src/features/auth/presentasion/pages/forgot-password/forgot_password.dart index 53643b1..3596902 100644 --- a/sigap-mobile/lib/src/features/auth/screens/forgot-password/forgot_password.dart +++ b/sigap-mobile/lib/src/features/auth/presentasion/pages/forgot-password/forgot_password.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/controllers/forgot_password_controller.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_button.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_header.dart'; +import 'package:sigap/src/features/auth/presentasion/controllers/forgot_password_controller.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_button.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_header.dart'; import 'package:sigap/src/shared/widgets/text/custom_text_field.dart'; import 'package:sigap/src/utils/constants/colors.dart'; diff --git a/sigap-mobile/lib/src/features/auth/screens/signin/signin_screen.dart b/sigap-mobile/lib/src/features/auth/presentasion/pages/signin/signin_screen.dart similarity index 90% rename from sigap-mobile/lib/src/features/auth/screens/signin/signin_screen.dart rename to sigap-mobile/lib/src/features/auth/presentasion/pages/signin/signin_screen.dart index 97d4df5..adb6888 100644 --- a/sigap-mobile/lib/src/features/auth/screens/signin/signin_screen.dart +++ b/sigap-mobile/lib/src/features/auth/presentasion/pages/signin/signin_screen.dart @@ -1,12 +1,12 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/controllers/signin_controller.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_button.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_divider.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_header.dart'; -import 'package:sigap/src/features/auth/screens/widgets/password_field.dart'; -import 'package:sigap/src/features/auth/screens/widgets/social_button.dart'; +import 'package:sigap/src/features/auth/presentasion/controllers/signin_controller.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_button.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_divider.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_header.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/password_field.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/social_button.dart'; import 'package:sigap/src/shared/widgets/text/custom_text_field.dart'; import 'package:sigap/src/utils/constants/colors.dart'; import 'package:sigap/src/utils/validators/validation.dart'; diff --git a/sigap-mobile/lib/src/features/auth/screens/signup/signup_screen.dart b/sigap-mobile/lib/src/features/auth/presentasion/pages/signup/signup_screen.dart similarity index 97% rename from sigap-mobile/lib/src/features/auth/screens/signup/signup_screen.dart rename to sigap-mobile/lib/src/features/auth/presentasion/pages/signup/signup_screen.dart index 4a12106..6a0516d 100644 --- a/sigap-mobile/lib/src/features/auth/screens/signup/signup_screen.dart +++ b/sigap-mobile/lib/src/features/auth/presentasion/pages/signup/signup_screen.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/controllers/signup_controller.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_button.dart'; -import 'package:sigap/src/features/auth/screens/widgets/password_field.dart'; +import 'package:sigap/src/features/auth/presentasion/controllers/signup_controller.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_button.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/password_field.dart'; import 'package:sigap/src/shared/widgets/text/custom_text_field.dart'; import 'package:sigap/src/utils/constants/colors.dart'; diff --git a/sigap-mobile/lib/src/features/auth/screens/step-form/step_form_screen.dart b/sigap-mobile/lib/src/features/auth/presentasion/pages/step-form/step_form_screen.dart similarity index 95% rename from sigap-mobile/lib/src/features/auth/screens/step-form/step_form_screen.dart rename to sigap-mobile/lib/src/features/auth/presentasion/pages/step-form/step_form_screen.dart index 3930378..2bca25f 100644 --- a/sigap-mobile/lib/src/features/auth/screens/step-form/step_form_screen.dart +++ b/sigap-mobile/lib/src/features/auth/presentasion/pages/step-form/step_form_screen.dart @@ -1,9 +1,9 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/controllers/step_form_controller.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_button.dart'; -import 'package:sigap/src/features/personalization/models/index.dart'; +import 'package:sigap/src/features/auth/presentasion/controllers/step_form_controller.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_button.dart'; +import 'package:sigap/src/features/personalization/data/models/index.dart'; import 'package:sigap/src/shared/widgets/dropdown/custom_dropdown.dart'; import 'package:sigap/src/shared/widgets/indicators/step_indicator.dart'; import 'package:sigap/src/shared/widgets/text/custom_text_field.dart'; @@ -16,7 +16,7 @@ class FormRegistrationScreen extends StatelessWidget { @override Widget build(BuildContext context) { // Get the controller - final controller = Get.find(); + final controller = Get.find(); // Set system overlay style SystemChrome.setSystemUIOverlayStyle( @@ -139,7 +139,7 @@ class FormRegistrationScreen extends StatelessWidget { } } - Widget _buildStepContent(StepFormController controller) { + Widget _buildStepContent(FormRegistrationController controller) { final isOfficer = controller.selectedRole.value?.isOfficer ?? false; switch (controller.currentStep.value) { @@ -160,7 +160,7 @@ class FormRegistrationScreen extends StatelessWidget { } } - Widget _buildPersonalInfoStep(StepFormController controller) { + Widget _buildPersonalInfoStep(FormRegistrationController controller) { return Form( key: controller.stepFormKeys[0], child: Column( @@ -241,7 +241,7 @@ class FormRegistrationScreen extends StatelessWidget { ); } - Widget _buildEmergencyContactStep(StepFormController controller) { + Widget _buildEmergencyContactStep(FormRegistrationController controller) { return Form( key: controller.stepFormKeys[1], child: Column( @@ -313,7 +313,7 @@ class FormRegistrationScreen extends StatelessWidget { ); } - Widget _buildOfficerInfoStep(StepFormController controller) { + Widget _buildOfficerInfoStep(FormRegistrationController controller) { return Form( key: controller.stepFormKeys[1], child: Column( @@ -360,7 +360,9 @@ class FormRegistrationScreen extends StatelessWidget { ); } - Widget _buildOfficerAdditionalInfoStep(StepFormController controller) { + Widget _buildOfficerAdditionalInfoStep( + FormRegistrationController controller, + ) { return Form( key: controller.stepFormKeys[2], child: Column( diff --git a/sigap-mobile/lib/src/features/auth/screens/widgets/auth_button.dart b/sigap-mobile/lib/src/features/auth/presentasion/widgets/auth_button.dart similarity index 100% rename from sigap-mobile/lib/src/features/auth/screens/widgets/auth_button.dart rename to sigap-mobile/lib/src/features/auth/presentasion/widgets/auth_button.dart diff --git a/sigap-mobile/lib/src/features/auth/screens/widgets/auth_divider.dart b/sigap-mobile/lib/src/features/auth/presentasion/widgets/auth_divider.dart similarity index 100% rename from sigap-mobile/lib/src/features/auth/screens/widgets/auth_divider.dart rename to sigap-mobile/lib/src/features/auth/presentasion/widgets/auth_divider.dart diff --git a/sigap-mobile/lib/src/features/auth/screens/widgets/auth_header.dart b/sigap-mobile/lib/src/features/auth/presentasion/widgets/auth_header.dart similarity index 100% rename from sigap-mobile/lib/src/features/auth/screens/widgets/auth_header.dart rename to sigap-mobile/lib/src/features/auth/presentasion/widgets/auth_header.dart diff --git a/sigap-mobile/lib/src/features/auth/screens/widgets/otp_input_field.dart b/sigap-mobile/lib/src/features/auth/presentasion/widgets/otp_input_field.dart similarity index 100% rename from sigap-mobile/lib/src/features/auth/screens/widgets/otp_input_field.dart rename to sigap-mobile/lib/src/features/auth/presentasion/widgets/otp_input_field.dart diff --git a/sigap-mobile/lib/src/features/auth/screens/widgets/password_field.dart b/sigap-mobile/lib/src/features/auth/presentasion/widgets/password_field.dart similarity index 100% rename from sigap-mobile/lib/src/features/auth/screens/widgets/password_field.dart rename to sigap-mobile/lib/src/features/auth/presentasion/widgets/password_field.dart diff --git a/sigap-mobile/lib/src/features/auth/screens/widgets/social_button.dart b/sigap-mobile/lib/src/features/auth/presentasion/widgets/social_button.dart similarity index 100% rename from sigap-mobile/lib/src/features/auth/screens/widgets/social_button.dart rename to sigap-mobile/lib/src/features/auth/presentasion/widgets/social_button.dart diff --git a/sigap-mobile/lib/src/features/daily-ops/data/bindings/daily_ops_repository_bindings.dart b/sigap-mobile/lib/src/features/daily-ops/data/bindings/daily_ops_repository_bindings.dart new file mode 100644 index 0000000..a6b0842 --- /dev/null +++ b/sigap-mobile/lib/src/features/daily-ops/data/bindings/daily_ops_repository_bindings.dart @@ -0,0 +1,20 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/features/daily-ops/data/repositories/patrol_units_repository.dart'; +import 'package:sigap/src/features/daily-ops/data/repositories/unit_statistics_repository.dart'; +import 'package:sigap/src/features/daily-ops/data/repositories/units_repository.dart'; + +class DailyOpsRepositoryBindings extends Bindings { + @override + void dependencies() { + // Register all feature daily ops controllers + Get.lazyPut(() => UnitRepository(), fenix: true); + Get.lazyPut( + () => UnitStatisticsRepository(), + fenix: true, + ); + Get.lazyPut( + () => PatrolUnitRepository(), + fenix: true, + ); + } +} diff --git a/sigap-mobile/lib/src/features/daily-ops/models/index.dart b/sigap-mobile/lib/src/features/daily-ops/data/models/index.dart similarity index 100% rename from sigap-mobile/lib/src/features/daily-ops/models/index.dart rename to sigap-mobile/lib/src/features/daily-ops/data/models/index.dart diff --git a/sigap-mobile/lib/src/features/daily-ops/models/models/officers_model.dart b/sigap-mobile/lib/src/features/daily-ops/data/models/models/officers_model.dart similarity index 97% rename from sigap-mobile/lib/src/features/daily-ops/models/models/officers_model.dart rename to sigap-mobile/lib/src/features/daily-ops/data/models/models/officers_model.dart index 6d71341..a2895f3 100644 --- a/sigap-mobile/lib/src/features/daily-ops/models/models/officers_model.dart +++ b/sigap-mobile/lib/src/features/daily-ops/data/models/models/officers_model.dart @@ -1,4 +1,4 @@ -import 'package:sigap/src/features/personalization/models/models/roles_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/roles_model.dart'; class OfficerModel { final String id; diff --git a/sigap-mobile/lib/src/features/daily-ops/models/models/patrol_units_model.dart b/sigap-mobile/lib/src/features/daily-ops/data/models/models/patrol_units_model.dart similarity index 92% rename from sigap-mobile/lib/src/features/daily-ops/models/models/patrol_units_model.dart rename to sigap-mobile/lib/src/features/daily-ops/data/models/models/patrol_units_model.dart index 16e075c..f4ee918 100644 --- a/sigap-mobile/lib/src/features/daily-ops/models/models/patrol_units_model.dart +++ b/sigap-mobile/lib/src/features/daily-ops/data/models/models/patrol_units_model.dart @@ -1,6 +1,6 @@ -import 'package:sigap/src/features/daily-ops/models/models/units_model.dart'; -import 'package:sigap/src/features/map/models/models/locations_model.dart'; -import 'package:sigap/src/features/daily-ops/models/models/officers_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/units_model.dart'; +import 'package:sigap/src/features/map/data/models/models/locations_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/officers_model.dart'; class PatrolUnitModel { final String id; diff --git a/sigap-mobile/lib/src/features/daily-ops/models/models/unit_statistics_model.dart b/sigap-mobile/lib/src/features/daily-ops/data/models/models/unit_statistics_model.dart similarity index 100% rename from sigap-mobile/lib/src/features/daily-ops/models/models/unit_statistics_model.dart rename to sigap-mobile/lib/src/features/daily-ops/data/models/models/unit_statistics_model.dart diff --git a/sigap-mobile/lib/src/features/daily-ops/models/models/units_model.dart b/sigap-mobile/lib/src/features/daily-ops/data/models/models/units_model.dart similarity index 94% rename from sigap-mobile/lib/src/features/daily-ops/models/models/units_model.dart rename to sigap-mobile/lib/src/features/daily-ops/data/models/models/units_model.dart index 1b2ec06..f832e91 100644 --- a/sigap-mobile/lib/src/features/daily-ops/models/models/units_model.dart +++ b/sigap-mobile/lib/src/features/daily-ops/data/models/models/units_model.dart @@ -1,6 +1,6 @@ -import 'package:sigap/src/features/daily-ops/models/models/patrol_units_model.dart'; -import 'package:sigap/src/features/daily-ops/models/models/unit_statistics_model.dart'; -import 'package:sigap/src/features/daily-ops/models/models/officers_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/patrol_units_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/unit_statistics_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/officers_model.dart'; enum UnitType { polda, polsek, polres, other } diff --git a/sigap-mobile/lib/src/features/daily-ops/models/supadart-models/officers_model_supadart.dart b/sigap-mobile/lib/src/features/daily-ops/data/models/supadart-models/officers_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/daily-ops/models/supadart-models/officers_model_supadart.dart rename to sigap-mobile/lib/src/features/daily-ops/data/models/supadart-models/officers_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/daily-ops/models/supadart-models/patrol_units_model_supadart.dart b/sigap-mobile/lib/src/features/daily-ops/data/models/supadart-models/patrol_units_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/daily-ops/models/supadart-models/patrol_units_model_supadart.dart rename to sigap-mobile/lib/src/features/daily-ops/data/models/supadart-models/patrol_units_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/daily-ops/models/supadart-models/unit_statistics_model_supadart.dart b/sigap-mobile/lib/src/features/daily-ops/data/models/supadart-models/unit_statistics_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/daily-ops/models/supadart-models/unit_statistics_model_supadart.dart rename to sigap-mobile/lib/src/features/daily-ops/data/models/supadart-models/unit_statistics_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/daily-ops/models/supadart-models/units_model_supadart.dart b/sigap-mobile/lib/src/features/daily-ops/data/models/supadart-models/units_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/daily-ops/models/supadart-models/units_model_supadart.dart rename to sigap-mobile/lib/src/features/daily-ops/data/models/supadart-models/units_model_supadart.dart diff --git a/sigap-mobile/lib/src/cores/repositories/daily-ops/patrol_units_repository.dart b/sigap-mobile/lib/src/features/daily-ops/data/repositories/patrol_units_repository.dart similarity index 97% rename from sigap-mobile/lib/src/cores/repositories/daily-ops/patrol_units_repository.dart rename to sigap-mobile/lib/src/features/daily-ops/data/repositories/patrol_units_repository.dart index e713d86..e40b2ce 100644 --- a/sigap-mobile/lib/src/cores/repositories/daily-ops/patrol_units_repository.dart +++ b/sigap-mobile/lib/src/features/daily-ops/data/repositories/patrol_units_repository.dart @@ -1,6 +1,6 @@ import 'package:get/get.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/daily-ops/models/models/patrol_units_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/patrol_units_model.dart'; import 'package:sigap/src/utils/exceptions/exceptions.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; diff --git a/sigap-mobile/lib/src/cores/repositories/daily-ops/unit_statistics_repository.dart b/sigap-mobile/lib/src/features/daily-ops/data/repositories/unit_statistics_repository.dart similarity index 97% rename from sigap-mobile/lib/src/cores/repositories/daily-ops/unit_statistics_repository.dart rename to sigap-mobile/lib/src/features/daily-ops/data/repositories/unit_statistics_repository.dart index f262a53..d61129f 100644 --- a/sigap-mobile/lib/src/cores/repositories/daily-ops/unit_statistics_repository.dart +++ b/sigap-mobile/lib/src/features/daily-ops/data/repositories/unit_statistics_repository.dart @@ -1,6 +1,6 @@ import 'package:get/get.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/daily-ops/models/models/unit_statistics_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/unit_statistics_model.dart'; import 'package:sigap/src/utils/exceptions/exceptions.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; diff --git a/sigap-mobile/lib/src/cores/repositories/daily-ops/units_repository.dart b/sigap-mobile/lib/src/features/daily-ops/data/repositories/units_repository.dart similarity index 97% rename from sigap-mobile/lib/src/cores/repositories/daily-ops/units_repository.dart rename to sigap-mobile/lib/src/features/daily-ops/data/repositories/units_repository.dart index 779cf4e..4cbae1d 100644 --- a/sigap-mobile/lib/src/cores/repositories/daily-ops/units_repository.dart +++ b/sigap-mobile/lib/src/features/daily-ops/data/repositories/units_repository.dart @@ -1,6 +1,6 @@ import 'package:get/get.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/daily-ops/models/models/units_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/units_model.dart'; import 'package:sigap/src/utils/exceptions/exceptions.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; diff --git a/sigap-mobile/lib/src/features/explore/models/supadart-models/contact_messages_model_supadart.dart b/sigap-mobile/lib/src/features/explore/data/models/supadart-models/contact_messages_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/explore/models/supadart-models/contact_messages_model_supadart.dart rename to sigap-mobile/lib/src/features/explore/data/models/supadart-models/contact_messages_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/explore/models/supadart-models/logs_model_supadart.dart b/sigap-mobile/lib/src/features/explore/data/models/supadart-models/logs_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/explore/models/supadart-models/logs_model_supadart.dart rename to sigap-mobile/lib/src/features/explore/data/models/supadart-models/logs_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/explore/models/supadart-models/prisma_migrations_model_supadart.dart b/sigap-mobile/lib/src/features/explore/data/models/supadart-models/prisma_migrations_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/explore/models/supadart-models/prisma_migrations_model_supadart.dart rename to sigap-mobile/lib/src/features/explore/data/models/supadart-models/prisma_migrations_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/map/data/bindings/map_repository_bindings.dart b/sigap-mobile/lib/src/features/map/data/bindings/map_repository_bindings.dart new file mode 100644 index 0000000..0a2d163 --- /dev/null +++ b/sigap-mobile/lib/src/features/map/data/bindings/map_repository_bindings.dart @@ -0,0 +1,29 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/features/map/data/repositories/cities_repository.dart'; +import 'package:sigap/src/features/map/data/repositories/demographics_repository.dart'; +import 'package:sigap/src/features/map/data/repositories/districts_repository.dart'; +import 'package:sigap/src/features/map/data/repositories/geogrpaphics_repository.dart'; +import 'package:sigap/src/features/map/data/repositories/location_logs_repository.dart'; +import 'package:sigap/src/features/map/data/repositories/locations_repository.dart'; + +class MapRepositoryBindings extends Bindings { + @override + void dependencies() { + // Register all feature map controllers + Get.lazyPut(() => CitiesRepository(), fenix: true); + Get.lazyPut(() => DistrictsRepository(), fenix: true); + Get.lazyPut( + () => GeographicsRepository(), + fenix: true, + ); + Get.lazyPut( + () => DemographicsRepository(), + fenix: true, + ); + Get.lazyPut(() => LocationsRepository(), fenix: true); + Get.lazyPut( + () => LocationLogsRepository(), + fenix: true, + ); + } +} diff --git a/sigap-mobile/lib/src/features/map/models/index.dart b/sigap-mobile/lib/src/features/map/data/models/index.dart similarity index 100% rename from sigap-mobile/lib/src/features/map/models/index.dart rename to sigap-mobile/lib/src/features/map/data/models/index.dart diff --git a/sigap-mobile/lib/src/features/map/models/models/cities_model.dart b/sigap-mobile/lib/src/features/map/data/models/models/cities_model.dart similarity index 92% rename from sigap-mobile/lib/src/features/map/models/models/cities_model.dart rename to sigap-mobile/lib/src/features/map/data/models/models/cities_model.dart index 291c904..ae4d160 100644 --- a/sigap-mobile/lib/src/features/map/models/models/cities_model.dart +++ b/sigap-mobile/lib/src/features/map/data/models/models/cities_model.dart @@ -1,5 +1,5 @@ -import 'package:sigap/src/features/daily-ops/models/models/units_model.dart'; -import 'package:sigap/src/features/map/models/models/districts_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/units_model.dart'; +import 'package:sigap/src/features/map/data/models/models/districts_model.dart'; class CityModel { final String id; diff --git a/sigap-mobile/lib/src/features/map/models/models/demographics_model.dart b/sigap-mobile/lib/src/features/map/data/models/models/demographics_model.dart similarity index 97% rename from sigap-mobile/lib/src/features/map/models/models/demographics_model.dart rename to sigap-mobile/lib/src/features/map/data/models/models/demographics_model.dart index 62c4890..910ce21 100644 --- a/sigap-mobile/lib/src/features/map/models/models/demographics_model.dart +++ b/sigap-mobile/lib/src/features/map/data/models/models/demographics_model.dart @@ -1,4 +1,4 @@ -import 'package:sigap/src/features/map/models/models/districts_model.dart'; +import 'package:sigap/src/features/map/data/models/models/districts_model.dart'; class DemographicModel { final String id; diff --git a/sigap-mobile/lib/src/features/map/models/models/districts_model.dart b/sigap-mobile/lib/src/features/map/data/models/models/districts_model.dart similarity index 88% rename from sigap-mobile/lib/src/features/map/models/models/districts_model.dart rename to sigap-mobile/lib/src/features/map/data/models/models/districts_model.dart index 6068e6a..ba3bd31 100644 --- a/sigap-mobile/lib/src/features/map/models/models/districts_model.dart +++ b/sigap-mobile/lib/src/features/map/data/models/models/districts_model.dart @@ -1,9 +1,9 @@ -import 'package:sigap/src/features/daily-ops/models/models/units_model.dart'; -import 'package:sigap/src/features/map/models/models/cities_model.dart'; -import 'package:sigap/src/features/map/models/models/demographics_model.dart'; -import 'package:sigap/src/features/map/models/models/geographics_model.dart'; -import 'package:sigap/src/features/map/models/models/locations_model.dart'; -import 'package:sigap/src/features/panic-button/models/models/crimes_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/units_model.dart'; +import 'package:sigap/src/features/map/data/models/models/cities_model.dart'; +import 'package:sigap/src/features/map/data/models/models/demographics_model.dart'; +import 'package:sigap/src/features/map/data/models/models/geographics_model.dart'; +import 'package:sigap/src/features/map/data/models/models/locations_model.dart'; +import 'package:sigap/src/features/panic-button/data/models/models/crimes_model.dart'; class DistrictModel { final String id; diff --git a/sigap-mobile/lib/src/features/map/models/models/geographics_model.dart b/sigap-mobile/lib/src/features/map/data/models/models/geographics_model.dart similarity index 97% rename from sigap-mobile/lib/src/features/map/models/models/geographics_model.dart rename to sigap-mobile/lib/src/features/map/data/models/models/geographics_model.dart index 8469427..9fb6ea9 100644 --- a/sigap-mobile/lib/src/features/map/models/models/geographics_model.dart +++ b/sigap-mobile/lib/src/features/map/data/models/models/geographics_model.dart @@ -1,4 +1,4 @@ -import 'package:sigap/src/features/map/models/models/districts_model.dart'; +import 'package:sigap/src/features/map/data/models/models/districts_model.dart'; class GeographicModel { final String id; diff --git a/sigap-mobile/lib/src/features/map/models/models/location_logs_model.dart b/sigap-mobile/lib/src/features/map/data/models/models/location_logs_model.dart similarity index 96% rename from sigap-mobile/lib/src/features/map/models/models/location_logs_model.dart rename to sigap-mobile/lib/src/features/map/data/models/models/location_logs_model.dart index 94b70b6..c0f51c1 100644 --- a/sigap-mobile/lib/src/features/map/models/models/location_logs_model.dart +++ b/sigap-mobile/lib/src/features/map/data/models/models/location_logs_model.dart @@ -1,4 +1,4 @@ -import 'package:sigap/src/features/personalization/models/models/users_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/users_model.dart'; class LocationLogModel { final String id; diff --git a/sigap-mobile/lib/src/features/map/models/models/locations_model.dart b/sigap-mobile/lib/src/features/map/data/models/models/locations_model.dart similarity index 92% rename from sigap-mobile/lib/src/features/map/models/models/locations_model.dart rename to sigap-mobile/lib/src/features/map/data/models/models/locations_model.dart index 59d0262..39af3cc 100644 --- a/sigap-mobile/lib/src/features/map/models/models/locations_model.dart +++ b/sigap-mobile/lib/src/features/map/data/models/models/locations_model.dart @@ -1,7 +1,7 @@ -import 'package:sigap/src/features/daily-ops/models/models/patrol_units_model.dart'; -import 'package:sigap/src/features/panic-button/models/models/crime_incidents_model.dart'; -import 'package:sigap/src/features/panic-button/models/models/events_model.dart'; -import 'package:sigap/src/features/panic-button/models/models/incident_logs_model.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/patrol_units_model.dart'; +import 'package:sigap/src/features/panic-button/data/models/models/crime_incidents_model.dart'; +import 'package:sigap/src/features/panic-button/data/models/models/events_model.dart'; +import 'package:sigap/src/features/panic-button/data/models/models/incident_logs_model.dart'; class LocationModel { final String id; diff --git a/sigap-mobile/lib/src/features/map/models/supadart-models/cities_model_supadart.dart b/sigap-mobile/lib/src/features/map/data/models/supadart-models/cities_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/map/models/supadart-models/cities_model_supadart.dart rename to sigap-mobile/lib/src/features/map/data/models/supadart-models/cities_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/map/models/supadart-models/demographics_model_supadart.dart b/sigap-mobile/lib/src/features/map/data/models/supadart-models/demographics_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/map/models/supadart-models/demographics_model_supadart.dart rename to sigap-mobile/lib/src/features/map/data/models/supadart-models/demographics_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/map/models/supadart-models/districts_model_supadart.dart b/sigap-mobile/lib/src/features/map/data/models/supadart-models/districts_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/map/models/supadart-models/districts_model_supadart.dart rename to sigap-mobile/lib/src/features/map/data/models/supadart-models/districts_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/map/models/supadart-models/geographics_model_supadart.dart b/sigap-mobile/lib/src/features/map/data/models/supadart-models/geographics_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/map/models/supadart-models/geographics_model_supadart.dart rename to sigap-mobile/lib/src/features/map/data/models/supadart-models/geographics_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/map/models/supadart-models/location_logs_model_supadart.dart b/sigap-mobile/lib/src/features/map/data/models/supadart-models/location_logs_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/map/models/supadart-models/location_logs_model_supadart.dart rename to sigap-mobile/lib/src/features/map/data/models/supadart-models/location_logs_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/map/models/supadart-models/locations_model_supadart.dart b/sigap-mobile/lib/src/features/map/data/models/supadart-models/locations_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/map/models/supadart-models/locations_model_supadart.dart rename to sigap-mobile/lib/src/features/map/data/models/supadart-models/locations_model_supadart.dart diff --git a/sigap-mobile/lib/src/cores/repositories/map/cities_repository.dart b/sigap-mobile/lib/src/features/map/data/repositories/cities_repository.dart similarity index 96% rename from sigap-mobile/lib/src/cores/repositories/map/cities_repository.dart rename to sigap-mobile/lib/src/features/map/data/repositories/cities_repository.dart index 904223d..a53fb49 100644 --- a/sigap-mobile/lib/src/cores/repositories/map/cities_repository.dart +++ b/sigap-mobile/lib/src/features/map/data/repositories/cities_repository.dart @@ -1,7 +1,7 @@ import 'package:get/get.dart'; import 'package:logger/logger.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/map/models/models/cities_model.dart'; +import 'package:sigap/src/features/map/data/models/models/cities_model.dart'; class CitiesRepository extends GetxController { static CitiesRepository get instance => Get.find(); diff --git a/sigap-mobile/lib/src/cores/repositories/map/demographics_repository.dart b/sigap-mobile/lib/src/features/map/data/repositories/demographics_repository.dart similarity index 98% rename from sigap-mobile/lib/src/cores/repositories/map/demographics_repository.dart rename to sigap-mobile/lib/src/features/map/data/repositories/demographics_repository.dart index 7c1d187..cbc0986 100644 --- a/sigap-mobile/lib/src/cores/repositories/map/demographics_repository.dart +++ b/sigap-mobile/lib/src/features/map/data/repositories/demographics_repository.dart @@ -1,7 +1,7 @@ import 'package:get/get.dart'; import 'package:logger/Logger.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/map/models/models/demographics_model.dart'; +import 'package:sigap/src/features/map/data/models/models/demographics_model.dart'; class DemographicsRepository extends GetxController { static DemographicsRepository get instance => Get.find(); diff --git a/sigap-mobile/lib/src/cores/repositories/map/districts_repository.dart b/sigap-mobile/lib/src/features/map/data/repositories/districts_repository.dart similarity index 97% rename from sigap-mobile/lib/src/cores/repositories/map/districts_repository.dart rename to sigap-mobile/lib/src/features/map/data/repositories/districts_repository.dart index add153f..4bf3f28 100644 --- a/sigap-mobile/lib/src/cores/repositories/map/districts_repository.dart +++ b/sigap-mobile/lib/src/features/map/data/repositories/districts_repository.dart @@ -1,7 +1,7 @@ import 'package:get/get.dart'; import 'package:logger/logger.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/map/models/models/districts_model.dart'; +import 'package:sigap/src/features/map/data/models/models/districts_model.dart'; class DistrictsRepository extends GetxController { static DistrictsRepository get instance => Get.find(); diff --git a/sigap-mobile/lib/src/cores/repositories/map/geogrpaphics_repository.dart b/sigap-mobile/lib/src/features/map/data/repositories/geogrpaphics_repository.dart similarity index 97% rename from sigap-mobile/lib/src/cores/repositories/map/geogrpaphics_repository.dart rename to sigap-mobile/lib/src/features/map/data/repositories/geogrpaphics_repository.dart index dfbdbf3..a5cfaa5 100644 --- a/sigap-mobile/lib/src/cores/repositories/map/geogrpaphics_repository.dart +++ b/sigap-mobile/lib/src/features/map/data/repositories/geogrpaphics_repository.dart @@ -1,7 +1,7 @@ import 'package:get/get.dart'; import 'package:logger/logger.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/map/models/models/geographics_model.dart'; +import 'package:sigap/src/features/map/data/models/models/geographics_model.dart'; class GeographicsRepository extends GetxController { static GeographicsRepository get instance => Get.find(); diff --git a/sigap-mobile/lib/src/cores/repositories/map/location_logs_repository.dart b/sigap-mobile/lib/src/features/map/data/repositories/location_logs_repository.dart similarity index 97% rename from sigap-mobile/lib/src/cores/repositories/map/location_logs_repository.dart rename to sigap-mobile/lib/src/features/map/data/repositories/location_logs_repository.dart index 7e1b930..8cce58d 100644 --- a/sigap-mobile/lib/src/cores/repositories/map/location_logs_repository.dart +++ b/sigap-mobile/lib/src/features/map/data/repositories/location_logs_repository.dart @@ -1,7 +1,7 @@ import 'package:get/get.dart'; import 'package:logger/logger.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/map/models/models/location_logs_model.dart'; +import 'package:sigap/src/features/map/data/models/models/location_logs_model.dart'; class LocationLogsRepository extends GetxController { static LocationLogsRepository get instance => Get.find(); diff --git a/sigap-mobile/lib/src/cores/repositories/map/locations_repository.dart b/sigap-mobile/lib/src/features/map/data/repositories/locations_repository.dart similarity index 97% rename from sigap-mobile/lib/src/cores/repositories/map/locations_repository.dart rename to sigap-mobile/lib/src/features/map/data/repositories/locations_repository.dart index ecaeba0..af05415 100644 --- a/sigap-mobile/lib/src/cores/repositories/map/locations_repository.dart +++ b/sigap-mobile/lib/src/features/map/data/repositories/locations_repository.dart @@ -1,7 +1,7 @@ import 'package:get/get.dart'; import 'package:logger/logger.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/map/models/models/locations_model.dart'; +import 'package:sigap/src/features/map/data/models/models/locations_model.dart'; class LocationsRepository extends GetxController { static LocationsRepository get instance => Get.find(); diff --git a/sigap-mobile/lib/src/features/onboarding/bindings/onboarding_binding.dart b/sigap-mobile/lib/src/features/onboarding/bindings/onboarding_binding.dart deleted file mode 100644 index cbffcae..0000000 --- a/sigap-mobile/lib/src/features/onboarding/bindings/onboarding_binding.dart +++ /dev/null @@ -1,14 +0,0 @@ -import 'package:get/get.dart'; -import 'package:sigap/src/features/onboarding/controllers/onboarding_controller.dart'; -import 'package:sigap/src/features/onboarding/controllers/role_selection_controller.dart'; -import 'package:sigap/src/features/onboarding/controllers/splash_controller.dart'; - -class OnboardingBindings extends Bindings { - @override - void dependencies() { - // Register all feature onboarding controllers - Get.lazyPut(() => OnboardingController()); - Get.lazyPut(() => RoleSelectionController()); - Get.lazyPut(() => SplashController()); - } -} diff --git a/sigap-mobile/lib/src/features/onboarding/datas/onboarding_data.dart b/sigap-mobile/lib/src/features/onboarding/data/dummy/onboarding_dummy.dart similarity index 91% rename from sigap-mobile/lib/src/features/onboarding/datas/onboarding_data.dart rename to sigap-mobile/lib/src/features/onboarding/data/dummy/onboarding_dummy.dart index 2b54cd0..86c5732 100644 --- a/sigap-mobile/lib/src/features/onboarding/datas/onboarding_data.dart +++ b/sigap-mobile/lib/src/features/onboarding/data/dummy/onboarding_dummy.dart @@ -1,4 +1,4 @@ -import 'package:sigap/src/features/onboarding/models/onboarding_model.dart'; +import 'package:sigap/src/features/onboarding/data/models/onboarding_model.dart'; final List contents = [ diff --git a/sigap-mobile/lib/src/features/onboarding/models/onboarding_model.dart b/sigap-mobile/lib/src/features/onboarding/data/models/onboarding_model.dart similarity index 100% rename from sigap-mobile/lib/src/features/onboarding/models/onboarding_model.dart rename to sigap-mobile/lib/src/features/onboarding/data/models/onboarding_model.dart diff --git a/sigap-mobile/lib/src/features/onboarding/presentasion/bindings/onboarding_binding.dart b/sigap-mobile/lib/src/features/onboarding/presentasion/bindings/onboarding_binding.dart new file mode 100644 index 0000000..dacd602 --- /dev/null +++ b/sigap-mobile/lib/src/features/onboarding/presentasion/bindings/onboarding_binding.dart @@ -0,0 +1,15 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/features/onboarding/presentasion/controllers/onboarding_controller.dart'; +import 'package:sigap/src/features/onboarding/presentasion/controllers/role_selection_controller.dart'; +import 'package:sigap/src/features/onboarding/presentasion/controllers/splash_controller.dart'; + +class OnboardingBindings extends Bindings { + @override + void dependencies() { + // Register all feature onboarding controllers + Get.lazyPut(() => OnboardingController(), fenix: true); + Get.lazyPut(() => RoleSelectionController(), fenix: true); + Get.lazyPut(() => SplashController(), fenix: true); + + } +} diff --git a/sigap-mobile/lib/src/features/onboarding/controllers/onboarding_controller.dart b/sigap-mobile/lib/src/features/onboarding/presentasion/controllers/onboarding_controller.dart similarity index 97% rename from sigap-mobile/lib/src/features/onboarding/controllers/onboarding_controller.dart rename to sigap-mobile/lib/src/features/onboarding/presentasion/controllers/onboarding_controller.dart index 2b4f898..270ab25 100644 --- a/sigap-mobile/lib/src/features/onboarding/controllers/onboarding_controller.dart +++ b/sigap-mobile/lib/src/features/onboarding/presentasion/controllers/onboarding_controller.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:get/get.dart'; import 'package:get_storage/get_storage.dart'; import 'package:sigap/src/cores/services/location_service.dart'; -import 'package:sigap/src/features/onboarding/datas/onboarding_data.dart'; +import 'package:sigap/src/features/onboarding/data/dummy/onboarding_dummy.dart'; import 'package:sigap/src/utils/constants/app_routes.dart'; class OnboardingController extends GetxController diff --git a/sigap-mobile/lib/src/features/onboarding/controllers/role_selection_controller.dart b/sigap-mobile/lib/src/features/onboarding/presentasion/controllers/role_selection_controller.dart similarity index 80% rename from sigap-mobile/lib/src/features/onboarding/controllers/role_selection_controller.dart rename to sigap-mobile/lib/src/features/onboarding/presentasion/controllers/role_selection_controller.dart index f673b1d..e5d42e4 100644 --- a/sigap-mobile/lib/src/features/onboarding/controllers/role_selection_controller.dart +++ b/sigap-mobile/lib/src/features/onboarding/presentasion/controllers/role_selection_controller.dart @@ -1,7 +1,6 @@ import 'package:get/get.dart'; -import 'package:logger/logger.dart'; -import 'package:sigap/src/cores/repositories/personalization/roles_repository.dart'; -import 'package:sigap/src/features/personalization/models/models/roles_model.dart'; +import 'package:sigap/src/features/personalization/data/repositories/roles_repository.dart'; +import 'package:sigap/src/features/personalization/data/models/models/roles_model.dart'; import 'package:sigap/src/utils/constants/app_routes.dart'; import 'package:sigap/src/utils/popups/loaders.dart'; @@ -29,17 +28,7 @@ class RoleSelectionController extends GetxController { super.onInit(); fetchRoles(); } - - // Method to return placeholder roles - RoleModel getPlaceholderRole(int id) { - return RoleModel( - id: id.toString(), - name: "Loading...", - description: "Role information is loading", - createdAt: DateTime.now(), - updatedAt: DateTime.now(), - ); - } + // Fetch available roles from repository Future fetchRoles() async { @@ -88,7 +77,7 @@ class RoleSelectionController extends GetxController { try { isLoading.value = true; - Logger().i('Selected role: ${selectedRole.value?.name}'); + // Logger().i('Selected role: ${selectedRole.value?.name}'); // Check if the selected role is officer if (selectedRole.value?.name.toLowerCase() == 'officer') { @@ -108,7 +97,7 @@ class RoleSelectionController extends GetxController { message: 'An error occurred while selecting the role. Please try again.', ); - Logger().e('Error in continueWithRole: $e'); + // Logger().e('Error in continueWithRole: $e'); } finally { isLoading.value = false; } diff --git a/sigap-mobile/lib/src/features/onboarding/controllers/splash_controller.dart b/sigap-mobile/lib/src/features/onboarding/presentasion/controllers/splash_controller.dart similarity index 87% rename from sigap-mobile/lib/src/features/onboarding/controllers/splash_controller.dart rename to sigap-mobile/lib/src/features/onboarding/presentasion/controllers/splash_controller.dart index 434e595..33ae79b 100644 --- a/sigap-mobile/lib/src/features/onboarding/controllers/splash_controller.dart +++ b/sigap-mobile/lib/src/features/onboarding/presentasion/controllers/splash_controller.dart @@ -1,5 +1,5 @@ import 'package:get/get.dart'; -import 'package:sigap/src/cores/repositories/authentication/authentication_repository.dart'; +import 'package:sigap/src/features/auth/data/repositories/authentication_repository.dart'; class SplashController extends GetxController { final authRepository = Get.find(); diff --git a/sigap-mobile/lib/src/features/onboarding/screens/location-warning/location_warning_screen.dart b/sigap-mobile/lib/src/features/onboarding/presentasion/pages/location-warning/location_warning_screen.dart similarity index 100% rename from sigap-mobile/lib/src/features/onboarding/screens/location-warning/location_warning_screen.dart rename to sigap-mobile/lib/src/features/onboarding/presentasion/pages/location-warning/location_warning_screen.dart diff --git a/sigap-mobile/lib/src/features/onboarding/screens/onboarding/onboarding_screen.dart b/sigap-mobile/lib/src/features/onboarding/presentasion/pages/onboarding/onboarding_screen.dart similarity index 98% rename from sigap-mobile/lib/src/features/onboarding/screens/onboarding/onboarding_screen.dart rename to sigap-mobile/lib/src/features/onboarding/presentasion/pages/onboarding/onboarding_screen.dart index 1e3ee52..46ee791 100644 --- a/sigap-mobile/lib/src/features/onboarding/screens/onboarding/onboarding_screen.dart +++ b/sigap-mobile/lib/src/features/onboarding/presentasion/pages/onboarding/onboarding_screen.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/svg.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/features/onboarding/datas/onboarding_data.dart'; +import 'package:sigap/src/features/onboarding/data/dummy/onboarding_dummy.dart'; import 'package:sigap/src/utils/constants/sizes.dart'; import 'package:sigap/src/utils/helpers/helper_functions.dart'; diff --git a/sigap-mobile/lib/src/features/onboarding/screens/role-selection/role_selection_screen.dart b/sigap-mobile/lib/src/features/onboarding/presentasion/pages/role-selection/role_selection_screen.dart similarity index 93% rename from sigap-mobile/lib/src/features/onboarding/screens/role-selection/role_selection_screen.dart rename to sigap-mobile/lib/src/features/onboarding/presentasion/pages/role-selection/role_selection_screen.dart index 8cd6853..0519c29 100644 --- a/sigap-mobile/lib/src/features/onboarding/screens/role-selection/role_selection_screen.dart +++ b/sigap-mobile/lib/src/features/onboarding/presentasion/pages/role-selection/role_selection_screen.dart @@ -1,10 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_button.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_header.dart'; -import 'package:sigap/src/features/onboarding/controllers/role_selection_controller.dart'; -import 'package:sigap/src/features/onboarding/screens/role-selection/widgets/role_card.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_button.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_header.dart'; +import 'package:sigap/src/features/onboarding/presentasion/controllers/role_selection_controller.dart'; +import 'package:sigap/src/features/onboarding/presentasion/pages/role-selection/widgets/role_card.dart'; import 'package:sigap/src/utils/constants/sizes.dart'; import 'package:sigap/src/utils/loaders/shimmer.dart'; @@ -57,7 +57,7 @@ class RoleSelectionScreen extends StatelessWidget { if (controller.isRolesLoading.value) { // Show shimmer placeholder cards return ListView.builder( - itemCount: controller.roles.length, + itemCount: 2, itemBuilder: (_, __) => Padding( padding: const EdgeInsets.only( diff --git a/sigap-mobile/lib/src/features/onboarding/screens/role-selection/widgets/role_card.dart b/sigap-mobile/lib/src/features/onboarding/presentasion/pages/role-selection/widgets/role_card.dart similarity index 97% rename from sigap-mobile/lib/src/features/onboarding/screens/role-selection/widgets/role_card.dart rename to sigap-mobile/lib/src/features/onboarding/presentasion/pages/role-selection/widgets/role_card.dart index 257de0b..11c9c3e 100644 --- a/sigap-mobile/lib/src/features/onboarding/screens/role-selection/widgets/role_card.dart +++ b/sigap-mobile/lib/src/features/onboarding/presentasion/pages/role-selection/widgets/role_card.dart @@ -1,5 +1,5 @@ import 'package:flutter/material.dart'; -import 'package:sigap/src/features/personalization/models/models/roles_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/roles_model.dart'; import 'package:sigap/src/utils/constants/sizes.dart'; class RoleCard extends StatelessWidget { diff --git a/sigap-mobile/lib/src/features/onboarding/screens/welcome/welcome_screen.dart b/sigap-mobile/lib/src/features/onboarding/presentasion/pages/welcome/welcome_screen.dart similarity index 97% rename from sigap-mobile/lib/src/features/onboarding/screens/welcome/welcome_screen.dart rename to sigap-mobile/lib/src/features/onboarding/presentasion/pages/welcome/welcome_screen.dart index 632dc79..ae49982 100644 --- a/sigap-mobile/lib/src/features/onboarding/screens/welcome/welcome_screen.dart +++ b/sigap-mobile/lib/src/features/onboarding/presentasion/pages/welcome/welcome_screen.dart @@ -2,7 +2,7 @@ import 'package:flutter/material.dart'; import 'package:flutter_svg/flutter_svg.dart'; import 'package:get/get.dart'; import 'package:lottie/lottie.dart'; -import 'package:sigap/src/features/onboarding/controllers/onboarding_controller.dart'; +import 'package:sigap/src/features/onboarding/presentasion/controllers/onboarding_controller.dart'; import 'package:sigap/src/utils/constants/image_strings.dart'; import 'package:sigap/src/utils/constants/sizes.dart'; import 'package:sigap/src/utils/helpers/helper_functions.dart'; diff --git a/sigap-mobile/lib/src/features/panic-button/data/bindings/panic_button_repository_bindings.dart b/sigap-mobile/lib/src/features/panic-button/data/bindings/panic_button_repository_bindings.dart new file mode 100644 index 0000000..9ff35a8 --- /dev/null +++ b/sigap-mobile/lib/src/features/panic-button/data/bindings/panic_button_repository_bindings.dart @@ -0,0 +1,38 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/features/panic-button/data/repositories/crime_incidents_repository.dart'; +import 'package:sigap/src/features/panic-button/data/repositories/crimes_repository.dart'; +import 'package:sigap/src/features/panic-button/data/repositories/events_repository.dart'; +import 'package:sigap/src/features/panic-button/data/repositories/evidences_repository.dart'; +import 'package:sigap/src/features/panic-button/data/repositories/incident_logs_repository.dart'; +import 'package:sigap/src/features/panic-button/data/repositories/panic_button_repository.dart'; +import 'package:sigap/src/features/panic-button/data/repositories/sessions_repository.dart'; + +class PanicButtonRepositoryBindings implements Bindings { + @override + void dependencies() { + // Register the main panic button repository + Get.lazyPut( + () => PanicButtonRepository(), + fenix: true, + ); + + // Register other related repositories + Get.lazyPut( + () => IncidentLogsRepository(), + fenix: true, + ); + + Get.lazyPut(() => EvidencesRepository(), fenix: true); + + Get.lazyPut(() => EventsRepository(), fenix: true); + + Get.lazyPut(() => CrimesRepository(), fenix: true); + + Get.lazyPut( + () => CrimeIncidentsRepository(), + fenix: true, + ); + + Get.lazyPut(() => SessionsRepository(), fenix: true); + } +} diff --git a/sigap-mobile/lib/src/features/panic-button/models/index.dart b/sigap-mobile/lib/src/features/panic-button/data/models/index.dart similarity index 100% rename from sigap-mobile/lib/src/features/panic-button/models/index.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/index.dart diff --git a/sigap-mobile/lib/src/features/panic-button/models/models/crime_incidents_model.dart b/sigap-mobile/lib/src/features/panic-button/data/models/models/crime_incidents_model.dart similarity index 100% rename from sigap-mobile/lib/src/features/panic-button/models/models/crime_incidents_model.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/models/crime_incidents_model.dart diff --git a/sigap-mobile/lib/src/features/panic-button/models/models/crimes_model.dart b/sigap-mobile/lib/src/features/panic-button/data/models/models/crimes_model.dart similarity index 96% rename from sigap-mobile/lib/src/features/panic-button/models/models/crimes_model.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/models/crimes_model.dart index ee5f7e2..b487d54 100644 --- a/sigap-mobile/lib/src/features/panic-button/models/models/crimes_model.dart +++ b/sigap-mobile/lib/src/features/panic-button/data/models/models/crimes_model.dart @@ -1,5 +1,5 @@ -import 'package:sigap/src/features/map/models/models/districts_model.dart'; -import 'package:sigap/src/features/panic-button/models/models/crime_incidents_model.dart'; +import 'package:sigap/src/features/map/data/models/models/districts_model.dart'; +import 'package:sigap/src/features/panic-button/data/models/models/crime_incidents_model.dart'; enum CrimeRates { low, medium, high, critical } diff --git a/sigap-mobile/lib/src/features/panic-button/models/models/events_model.dart b/sigap-mobile/lib/src/features/panic-button/data/models/models/events_model.dart similarity index 96% rename from sigap-mobile/lib/src/features/panic-button/models/models/events_model.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/models/events_model.dart index ae30dc8..fdb5bdf 100644 --- a/sigap-mobile/lib/src/features/panic-button/models/models/events_model.dart +++ b/sigap-mobile/lib/src/features/panic-button/data/models/models/events_model.dart @@ -1,4 +1,4 @@ -import 'package:sigap/src/features/map/models/models/locations_model.dart'; +import 'package:sigap/src/features/map/data/models/models/locations_model.dart'; class EventModel { final String id; diff --git a/sigap-mobile/lib/src/features/panic-button/models/models/evidences_model.dart b/sigap-mobile/lib/src/features/panic-button/data/models/models/evidences_model.dart similarity index 96% rename from sigap-mobile/lib/src/features/panic-button/models/models/evidences_model.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/models/evidences_model.dart index b93e9ba..d3e95c7 100644 --- a/sigap-mobile/lib/src/features/panic-button/models/models/evidences_model.dart +++ b/sigap-mobile/lib/src/features/panic-button/data/models/models/evidences_model.dart @@ -1,4 +1,4 @@ -import 'package:sigap/src/features/panic-button/models/models/incident_logs_model.dart'; +import 'package:sigap/src/features/panic-button/data/models/models/incident_logs_model.dart'; class EvidenceModel { final String id; diff --git a/sigap-mobile/lib/src/features/panic-button/models/models/incident_logs_model.dart b/sigap-mobile/lib/src/features/panic-button/data/models/models/incident_logs_model.dart similarity index 97% rename from sigap-mobile/lib/src/features/panic-button/models/models/incident_logs_model.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/models/incident_logs_model.dart index dcc2d68..612183c 100644 --- a/sigap-mobile/lib/src/features/panic-button/models/models/incident_logs_model.dart +++ b/sigap-mobile/lib/src/features/panic-button/data/models/models/incident_logs_model.dart @@ -1,4 +1,4 @@ -import 'package:sigap/src/features/panic-button/models/models/evidences_model.dart'; +import 'package:sigap/src/features/panic-button/data/models/models/evidences_model.dart'; class IncidentLogModel { final String id; diff --git a/sigap-mobile/lib/src/features/panic-button/models/models/sessions_model.dart b/sigap-mobile/lib/src/features/panic-button/data/models/models/sessions_model.dart similarity index 95% rename from sigap-mobile/lib/src/features/panic-button/models/models/sessions_model.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/models/sessions_model.dart index 28b60c9..63713d3 100644 --- a/sigap-mobile/lib/src/features/panic-button/models/models/sessions_model.dart +++ b/sigap-mobile/lib/src/features/panic-button/data/models/models/sessions_model.dart @@ -1,4 +1,4 @@ -import 'package:sigap/src/features/panic-button/models/models/events_model.dart'; +import 'package:sigap/src/features/panic-button/data/models/models/events_model.dart'; enum SessionStatus { active, inactive } diff --git a/sigap-mobile/lib/src/features/panic-button/models/supadart-models/crime_categories_model_supadart.dart b/sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/crime_categories_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/panic-button/models/supadart-models/crime_categories_model_supadart.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/crime_categories_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/panic-button/models/supadart-models/crime_incidents_model_supadart.dart b/sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/crime_incidents_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/panic-button/models/supadart-models/crime_incidents_model_supadart.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/crime_incidents_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/panic-button/models/supadart-models/crimes_model_supadart.dart b/sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/crimes_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/panic-button/models/supadart-models/crimes_model_supadart.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/crimes_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/panic-button/models/supadart-models/events_model_supadart.dart b/sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/events_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/panic-button/models/supadart-models/events_model_supadart.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/events_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/panic-button/models/supadart-models/evidence_model_supadart.dart b/sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/evidence_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/panic-button/models/supadart-models/evidence_model_supadart.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/evidence_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/panic-button/models/supadart-models/incident_logs_model_supadart.dart b/sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/incident_logs_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/panic-button/models/supadart-models/incident_logs_model_supadart.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/incident_logs_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/panic-button/models/supadart-models/panic_button_logs_model_supadart.dart b/sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/panic_button_logs_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/panic-button/models/supadart-models/panic_button_logs_model_supadart.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/panic_button_logs_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/panic-button/models/supadart-models/sessions_model_supadart.dart b/sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/sessions_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/panic-button/models/supadart-models/sessions_model_supadart.dart rename to sigap-mobile/lib/src/features/panic-button/data/models/supadart-models/sessions_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/panic-button/data/repositories/crime_incidents_repository.dart b/sigap-mobile/lib/src/features/panic-button/data/repositories/crime_incidents_repository.dart new file mode 100644 index 0000000..f737de8 --- /dev/null +++ b/sigap-mobile/lib/src/features/panic-button/data/repositories/crime_incidents_repository.dart @@ -0,0 +1,32 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/cores/services/supabase_service.dart'; +import 'package:sigap/src/utils/exceptions/exceptions.dart'; + +class CrimeIncidentsRepository extends GetxController { + static CrimeIncidentsRepository get instance => Get.find(); + + final _supabase = SupabaseService.instance.client; + + Future>> getRecentIncidents() async { + try { + final response = await _supabase + .from('incident_logs') + .select('*, location_id(*), category_id(*)') + .order('time', ascending: false) + .limit(10); + + return List>.from(response); + } catch (e) { + throw TExceptions('Failed to fetch recent incidents: ${e.toString()}'); + } + } + + Future> getIncidentStatistics() async { + try { + final response = await _supabase.rpc('get_incident_statistics'); + return response as Map; + } catch (e) { + throw TExceptions('Failed to fetch incident statistics: ${e.toString()}'); + } + } +} diff --git a/sigap-mobile/lib/src/features/panic-button/data/repositories/crimes_repository.dart b/sigap-mobile/lib/src/features/panic-button/data/repositories/crimes_repository.dart new file mode 100644 index 0000000..de1f28a --- /dev/null +++ b/sigap-mobile/lib/src/features/panic-button/data/repositories/crimes_repository.dart @@ -0,0 +1,37 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/cores/services/supabase_service.dart'; +import 'package:sigap/src/utils/exceptions/exceptions.dart'; + +class CrimesRepository extends GetxController { + static CrimesRepository get instance => Get.find(); + + final _supabase = SupabaseService.instance.client; + + Future>> getCrimeCategories() async { + try { + final response = await _supabase + .from('crime_categories') + .select('*') + .order('name', ascending: true); + + return List>.from(response); + } catch (e) { + throw TExceptions('Failed to fetch crime categories: ${e.toString()}'); + } + } + + Future> getCrimeCategoryById(String id) async { + try { + final response = + await _supabase + .from('crime_categories') + .select('*') + .eq('id', id) + .single(); + + return response; + } catch (e) { + throw TExceptions('Failed to fetch crime category: ${e.toString()}'); + } + } +} diff --git a/sigap-mobile/lib/src/features/panic-button/data/repositories/events_repository.dart b/sigap-mobile/lib/src/features/panic-button/data/repositories/events_repository.dart new file mode 100644 index 0000000..58a891a --- /dev/null +++ b/sigap-mobile/lib/src/features/panic-button/data/repositories/events_repository.dart @@ -0,0 +1,35 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/cores/services/supabase_service.dart'; +import 'package:sigap/src/utils/exceptions/exceptions.dart'; + +class EventsRepository extends GetxController { + static EventsRepository get instance => Get.find(); + + final _supabase = SupabaseService.instance.client; + + Future>> getUpcomingEvents() async { + try { + final now = DateTime.now().toIso8601String(); + final response = await _supabase + .from('events') + .select('*') + .gte('end_date', now) + .order('start_date', ascending: true); + + return List>.from(response); + } catch (e) { + throw TExceptions('Failed to fetch upcoming events: ${e.toString()}'); + } + } + + Future> getEventById(String id) async { + try { + final response = + await _supabase.from('events').select('*').eq('id', id).single(); + + return response; + } catch (e) { + throw TExceptions('Failed to fetch event details: ${e.toString()}'); + } + } +} diff --git a/sigap-mobile/lib/src/features/panic-button/data/repositories/evidences_repository.dart b/sigap-mobile/lib/src/features/panic-button/data/repositories/evidences_repository.dart new file mode 100644 index 0000000..ed9adbc --- /dev/null +++ b/sigap-mobile/lib/src/features/panic-button/data/repositories/evidences_repository.dart @@ -0,0 +1,43 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/cores/services/supabase_service.dart'; +import 'package:sigap/src/utils/exceptions/exceptions.dart'; + +class EvidencesRepository extends GetxController { + static EvidencesRepository get instance => Get.find(); + + final _supabase = SupabaseService.instance.client; + + Future>> getEvidencesByIncidentId( + String incidentId, + ) async { + try { + final response = await _supabase + .from('evidence') + .select('*') + .eq('incident_id', incidentId) + .order('uploaded_at', ascending: false); + + return List>.from(response); + } catch (e) { + throw TExceptions('Failed to fetch evidence: ${e.toString()}'); + } + } + + Future addEvidence({ + required String incidentId, + required String type, + required String url, + }) async { + try { + await _supabase.from('evidence').insert({ + 'id': 'E${DateTime.now().millisecondsSinceEpoch}', + 'incident_id': incidentId, + 'type': type, + 'url': url, + 'uploaded_at': DateTime.now().toIso8601String(), + }); + } catch (e) { + throw TExceptions('Failed to add evidence: ${e.toString()}'); + } + } +} diff --git a/sigap-mobile/lib/src/features/panic-button/data/repositories/incident_logs_repository.dart b/sigap-mobile/lib/src/features/panic-button/data/repositories/incident_logs_repository.dart new file mode 100644 index 0000000..aeb46a8 --- /dev/null +++ b/sigap-mobile/lib/src/features/panic-button/data/repositories/incident_logs_repository.dart @@ -0,0 +1,37 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/cores/services/supabase_service.dart'; +import 'package:sigap/src/utils/exceptions/exceptions.dart'; + +class IncidentLogsRepository extends GetxController { + static IncidentLogsRepository get instance => Get.find(); + + final _supabase = SupabaseService.instance.client; + + Future>> getIncidentLogs() async { + try { + final response = await _supabase + .from('incident_logs') + .select('*, location_id(*), category_id(*)') + .order('time', ascending: false); + + return List>.from(response); + } catch (e) { + throw TExceptions('Failed to fetch incident logs: ${e.toString()}'); + } + } + + Future> getIncidentById(String id) async { + try { + final response = + await _supabase + .from('incident_logs') + .select('*, location_id(*), category_id(*)') + .eq('id', id) + .single(); + + return response; + } catch (e) { + throw TExceptions('Failed to fetch incident details: ${e.toString()}'); + } + } +} diff --git a/sigap-mobile/lib/src/cores/repositories/panic-button/panic_button_repository.dart b/sigap-mobile/lib/src/features/panic-button/data/repositories/panic_button_repository.dart similarity index 99% rename from sigap-mobile/lib/src/cores/repositories/panic-button/panic_button_repository.dart rename to sigap-mobile/lib/src/features/panic-button/data/repositories/panic_button_repository.dart index 5a2a857..814c944 100644 --- a/sigap-mobile/lib/src/cores/repositories/panic-button/panic_button_repository.dart +++ b/sigap-mobile/lib/src/features/panic-button/data/repositories/panic_button_repository.dart @@ -1,7 +1,7 @@ import 'package:get/get.dart'; import 'package:sigap/src/cores/services/location_service.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/auth/models/user_metadata_model.dart'; +import 'package:sigap/src/features/auth/data/models/user_metadata_model.dart'; import 'package:sigap/src/utils/exceptions/exceptions.dart'; class PanicButtonRepository extends GetxController { diff --git a/sigap-mobile/lib/src/features/panic-button/data/repositories/sessions_repository.dart b/sigap-mobile/lib/src/features/panic-button/data/repositories/sessions_repository.dart new file mode 100644 index 0000000..98f2014 --- /dev/null +++ b/sigap-mobile/lib/src/features/panic-button/data/repositories/sessions_repository.dart @@ -0,0 +1,65 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/cores/services/supabase_service.dart'; +import 'package:sigap/src/utils/exceptions/exceptions.dart'; + +class SessionsRepository extends GetxController { + static SessionsRepository get instance => Get.find(); + + final _supabase = SupabaseService.instance.client; + + Future>> getActivePanicSessions() async { + try { + final response = await _supabase + .from('incident_logs') + .select('*, location_id(*), panic_button_logs!inner(*)') + .eq('status', 'active') + .order('time', ascending: false); + + return List>.from(response); + } catch (e) { + throw TExceptions( + 'Failed to fetch active panic sessions: ${e.toString()}', + ); + } + } + + Future> getPanicSessionById(String id) async { + try { + final response = + await _supabase + .from('incident_logs') + .select( + '*, location_id(*), panic_button_logs!inner(*), evidence(*)', + ) + .eq('id', id) + .single(); + + return response; + } catch (e) { + throw TExceptions( + 'Failed to fetch panic session details: ${e.toString()}', + ); + } + } + + Future checkActivePanicSession() async { + try { + final user = SupabaseService.instance.currentUser; + if (user == null) return false; + + final response = + await _supabase + .from('incident_logs') + .select('id') + .eq('user_id', user.id) + .eq('status', 'active') + .eq('source', 'panic_button') + .maybeSingle(); + + return response != null; + } catch (e) { + print('Failed to check active panic session: $e'); + return false; + } + } +} diff --git a/sigap-mobile/lib/src/features/personalization/data/bindings/personalization_repository_bindings.dart b/sigap-mobile/lib/src/features/personalization/data/bindings/personalization_repository_bindings.dart new file mode 100644 index 0000000..7d68e36 --- /dev/null +++ b/sigap-mobile/lib/src/features/personalization/data/bindings/personalization_repository_bindings.dart @@ -0,0 +1,16 @@ +import 'package:get/get.dart'; +import 'package:sigap/src/features/personalization/data/repositories/officers_repository.dart'; +import 'package:sigap/src/features/personalization/data/repositories/profile_repository.dart'; +import 'package:sigap/src/features/personalization/data/repositories/roles_repository.dart'; +import 'package:sigap/src/features/personalization/data/repositories/users_repository.dart'; + +class PersonalizationRepositoryBindings extends Bindings { + @override + void dependencies() { + // Register all feature personalization controllers + Get.lazyPut(() => UserRepository(), fenix: true); + Get.lazyPut(() => OfficerRepository(), fenix: true); + Get.lazyPut(() => ProfileRepository(), fenix: true); + Get.lazyPut(() => RolesRepository(), fenix: true); + } +} diff --git a/sigap-mobile/lib/src/features/personalization/models/index.dart b/sigap-mobile/lib/src/features/personalization/data/models/index.dart similarity index 100% rename from sigap-mobile/lib/src/features/personalization/models/index.dart rename to sigap-mobile/lib/src/features/personalization/data/models/index.dart diff --git a/sigap-mobile/lib/src/features/personalization/models/models/permissions_model.dart b/sigap-mobile/lib/src/features/personalization/data/models/models/permissions_model.dart similarity index 92% rename from sigap-mobile/lib/src/features/personalization/models/models/permissions_model.dart rename to sigap-mobile/lib/src/features/personalization/data/models/models/permissions_model.dart index 3ec1426..754428b 100644 --- a/sigap-mobile/lib/src/features/personalization/models/models/permissions_model.dart +++ b/sigap-mobile/lib/src/features/personalization/data/models/models/permissions_model.dart @@ -1,5 +1,5 @@ -import 'package:sigap/src/features/personalization/models/models/resources_model.dart'; -import 'package:sigap/src/features/personalization/models/models/roles_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/resources_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/roles_model.dart'; class PermissionModel { final String id; diff --git a/sigap-mobile/lib/src/features/personalization/models/models/profile_model.dart b/sigap-mobile/lib/src/features/personalization/data/models/models/profile_model.dart similarity index 100% rename from sigap-mobile/lib/src/features/personalization/models/models/profile_model.dart rename to sigap-mobile/lib/src/features/personalization/data/models/models/profile_model.dart diff --git a/sigap-mobile/lib/src/features/personalization/models/models/resources_model.dart b/sigap-mobile/lib/src/features/personalization/data/models/models/resources_model.dart similarity index 96% rename from sigap-mobile/lib/src/features/personalization/models/models/resources_model.dart rename to sigap-mobile/lib/src/features/personalization/data/models/models/resources_model.dart index e5ad296..2de7c9e 100644 --- a/sigap-mobile/lib/src/features/personalization/models/models/resources_model.dart +++ b/sigap-mobile/lib/src/features/personalization/data/models/models/resources_model.dart @@ -1,4 +1,4 @@ -import 'package:sigap/src/features/personalization/models/models/permissions_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/permissions_model.dart'; class ResourceModel { final String id; diff --git a/sigap-mobile/lib/src/features/personalization/models/models/roles_model.dart b/sigap-mobile/lib/src/features/personalization/data/models/models/roles_model.dart similarity index 100% rename from sigap-mobile/lib/src/features/personalization/models/models/roles_model.dart rename to sigap-mobile/lib/src/features/personalization/data/models/models/roles_model.dart diff --git a/sigap-mobile/lib/src/features/personalization/models/models/users_model.dart b/sigap-mobile/lib/src/features/personalization/data/models/models/users_model.dart similarity index 96% rename from sigap-mobile/lib/src/features/personalization/models/models/users_model.dart rename to sigap-mobile/lib/src/features/personalization/data/models/models/users_model.dart index 4462274..0c13398 100644 --- a/sigap-mobile/lib/src/features/personalization/models/models/users_model.dart +++ b/sigap-mobile/lib/src/features/personalization/data/models/models/users_model.dart @@ -1,5 +1,5 @@ -import 'package:sigap/src/features/personalization/models/models/profile_model.dart'; -import 'package:sigap/src/features/personalization/models/models/roles_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/profile_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/roles_model.dart'; class UserModel { final String id; diff --git a/sigap-mobile/lib/src/features/personalization/models/supadart-models/permissions_model_supadart.dart b/sigap-mobile/lib/src/features/personalization/data/models/supadart-models/permissions_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/personalization/models/supadart-models/permissions_model_supadart.dart rename to sigap-mobile/lib/src/features/personalization/data/models/supadart-models/permissions_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/personalization/models/supadart-models/profiles_model_supadart.dart b/sigap-mobile/lib/src/features/personalization/data/models/supadart-models/profiles_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/personalization/models/supadart-models/profiles_model_supadart.dart rename to sigap-mobile/lib/src/features/personalization/data/models/supadart-models/profiles_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/personalization/models/supadart-models/resources_model_supadart.dart b/sigap-mobile/lib/src/features/personalization/data/models/supadart-models/resources_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/personalization/models/supadart-models/resources_model_supadart.dart rename to sigap-mobile/lib/src/features/personalization/data/models/supadart-models/resources_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/personalization/models/supadart-models/roles_model_supadart.dart b/sigap-mobile/lib/src/features/personalization/data/models/supadart-models/roles_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/personalization/models/supadart-models/roles_model_supadart.dart rename to sigap-mobile/lib/src/features/personalization/data/models/supadart-models/roles_model_supadart.dart diff --git a/sigap-mobile/lib/src/features/personalization/models/supadart-models/users_model_supadart.dart b/sigap-mobile/lib/src/features/personalization/data/models/supadart-models/users_model_supadart.dart similarity index 100% rename from sigap-mobile/lib/src/features/personalization/models/supadart-models/users_model_supadart.dart rename to sigap-mobile/lib/src/features/personalization/data/models/supadart-models/users_model_supadart.dart diff --git a/sigap-mobile/lib/src/cores/repositories/daily-ops/officers_repository.dart b/sigap-mobile/lib/src/features/personalization/data/repositories/officers_repository.dart similarity index 96% rename from sigap-mobile/lib/src/cores/repositories/daily-ops/officers_repository.dart rename to sigap-mobile/lib/src/features/personalization/data/repositories/officers_repository.dart index c8e6784..d17265c 100644 --- a/sigap-mobile/lib/src/cores/repositories/daily-ops/officers_repository.dart +++ b/sigap-mobile/lib/src/features/personalization/data/repositories/officers_repository.dart @@ -1,7 +1,7 @@ import 'package:flutter/services.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/cores/repositories/authentication/authentication_repository.dart'; -import 'package:sigap/src/features/daily-ops/models/models/officers_model.dart'; +import 'package:sigap/src/features/auth/data/repositories/authentication_repository.dart'; +import 'package:sigap/src/features/daily-ops/data/models/models/officers_model.dart'; import 'package:sigap/src/utils/exceptions/exceptions.dart'; import 'package:sigap/src/utils/exceptions/format_exceptions.dart'; import 'package:sigap/src/utils/exceptions/platform_exceptions.dart'; diff --git a/sigap-mobile/lib/src/cores/repositories/personalization/permissions_repository.dart b/sigap-mobile/lib/src/features/personalization/data/repositories/permissions_repository.dart similarity index 98% rename from sigap-mobile/lib/src/cores/repositories/personalization/permissions_repository.dart rename to sigap-mobile/lib/src/features/personalization/data/repositories/permissions_repository.dart index 2bc826b..0aa1817 100644 --- a/sigap-mobile/lib/src/cores/repositories/personalization/permissions_repository.dart +++ b/sigap-mobile/lib/src/features/personalization/data/repositories/permissions_repository.dart @@ -1,7 +1,7 @@ import 'package:get/get.dart'; import 'package:logger/Logger.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/personalization/models/models/permissions_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/permissions_model.dart'; import 'package:sigap/src/utils/exceptions/exceptions.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; diff --git a/sigap-mobile/lib/src/cores/repositories/personalization/profile_repository.dart b/sigap-mobile/lib/src/features/personalization/data/repositories/profile_repository.dart similarity index 98% rename from sigap-mobile/lib/src/cores/repositories/personalization/profile_repository.dart rename to sigap-mobile/lib/src/features/personalization/data/repositories/profile_repository.dart index d8f8200..c2c9b23 100644 --- a/sigap-mobile/lib/src/cores/repositories/personalization/profile_repository.dart +++ b/sigap-mobile/lib/src/features/personalization/data/repositories/profile_repository.dart @@ -4,7 +4,7 @@ import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:logger/Logger.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/personalization/models/models/profile_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/profile_model.dart'; import 'package:sigap/src/utils/exceptions/exceptions.dart'; import 'package:sigap/src/utils/exceptions/format_exceptions.dart'; import 'package:sigap/src/utils/exceptions/platform_exceptions.dart'; diff --git a/sigap-mobile/lib/src/cores/repositories/personalization/resources_repository.dart b/sigap-mobile/lib/src/features/personalization/data/repositories/resources_repository.dart similarity index 97% rename from sigap-mobile/lib/src/cores/repositories/personalization/resources_repository.dart rename to sigap-mobile/lib/src/features/personalization/data/repositories/resources_repository.dart index 6907934..db25af4 100644 --- a/sigap-mobile/lib/src/cores/repositories/personalization/resources_repository.dart +++ b/sigap-mobile/lib/src/features/personalization/data/repositories/resources_repository.dart @@ -1,7 +1,7 @@ import 'package:get/get.dart'; import 'package:logger/logger.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/personalization/models/models/resources_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/resources_model.dart'; import 'package:sigap/src/utils/exceptions/exceptions.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; diff --git a/sigap-mobile/lib/src/cores/repositories/personalization/roles_repository.dart b/sigap-mobile/lib/src/features/personalization/data/repositories/roles_repository.dart similarity index 95% rename from sigap-mobile/lib/src/cores/repositories/personalization/roles_repository.dart rename to sigap-mobile/lib/src/features/personalization/data/repositories/roles_repository.dart index fc757f8..79a6ea9 100644 --- a/sigap-mobile/lib/src/cores/repositories/personalization/roles_repository.dart +++ b/sigap-mobile/lib/src/features/personalization/data/repositories/roles_repository.dart @@ -1,8 +1,8 @@ import 'package:get/get.dart'; import 'package:logger/Logger.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/personalization/models/models/permissions_model.dart'; -import 'package:sigap/src/features/personalization/models/models/roles_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/permissions_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/roles_model.dart'; import 'package:sigap/src/utils/exceptions/exceptions.dart'; import 'package:supabase_flutter/supabase_flutter.dart'; diff --git a/sigap-mobile/lib/src/cores/repositories/personalization/users_repository.dart b/sigap-mobile/lib/src/features/personalization/data/repositories/users_repository.dart similarity index 98% rename from sigap-mobile/lib/src/cores/repositories/personalization/users_repository.dart rename to sigap-mobile/lib/src/features/personalization/data/repositories/users_repository.dart index 7dec781..9322967 100644 --- a/sigap-mobile/lib/src/cores/repositories/personalization/users_repository.dart +++ b/sigap-mobile/lib/src/features/personalization/data/repositories/users_repository.dart @@ -2,8 +2,8 @@ import 'package:flutter/services.dart'; import 'package:get/get.dart'; import 'package:logger/Logger.dart'; import 'package:sigap/src/cores/services/supabase_service.dart'; -import 'package:sigap/src/features/personalization/models/models/roles_model.dart'; -import 'package:sigap/src/features/personalization/models/models/users_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/roles_model.dart'; +import 'package:sigap/src/features/personalization/data/models/models/users_model.dart'; import 'package:sigap/src/utils/exceptions/exceptions.dart'; import 'package:sigap/src/utils/exceptions/format_exceptions.dart'; import 'package:sigap/src/utils/exceptions/platform_exceptions.dart'; diff --git a/sigap-mobile/lib/src/cores/repositories/panic-button/crime_incidents_repository.dart b/sigap-mobile/lib/src/features/personalization/presentasion/bindings/personalization_bindings.dart similarity index 100% rename from sigap-mobile/lib/src/cores/repositories/panic-button/crime_incidents_repository.dart rename to sigap-mobile/lib/src/features/personalization/presentasion/bindings/personalization_bindings.dart diff --git a/sigap-mobile/lib/src/shared/widgets/state_screeen/secondary_state_screen.dart b/sigap-mobile/lib/src/shared/widgets/state_screeen/secondary_state_screen.dart index b07b744..85f9b37 100644 --- a/sigap-mobile/lib/src/shared/widgets/state_screeen/secondary_state_screen.dart +++ b/sigap-mobile/lib/src/shared/widgets/state_screeen/secondary_state_screen.dart @@ -1,7 +1,7 @@ import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:get/get.dart'; -import 'package:sigap/src/features/auth/screens/widgets/auth_button.dart'; +import 'package:sigap/src/features/auth/presentasion/widgets/auth_button.dart'; import 'package:sigap/src/utils/constants/colors.dart'; class StateScreen extends StatelessWidget { diff --git a/sigap-mobile/lib/supadart/supadart_exports.dart b/sigap-mobile/lib/supadart/supadart_exports.dart index 2a52c63..8255ccf 100644 --- a/sigap-mobile/lib/supadart/supadart_exports.dart +++ b/sigap-mobile/lib/supadart/supadart_exports.dart @@ -1,28 +1,28 @@ library; -export '../src/features/map/models/supadart-models/cities_model_supadart.dart'; -export '../src/features/explore/models/supadart-models/contact_messages_model_supadart.dart'; -export '../src/features/panic-button/models/supadart-models/crime_categories_model_supadart.dart'; -export '../src/features/panic-button/models/supadart-models/crime_incidents_model_supadart.dart'; -export '../src/features/panic-button/models/supadart-models/crimes_model_supadart.dart'; -export '../src/features/map/models/supadart-models/demographics_model_supadart.dart'; -export '../src/features/map/models/supadart-models/districts_model_supadart.dart'; -export '../src/features/panic-button/models/supadart-models/events_model_supadart.dart'; -export '../src/features/panic-button/models/supadart-models/evidence_model_supadart.dart'; -export '../src/features/map/models/supadart-models/geographics_model_supadart.dart'; -export '../src/features/panic-button/models/supadart-models/incident_logs_model_supadart.dart'; -export '../src/features/map/models/supadart-models/location_logs_model_supadart.dart'; -export '../src/features/map/models/supadart-models/locations_model_supadart.dart'; -export '../src/features/explore/models/supadart-models/logs_model_supadart.dart'; -export '../src/features/daily-ops/models/supadart-models/officers_model_supadart.dart'; -export '../src/features/panic-button/models/supadart-models/panic_button_logs_model_supadart.dart'; -export '../src/features/daily-ops/models/supadart-models/patrol_units_model_supadart.dart'; -export '../src/features/personalization/models/supadart-models/permissions_model_supadart.dart'; -export '../src/features/explore/models/supadart-models/prisma_migrations_model_supadart.dart'; -export '../src/features/personalization/models/supadart-models/profiles_model_supadart.dart'; -export '../src/features/personalization/models/supadart-models/resources_model_supadart.dart'; -export '../src/features/personalization/models/supadart-models/roles_model_supadart.dart'; -export '../src/features/panic-button/models/supadart-models/sessions_model_supadart.dart'; -export '../src/features/daily-ops/models/supadart-models/unit_statistics_model_supadart.dart'; -export '../src/features/daily-ops/models/supadart-models/units_model_supadart.dart'; -export '../src/features/personalization/models/supadart-models/users_model_supadart.dart'; +export '../src/features/map/data/models/supadart-models/cities_model_supadart.dart'; +export '../src/features/explore/data/models/supadart-models/contact_messages_model_supadart.dart'; +export '../src/features/panic-button/data/models/supadart-models/crime_categories_model_supadart.dart'; +export '../src/features/panic-button/data/models/supadart-models/crime_incidents_model_supadart.dart'; +export '../src/features/panic-button/data/models/supadart-models/crimes_model_supadart.dart'; +export '../src/features/map/data/models/supadart-models/demographics_model_supadart.dart'; +export '../src/features/map/data/models/supadart-models/districts_model_supadart.dart'; +export '../src/features/panic-button/data/models/supadart-models/events_model_supadart.dart'; +export '../src/features/panic-button/data/models/supadart-models/evidence_model_supadart.dart'; +export '../src/features/map/data/models/supadart-models/geographics_model_supadart.dart'; +export '../src/features/panic-button/data/models/supadart-models/incident_logs_model_supadart.dart'; +export '../src/features/map/data/models/supadart-models/location_logs_model_supadart.dart'; +export '../src/features/map/data/models/supadart-models/locations_model_supadart.dart'; +export '../src/features/explore/data/models/supadart-models/logs_model_supadart.dart'; +export '../src/features/daily-ops/data/models/supadart-models/officers_model_supadart.dart'; +export '../src/features/panic-button/data/models/supadart-models/panic_button_logs_model_supadart.dart'; +export '../src/features/daily-ops/data/models/supadart-models/patrol_units_model_supadart.dart'; +export '../src/features/personalization/data/models/supadart-models/permissions_model_supadart.dart'; +export '../src/features/explore/data/models/supadart-models/prisma_migrations_model_supadart.dart'; +export '../src/features/personalization/data/models/supadart-models/profiles_model_supadart.dart'; +export '../src/features/personalization/data/models/supadart-models/resources_model_supadart.dart'; +export '../src/features/personalization/data/models/supadart-models/roles_model_supadart.dart'; +export '../src/features/panic-button/data/models/supadart-models/sessions_model_supadart.dart'; +export '../src/features/daily-ops/data/models/supadart-models/unit_statistics_model_supadart.dart'; +export '../src/features/daily-ops/data/models/supadart-models/units_model_supadart.dart'; +export '../src/features/personalization/data/models/supadart-models/users_model_supadart.dart';