import 'package:equatable/equatable.dart';

/// Represents a member of a Hub.
///
/// Grants a user access to specific [Hub] operations, distinct from [BizMember].
class HubMember extends Equatable {

  const HubMember({
    required this.id,
    required this.hubId,
    required this.userId,
    required this.role,
  });
  /// Unique identifier for this membership.
  final String id;

  /// The [Hub] the user belongs to.
  final String hubId;

  /// The [User] who is a member.
  final String userId;

  /// The role within the hub.
  final String role;

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