- Introduced a new `logSafe` function for consistent logging with sensitivity handling. - Replaced direct logger calls with `logSafe` in `api_service.dart`, `app_initializer.dart`, `auth_service.dart`, `permission_service.dart`, and `my_image_compressor.dart`. - Enhanced error handling and logging in various service methods to capture exceptions and provide more context. - Updated image compression logging to include quality and size metrics. - Improved app initialization logging to capture success and error states. - Ensured sensitive information is not logged directly.
79 lines
2.3 KiB
Dart
79 lines
2.3 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:get/get.dart';
|
|
import 'package:marco/controller/my_controller.dart';
|
|
import 'package:marco/helpers/widgets/my_form_validator.dart';
|
|
import 'package:marco/helpers/widgets/my_validators.dart';
|
|
import 'package:marco/helpers/services/auth_service.dart';
|
|
import 'package:marco/helpers/services/app_logger.dart';
|
|
|
|
class RegisterAccountController extends MyController {
|
|
MyFormValidator basicValidator = MyFormValidator();
|
|
bool showPassword = false;
|
|
|
|
@override
|
|
void onInit() {
|
|
logSafe("[RegisterAccountController] onInit called");
|
|
|
|
basicValidator.addField(
|
|
'email',
|
|
required: true,
|
|
label: "Email",
|
|
validators: [MyEmailValidator()],
|
|
controller: TextEditingController(),
|
|
);
|
|
basicValidator.addField(
|
|
'first_name',
|
|
required: true,
|
|
label: 'First Name',
|
|
controller: TextEditingController(),
|
|
);
|
|
basicValidator.addField(
|
|
'last_name',
|
|
required: true,
|
|
label: 'Last Name',
|
|
controller: TextEditingController(),
|
|
);
|
|
basicValidator.addField(
|
|
'password',
|
|
required: true,
|
|
validators: [MyLengthValidator(min: 6, max: 10)],
|
|
controller: TextEditingController(),
|
|
);
|
|
|
|
super.onInit();
|
|
}
|
|
|
|
Future<void> onLogin() async {
|
|
if (basicValidator.validateForm()) {
|
|
update();
|
|
final data = basicValidator.getData();
|
|
logSafe("[RegisterAccountController] Submitting registration data");
|
|
|
|
final errors = await AuthService.loginUser(data);
|
|
if (errors != null) {
|
|
logSafe("[RegisterAccountController] Login errors: $errors", level: LogLevel.warning);
|
|
basicValidator.addErrors(errors);
|
|
basicValidator.validateForm();
|
|
basicValidator.clearErrors();
|
|
}
|
|
|
|
logSafe("[RegisterAccountController] Redirecting to /starter");
|
|
Get.toNamed('/starter');
|
|
update();
|
|
} else {
|
|
logSafe("[RegisterAccountController] Validation failed", level: LogLevel.warning);
|
|
}
|
|
}
|
|
|
|
void onChangeShowPassword() {
|
|
showPassword = !showPassword;
|
|
logSafe("[RegisterAccountController] showPassword toggled: $showPassword");
|
|
update();
|
|
}
|
|
|
|
void gotoLogin() {
|
|
logSafe("[RegisterAccountController] Navigating to /auth/login-option");
|
|
Get.toNamed('/auth/login-option');
|
|
}
|
|
}
|