주석화 진행상황 정리하고 핵심 모듈에 한글 주석 추가
This commit is contained in:
@@ -5,6 +5,7 @@ import 'package:superport_v2/features/approvals/domain/entities/approval.dart';
|
||||
|
||||
import '../../domain/entities/approval_step_record.dart';
|
||||
|
||||
/// 결재 단계 기록 API 응답을 표현하는 DTO.
|
||||
class ApprovalStepRecordDto {
|
||||
ApprovalStepRecordDto({
|
||||
required this.approvalId,
|
||||
@@ -20,6 +21,7 @@ class ApprovalStepRecordDto {
|
||||
final String? templateName;
|
||||
final ApprovalStep step;
|
||||
|
||||
/// JSON에서 필요한 필드를 추출해 DTO를 생성한다.
|
||||
factory ApprovalStepRecordDto.fromJson(Map<String, dynamic> json) {
|
||||
final approvalData = json['approval'] as Map<String, dynamic>?;
|
||||
final approvalId =
|
||||
@@ -49,6 +51,7 @@ class ApprovalStepRecordDto {
|
||||
);
|
||||
}
|
||||
|
||||
/// DTO를 [ApprovalStepRecord] 엔티티로 변환한다.
|
||||
ApprovalStepRecord toEntity() {
|
||||
return ApprovalStepRecord(
|
||||
approvalId: approvalId,
|
||||
@@ -59,6 +62,7 @@ class ApprovalStepRecordDto {
|
||||
);
|
||||
}
|
||||
|
||||
/// 페이징 응답을 [PaginatedResult] 형태로 반환한다.
|
||||
static PaginatedResult<ApprovalStepRecord> parsePaginated(
|
||||
Map<String, dynamic>? json,
|
||||
) {
|
||||
|
||||
@@ -7,6 +7,7 @@ import 'package:superport_v2/features/approvals/step/domain/repositories/approva
|
||||
import '../dtos/approval_step_record_dto.dart';
|
||||
import '../../domain/entities/approval_step_input.dart';
|
||||
|
||||
/// 결재 단계 API를 호출하는 원격 저장소 구현체.
|
||||
class ApprovalStepRepositoryRemote implements ApprovalStepRepository {
|
||||
ApprovalStepRepositoryRemote({required ApiClient apiClient})
|
||||
: _api = apiClient;
|
||||
@@ -15,6 +16,7 @@ class ApprovalStepRepositoryRemote implements ApprovalStepRepository {
|
||||
|
||||
static const _basePath = '/approval-steps';
|
||||
|
||||
/// 결재 단계 목록을 조회한다.
|
||||
@override
|
||||
Future<PaginatedResult<ApprovalStepRecord>> list({
|
||||
int page = 1,
|
||||
@@ -40,6 +42,7 @@ class ApprovalStepRepositoryRemote implements ApprovalStepRepository {
|
||||
return ApprovalStepRecordDto.parsePaginated(response.data);
|
||||
}
|
||||
|
||||
/// 단일 결재 단계 상세를 조회한다.
|
||||
@override
|
||||
Future<ApprovalStepRecord> fetchDetail(int id) async {
|
||||
final response = await _api.get<Map<String, dynamic>>(
|
||||
@@ -50,6 +53,7 @@ class ApprovalStepRepositoryRemote implements ApprovalStepRepository {
|
||||
return ApprovalStepRecordDto.fromJson(data).toEntity();
|
||||
}
|
||||
|
||||
/// 결재 단계를 생성한다.
|
||||
@override
|
||||
Future<ApprovalStepRecord> create(ApprovalStepInput input) async {
|
||||
final response = await _api.post<Map<String, dynamic>>(
|
||||
@@ -64,6 +68,7 @@ class ApprovalStepRepositoryRemote implements ApprovalStepRepository {
|
||||
return ApprovalStepRecordDto.fromJson(data).toEntity();
|
||||
}
|
||||
|
||||
/// 결재 단계를 수정한다.
|
||||
@override
|
||||
Future<ApprovalStepRecord> update(int id, ApprovalStepInput input) async {
|
||||
final response = await _api.patch<Map<String, dynamic>>(
|
||||
|
||||
Reference in New Issue
Block a user