import '../utils/app_time.dart'; class LeaveOfAbsence { LeaveOfAbsence({ required this.id, required this.userId, required this.leaveType, required this.justification, required this.startTime, required this.endTime, required this.status, required this.filedBy, required this.createdAt, }); final String id; final String userId; final String leaveType; final String justification; final DateTime startTime; final DateTime endTime; final String status; final String filedBy; final DateTime createdAt; factory LeaveOfAbsence.fromMap(Map map) { return LeaveOfAbsence( id: map['id'] as String, userId: map['user_id'] as String, leaveType: map['leave_type'] as String, justification: map['justification'] as String, startTime: AppTime.parse(map['start_time'] as String), endTime: AppTime.parse(map['end_time'] as String), status: map['status'] as String? ?? 'pending', filedBy: map['filed_by'] as String, createdAt: AppTime.parse(map['created_at'] as String), ); } String get leaveTypeLabel { switch (leaveType) { case 'emergency_leave': return 'Emergency Leave'; case 'parental_leave': return 'Parental Leave'; case 'sick_leave': return 'Sick Leave'; case 'vacation_leave': return 'Vacation Leave'; default: return leaveType; } } }