Skip to content

Commit

Permalink
[feat] #13 회원정보 dto 생성
Browse files Browse the repository at this point in the history
  • Loading branch information
Hyobeen-Park committed May 28, 2024
1 parent 1bb35c2 commit c8853ca
Show file tree
Hide file tree
Showing 9 changed files with 44 additions and 26 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,14 @@ package com.sopt.now.data.datasource

import com.sopt.now.data.model.request.RequestLoginDto
import com.sopt.now.data.model.request.RequestSignupDto
import com.sopt.now.data.model.response.ResponseUserInfoDto
import com.sopt.now.util.BaseResponse
import com.sopt.now.util.NullableBaseResponse

interface AuthRemoteDataSource {
suspend fun signUp(requestSignupDto: RequestSignupDto): NullableBaseResponse<Unit>

suspend fun login(requestLoginDto: RequestLoginDto): String?

suspend fun getUserInfo(memberId: String): BaseResponse<ResponseUserInfoDto>
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import com.sopt.now.data.ServicePool
import com.sopt.now.data.datasource.AuthRemoteDataSource
import com.sopt.now.data.model.request.RequestLoginDto
import com.sopt.now.data.model.request.RequestSignupDto
import com.sopt.now.data.model.response.ResponseUserInfoDto
import com.sopt.now.util.BaseResponse
import com.sopt.now.util.NullableBaseResponse

class AuthRemoteDataSourceImpl : AuthRemoteDataSource {
Expand All @@ -15,6 +17,9 @@ class AuthRemoteDataSourceImpl : AuthRemoteDataSource {
override suspend fun login(requestLoginDto: RequestLoginDto): String? =
authService.login(requestLoginDto).headers()[LOCATION]

override suspend fun getUserInfo(memberId: String): BaseResponse<ResponseUserInfoDto> =
authService.getUserInfo(memberId = memberId)

companion object {
const val LOCATION = "location"
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.sopt.now.data.mapper

import com.sopt.now.R
import com.sopt.now.data.model.response.ResponseUserInfoDto
import com.sopt.now.domain.model.User

fun ResponseUserInfoDto.toUserModel() =
User(
profileImage = R.drawable.ic_person_white_24,
id = this.authenticationId,
nickname = this.nickname,
phone = this.phone,
)

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,6 @@ import kotlinx.serialization.Serializable

@Serializable
data class ResponseUserInfoDto(
@SerialName("code")
val code: Int,
@SerialName("message")
val message: String,
@SerialName("data")
val data: ResponseUserInfoDataDto,
)

@Serializable
data class ResponseUserInfoDataDto(
@SerialName("authenticationId")
val authenticationId: String,
@SerialName("nickname")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package com.sopt.now.data.repository

import com.sopt.now.data.datasource.AuthRemoteDataSource
import com.sopt.now.data.mapper.toUserModel
import com.sopt.now.data.model.request.RequestLoginDto
import com.sopt.now.data.model.request.RequestSignupDto
import com.sopt.now.domain.model.User
import com.sopt.now.domain.repository.AuthRepository

class AuthRepositoryImpl(
Expand All @@ -17,4 +19,9 @@ class AuthRepositoryImpl(
runCatching {
authRemoteDataSource.login(requestLoginDto = requestLoginDto)?.toInt()
}

override suspend fun getUserInfo(memberId: String): Result<User> =
runCatching {
authRemoteDataSource.getUserInfo(memberId = memberId).data.toUserModel()
}
}
7 changes: 3 additions & 4 deletions app/src/main/java/com/sopt/now/data/service/AuthService.kt
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ package com.sopt.now.data.service

import com.sopt.now.data.model.request.RequestLoginDto
import com.sopt.now.data.model.request.RequestSignupDto
import com.sopt.now.data.model.response.ResponseSignupDto
import com.sopt.now.data.model.response.ResponseUserInfoDto
import com.sopt.now.util.BaseResponse
import com.sopt.now.util.NullableBaseResponse
Expand All @@ -25,7 +24,7 @@ interface AuthService {
): Response<NullableBaseResponse<Unit>>

@GET("member/info")
fun getUserInfo(
@Header("memberId") userId: String,
): Call<ResponseUserInfoDto>
suspend fun getUserInfo(
@Header("memberId") memberId: String,
): BaseResponse<ResponseUserInfoDto>
}
10 changes: 10 additions & 0 deletions app/src/main/java/com/sopt/now/domain/model/User.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.sopt.now.domain.model

import androidx.annotation.DrawableRes

data class User(
@DrawableRes val profileImage :Int,
val id : String,
val nickname : String,
val phone : String
)
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,12 @@ package com.sopt.now.domain.repository

import com.sopt.now.data.model.request.RequestLoginDto
import com.sopt.now.data.model.request.RequestSignupDto
import com.sopt.now.domain.model.User

interface AuthRepository {
suspend fun signUp(requestSignupDto: RequestSignupDto): Result<Unit>

suspend fun login(requestLoginDto: RequestLoginDto): Result<Int?>

suspend fun getUserInfo(memberId: String): Result<User>
}

0 comments on commit c8853ca

Please sign in to comment.