import '../../../domain/entities/approval.dart';

/// 결재 단계 레코드
///
/// - 개별 결재 요청의 특정 단계를 목록으로 조회할 때 사용한다.
class ApprovalStepRecord {
  ApprovalStepRecord({
    required this.approvalId,
    required this.approvalNo,
    this.transactionNo,
    this.templateName,
    required this.step,
  });

  final int approvalId;
  final String approvalNo;
  final String? transactionNo;
  final String? templateName;
  final ApprovalStep step;

  ApprovalStepRecord copyWith({
    int? approvalId,
    String? approvalNo,
    String? transactionNo,
    String? templateName,
    ApprovalStep? step,
  }) {
    return ApprovalStepRecord(
      approvalId: approvalId ?? this.approvalId,
      approvalNo: approvalNo ?? this.approvalNo,
      transactionNo: transactionNo ?? this.transactionNo,
      templateName: templateName ?? this.templateName,
      step: step ?? this.step,
    );
  }
}
