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
Expand Up @@ -4,6 +4,7 @@ import com.dcd.server.core.domain.application.dto.request.CreateApplicationReqDt
import com.dcd.server.core.domain.application.dto.response.ApplicationProfileResDto
import com.dcd.server.core.domain.application.dto.response.ApplicationResDto
import com.dcd.server.core.domain.application.model.Application
import com.dcd.server.core.domain.application.model.ApplicationInitialScript
import com.dcd.server.core.domain.application.model.enums.ApplicationStatus
import com.dcd.server.core.domain.env.model.ApplicationEnv
import com.dcd.server.core.domain.workspace.dto.response.WorkspaceApplicationResDto
Expand All @@ -23,7 +24,7 @@ fun CreateApplicationReqDto.toEntity(workspace: Workspace, externalPort: Int): A
labels = this.labels
)

fun Application.toDto(envList: List<ApplicationEnv>): ApplicationResDto =
fun Application.toDto(envList: List<ApplicationEnv>, initialScriptList: List<ApplicationInitialScript>): ApplicationResDto =
ApplicationResDto(
id = this.id,
name = this.name,
Expand All @@ -41,6 +42,7 @@ fun Application.toDto(envList: List<ApplicationEnv>): ApplicationResDto =
version = this.version,
status = this.status,
failureReason = this.failureReason,
initialScripts = initialScriptList.map { it.script },
labels = this.labels
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ data class ApplicationResDto(
val version: String,
val status: ApplicationStatus,
val failureReason: String?,
val initialScripts: List<String>,
val labels: List<String>
)
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import com.dcd.server.core.common.data.WorkspaceInfo
import com.dcd.server.core.common.data.dto.response.ListResDto
import com.dcd.server.core.domain.application.dto.extenstion.toDto
import com.dcd.server.core.domain.application.dto.response.ApplicationResDto
import com.dcd.server.core.domain.application.spi.QueryApplicationInitialScriptPort
import com.dcd.server.core.domain.application.spi.QueryApplicationPort
import com.dcd.server.core.domain.env.spi.QueryApplicationEnvPort
import com.dcd.server.core.domain.workspace.exception.WorkspaceNotFoundException
Expand All @@ -13,7 +14,8 @@ import com.dcd.server.core.domain.workspace.exception.WorkspaceNotFoundException
class GetAllApplicationUseCase(
private val queryApplicationPort: QueryApplicationPort,
private val workspaceInfo: WorkspaceInfo,
private val queryApplicationEnvPort: QueryApplicationEnvPort
private val queryApplicationEnvPort: QueryApplicationEnvPort,
private val queryApplicationInitialScriptPort: QueryApplicationInitialScriptPort,
) {
fun execute(labels: List<String>?): ListResDto<ApplicationResDto> {
val workspace = workspaceInfo.workspace
Expand All @@ -24,7 +26,8 @@ class GetAllApplicationUseCase(
.findAllByWorkspace(workspace, labels)
.map {
val applicationEnvList = queryApplicationEnvPort.findByApplication(it)
it.toDto(applicationEnvList)
val initialScripts = queryApplicationInitialScriptPort.findAllByApplication(it)
it.toDto(applicationEnvList, initialScripts)
}
)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,18 +4,21 @@ import com.dcd.server.core.common.annotation.UseCase
import com.dcd.server.core.domain.application.dto.extenstion.toDto
import com.dcd.server.core.domain.application.dto.response.ApplicationResDto
import com.dcd.server.core.domain.application.exception.ApplicationNotFoundException
import com.dcd.server.core.domain.application.spi.QueryApplicationInitialScriptPort
import com.dcd.server.core.domain.application.spi.QueryApplicationPort
import com.dcd.server.core.domain.env.spi.QueryApplicationEnvPort

@UseCase(readOnly = true)
class GetOneApplicationUseCase(
private val queryApplicationPort: QueryApplicationPort,
private val queryApplicationEnvPort: QueryApplicationEnvPort
private val queryApplicationEnvPort: QueryApplicationEnvPort,
private val queryApplicationInitialScriptPort: QueryApplicationInitialScriptPort
) {
fun execute(id: String): ApplicationResDto {
val application = (queryApplicationPort.findById(id)
?: throw ApplicationNotFoundException())
val applicationEnvList = queryApplicationEnvPort.findByApplication(application)
return application.toDto(applicationEnvList)
val initialScripts = queryApplicationInitialScriptPort.findAllByApplication(application)
return application.toDto(applicationEnvList, initialScripts)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,6 @@ class ApplicationWebAdapter(
private val runApplicationUseCase: RunApplicationUseCase,
private val getAllApplicationUseCase: GetAllApplicationUseCase,
private val getOneApplicationUseCase: GetOneApplicationUseCase,
// private val putApplicationEnvUseCase: PutApplicationEnvUseCase,
// private val deleteApplicationEnvUseCase: DeleteApplicationEnvUseCase,
private val stopApplicationUseCase: StopApplicationUseCase,
private val deleteApplicationUseCase: DeleteApplicationUseCase,
private val updateApplicationUseCase: UpdateApplicationUseCase,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ fun ApplicationResDto.toResponse(): ApplicationResponse =
version = this.version,
status = this.status,
failureReason = this.failureReason,
initialScripts = this.initialScripts,
labels = this.labels
)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,6 @@ data class ApplicationResponse(
val version: String,
val status: ApplicationStatus,
val failureReason: String?,
val initialScripts: List<String>,
val labels: List<String>
)
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ class GetAllApplicationUseCaseTest(

`when`("usecase๋ฅผ ์‹คํ–‰ํ• ๋•Œ") {
val result = getAllApplicationUseCase.execute(null)
val target = ListResDto(applicationList.map { it.toDto(listOf()) })
val target = ListResDto(applicationList.map { it.toDto(listOf(), listOf()) })
then("result๋Š” target์ด๋ž‘ ๊ฐ™์•„์•ผํ•จ") {
result shouldBe target
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class GetOneApplicationUseCaseTest(
val result = getOneApplicationUseCase.execute(application.id)

then("result๋Š” application์˜ ๋‚ด์šฉ์ด๋ž‘ ๊ฐ™์•„์•ผํ•จ") {
result shouldBeEqualToComparingFields application.toDto(listOf())
result shouldBeEqualToComparingFields application.toDto(listOf(), listOf())
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@ class ApplicationWebAdapterTest : BehaviorSpec({
version = "latest",
status = ApplicationStatus.STOPPED,
labels = listOf(),
failureReason = null
failureReason = null,
initialScripts = emptyList(),
)
val list = listOf(applicationResponse)
val responseDto = ListResDto(list)
Expand Down Expand Up @@ -98,7 +99,8 @@ class ApplicationWebAdapterTest : BehaviorSpec({
version = "latest",
status = ApplicationStatus.STOPPED,
labels = listOf(),
failureReason = null
failureReason = null,
initialScripts = emptyList(),
)
`when`("getOneApplication ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ• ๋•Œ") {
every { getOneApplicationUseCase.execute(testId) } returns applicationResponse
Expand Down