import 'package:domain/entity/form_content_entity.dart';
import 'package:domain/entity/id_name_entity.dart';
import 'package:domain/generated/json/base/json_field.dart';
import 'package:domain/generated/json/form_submitted_entity.g.dart';
import 'dart:convert';
export 'package:domain/generated/json/form_submitted_entity.g.dart';

@JsonSerializable()
class FormSubmittedEntity {
	String? id;
	@JSONField(name: "user_id")
	String? userId;
	@JSONField(name: "estate_online_form_id")
	String? estateOnlineFormId;
	FormContentEntity? content;
	@JSONField(name: "sent_on")
	String? sentOn;
	@JSONField(name: "rejected_on")
	String? rejectedOn;
	@JSONField(name: "approved_on")
	String? approvedOn;
	@JSONField(name: "estate_online_form")
	FormSubmittedEstateOnlineForm? estateOnlineForm;
	IdNameEntity? account;

	FormSubmittedEntity();

	factory FormSubmittedEntity.fromJson(Map<String, dynamic> json) => $FormSubmittedEntityFromJson(json);

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

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


@JsonSerializable()
class FormSubmittedEstateOnlineForm {
	String? id;
	String? icon;
	String? name;
	IdNameEntity? type;

	FormSubmittedEstateOnlineForm();

	factory FormSubmittedEstateOnlineForm.fromJson(Map<String, dynamic> json) => $FormSubmittedEstateOnlineFormFromJson(json);

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

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