import 'package:domain/generated/json/base/json_field.dart';
import 'package:domain/generated/json/payment_page_entity.g.dart';
import 'dart:convert';
export 'package:domain/generated/json/payment_page_entity.g.dart';

@JsonSerializable()
class PaymentPageEntity {
  int count = 0;
  int page = 0;
  int limit = 0;
  @JSONField(name: "count_page")
  int countPage = 0;
  List<PaymentPageList> list = [];

  PaymentPageEntity();

  factory PaymentPageEntity.fromJson(Map<String, dynamic> json) => $PaymentPageEntityFromJson(json);

  Map<String, dynamic> toJson() => $PaymentPageEntityToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}

@JsonSerializable()
class PaymentPageList {
  String? id;
  String? type;
  @JSONField(name: "start_at")
  String? startAt;
  @JSONField(name: "end_at")
  String? endAt;
  String? amount;
  @JSONField(name: "paid_by")
  dynamic paidBy;
  @JSONField(name: "created_at")
  String? createdAt;

  PaymentPageList();

  factory PaymentPageList.fromJson(Map<String, dynamic> json) => $PaymentPageListFromJson(json);

  Map<String, dynamic> toJson() => $PaymentPageListToJson(this);

  @override
  String toString() {
    return jsonEncode(this);
  }
}
