APP-iOS3rd / PJ3T2_Mymory

멋쟁이사자처럼 iOS 앱스쿨 3기 팀 프로젝트
11 stars 3 forks source link

[Refactoring]: 기존의 회원탈퇴 로직에서 회원의 프로필 사진을 Storage에서 삭제하는 코드를 추가하였습니다. #227

Closed Seobe95 closed 9 months ago

Seobe95 commented 9 months ago

PR 가이드라인

PR Checklist

PR 날릴 때 체크 리스트

PR Type

어떤 종류의 PR인가요?

연관되는 issue 정보를 알려주세요

Issue Number: #211 #212

PR 설명하기

기존의 회원탈퇴 로직에서 회원의 프로필 사진을 Storage에서 삭제하는 코드를 추가하였습니다.

어떻게 작동하나요? code 기반으로 설명해주세요

    func removeUserProfileImage(uid: String) async -> Result<Bool, ProfileEditErrorType> {
        let userRef = COLLECTION_USERS.document(uid)
        let storageRef = storage.reference()
        var deleteImageURL: String?

        do {
            let user = try await userRef.getDocument()
            if user.exists {
                deleteImageURL = user["profilePicture"] as? String
            }

            if let deleteImage = deleteImageURL, !deleteImage.isEmpty {
                let deleteImageRef = storageRef.child("profile_images/\(deleteImage.getProfileImageUID())")
                do {
                    try await deleteImageRef.delete()
                    return .success(true)
                } catch {
                    return .failure(.deleteUserProfileImage)
                }
            }
            // 삭제할 이미지가 없는 경우(프로필 사진을 설정하지 않았던 경우)
            return .success(true)
        } catch {
            return .failure(.deleteUserProfileImage)
        }
    }

가능하다면 추가해주세요

변경 사항 스크린샷 혹은 화면 녹화

스크린샷

Test 여부

Test 정보

//예시
let testDatas: [TestData] = [.init(...),...]

기타 언급해야 할 사항들