forked from jianmu-dev/jianmu-ci-server
feat: gitee api更新完成,oauth2模块拆分完成
This commit is contained in:
parent
ee5abfca81
commit
2ab6ebbd20
|
|
@ -59,6 +59,12 @@
|
|||
<artifactId>mapstruct</artifactId>
|
||||
<version>${org.mapstruct.version}</version>
|
||||
</dependency>
|
||||
<!--oauth2依赖-->
|
||||
<dependency>
|
||||
<groupId>dev.jianmu</groupId>
|
||||
<artifactId>oauth2</artifactId>
|
||||
<version>2.5.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
|||
|
|
@ -5,20 +5,19 @@ import dev.jianmu.api.dto.JwtResponse;
|
|||
import dev.jianmu.api.dto.Oauth2LoggingDto;
|
||||
import dev.jianmu.api.jwt.JwtProvider;
|
||||
import dev.jianmu.api.jwt.JwtSession;
|
||||
import dev.jianmu.api.oauth2_api.OAuth2Api;
|
||||
import dev.jianmu.api.oauth2_api.config.OAuth2Properties;
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ThirdPartyTypeEnum;
|
||||
import dev.jianmu.api.oauth2_api.exception.NoPermissionException;
|
||||
import dev.jianmu.api.oauth2_api.impl.OAuth2ApiProxy;
|
||||
import dev.jianmu.api.oauth2_api.vo.IBranchesVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoMemberVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IUserInfoVo;
|
||||
import dev.jianmu.api.util.JsonUtil;
|
||||
import dev.jianmu.api.vo.AuthorizationUrlVo;
|
||||
import dev.jianmu.api.vo.ThirdPartyTypeVo;
|
||||
import dev.jianmu.application.exception.*;
|
||||
import dev.jianmu.infrastructure.jwt.JwtProperties;
|
||||
import dev.jianmu.oauth2.api.OAuth2Api;
|
||||
import dev.jianmu.oauth2.api.config.OAuth2Properties;
|
||||
import dev.jianmu.oauth2.api.enumeration.ThirdPartyTypeEnum;
|
||||
import dev.jianmu.oauth2.api.exception.NoPermissionException;
|
||||
import dev.jianmu.oauth2.api.impl.OAuth2ApiProxy;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoMemberVo;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoVo;
|
||||
import dev.jianmu.oauth2.api.vo.IUserInfoVo;
|
||||
import dev.jianmu.user.aggregate.User;
|
||||
import dev.jianmu.user.repository.UserRepository;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
|
|
@ -35,7 +34,6 @@ import org.springframework.web.bind.annotation.RequestMapping;
|
|||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import javax.validation.Valid;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
|
|
@ -113,19 +111,19 @@ public class OAuth2Controller {
|
|||
);
|
||||
}
|
||||
|
||||
Optional<User> userOptional = this.userRepository.findById(userInfoVo.getId());
|
||||
User user;
|
||||
String userId = userInfoVo.getId();
|
||||
Optional<User> userOptional = this.userRepository.findById(userId);
|
||||
User user = User.Builder.aReference()
|
||||
.data(userInfoVo.getData())
|
||||
.id(userId)
|
||||
.avatarUrl(userInfoVo.getAvatarUrl())
|
||||
.username(userInfoVo.getUsername())
|
||||
.nickname(userInfoVo.getNickname())
|
||||
.build();
|
||||
if (userOptional.isEmpty()) {
|
||||
user = User.Builder.aReference()
|
||||
.data(userInfoVo.getData())
|
||||
.id(userInfoVo.getId())
|
||||
.avatarUrl(userInfoVo.getAvatarUrl())
|
||||
.username(userInfoVo.getUsername())
|
||||
.nickname(userInfoVo.getNickname())
|
||||
.build();
|
||||
this.userRepository.add(user);
|
||||
} else {
|
||||
user = userOptional.get();
|
||||
this.userRepository.update(user);
|
||||
}
|
||||
|
||||
Authentication authentication = this.authenticationManager.authenticate(
|
||||
|
|
@ -166,6 +164,7 @@ public class OAuth2Controller {
|
|||
public ThirdPartyTypeVo getThirdPartyType() {
|
||||
return ThirdPartyTypeVo.builder()
|
||||
.thirdPartyType(this.oAuth2Properties.getThirdPartyType())
|
||||
.entry(this.oAuth2Properties.isEntry())
|
||||
.build();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package dev.jianmu.api.dto;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ThirdPartyTypeEnum;
|
||||
import dev.jianmu.oauth2.api.enumeration.ThirdPartyTypeEnum;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
package dev.jianmu.api.dto;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ThirdPartyTypeEnum;
|
||||
import dev.jianmu.oauth2.api.enumeration.ThirdPartyTypeEnum;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
package dev.jianmu.api.jwt;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.config.OAuth2Properties;
|
||||
import dev.jianmu.api.util.JsonUtil;
|
||||
import dev.jianmu.infrastructure.jwt.JwtProperties;
|
||||
import dev.jianmu.user.aggregate.User;
|
||||
import dev.jianmu.oauth2.api.config.OAuth2Properties;
|
||||
import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
|
||||
import org.springframework.security.core.context.SecurityContextHolder;
|
||||
import org.springframework.security.web.authentication.WebAuthenticationDetailsSource;
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
package dev.jianmu.api.jwt;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.config.OAuth2Properties;
|
||||
import dev.jianmu.api.util.JsonUtil;
|
||||
import dev.jianmu.infrastructure.jwt.JwtProperties;
|
||||
import dev.jianmu.user.aggregate.User;
|
||||
import dev.jianmu.oauth2.api.config.OAuth2Properties;
|
||||
import org.springframework.security.core.userdetails.UserDetails;
|
||||
import org.springframework.security.core.userdetails.UserDetailsService;
|
||||
import org.springframework.security.core.userdetails.UsernameNotFoundException;
|
||||
|
|
|
|||
|
|
@ -2,8 +2,8 @@ package dev.jianmu.api.jwt;
|
|||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import dev.jianmu.api.oauth2_api.exception.JsonParseException;
|
||||
import dev.jianmu.infrastructure.jwt.JwtProperties;
|
||||
import dev.jianmu.oauth2.api.exception.JsonParseException;
|
||||
import io.jsonwebtoken.Jwts;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
|
|
|
|||
|
|
@ -1,26 +0,0 @@
|
|||
package dev.jianmu.api.oauth2_api.impl.vo.gitee;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoMemberVo;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
* @class RepoMembersVo
|
||||
* @description RepoMembersVo
|
||||
* @create 2022-07-07 15:40
|
||||
*/
|
||||
public class RepoMembersVo implements IRepoMemberVo {
|
||||
@Override
|
||||
public String getUsername() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOwner() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAdmin() {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
package dev.jianmu.api.oauth2_api.impl.vo.gitee;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoVo;
|
||||
import lombok.*;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
* @class GiteeRepoVo
|
||||
* @description GiteeRepoVo
|
||||
* @create 2022-07-06 15:15
|
||||
*/
|
||||
public class RepoVo implements IRepoVo {
|
||||
@Override
|
||||
public String getId() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwner() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRepo() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDefaultBranch() {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
@ -20,4 +20,10 @@ public class ThirdPartyTypeVo {
|
|||
*/
|
||||
@Schema(required = true)
|
||||
private String thirdPartyType;
|
||||
|
||||
/**
|
||||
* gitRepoEntry
|
||||
*/
|
||||
@Schema(required = true)
|
||||
private boolean entry;
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ import dev.jianmu.user.aggregate.User;
|
|||
import org.apache.ibatis.annotations.Insert;
|
||||
import org.apache.ibatis.annotations.Result;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
import org.apache.ibatis.annotations.Update;
|
||||
|
||||
import java.util.Optional;
|
||||
|
||||
|
|
@ -25,4 +26,7 @@ public interface UserMapper {
|
|||
@Insert("insert into user(id, avatar_url, nickname, data, username) " +
|
||||
"values(#{id}, #{avatarUrl}, #{nickname}, #{data}, #{username})")
|
||||
void add(User user);
|
||||
|
||||
@Update("update user set avatar_url = #{avatarUrl}, nickname = #{nickname}, data = #{data}, username = #{username} where id = #{id}")
|
||||
void update(User user);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,6 +33,11 @@ public class UserRepositoryImpl implements UserRepository {
|
|||
this.userMapper.add(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void update(User user) {
|
||||
this.userMapper.update(user);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Optional<User> findByUsername(String username) {
|
||||
if (!username.equals(this.jwtProperties.getAdminUser())) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,27 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||
<parent>
|
||||
<artifactId>main</artifactId>
|
||||
<groupId>dev.jianmu</groupId>
|
||||
<version>2.5.1</version>
|
||||
</parent>
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
|
||||
<artifactId>oauth2</artifactId>
|
||||
|
||||
<properties>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
</properties>
|
||||
|
||||
<dependencies>
|
||||
<dependency>
|
||||
<groupId>dev.jianmu</groupId>
|
||||
<artifactId>infrastructure</artifactId>
|
||||
<version>2.5.1</version>
|
||||
</dependency>
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package dev.jianmu.api.oauth2_api;
|
||||
package dev.jianmu.oauth2.api;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.vo.IBranchesVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoMemberVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IUserInfoVo;
|
||||
import dev.jianmu.oauth2.api.vo.IBranchesVo;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoMemberVo;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoVo;
|
||||
import dev.jianmu.oauth2.api.vo.IUserInfoVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -28,20 +28,7 @@ public interface OAuth2Api {
|
|||
* @param code
|
||||
* @return
|
||||
*/
|
||||
default String getAccessToken(String code) {
|
||||
return this.getAccessToken(code, null);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取accessToken
|
||||
*
|
||||
* @param code
|
||||
* @return
|
||||
*/
|
||||
default String getAccessToken(String code, String redirectUri) {
|
||||
return null;
|
||||
}
|
||||
|
||||
String getAccessToken(String code, String redirectUri);
|
||||
|
||||
/**
|
||||
* 获取用户信息
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jianmu.api.oauth2_api.config;
|
||||
package dev.jianmu.oauth2.api.config;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
|
@ -19,7 +19,7 @@ public class GiteeConfigProperties {
|
|||
private String tokenUrl;
|
||||
private String codeUrl;
|
||||
private String responseType;
|
||||
private String userInfoUrl;
|
||||
private String apiUrl;
|
||||
private String grantType;
|
||||
private String scope;
|
||||
}
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jianmu.api.oauth2_api.config;
|
||||
package dev.jianmu.oauth2.api.config;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
|
@ -17,7 +17,7 @@ public class GitlinkConfigProperties {
|
|||
private String clientSecret;
|
||||
private String clientId;
|
||||
private String tokenUrl;
|
||||
private String userInfoUrl;
|
||||
private String apiUrl;
|
||||
private String grantType;
|
||||
private String baseUrl;
|
||||
private String username;
|
||||
|
|
@ -1,13 +1,11 @@
|
|||
package dev.jianmu.api.oauth2_api.config;
|
||||
package dev.jianmu.oauth2.api.config;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ThirdPartyTypeEnum;
|
||||
import dev.jianmu.application.exception.OAuth2MustHaveOneException;
|
||||
import dev.jianmu.application.exception.OAuth2OnlyHaveOneException;
|
||||
import dev.jianmu.oauth2.api.enumeration.ThirdPartyTypeEnum;
|
||||
import dev.jianmu.oauth2.api.exception.OAuth2MustHaveOneException;
|
||||
import dev.jianmu.oauth2.api.exception.OAuth2OnlyHaveOneException;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.springframework.beans.factory.InitializingBean;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||
import org.springframework.boot.context.properties.ConfigurationProperties;
|
||||
import org.springframework.context.EnvironmentAware;
|
||||
import org.springframework.core.env.Environment;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jianmu.api.oauth2_api.enumeration;
|
||||
package dev.jianmu.oauth2.api.enumeration;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jianmu.api.oauth2_api.enumeration;
|
||||
package dev.jianmu.oauth2.api.enumeration;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package dev.jianmu.api.oauth2_api.exception;
|
||||
package dev.jianmu.oauth2.api.exception;
|
||||
|
||||
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ErrorCodeEnum;
|
||||
import dev.jianmu.oauth2.api.enumeration.ErrorCodeEnum;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package dev.jianmu.api.oauth2_api.exception;
|
||||
package dev.jianmu.oauth2.api.exception;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ErrorCodeEnum;
|
||||
import dev.jianmu.oauth2.api.enumeration.ErrorCodeEnum;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package dev.jianmu.api.oauth2_api.exception;
|
||||
package dev.jianmu.oauth2.api.exception;
|
||||
|
||||
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ErrorCodeEnum;
|
||||
import dev.jianmu.oauth2.api.enumeration.ErrorCodeEnum;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
package dev.jianmu.api.oauth2_api.exception;
|
||||
package dev.jianmu.oauth2.api.exception;
|
||||
|
||||
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ErrorCodeEnum;
|
||||
import dev.jianmu.oauth2.api.enumeration.ErrorCodeEnum;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package dev.jianmu.api.oauth2_api.exception;
|
||||
package dev.jianmu.oauth2.api.exception;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ErrorCodeEnum;
|
||||
import dev.jianmu.oauth2.api.enumeration.ErrorCodeEnum;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package dev.jianmu.api.oauth2_api.exception;
|
||||
package dev.jianmu.oauth2.api.exception;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ErrorCodeEnum;
|
||||
import dev.jianmu.oauth2.api.enumeration.ErrorCodeEnum;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jianmu.application.exception;
|
||||
package dev.jianmu.oauth2.api.exception;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jianmu.application.exception;
|
||||
package dev.jianmu.oauth2.api.exception;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package dev.jianmu.api.oauth2_api.exception;
|
||||
package dev.jianmu.oauth2.api.exception;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ErrorCodeEnum;
|
||||
import dev.jianmu.oauth2.api.enumeration.ErrorCodeEnum;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,17 +1,17 @@
|
|||
package dev.jianmu.api.oauth2_api.impl;
|
||||
package dev.jianmu.oauth2.api.impl;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import dev.jianmu.api.oauth2_api.OAuth2Api;
|
||||
import dev.jianmu.api.oauth2_api.config.OAuth2Properties;
|
||||
import dev.jianmu.api.oauth2_api.exception.*;
|
||||
import dev.jianmu.api.oauth2_api.impl.dto.gitlink.LoggingDto;
|
||||
import dev.jianmu.api.oauth2_api.impl.vo.gitlink.*;
|
||||
import dev.jianmu.api.oauth2_api.vo.IBranchesVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoMemberVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IUserInfoVo;
|
||||
import dev.jianmu.oauth2.api.OAuth2Api;
|
||||
import dev.jianmu.oauth2.api.config.OAuth2Properties;
|
||||
import dev.jianmu.oauth2.api.impl.dto.gitlink.LoggingDto;
|
||||
import dev.jianmu.oauth2.api.impl.vo.gitlink.*;
|
||||
import dev.jianmu.oauth2.api.vo.IBranchesVo;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoMemberVo;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoVo;
|
||||
import dev.jianmu.oauth2.api.vo.IUserInfoVo;
|
||||
import dev.jianmu.oauth2.api.exception.*;
|
||||
import org.springframework.http.*;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.MultiValueMap;
|
||||
|
|
@ -98,7 +98,7 @@ public class GitlinkApi implements OAuth2Api {
|
|||
headers.add("Authorization", "Bearer");
|
||||
HttpEntity<MultiValueMap<String, Object>> param = new HttpEntity<>(headers);
|
||||
|
||||
String userTokenInfoUrl = this.oAuth2Properties.getGitlink().getUserInfoUrl() + "?access_token=" + token;
|
||||
String userTokenInfoUrl = this.oAuth2Properties.getGitlink().getApiUrl() + "users/me.json" + "?access_token=" + token;
|
||||
|
||||
ResponseEntity<String> userInfoEntity;
|
||||
try {
|
||||
|
|
@ -136,7 +136,7 @@ public class GitlinkApi implements OAuth2Api {
|
|||
ResponseEntity<String> responseEntity;
|
||||
try {
|
||||
responseEntity = this.restTemplate.exchange(
|
||||
this.oAuth2Properties.getGitlink().getBaseUrl() + "api/" + gitRepoOwner + "/" + gitRepo + "/detail",
|
||||
this.oAuth2Properties.getGitlink().getApiUrl() + gitRepoOwner + "/" + gitRepo + "/detail",
|
||||
HttpMethod.GET,
|
||||
entity,
|
||||
String.class);
|
||||
|
|
@ -173,8 +173,8 @@ public class GitlinkApi implements OAuth2Api {
|
|||
ResponseEntity<String> responseEntity;
|
||||
try {
|
||||
responseEntity = this.restTemplate.exchange(
|
||||
this.oAuth2Properties.getGitlink().getBaseUrl() +
|
||||
"api/" + gitRepoOwner + "/" + gitRepo +
|
||||
this.oAuth2Properties.getGitlink().getApiUrl()
|
||||
+ gitRepoOwner + "/" + gitRepo +
|
||||
"/collaborators.json?page=1&limit=1000",
|
||||
HttpMethod.GET,
|
||||
entity,
|
||||
|
|
@ -212,8 +212,8 @@ public class GitlinkApi implements OAuth2Api {
|
|||
ResponseEntity<String> responseEntity;
|
||||
try {
|
||||
responseEntity = this.restTemplate.exchange(
|
||||
this.oAuth2Properties.getGitlink().getBaseUrl() +
|
||||
"api/" + gitRepoOwner + "/" + gitRepo +
|
||||
this.oAuth2Properties.getGitlink().getApiUrl()
|
||||
+ gitRepoOwner + "/" + gitRepo +
|
||||
"/branches.json",
|
||||
HttpMethod.GET,
|
||||
entity,
|
||||
|
|
@ -1,13 +1,13 @@
|
|||
package dev.jianmu.api.oauth2_api.impl;
|
||||
package dev.jianmu.oauth2.api.impl;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.OAuth2Api;
|
||||
import dev.jianmu.api.oauth2_api.enumeration.ThirdPartyTypeEnum;
|
||||
import dev.jianmu.api.oauth2_api.exception.NotSupportedThirdPartPlatformException;
|
||||
import dev.jianmu.api.oauth2_api.utils.ApplicationContextUtils;
|
||||
import dev.jianmu.api.oauth2_api.vo.IBranchesVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoMemberVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoVo;
|
||||
import dev.jianmu.api.oauth2_api.vo.IUserInfoVo;
|
||||
import dev.jianmu.oauth2.api.OAuth2Api;
|
||||
import dev.jianmu.oauth2.api.enumeration.ThirdPartyTypeEnum;
|
||||
import dev.jianmu.oauth2.api.exception.NotSupportedThirdPartPlatformException;
|
||||
import dev.jianmu.oauth2.api.utils.ApplicationContextUtils;
|
||||
import dev.jianmu.oauth2.api.vo.IBranchesVo;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoMemberVo;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoVo;
|
||||
import dev.jianmu.oauth2.api.vo.IUserInfoVo;
|
||||
import lombok.Builder;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jianmu.api.oauth2_api.impl.dto.gitee;
|
||||
package dev.jianmu.oauth2.api.impl.dto.gitee;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jianmu.api.oauth2_api.impl.dto.gitlink;
|
||||
package dev.jianmu.oauth2.api.impl.dto.gitlink;
|
||||
|
||||
import lombok.Builder;
|
||||
import lombok.Getter;
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
package dev.jianmu.oauth2.api.impl.vo.gitee;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import dev.jianmu.oauth2.api.vo.IBranchesVo;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
* @class BranchesVo
|
||||
* @description BranchesVo
|
||||
* @create 2022-07-08 16:54
|
||||
*/
|
||||
@Builder
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class BranchesVo implements IBranchesVo {
|
||||
private List<Branch> branches;
|
||||
|
||||
@Override
|
||||
public List<String> getBranchNames() {
|
||||
List<String> branchNames = new ArrayList<>();
|
||||
for (Branch branch : this.branches) {
|
||||
branchNames.add(branch.getName());
|
||||
}
|
||||
return branchNames;
|
||||
}
|
||||
|
||||
@Getter
|
||||
@Setter
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public static class Branch {
|
||||
private String name;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,47 @@
|
|||
package dev.jianmu.oauth2.api.impl.vo.gitee;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoMemberVo;
|
||||
import lombok.*;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
* @class RepoMembersVo
|
||||
* @description RepoMembersVo
|
||||
* @create 2022-07-07 15:40
|
||||
*/
|
||||
@Builder
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class RepoMembersVo implements IRepoMemberVo {
|
||||
private String login;
|
||||
private String owner;
|
||||
private Permissions permissions;
|
||||
|
||||
@Override
|
||||
public String getUsername() {
|
||||
return this.login;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isOwner() {
|
||||
return this.login.equals(this.owner);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isAdmin() {
|
||||
return this.permissions.isAdmin();
|
||||
}
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public static class Permissions {
|
||||
private boolean admin;
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
package dev.jianmu.oauth2.api.impl.vo.gitee;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoVo;
|
||||
import lombok.*;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
* @class GiteeRepoVo
|
||||
* @description GiteeRepoVo
|
||||
* @create 2022-07-06 15:15
|
||||
*/
|
||||
@Builder
|
||||
@Getter
|
||||
@Setter
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@JsonIgnoreProperties(ignoreUnknown = true)
|
||||
public class RepoVo implements IRepoVo {
|
||||
@JsonProperty("id")
|
||||
private long _id;
|
||||
@JsonProperty("full_name")
|
||||
private String fullName;
|
||||
@JsonProperty("default_branch")
|
||||
private String _defaultBranch;
|
||||
|
||||
@Override
|
||||
@JsonIgnore
|
||||
public String getId() {
|
||||
return String.valueOf(this._id);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getOwner() {
|
||||
return this.fullName.split("/")[0];
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getRepo() {
|
||||
return this.fullName.split("/")[1];
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getDefaultBranch() {
|
||||
return this._defaultBranch;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
package dev.jianmu.api.oauth2_api.impl.vo.gitee;
|
||||
package dev.jianmu.oauth2.api.impl.vo.gitee;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
|
@ -1,11 +1,11 @@
|
|||
package dev.jianmu.api.oauth2_api.impl.vo.gitee;
|
||||
package dev.jianmu.oauth2.api.impl.vo.gitee;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import dev.jianmu.api.oauth2_api.exception.JsonParseException;
|
||||
import dev.jianmu.api.oauth2_api.vo.IUserInfoVo;
|
||||
import dev.jianmu.oauth2.api.exception.JsonParseException;
|
||||
import dev.jianmu.oauth2.api.vo.IUserInfoVo;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
package dev.jianmu.api.oauth2_api.impl.vo.gitlink;
|
||||
package dev.jianmu.oauth2.api.impl.vo.gitlink;
|
||||
|
||||
import dev.jianmu.api.oauth2_api.vo.IBranchesVo;
|
||||
import dev.jianmu.oauth2.api.vo.IBranchesVo;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package dev.jianmu.api.oauth2_api.impl.vo.gitlink;
|
||||
package dev.jianmu.oauth2.api.impl.vo.gitlink;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoMemberVo;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoMemberVo;
|
||||
import lombok.*;
|
||||
|
||||
import java.util.List;
|
||||
|
|
@ -1,8 +1,8 @@
|
|||
package dev.jianmu.api.oauth2_api.impl.vo.gitlink;
|
||||
package dev.jianmu.oauth2.api.impl.vo.gitlink;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import dev.jianmu.api.oauth2_api.vo.IRepoVo;
|
||||
import dev.jianmu.oauth2.api.vo.IRepoVo;
|
||||
import lombok.*;
|
||||
|
||||
/**
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
|
||||
package dev.jianmu.api.oauth2_api.impl.vo.gitlink;
|
||||
package dev.jianmu.oauth2.api.impl.vo.gitlink;
|
||||
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
|
@ -1,13 +1,10 @@
|
|||
package dev.jianmu.api.oauth2_api.impl.vo.gitlink;
|
||||
package dev.jianmu.oauth2.api.impl.vo.gitlink;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import dev.jianmu.api.oauth2_api.config.OAuth2Properties;
|
||||
import dev.jianmu.api.oauth2_api.exception.JsonParseException;
|
||||
import dev.jianmu.api.oauth2_api.utils.ApplicationContextUtils;
|
||||
import dev.jianmu.api.oauth2_api.vo.IUserInfoVo;
|
||||
import dev.jianmu.oauth2.api.config.OAuth2Properties;
|
||||
import dev.jianmu.oauth2.api.utils.ApplicationContextUtils;
|
||||
import dev.jianmu.oauth2.api.vo.IUserInfoVo;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jianmu.api.oauth2_api.utils;
|
||||
package dev.jianmu.oauth2.api.utils;
|
||||
|
||||
import org.springframework.beans.BeansException;
|
||||
import org.springframework.context.ApplicationContext;
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jianmu.api.oauth2_api.vo;
|
||||
package dev.jianmu.oauth2.api.vo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
|
|
@ -1,7 +1,4 @@
|
|||
package dev.jianmu.api.oauth2_api.vo;
|
||||
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
import dev.jianmu.api.oauth2_api.impl.vo.gitlink.RepoMembersVo;
|
||||
package dev.jianmu.oauth2.api.vo;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
package dev.jianmu.api.oauth2_api.vo;
|
||||
package dev.jianmu.oauth2.api.vo;
|
||||
|
||||
/**
|
||||
* @author huangxi
|
||||
|
|
@ -1,9 +1,9 @@
|
|||
package dev.jianmu.api.oauth2_api.vo;
|
||||
package dev.jianmu.oauth2.api.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import dev.jianmu.api.oauth2_api.exception.JsonParseException;
|
||||
import dev.jianmu.oauth2.api.exception.JsonParseException;
|
||||
|
||||
public interface IUserInfoVo {
|
||||
@JsonIgnore
|
||||
1
pom.xml
1
pom.xml
|
|
@ -23,6 +23,7 @@
|
|||
<module>workflow-core</module>
|
||||
<module>el</module>
|
||||
<module>git-repo-core</module>
|
||||
<module>oauth2</module>
|
||||
</modules>
|
||||
|
||||
<properties>
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ import java.util.Optional;
|
|||
public interface UserRepository {
|
||||
void add(User user);
|
||||
|
||||
void update(User user);
|
||||
|
||||
Optional<User> findByUsername(String username);
|
||||
|
||||
Optional<User> findById(String id);
|
||||
|
|
|
|||
Loading…
Reference in New Issue