import 'package:syncrow_web/pages/device_managment/flush_mounted_presence_sensor/bloc/flush_mounted_presence_sensor_bloc.dart';
import 'package:syncrow_web/services/batch_control_devices_service.dart';
import 'package:syncrow_web/services/control_device_service.dart';

abstract final class FlushMountedPresenceSensorBlocFactory {
  const FlushMountedPresenceSensorBlocFactory._();

  static FlushMountedPresenceSensorBloc create({
    required String deviceId,
  }) {
    return FlushMountedPresenceSensorBloc(
      deviceId: deviceId,
      controlDeviceService: DebouncedControlDeviceService(
        decoratee: RemoteControlDeviceService(),
      ),
      batchControlDevicesService: DebouncedBatchControlDevicesService(
        decoratee: RemoteBatchControlDevicesService(),
      ),
    );
  }
}
