Exercise Data class, repo, controller

This commit is contained in:
Bossanyi Tibor
2020-05-11 16:42:52 +02:00
committed by Bossanyi Tibor
parent 6bfbdd2b59
commit 7c23ec7fa4
13 changed files with 125 additions and 16 deletions
@@ -0,0 +1,33 @@
package com.aitrainer.api.controller
import com.aitrainer.api.model.Customer
import com.aitrainer.api.model.Exercises
import com.aitrainer.api.repository.ExercisesRepository
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.PathVariable
import org.springframework.web.bind.annotation.PostMapping
import org.springframework.web.bind.annotation.PutMapping
import org.springframework.web.bind.annotation.RequestBody
import javax.validation.Valid
class ExerciesController(private val exercisesRepository: ExercisesRepository) {
@PostMapping("/exercises")
fun createNewCustomer(@Valid @RequestBody exercises: Exercises): Exercises =
exercisesRepository.save(exercises)
@PutMapping("/exercises/{id}")
fun updateExerciseById(@PathVariable(value = "id") exerciseId: Long,
@Valid @RequestBody newExercises: Exercises): ResponseEntity<Exercises> {
return exercisesRepository.findById(exerciseId).map { existingExercises ->
val updatedExercises: Exercises = existingExercises.copy(
exercise_type_id = newExercises.exercise_type_id,
customer_id = newExercises.customer_id,
dateTimeExercise = newExercises.dateTimeExercise,
quantity = newExercises.quantity,
restTime = newExercises.restTime
)
ResponseEntity.ok().body(exercisesRepository.save(updatedExercises))
}.orElse(ResponseEntity.notFound().build())
}
}