Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,13 +1,22 @@
package com.catchmate.data.datasource.remote

import com.catchmate.data.dto.DeleteEnrollResponseDTO
import com.catchmate.data.dto.GetAllReceivedEnrollResponseDTO
import com.catchmate.data.dto.GetEnrollNewCountResponseDTO
import com.catchmate.data.dto.GetReceivedEnrollResponseDTO
import com.catchmate.data.dto.GetRequestedEnrollListResponseDTO
import com.catchmate.data.dto.PatchEnrollAcceptResponseDTO
import com.catchmate.data.dto.PatchEnrollRejectResponseDTO
import com.catchmate.data.dto.PostEnrollRequestDTO
import com.catchmate.data.dto.PostEnrollResponseDTO
import retrofit2.Response
import retrofit2.http.Body
import retrofit2.http.DELETE
import retrofit2.http.GET
import retrofit2.http.PATCH
import retrofit2.http.POST
import retrofit2.http.Path
import retrofit2.http.Query

interface EnrollService {
@POST("enroll/{boardId}")
Expand All @@ -20,4 +29,28 @@ interface EnrollService {
suspend fun patchEnrollReject(
@Path("enrollId") enrollId: Long,
): Response<PatchEnrollRejectResponseDTO?>

@PATCH("enroll/{enrollId}/accept")
suspend fun patchEnrollAccept(
@Path("enrollId") enrollId: Long,
): Response<PatchEnrollAcceptResponseDTO?>

@GET("enroll/request")
suspend fun getRequestedEnrollList(): Response<GetRequestedEnrollListResponseDTO?>

@GET("enroll/receive")
suspend fun getReceivedEnroll(
@Query("boardId") boardId: Long,
): Response<GetReceivedEnrollResponseDTO?>

@GET("enroll/receive/all")
suspend fun getAllReceivedEnroll(): Response<GetAllReceivedEnrollResponseDTO?>

@GET("enroll/new-count")
suspend fun getEnrollNewCount(): Response<GetEnrollNewCountResponseDTO?>

@DELETE("enroll/cancel/{enrollId}")
suspend fun deleteEnroll(
@Path("enrollId") enrollId: Long,
): Response<DeleteEnrollResponseDTO>
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.catchmate.data.dto

data class DeleteEnrollResponseDTO(
val enrollId: Long,
val deleteAt: String,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
package com.catchmate.data.dto

data class EnrollBoardInfoDTO(
val boardInfo: Long,
val title: String,
val gameDate: String,
val location: String,
val homeTeam: String,
val awayTeam: String,
val cheerTeam: String,
val currentPerson: Int,
val maxPerson: Int,
val addInfo: String,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
package com.catchmate.data.dto

data class EnrollContentDTO(
val enrollId: Long,
val acceptStatus: String,
val description: String,
val userInfo: EnrollUserInfoDTO,
val boardInfo: EnrollBoardInfoDTO,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.catchmate.data.dto

data class EnrollUserInfoDTO(
val userId: Long,
val nickName: String,
val picture: String,
val favGudan: String,
val watchStyle: String? = null,
val gender: String,
val birthDate: String,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.catchmate.data.dto

data class GetAllReceivedEnrollResponseDTO(
val content: List<ReceivedEnrollContentDTO>,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.catchmate.data.dto

data class GetEnrollNewCountResponseDTO(
val newEnrollListCount: Int,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.catchmate.data.dto

data class GetReceivedEnrollResponseDTO(
val content: List<ReceivedEnrollContentDTO>,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package com.catchmate.data.dto

data class GetRequestedEnrollListResponseDTO(
val content: List<EnrollContentDTO>,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
package com.catchmate.data.dto

data class PatchEnrollAcceptResponseDTO(
val enrollId: Long,
val acceptStatus: String,
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.catchmate.data.dto

data class ReceivedEnrollContentDTO(
val enrollId: Long,
val acceptStatus: String,
val description: String,
val requestDate: String,
val userInfo: EnrollUserInfoDTO,
val boardInfo: EnrollBoardInfoDTO,
val new: Boolean,
)
Original file line number Diff line number Diff line change
@@ -1,11 +1,31 @@
package com.catchmate.data.mapper

import com.catchmate.data.dto.DeleteEnrollResponseDTO
import com.catchmate.data.dto.EnrollBoardInfoDTO
import com.catchmate.data.dto.EnrollContentDTO
import com.catchmate.data.dto.EnrollUserInfoDTO
import com.catchmate.data.dto.GetAllReceivedEnrollResponseDTO
import com.catchmate.data.dto.GetEnrollNewCountResponseDTO
import com.catchmate.data.dto.GetReceivedEnrollResponseDTO
import com.catchmate.data.dto.GetRequestedEnrollListResponseDTO
import com.catchmate.data.dto.PatchEnrollAcceptResponseDTO
import com.catchmate.data.dto.PatchEnrollRejectResponseDTO
import com.catchmate.data.dto.PostEnrollRequestDTO
import com.catchmate.data.dto.PostEnrollResponseDTO
import com.catchmate.data.dto.ReceivedEnrollContentDTO
import com.catchmate.domain.model.DeleteEnrollResponse
import com.catchmate.domain.model.EnrollBoardInfo
import com.catchmate.domain.model.EnrollContent
import com.catchmate.domain.model.EnrollUserInfo
import com.catchmate.domain.model.GetAllReceivedEnrollResponse
import com.catchmate.domain.model.GetEnrollNewCountResponse
import com.catchmate.domain.model.GetReceivedEnrollResponse
import com.catchmate.domain.model.GetRequestedEnrollListResponse
import com.catchmate.domain.model.PatchEnrollAcceptResponse
import com.catchmate.domain.model.PatchEnrollRejectResponse
import com.catchmate.domain.model.PostEnrollRequest
import com.catchmate.domain.model.PostEnrollResponse
import com.catchmate.domain.model.ReceivedEnrollContent

object EnrollMapper {
fun toPostEnrollRequestDTO(request: PostEnrollRequest): PostEnrollRequestDTO =
Expand All @@ -24,4 +44,81 @@ object EnrollMapper {
enrollId = responseDTO.enrollId,
acceptStatus = responseDTO.acceptStatus,
)

fun toPatchEnrollAcceptResponse(responseDTO: PatchEnrollAcceptResponseDTO): PatchEnrollAcceptResponse =
PatchEnrollAcceptResponse(
enrollId = responseDTO.enrollId,
acceptStatus = responseDTO.acceptStatus,
)

fun toGetRequestedEnrollListResponse(responseDTO: GetRequestedEnrollListResponseDTO): GetRequestedEnrollListResponse =
GetRequestedEnrollListResponse(
content = responseDTO.content.map { toEnrollContent(it) },
)

private fun toEnrollContent(dto: EnrollContentDTO): EnrollContent =
EnrollContent(
enrollId = dto.enrollId,
acceptStatus = dto.acceptStatus,
description = dto.description,
userInfo = toEnrollUserInfo(dto.userInfo),
boardInfo = toEnrollBoardInfo(dto.boardInfo),
)

private fun toEnrollUserInfo(dto: EnrollUserInfoDTO): EnrollUserInfo =
EnrollUserInfo(
userId = dto.userId,
nickName = dto.nickName,
picture = dto.picture,
favGudan = dto.favGudan,
watchStyle = dto.watchStyle,
gender = dto.gender,
birthDate = dto.birthDate,
)

private fun toEnrollBoardInfo(dto: EnrollBoardInfoDTO): EnrollBoardInfo =
EnrollBoardInfo(
boardInfo = dto.boardInfo,
title = dto.title,
gameDate = dto.gameDate,
location = dto.location,
homeTeam = dto.homeTeam,
awayTeam = dto.awayTeam,
cheerTeam = dto.cheerTeam,
currentPerson = dto.currentPerson,
maxPerson = dto.maxPerson,
addInfo = dto.addInfo,
)

fun toGetReceivedEnrollResponse(responseDTO: GetReceivedEnrollResponseDTO): GetReceivedEnrollResponse =
GetReceivedEnrollResponse(
content = responseDTO.content.map { toReceivedEnrollContent(it) },
)

private fun toReceivedEnrollContent(dto: ReceivedEnrollContentDTO): ReceivedEnrollContent =
ReceivedEnrollContent(
enrollId = dto.enrollId,
acceptStatus = dto.acceptStatus,
description = dto.description,
requestDate = dto.requestDate,
userInfo = toEnrollUserInfo(dto.userInfo),
boardInfo = toEnrollBoardInfo(dto.boardInfo),
new = dto.new,
)

fun toGetAllReceivedEnrollResponse(responseDTO: GetAllReceivedEnrollResponseDTO): GetAllReceivedEnrollResponse =
GetAllReceivedEnrollResponse(
content = responseDTO.content.map { toReceivedEnrollContent(it) },
)

fun toGetEnrollNewCountResponse(responseDTO: GetEnrollNewCountResponseDTO): GetEnrollNewCountResponse =
GetEnrollNewCountResponse(
newEnrollListCount = responseDTO.newEnrollListCount,
)

fun toDeleteEnrollResponse(responseDTO: DeleteEnrollResponseDTO): DeleteEnrollResponse =
DeleteEnrollResponse(
enrollId = responseDTO.enrollId,
deleteAt = responseDTO.deleteAt,
)
}
Loading
Loading