37 lines
1.1 KiB
Dart
37 lines
1.1 KiB
Dart
import 'package:get/get.dart';
|
|
import 'package:marco/helpers/services/app_logger.dart';
|
|
import 'package:marco/helpers/services/api_service.dart';
|
|
import 'package:marco/model/employee_model.dart';
|
|
|
|
class ManageBucketController extends GetxController {
|
|
RxList<EmployeeModel> allEmployees = <EmployeeModel>[].obs;
|
|
RxBool isLoading = false.obs;
|
|
|
|
@override
|
|
void onInit() {
|
|
super.onInit();
|
|
fetchAllEmployees();
|
|
}
|
|
|
|
Future<void> fetchAllEmployees() async {
|
|
isLoading.value = true;
|
|
|
|
try {
|
|
final response = await ApiService.getAllEmployees();
|
|
if (response != null && response.isNotEmpty) {
|
|
allEmployees.assignAll(response.map((json) => EmployeeModel.fromJson(json)));
|
|
logSafe("All Employees fetched for Manage Bucket: ${allEmployees.length}", level: LogLevel.info);
|
|
} else {
|
|
allEmployees.clear();
|
|
logSafe("No employees found for Manage Bucket.", level: LogLevel.warning);
|
|
}
|
|
} catch (e) {
|
|
allEmployees.clear();
|
|
logSafe("Error fetching employees in Manage Bucket", level: LogLevel.error, error: e);
|
|
}
|
|
|
|
isLoading.value = false;
|
|
update();
|
|
}
|
|
}
|