Skip to content
This repository has been archived by the owner on Mar 8, 2024. It is now read-only.

Commit

Permalink
♻️ :: All, Day Entity, Response 삭제
Browse files Browse the repository at this point in the history
  • Loading branch information
chlgkdms committed Nov 14, 2023
1 parent 59a0a38 commit f987320
Show file tree
Hide file tree
Showing 13 changed files with 53 additions and 109 deletions.
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
package com.signal.data.datasource.diary

import com.signal.data.model.diary.CreateDiaryRequest
import com.signal.data.model.diary.FetchAllDiaryResponse
import com.signal.data.model.diary.FetchDayDiaryResponse
import com.signal.data.model.diary.FetchDiariesResponse
import com.signal.data.model.diary.FetchDiaryDetailsResponse
import com.signal.data.model.diary.FetchMonthDiaryResponse
import com.signal.data.model.diary.FetchMonthDiariesResponse

interface DiaryDataSource {
suspend fun createDiary(createDiaryRequest: CreateDiaryRequest)
suspend fun fetchAllDiary(): FetchAllDiaryResponse
suspend fun fetchMonthDiary(date: String): FetchMonthDiaryResponse
suspend fun fetchDayDiary(date: String): FetchDayDiaryResponse
suspend fun fetchAllDiary(): FetchDiariesResponse
suspend fun fetchMonthDiary(date: String): FetchMonthDiariesResponse
suspend fun fetchDayDiary(date: String): FetchDiariesResponse
suspend fun fetchDiaryDetails(diaryId: Long): FetchDiaryDetailsResponse
}
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@ package com.signal.data.datasource.diary

import com.signal.data.api.DiaryApi
import com.signal.data.model.diary.CreateDiaryRequest
import com.signal.data.model.diary.FetchAllDiaryResponse
import com.signal.data.model.diary.FetchDayDiaryResponse
import com.signal.data.model.diary.FetchDiariesResponse
import com.signal.data.model.diary.FetchDiaryDetailsResponse
import com.signal.data.model.diary.FetchMonthDiaryResponse
import com.signal.data.model.diary.FetchMonthDiariesResponse
import com.signal.data.util.ExceptionHandler

