package com.jsowell.pile.vo.agentDev;

import com.alibaba.fastjson2.annotation.JSONField;
import com.jsowell.pile.domain.agentDev.PermissionInfo;
import lombok.Data;

import java.util.List;

/**
 * 用户授权信息实体
 *
 * @author Lemon
 * @Date 2023/7/29 9:18
 */
@Data
public class AuthInfoVO {
    /**
     * 授权方 appid
     */
    @JSONField(name = "authorizer_appid")
    private String authorizerAppid;

    /**
     * 接口调用令牌
     */
    @JSONField(name = "authorizer_access_token")
    private String authorizerAccessToken;

    /**
     * authorizer_access_token 的有效期, 单位：秒
     */
    @JSONField(name = "expires_in")
    private Integer expiredTime;

    /**
     * 刷新令牌
     * 刷新令牌主要用于第三方平台获取和刷新已授权用户的 authorizer_access_token。
     * 一旦丢失，只能让用户重新授权，才能再次拿到新的刷新令牌。用户重新授权后，之前的刷新令牌会失效
     */
    @JSONField(name = "authorizer_refresh_token")
    private String authorizerRefreshToken;

    /**
     * 授权给开发者的权限集列表
     */
    @JSONField(name = "func_info")
    private List<PermissionInfo> permissionInfoList;
}
