part of 'living_room_bloc.dart';

sealed class LivingRoomEvent extends Equatable {
  const LivingRoomEvent();

  @override
  List<Object> get props => [];
}

class LivingRoomFetchDeviceStatusEvent extends LivingRoomEvent {
  final String deviceId;

  const LivingRoomFetchDeviceStatusEvent(this.deviceId);

  @override
  List<Object> get props => [deviceId];
}

//LivingRoomFetchBatchStatus
class LivingRoomFetchBatchEvent extends LivingRoomEvent {
  final List<String> devicesIds;

  const LivingRoomFetchBatchEvent(this.devicesIds);

  @override
  List<Object> get props => [devicesIds];
}

class LivingRoomControl extends LivingRoomEvent {
  final String deviceId;
  final String code;
  final bool value;

  const LivingRoomControl(
      {required this.deviceId, required this.code, required this.value});

  @override
  List<Object> get props => [deviceId, code, value];
}

class LivingRoomBatchControl extends LivingRoomEvent {
  final List<String> devicesIds;
  final String code;
  final bool value;

  const LivingRoomBatchControl(
      {required this.devicesIds, required this.code, required this.value});

  @override
  List<Object> get props => [devicesIds, code, value];
}

class LivingRoomFactoryResetEvent extends LivingRoomEvent {
  final String uuid;
  final FactoryResetModel factoryReset;
  const LivingRoomFactoryResetEvent(this.uuid, this.factoryReset);

  @override
  List<Object> get props => [uuid, factoryReset];
}

class StatusUpdated extends LivingRoomEvent {
  final LivingRoomStatusModel deviceStatus;
  const StatusUpdated(this.deviceStatus);
  @override
  List<Object> get props => [deviceStatus];
}
