import { BaseModel } from "src/common/entities/base.entity";
import { Column, Entity, PrimaryGeneratedColumn } from "typeorm";

@Entity({ name: "tb_help" })
export class HelpModel extends BaseModel {
  @PrimaryGeneratedColumn({
    name: "pk_help_no",
    type: "int",
    comment: "도움말 번호",
  })
  pkHelpNo: number;

  @Column({
    name: "help_ctgry",
    type: "varchar",
    length: 20,
    nullable: false,
    comment: "분류 (SNP/GENOME/MPT)",
  })
  helpCtgry: string;

  @Column({
    name: "target_nm",
    type: "varchar",
    length: 100,
    nullable: false,
    comment: "대상명 (PLAG1, 도체중, 혈당 등)",
  })
  targetNm: string;

  @Column({
    name: "help_title",
    type: "varchar",
    length: 200,
    nullable: true,
    comment: "제목",
  })
  helpTitle: string;

  @Column({
    name: "help_short",
    type: "text",
    nullable: true,
    comment: "짧은 설명 (툴팁용)",
  })
  helpShort: string;

  @Column({
    name: "help_full",
    type: "text",
    nullable: true,
    comment: "상세 설명 (사이드패널용)",
  })
  helpFull: string;

  @Column({
    name: "help_image_url",
    type: "varchar",
    length: 500,
    nullable: true,
    comment: "이미지 URL",
  })
  helpImageUrl: string;

  @Column({
    name: "help_video_url",
    type: "varchar",
    length: 500,
    nullable: true,
    comment: "영상 URL",
  })
  helpVideoUrl: string;

  @Column({
    name: "help_link_url",
    type: "varchar",
    length: 500,
    nullable: true,
    comment: "참고 링크 URL",
  })
  helpLinkUrl: string;

  @Column({
    name: "display_order",
    type: "int",
    nullable: true,
    comment: "표시 순서",
  })
  displayOrder: number;

  @Column({
    name: "use_yn",
    type: "char",
    length: 1,
    nullable: false,
    default: "Y",
    comment: "사용 여부 (Y/N)",
  })
  useYn: string;

  // BaseModel에서 상속받는 컬럼들:
  // - regDt: 등록일시
  // - updtDt: 수정일시
  // - regIp: 등록 IP
  // - updtIp: 수정 IP
  // - regUserId: 등록자 ID
  // - updtUserId: 수정자 ID
}