class DiaryDataSourceImpl(
Expand All @@ -16,24 +15,24 @@ class DiaryDataSourceImpl(
diaryApi.createDiary(createDiaryRequest = createDiaryRequest)
}.sendRequest()

override suspend fun fetchAllDiary(): FetchAllDiaryResponse =
ExceptionHandler<FetchAllDiaryResponse>().httpRequest {
diaryApi.fetchAllDiary()
override suspend fun fetchAllDiary(): FetchDiariesResponse =
ExceptionHandler<FetchDiariesResponse>().httpRequest {
diaryApi.fetchAllDiaries()
}.sendRequest()

override suspend fun fetchMonthDiary(date: String): FetchMonthDiaryResponse =
ExceptionHandler<FetchMonthDiaryResponse>().httpRequest {
diaryApi.fetchMonthDiary(date = date)
override suspend fun fetchMonthDiary(date: String): FetchMonthDiariesResponse =
ExceptionHandler<FetchMonthDiariesResponse>().httpRequest {
diaryApi.fetchMonthDiaries(date = date)
}.sendRequest()

override suspend fun fetchDayDiary(date: String): FetchDayDiaryResponse =
ExceptionHandler<FetchDayDiaryResponse>().httpRequest {
diaryApi.fetchDayDiary(date = date)
override suspend fun fetchDayDiary(date: String): FetchDiariesResponse =
ExceptionHandler<FetchDiariesResponse>().httpRequest {
diaryApi.fetchDayDiaries(date = date)
}.sendRequest()

override suspend fun fetchDiaryDetails(diaryId: Long): FetchDiaryDetailsResponse =
ExceptionHandler<FetchDiaryDetailsResponse>().httpRequest {
diaryApi.fetchDiaryDetails(diaryId = diaryId)
diaryApi.fetchDiariesDetails(diaryId = diaryId)
}.sendRequest()

}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,26 +1,26 @@
package com.signal.data.model.diary

import com.google.gson.annotations.SerializedName
import com.signal.domain.entity.AllDiaryEntity
import com.signal.domain.entity.DiariesEntity
import com.signal.domain.enums.Emotion

data class FetchAllDiaryResponse(
data class FetchDiariesResponse(
@SerializedName("diary_list") val diaryList: List<Diaries>
) {
data class Diaries(
@SerializedName("id") val id: Long,
@SerializedName("title") val title: String,
@SerializedName("content") val content: String,
@SerializedName("image") val image: String,
@SerializedName("image") val image: String?,
@SerializedName("emotion") val emotion: Emotion,
)
}

fun FetchAllDiaryResponse.toEntity() = AllDiaryEntity(
allDiaryEntity = this.diaryList.map { it.toEntity() },
fun FetchDiariesResponse.toEntity() = DiariesEntity(
diaryEntity = this.diaryList.map { it.toEntity() },
)

private fun FetchAllDiaryResponse.Diaries.toEntity() = AllDiaryEntity.AllDiaryEntity(
private fun FetchDiariesResponse.Diaries.toEntity() = DiariesEntity.DiaryEntity(
id = this.id,
title = this.title,
content = this.content,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,15 @@ package com.signal.data.repository
import com.signal.data.datasource.diary.DiaryDataSource
import com.signal.data.model.diary.CreateDiaryRequest
import com.signal.data.model.diary.toEntity
import com.signal.domain.entity.AllDiaryEntity
import com.signal.domain.entity.DayDiaryEntity
import com.signal.domain.entity.DiariesEntity
import com.signal.domain.entity.MonthDiaryEntity
import com.signal.domain.enums.Emotion
import com.signal.domain.repository.DiaryRepository

class DiaryRepositoryImpl(
private val diaryDateSource: DiaryDataSource,
) : DiaryRepository {
override suspend fun fetchAllDiary(): AllDiaryEntity =
diaryDateSource.fetchAllDiary().toEntity()
override suspend fun fetchAllDiary(): DiariesEntity = diaryDateSource.fetchAllDiary().toEntity()

override suspend fun fetchMonthDiary(
date: String
Expand All @@ -23,7 +21,7 @@ class DiaryRepositoryImpl(

override suspend fun fetchDayDiary(
date: String
): DayDiaryEntity = diaryDateSource.fetchDayDiary(
): DiariesEntity = diaryDateSource.fetchDayDiary(
date = date
).toEntity()

Expand Down
16 changes: 0 additions & 16 deletions domain/src/main/kotlin/com/signal/domain/entity/DayDiaryEntity.kt

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,14 @@ package com.signal.domain.entity

import com.signal.domain.enums.Emotion

data class AllDiaryEntity(
val allDiaryEntity: List<AllDiaryEntity>
data class DiariesEntity (
val diaryEntity: List<DiaryEntity>
) {
data class AllDiaryEntity(
data class DiaryEntity(
val id: Long,
val title: String,
val content: String,
val image: String,
val image: String?,
val emotion: Emotion,
)

}
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
package com.signal.domain.repository

import com.signal.domain.entity.AllDiaryEntity
import com.signal.domain.entity.DayDiaryEntity
import com.signal.domain.entity.DiariesEntity
import com.signal.domain.entity.DiaryDetailsEntity
import com.signal.domain.entity.MonthDiaryEntity
import com.signal.domain.enums.Emotion

interface DiaryRepository {
suspend fun fetchAllDiary(): AllDiaryEntity
suspend fun fetchAllDiary(): DiariesEntity
suspend fun fetchMonthDiary(date: String): MonthDiaryEntity
suspend fun fetchDayDiary(date: String): DayDiaryEntity
suspend fun fetchDayDiary(date: String): DiariesEntity
suspend fun createDiary(
title: String,
content: String,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import coil.compose.AsyncImage
import com.signal.domain.entity.AllDiaryEntity
import com.signal.domain.entity.DiariesEntity
import com.signal.domain.enums.Emotion
import com.signal.signal_android.R
import com.signal.signal_android.designsystem.component.Header
Expand Down Expand Up @@ -62,7 +62,7 @@ internal fun AllDiary(
Row(modifier = Modifier.fillMaxSize()) {
Diaries(
moveToDiaryDetails = moveToDiaryDetails,
diaries = state.allDiaries,
diaries = state.diaries,
)
}
}
Expand All @@ -71,7 +71,7 @@ internal fun AllDiary(
@Composable
private fun Diaries(
moveToDiaryDetails: (diaryId: Long) -> Unit,
diaries: List<AllDiaryEntity.AllDiaryEntity>,
diaries: List<DiariesEntity.DiaryEntity>,
) {
LazyColumn(
modifier = Modifier.fillMaxSize(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.compose.ui.viewinterop.AndroidView
import coil.compose.AsyncImage
import com.signal.domain.entity.DayDiaryEntity
import com.signal.domain.entity.DiariesEntity
import com.signal.domain.enums.Emotion
import com.signal.signal_android.R
import com.signal.signal_android.designsystem.foundation.Body
Expand Down Expand Up @@ -124,7 +124,7 @@ internal fun Diary(
)
}
}
if (state.dayDiaries.isEmpty()) {
if (state.diaries.isEmpty()) {
Spacer(modifier = Modifier.height(80.dp))
Body2(
text = stringResource(id = R.string.diary_is_empty),
Expand All @@ -133,7 +133,7 @@ internal fun Diary(
} else {
Diaries(
moveToDiaryDetails = moveToDiaryDetails,
diaries = state.dayDiaries,
diaries = state.diaries,
)
}
}
Expand Down Expand Up @@ -176,7 +176,7 @@ private fun DiaryHeader(
@Composable
private fun Diaries(
moveToDiaryDetails: (diaryId: Long) -> Unit,
diaries: List<DayDiaryEntity.DayDiaryEntity>,
diaries: List<DiariesEntity.DiaryEntity>,
) {
LazyColumn(
modifier = Modifier.fillMaxSize(),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,14 @@
package com.signal.signal_android.feature.main.diary

import com.signal.domain.entity.AllDiaryEntity
import com.signal.domain.entity.DayDiaryEntity
import com.signal.domain.entity.DiariesEntity
import com.signal.domain.entity.DiaryDetailsEntity
import com.signal.domain.entity.MonthDiaryEntity
import com.signal.domain.enums.Emotion
import java.time.LocalDate

data class DiaryState(
val allDiaries: List<AllDiaryEntity.AllDiaryEntity>,
val diaries: List<DiariesEntity.DiaryEntity>,
val monthDiaries: List<MonthDiaryEntity.MonthDiaryEntity>,
val dayDiaries: List<DayDiaryEntity.DayDiaryEntity>,
val diaryDetailsEntity: DiaryDetailsEntity,
val isAllDiariesEmpty: Boolean,
val isMonthDiariesEmpty: Boolean,
Expand All @@ -24,9 +22,8 @@ data class DiaryState(
) {
companion object {
fun getDefaultState() = DiaryState(
allDiaries = listOf(),
diaries = listOf(),
monthDiaries = listOf(),
dayDiaries = listOf(),
diaryDetailsEntity = DiaryDetailsEntity(
date = "",
title = "",
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,7 @@
package com.signal.signal_android.feature.main.diary

import androidx.lifecycle.viewModelScope
import com.signal.domain.entity.AllDiaryEntity
import com.signal.domain.entity.DayDiaryEntity
import com.signal.domain.entity.DiariesEntity
import com.signal.domain.entity.DiaryDetailsEntity
import com.signal.domain.entity.MonthDiaryEntity
import com.signal.domain.enums.Emotion
Expand All @@ -15,25 +14,24 @@ class DiaryViewModel(
private val diaryRepository: DiaryRepository,
) : BaseViewModel<DiaryState, DiarySideEffect>(DiaryState.getDefaultState()) {

private val _allDiaries: MutableList<AllDiaryEntity.AllDiaryEntity> = mutableListOf()
private val _diaries: MutableList<DiariesEntity.DiaryEntity> = mutableListOf()
private val _monthDiaries: MutableList<MonthDiaryEntity.MonthDiaryEntity> = mutableListOf()
private val _dayDiaries: MutableList<DayDiaryEntity.DayDiaryEntity> = mutableListOf()

internal fun fetchAllDiary() {
with(state.value) {
viewModelScope.launch(Dispatchers.IO) {
kotlin.runCatching {
diaryRepository.fetchAllDiary()
}.onSuccess {
_allDiaries.addAll(it.allDiaryEntity)
_diaries.addAll(it.diaryEntity)
setState(
copy(
allDiaries = _allDiaries,
isAllDiariesEmpty = _allDiaries.isEmpty(),
diaries = _diaries,
isAllDiariesEmpty = _diaries.isEmpty(),
)
)
}.onFailure {
setState(copy(isAllDiariesEmpty = _allDiaries.isEmpty()))
setState(copy(isAllDiariesEmpty = _diaries.isEmpty()))
}
}
}
Expand Down Expand Up @@ -65,15 +63,15 @@ class DiaryViewModel(
kotlin.runCatching {
diaryRepository.fetchDayDiary(date = date)
}.onSuccess {
_dayDiaries.addAll(it.dayDiaryEntity)
_diaries.addAll(it.diaryEntity)
setState(
copy(
dayDiaries = _dayDiaries,
isDayDiariesEmpty = _dayDiaries.isEmpty(),
diaries = _diaries,
isDayDiariesEmpty = _diaries.isEmpty(),
)
)
}.onFailure {
setState(copy(isDayDiariesEmpty = _dayDiaries.isEmpty()))
setState(copy(isDayDiariesEmpty = _diaries.isEmpty()))
}
}
}
Expand Down

0 comments on commit f987320

Please sign in to comment.