package com.foxedu.basecms.domain;

import java.time.LocalDateTime;
import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.Id;
import jakarta.persistence.Index;
import jakarta.persistence.Table;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

/**
 * 사이트메뉴
 */
@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(
    name = "comtnsitemnu",
    indexes = {
        @Index(name = "COMTNSITEMNU_IE1", columnList = "SITE_ID, SYS_TY_CODE"),
        @Index(name = "COMTNSITEMNU_IE2", columnList = "UPPER_MENU_ID")
    }
)
public class Menu {

    @Id
    @Column(name = "MENU_ID", length = 20, nullable = false)
    private String menuId;

    @Column(name = "SITE_ID", length = 20)
    private String siteId;

    @Column(name = "SYS_TY_CODE", length = 15)
    private String sysTyCode;

    @Column(name = "UPPER_MENU_ID", length = 20)
    private String upperMenuId;

    @Column(name = "COMPOSITION_TY_CODE", length = 15)
    private String compositionTyCode;

    @Column(name = "CNTNTS_TY_CODE", length = 20)
    private String cntntsTyCode;

    @Column(name = "MENU_NM", length = 50, nullable = false)
    private String menuNm;

    @Column(name = "IMAGE_FILE_NM", length = 255)
    private String imageFileNm;

    @Column(name = "HTML_USE_AT", length = 1, nullable = false)
    private String htmlUseAt;

    @Column(name = "HTMLSOURC_TY_CODE", length = 15)
    private String htmlsourcTyCode;

    @Column(name = "STYLE_CN", columnDefinition = "mediumtext")
    private String styleCn;

    @Column(name = "SCRIPT_CN", columnDefinition = "mediumtext")
    private String scriptCn;

    @Column(name = "HTML_CN", columnDefinition = "mediumtext")
    private String htmlCn;

    @Column(name = "ATCH_FILE_ID", length = 20)
    private String atchFileId;

    @Column(name = "MOBILE_HTMLSOURC_TY_CODE", length = 15)
    private String mobileHtmlsourcTyCode;

    @Column(name = "MOBILE_STYLE_CN", columnDefinition = "mediumtext")
    private String mobileStyleCn;

    @Column(name = "MOBILE_SCRIPT_CN", columnDefinition = "mediumtext")
    private String mobileScriptCn;

    @Column(name = "MOBILE_HTML_CN", columnDefinition = "mediumtext")
    private String mobileHtmlCn;

    @Column(name = "MOBILE_ATCH_FILE_ID", length = 20)
    private String mobileAtchFileId;

    @Column(name = "PROGRM_ID", length = 30)
    private String progrmId;

    @Column(name = "PROGRM_FACTR", length = 30)
    private String progrmFactr;

    @Column(name = "URL", length = 255)
    private String url;

    @Column(name = "EXPSR_USE_AT", length = 1, nullable = false)
    private String expsrUseAt;

    @Column(name = "SORT_ORDR")
    private Integer sortOrdr;

    @Column(name = "MENU_LEVEL", nullable = false)
    private Integer menuLevel;

    @Column(name = "NWD_AT", length = 1, nullable = false)
    private String nwdAt;

    @Column(name = "MOBILE_USE_AT", length = 1, nullable = false)
    private String mobileUseAt;

    @Column(name = "USE_AT", length = 1, nullable = false)
    private String useAt;

    @Column(name = "FRST_REGISTER_PNTTM")
    private LocalDateTime frstRegisterPnttm;

    @Column(name = "FRST_REGISTER_ID", length = 100)
    private String frstRegisterId;

    @Column(name = "LAST_UPDUSR_PNTTM")
    private LocalDateTime lastUpdtPnttm;

    @Column(name = "LAST_UPDUSR_ID", length = 100)
    private String lastUpdtId;

    @Column(name = "STDNT_USE_AT", length = 1, nullable = false)
    private String stdntUseAt;

    @Column(name = "STDNPRNT_USE_AT", length = 1, nullable = false)
    private String stdnprntUseAt;

    @Column(name = "PROFSR_USE_AT", length = 1, nullable = false)
    private String profsrUseAt;

    @Column(name = "GENERAL_USE_AT", length = 1, nullable = false)
    private String generalUseAt;








































































}
