part of 'crop_schedule_bloc.dart';

abstract class CropScheduleEvent extends Equatable {
  const CropScheduleEvent();

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

class LoadSchedules extends CropScheduleEvent {
  final String userId;

  const LoadSchedules({required this.userId});

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

class LoadActiveSchedule extends CropScheduleEvent {
  final String userId;

  const LoadActiveSchedule({required this.userId});

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

class AddSchedule extends CropScheduleEvent {
  final String userId;
  final CropSchedule schedule;

  const AddSchedule({
    required this.userId,
    required this.schedule,
  });

  @override
  List<Object?> get props => [userId, schedule];
}

class EditSchedule extends CropScheduleEvent {
  final String userId;
  final CropSchedule schedule;

  const EditSchedule({
    required this.userId,
    required this.schedule,
  });

  @override
  List<Object?> get props => [userId, schedule];
}

class RemoveSchedule extends CropScheduleEvent {
  final String userId;
  final String scheduleId;

  const RemoveSchedule({
    required this.userId,
    required this.scheduleId,
  });

  @override
  List<Object?> get props => [userId, scheduleId];
} 