Files
mobile/lib/features/wash/domain/wash.dart
T
2026-06-28 12:29:06 +02:00

42 lines
1.2 KiB
Dart

/// Modèle lavage (cycle en cours ou terminé).
class Wash {
const Wash({
required this.uuid,
required this.machineUuid,
required this.machineName,
required this.status,
required this.cost,
this.startedAt,
this.endedAt,
this.durationMinutes,
});
final String uuid;
final String machineUuid;
final String machineName;
final String status;
final double cost;
final DateTime? startedAt;
final DateTime? endedAt;
final int? durationMinutes;
factory Wash.fromJson(Map<String, dynamic> json) {
final machine = json['machine'] as Map<String, dynamic>?;
return Wash(
uuid: json['uuid'] as String,
machineUuid: machine?['uuid'] as String? ?? json['machine_uuid'] as String? ?? '',
machineName: machine?['name'] as String? ?? 'Machine',
status: json['status'] as String? ?? 'pending_start',
cost: (json['cost'] as num?)?.toDouble() ?? 0,
startedAt: json['started_at'] != null
? DateTime.tryParse(json['started_at'] as String)
: null,
endedAt: json['ended_at'] != null
? DateTime.tryParse(json['ended_at'] as String)
: null,
durationMinutes: json['duration_minutes'] as int?,
);
}
}