Skip to content

Commit 7f7289e

Browse files
committed
feat: 사용자가 로그아웃 (자동, 수동 포함) 되었을 경우 userdefaults에 저장된 데이터를 모두 삭제
1 parent 56f71da commit 7f7289e

3 files changed

Lines changed: 15 additions & 2 deletions

File tree

DevLog/App/Assembler/DataAssembler.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ final class DataAssembler: Assembler {
3333
}
3434

3535
container.register(AuthSessionRepository.self) {
36-
AuthSessionRepositoryImpl(authService: container.resolve(AuthService.self))
36+
AuthSessionRepositoryImpl(
37+
authService: container.resolve(AuthService.self),
38+
userDefaultsStore: container.resolve(UserDefaultsStore.self)
39+
)
3740
}
3841

3942
container.register(AuthDataRepository.self) {

DevLog/Data/Repository/AuthSessionRepositoryImpl.swift

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@ import Combine
99

1010
final class AuthSessionRepositoryImpl: AuthSessionRepository {
1111
private let authService: AuthService
12+
private let userDefaultsStore: UserDefaultsStore
1213

13-
init(authService: AuthService) {
14+
init(authService: AuthService, userDefaultsStore: UserDefaultsStore) {
1415
self.authService = authService
16+
self.userDefaultsStore = userDefaultsStore
1517
self.signIn = authService.uid != nil
1618
}
1719

@@ -22,6 +24,9 @@ final class AuthSessionRepositoryImpl: AuthSessionRepository {
2224
}
2325

2426
func setSession(_ signedIn: Bool) {
27+
if !signedIn {
28+
userDefaultsStore.removeAll()
29+
}
2530
self.signIn = signedIn
2631
}
2732
}

DevLog/Storage/Persistence/UserDefaultsStore.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,9 @@ final class UserDefaultsStore {
3737
func setBool(_ value: Bool, forKey key: String) {
3838
userDefaults.set(value, forKey: key)
3939
}
40+
41+
func removeAll() {
42+
guard let bundleIdentifier = Bundle.main.bundleIdentifier else { return }
43+
userDefaults.removePersistentDomain(forName: bundleIdentifier)
44+
}
4045
}

0 commit comments

Comments
 (0)