Skip to content

Commit

Permalink
Merge pull request #26 from hellokitty-coding-club/feature/fix-auth-d…
Browse files Browse the repository at this point in the history
…evicetoken-policy

Feature/fix auth devicetoken policy
  • Loading branch information
ray-yhc authored Aug 2, 2023
2 parents 67325cc + 3be5847 commit c805ec8
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ public class CommonUserData {
@NotNull
protected String nickName;

@NotNull
protected String deviceToken;

@NotNull
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,7 @@ private Member createAndSaveMember(CommonUserData request) {
validateSignUpRequest(request);
Member member = Member.from(request);
member.setRoles(Collections.singletonList(Authority.builder().name("ROLE_USER").build()));
memberRepository.eraseDeviceToken(request.getDeviceToken());
Member savedMember = memberRepository.save(member);
setTagListOfMember(member, request.getTagList());
updateRefreshToken(savedMember);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ public class Member extends BaseEntity {
@Column(nullable = false, unique = true)
private String refreshToken;

@Column(nullable = false)
@Column(nullable = true, unique = false)
private String deviceToken;

@Column(nullable = false)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,11 @@
package swm.hkcc.LGTM.app.modules.member.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;
import swm.hkcc.LGTM.app.modules.member.domain.Member;

import java.util.Optional;
Expand All @@ -13,4 +17,9 @@ public interface MemberRepository extends JpaRepository<Member, Long> {
Optional<Member> findByGithubOauthId(Integer githubOauthId);

boolean existsByNickName(String nickName);

@Modifying
@Transactional
@Query("UPDATE Member m SET m.deviceToken = NULL WHERE m.deviceToken = :token")
void eraseDeviceToken(@Param("token") String token);
}
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ void juniorSignup() throws Exception {
tableRow("githubId", "String", "Github 아이디"),
tableRow("githubOauthId", "Integer", "Github의 사용자 식별 번호. 해당 id 이용하여 LGTM의 서비스 이용자를 식별한다."),
tableRow("nickName", "String", "닉네임, 1자 이상 10자 이하, 클라이언트에서 trim()처리하여 보낸다, 동일한 닉네임이 있을 경우 400 에러 반환"),
tableRow("deviceToken", "String", "디바이스 토큰"),
tableRow("deviceToken", "String", "디바이스 토큰, 등록할 수 없는 경우, NULL로 보낸다"),
tableRow("profileImageUrl", "String", "프로필 이미지 URL"),
tableRow("introduction", "String", "나의 한줄 소개, 최대 500자, 클라이언트에서 trim()처리하여 보낸다"),
tableRow("agreeWithEventInfo", "boolean", "이벤트, 광고성 정보 안내 수신 여부"),
Expand All @@ -161,7 +161,7 @@ void juniorSignup() throws Exception {
fieldWithPath("githubId").type(JsonFieldType.STRING).description("Github 아이디"),
fieldWithPath("githubOauthId").type(JsonFieldType.NUMBER).description("Github Oauth ID"),
fieldWithPath("nickName").type(JsonFieldType.STRING).description("닉네임"),
fieldWithPath("deviceToken").type(JsonFieldType.STRING).description("디바이스 토큰"),
fieldWithPath("deviceToken").type(JsonFieldType.STRING).optional().description("디바이스 토큰"),
fieldWithPath("profileImageUrl").type(JsonFieldType.STRING).description("프로필 이미지 URL"),
fieldWithPath("agreeWithEventInfo").type(JsonFieldType.BOOLEAN).description("이벤트, 광고성 정보 안내 수신 여부"),
fieldWithPath("introduction").type(JsonFieldType.STRING).description("나의 한줄 소개"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ void seniorSignup() throws Exception {
tableRow("githubId", "String", "Github 아이디"),
tableRow("githubOauthId", "Integer", "Github의 사용자 식별 번호. 해당 id 이용하여 LGTM의 서비스 이용자를 식별한다."),
tableRow("nickName", "String", "닉네임, 1자 이상 10자 이하, 클라이언트에서 trim()처리하여 보낸다, 동일한 닉네임이 있을 경우 400 에러 반환"),
tableRow("deviceToken", "String", "디바이스 토큰"),
tableRow("deviceToken", "String", "디바이스 토큰, 등록할 수 없는 경우, NULL로 보낸다"),
tableRow("profileImageUrl", "String", "프로필 이미지 URL"),
tableRow("introduction", "String", "나의 한줄 소개, 최대 500자, 클라이언트에서 trim()처리하여 보낸다"),
tableRow("agreeWithEventInfo", "boolean", "이벤트, 광고성 정보 안내 수신 여부"),
Expand Down Expand Up @@ -177,7 +177,7 @@ void seniorSignup() throws Exception {
fieldWithPath("githubId").type(JsonFieldType.STRING).description("Github 아이디"),
fieldWithPath("githubOauthId").type(JsonFieldType.NUMBER).description("Github Oauth ID"),
fieldWithPath("nickName").type(JsonFieldType.STRING).description("닉네임"),
fieldWithPath("deviceToken").type(JsonFieldType.STRING).description("디바이스 토큰"),
fieldWithPath("deviceToken").type(JsonFieldType.STRING).optional().description("디바이스 토큰"),
fieldWithPath("profileImageUrl").type(JsonFieldType.STRING).description("프로필 이미지 URL"),
fieldWithPath("agreeWithEventInfo").type(JsonFieldType.BOOLEAN).description("이벤트, 광고성 정보 안내 수신 여부"),
fieldWithPath("introduction").type(JsonFieldType.STRING).description("자기소개"),
Expand Down

0 comments on commit c805ec8

Please sign in to comment.