From d155e73cc1046939265777aee3ec6e358681f22a Mon Sep 17 00:00:00 2001 From: flash159483 Date: Sat, 1 Feb 2025 19:31:30 +0900 Subject: [PATCH] =?UTF-8?q?[feat]#232:=20=EC=98=A8=EB=B3=B4=EB=94=A9=20mod?= =?UTF-8?q?el=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../model/serverDriven/BaseComponent.kt | 3 ++ .../model/serverDriven/ButtonComponent.kt | 5 ++++ .../model/serverDriven/ImageComponent.kt | 7 +++++ .../wespot/model/serverDriven/OnBoarding.kt | 12 ++++++++ .../model/serverDriven/OnBoardingCategory.kt | 6 ++++ .../model/serverDriven/TextListComponent.kt | 10 +++++++ .../model/serverDriven/TitleComponent.kt | 5 ++++ .../model/serverDriven/BaseComponentDto.kt | 9 ++++++ .../model/serverDriven/ButtonComponentDto.kt | 17 +++++++++++ .../model/serverDriven/ImageComponentDto.kt | 21 ++++++++++++++ .../serverDriven/OnBoardingContentDto.kt | 29 +++++++++++++++++++ .../serverDriven/TextListComponentDto.kt | 29 +++++++++++++++++++ .../model/serverDriven/TitleComponentDto.kt | 18 ++++++++++++ 13 files changed, 171 insertions(+) create mode 100644 core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/BaseComponent.kt create mode 100644 core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/ButtonComponent.kt create mode 100644 core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/ImageComponent.kt create mode 100644 core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/OnBoarding.kt create mode 100644 core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/OnBoardingCategory.kt create mode 100644 core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/TextListComponent.kt create mode 100644 core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/TitleComponent.kt create mode 100644 data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/BaseComponentDto.kt create mode 100644 data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/ButtonComponentDto.kt create mode 100644 data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/ImageComponentDto.kt create mode 100644 data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/OnBoardingContentDto.kt create mode 100644 data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/TextListComponentDto.kt create mode 100644 data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/TitleComponentDto.kt diff --git a/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/BaseComponent.kt b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/BaseComponent.kt new file mode 100644 index 00000000..1efc3fc2 --- /dev/null +++ b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/BaseComponent.kt @@ -0,0 +1,3 @@ +package com.bff.wespot.model.serverDriven + +interface BaseComponent diff --git a/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/ButtonComponent.kt b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/ButtonComponent.kt new file mode 100644 index 00000000..cdd0eea6 --- /dev/null +++ b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/ButtonComponent.kt @@ -0,0 +1,5 @@ +package com.bff.wespot.model.serverDriven + +data class ButtonComponent( + val text: String, +) : BaseComponent diff --git a/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/ImageComponent.kt b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/ImageComponent.kt new file mode 100644 index 00000000..e1080b8f --- /dev/null +++ b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/ImageComponent.kt @@ -0,0 +1,7 @@ +package com.bff.wespot.model.serverDriven + +data class ImageComponent( + val url: String, + val width: Int, + val height: Int, +) : BaseComponent diff --git a/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/OnBoarding.kt b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/OnBoarding.kt new file mode 100644 index 00000000..62294956 --- /dev/null +++ b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/OnBoarding.kt @@ -0,0 +1,12 @@ +package com.bff.wespot.model.serverDriven + +data class OnBoarding( + val id: Int, + val name: String, + val data: List, +) + +data class OnBoardingContent( + val page: Int, + val data: List, +) diff --git a/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/OnBoardingCategory.kt b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/OnBoardingCategory.kt new file mode 100644 index 00000000..57f529fe --- /dev/null +++ b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/OnBoardingCategory.kt @@ -0,0 +1,6 @@ +package com.bff.wespot.model.serverDriven + +enum class OnBoardingCategory { + VOTE, + MESSAGE, +} diff --git a/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/TextListComponent.kt b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/TextListComponent.kt new file mode 100644 index 00000000..85895ca6 --- /dev/null +++ b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/TextListComponent.kt @@ -0,0 +1,10 @@ +package com.bff.wespot.model.serverDriven + +data class TextListComponent( + val textList: List, +) : BaseComponent + +data class TextList( + val icon: String, + val text: String, +) diff --git a/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/TitleComponent.kt b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/TitleComponent.kt new file mode 100644 index 00000000..47809376 --- /dev/null +++ b/core/model/src/main/kotlin/com/bff/wespot/model/serverDriven/TitleComponent.kt @@ -0,0 +1,5 @@ +package com.bff.wespot.model.serverDriven + +data class TitleComponent( + val text: String, +) : BaseComponent diff --git a/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/BaseComponentDto.kt b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/BaseComponentDto.kt new file mode 100644 index 00000000..6cc3c3e5 --- /dev/null +++ b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/BaseComponentDto.kt @@ -0,0 +1,9 @@ +package com.bff.wespot.data.remote.model.serverDriven + +import com.bff.wespot.model.serverDriven.BaseComponent +import kotlinx.serialization.Serializable + +@Serializable +sealed interface BaseComponentDto { + fun toDomain(): BaseComponent +} \ No newline at end of file diff --git a/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/ButtonComponentDto.kt b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/ButtonComponentDto.kt new file mode 100644 index 00000000..d404323e --- /dev/null +++ b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/ButtonComponentDto.kt @@ -0,0 +1,17 @@ +package com.bff.wespot.data.remote.model.serverDriven + +import com.bff.wespot.model.serverDriven.ButtonComponent +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +@SerialName("buttonComponent") +data class ButtonComponentDto( + val text: String +) : BaseComponentDto { + override fun toDomain(): ButtonComponent { + return ButtonComponent( + text = text + ) + } +} \ No newline at end of file diff --git a/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/ImageComponentDto.kt b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/ImageComponentDto.kt new file mode 100644 index 00000000..6b03a9c4 --- /dev/null +++ b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/ImageComponentDto.kt @@ -0,0 +1,21 @@ +package com.bff.wespot.data.remote.model.serverDriven + +import com.bff.wespot.model.serverDriven.ImageComponent +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +@SerialName("imageComponent") +data class ImageComponentDto( + val url: String, + val width: Int, + val height: Int +) : BaseComponentDto { + override fun toDomain(): ImageComponent { + return ImageComponent( + url = url, + width = width, + height = height + ) + } +} \ No newline at end of file diff --git a/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/OnBoardingContentDto.kt b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/OnBoardingContentDto.kt new file mode 100644 index 00000000..deb8505f --- /dev/null +++ b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/OnBoardingContentDto.kt @@ -0,0 +1,29 @@ +package com.bff.wespot.data.remote.model.serverDriven + +import com.bff.wespot.model.serverDriven.OnBoarding +import com.bff.wespot.model.serverDriven.OnBoardingContent +import kotlinx.serialization.Serializable + +@Serializable +data class OnBoardingDto( + val id: Int, + val name: String, + val data: List +) { + fun toDomain() = OnBoarding( + id = id, + name = name, + data = data.map { it.toDomain() } + ) +} + +@Serializable +data class OnBoardingContentDto( + val page: Int, + val data: List +) { + fun toDomain() = OnBoardingContent( + page = page, + data = data.map { it.toDomain() } + ) +} \ No newline at end of file diff --git a/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/TextListComponentDto.kt b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/TextListComponentDto.kt new file mode 100644 index 00000000..c3b43123 --- /dev/null +++ b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/TextListComponentDto.kt @@ -0,0 +1,29 @@ +package com.bff.wespot.data.remote.model.serverDriven + +import com.bff.wespot.model.serverDriven.TextList +import com.bff.wespot.model.serverDriven.TextListComponent +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +@SerialName("textListComponent") +data class TextListComponentDto( + val textList: List +) : BaseComponentDto { + override fun toDomain(): TextListComponent { + return TextListComponent( + textList = textList.map { it.toDomain() } + ) + } +} + +@Serializable +data class TextListDto( + val icon: String, + val text: String +) { + fun toDomain() = TextList( + icon = icon, + text = text + ) +} \ No newline at end of file diff --git a/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/TitleComponentDto.kt b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/TitleComponentDto.kt new file mode 100644 index 00000000..d9133b9e --- /dev/null +++ b/data-remote/src/main/kotlin/com/bff/wespot/data/remote/model/serverDriven/TitleComponentDto.kt @@ -0,0 +1,18 @@ +package com.bff.wespot.data.remote.model.serverDriven + +import com.bff.wespot.model.serverDriven.TitleComponent +import kotlinx.serialization.SerialName +import kotlinx.serialization.Serializable + +@Serializable +@SerialName("titleComponent") +data class TitleComponentDto( + val text: String + +) : BaseComponentDto { + override fun toDomain(): TitleComponent { + return TitleComponent( + text = text + ) + } +} \ No newline at end of file