Skip to content

Commit e401a09

Browse files
committed
Refactor: 루틴관련 모델 프로퍼티 및 클래스 네이밍 변경
- Routines -> RoutineSchedule
1 parent 67de431 commit e401a09

24 files changed

Lines changed: 135 additions & 122 deletions

File tree

data/src/main/java/com/threegap/bitnagil/data/routine/model/response/DayRoutinesDto.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ data class DayRoutinesDto(
1414

1515
fun DayRoutinesDto.toDomain(): DayRoutines =
1616
DayRoutines(
17-
routineList = routineList.map { it.toDomain() },
18-
allCompleted = allCompleted,
17+
routines = routineList.map { it.toDomain() },
18+
isAllCompleted = allCompleted,
1919
)

data/src/main/java/com/threegap/bitnagil/data/routine/model/response/RoutineDto.kt

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,16 @@ data class RoutineDto(
3636

3737
fun RoutineDto.toDomain(): Routine =
3838
Routine(
39-
routineId = this.routineId,
40-
routineName = this.routineName,
41-
repeatDay = this.repeatDay.map { DayOfWeek.fromString(it) },
39+
id = this.routineId,
40+
name = this.routineName,
41+
repeatDays = this.repeatDay.map { DayOfWeek.fromString(it) },
4242
executionTime = this.executionTime,
4343
routineDate = this.routineDate,
44-
routineCompleteYn = this.routineCompleteYn,
44+
isComplete = this.routineCompleteYn,
4545
subRoutineNames = this.subRoutineNames,
46-
subRoutineCompleteYn = this.subRoutineCompleteYn,
46+
subRoutineIsCompleted = this.subRoutineCompleteYn,
4747
recommendedRoutineType = RecommendedRoutineType.fromString(this.recommendedRoutineType),
48-
routineDeletedYn = routineDeletedYn,
48+
isDeleted = routineDeletedYn,
4949
startDate = this.routineStartDate,
5050
endDate = this.routineEndDate,
5151
)
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.threegap.bitnagil.data.routine.model.response
22

3-
import com.threegap.bitnagil.domain.routine.model.Routines
3+
import com.threegap.bitnagil.domain.routine.model.RoutineSchedule
44
import kotlinx.serialization.SerialName
55
import kotlinx.serialization.Serializable
66

@@ -11,8 +11,8 @@ data class RoutinesResponseDto(
1111
)
1212

1313
fun RoutinesResponseDto.toDomain() =
14-
Routines(
15-
routines = this.routines.mapValues { (_, dayRoutinesDto) ->
14+
RoutineSchedule(
15+
dailyRoutines = this.routines.mapValues { (_, dayRoutinesDto) ->
1616
dayRoutinesDto.toDomain()
1717
},
1818
)

data/src/main/java/com/threegap/bitnagil/data/routine/repositoryImpl/RoutineRepositoryImpl.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,14 +5,14 @@ import com.threegap.bitnagil.data.routine.model.request.toDto
55
import com.threegap.bitnagil.data.routine.model.response.toDomain
66
import com.threegap.bitnagil.domain.routine.model.Routine
77
import com.threegap.bitnagil.domain.routine.model.RoutineCompletionInfos
8-
import com.threegap.bitnagil.domain.routine.model.Routines
8+
import com.threegap.bitnagil.domain.routine.model.RoutineSchedule
99
import com.threegap.bitnagil.domain.routine.repository.RoutineRepository
1010
import javax.inject.Inject
1111

1212
class RoutineRepositoryImpl @Inject constructor(
1313
private val routineRemoteDataSource: RoutineRemoteDataSource,
1414
) : RoutineRepository {
15-
override suspend fun fetchWeeklyRoutines(startDate: String, endDate: String): Result<Routines> =
15+
override suspend fun fetchWeeklyRoutines(startDate: String, endDate: String): Result<RoutineSchedule> =
1616
routineRemoteDataSource.fetchWeeklyRoutines(startDate, endDate)
1717
.map { it.toDomain() }
1818

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,13 @@
11
package com.threegap.bitnagil.domain.routine.model
22

3+
/**
4+
* 특정 하루("일간")의 루틴 정보.
5+
* [RoutineSchedule] Map의 '값(value)'으로 사용됩니다.
6+
*
7+
* @property routines 해당 날짜에 포함된 [Routine](개별 루틴)의 목록.
8+
* @property isAllCompleted 해당 날짜의 모든 루틴이 완료되었는지 여부.
9+
*/
310
data class DayRoutines(
4-
val routineList: List<Routine>,
5-
val allCompleted: Boolean,
11+
val routines: List<Routine>,
12+
val isAllCompleted: Boolean,
613
)
Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
package com.threegap.bitnagil.domain.routine.model
22

33
data class Routine(
4-
val routineId: String,
5-
val routineName: String,
6-
val repeatDay: List<DayOfWeek>,
4+
val id: String,
5+
val name: String,
6+
val repeatDays: List<DayOfWeek>,
77
val executionTime: String,
88
val startDate: String,
99
val endDate: String,
1010
val routineDate: String,
11-
val routineCompleteYn: Boolean,
12-
val routineDeletedYn: Boolean,
11+
val isCompleted: Boolean,
12+
val isDeleted: Boolean,
1313
val subRoutineNames: List<String>,
14-
val subRoutineCompleteYn: List<Boolean>,
14+
val subRoutineIsCompleted: List<Boolean>,
1515
val recommendedRoutineType: RecommendedRoutineType?,
1616
)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package com.threegap.bitnagil.domain.routine.model
2+
3+
/**
4+
* 특정 기간(예: 주간, 월간) 동안의 루틴 일정표.
5+
*
6+
* @property dailyRoutines 날짜(String, "YYYY-MM-DD")를 key로,
7+
* 해당 날짜의 루틴 정보([DayRoutines])를 value로 가지는 Map.
8+
*/
9+
data class RoutineSchedule(
10+
val dailyRoutines: Map<String, DayRoutines>,
11+
)

domain/src/main/java/com/threegap/bitnagil/domain/routine/model/Routines.kt

Lines changed: 0 additions & 5 deletions
This file was deleted.

domain/src/main/java/com/threegap/bitnagil/domain/routine/repository/RoutineRepository.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@ package com.threegap.bitnagil.domain.routine.repository
22

33
import com.threegap.bitnagil.domain.routine.model.Routine
44
import com.threegap.bitnagil.domain.routine.model.RoutineCompletionInfos
5-
import com.threegap.bitnagil.domain.routine.model.Routines
5+
import com.threegap.bitnagil.domain.routine.model.RoutineSchedule
66

77
interface RoutineRepository {
8-
suspend fun fetchWeeklyRoutines(startDate: String, endDate: String): Result<Routines>
8+
suspend fun fetchWeeklyRoutines(startDate: String, endDate: String): Result<RoutineSchedule>
99
suspend fun syncRoutineCompletion(routineCompletionInfos: RoutineCompletionInfos): Result<Unit>
1010
suspend fun getRoutine(routineId: String): Result<Routine>
1111
suspend fun deleteRoutine(routineId: String): Result<Unit>
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package com.threegap.bitnagil.domain.routine.usecase
22

3-
import com.threegap.bitnagil.domain.routine.model.Routines
3+
import com.threegap.bitnagil.domain.routine.model.RoutineSchedule
44
import com.threegap.bitnagil.domain.routine.repository.RoutineRepository
55
import javax.inject.Inject
66

77
class FetchWeeklyRoutinesUseCase @Inject constructor(
88
private val routineRepository: RoutineRepository,
99
) {
10-
suspend operator fun invoke(startDate: String, endDate: String): Result<Routines> =
10+
suspend operator fun invoke(startDate: String, endDate: String): Result<RoutineSchedule> =
1111
routineRepository.fetchWeeklyRoutines(startDate, endDate)
1212
}

0 commit comments

Comments
 (0)