import 'package:freezed_annotation/freezed_annotation.dart'; part 'license_expiry_summary.freezed.dart'; part 'license_expiry_summary.g.dart'; @freezed class LicenseExpirySummary with _$LicenseExpirySummary { const factory LicenseExpirySummary({ @JsonKey(name: 'within_30_days') required int within30Days, @JsonKey(name: 'within_60_days') required int within60Days, @JsonKey(name: 'within_90_days') required int within90Days, @JsonKey(name: 'expired') required int expired, @JsonKey(name: 'total_active') required int totalActive, @JsonKey(name: 'licenses') required List licenses, }) = _LicenseExpirySummary; factory LicenseExpirySummary.fromJson(Map json) => _$LicenseExpirySummaryFromJson(json); } @freezed class LicenseExpiryDetail with _$LicenseExpiryDetail { const factory LicenseExpiryDetail({ required int id, @JsonKey(name: 'equipment_id') required int equipmentId, @JsonKey(name: 'equipment_name') required String equipmentName, @JsonKey(name: 'serial_number') required String serialNumber, @JsonKey(name: 'company_name') required String companyName, @JsonKey(name: 'license_type') required String licenseType, @JsonKey(name: 'start_date') required String startDate, @JsonKey(name: 'end_date') required String endDate, @JsonKey(name: 'days_remaining') required int daysRemaining, @JsonKey(name: 'is_expired') required bool isExpired, }) = _LicenseExpiryDetail; factory LicenseExpiryDetail.fromJson(Map json) => _$LicenseExpiryDetailFromJson(json); }