diff --git a/api/pom.xml b/api/pom.xml
index 48eec790..599e4c0c 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -59,6 +59,12 @@
mapstruct
${org.mapstruct.version}
+
+
+ dev.jianmu
+ oauth2
+ 2.5.1
+
diff --git a/api/src/main/java/dev/jianmu/api/controller/OAuth2Controller.java b/api/src/main/java/dev/jianmu/api/controller/OAuth2Controller.java
index 187db2cf..4e416be1 100644
--- a/api/src/main/java/dev/jianmu/api/controller/OAuth2Controller.java
+++ b/api/src/main/java/dev/jianmu/api/controller/OAuth2Controller.java
@@ -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 userOptional = this.userRepository.findById(userInfoVo.getId());
- User user;
+ String userId = userInfoVo.getId();
+ Optional 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();
}
diff --git a/api/src/main/java/dev/jianmu/api/dto/AuthorizationUrlGettingDto.java b/api/src/main/java/dev/jianmu/api/dto/AuthorizationUrlGettingDto.java
index 57d62d0c..7dab4403 100644
--- a/api/src/main/java/dev/jianmu/api/dto/AuthorizationUrlGettingDto.java
+++ b/api/src/main/java/dev/jianmu/api/dto/AuthorizationUrlGettingDto.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/dto/Oauth2LoggingDto.java b/api/src/main/java/dev/jianmu/api/dto/Oauth2LoggingDto.java
index eb462c2d..48b8c2ee 100644
--- a/api/src/main/java/dev/jianmu/api/dto/Oauth2LoggingDto.java
+++ b/api/src/main/java/dev/jianmu/api/dto/Oauth2LoggingDto.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/jwt/JwtAuthTokenFilter.java b/api/src/main/java/dev/jianmu/api/jwt/JwtAuthTokenFilter.java
index 42895808..d7c38f99 100644
--- a/api/src/main/java/dev/jianmu/api/jwt/JwtAuthTokenFilter.java
+++ b/api/src/main/java/dev/jianmu/api/jwt/JwtAuthTokenFilter.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/jwt/JwtUserDetailsService.java b/api/src/main/java/dev/jianmu/api/jwt/JwtUserDetailsService.java
index 971acc72..4c3e67fe 100644
--- a/api/src/main/java/dev/jianmu/api/jwt/JwtUserDetailsService.java
+++ b/api/src/main/java/dev/jianmu/api/jwt/JwtUserDetailsService.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/jwt/UserContextHolder.java b/api/src/main/java/dev/jianmu/api/jwt/UserContextHolder.java
index 4456e87d..f852de99 100644
--- a/api/src/main/java/dev/jianmu/api/jwt/UserContextHolder.java
+++ b/api/src/main/java/dev/jianmu/api/jwt/UserContextHolder.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/RepoMembersVo.java b/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/RepoMembersVo.java
deleted file mode 100644
index c7b694a1..00000000
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/RepoMembersVo.java
+++ /dev/null
@@ -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;
- }
-}
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/RepoVo.java b/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/RepoVo.java
deleted file mode 100644
index a8071023..00000000
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/RepoVo.java
+++ /dev/null
@@ -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;
- }
-}
diff --git a/api/src/main/java/dev/jianmu/api/vo/ThirdPartyTypeVo.java b/api/src/main/java/dev/jianmu/api/vo/ThirdPartyTypeVo.java
index 22b0c7d3..cbfa31f0 100644
--- a/api/src/main/java/dev/jianmu/api/vo/ThirdPartyTypeVo.java
+++ b/api/src/main/java/dev/jianmu/api/vo/ThirdPartyTypeVo.java
@@ -20,4 +20,10 @@ public class ThirdPartyTypeVo {
*/
@Schema(required = true)
private String thirdPartyType;
+
+ /**
+ * gitRepoEntry
+ */
+ @Schema(required = true)
+ private boolean entry;
}
\ No newline at end of file
diff --git a/infrastructure/src/main/java/dev/jianmu/infrastructure/mapper/user/UserMapper.java b/infrastructure/src/main/java/dev/jianmu/infrastructure/mapper/user/UserMapper.java
index 733504e8..e6c66ead 100644
--- a/infrastructure/src/main/java/dev/jianmu/infrastructure/mapper/user/UserMapper.java
+++ b/infrastructure/src/main/java/dev/jianmu/infrastructure/mapper/user/UserMapper.java
@@ -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);
}
diff --git a/infrastructure/src/main/java/dev/jianmu/infrastructure/mybatis/user/UserRepositoryImpl.java b/infrastructure/src/main/java/dev/jianmu/infrastructure/mybatis/user/UserRepositoryImpl.java
index 8f6d72a6..294d61f5 100644
--- a/infrastructure/src/main/java/dev/jianmu/infrastructure/mybatis/user/UserRepositoryImpl.java
+++ b/infrastructure/src/main/java/dev/jianmu/infrastructure/mybatis/user/UserRepositoryImpl.java
@@ -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 findByUsername(String username) {
if (!username.equals(this.jwtProperties.getAdminUser())) {
diff --git a/oauth2/pom.xml b/oauth2/pom.xml
new file mode 100644
index 00000000..c0f5200c
--- /dev/null
+++ b/oauth2/pom.xml
@@ -0,0 +1,27 @@
+
+
+
+ main
+ dev.jianmu
+ 2.5.1
+
+ 4.0.0
+
+ oauth2
+
+
+ 11
+ 11
+
+
+
+
+ dev.jianmu
+ infrastructure
+ 2.5.1
+
+
+
+
\ No newline at end of file
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/OAuth2Api.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/OAuth2Api.java
similarity index 70%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/OAuth2Api.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/OAuth2Api.java
index 61399649..643fb79f 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/OAuth2Api.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/OAuth2Api.java
@@ -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);
/**
* 获取用户信息
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/config/GiteeConfigProperties.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/config/GiteeConfigProperties.java
similarity index 86%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/config/GiteeConfigProperties.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/config/GiteeConfigProperties.java
index 55437f94..d9af6ee1 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/config/GiteeConfigProperties.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/config/GiteeConfigProperties.java
@@ -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;
}
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/config/GitlinkConfigProperties.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/config/GitlinkConfigProperties.java
similarity index 87%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/config/GitlinkConfigProperties.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/config/GitlinkConfigProperties.java
index c173ca85..66e18a19 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/config/GitlinkConfigProperties.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/config/GitlinkConfigProperties.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/config/OAuth2Properties.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/config/OAuth2Properties.java
similarity index 84%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/config/OAuth2Properties.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/config/OAuth2Properties.java
index 0c29922b..63505d4d 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/config/OAuth2Properties.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/config/OAuth2Properties.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/enumeration/ErrorCodeEnum.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/enumeration/ErrorCodeEnum.java
similarity index 93%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/enumeration/ErrorCodeEnum.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/enumeration/ErrorCodeEnum.java
index 5bc96090..b9e15780 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/enumeration/ErrorCodeEnum.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/enumeration/ErrorCodeEnum.java
@@ -1,4 +1,4 @@
-package dev.jianmu.api.oauth2_api.enumeration;
+package dev.jianmu.oauth2.api.enumeration;
import lombok.Getter;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/enumeration/ThirdPartyTypeEnum.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/enumeration/ThirdPartyTypeEnum.java
similarity index 78%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/enumeration/ThirdPartyTypeEnum.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/enumeration/ThirdPartyTypeEnum.java
index 30d5ac07..e4791090 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/enumeration/ThirdPartyTypeEnum.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/enumeration/ThirdPartyTypeEnum.java
@@ -1,4 +1,4 @@
-package dev.jianmu.api.oauth2_api.enumeration;
+package dev.jianmu.oauth2.api.enumeration;
/**
* @author huangxi
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/AccessTokenDoesNotExistException.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/AccessTokenDoesNotExistException.java
similarity index 76%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/exception/AccessTokenDoesNotExistException.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/exception/AccessTokenDoesNotExistException.java
index d3766f82..70442b0d 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/AccessTokenDoesNotExistException.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/AccessTokenDoesNotExistException.java
@@ -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
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/BaseBusinessException.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/BaseBusinessException.java
similarity index 82%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/exception/BaseBusinessException.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/exception/BaseBusinessException.java
index 01d407a3..db36c3c1 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/BaseBusinessException.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/BaseBusinessException.java
@@ -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
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/GetTokenRequestParameterErrorException.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/GetTokenRequestParameterErrorException.java
similarity index 77%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/exception/GetTokenRequestParameterErrorException.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/exception/GetTokenRequestParameterErrorException.java
index 57dab7a0..80933dd2 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/GetTokenRequestParameterErrorException.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/GetTokenRequestParameterErrorException.java
@@ -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
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/JsonParseException.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/JsonParseException.java
similarity index 72%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/exception/JsonParseException.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/exception/JsonParseException.java
index 3d2dc456..757cf730 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/JsonParseException.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/JsonParseException.java
@@ -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
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/NoPermissionException.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/NoPermissionException.java
similarity index 73%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/exception/NoPermissionException.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/exception/NoPermissionException.java
index fd283764..7b1b482b 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/NoPermissionException.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/NoPermissionException.java
@@ -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
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/NotSupportedThirdPartPlatformException.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/NotSupportedThirdPartPlatformException.java
similarity index 77%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/exception/NotSupportedThirdPartPlatformException.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/exception/NotSupportedThirdPartPlatformException.java
index 34324460..9ef9bfa2 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/NotSupportedThirdPartPlatformException.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/NotSupportedThirdPartPlatformException.java
@@ -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
diff --git a/application/src/main/java/dev/jianmu/application/exception/OAuth2MustHaveOneException.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/OAuth2MustHaveOneException.java
similarity index 87%
rename from application/src/main/java/dev/jianmu/application/exception/OAuth2MustHaveOneException.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/exception/OAuth2MustHaveOneException.java
index 47f803e2..416416a9 100644
--- a/application/src/main/java/dev/jianmu/application/exception/OAuth2MustHaveOneException.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/OAuth2MustHaveOneException.java
@@ -1,4 +1,4 @@
-package dev.jianmu.application.exception;
+package dev.jianmu.oauth2.api.exception;
/**
* @author huangxi
diff --git a/application/src/main/java/dev/jianmu/application/exception/OAuth2OnlyHaveOneException.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/OAuth2OnlyHaveOneException.java
similarity index 88%
rename from application/src/main/java/dev/jianmu/application/exception/OAuth2OnlyHaveOneException.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/exception/OAuth2OnlyHaveOneException.java
index ae860487..300ad8d6 100644
--- a/application/src/main/java/dev/jianmu/application/exception/OAuth2OnlyHaveOneException.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/OAuth2OnlyHaveOneException.java
@@ -1,4 +1,4 @@
-package dev.jianmu.application.exception;
+package dev.jianmu.oauth2.api.exception;
/**
* @author huangxi
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/UnKnownException.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/UnKnownException.java
similarity index 72%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/exception/UnKnownException.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/exception/UnKnownException.java
index 560692fd..c068e463 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/exception/UnKnownException.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/exception/UnKnownException.java
@@ -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
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/GitlinkApi.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/GitlinkApi.java
similarity index 90%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/impl/GitlinkApi.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/impl/GitlinkApi.java
index e2993a4f..b362b5a9 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/GitlinkApi.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/GitlinkApi.java
@@ -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> 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 userInfoEntity;
try {
@@ -136,7 +136,7 @@ public class GitlinkApi implements OAuth2Api {
ResponseEntity 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 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 responseEntity;
try {
responseEntity = this.restTemplate.exchange(
- this.oAuth2Properties.getGitlink().getBaseUrl() +
- "api/" + gitRepoOwner + "/" + gitRepo +
+ this.oAuth2Properties.getGitlink().getApiUrl()
+ + gitRepoOwner + "/" + gitRepo +
"/branches.json",
HttpMethod.GET,
entity,
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/OAuth2ApiProxy.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/OAuth2ApiProxy.java
similarity index 76%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/impl/OAuth2ApiProxy.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/impl/OAuth2ApiProxy.java
index 5fed6465..32538ae3 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/OAuth2ApiProxy.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/OAuth2ApiProxy.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/dto/gitee/LoggingDto.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/dto/gitee/LoggingDto.java
similarity index 88%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/impl/dto/gitee/LoggingDto.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/impl/dto/gitee/LoggingDto.java
index dfbcaf58..f28a5c6a 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/dto/gitee/LoggingDto.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/dto/gitee/LoggingDto.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/dto/gitlink/LoggingDto.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/dto/gitlink/LoggingDto.java
similarity index 88%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/impl/dto/gitlink/LoggingDto.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/impl/dto/gitlink/LoggingDto.java
index fbdf5599..e4785060 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/dto/gitlink/LoggingDto.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/dto/gitlink/LoggingDto.java
@@ -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;
diff --git a/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/BranchesVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/BranchesVo.java
new file mode 100644
index 00000000..f1e8b949
--- /dev/null
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/BranchesVo.java
@@ -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 branches;
+
+ @Override
+ public List getBranchNames() {
+ List 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;
+ }
+}
\ No newline at end of file
diff --git a/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/RepoMembersVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/RepoMembersVo.java
new file mode 100644
index 00000000..92bbeeed
--- /dev/null
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/RepoMembersVo.java
@@ -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;
+ }
+}
diff --git a/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/RepoVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/RepoVo.java
new file mode 100644
index 00000000..a7335d93
--- /dev/null
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/RepoVo.java
@@ -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;
+ }
+}
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/TokenVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/TokenVo.java
similarity index 88%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/TokenVo.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/TokenVo.java
index 3ee7665a..1f2404fa 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/TokenVo.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/TokenVo.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/UserInfoVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/UserInfoVo.java
similarity index 92%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/UserInfoVo.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/UserInfoVo.java
index 55f76f6d..398401ba 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitee/UserInfoVo.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitee/UserInfoVo.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/BranchesVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/BranchesVo.java
similarity index 88%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/BranchesVo.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/BranchesVo.java
index 69b6118c..e654b873 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/BranchesVo.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/BranchesVo.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/RepoMembersVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/RepoMembersVo.java
similarity index 92%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/RepoMembersVo.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/RepoMembersVo.java
index 8b22135d..73a41f35 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/RepoMembersVo.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/RepoMembersVo.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/RepoVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/RepoVo.java
similarity index 96%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/RepoVo.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/RepoVo.java
index 57049b8e..80ba6bae 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/RepoVo.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/RepoVo.java
@@ -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.*;
/**
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/TokenVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/TokenVo.java
similarity index 88%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/TokenVo.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/TokenVo.java
index 4c6d0ca8..c4e90c4d 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/TokenVo.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/TokenVo.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/UserInfoVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/UserInfoVo.java
similarity index 70%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/UserInfoVo.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/UserInfoVo.java
index e1c4facb..e5d55f9e 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/impl/vo/gitlink/UserInfoVo.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/impl/vo/gitlink/UserInfoVo.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/utils/ApplicationContextUtils.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/utils/ApplicationContextUtils.java
similarity index 96%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/utils/ApplicationContextUtils.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/utils/ApplicationContextUtils.java
index ab195192..cb7f8735 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/utils/ApplicationContextUtils.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/utils/ApplicationContextUtils.java
@@ -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;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/vo/IBranchesVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IBranchesVo.java
similarity index 70%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/vo/IBranchesVo.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IBranchesVo.java
index 1960534d..d40260f0 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/vo/IBranchesVo.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IBranchesVo.java
@@ -1,4 +1,4 @@
-package dev.jianmu.api.oauth2_api.vo;
+package dev.jianmu.oauth2.api.vo;
import java.util.List;
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/vo/IRepoMemberVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IRepoMemberVo.java
similarity index 56%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/vo/IRepoMemberVo.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IRepoMemberVo.java
index 231d8ed5..baf3f9ba 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/vo/IRepoMemberVo.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IRepoMemberVo.java
@@ -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
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/vo/IRepoVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IRepoVo.java
similarity index 85%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/vo/IRepoVo.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IRepoVo.java
index 718a6c6c..b48e4f0a 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/vo/IRepoVo.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IRepoVo.java
@@ -1,4 +1,4 @@
-package dev.jianmu.api.oauth2_api.vo;
+package dev.jianmu.oauth2.api.vo;
/**
* @author huangxi
diff --git a/api/src/main/java/dev/jianmu/api/oauth2_api/vo/IUserInfoVo.java b/oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IUserInfoVo.java
similarity index 86%
rename from api/src/main/java/dev/jianmu/api/oauth2_api/vo/IUserInfoVo.java
rename to oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IUserInfoVo.java
index 3ea3af4e..61abbd08 100644
--- a/api/src/main/java/dev/jianmu/api/oauth2_api/vo/IUserInfoVo.java
+++ b/oauth2/src/main/java/dev/jianmu/oauth2/api/vo/IUserInfoVo.java
@@ -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
diff --git a/pom.xml b/pom.xml
index 8ba7c332..5a5a456d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,6 +23,7 @@
workflow-core
el
git-repo-core
+ oauth2
diff --git a/user-core/src/main/java/dev/jianmu/user/repository/UserRepository.java b/user-core/src/main/java/dev/jianmu/user/repository/UserRepository.java
index 165cc87d..ebbabce5 100644
--- a/user-core/src/main/java/dev/jianmu/user/repository/UserRepository.java
+++ b/user-core/src/main/java/dev/jianmu/user/repository/UserRepository.java
@@ -14,6 +14,8 @@ import java.util.Optional;
public interface UserRepository {
void add(User user);
+ void update(User user);
+
Optional findByUsername(String username);
Optional findById(String id);