import 'package:krow_core/core.dart';

/// Represents the arguments required for the AssignNfcTagUseCase.
///
/// Encapsulates the hub ID and the NFC tag ID to be assigned.
class AssignNfcTagArguments extends UseCaseArgument {
  /// The unique identifier of the hub.
  final String hubId;

  /// The unique identifier of the NFC tag.
  final String nfcTagId;

  /// Creates an [AssignNfcTagArguments] instance.
  ///
  /// Both [hubId] and [nfcTagId] are required.
  const AssignNfcTagArguments({required this.hubId, required this.nfcTagId});

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