getPermission method

Future<List<PermissionData>> getPermission({
  1. required int idModule,
})

Implementation

Future<List<PermissionData>> getPermission({
  required int idModule,
}) async {
  try {
    final userId = GetIt.I<StorageUtils>().getUserId();
    final roleId = GetIt.I<StorageUtils>().getRoleId();
    if (/*userId == '1' ||*/ roleId == '1') {
      final adminPermissions = List.generate(
        5000,
        (index) => PermissionData(
          idModule: index,
          idPermission: 1, // UserPermission.all.id
          permission: 'all',
        ),
      );
      if (idModule >= 5000) {
        adminPermissions.add(
          PermissionData(
            idModule: idModule,
            idPermission: 1,
            permission: 'all',
          ),
        );
      }
      return adminPermissions;
    }
    final idAclPositionMapping = GetIt.I<StorageUtils>().getAclPositionMapping();

    final params = {
      'idAclPositionMapping': idAclPositionMapping,
      'idUser': userId,
      'idModule': idModule
    };

    final response = await ApiService().getData(
      AppUrls.getPermissionModulePermissions,
      queryParams: params,
    );

    if (response.statusCode == 200) {
      final modelResponse = PermissionResponse.fromJson(response.data);
      return modelResponse.data ?? [];
    } else {
      print('Failed to fetch permissions. Status code: ${response.statusCode}');
      return [];
    }
  } catch (e, stackTrace) {
    print('Error in PermissionHandlerService.getPermission: $e\n$stackTrace');
    return [];
  }
}