package com.malk.pro.tenant;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

/**
 * 单个 vendor（钉钉/宜搭/北森/...）的授权凭据
 *
 * <p>属于某个 {@link TenantProfile} 的 vendorCredentials Map 的 value。</p>
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class VendorCredential {

    /** 平台标识：dingtalk / aliwork / beisen / ... */
    private String vendor;

    /** 应用 appKey */
    private String appKey;

    /** 应用 appSecret（内存明文保留；日志脱敏） */
    private String appSecret;

    /** 企业 corpId（钉钉需要；其他 vendor 按需） */
    private String corpId;

    /** 其他扩展字段（如 agentId、systemToken 等），JSON 解析后放入 */
    private Map<String, Object> extra;
}
