- 회사 리스트 화면의 배지를 ShadcnBadge 컴포넌트로 통일 - 본사(Blue)와 지점(Purple) 색상 차별화로 시각적 구분 강화 - 고객사(Orange), 파트너사(Green) 색상 체계 개선 - 장비/라이선스 관리 화면과 동일한 배지 스타일 적용 - 불필요한 문서 파일 정리 - 라이선스 만료 요약 모델 업데이트 - 리스트 화면들의 페이지네이션 및 필터링 로직 개선 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
39 lines
1.7 KiB
Dart
39 lines
1.7 KiB
Dart
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: 'expiring_30_days', defaultValue: 0) required int within30Days,
|
|
@JsonKey(name: 'expiring_60_days', defaultValue: 0) required int within60Days,
|
|
@JsonKey(name: 'expiring_90_days', defaultValue: 0) required int within90Days,
|
|
@JsonKey(name: 'expired', defaultValue: 0) required int expired,
|
|
@JsonKey(name: 'active', defaultValue: 0) required int totalActive,
|
|
@JsonKey(name: 'licenses', defaultValue: []) required List<LicenseExpiryDetail> licenses,
|
|
@JsonKey(name: 'expiring_7_days', defaultValue: 0) int? expiring7Days,
|
|
}) = _LicenseExpirySummary;
|
|
|
|
factory LicenseExpirySummary.fromJson(Map<String, dynamic> 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<String, dynamic> json) =>
|
|
_$LicenseExpiryDetailFromJson(json);
|
|
} |