From 8d456356843c4e08c3e508ae6d79b18de6390efe Mon Sep 17 00:00:00 2001 From: bossanyit Date: Wed, 28 Jun 2023 21:44:00 +0200 Subject: [PATCH] v1.2.9.10 diet_user.macro --- build.gradle.kts | 2 +- data/db/update_1_2_10.sql | 7 +++++++ .../api/controller/diet/DietUserController.kt | 7 +++++++ .../com/aitrainer/api/model/diet/DietUser.kt | 3 ++- src/main/resources/application-diet.properties | 2 +- .../resources/application-dietprod.properties | 2 +- src/main/resources/application-prod.properties | 2 +- src/main/resources/application.properties | 2 +- .../com/aitrainer/api/test/diet/DietUserTest.kt | 15 +++++++++++++++ 9 files changed, 36 insertions(+), 6 deletions(-) create mode 100644 data/db/update_1_2_10.sql diff --git a/build.gradle.kts b/build.gradle.kts index 2b3e62f..32b568c 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,7 +11,7 @@ plugins { } group = "com.aitrainer" -version = "1.2.9" +version = "1.2.10" java.sourceCompatibility = JavaVersion.VERSION_17 repositories { diff --git a/data/db/update_1_2_10.sql b/data/db/update_1_2_10.sql new file mode 100644 index 0000000..654e4d5 --- /dev/null +++ b/data/db/update_1_2_10.sql @@ -0,0 +1,7 @@ +START TRANSACTION; + +ALTER TABLE `diet_user` ADD COLUMN `macro` char(255) NULL; + +UPDATE configuration set config_value = "1.2.10", date_change=CURRENT_DATE WHERE config_key = "db_version"; + +COMMIT; \ No newline at end of file diff --git a/src/main/kotlin/com/aitrainer/api/controller/diet/DietUserController.kt b/src/main/kotlin/com/aitrainer/api/controller/diet/DietUserController.kt index 0927d33..6743bd1 100644 --- a/src/main/kotlin/com/aitrainer/api/controller/diet/DietUserController.kt +++ b/src/main/kotlin/com/aitrainer/api/controller/diet/DietUserController.kt @@ -21,4 +21,11 @@ class DietUserController(private val dietUserRepository: DietUserRepository) { return if (dietUser == null) ResponseEntity.notFound().build() else ResponseEntity.ok().body(dietUser) } + + @PostMapping("/diet_user/{customerId}") + fun updateCustomer(@PathVariable customerId: Long, @RequestBody dietUser: DietUser): ResponseEntity { + dietUserRepository.findByCustomerId(customerId) ?: return ResponseEntity.notFound().build() + val changedUser = dietUserRepository.save(dietUser) + return ResponseEntity.ok().body(changedUser) + } } \ No newline at end of file diff --git a/src/main/kotlin/com/aitrainer/api/model/diet/DietUser.kt b/src/main/kotlin/com/aitrainer/api/model/diet/DietUser.kt index dc787ac..3ec8135 100644 --- a/src/main/kotlin/com/aitrainer/api/model/diet/DietUser.kt +++ b/src/main/kotlin/com/aitrainer/api/model/diet/DietUser.kt @@ -10,5 +10,6 @@ import javax.validation.constraints.NotNull @Entity data class DietUser( @Expose @Id @GeneratedValue(strategy = GenerationType.IDENTITY) var dietUserId: Long = 0, - @Expose @get: NotNull val customerId: Long + @Expose @get: NotNull val customerId: Long, + @Expose @get: NotNull var macro: String = "", ) \ No newline at end of file diff --git a/src/main/resources/application-diet.properties b/src/main/resources/application-diet.properties index ed44a28..71c1e55 100644 --- a/src/main/resources/application-diet.properties +++ b/src/main/resources/application-diet.properties @@ -16,7 +16,7 @@ logging.config=classpath:logback-spring.xml logging.file=logs # if the database structure has been changed, increment this version number -application.version=1.2.9 +application.version=1.2.10 jwt.secret=aitrainer diff --git a/src/main/resources/application-dietprod.properties b/src/main/resources/application-dietprod.properties index 530e970..d3b56eb 100644 --- a/src/main/resources/application-dietprod.properties +++ b/src/main/resources/application-dietprod.properties @@ -14,7 +14,7 @@ logging.config=classpath:logback-spring.xml logging.file=logs # if the database structue has been changed, increment this version number -application.version=1.2.9 +application.version=1.2.10 jwt.secret=aitrainer diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties index a64575d..9720988 100644 --- a/src/main/resources/application-prod.properties +++ b/src/main/resources/application-prod.properties @@ -14,7 +14,7 @@ logging.config=classpath:logback-spring.xml logging.file=logs # if the database structue has been changed, increment this version number -application.version=1.2.9 +application.version=1.2.10 jwt.secret=aitrainer diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index 68e52a2..d415cf1 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -17,7 +17,7 @@ logging.config=classpath:logback-spring.xml logging.file=logs # if the database structure has been changed, increment this version number -application.version=1.2.9 +application.version=1.2.10 jwt.secret=aitrainer diff --git a/src/test/kotlin/com/aitrainer/api/test/diet/DietUserTest.kt b/src/test/kotlin/com/aitrainer/api/test/diet/DietUserTest.kt index 17cceee..4ee7050 100644 --- a/src/test/kotlin/com/aitrainer/api/test/diet/DietUserTest.kt +++ b/src/test/kotlin/com/aitrainer/api/test/diet/DietUserTest.kt @@ -50,6 +50,21 @@ class DietUserTest { .contentType(MediaType.APPLICATION_JSON)) .andExpect(status().isOk) .andExpect(jsonPath("$.customerId").value(1)) + + dietUser.macro = "Test macro" + mockMvc.perform(post("/api/diet_user/999") + .header("Authorization", "Bearer $authToken") + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(dietUser))) + .andExpect(status().isNotFound) + + mockMvc.perform(post("/api/diet_user/${dietUser.customerId}") + .header("Authorization", "Bearer $authToken") + .contentType(MediaType.APPLICATION_JSON) + .content(gson.toJson(dietUser))) + .andExpect(status().isOk) + .andExpect(jsonPath("$.customerId").value(1)) + .andExpect(jsonPath("$.macro").value("Test macro")) } }