diff --git a/src/main/kotlin/roomescape/theme/business/ThemeService.kt b/src/main/kotlin/roomescape/theme/business/ThemeService.kt index a39572ae..17f38aac 100644 --- a/src/main/kotlin/roomescape/theme/business/ThemeService.kt +++ b/src/main/kotlin/roomescape/theme/business/ThemeService.kt @@ -131,7 +131,7 @@ class ThemeService( request.availableMinutes, request.expectedMinutesFrom, request.expectedMinutesTo, - request.isOpen, + request.isActive, ).also { log.info { "[ThemeService.updateTheme] 테마 수정 완료: id=$id, request=${request}" } } diff --git a/src/main/kotlin/roomescape/theme/infrastructure/persistence/ThemeEntity.kt b/src/main/kotlin/roomescape/theme/infrastructure/persistence/ThemeEntity.kt index df67be94..989b9a64 100644 --- a/src/main/kotlin/roomescape/theme/infrastructure/persistence/ThemeEntity.kt +++ b/src/main/kotlin/roomescape/theme/infrastructure/persistence/ThemeEntity.kt @@ -23,7 +23,7 @@ class ThemeEntity( var expectedMinutesTo: Short, @Column(columnDefinition = "TINYINT", length = 1) - var isOpen: Boolean + var isActive: Boolean ) : AuditingBaseEntity(id) { fun modifyIfNotNull( @@ -37,7 +37,7 @@ class ThemeEntity( availableMinutes: Short?, expectedMinutesFrom: Short?, expectedMinutesTo: Short?, - isOpen: Boolean? + isActive: Boolean? ) { name?.let { this.name = it } description?.let { this.description = it } @@ -49,7 +49,7 @@ class ThemeEntity( availableMinutes?.let { this.availableMinutes = it } expectedMinutesFrom?.let { this.expectedMinutesFrom = it } expectedMinutesTo?.let { this.expectedMinutesTo = it } - isOpen?.let { this.isOpen = it } + isActive?.let { this.isActive = it } } } diff --git a/src/main/kotlin/roomescape/theme/infrastructure/persistence/ThemeRepository.kt b/src/main/kotlin/roomescape/theme/infrastructure/persistence/ThemeRepository.kt index 1773826b..8e55104b 100644 --- a/src/main/kotlin/roomescape/theme/infrastructure/persistence/ThemeRepository.kt +++ b/src/main/kotlin/roomescape/theme/infrastructure/persistence/ThemeRepository.kt @@ -5,8 +5,8 @@ import org.springframework.data.jpa.repository.Query interface ThemeRepository : JpaRepository { - @Query("SELECT t FROM ThemeEntity t WHERE t.isOpen = true") - fun findOpenedThemes(): List + @Query("SELECT t FROM ThemeEntity t WHERE t.isActive = true") + fun findActiveThemes(): List fun existsByName(name: String): Boolean } \ No newline at end of file diff --git a/src/main/kotlin/roomescape/theme/web/ThemeDto.kt b/src/main/kotlin/roomescape/theme/web/AdminThemeDto.kt similarity index 95% rename from src/main/kotlin/roomescape/theme/web/ThemeDto.kt rename to src/main/kotlin/roomescape/theme/web/AdminThemeDto.kt index 814f1076..e37070ee 100644 --- a/src/main/kotlin/roomescape/theme/web/ThemeDto.kt +++ b/src/main/kotlin/roomescape/theme/web/AdminThemeDto.kt @@ -16,7 +16,7 @@ data class ThemeCreateRequest( val availableMinutes: Short, val expectedMinutesFrom: Short, val expectedMinutesTo: Short, - val isOpen: Boolean + val isActive: Boolean ) data class ThemeCreateResponseV2( @@ -35,7 +35,7 @@ fun ThemeCreateRequest.toEntity(id: Long) = ThemeEntity( availableMinutes = this.availableMinutes, expectedMinutesFrom = this.expectedMinutesFrom, expectedMinutesTo = this.expectedMinutesTo, - isOpen = this.isOpen + isActive = this.isActive ) data class ThemeUpdateRequest( @@ -49,7 +49,7 @@ data class ThemeUpdateRequest( val availableMinutes: Short? = null, val expectedMinutesFrom: Short? = null, val expectedMinutesTo: Short? = null, - val isOpen: Boolean? = null, + val isActive: Boolean? = null, ) { fun isAllParamsNull(): Boolean { return name == null && @@ -62,7 +62,7 @@ data class ThemeUpdateRequest( availableMinutes == null && expectedMinutesFrom == null && expectedMinutesTo == null && - isOpen == null + isActive == null } } @@ -71,7 +71,7 @@ data class AdminThemeSummaryResponse( val name: String, val difficulty: Difficulty, val price: Int, - val isOpen: Boolean + val isActive: Boolean ) fun ThemeEntity.toAdminThemeSummaryResponse() = AdminThemeSummaryResponse( @@ -79,7 +79,7 @@ fun ThemeEntity.toAdminThemeSummaryResponse() = AdminThemeSummaryResponse( name = this.name, difficulty = this.difficulty, price = this.price, - isOpen = this.isOpen + isActive = this.isActive ) data class AdminThemeSummaryListResponse( @@ -102,7 +102,7 @@ data class AdminThemeDetailResponse( val availableMinutes: Short, val expectedMinutesFrom: Short, val expectedMinutesTo: Short, - val isOpen: Boolean, + val isActive: Boolean, val createdAt: LocalDateTime, val createdBy: OperatorInfo, val updatedAt: LocalDateTime, @@ -122,7 +122,7 @@ fun ThemeEntity.toAdminThemeDetailResponse(createdBy: OperatorInfo, updatedBy: O availableMinutes = this.availableMinutes, expectedMinutesFrom = this.expectedMinutesFrom, expectedMinutesTo = this.expectedMinutesTo, - isOpen = this.isOpen, + isActive = this.isActive, createdAt = this.createdAt, createdBy = createdBy, updatedAt = this.updatedAt, diff --git a/src/main/resources/schema/schema-h2.sql b/src/main/resources/schema/schema-h2.sql index d4b6fe73..3a3c1b45 100644 --- a/src/main/resources/schema/schema-h2.sql +++ b/src/main/resources/schema/schema-h2.sql @@ -114,7 +114,7 @@ create table if not exists theme ( available_minutes smallint not null, expected_minutes_from smallint not null, expected_minutes_to smallint not null, - is_open boolean not null, + is_active boolean not null, created_at timestamp not null, created_by bigint not null, updated_at timestamp not null, diff --git a/src/test/kotlin/roomescape/supports/Fixtures.kt b/src/test/kotlin/roomescape/supports/Fixtures.kt index 683900c0..d793a0bd 100644 --- a/src/test/kotlin/roomescape/supports/Fixtures.kt +++ b/src/test/kotlin/roomescape/supports/Fixtures.kt @@ -168,7 +168,7 @@ object ThemeFixture { availableMinutes = 80, expectedMinutesFrom = 60, expectedMinutesTo = 70, - isOpen = true + isActive = true ) } diff --git a/src/test/kotlin/roomescape/theme/ThemeApiTest.kt b/src/test/kotlin/roomescape/theme/ThemeApiTest.kt index 9e6e1645..e07aa933 100644 --- a/src/test/kotlin/roomescape/theme/ThemeApiTest.kt +++ b/src/test/kotlin/roomescape/theme/ThemeApiTest.kt @@ -353,8 +353,8 @@ class ThemeApiTest( context("관리자가 모든 테마를 조회한다.") { val endpoint = "/admin/themes" val requests = listOf( - createRequest.copy(name = "open", isOpen = true), - createRequest.copy(name = "close", isOpen = false) + createRequest.copy(name = "open", isActive = true), + createRequest.copy(name = "close", isActive = false) ) context("권한이 없으면 접근할 수 없다.") { @@ -403,7 +403,7 @@ class ThemeApiTest( expect = { body("data.themes.size()", equalTo(requests.size)) assertProperties( - props = setOf("id", "name", "difficulty", "price", "isOpen"), + props = setOf("id", "name", "difficulty", "price", "isActive"), propsNameIfList = "themes", ) } @@ -507,7 +507,7 @@ class ThemeApiTest( body("data.id", equalTo(createdTheme.id)) assertProperties( props = setOf( - "id", "name", "description", "thumbnailUrl", "difficulty", "price", "isOpen", + "id", "name", "description", "thumbnailUrl", "difficulty", "price", "isActive", "minParticipants", "maxParticipants", "availableMinutes", "expectedMinutesFrom", "expectedMinutesTo", "createdAt", "createdBy", "updatedAt", "updatedBy"