package com.njcn.msgpush.module.push.controller.admin.channel.vo;

import com.njcn.msgpush.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

@Data
@Schema(description = "管理后台 - 渠道服务商配置 Request VO")
public class ChannelProviderConfigReqVO extends PageParam {
    @Schema(description = "渠道类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "sms/email/app_push")
    private String channel;

    @Schema(description = "服务商名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "中国电信/阿里云/UniPush")
    private String providerName;

    @Schema(description = "服务商类型", requiredMode = Schema.RequiredMode.REQUIRED, example = "telecom/cmcc/aliyun/twilio/unipush")
    private String providerType;

    @Schema(description = "API地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://api.example.com")
    private String apiUrl;

    @Schema(description = "AppKey", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
    private String appKey;

    @Schema(description = "AppSecret", requiredMode = Schema.RequiredMode.REQUIRED, example = "123456")
    private String appSecret;

    @Schema(description = "额外配置（JSON格式）", requiredMode = Schema.RequiredMode.REQUIRED, example = "{}")
    private String extraConfig;

    @Schema(description = "优先级（数字越小优先级越高）", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer priority;
}
