결재 API 계약 보완 및 테스트 정리

This commit is contained in:
JiWoong Sul
2025-10-16 18:53:22 +09:00
parent 9e2244f260
commit efed3c1a6f
44 changed files with 1969 additions and 293 deletions

View File

@@ -0,0 +1,28 @@
import 'package:dio/dio.dart';
import '../../../../core/network/api_client.dart';
import '../../../../core/network/api_routes.dart';
import '../../domain/entities/dashboard_summary.dart';
import '../../domain/repositories/dashboard_repository.dart';
import '../dtos/dashboard_summary_dto.dart';
/// 대시보드 요약 데이터를 불러오는 원격 저장소.
class DashboardRepositoryRemote implements DashboardRepository {
DashboardRepositoryRemote({required ApiClient apiClient}) : _api = apiClient;
final ApiClient _api;
static const _summaryPath = '${ApiRoutes.apiV1}/dashboard/summary';
@override
Future<DashboardSummary> fetchSummary() async {
final response = await _api.get<Map<String, dynamic>>(
_summaryPath,
options: Options(responseType: ResponseType.json),
);
final json = (response.data?['data'] as Map<String, dynamic>?) ??
response.data ??
const <String, dynamic>{};
return DashboardSummaryDto.fromJson(json).toEntity();
}
}