feat(auth): 인증 후 콘텐츠 설정과 개발용 모의 인증을 추가한다

This commit is contained in:
Yu Sung
2026-10-13 11:37:03 +09:00
parent e34a51b411
commit 61bfa46c11
20 changed files with 1203 additions and 181 deletions
@@ -13,8 +13,18 @@ import Moya
final class AuthRepository {
private let api = MoyaProvider<AuthApi>()
func authCertificate(receiptId: String) -> AnyPublisher<Response, MoyaError> {
return api.requestPublisher(.auth(request: AuthVerifyRequest(receiptId: receiptId)))
func authCertificate(request: AuthVerifyRequest) -> AnyPublisher<Response, MoyaError> {
#if AUTH_VERIFICATION_MOCK
let requestToken = UserDefaults.string(forKey: .token)
guard let data = AuthVerificationMock.shared.confirm(request: request, requestToken: requestToken) else {
return Fail(error: MoyaError.statusCode(Response(statusCode: 401, data: Data())))
.eraseToAnyPublisher()
}
return Just(Response(statusCode: 200, data: data))
.setFailureType(to: MoyaError.self)
.eraseToAnyPublisher()
#else
return api.requestPublisher(.auth(request: request))
#endif
}
}
@@ -9,8 +9,12 @@ import Foundation
struct AuthVerifyRequest: Encodable {
let receiptId: String
let isAdultContentVisible: Bool
let contentType: ContentType
enum CodingKeys : String, CodingKey {
case receiptId = "receipt_id"
case isAdultContentVisible
case contentType
}
}