package tech.easyflow.ai.documentimport;

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

import java.math.BigInteger;

/**
 * 文档批量导入调用者上下文。
 *
 * @author Codex
 * @since 2026-08-02
 */
public final class ImportCallerContext {

    private final ImportCallerType callerType;
    private final BigInteger callerId;

    /**
     * 创建调用者上下文。
     *
     * @param callerType 调用者类型
     * @param callerId 调用者 ID
     * @throws BusinessException 调用者信息不完整时抛出
     */
    public ImportCallerContext(ImportCallerType callerType, BigInteger callerId) {
        if (callerType == null || callerId == null) {
            throw new BusinessException("导入调用者信息不完整");
        }
        this.callerType = callerType;
        this.callerId = callerId;
    }

    /**
     * 获取调用者类型。
     *
     * @return 调用者类型
     */
    public ImportCallerType getCallerType() {
        return callerType;
    }

    /**
     * 获取调用者 ID。
     *
     * @return 调用者 ID
     */
    public BigInteger getCallerId() {
        return callerId;
    }
}
