import 'package:json_annotation/json_annotation.dart';

import 'package:pshared/data/dto/payment/operation_money.dart';

part 'operation.g.dart';


@JsonSerializable()
class PaymentOperationDTO {
  final String? stepRef;
  final String? operationRef;
  final String? gateway;
  final String? code;
  final String? state;
  final String? label;
  final PaymentOperationMoneyDTO? money;
  final String? failureCode;
  final String? failureReason;
  final String? startedAt;
  final String? completedAt;

  const PaymentOperationDTO({
    this.stepRef,
    this.operationRef,
    this.gateway,
    this.code,
    this.state,
    this.label,
    this.money,
    this.failureCode,
    this.failureReason,
    this.startedAt,
    this.completedAt,
  });

  factory PaymentOperationDTO.fromJson(Map<String, dynamic> json) =>
      _$PaymentOperationDTOFromJson(json);
  Map<String, dynamic> toJson() => _$PaymentOperationDTOToJson(this);
}
