import 'package:equatable/equatable.dart'; /// Entidad de dominio que representa un usuario autenticado. /// Almacena únicamente el token (simulado JWT) y el rol, /// sin datos de ubicación o rastreo. class AuthUser extends Equatable { final String token; final String email; final String role; // 'citizen' | 'operator' final DateTime issuedAt; final DateTime expiresAt; const AuthUser({ required this.token, required this.email, required this.role, required this.issuedAt, required this.expiresAt, }); bool get isExpired => DateTime.now().isAfter(expiresAt); bool get isValid => token.isNotEmpty && !isExpired; @override List get props => [token, email, role, issuedAt, expiresAt]; }