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

@JsonSerializable()
class NewsfeedFollowingEntity {
	int? count;
	int? page;
	int? limit;
	@JSONField(name: "count_page")
	int? countPage;
	List<NewsfeedFollowingList>? list;

	NewsfeedFollowingEntity();

	factory NewsfeedFollowingEntity.fromJson(Map<String, dynamic> json) => $NewsfeedFollowingEntityFromJson(json);

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

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

@JsonSerializable()
class NewsfeedFollowingList {
	int? id;
	String? content;
	List<String>? resources;
	@JSONField(name: "likes_count")
	int? likesCount;
	@JSONField(name: "comments_count")
	int? commentsCount;
	bool? liked;
	@JSONField(name: "created_at")
	String? createdAt;
	NewsfeedFollowingListAccount? account;

	NewsfeedFollowingList();

	factory NewsfeedFollowingList.fromJson(Map<String, dynamic> json) => $NewsfeedFollowingListFromJson(json);

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

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

@JsonSerializable()
class NewsfeedFollowingListAccount {
	int? id;
	String? name;
	String? avatar;
	bool? followed;

	NewsfeedFollowingListAccount();

	factory NewsfeedFollowingListAccount.fromJson(Map<String, dynamic> json) => $NewsfeedFollowingListAccountFromJson(json);

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

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