class PunishmentDto { final String id; final DateTime date; final double amount; final String? reason; final String? note; final String employeeId; PunishmentDto({ required this.id, required this.date, required this.amount, this.reason, this.note, required this.employeeId, }); factory PunishmentDto.fromJson(Map json) { return PunishmentDto( id: json['id']?.toString() ?? '', date: json['date'] != null ? DateTime.parse(json['date']) : DateTime.now(), amount: (json['amount'] as num?)?.toDouble() ?? 0.0, reason: json['reason'], note: json['note'], employeeId: json['employeeId']?.toString() ?? '', ); } } class PunishmentListResponseDto { final List items; PunishmentListResponseDto({required this.items}); factory PunishmentListResponseDto.fromJson(Map json) { final data = json['data']; if (data == null || data is! Map) { return PunishmentListResponseDto(items: []); } final itemsJson = data['items'] as List? ?? []; return PunishmentListResponseDto( items: itemsJson.map((e) => PunishmentDto.fromJson(e)).toList(), ); } }