결재 및 마스터 모듈을 v4 API 계약에 맞게 조정

This commit is contained in:
JiWoong Sul
2025-10-16 17:27:20 +09:00
parent d5c99627db
commit 9e2244f260
34 changed files with 1394 additions and 330 deletions

View File

@@ -25,24 +25,28 @@ class ApprovalRepositoryRemote implements ApprovalRepository {
Future<PaginatedResult<Approval>> list({
int page = 1,
int pageSize = 20,
String? query,
String? status,
DateTime? from,
DateTime? to,
int? transactionId,
int? approvalStatusId,
int? requestedById,
bool includeHistories = false,
bool includeSteps = false,
}) async {
final includeParts = <String>[];
if (includeSteps) {
includeParts.add('steps');
}
if (includeHistories) {
includeParts.add('histories');
}
final response = await _api.get<Map<String, dynamic>>(
_basePath,
query: {
'page': page,
'page_size': pageSize,
if (query != null && query.isNotEmpty) 'q': query,
if (status != null && status.isNotEmpty) 'status': status,
if (from != null) 'from': from.toIso8601String(),
if (to != null) 'to': to.toIso8601String(),
if (includeHistories) 'include_histories': true,
if (includeSteps) 'include_steps': true,
if (transactionId != null) 'transaction_id': transactionId,
if (approvalStatusId != null) 'approval_status_id': approvalStatusId,
if (requestedById != null) 'requested_by_id': requestedById,
if (includeParts.isNotEmpty) 'include': includeParts.join(','),
},
options: Options(responseType: ResponseType.json),
);
@@ -56,12 +60,16 @@ class ApprovalRepositoryRemote implements ApprovalRepository {
bool includeSteps = true,
bool includeHistories = true,
}) async {
final includeParts = <String>[];
if (includeSteps) {
includeParts.add('steps');
}
if (includeHistories) {
includeParts.add('histories');
}
final response = await _api.get<Map<String, dynamic>>(
'$_basePath/$id',
query: {
if (includeSteps) 'include_steps': true,
if (includeHistories) 'include_histories': true,
},
query: {if (includeParts.isNotEmpty) 'include': includeParts.join(',')},
options: Options(responseType: ResponseType.json),
);
final data = (response.data?['data'] as Map<String, dynamic>?) ?? {};