package com.jeesharp.business.modules.contentsecurity.api.spi;

import com.jeesharp.business.modules.contentsecurity.dto.ContentCheckRequest;
import com.jeesharp.business.modules.contentsecurity.dto.ContentCheckResult;
import com.jeesharp.business.modules.contentsecurity.enums.ContentTypeEnum;

/**
 * 内容安全厂商 SPI；新增阿里云等实现本接口并注册为 Spring Bean 即可替换。
 *
 * @author jeesharp
 * @since 2026-06-27
 */
public interface ContentSecurityProvider {

    /** Provider 唯一编码，与 {@link com.jeesharp.business.modules.contentsecurity.enums.ContentSecurityProviderCodeEnum} 对齐 */
    String providerCode();

    boolean supports(ContentTypeEnum contentType);

    ContentCheckResult checkText(ContentCheckRequest request);

    ContentCheckResult checkMedia(ContentCheckRequest request);
}
