diff --git a/src/main/kotlin/com/aitrainer/api/controller/ExerciesController.kt b/src/main/kotlin/com/aitrainer/api/controller/ExerciesController.kt index 95f72fc..c0e8eed 100644 --- a/src/main/kotlin/com/aitrainer/api/controller/ExerciesController.kt +++ b/src/main/kotlin/com/aitrainer/api/controller/ExerciesController.kt @@ -6,10 +6,19 @@ import org.springframework.http.ResponseEntity import org.springframework.web.bind.annotation.* import javax.validation.Valid +@RestController +@RequestMapping("/api") class ExerciesController(private val exercisesRepository: ExercisesRepository) { + @GetMapping("/exercises/{id}") + fun getExerciseById(@PathVariable(value = "id") exerciseId: Long): ResponseEntity { + return exercisesRepository.findById(exerciseId).map { exercise -> + ResponseEntity.ok(exercise) + }.orElse(ResponseEntity.notFound().build()) + } + @GetMapping("/exercises/customer/{id}") - fun getAllExersicesByCustomerId(customerId: Long): List = + fun getAllExersicesByCustomerId(@PathVariable( value = "id" ) customerId: Long? ): List = exercisesRepository.getAllByCustomerId(customerId) @PostMapping("/exercises") diff --git a/src/main/kotlin/com/aitrainer/api/repository/ExercisesRepository.kt b/src/main/kotlin/com/aitrainer/api/repository/ExercisesRepository.kt index d077144..05f7426 100644 --- a/src/main/kotlin/com/aitrainer/api/repository/ExercisesRepository.kt +++ b/src/main/kotlin/com/aitrainer/api/repository/ExercisesRepository.kt @@ -6,5 +6,5 @@ import org.springframework.stereotype.Repository @Repository interface ExercisesRepository : JpaRepository { - fun getAllByCustomerId( customerId: Long ):List + fun getAllByCustomerId( customerId: Long? ):List } \ No newline at end of file diff --git a/src/main/kotlin/com/aitrainer/api/service/ExerciseService.kt b/src/main/kotlin/com/aitrainer/api/service/ExerciseService.kt index 0b951ef..e505bc3 100644 --- a/src/main/kotlin/com/aitrainer/api/service/ExerciseService.kt +++ b/src/main/kotlin/com/aitrainer/api/service/ExerciseService.kt @@ -5,6 +5,6 @@ import org.springframework.data.jpa.repository.Query import org.springframework.data.repository.query.Param interface ExerciseService { - @Query("FROM Exercises WHERE customer_id = :customerId") - fun findAllByCustomerId( @Param("customerId") customerId: Long): List + @Query("FROM exercises WHERE customer_id = :customerId") + fun findAllByCustomerId( @Param("customerId") customerId: Long? ): List } \ No newline at end of file diff --git a/src/test/kotlin/com/aitrainer/api/test/AitrainerDBTest.kt b/src/test/kotlin/com/aitrainer/api/test/AitrainerDBTest.kt index e7bdfe5..a8a6c72 100644 --- a/src/test/kotlin/com/aitrainer/api/test/AitrainerDBTest.kt +++ b/src/test/kotlin/com/aitrainer/api/test/AitrainerDBTest.kt @@ -22,9 +22,9 @@ class AitrainerDBTest(configuration: ApplicationConfiguration) { this.username = this.conf.username.orEmpty() this.password = this.conf.password.orEmpty() this.datasourceUrl = this.conf.url.orEmpty() - assertTrue ("username should not be empty", { this.username.isNotEmpty() }) - assertTrue ("password should not be empty", { this.password.isNotEmpty() }) - assertTrue ("url should not be empty", { this.datasourceUrl.isNotEmpty() }) + assertTrue ("username should not be empty") { this.username.isNotEmpty() } + assertTrue ("password should not be empty") { this.password.isNotEmpty() } + assertTrue ("url should not be empty") { this.datasourceUrl.isNotEmpty() } this.getConnection() diff --git a/src/test/kotlin/com/aitrainer/api/test/ExerciseTypeTest.kt b/src/test/kotlin/com/aitrainer/api/test/ExerciseTypeTest.kt index 7dac582..c9cd308 100644 --- a/src/test/kotlin/com/aitrainer/api/test/ExerciseTypeTest.kt +++ b/src/test/kotlin/com/aitrainer/api/test/ExerciseTypeTest.kt @@ -12,6 +12,7 @@ class ExerciseTypeTest { @Autowired private lateinit var exerciseTypeRepository: ExerciseTypeRepository + private var insertedId: Long = 0 @Test fun testGet() { @@ -24,7 +25,7 @@ class ExerciseTypeTest { val savedEx: ExerciseType = exerciseTypeRepository.save(newEx) assertEquals(savedEx.name, "Húzodszkodás") - val insertedId: Long = savedEx.exerciseTypeId + this.insertedId = savedEx.exerciseTypeId val extype: ExerciseType = exerciseTypeRepository.findById( savedEx.exerciseTypeId ).orElse(null) assertEquals( extype.name, "Húzodszkodás")