package tech.easyflow.admin.controller.skill.vo;

import java.util.List;

/**
 * 单个标准 Skill ZIP 的独立导入结果。
 *
 * @param importToken 预检 token
 * @param success 是否成功
 * @param message 失败原因，成功时为空
 * @param skills 导入成功的 Skill
 */
public record SkillImportBatchResultView(
        String importToken,
        boolean success,
        String message,
        List<SkillView> skills
) {

    /**
     * 构造成功结果。
     *
     * @param importToken 预检 token
     * @param skills 导入的 Skill
     * @return 成功结果
     */
    public static SkillImportBatchResultView succeeded(String importToken, List<SkillView> skills) {
        return new SkillImportBatchResultView(importToken, true, null, List.copyOf(skills));
    }

    /**
     * 构造失败结果。
     *
     * @param importToken 预检 token
     * @param message 失败原因
     * @return 失败结果
     */
    public static SkillImportBatchResultView failed(String importToken, String message) {
        return new SkillImportBatchResultView(importToken, false, message, List.of());
    }
}
