import 'dart:async'; import 'package:bloc/bloc.dart'; import 'package:equatable/equatable.dart'; import 'package:syncrow_web/pages/device_managment/all_devices/models/factory_reset_model.dart'; import 'package:syncrow_web/pages/visitor_password/model/device_model.dart'; import 'package:syncrow_web/services/devices_mang_api.dart'; part 'gate_way_event.dart'; part 'gate_way_state.dart'; class GateWayBloc extends Bloc { GateWayBloc() : super(GateWayInitial()) { on((event, emit) {}); on(_getGatWayById); on(_onFactoryReset); } FutureOr _getGatWayById(GatWayById event, Emitter emit) async { emit(GatewayLoadingState()); try { List devicesList = await DevicesManagementApi.getDevicesByGatewayId(event.getWayId); emit(UpdateGatewayState(list: devicesList)); } catch (e) { emit(ErrorState(message: e.toString())); return; } } FutureOr _onFactoryReset(GateWayFactoryReset event, Emitter emit) async { emit(GatewayLoadingState()); try { final response = await DevicesManagementApi().factoryReset( event.factoryReset, event.deviceId, ); if (!response) { emit(const ErrorState(message: 'Failed')); } else { add(GatWayById(event.deviceId)); } } catch (e) { emit(ErrorState(message: e.toString())); } } }