feat:implementacion grafica
This commit is contained in:
27
lib/features/auth/domain/entities/auth_user.dart
Normal file
27
lib/features/auth/domain/entities/auth_user.dart
Normal file
@@ -0,0 +1,27 @@
|
||||
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];
|
||||
}
|
||||
Reference in New Issue
Block a user