package shop.alien.store.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Component;

/**
 * uniCloud 云函数 URL 化后，由 Java 侧发起推送的 HTTP 配置。
 * 云函数内需使用 uni-cloud-push 的 sendMessage；请求体字段需与云函数约定一致。
 */
@Data
@Component
@RefreshScope
@ConfigurationProperties(prefix = "alien.unipush")
public class UniPushProperties {

    /**
     * 是否启用 HTTP 调用云函数推送（未配置 url 时 {@link shop.alien.store.service.UniPushCloudInvokeService} 会直接跳过）
     */
    private boolean enabled = false;

    /**
     * 云函数 URL 化完整地址，例如 https://xxx.com/push/send
     */
    private String cloudFunctionUrl = "";

    /**
     * 可选：鉴权请求头名，如 X-Api-Secret
     */
    private String authHeaderName = "";

    /**
     * 可选：鉴权请求头值
     */
    private String authHeaderValue = "";

    /**
     * 连接超时毫秒
     */
    private int connectTimeoutMs = 5000;

    /**
     * 读超时毫秒
     */
    private int readTimeoutMs = 10000;
}
