package incheon.ags.ias.userRole.web.dto;

import incheon.ags.ias.userRole.vo.UserRoleVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import java.util.List;

@Getter
@Setter
public class UserRoleRequestDTO {

    @Schema(description = "사용자 ID", example = "geoadmin", required = true)
    @NotBlank(message = "사용자 ID는 필수 항목입니다.")
    private String userId;

    @Schema(description = "역할 코드 리스트", example = "[\"BIZ_ROLE_ADMIN\", \"GEO_ROLE_ADMIN\"]", required = true)
    private List<String> roleCdList;

    @Schema(description = "역할 시작일 (YYYY-MM-DD)", example = "2025-01-01")
    private String roleBgngYmd;

    @Schema(description = "역할 종료일 (YYYY-MM-DD)", example = "2025-12-31")
    private String roleEndYmd;

    @Schema(description = "시스템 코드", example = "SYS002")
    private String sysCd;

    public UserRoleVO toEntity() {
        UserRoleVO vo = new UserRoleVO();
        vo.setUserId(userId);
        vo.setRoleBgngYmd(roleBgngYmd);
        vo.setRoleEndYmd(roleEndYmd);
        vo.setSysCd(sysCd);
        return vo;
    }
}