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

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

	PaidServiceEntity();

	factory PaidServiceEntity.fromJson(Map<String, dynamic> json) => $PaidServiceEntityFromJson(json);

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

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

@JsonSerializable()
class PaidServiceList {
	int? id;
	String? name;
	List<String>? resources;
	@JSONField(name: "lowest_price")
	int? lowestPrice;
	@JSONField(name: "likes_count")
	int? likesCount;
	bool? liked;
	PaidServiceListMerchant? merchant;
	PaidServiceListCategory? category;

	PaidServiceList();

	factory PaidServiceList.fromJson(Map<String, dynamic> json) => $PaidServiceListFromJson(json);

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

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

@JsonSerializable()
class PaidServiceListMerchant {
	int? id;
	String? name;

	PaidServiceListMerchant();

	factory PaidServiceListMerchant.fromJson(Map<String, dynamic> json) => $PaidServiceListMerchantFromJson(json);

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

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

@JsonSerializable()
class PaidServiceListCategory {
	int? id;
	String? name;
	String? type;

	PaidServiceListCategory();

	factory PaidServiceListCategory.fromJson(Map<String, dynamic> json) => $PaidServiceListCategoryFromJson(json);

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

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