import 'package:equatable/equatable.dart';

/// The type of preference a business has for a staff member.
enum PreferenceType {
  /// Business wants to prioritize this staff member.
  favorite,

  /// Business does not want to work with this staff member.
  blocked,
}

/// Represents a business's specific preference for a staff member.
class BusinessStaffPreference extends Equatable {

  const BusinessStaffPreference({
    required this.id,
    required this.businessId,
    required this.staffId,
    required this.type,
  });
  /// Unique identifier.
  final String id;

  /// The [Business] holding the preference.
  final String businessId;

  /// The [Staff] member.
  final String staffId;

  /// Whether they are a favorite or blocked.
  final PreferenceType type;

  @override
  List<Object?> get props => <Object?>[id, businessId, staffId, type];
}