package com.njcn.msgpush.framework.common.biz.system.oauth2.dto;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;

@Schema(description = "RPC service - OAuth2 access token check response")
@Data
public class OAuth2AccessTokenCheckRespDTO implements Serializable {

    @Schema(description = "User id", requiredMode = Schema.RequiredMode.REQUIRED, example = "10")
    private Long userId;

    @Schema(description = "User type", requiredMode = Schema.RequiredMode.REQUIRED, example = "1")
    private Integer userType;

    @Schema(description = "User info", example = "{\"nickname\": \"msgpush\"}")
    private Map<String, String> userInfo;

    @Schema(description = "Scopes", example = "user_info")
    private List<String> scopes;

    @Schema(description = "Expire time", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime expiresTime;

}
