category_entity.dart 3.21 KB
import 'dart:convert';
import 'package:Parlando/generated/json/base/json_field.dart';
import 'package:Parlando/generated/json/category_entity.g.dart';

@JsonSerializable()
class CategoryEntity {
  String? status;
  int? code;
  String? message;
  CategoryData? data;
  CategoryError? error;

  CategoryEntity();

  factory CategoryEntity.fromJson(Map<String, dynamic> json) =>
      $CategoryEntityFromJson(json);

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

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

@JsonSerializable()
class CategoryData {
  List<CategoryDataData>? data;
  CategoryDataMeta? meta;

  CategoryData();

  factory CategoryData.fromJson(Map<String, dynamic> json) =>
      $CategoryDataFromJson(json);

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

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

@JsonSerializable()
class CategoryDataData {
  int? id;
  String? title;
  String? subtitle;
  @JSONField(name: "left_text")
  String? leftText;
  @JSONField(name: "right_text")
  String? rightText;
  @JSONField(name: "poem_id")
  String? poemId;
  String? state;
  @JSONField(name: "created_at")
  String? createdAt;
  @JSONField(name: "updated_at")
  String? updatedAt;
  CategoryDataDataPoem? poem;

  CategoryDataData();

  factory CategoryDataData.fromJson(Map<String, dynamic> json) =>
      $CategoryDataDataFromJson(json);

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

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

@JsonSerializable()
class CategoryDataDataPoem {
  int? id;
  String? title;
  String? author;
  String? content;
  String? annotate;
  String? spelling;
  String? en;
  String? state;
  @JSONField(name: "created_at")
  String? createdAt;
  @JSONField(name: "updated_at")
  String? updatedAt;

  CategoryDataDataPoem();

  factory CategoryDataDataPoem.fromJson(Map<String, dynamic> json) =>
      $CategoryDataDataPoemFromJson(json);

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

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

@JsonSerializable()
class CategoryDataMeta {
  CategoryDataMetaPagination? pagination;

  CategoryDataMeta();

  factory CategoryDataMeta.fromJson(Map<String, dynamic> json) =>
      $CategoryDataMetaFromJson(json);

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

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

@JsonSerializable()
class CategoryDataMetaPagination {
  int? total;
  int? count;
  @JSONField(name: "per_page")
  int? perPage;
  @JSONField(name: "current_page")
  int? currentPage;

  CategoryDataMetaPagination();

  factory CategoryDataMetaPagination.fromJson(Map<String, dynamic> json) =>
      $CategoryDataMetaPaginationFromJson(json);

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

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

@JsonSerializable()
class CategoryError {
  CategoryError();

  factory CategoryError.fromJson(Map<String, dynamic> json) =>
      $CategoryErrorFromJson(json);

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

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