Commit 0972fc3
authored
feat: 애플 회원탈퇴 구현 완료 (#76)
* [BOOK-181] refactor: apis - dto 클래스 도메인 역할에 맞게 재배치
* [BOOK-181] refactor: apis - domain의 역할에 맞게 api 이동
* [BOOK-181] refactor: apis - 애플 및 카카오 로그인 전략 리팩토링
* [BOOK-181] feat: apis - 회원 탈퇴 전략을 위한 관련 클래스 추가
* [BOOK-181] fix: infra - RefreshTokenEntity 클래스 네이밍 수정
* [BOOK-181] refactor: apis - AuthTokenService의 메서드 네이밍 및 유효성 검사 어노테이션 수정
* [BOOK-181] feat: apis - 회원 탈퇴 요청을 위한 관련 클래스 추가
* [BOOK-181] fix: apis - valid 어노테이션 위치 수정
* [BOOK-181] chore: domain - 리프레쉬토큰 도메인 서비스 이름 변경
* [BOOK-181] fix: apis - 트랜잭션 경계 분리로 외부 API 호출 안전성 개선
- AuthUseCase.withdraw()에서 @transactional 제거하여 외부 API 호출을 트랜잭션 밖으로 분리
- UserWithdrawalService.processWithdrawal()에 @transactional 추가하여 DB 작업을 별도 트랜잭션으로 격리
- UserSignInService 추가로 로그인 시 사용자 생성 로직 분리
- 외부 API 호출 실패 시 DB 롤백 문제 해결
- 단방향 의존성 auth → user 유지
변경 사항:
- AuthUseCase.withdraw(): 트랜잭션 제거, 외부 API 호출 후 UserWithdrawalService 호출
- UserWithdrawalService: 토큰 삭제와 사용자 삭제를 하나의 트랜잭션에서 처리
- UserSignInService: 로그인 시 사용자 생성 로직 분리
* [BOOK-181] fix: apis - 로그인 시 외부 호출로 인한 트랜잭션 문제 해결
- signIn 로직에서 외부 API 호출과 DB 트랜잭션의 경계를 분리했습니다.
- AuthUseCase.signIn()은 트랜잭션 없이 외부 API 호출 및 흐름 제어만 담당하도록 수정했습니다.
- 실제 DB 작업은 UserSignInService.processSignIn()이라는 별도의 트랜잭션 메서드로 격리하여 처리합니다.
- 외부 API 지연이 DB 커넥션 풀에 영향을 주던 잠재적인 성능 문제를 해결하고, 로그인 프로세스의 안정성을 확보했습니다.
* [BOOK-181] fix: apis - 먼저 사용자 탈퇴 처리 후, 성공 시에만 토큰 삭제하도록 수정
* [BOOK-181] fix: apis - 로그인 프로세스의 트랜잭션 경계 분리 및 안정성 강화1 parent 5a7528d commit 0972fc3
File tree
49 files changed
+629
-202
lines changed- apis/src/main/kotlin/org/yapp/apis
- auth
- controller
- dto/request
- exception
- manager
- service
- strategy
- signin
- withdraw
- usecase
- book
- dto/request
- service
- usecase
- readingrecord/usecase
- seed/usecase
- user
- controller
- dto
- request
- response
- service
- usecase
- domain/src/main/kotlin/org/yapp/domain
- token
- user
- vo
- infra/src/main/kotlin/org/yapp/infra
- external
- oauth/apple
- redis/entity
- user/repository/impl
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
49 files changed
+629
-202
lines changedLines changed: 7 additions & 14 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
5 | 5 | | |
6 | 6 | | |
7 | 7 | | |
8 | | - | |
9 | 8 | | |
| 9 | + | |
10 | 10 | | |
11 | | - | |
12 | 11 | | |
13 | 12 | | |
14 | 13 | | |
| |||
36 | 35 | | |
37 | 36 | | |
38 | 37 | | |
39 | | - | |
40 | | - | |
41 | | - | |
42 | | - | |
43 | | - | |
44 | | - | |
45 | | - | |
46 | | - | |
| 38 | + | |
| 39 | + | |
47 | 40 | | |
48 | | - | |
49 | | - | |
50 | | - | |
51 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
52 | 45 | | |
53 | 46 | | |
Lines changed: 15 additions & 31 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | | - | |
15 | 14 | | |
16 | 15 | | |
17 | | - | |
18 | 16 | | |
| 17 | + | |
19 | 18 | | |
20 | | - | |
21 | 19 | | |
22 | 20 | | |
23 | 21 | | |
| |||
90 | 88 | | |
91 | 89 | | |
92 | 90 | | |
93 | | - | |
94 | | - | |
95 | | - | |
96 | | - | |
97 | | - | |
98 | | - | |
99 | | - | |
100 | | - | |
101 | | - | |
102 | | - | |
103 | | - | |
104 | | - | |
105 | | - | |
106 | | - | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
107 | 94 | | |
108 | | - | |
109 | | - | |
110 | | - | |
111 | | - | |
112 | 95 | | |
113 | 96 | | |
| 97 | + | |
114 | 98 | | |
115 | | - | |
116 | | - | |
117 | | - | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
118 | 102 | | |
119 | 103 | | |
120 | | - | |
121 | | - | |
| 104 | + | |
| 105 | + | |
122 | 106 | | |
123 | 107 | | |
124 | 108 | | |
125 | 109 | | |
126 | | - | |
127 | | - | |
| 110 | + | |
| 111 | + | |
128 | 112 | | |
129 | | - | |
130 | | - | |
| 113 | + | |
| 114 | + | |
131 | 115 | | |
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
| 5 | + | |
| 6 | + | |
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
| |||
Lines changed: 2 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
7 | | - | |
| 6 | + | |
| 7 | + | |
8 | 8 | | |
9 | 9 | | |
10 | 10 | | |
| |||
Lines changed: 8 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
6 | | - | |
7 | | - | |
8 | 5 | | |
9 | 6 | | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
59 | 62 | | |
60 | 63 | | |
61 | 64 | | |
| |||
Lines changed: 22 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
Lines changed: 45 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
Lines changed: 2 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
| 24 | + | |
23 | 25 | | |
24 | 26 | | |
25 | 27 | | |
| |||
Lines changed: 19 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
38 | 57 | | |
Lines changed: 6 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | 2 | | |
3 | | - | |
4 | 3 | | |
5 | 4 | | |
6 | | - | |
7 | 5 | | |
8 | 6 | | |
9 | 7 | | |
10 | | - | |
| 8 | + | |
11 | 9 | | |
12 | 10 | | |
13 | 11 | | |
14 | 12 | | |
15 | 13 | | |
16 | | - | |
17 | 14 | | |
18 | | - | |
19 | | - | |
20 | | - | |
| 15 | + | |
| 16 | + | |
21 | 17 | | |
22 | | - | |
23 | | - | |
| 18 | + | |
| 19 | + | |
24 | 20 | | |
25 | | - | |
26 | | - | |
| 21 | + | |
27 | 22 | | |
28 | 23 | | |
0 commit comments