Skip to content

Commit

Permalink
[Merge] #79 -> develop
Browse files Browse the repository at this point in the history
[Feat/#79] tendency test api 연결 및 UI 변경
  • Loading branch information
chattymin authored Jan 11, 2024
2 parents 7d67c4a + 4d67f1e commit 855add3
Show file tree
Hide file tree
Showing 42 changed files with 311 additions and 151 deletions.
6 changes: 6 additions & 0 deletions app/src/main/java/com/going/doorip/di/DataSourceModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,12 @@ package com.going.doorip.di
import com.going.data.datasource.AuthDataSource
import com.going.data.datasource.MockDataSource
import com.going.data.datasource.SettingDataSource
import com.going.data.datasource.TendencyDataSource
import com.going.data.datasource.TodoDataSource
import com.going.data.datasourceImpl.AuthDataSourceImpl
import com.going.data.datasourceImpl.MockDataSourceImpl
import com.going.data.datasourceImpl.SettingDataSourceImpl
import com.going.data.datasourceImpl.TendencyDataSourceImpl
import com.going.data.datasourceImpl.TodoDataSourceImpl
import dagger.Module
import dagger.Provides
Expand Down Expand Up @@ -38,4 +40,8 @@ object DataSourceModule {
fun provideTodoDataSource(todoDataSourceImpl: TodoDataSourceImpl): TodoDataSource =
todoDataSourceImpl

@Provides
@Singleton
fun provideTendencyDataSource(tendencyDataSourceImpl: TendencyDataSourceImpl): TendencyDataSource =
tendencyDataSourceImpl
}
6 changes: 6 additions & 0 deletions app/src/main/java/com/going/doorip/di/RepositoryModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,13 @@ package com.going.doorip.di
import com.going.data.repositoryImpl.AuthRepositoryImpl
import com.going.data.repositoryImpl.MockRepositoryImpl
import com.going.data.repositoryImpl.SettingRepositoryImpl
import com.going.data.repositoryImpl.TendencyRepositoryImpl
import com.going.data.repositoryImpl.TodoRepositoryImpl
import com.going.data.repositoryImpl.TokenRepositoryImpl
import com.going.domain.repository.AuthRepository
import com.going.domain.repository.MockRepository
import com.going.domain.repository.SettingRepository
import com.going.domain.repository.TendencyRepository
import com.going.domain.repository.TodoRepository
import com.going.domain.repository.TokenRepository
import dagger.Module
Expand Down Expand Up @@ -45,4 +47,8 @@ object RepositoryModule {
fun provideTodoRepository(todoRepositoryImpl: TodoRepositoryImpl): TodoRepository =
todoRepositoryImpl

@Provides
@Singleton
fun provideTendencyRepository(tendencyRepositoryImpl: TendencyRepositoryImpl): TendencyRepository =
tendencyRepositoryImpl
}
5 changes: 5 additions & 0 deletions app/src/main/java/com/going/doorip/di/ServiceModule.kt
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.going.doorip.di
import com.going.data.service.AuthService
import com.going.data.service.MockService
import com.going.data.service.SettingService
import com.going.data.service.TendencyService
import com.going.data.service.TodoService
import dagger.Module
import dagger.Provides
Expand Down Expand Up @@ -35,4 +36,8 @@ object ServiceModule {
fun provideTodoService(retrofit: Retrofit): TodoService =
retrofit.create(TodoService::class.java)

@Provides
@Singleton
fun provideTendencyService(retrofit: Retrofit): TendencyService =
retrofit.create(TendencyService::class.java)
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package com.going.ui.extension

enum class EnumUiState {
LOADING, SUCCESS, FAILURE
SUCCESS, FAILURE, LOADING, EMPTY
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
package com.going.data.datasource

import com.going.data.dto.NonDataBaseResponse
import com.going.data.dto.response.SignOutResponseDto

interface SettingDataSource {
suspend fun patchSignOut(): SignOutResponseDto
suspend fun patchSignOut(): NonDataBaseResponse

suspend fun deleteWithDraw(): NonDataBaseResponse<Unit>
suspend fun deleteWithDraw(): NonDataBaseResponse
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package com.going.data.datasource

import com.going.data.dto.NonDataBaseResponse
import com.going.data.dto.request.TendencyTestRequestDto

interface TendencyDataSource {
suspend fun patchTendencyTest(result: TendencyTestRequestDto): NonDataBaseResponse
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@ package com.going.data.datasourceImpl

import com.going.data.datasource.SettingDataSource
import com.going.data.dto.NonDataBaseResponse
import com.going.data.dto.response.SignOutResponseDto
import com.going.data.service.SettingService
import javax.inject.Inject

class SettingDataSourceImpl @Inject constructor(
private val settingService: SettingService,
) : SettingDataSource {
override suspend fun patchSignOut(): SignOutResponseDto = settingService.patchSignOut()
override suspend fun deleteWithDraw(): NonDataBaseResponse<Unit> = settingService.deleteWithDraw()
override suspend fun patchSignOut(): NonDataBaseResponse = settingService.patchSignOut()
override suspend fun deleteWithDraw(): NonDataBaseResponse = settingService.deleteWithDraw()
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.going.data.datasourceImpl

import com.going.data.datasource.TendencyDataSource
import com.going.data.dto.NonDataBaseResponse
import com.going.data.dto.request.TendencyTestRequestDto
import com.going.data.service.TendencyService
import javax.inject.Inject

class TendencyDataSourceImpl @Inject constructor(
private val tendencyService: TendencyService,
) : TendencyDataSource {
override suspend fun patchTendencyTest(result: TendencyTestRequestDto): NonDataBaseResponse =
tendencyService.patchTendencyTest(result)
}
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class NonDataBaseResponse<T>(
data class NonDataBaseResponse(
@SerialName("status")
val status: Int,
@SerialName("code")
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.going.data.dto.request

import com.going.domain.entity.request.RequestSignInModel
import com.going.domain.entity.request.SignInRequestModel
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

Expand All @@ -10,5 +10,5 @@ data class SignInRequestDto(
val platform: String,
)

fun RequestSignInModel.toSignInRequestDto(): SignInRequestDto =
fun SignInRequestModel.toSignInRequestDto(): SignInRequestDto =
SignInRequestDto(platform)
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.going.data.dto.request

import com.going.domain.entity.request.RequestSignUpModel
import com.going.domain.entity.request.SignUpRequestModel
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

Expand All @@ -14,5 +14,5 @@ data class SignUpRequestDto(
val platform: String,
)

fun RequestSignUpModel.toSignUpRequestDto(): SignUpRequestDto =
fun SignUpRequestModel.toSignUpRequestDto(): SignUpRequestDto =
SignUpRequestDto(name, intro, platform)
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.going.data.dto.request

import com.going.domain.entity.request.TendencyRequestModel
import kotlinx.serialization.SerialName
import kotlinx.serialization.Serializable

@Serializable
data class TendencyTestRequestDto(
@SerialName("result")
val result: List<Int>,
)

fun TendencyRequestModel.toTendencyTestRequestDto() = TendencyTestRequestDto(result)

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package com.going.data.repositoryImpl
import com.going.data.datasource.AuthDataSource
import com.going.data.dto.request.toSignInRequestDto
import com.going.data.dto.request.toSignUpRequestDto
import com.going.domain.entity.request.RequestSignInModel
import com.going.domain.entity.request.RequestSignUpModel
import com.going.domain.entity.request.SignInRequestModel
import com.going.domain.entity.request.SignUpRequestModel
import com.going.domain.entity.response.AuthTokenModel
import com.going.domain.entity.response.SignInModel
import com.going.domain.repository.AuthRepository
Expand All @@ -15,7 +15,7 @@ class AuthRepositoryImpl @Inject constructor(
) : AuthRepository {
override suspend fun postSignIn(
Authorization: String,
requestSignIpModel: RequestSignInModel,
requestSignIpModel: SignInRequestModel,
): Result<SignInModel> =
runCatching {
authDataSource.postSignIn(
Expand All @@ -26,12 +26,12 @@ class AuthRepositoryImpl @Inject constructor(

override suspend fun postSignUp(
Authorization: String,
requestSignUpModel: RequestSignUpModel,
signUpRequestModel: SignUpRequestModel,
): Result<AuthTokenModel> =
runCatching {
authDataSource.postSignUp(
Authorization,
requestSignUpModel.toSignUpRequestDto(),
signUpRequestModel.toSignUpRequestDto(),
).data.toAuthTokenModel()
}
}
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
package com.going.data.repositoryImpl

import com.going.data.datasource.SettingDataSource
import com.going.domain.entity.response.SignOutModel
import com.going.domain.repository.SettingRepository
import javax.inject.Inject

class SettingRepositoryImpl @Inject constructor(
private val settingDataSource: SettingDataSource,
) : SettingRepository {
override suspend fun patchSignOut(): Result<SignOutModel> = runCatching {
settingDataSource.patchSignOut().toSignOutModel()
override suspend fun patchSignOut(): Result<Unit> = runCatching {
settingDataSource.patchSignOut()
}

override suspend fun deleteWithDraw(): Result<Unit> = runCatching {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package com.going.data.repositoryImpl

import com.going.data.datasource.TendencyDataSource
import com.going.data.dto.request.toTendencyTestRequestDto
import com.going.domain.entity.request.TendencyRequestModel
import com.going.domain.repository.TendencyRepository
import javax.inject.Inject

class TendencyRepositoryImpl @Inject constructor(
private val tendencyDataSource: TendencyDataSource,
) : TendencyRepository {
override suspend fun patchTendencyTest(result: TendencyRequestModel): Result<Unit> =
runCatching {
tendencyDataSource.patchTendencyTest(result.toTendencyTestRequestDto())
}
}
5 changes: 2 additions & 3 deletions data/src/main/java/com/going/data/service/SettingService.kt
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
package com.going.data.service

import com.going.data.dto.NonDataBaseResponse
import com.going.data.dto.response.SignOutResponseDto
import retrofit2.http.DELETE
import retrofit2.http.PATCH

interface SettingService {
@PATCH("api/users/signout")
suspend fun patchSignOut(): SignOutResponseDto
suspend fun patchSignOut(): NonDataBaseResponse

@DELETE("api/users/withdraw")
suspend fun deleteWithDraw(): NonDataBaseResponse<Unit>
suspend fun deleteWithDraw(): NonDataBaseResponse
}
13 changes: 13 additions & 0 deletions data/src/main/java/com/going/data/service/TendencyService.kt
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
package com.going.data.service

import com.going.data.dto.NonDataBaseResponse
import com.going.data.dto.request.TendencyTestRequestDto
import retrofit2.http.Body
import retrofit2.http.PATCH

interface TendencyService {
@PATCH("api/users/test")
suspend fun patchTendencyTest(
@Body result: TendencyTestRequestDto,
): NonDataBaseResponse
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package com.going.domain.entity.request

data class RequestSignInModel(
data class SignInRequestModel(
val platform: String
)
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package com.going.domain.entity.request

data class RequestSignUpModel(
data class SignUpRequestModel(
val name: String,
val intro: String,
val platform: String,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.going.domain.entity.request

data class TendencyRequestModel(
val result: List<Int>
)
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ data class OngoingListModel(
val startDate: String,
val endDate: String,
val day: Int
)
)

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
package com.going.domain.repository

import com.going.domain.entity.request.RequestSignInModel
import com.going.domain.entity.request.RequestSignUpModel
import com.going.domain.entity.request.SignInRequestModel
import com.going.domain.entity.request.SignUpRequestModel
import com.going.domain.entity.response.AuthTokenModel
import com.going.domain.entity.response.SignInModel

interface AuthRepository {
suspend fun postSignIn(
Authorization: String,
data: RequestSignInModel,
data: SignInRequestModel,
): Result<SignInModel>

suspend fun postSignUp(
Authorization: String,
data: RequestSignUpModel,
data: SignUpRequestModel,
): Result<AuthTokenModel>
}
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
package com.going.domain.repository

import com.going.domain.entity.response.SignOutModel

interface SettingRepository {
suspend fun patchSignOut(): Result<SignOutModel>
suspend fun patchSignOut(): Result<Unit>

suspend fun deleteWithDraw(): Result<Unit>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.going.domain.repository

import com.going.domain.entity.request.TendencyRequestModel

interface TendencyRepository {
suspend fun patchTendencyTest(result: TendencyRequestModel): Result<Unit>
}
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ class SignInActivity : BaseActivity<ActivitySigninBinding>(R.layout.activity_sig

private fun navigateToMainScreen() {
// 추후 대시보드 연결시 연결 예정
Intent(this, SettingActivity::class.java).apply {
Intent(this, TendencyTestSplashActivity::class.java).apply {
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)
startActivity(this)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package com.going.presentation.onboarding.signin
import android.content.Context
import androidx.lifecycle.ViewModel
import androidx.lifecycle.viewModelScope
import com.going.domain.entity.request.RequestSignInModel
import com.going.domain.entity.request.SignInRequestModel
import com.going.domain.repository.AuthRepository
import com.going.domain.repository.TokenRepository
import com.going.presentation.util.toErrorCode
Expand Down Expand Up @@ -71,7 +71,7 @@ class SignInViewModel @Inject constructor(
_postChangeTokenState.value = SignInState.LOADING

viewModelScope.launch {
authRepository.postSignIn(accessToken, RequestSignInModel(platform)).onSuccess {
authRepository.postSignIn(accessToken, SignInRequestModel(platform)).onSuccess {
tokenRepository.setTokens(it.accessToken, it.refreshToken)

if (it.isResult) {
Expand Down
Loading

0 comments on commit 855add3

Please sign in to comment.