결재 API 계약 보완 및 테스트 정리
This commit is contained in:
@@ -198,14 +198,53 @@ extension ApprovalStepActionTypeX on ApprovalStepActionType {
|
||||
}
|
||||
|
||||
/// 결재 생성 입력 모델
|
||||
class ApprovalInput {
|
||||
ApprovalInput({required this.transactionId, this.note});
|
||||
/// 결재 신규 생성 입력 모델
|
||||
///
|
||||
/// - 트랜잭션, 결재번호, 상태, 상신자 정보를 백엔드 계약에 맞춰 전달한다.
|
||||
class ApprovalCreateInput {
|
||||
ApprovalCreateInput({
|
||||
required this.transactionId,
|
||||
required this.approvalNo,
|
||||
required this.approvalStatusId,
|
||||
required this.requestedById,
|
||||
this.note,
|
||||
});
|
||||
|
||||
final int transactionId;
|
||||
final String approvalNo;
|
||||
final int approvalStatusId;
|
||||
final int requestedById;
|
||||
final String? note;
|
||||
|
||||
Map<String, dynamic> toPayload() {
|
||||
return {'transaction_id': transactionId, 'note': note};
|
||||
final trimmedNote = note?.trim();
|
||||
return {
|
||||
'transaction_id': transactionId,
|
||||
'approval_no': approvalNo,
|
||||
'approval_status_id': approvalStatusId,
|
||||
'requested_by_id': requestedById,
|
||||
if (trimmedNote != null && trimmedNote.isNotEmpty) 'note': trimmedNote,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
/// 결재 기본 정보 수정 입력 모델
|
||||
///
|
||||
/// - 상태/비고 변경 시 결재 식별자를 포함해 패치를 수행한다.
|
||||
class ApprovalUpdateInput {
|
||||
ApprovalUpdateInput({required this.id, this.approvalStatusId, this.note});
|
||||
|
||||
final int id;
|
||||
final int? approvalStatusId;
|
||||
final String? note;
|
||||
|
||||
Map<String, dynamic> toPayload() {
|
||||
final trimmedNote = note?.trim();
|
||||
return {
|
||||
'id': id,
|
||||
if (approvalStatusId != null) 'approval_status_id': approvalStatusId,
|
||||
if (trimmedNote != null && trimmedNote.isNotEmpty) 'note': trimmedNote,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user