Skip to content

Commit

Permalink
feat: 엑세스 코드 생성 전략 수정 (#670) (#671)
Browse files Browse the repository at this point in the history
  • Loading branch information
koust6u authored Sep 26, 2024
1 parent e0181d3 commit 4321009
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 19 deletions.
8 changes: 7 additions & 1 deletion .github/workflows/be_cd-production.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,10 @@ jobs:
CLIENT_SECRET=${{ secrets.CLIENT_SECRET }}
CLIENT_REDIRECT_URI=${{ secrets.CLIENT_REDIRECT_URI }}
JWT_KEY=${{ secrets.JWT_KEY}}
# INSTANCE NAME
INSTANCE_NAME=${{ secrets.INSTANCE_A_NAME }}
# Server App
SERVER_BINDING_PORT=${{ secrets.PRODUCTION_SERVER_BINDING_PORT }}
SERVER_LOGS_PATH=${{ secrets.SERVER_LOGS_PATH }}
Expand Down Expand Up @@ -149,6 +152,9 @@ jobs:
CLIENT_SECRET=${{ secrets.CLIENT_SECRET }}
CLIENT_REDIRECT_URI=${{ secrets.CLIENT_REDIRECT_URI }}
JWT_KEY=${{ secrets.JWT_KEY}}
# INSTANCE NAME
INSTANCE_NAME=${{ secrets.INSTANCE_A_NAME }}
# Server App
SERVER_BINDING_PORT=${{ secrets.PRODUCTION_SERVER_BINDING_PORT }}
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/be_cd-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,10 @@ jobs:
CLIENT_SECRET=${{ secrets.TEST_CLIENT_SECRET }}
CLIENT_REDIRECT_URI=${{ secrets.TEST_CLIENT_REDIRECT_URI }}
JWT_KEY=${{ secrets.JWT_KEY}}
# Sticky Synchronize
INSTANCE_NAME=${{ secrets.INSTANCE_A_NAME }}
# Server App
SERVER_BINDING_PORT=${{ secrets.SERVER_BINDING_PORT }}
SERVER_LOGS_PATH=${{ secrets.SERVER_LOGS_PATH }}
Expand Down
1 change: 1 addition & 0 deletions backend/be_app-docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ services:
OAUTH_GITHUB_CLIENT_SECRET: ${CLIENT_SECRET}
OAUTH_GITHUB_REDIRECT_URI: ${CLIENT_REDIRECT_URI}
JWT_SIGN_KEY: ${JWT_KEY}
EC2_PREFIX: ${INSTANCE_NAME}
restart: on-failure
networks:
- coduo_net
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,12 +39,8 @@ public ResponseEntity<PairRoomCreateResponse> createPairRoom(
@Valid @RequestBody final PairRoomCreateRequest request,
@CookieValue(value = SIGN_IN_COOKIE_NAME, required = false) final String token
) {
log.info("1. 일단 Pair Room 생성 POST 요청이 들어와서 Controller가 받았다.");
final String accessCode = pairRoomService.savePairRoom(request, token);
log.info("12. 페어룸 서비스 탈출!!!!");
final PairRoomCreateResponse response = new PairRoomCreateResponse(accessCode);

log.info("13. 최종 응답 보내기 시작!!");
return ResponseEntity.created(URI.create("/"))
.body(response);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,19 @@

import java.util.UUID;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;

@Component
public class UUIDAccessCodeGenerator {

private static final int ACCESS_CODE_LENGTH = 6;

public static String generate() {
return UUID.randomUUID()
@Value("${ec2.prefix}")
private String prefix;

public String generate() {
return prefix + UUID.randomUUID()
.toString()
.substring(0, ACCESS_CODE_LENGTH);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,29 +38,20 @@ public class PairRoomService {
private final TimerRepository timerRepository;
private final PairRoomMemberRepository pairRoomMemberRepository;
private final MemberService memberService;
private final UUIDAccessCodeGenerator uuidAccessCodeGenerator;

@Transactional
public String savePairRoom(final PairRoomCreateRequest request, @Nullable final String token) {
log.info("2. Service의 savePairRoom 메서드를 시작했다.");
log.info("3. Service의 createPairRoom 메서드 실행!");
final PairRoom pairRoom = createPairRoom(request);
log.info("4. Service의 createPairRoom 메서드 탈출!!");
log.info("5. 페어룸 리포지토리 시작!");
final PairRoomEntity pairRoomEntity = pairRoomRepository.save(PairRoomEntity.from(pairRoom));
log.info("6. 페어룸 리포지토리 끝!!");

final Timer timer = new Timer(pairRoom.getAccessCode(), request.timerDuration(), request.timerRemainingTime());
log.info("7. 타이머 리포지토리 시작!!");
timerRepository.save(new TimerEntity(timer, pairRoomEntity));

log.info("8. 토큰 널 체크 시작!!");
if (token != null) {
log.info("9. 리포지토리에서 크래덴셜로 멤버 조회");
final Member member = memberService.findMemberByCredential(token);
log.info("10. 페어룸 & 멤버 중간 테이블 save 저장!!");
pairRoomMemberRepository.save(new PairRoomMemberEntity(pairRoomEntity, member));
}
log.info("11. 페어룸 AccessToken 문자열 반환하면서 메서드 종료 시도");
return pairRoom.getAccessCodeText();
}

Expand All @@ -72,7 +63,7 @@ private PairRoom createPairRoom(final PairRoomCreateRequest request) {
}

private AccessCode generateAccessCode() {
final String generatedAccessCode = UUIDAccessCodeGenerator.generate();
final String generatedAccessCode = uuidAccessCodeGenerator.generate();
if (pairRoomRepository.existsByAccessCode(generatedAccessCode)) {
return generateAccessCode();
}
Expand Down
3 changes: 3 additions & 0 deletions backend/src/main/resources/application-prod.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,3 +51,6 @@ front:

jwt:
sign-key: ${JWT_KEY}

ec2:
prefix: ${INSTANCE_NAME}
3 changes: 3 additions & 0 deletions backend/src/main/resources/application-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,3 +49,6 @@ front:

jwt:
sign-key: ${JWT_KEY}

ec2:
prefix: ${INSTANCE_NAME}

0 comments on commit 4321009

Please sign in to comment.