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

@JsonSerializable()
class HomeEntity {
  String? status;
  int? code;
  String? message;
  HomeData? data;
  HomeError? error;

  HomeEntity();

  factory HomeEntity.fromJson(Map<String, dynamic> json) =>
      $HomeEntityFromJson(json);

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

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

@JsonSerializable()
class HomeData {
  List<HomeDataData>? data;
  HomeDataMeta? meta;

  HomeData();

  factory HomeData.fromJson(Map<String, dynamic> json) =>
      $HomeDataFromJson(json);

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

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

@JsonSerializable()
class HomeDataData {
  int? id;
  @JSONField(name: "user_id")
  String? userId;
  String? title;
  String? content;
  String? url;
  String? type;
  String? duration;
  String? size;
  @JSONField(name: "poem_id")
  String? poemId;
  @JSONField(name: "temp_id")
  String? tempId;
  String? thumbnail;
  String? bgm;
  String? praise;
  String? view;
  String? collect;
  String? share;
  String? comment;
  String? state;
  @JSONField(name: "is_publish")
  String? isPublish;
  @JSONField(name: "is_check")
  String? isCheck;
  @JSONField(name: "created_at")
  String? createdAt;
  @JSONField(name: "updated_at")
  String? updatedAt;

  HomeDataData();

  factory HomeDataData.fromJson(Map<String, dynamic> json) =>
      $HomeDataDataFromJson(json);

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

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

@JsonSerializable()
class HomeDataMeta {
  HomeDataMetaPagination? pagination;

  HomeDataMeta();

  factory HomeDataMeta.fromJson(Map<String, dynamic> json) =>
      $HomeDataMetaFromJson(json);

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

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

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

  HomeDataMetaPagination();

  factory HomeDataMetaPagination.fromJson(Map<String, dynamic> json) =>
      $HomeDataMetaPaginationFromJson(json);

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

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

@JsonSerializable()
class HomeError {
  HomeError();

  factory HomeError.fromJson(Map<String, dynamic> json) =>
      $HomeErrorFromJson(json);

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

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