From 2ca85aab888028eca13bf509b52fb4febb3e7f76 Mon Sep 17 00:00:00 2001 From: Florian THIERRY Date: Mon, 14 Apr 2025 13:52:20 +0200 Subject: [PATCH] Add product classes into domain. --- build.gradle.kts | 6 ++++++ demo-domain/build.gradle.kts | 8 ++++++++ .../com/example/demo/domain/product/model/Product.kt | 9 +++++++++ .../example/demo/domain/product/model/ProductType.kt | 7 +++++++ .../example/demo/domain/product/port/ProductPort.kt | 12 ++++++++++++ demo-launcher/build.gradle.kts | 4 ---- settings.gradle.kts | 3 ++- 7 files changed, 44 insertions(+), 5 deletions(-) create mode 100644 demo-domain/build.gradle.kts create mode 100644 demo-domain/src/main/kotlin/com/example/demo/domain/product/model/Product.kt create mode 100644 demo-domain/src/main/kotlin/com/example/demo/domain/product/model/ProductType.kt create mode 100644 demo-domain/src/main/kotlin/com/example/demo/domain/product/port/ProductPort.kt diff --git a/build.gradle.kts b/build.gradle.kts index ee8e60a..40684e3 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -18,6 +18,12 @@ repositories { mavenCentral() } +subprojects { + repositories { + mavenCentral() + } +} + dependencies { implementation("org.springframework.boot:spring-boot-starter-web") implementation("com.fasterxml.jackson.module:jackson-module-kotlin") diff --git a/demo-domain/build.gradle.kts b/demo-domain/build.gradle.kts new file mode 100644 index 0000000..970ea31 --- /dev/null +++ b/demo-domain/build.gradle.kts @@ -0,0 +1,8 @@ +plugins { + kotlin("jvm") + id("java") +} + +dependencies { + implementation(kotlin("stdlib")) +} \ No newline at end of file diff --git a/demo-domain/src/main/kotlin/com/example/demo/domain/product/model/Product.kt b/demo-domain/src/main/kotlin/com/example/demo/domain/product/model/Product.kt new file mode 100644 index 0000000..36aed03 --- /dev/null +++ b/demo-domain/src/main/kotlin/com/example/demo/domain/product/model/Product.kt @@ -0,0 +1,9 @@ +package com.example.demo.domain.product.model + +import java.util.UUID + +data class Product( + val id: UUID, + val name: String, + val type: ProductType +) diff --git a/demo-domain/src/main/kotlin/com/example/demo/domain/product/model/ProductType.kt b/demo-domain/src/main/kotlin/com/example/demo/domain/product/model/ProductType.kt new file mode 100644 index 0000000..b227852 --- /dev/null +++ b/demo-domain/src/main/kotlin/com/example/demo/domain/product/model/ProductType.kt @@ -0,0 +1,7 @@ +package com.example.demo.domain.product.model + +enum class ProductType { + SOLID, + LIQUID, + GAS +} \ No newline at end of file diff --git a/demo-domain/src/main/kotlin/com/example/demo/domain/product/port/ProductPort.kt b/demo-domain/src/main/kotlin/com/example/demo/domain/product/port/ProductPort.kt new file mode 100644 index 0000000..eedba77 --- /dev/null +++ b/demo-domain/src/main/kotlin/com/example/demo/domain/product/port/ProductPort.kt @@ -0,0 +1,12 @@ +package com.example.demo.domain.product.port + +import com.example.demo.domain.product.model.Product +import java.util.UUID + +interface ProductPort { + fun getById(id: UUID): Product? + + fun getAll(): List + + fun save(product: Product) +} \ No newline at end of file diff --git a/demo-launcher/build.gradle.kts b/demo-launcher/build.gradle.kts index 206815e..3633d28 100644 --- a/demo-launcher/build.gradle.kts +++ b/demo-launcher/build.gradle.kts @@ -5,10 +5,6 @@ plugins { id("java") } -repositories { - mavenCentral() -} - dependencies { implementation(kotlin("stdlib")) implementation("org.springframework.boot:spring-boot-starter-web") diff --git a/settings.gradle.kts b/settings.gradle.kts index f30da06..fb886fc 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -1,2 +1,3 @@ rootProject.name = "demo" -include(":demo-launcher") \ No newline at end of file +include(":demo-domain") +include(":demo-launcher")