import 'package:equatable/equatable.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/product_model.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/selected_product_model.dart';
import 'package:syncrow_web/pages/spaces_management/all_spaces/model/tag.dart';

abstract class AddDeviceTypeEvent extends Equatable {
  const AddDeviceTypeEvent();

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

class UpdateProductCountEvent extends AddDeviceTypeEvent {
  final String productId;
  final int count;
  final String productName;
  final ProductModel product;

  UpdateProductCountEvent(
      {required this.productId,
      required this.count,
      required this.productName,
      required this.product});

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


class InitializeDevice extends AddDeviceTypeEvent {
  final List<Tag> initialTags;
  final List<SelectedProduct> addedProducts;

  const InitializeDevice({
    this.initialTags = const [],
    required this.addedProducts,
  });

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