import 'package:domain/entity/response/index_option_entity.dart';
import 'package:domain/generated/json/base/json_field.dart';
import 'package:domain/generated/json/s_g_labour_request_add_option_entity.g.dart';
import 'dart:convert';
export 'package:domain/generated/json/s_g_labour_request_add_option_entity.g.dart';

@JsonSerializable()
class SGLabourRequestAddOptionEntity {
  @JSONField(name: "agency_list")
  List<LabourRequestAgencyEntity> agencyList = [];
  @JSONField(name: "title_list")
  List<IndexOptionEntity> titleList = [];
  @JSONField(name: "outlet_list")
  List<IndexOptionEntity> outletList = [];
  @JSONField(name: "limit_list")
  List<IndexOptionEntity> limitList = [];
  @JSONField(name: "request_type")
  List<IndexOptionEntity> requestType = [];
  @JSONField(name: "position_list")
  List<IndexOptionEntity> positionList = [];

  SGLabourRequestAddOptionEntity();

  factory SGLabourRequestAddOptionEntity.fromJson(Map<String, dynamic> json) => $SGLabourRequestAddOptionEntityFromJson(json);

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

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

@JsonSerializable()
class LabourRequestAgencyEntity {
  @JSONField(name: "agency_id")
  String? agencyId;
  @JSONField(name: "agency_name")
  String? agencyName;

  LabourRequestAgencyEntity();

  factory LabourRequestAgencyEntity.fromJson(Map<String, dynamic> json) => $LabourRequestAgencyEntityFromJson(json);

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

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