Skip to content
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/#132 공유 #162

Merged
merged 12 commits into from
Jul 9, 2022
Merged

Feature/#132 공유 #162

merged 12 commits into from
Jul 9, 2022

Conversation

Ji-Ha
Copy link
Contributor

@Ji-Ha Ji-Ha commented Jul 7, 2022

개요

  • 북마크 설계 변경
  • 추가, 삭제, 이동, 리마인드 로직 변경
  • 기존 북마크를 이용하여 공유까지 가능하도록 수정.

작업사항

  • 공유 북마크를 테스트하다보니 기존에 북마크 안에 리마인드 요소를 넣어서 작업하는 게 훨씬 낫겠다는 생각이 들었습니다.

  • 북마크를 복사해서 사용하는 것보다는 리소스적으로도 괜찮을 거 같아서 조회와 리마인드 부분을 모두 수정하였습니다.

  • 다음으로는 북마크를 수정할 수 있는 권한을 AOP를 통하여 작업할 수 있도록 하려합니다.

  • 운영서버에 적용할 때, 모든 accountFolder에 authority 부분을 admin으로 수정 후 접근해야할 것!

Ji-Ha added 9 commits July 5, 2022 23:08
- BookmarkDto 모듈화
- code convention 수정
- 생성자 추가
- updateBookmark 메소드 추가
- deleteBookmark 메소드 추가
- changeFolderInfo 메소드 추가
- remindOff 메소드 추가
- remindOn 메소드 추가
- moveFolder 메소드 추가
- addBookmark, addBookmarkList 변경
- deleteBookmark 로직 수정
- Bookmark Entity에서 자신의 데이터를 수정할 수 있도록 변경(update, remind on/off, increaseBookmarkClickCount, move)
- Remind라는 클래스를 만들어서 공유에서도 사용할 수 있도록 작성
- Bookmark Entity에 존재하던 Dto들을 외부 모듈로 빼내었음.
- foider id가 존재하는 경우 북마크를 저장한다
- folder id가 존재하지 않는 경우 북마크를 저장한다
- 여러개의 북마크를 저장한다
- 북마크의 폴더 id가 존재하지 않아도, 북마크가 삭제된다
- 북마크의 폴더 id가 존재하여도, 북마크가 삭제된다
- 북마크의 제목과 설명을 변경한다
- 북마크들을 이동시킨다
- 북마크를 리마인드한다
- 북마크 리마인드를 해제한다
- remindList 내부에 존재하는 remind를 조회하는 repository 메소드 추가
- bookmark list 저장 API uri 수정
- remind on/off uri 수정
- 여러 북마크 이동 API swaager 추가
- remind가 이미 되어 있을 시에 예외처리
- alreadyExistRemindException 추가, 이에 따른 테스트 변경
- folderId를 통해 조회할 때, remind 조회 로직, 쿼리 변경
- userId로 조회할 때, 리마인드/전체 조회 로작, 쿼리 변경
- 오늘자 remind bookmark 조회 쿼리 변경
- 불필요한 data dto 클래스 제거
@Ji-Ha Ji-Ha requested a review from JuHyun419 July 7, 2022 06:37
@Ji-Ha Ji-Ha linked an issue Jul 7, 2022 that may be closed by this pull request
Ji-Ha added 2 commits July 7, 2022 15:59
- folder 암호화 로직 변경
- folderId를 암호화하는 jwt 메소드 추가
- AES256Util 제거
- folder 이름 뿐만아니라 Emoji도 제공되게끔 수정
Copy link
Member

@JuHyun419 JuHyun419 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

고생하셨습니다..!
음 뭔가 리뷰하려는데 설계나 요구사항이 정확히 기억나지가 않아 리뷰하는게 좀 힘들군요 ㅠㅠ
PR 올리신 부분중에 아래는 무슨 의미인걸까요?

  • 공유 북마크를 테스트하다보니 기존에 북마크 안에 리마인드 요소를 넣어서 작업하는 게 훨씬 낫겠다는 생각이 들었습니다.

@RequestParam(required = false) @ApiParam(value = "북마크가 저장될 폴더 ID", example = "12") folderId: Long?,
@ApiParam(value = "북마크 생성 리스트 정보") @RequestBody dto: BookmarkDto.AddBookmarkListDto
): ResponseEntity<String> {
println(folderId)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

요건 제거해도 될 것 같아요 ㅋㅋ

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

넵넵!

@PostMapping("/moveList")
fun moveBookmarkList(
@RequestBody moveBookmarkDto: Bookmark.MoveBookmarkDto
@RequestBody @ApiParam(value = "북마크 이동 정보", required = true) moveBookmarkDto: BookmarkDto.MoveBookmarkDto
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@ActiveProfiles("local")
@DataMongoTest
class MongoDBTest {
@Autowired
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

혹시 이 테스트들은 지환님 환경이 아닌 다른 환경에서 테스트해도 잘 작동이 될까요??

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

혹시 주현님하실 때는 잘 안되었나요??

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

엇 아뇨 저는 해본적이없어서 잘 모릅니당 ㅋㅋ

테스트라는게 환경에 상관없이 성공해야 좋은 테스트라고 생각을 해서요.

for (bookmark in bookmarkList) {
bookmark.folderId?.let {
folderRepository.findFolderById(it)
}?.run {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

run도 let과 비슷한 역할인가용??

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

맞습니다! 대신에 코틀린 자체에서 이걸 쓰면 좋을 것 같아~ 라고 하는 건 있더라구여..! 제가 정리한 게 있는데 한번 보시는 것도 괜찮을 거 같습니다!
https://velog.io/post-stats/93fce535-e2fd-4eef-af1a-2896db8bb37b

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

엇 위에 사이트 접속이 안되네용?? 모지 ㅋㅋ

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Ji-Ha Ji-Ha merged commit 435fded into develop Jul 9, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

북마크 공유 관련 기능 구현
2 participants