package me.zhyd.oauth.enums.scope;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
/**
* 微博平台 OAuth 授权范围
*
* @author yadong.zhang (yadong.zhang0415(a)gmail.com)
* @version 1.0.0
* @since 1.0.0
*/
@Getter
@AllArgsConstructor
public enum AuthWeiboScope implements AuthScope {
/**
* {@code scope} 含义,以{@code description} 为准
*/
ALL("all", "获取所有权限", true),
EMAIL("email", "用户的联系邮箱,接口文档", false),
DIRECT_MESSAGES_WRITE("direct_messages_write", "私信发送接口,接口文档", false),
DIRECT_MESSAGES_READ("direct_messages_read", "私信读取接口,接口文档", false),
INVITATION_WRITE("invitation_write", "邀请发送接口,接口文档", false),
FRIENDSHIPS_GROUPS_READ("friendships_groups_read", "好友分组读取接口组,接口文档", false),
FRIENDSHIPS_GROUPS_WRITE("friendships_groups_write", "好友分组写入接口组,接口文档", false),
STATUSES_TO_ME_READ("statuses_to_me_read", "定向微博读取接口组,接口文档", false),
FOLLOW_APP_OFFICIAL_MICROBLOG("follow_app_official_microblog", "关注应用官方微博,该参数不对应具体接口,只需在应用控制台填写官方帐号即可。填写的路径:我的应用-选择自己的应用-应用信息-基本信息-官方运营账号(默认值是应用开发者帐号)", false);
private String scope;
private String description;
private boolean isDefault;
public static List getDefaultScopes() {
AuthWeiboScope[] scopes = AuthWeiboScope.values();
List defaultScopes = new ArrayList<>();
for (AuthWeiboScope scope : scopes) {
if (scope.isDefault()) {
defaultScopes.add(scope);
}
}
return defaultScopes;
}
public static List listScope() {
return Arrays.stream(AuthWeiboScope.values()).map(AuthWeiboScope::getScope).collect(Collectors.toList());
}
}