Files
Client/lib/state/app/modules/rmv/bloc/rmv_bloc.dart
T

30 lines
995 B
Dart

import '../../../../../api/connect/rmv/rmv_models.dart';
import '../../../infrastructure/utility_widgets/loadable_hydrated_bloc/loadable_hydrated_bloc.dart';
import '../../../infrastructure/utility_widgets/loadable_hydrated_bloc/loadable_hydrated_bloc_event.dart';
import '../repository/rmv_repository.dart';
import 'rmv_event.dart';
import 'rmv_state.dart';
class RmvBloc
extends LoadableHydratedBloc<RmvEvent, RmvState, RmvRepository> {
List<HimMessage> getDisruptions() => innerState?.disruptions ?? const [];
@override
RmvState fromNothing() => const RmvState();
@override
RmvState fromStorage(Map<String, dynamic> json) => RmvState.fromJson(json);
@override
Map<String, dynamic>? toStorage(RmvState state) => state.toJson();
@override
Future<void> gatherData() async {
final disruptions = await repo.disruptions();
add(DataGathered((state) => state.copyWith(disruptions: disruptions)));
}
@override
RmvRepository repository() => RmvRepository();
}