Exercise Data class, repo, controller
This commit is contained in:
committed by
Bossanyi Tibor
parent
6bfbdd2b59
commit
7c23ec7fa4
@@ -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())
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
package com.aitrainer.api.model
|
||||
|
||||
import org.springframework.lang.NonNull
|
||||
import java.sql.Date
|
||||
import javax.persistence.Entity
|
||||
import javax.persistence.GeneratedValue
|
||||
import javax.persistence.GenerationType
|
||||
import javax.persistence.Id
|
||||
|
||||
@Entity
|
||||
data class Exercises (
|
||||
@get: NonNull var exercise_type_id: Long = 0,
|
||||
@get: NonNull var customer_id: Long = 0,
|
||||
@get: NonNull var dateTimeExercise: Date? = null,
|
||||
@get: NonNull var quantity: Int = 0,
|
||||
var restTime: Int = 0, // in seconds
|
||||
|
||||
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
val exercise_id: Long = 0
|
||||
)
|
||||
@@ -0,0 +1,8 @@
|
||||
package com.aitrainer.api.repository
|
||||
|
||||
import com.aitrainer.api.model.Exercises
|
||||
import org.springframework.data.jpa.repository.JpaRepository
|
||||
import org.springframework.stereotype.Repository
|
||||
|
||||
@Repository
|
||||
interface ExercisesRepository : JpaRepository<Exercises, Long>
|
||||
Reference in New Issue
Block a user