diff --git a/readme.MD b/readme.MD index b60d9de..bedc7e1 100644 --- a/readme.MD +++ b/readme.MD @@ -1,4 +1,4 @@ -#aitrainer server API v1.0.54 +#aitrainer server API v1.0.57 connects the MYSQL Database provide a RESTful API for the mobile app @@ -25,5 +25,6 @@ provide a RESTful API for the mobile app * exercise_device * exercise_device_translation * exercise_type_device +* deactivate customer with automatic database update diff --git a/src/main/kotlin/com/aitrainer/api/controller/CustomerPackageController.kt b/src/main/kotlin/com/aitrainer/api/controller/CustomerPackageController.kt index da0e6a3..f546aba 100644 --- a/src/main/kotlin/com/aitrainer/api/controller/CustomerPackageController.kt +++ b/src/main/kotlin/com/aitrainer/api/controller/CustomerPackageController.kt @@ -33,8 +33,9 @@ class CustomerPackageController( private val customerRepository: CustomerReposit .setPrettyPrinting() .create() - val customer: Customer = customerRepository.findById(customerId).orElse(null) + val customer: Customer = customerRepository.findByCustomerIdAndActive(customerId, "Y") ?: return ResponseEntity.notFound().build() + val customerJson: String = gson.toJson(customer) val listCustomerExerciseDevices = customerExerciseDeviceRepository.findByCustomerId(customerId) diff --git a/src/main/kotlin/com/aitrainer/api/repository/CustomerRepository.kt b/src/main/kotlin/com/aitrainer/api/repository/CustomerRepository.kt index 29e6873..8bc49b0 100644 --- a/src/main/kotlin/com/aitrainer/api/repository/CustomerRepository.kt +++ b/src/main/kotlin/com/aitrainer/api/repository/CustomerRepository.kt @@ -14,4 +14,6 @@ interface CustomerRepository : JpaRepository { fun findByTrainerId( trainerId: Long ): List fun findByFirebaseUid(firebaseUid: String?): Customer? + + fun findByCustomerIdAndActive(customerId: Long, active: String): Customer? } diff --git a/src/main/kotlin/com/aitrainer/api/service/CustomerService.kt b/src/main/kotlin/com/aitrainer/api/service/CustomerService.kt index bfebd01..cdfcbae 100644 --- a/src/main/kotlin/com/aitrainer/api/service/CustomerService.kt +++ b/src/main/kotlin/com/aitrainer/api/service/CustomerService.kt @@ -7,4 +7,7 @@ import org.springframework.data.repository.query.Param interface CustomerService { @Query("FROM customer WHERE active = :active ") fun findByActive(@Param("active") active: String? ): List + + @Query("FROM customer WHERE active = :active AND id = :customerId") + fun findByCustomerIdAndActive(@Param("customerId") customerId: Long?, @Param("active") active: String? ): Customer } \ No newline at end of file diff --git a/src/test/kotlin/com/aitrainer/api/test/AppCustomerPackageTest.kt b/src/test/kotlin/com/aitrainer/api/test/AppCustomerPackageTest.kt index 6a6f96c..4552516 100644 --- a/src/test/kotlin/com/aitrainer/api/test/AppCustomerPackageTest.kt +++ b/src/test/kotlin/com/aitrainer/api/test/AppCustomerPackageTest.kt @@ -132,6 +132,10 @@ class AppCustomerPackageTest { } } + // deactivated customer + response = controller.getCustomerPackageData(1) + assertEquals(response.statusCode, HttpStatus.NOT_FOUND) + } } \ No newline at end of file