Eliminar creche_app/lib/models/invite.dart
This commit is contained in:
parent
c58fdb428b
commit
31f4f4aba0
|
|
@ -1,49 +0,0 @@
|
|||
/// Representa um convite pendente no sistema
|
||||
class Invite {
|
||||
final String id;
|
||||
final String email;
|
||||
final String role;
|
||||
final String? phone; // para encarregados — número do terminal
|
||||
final String invitedBy; // profile_id do principal que convidou
|
||||
final String status; // pending | accepted | rejected | expired
|
||||
final DateTime createdAt;
|
||||
final DateTime expiresAt;
|
||||
final String? childId; // para encarregados — ligação à criança
|
||||
|
||||
Invite({
|
||||
required this.id,
|
||||
required this.email,
|
||||
required this.role,
|
||||
this.phone,
|
||||
required this.invitedBy,
|
||||
required this.status,
|
||||
required this.createdAt,
|
||||
required this.expiresAt,
|
||||
this.childId,
|
||||
});
|
||||
|
||||
factory Invite.fromMap(Map<String, dynamic> m) => Invite(
|
||||
id: m['id'] ?? '',
|
||||
email: m['email'] ?? '',
|
||||
role: m['role'] ?? 'parent',
|
||||
phone: m['phone'],
|
||||
invitedBy: m['invited_by'] ?? '',
|
||||
status: m['status'] ?? 'pending',
|
||||
createdAt: DateTime.tryParse(m['created_at'] ?? '') ?? DateTime.now(),
|
||||
expiresAt: DateTime.tryParse(m['expires_at'] ?? '') ?? DateTime.now().add(const Duration(days: 7)),
|
||||
childId: m['child_id'],
|
||||
);
|
||||
|
||||
bool get isExpired => DateTime.now().isAfter(expiresAt);
|
||||
bool get isPending => status == 'pending' && !isExpired;
|
||||
|
||||
Map<String, dynamic> toMap() => {
|
||||
'email': email,
|
||||
'role': role,
|
||||
'phone': phone,
|
||||
'invited_by': invitedBy,
|
||||
'status': status,
|
||||
'expires_at': expiresAt.toIso8601String(),
|
||||
'child_id': childId,
|
||||
};
|
||||
}
|
||||
Loading…
Reference in New Issue