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 AddDeviceTypeModelEvent extends Equatable {
  const AddDeviceTypeModelEvent();

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

class UpdateProductCountEvent extends AddDeviceTypeModelEvent {
  final SelectedProduct selectedProduct;

  UpdateProductCountEvent({required this.selectedProduct});

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

class InitializeDeviceTypeModel extends AddDeviceTypeModelEvent {
  final List<Tag> initialTags;
  final List<SelectedProduct> addedProducts;

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

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