package tech.easyflow.skill.imports;

import tech.easyflow.common.web.exceptions.BusinessException;

import java.util.Locale;

/**
 * Skill 导入同名冲突策略。
 */
public enum SkillImportConflictStrategy {
    REJECT,
    RENAME,
    OVERWRITE;

    /**
     * 解析冲突策略，空值默认拒绝。
     *
     * @param value 策略编码
     * @return 冲突策略
     */
    public static SkillImportConflictStrategy fromOrDefault(String value) {
        if (value == null || value.isBlank()) {
            return REJECT;
        }
        try {
            return valueOf(value.trim().toUpperCase(Locale.ROOT));
        } catch (IllegalArgumentException exception) {
            throw new BusinessException("不支持的 Skill 导入冲突策略：" + value);
        }
    }
}
