package com.kamco.cd.kamcoback.postgres.entity;

import com.kamco.cd.kamcoback.label.dto.LabelAllocateDto;
import com.kamco.cd.kamcoback.postgres.CommonDateEntity;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Table;
import java.util.UUID;

@Entity
@Table(name = "tb_labeling_assignment")
public class LabelingAssignmentEntity extends CommonDateEntity {

  @Id
  @Column(name = "assignment_uid")
  private UUID assignmentUid;

  @Column(name = "inference_geom_uid")
  private Long inferenceGeomUid;

  @Column(name = "worker_uid")
  private String workerUid;

  @Column(name = "inspector_uid")
  private String inspectorUid;

  @Column(name = "work_state")
  private String workState;

  @Column(name = "stagnation_yn")
  private Character stagnationYn;

  @Column(name = "assign_group_id")
  private String assignGroupId;

  @Column(name = "learn_geom_uid")
  private Long learnGeomUid;

  @Column(name = "anal_uid")
  private Long analUid;

  public LabelAllocateDto.Basic toDto() {
    return new LabelAllocateDto.Basic(
        this.assignmentUid,
        this.inferenceGeomUid,
        this.workerUid,
        this.inspectorUid,
        this.workState,
        this.stagnationYn,
        this.assignGroupId,
        this.learnGeomUid,
        this.analUid,
        super.getCreatedDate(),
        super.getModifiedDate());
  }
}
