Exercise repo, getAllByCustomerId, unit test (+code inspection)

This commit is contained in:
Bossanyi Tibor
2020-05-11 21:26:44 +02:00
parent 7c23ec7fa4
commit a6627a31e7
10 changed files with 42 additions and 87 deletions
@@ -4,8 +4,7 @@ import org.springframework.boot.SpringApplication
import org.springframework.boot.autoconfigure.SpringBootApplication
@SpringBootApplication
class ApiApplication {
}
class ApiApplication
fun main(args: Array<String>) {
SpringApplication.run(ApiApplication::class.java, *args)
@@ -2,10 +2,8 @@ package com.aitrainer.api.controller
import com.aitrainer.api.model.Customer
import com.aitrainer.api.repository.CustomerRepository
import org.springframework.http.HttpStatus
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*
import java.util.*
import javax.validation.Valid
@RestController
@@ -1,19 +1,19 @@
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 org.springframework.web.bind.annotation.*
import javax.validation.Valid
class ExerciesController(private val exercisesRepository: ExercisesRepository) {
@GetMapping("/exercises/customer/{id}")
fun getAllExersicesByCustomerId(customerId: Long): List<Exercises> =
exercisesRepository.getAllByCustomerId(customerId)
@PostMapping("/exercises")
fun createNewCustomer(@Valid @RequestBody exercises: Exercises): Exercises =
fun createNewExercise(@Valid @RequestBody exercises: Exercises): Exercises =
exercisesRepository.save(exercises)
@PutMapping("/exercises/{id}")
@@ -21,9 +21,9 @@ class ExerciesController(private val exercisesRepository: ExercisesRepository) {
@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,
exerciseTypeId = newExercises.exerciseTypeId,
customerId = newExercises.customerId,
datetimeExercise = newExercises.datetimeExercise,
quantity = newExercises.quantity,
restTime = newExercises.restTime
)
@@ -2,10 +2,8 @@ package com.aitrainer.api.controller
import com.aitrainer.api.model.ExerciseType
import com.aitrainer.api.repository.ExerciseTypeRepository
import org.springframework.http.HttpStatus
import org.springframework.http.ResponseEntity
import org.springframework.web.bind.annotation.*
import java.util.*
import javax.validation.Valid
@RestController
@@ -6,15 +6,16 @@ import javax.persistence.Entity
import javax.persistence.GeneratedValue
import javax.persistence.GenerationType
import javax.persistence.Id
import javax.validation.constraints.Null
@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
@get: NonNull var exerciseTypeId: Long = 0,
@get: NonNull var customerId: Long = 0,
@get: NonNull var datetimeExercise: Date? = null,
@get: NonNull var quantity: Int = 0,
@get: Null var restTime: Integer, // in seconds
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
val exercise_id: Long = 0
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
val exerciseId: Long = 0
)
@@ -5,4 +5,6 @@ import org.springframework.data.jpa.repository.JpaRepository
import org.springframework.stereotype.Repository
@Repository
interface ExercisesRepository : JpaRepository<Exercises, Long>
interface ExercisesRepository : JpaRepository<Exercises, Long> {
fun getAllByCustomerId( customerId: Long ):List<Exercises>
}