import 'package:equatable/equatable.dart';

/// Represents a base authenticated user in the KROW platform.
///
/// This entity corresponds to the Firebase Auth user record and acts as the
/// linkage between the authentication system and the specific [Staff] or Client profiles.
class User extends Equatable {

  const User({
    required this.id,
    required this.email,
    this.phone,
    required this.role,
  });
  /// The unique identifier from the authentication provider (e.g., Firebase UID).
  final String id;

  /// The user's email address.
  final String email;

  /// The user's phone number, if available.
  final String? phone;

  /// The primary role of the user (e.g., 'staff', 'client_admin').
  /// This determines the initial routing and permissions.
  final String role;

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