-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Feature/inyeob step2 #13
Open
inshining
wants to merge
35
commits into
inyeob
Choose a base branch
from
feature/inyeob_step2
base: inyeob
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
SQLite DB 를 추가하였음. DB Config 생성하였고, sqlite properties를 생성하여서 둘 config 파일이 이를 따르게 하였다.
도메인 패키지와 엔티티 패키지 생성 created, modified 를 공통적으로 사용할 수 있게 BaseTimeEntity 생성 유저 엔티티 생성
spring security 를 이용해서 회원 가입을 구현하였다. 회원 가입을 하기 위해서 username(아이디), password, name이 필요하다.
org.xerial:sqlite-jdbc의 버전을 3.7.2에서 3.40.1로 업그레이드
이후 하드코딩을 막기 위해 jwt 설정을 properties로 옮겼음
기존 유저 존재 여부 확인 후에 생성 로직으로 변경
관련 레코드도 생성
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
STEP2 기능 구현
follower, following
현재 기술 명세에서 친구 요청을 수락할 필요없이 바로 친구로 추가 기능을 요구합니다. 추후 수락 기능을 염두 해두고 follower, following 으로 친구 관계를 설정하였습니다.
친구 추가 기능
현재 로그인한 유저 정보는 controller에서 ''Principal''으로 받아서 service 레이어로 넘겼습니다. 인가 과정에서 현재 유저 정보를 알고 있다는 점을 활용했습니다.
현재 유저를 "follower"로 상정하고, 추가하고자 하는 친구를 "following"으로 정의하였습니다.
다음 3가지 예외 케이스를 고려하였습니다.
친구 조회 기능
follower, following 구조이기 때문에 친구 조회하기 위해서 한명 유저를 기준으로 follower, following 두 가지 케이슬 모두 고려해야 했습니다.
서로 following을 할 수 있기 때문에 SET을 이용해서 중복된 경우의 수를 제거하고자 했습니다.