Skip to content

Commit

Permalink
[chore] #23 ktlintFormat
Browse files Browse the repository at this point in the history
  • Loading branch information
jihyunniiii committed Jun 5, 2024
1 parent 5aa60a3 commit c94521b
Show file tree
Hide file tree
Showing 19 changed files with 189 additions and 152 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ object ServiceModule {
@Provides
@Singleton
fun providesProfileService(
@TelePigeon retrofit: Retrofit
@TelePigeon retrofit: Retrofit,
): ProfileService =
retrofit.create(ProfileService::class.java)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,11 @@ import com.dongguk.telepigeon.data.remote.model.response.base.NullableBaseRespon

interface ProfileRemoteDataSource {
suspend fun getRoomKeywords(roomId: Int): BaseResponseDto<ResponseGetRoomKeywordsDto>

suspend fun getRoomExtra(roomId: Int): BaseResponseDto<ResponseGetRoomExtraDto>
suspend fun putRoomKeywordsExtra(roomId: Int, requestPutRoomKeywordsExtraDto: RequestPutRoomKeywordsExtraDto): NullableBaseResponseDto<Unit>
}

suspend fun putRoomKeywordsExtra(
roomId: Int,
requestPutRoomKeywordsExtraDto: RequestPutRoomKeywordsExtraDto,
): NullableBaseResponseDto<Unit>
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,12 +9,17 @@ import com.dongguk.telepigeon.data.remote.model.response.base.NullableBaseRespon
import com.dongguk.telepigeon.data.remote.service.ProfileService
import javax.inject.Inject

class ProfileRemoteDataSourceImpl @Inject constructor(
private val profileService: ProfileService
) : ProfileRemoteDataSource {
override suspend fun getRoomKeywords(roomId: Int): BaseResponseDto<ResponseGetRoomKeywordsDto> = profileService.getRoomKeywords(roomId = roomId)
class ProfileRemoteDataSourceImpl
@Inject
constructor(
private val profileService: ProfileService,
) : ProfileRemoteDataSource {
override suspend fun getRoomKeywords(roomId: Int): BaseResponseDto<ResponseGetRoomKeywordsDto> = profileService.getRoomKeywords(roomId = roomId)

override suspend fun getRoomExtra(roomId: Int): BaseResponseDto<ResponseGetRoomExtraDto> = profileService.getRoomExtra(roomId = roomId)
override suspend fun getRoomExtra(roomId: Int): BaseResponseDto<ResponseGetRoomExtraDto> = profileService.getRoomExtra(roomId = roomId)

override suspend fun putRoomKeywordsExtra(roomId: Int, requestPutRoomKeywordsExtraDto: RequestPutRoomKeywordsExtraDto): NullableBaseResponseDto<Unit> = profileService.putRoomKeywordsExtra(roomId = roomId, requestPutRoomKeywordsExtraDto = requestPutRoomKeywordsExtraDto)
}
override suspend fun putRoomKeywordsExtra(
roomId: Int,
requestPutRoomKeywordsExtraDto: RequestPutRoomKeywordsExtraDto,
): NullableBaseResponseDto<Unit> = profileService.putRoomKeywordsExtra(roomId = roomId, requestPutRoomKeywordsExtraDto = requestPutRoomKeywordsExtraDto)
}
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,5 @@ data class RequestPutRoomKeywordsExtraDto(
@SerialName("ageRange")
val ageRange: String,
@SerialName("relation")
val relation: String
)
val relation: String,
)
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@ data class ResponseGetRoomExtraDto(
@SerialName("ageRange")
val ageRange: String,
@SerialName("relation")
val relation: String
)
val relation: String,
)
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ import kotlinx.serialization.Serializable
@Serializable
data class ResponseGetRoomKeywordsDto(
@SerialName("keywords")
val keywords: List<String>
)
val keywords: List<String>,
)
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ interface ProfileService {
@PUT("$ROOMS/${ROOM_ID}")
suspend fun putRoomKeywordsExtra(
@Path("${ROOM_ID}") roomId: Int,
@Body requestPutRoomKeywordsExtraDto: RequestPutRoomKeywordsExtraDto
@Body requestPutRoomKeywordsExtraDto: RequestPutRoomKeywordsExtraDto,
): NullableBaseResponseDto<Unit>

companion object {
Expand All @@ -33,4 +33,4 @@ interface ProfileService {
const val KEYWORDS = "keywords"
const val EXTRA = "extra"
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@ package com.dongguk.telepigeon.data.mapper
import com.dongguk.telepigeon.data.remote.model.response.ResponseGetRoomExtraDto
import com.dongguk.telepigeon.domain.model.RoomExtraModel

fun ResponseGetRoomExtraDto.toRoomKeywordExtraModel() = RoomExtraModel(
gender = this.gender,
ageRange = this.ageRange,
relation = this.relation
)
fun ResponseGetRoomExtraDto.toRoomKeywordExtraModel() =
RoomExtraModel(
gender = this.gender,
ageRange = this.ageRange,
relation = this.relation,
)
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ package com.dongguk.telepigeon.data.mapper
import com.dongguk.telepigeon.data.remote.model.response.ResponseGetRoomKeywordsDto
import com.dongguk.telepigeon.domain.model.RoomKeywordsModel

fun ResponseGetRoomKeywordsDto.toRoomKeywordModel() = RoomKeywordsModel(
keywords = this.keywords.joinToString { ", " }
)
fun ResponseGetRoomKeywordsDto.toRoomKeywordModel() =
RoomKeywordsModel(
keywords = this.keywords.joinToString { ", " },
)
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,10 @@ package com.dongguk.telepigeon.data.mapper
import com.dongguk.telepigeon.data.remote.model.request.RequestPutRoomKeywordsExtraDto
import com.dongguk.telepigeon.domain.model.RoomKeywordsExtraModel

fun RoomKeywordsExtraModel.toRequestPutRoomKeywordsExtraDto() = RequestPutRoomKeywordsExtraDto(
keywords = this.keywords,
gender = this.gender,
ageRange = this.ageRange,
relation = this.relation
)
fun RoomKeywordsExtraModel.toRequestPutRoomKeywordsExtraDto() =
RequestPutRoomKeywordsExtraDto(
keywords = this.keywords,
gender = this.gender,
ageRange = this.ageRange,
relation = this.relation,
)
Original file line number Diff line number Diff line change
Expand Up @@ -5,23 +5,31 @@ import com.dongguk.telepigeon.data.mapper.toRoomKeywordExtraModel
import com.dongguk.telepigeon.data.mapper.toRoomKeywordModel
import com.dongguk.telepigeon.data.remote.datasource.ProfileRemoteDataSource
import com.dongguk.telepigeon.domain.model.RoomExtraModel
import com.dongguk.telepigeon.domain.model.RoomKeywordsModel
import com.dongguk.telepigeon.domain.model.RoomKeywordsExtraModel
import com.dongguk.telepigeon.domain.model.RoomKeywordsModel
import com.dongguk.telepigeon.domain.repository.ProfileRepository
import javax.inject.Inject

class ProfileRepositoryImpl @Inject constructor(
private val profileRemoteDataSource: ProfileRemoteDataSource
) : ProfileRepository {
override suspend fun getRoomKeywords(roomId: Int): Result<RoomKeywordsModel> = runCatching {
profileRemoteDataSource.getRoomKeywords(roomId = roomId).data.toRoomKeywordModel()
}
class ProfileRepositoryImpl
@Inject
constructor(
private val profileRemoteDataSource: ProfileRemoteDataSource,
) : ProfileRepository {
override suspend fun getRoomKeywords(roomId: Int): Result<RoomKeywordsModel> =
runCatching {
profileRemoteDataSource.getRoomKeywords(roomId = roomId).data.toRoomKeywordModel()
}

override suspend fun getRoomExtra(roomId: Int): Result<RoomExtraModel> = runCatching {
profileRemoteDataSource.getRoomExtra(roomId = roomId).data.toRoomKeywordExtraModel()
}
override suspend fun getRoomExtra(roomId: Int): Result<RoomExtraModel> =
runCatching {
profileRemoteDataSource.getRoomExtra(roomId = roomId).data.toRoomKeywordExtraModel()
}

override suspend fun putRoomKeywordExtra(roomId: Int, roomKeywordsExtraModel: RoomKeywordsExtraModel): Result<Unit> = runCatching {
profileRemoteDataSource.putRoomKeywordsExtra(roomId = roomId, requestPutRoomKeywordsExtraDto = roomKeywordsExtraModel.toRequestPutRoomKeywordsExtraDto())
override suspend fun putRoomKeywordExtra(
roomId: Int,
roomKeywordsExtraModel: RoomKeywordsExtraModel,
): Result<Unit> =
runCatching {
profileRemoteDataSource.putRoomKeywordsExtra(roomId = roomId, requestPutRoomKeywordsExtraDto = roomKeywordsExtraModel.toRequestPutRoomKeywordsExtraDto())
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ data class RoomKeywordsExtraModel(
val gender: String,
val ageRange: String,
val relation: String,
)
)
Original file line number Diff line number Diff line change
@@ -1,11 +1,16 @@
package com.dongguk.telepigeon.domain.repository

import com.dongguk.telepigeon.domain.model.RoomExtraModel
import com.dongguk.telepigeon.domain.model.RoomKeywordsModel
import com.dongguk.telepigeon.domain.model.RoomKeywordsExtraModel
import com.dongguk.telepigeon.domain.model.RoomKeywordsModel

interface ProfileRepository {
suspend fun getRoomKeywords(roomId: Int): Result<RoomKeywordsModel>

suspend fun getRoomExtra(roomId: Int): Result<RoomExtraModel>
suspend fun putRoomKeywordExtra(roomId: Int, roomKeywordsExtraModel: RoomKeywordsExtraModel): Result<Unit>
}

suspend fun putRoomKeywordExtra(
roomId: Int,
roomKeywordsExtraModel: RoomKeywordsExtraModel,
): Result<Unit>
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ import javax.inject.Inject
import javax.inject.Singleton

@Singleton
class GetRoomExtraUseCase @Inject constructor(
private val profileRepository: ProfileRepository
) {
suspend operator fun invoke(roomId: Int) = profileRepository.getRoomExtra(roomId = roomId)
}
class GetRoomExtraUseCase
@Inject
constructor(
private val profileRepository: ProfileRepository,
) {
suspend operator fun invoke(roomId: Int) = profileRepository.getRoomExtra(roomId = roomId)
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@ import javax.inject.Inject
import javax.inject.Singleton

@Singleton
class GetRoomKeywordsUseCase @Inject constructor(
private val profileRepository: ProfileRepository
){
suspend operator fun invoke(roomId: Int) = profileRepository.getRoomKeywords(roomId = roomId)
}
class GetRoomKeywordsUseCase
@Inject
constructor(
private val profileRepository: ProfileRepository,
) {
suspend operator fun invoke(roomId: Int) = profileRepository.getRoomKeywords(roomId = roomId)
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,13 @@ import javax.inject.Inject
import javax.inject.Singleton

@Singleton
class PutRoomKeywordExtraUseCase @Inject constructor(
private val profileRepository: ProfileRepository
) {
suspend operator fun invoke(roomId: Int, roomKeywordsExtraModel: RoomKeywordsExtraModel) = profileRepository.putRoomKeywordExtra(roomId = roomId, roomKeywordsExtraModel = roomKeywordsExtraModel)
}
class PutRoomKeywordExtraUseCase
@Inject
constructor(
private val profileRepository: ProfileRepository,
) {
suspend operator fun invoke(
roomId: Int,
roomKeywordsExtraModel: RoomKeywordsExtraModel,
) = profileRepository.putRoomKeywordExtra(roomId = roomId, roomKeywordsExtraModel = roomKeywordsExtraModel)
}
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,13 @@ class KeywordSettingFragment : BindingFragment<FragmentKeywordSettingBinding>({
private fun setBtnKeywordSettingCompleteClickListener() {
binding.btnKeywordSettingComplete.setOnClickListener {
keywordSettingViewModel.putRoomKeywordExtra(
roomKeywordsExtraModel = RoomKeywordsExtraModel(
keywords = getKeywords(),
gender = binding.etKeywordSettingGender.editText.text.toString(),
ageRange = binding.etKeywordSettingAgeRange.editText.text.toString(),
relation = binding.etKeywordSettingRelation.editText.text.toString()
)
roomKeywordsExtraModel =
RoomKeywordsExtraModel(
keywords = getKeywords(),
gender = binding.etKeywordSettingGender.editText.text.toString(),
ageRange = binding.etKeywordSettingAgeRange.editText.text.toString(),
relation = binding.etKeywordSettingRelation.editText.text.toString(),
),
)
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,35 +14,37 @@ import kotlinx.coroutines.launch
import javax.inject.Inject

@HiltViewModel
class KeywordSettingViewModel @Inject constructor(
private val getRoomIdUseCase: GetRoomIdUseCase,
private val putRoomKeywordExtraUseCase: PutRoomKeywordExtraUseCase
) : ViewModel() {
private val _putRoomKeywordExtraState = MutableSharedFlow<UiState<Unit>>()
val putRoomKeywordExtraState get() = _putRoomKeywordExtraState.asSharedFlow()
class KeywordSettingViewModel
@Inject
constructor(
private val getRoomIdUseCase: GetRoomIdUseCase,
private val putRoomKeywordExtraUseCase: PutRoomKeywordExtraUseCase,
) : ViewModel() {
private val _putRoomKeywordExtraState = MutableSharedFlow<UiState<Unit>>()
val putRoomKeywordExtraState get() = _putRoomKeywordExtraState.asSharedFlow()

private val roomId = getRoomIdUseCase()
private val roomId = getRoomIdUseCase()

fun putRoomKeywordExtra(roomKeywordsExtraModel: RoomKeywordsExtraModel) {
viewModelScope.launch {
_putRoomKeywordExtraState.emit(UiState.Empty)
putRoomKeywordExtraUseCase(roomId = roomId, roomKeywordsExtraModel = roomKeywordsExtraModel).onSuccess {
_putRoomKeywordExtraState.emit(UiState.Success(Unit))
}.onFailure { exception: Throwable ->
_putRoomKeywordExtraState.emit(UiState.Error(exception.message))
fun putRoomKeywordExtra(roomKeywordsExtraModel: RoomKeywordsExtraModel) {
viewModelScope.launch {
_putRoomKeywordExtraState.emit(UiState.Empty)
putRoomKeywordExtraUseCase(roomId = roomId, roomKeywordsExtraModel = roomKeywordsExtraModel).onSuccess {
_putRoomKeywordExtraState.emit(UiState.Success(Unit))
}.onFailure { exception: Throwable ->
_putRoomKeywordExtraState.emit(UiState.Error(exception.message))
}
}
}
}

val dummyKeywords = listOf("운동", "수업", "산책", "영양제", "", "", "", "회사생활", "공부", "청소", "간식", "")
val dummySelectedKeywords = listOf("운동", "영양제", "")
val dummyKeywordExtraModel =
KeywordExtraModel(
gender = "-",
ageRange = "-",
relation = "-",
)
val dummyGenders = listOf("남성", "여성")
val dummyAgeRanges = listOf("10대", "20대", "30대")
val dummyRelations = listOf("지인", "자식", "엄마")
}
val dummyKeywords = listOf("운동", "수업", "산책", "영양제", "", "", "", "회사생활", "공부", "청소", "간식", "")
val dummySelectedKeywords = listOf("운동", "영양제", "")
val dummyKeywordExtraModel =
KeywordExtraModel(
gender = "-",
ageRange = "-",
relation = "-",
)
val dummyGenders = listOf("남성", "여성")
val dummyAgeRanges = listOf("10대", "20대", "30대")
val dummyRelations = listOf("지인", "자식", "엄마")
}
Loading

0 comments on commit c94521b

Please sign in to comment.