diff --git a/build.gradle.kts b/build.gradle.kts index 4bac556..4beabd7 100644 --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,7 +11,7 @@ plugins { } group = "com.aitrainer" -version = "1.0.56" +version = "1.0.57" java.sourceCompatibility = JavaVersion.VERSION_1_8 repositories { diff --git a/data/db/update_1_0_57.sql b/data/db/update_1_0_57.sql new file mode 100644 index 0000000..01cd55c --- /dev/null +++ b/data/db/update_1_0_57.sql @@ -0,0 +1,5 @@ +START TRANSACTION; + +UPDATE configuration set config_value = "1.0.57", date_change=CURRENT_DATE WHERE config_key = "db_version"; + +COMMIT; diff --git a/src/main/kotlin/com/aitrainer/api/controller/CustomerController.kt b/src/main/kotlin/com/aitrainer/api/controller/CustomerController.kt index f63445a..e2f89f2 100644 --- a/src/main/kotlin/com/aitrainer/api/controller/CustomerController.kt +++ b/src/main/kotlin/com/aitrainer/api/controller/CustomerController.kt @@ -83,6 +83,17 @@ class CustomerController ( private val customerRepository: CustomerRepository) { return ResponseEntity.ok().body(customerRepository.save(returnCustomer)) } + @Secured + @PostMapping("customers/deactivate/{id}") + fun deactivateCustomer(@PathVariable(value = "id") customerId: Long): ResponseEntity { + logger.info("Get customer id: $customerId") + val returnCustomer: Customer = customerRepository.findById(customerId).orElse(null) + ?: return ResponseEntity.notFound().build() + + returnCustomer.active = "N" + return ResponseEntity.ok().body(customerRepository.save(returnCustomer)) + } + @Secured @PostMapping("/customers/{id}") fun updateCustomerById(@PathVariable(value = "id") customerId: Long, diff --git a/src/main/resources/application-prod.properties b/src/main/resources/application-prod.properties index 388fcff..de86d07 100644 --- a/src/main/resources/application-prod.properties +++ b/src/main/resources/application-prod.properties @@ -14,6 +14,6 @@ logging.config=classpath:logback-spring.xml logging.file=logs # if the database structue has been changed, increment this version number -application.version=1.0.56 +application.version=1.0.57 jwt.secret=aitrainer \ No newline at end of file diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index b634519..fe88fea 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -17,6 +17,6 @@ logging.config=classpath:logback-spring.xml logging.file=logs # if the database structure has been changed, increment this version number -application.version=1.0.56 +application.version=1.0.57 jwt.secret=aitrainer diff --git a/src/test/kotlin/com/aitrainer/api/test/AppPackageTest.kt b/src/test/kotlin/com/aitrainer/api/test/AppPackageTest.kt index 07ed6a5..bd8350b 100644 --- a/src/test/kotlin/com/aitrainer/api/test/AppPackageTest.kt +++ b/src/test/kotlin/com/aitrainer/api/test/AppPackageTest.kt @@ -182,7 +182,7 @@ class AppPackageTest { val trainingPlanJson: String = record[1] val type = object : TypeToken?>() {}.type val plans: List = gson.fromJson(trainingPlanJson, type) - assertEquals(plans.size,40) + assertEquals(plans.size,41) assertEquals(plans[1].name, "Beginner Men’s workout") assertEquals(plans[1].internalName, "beginner_man") assertEquals(plans[1].free, true) diff --git a/src/test/kotlin/com/aitrainer/api/test/CustomerActivityTest.kt b/src/test/kotlin/com/aitrainer/api/test/CustomerActivityTest.kt index dcbedf6..280cf34 100644 --- a/src/test/kotlin/com/aitrainer/api/test/CustomerActivityTest.kt +++ b/src/test/kotlin/com/aitrainer/api/test/CustomerActivityTest.kt @@ -1,20 +1,13 @@ package com.aitrainer.api.test import com.aitrainer.api.controller.CustomerActivityController -import com.aitrainer.api.controller.CustomerExerciseDeviceController -import com.aitrainer.api.controller.PurchaseController -import com.aitrainer.api.model.Customer import com.aitrainer.api.model.CustomerActivity -import com.aitrainer.api.model.CustomerExerciseDevice import com.aitrainer.api.repository.CustomerActivityRepository -import com.aitrainer.api.repository.CustomerExerciseDeviceRepository import org.junit.jupiter.api.Test import org.junit.jupiter.api.TestInstance import org.springframework.beans.factory.annotation.Autowired import org.springframework.boot.test.context.SpringBootTest -import org.springframework.http.HttpStatus import kotlin.test.assertEquals -import kotlin.test.assertTrue @SpringBootTest @TestInstance(TestInstance.Lifecycle.PER_CLASS) diff --git a/src/test/kotlin/com/aitrainer/api/test/CustomerTests.kt b/src/test/kotlin/com/aitrainer/api/test/CustomerTests.kt index fb33cd8..f9715c0 100644 --- a/src/test/kotlin/com/aitrainer/api/test/CustomerTests.kt +++ b/src/test/kotlin/com/aitrainer/api/test/CustomerTests.kt @@ -93,6 +93,25 @@ class CustomerTests { customerRepository.delete(updatedCustomer) } + @Test + fun testDeactivateCustomer() { + val id: Long = 90 + + val controller: CustomerController = CustomerController(customerRepository) + controller.deactivateCustomer(id) + + val customer: Customer = customerRepository.findById(id).orElse(null) + assertEquals(customer.active, "N") + + customer.active = "Y" + customerRepository.save(customer) + + val customer2: Customer = customerRepository.findById(id).orElse(null) + assertEquals(customer2.active, "Y") + + + } + @Test fun testUpdateCustomer() { val id:Long = 90