- 자동 로그인 구현: 앱 시작 시 토큰 확인 후 적절한 화면으로 라우팅 - AuthInterceptor 개선: AuthService와 통합하여 토큰 관리 일원화 - 로그아웃 기능 개선: AuthService를 사용한 API 로그아웃 처리 - 대시보드 API 연동: MockDataService에서 실제 API로 완전 전환 - Dashboard DTO 모델 생성 (OverviewStats, RecentActivity 등) - DashboardRemoteDataSource 및 DashboardService 구현 - OverviewController를 ChangeNotifier 패턴으로 개선 - OverviewScreenRedesign에 Provider 패턴 적용 - API 통합 진행 상황 문서 업데이트
19 lines
696 B
Dart
19 lines
696 B
Dart
import 'package:freezed_annotation/freezed_annotation.dart';
|
|
|
|
part 'expiring_license.freezed.dart';
|
|
part 'expiring_license.g.dart';
|
|
|
|
@freezed
|
|
class ExpiringLicense with _$ExpiringLicense {
|
|
const factory ExpiringLicense({
|
|
required int id,
|
|
@JsonKey(name: 'license_name') required String licenseName,
|
|
@JsonKey(name: 'company_name') required String companyName,
|
|
@JsonKey(name: 'expiry_date') required DateTime expiryDate,
|
|
@JsonKey(name: 'days_remaining') required int daysRemaining,
|
|
@JsonKey(name: 'license_type') required String licenseType,
|
|
}) = _ExpiringLicense;
|
|
|
|
factory ExpiringLicense.fromJson(Map<String, dynamic> json) =>
|
|
_$ExpiringLicenseFromJson(json);
|
|
} |