package tech.easyflow.skill.imports;

import java.util.ArrayList;
import java.util.List;
import java.util.Date;
import tech.easyflow.skill.validation.SkillValidationIssue;

/**
 * Skill 导入预览结果。
 */
public class SkillImportPreview {

    private List<SkillImportPreviewItem> skills = new ArrayList<>();
    private String sourceName;
    private String importToken;
    private Date expiresAt;
    private List<SkillValidationIssue> issues = new ArrayList<>();

    /**
     * 获取导入 Skill 预览项。
     *
     * @return 预览项列表
     */
    public List<SkillImportPreviewItem> getSkills() {
        return skills;
    }

    /**
     * 设置导入 Skill 预览项。
     *
     * @param skills 预览项列表
     */
    public void setSkills(List<SkillImportPreviewItem> skills) {
        this.skills = skills == null ? new ArrayList<>() : skills;
    }

    /**
     * 获取本预览对应的原始导入包名称。
     *
     * @return 原始导入包名称
     */
    public String getSourceName() {
        return sourceName;
    }

    /**
     * 设置本预览对应的原始导入包名称。
     *
     * @param sourceName 原始导入包名称
     */
    public void setSourceName(String sourceName) {
        this.sourceName = sourceName;
    }

    public String getImportToken() { return importToken; }
    public void setImportToken(String importToken) { this.importToken = importToken; }
    public Date getExpiresAt() { return expiresAt; }
    public void setExpiresAt(Date expiresAt) { this.expiresAt = expiresAt; }
    public List<SkillValidationIssue> getIssues() { return issues; }
    public void setIssues(List<SkillValidationIssue> issues) { this.issues = issues == null ? new ArrayList<>() : new ArrayList<>(issues); }
}
