Files
hackathon-sfc-a9a4cee231094…/lib/features/auth/domain/entities/auth_user.dart

28 lines
744 B
Dart

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<Object?> get props => [token, email, role, issuedAt, expiresAt];
}