API: ExercisePlan, ExercisePlanDetail
This commit is contained in:
@@ -41,13 +41,17 @@ class CustomerController ( private val customerRepository: CustomerRepository )
|
||||
|
||||
@Secured
|
||||
@GetMapping("/customers/real")
|
||||
fun getRealCustomers(active: String, @RequestHeader headers: HttpHeaders): List<Customer> =
|
||||
customerRepository.findByActive(active)
|
||||
fun getRealCustomers(active: String, @RequestHeader headers: HttpHeaders): ResponseEntity<List<Customer>> =
|
||||
ResponseEntity.ok().body(customerRepository.findByActive(active))
|
||||
|
||||
@Secured
|
||||
@GetMapping("/customers/trainees/{id}")
|
||||
fun getCustomerListByTrainerId(@PathVariable(value = "id") trainerId: Long, @RequestHeader headers: HttpHeaders): List<Customer> =
|
||||
customerRepository.findByTrainerId(trainerId)
|
||||
fun getCustomerListByTrainerId(@PathVariable(value = "id") trainerId: Long, @RequestHeader headers: HttpHeaders):
|
||||
ResponseEntity<List<Customer>> {
|
||||
val list = customerRepository.findByTrainerId(trainerId)
|
||||
|
||||
return if (list.isEmpty()) ResponseEntity.notFound().build() else ResponseEntity.ok().body(list)
|
||||
}
|
||||
|
||||
@Secured
|
||||
@PostMapping("/customers/{id}")
|
||||
@@ -88,21 +92,6 @@ class CustomerController ( private val customerRepository: CustomerRepository )
|
||||
}
|
||||
|
||||
return ResponseEntity.ok().body(customerRepository.save(updatedCustomer))
|
||||
|
||||
/* return customerRepository.findById(customerId).map {
|
||||
existingCustomer ->
|
||||
val updatedCustomer: Customer = existingCustomer
|
||||
.copy(name = newCustomer.name,
|
||||
firstname = newCustomer.firstname,
|
||||
sex = newCustomer.sex,
|
||||
birthYear = newCustomer.birthYear,
|
||||
fitnessLevel = newCustomer.fitnessLevel,
|
||||
bodyType = newCustomer.bodyType,
|
||||
goal = newCustomer.goal,
|
||||
weight = newCustomer.weight
|
||||
)
|
||||
ResponseEntity.ok().body(customerRepository.save(updatedCustomer))
|
||||
}.orElse(ResponseEntity.notFound().build()) */
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -22,8 +22,8 @@ class ExerciseController(private val exercisesRepository: ExercisesRepository) {
|
||||
exercisesRepository.getAllByCustomerId(customerId)
|
||||
|
||||
@PostMapping("/exercises")
|
||||
fun createNewExercise(@Valid @RequestBody exercise: Exercises): Exercises {
|
||||
return exercisesRepository.save(exercise)
|
||||
fun createNewExercise(@Valid @RequestBody exercise: Exercises): ResponseEntity<Exercises> {
|
||||
return ResponseEntity.ok().body(exercisesRepository.save(exercise))
|
||||
}
|
||||
|
||||
@PutMapping("/exercises/{id}")
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
package com.aitrainer.api.controller
|
||||
|
||||
import com.aitrainer.api.model.ExercisePlan
|
||||
import com.aitrainer.api.repository.ExercisePlanRepository
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import javax.validation.Valid
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api")
|
||||
class ExercisePlanController( private val exercisePlanRepository: ExercisePlanRepository) {
|
||||
private val logger = LoggerFactory.getLogger(javaClass)
|
||||
|
||||
@PostMapping("/exercise_plan")
|
||||
fun createNewExercisePlan(@Valid @RequestBody exercisePlan: ExercisePlan): ResponseEntity<ExercisePlan> {
|
||||
val newExercisePlan = exercisePlanRepository.save(exercisePlan)
|
||||
logger.info("Create new exercise plan: $newExercisePlan")
|
||||
return ResponseEntity.ok().body(newExercisePlan)
|
||||
}
|
||||
|
||||
@GetMapping("/exercise_plan/last/{customerId}")
|
||||
fun getLastExercisePlan(@PathVariable(value = "customerId") customerId: Long): ResponseEntity<ExercisePlan> {
|
||||
|
||||
val exercisePlan = exercisePlanRepository.getLastExercisePlan(customerId)
|
||||
logger.info("Get last exercise plan by id $customerId: $exercisePlan")
|
||||
|
||||
return if( exercisePlan != null)
|
||||
ResponseEntity.ok().body(exercisePlan) else
|
||||
ResponseEntity.notFound().build()
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.aitrainer.api.controller
|
||||
|
||||
import com.aitrainer.api.ApiApplication
|
||||
import com.aitrainer.api.repository.ConfigurationRepository
|
||||
import org.aspectj.lang.annotation.Aspect
|
||||
import org.aspectj.lang.annotation.Before
|
||||
import org.aspectj.lang.annotation.Pointcut
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.beans.factory.annotation.Autowired
|
||||
import org.springframework.stereotype.Component
|
||||
|
||||
@Suppress("unused")
|
||||
@Aspect
|
||||
@Component
|
||||
class ExercisePlanControllerAspect {
|
||||
private val logger = LoggerFactory.getLogger(ApiApplication::class.simpleName)
|
||||
|
||||
@Autowired
|
||||
private lateinit var configurationRepository: ConfigurationRepository
|
||||
@Autowired
|
||||
private lateinit var properties: ApplicationProperties
|
||||
|
||||
@Suppress("unused")
|
||||
@Pointcut("execution(* com.aitrainer.api.controller.ExercisePlanController.*())")
|
||||
fun exercisePlanControllerAspect() {
|
||||
}
|
||||
|
||||
@Before("exercisePlanControllerAspect()")
|
||||
fun loggingAop() {
|
||||
Singleton.checkDBUpdate(configurationRepository, properties)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,28 @@
|
||||
package com.aitrainer.api.controller
|
||||
|
||||
import com.aitrainer.api.model.ExercisePlanDetail
|
||||
import com.aitrainer.api.model.ExerciseType
|
||||
import com.aitrainer.api.repository.ExercisePlanDetailRepository
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.*
|
||||
import javax.validation.Valid
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/api")
|
||||
class ExercisePlanDetailController( private val exercisePlanDetailRepository: ExercisePlanDetailRepository) {
|
||||
private val logger = LoggerFactory.getLogger(javaClass)
|
||||
|
||||
@PostMapping("/exercise_plan_detail")
|
||||
fun createNewExercisePlanDetail(@Valid @RequestBody exercisePlanDetail: ExercisePlanDetail): ResponseEntity<ExercisePlanDetail> {
|
||||
logger.info("Create new exercise plan: $exercisePlanDetail")
|
||||
return ResponseEntity.ok().body(exercisePlanDetailRepository.save(exercisePlanDetail))
|
||||
}
|
||||
|
||||
@GetMapping("/exercise_plan_detail/last/{customerId}")
|
||||
fun getExercisePlanByCustomerId(@PathVariable(value = "customerId") customerId: Long): ResponseEntity<List<ExercisePlanDetail>> {
|
||||
val list: List<ExercisePlanDetail> = exercisePlanDetailRepository.getLastExercisePlanDetail(customerId)
|
||||
logger.info("-- getExercisePlanByCustomerId id: $customerId -- $list")
|
||||
return ResponseEntity.ok().body(list)
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,33 @@
|
||||
package com.aitrainer.api.controller
|
||||
|
||||
import com.aitrainer.api.ApiApplication
|
||||
import com.aitrainer.api.repository.ConfigurationRepository
|
||||
import org.aspectj.lang.annotation.Aspect
|
||||
import org.aspectj.lang.annotation.Before
|
||||
import org.aspectj.lang.annotation.Pointcut
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.beans.factory.annotation.Autowired
|
||||
import org.springframework.stereotype.Component
|
||||
|
||||
@Suppress("unused")
|
||||
@Aspect
|
||||
@Component
|
||||
class ExercisePlanDetailControllerAspect {
|
||||
private val logger = LoggerFactory.getLogger(ApiApplication::class.simpleName)
|
||||
|
||||
@Autowired
|
||||
private lateinit var configurationRepository: ConfigurationRepository
|
||||
@Autowired
|
||||
private lateinit var properties: ApplicationProperties
|
||||
|
||||
@Suppress("unused")
|
||||
@Pointcut("execution(* com.aitrainer.api.controller.ExercisePlanDetailController.*())")
|
||||
fun exercisePlanDetailControllerAspect() {
|
||||
}
|
||||
|
||||
@Before("exercisePlanDetailControllerAspect()")
|
||||
fun loggingAop() {
|
||||
Singleton.checkDBUpdate(configurationRepository, properties)
|
||||
}
|
||||
|
||||
}
|
||||
@@ -3,6 +3,7 @@ package com.aitrainer.api.controller
|
||||
import com.aitrainer.api.model.ExerciseTree
|
||||
import com.aitrainer.api.repository.ExerciseTreeRepository
|
||||
import org.slf4j.LoggerFactory
|
||||
import org.springframework.http.ResponseEntity
|
||||
import org.springframework.web.bind.annotation.GetMapping
|
||||
import org.springframework.web.bind.annotation.RequestMapping
|
||||
import org.springframework.web.bind.annotation.RestController
|
||||
@@ -13,9 +14,10 @@ class ExerciseTreeController (private val exerciseTreeRepository: ExerciseTreeRe
|
||||
private val logger = LoggerFactory.getLogger(javaClass)
|
||||
|
||||
@GetMapping("/exercise_tree")
|
||||
fun getAllActiveMenu(): List<ExerciseTree> {
|
||||
fun getAllActiveMenu(): ResponseEntity<List<ExerciseTree>> {
|
||||
val list: List<ExerciseTree> = exerciseTreeRepository.getActiveMenu()
|
||||
logger.info(" -- Get All active Exercise Tree menu.. $list")
|
||||
return list
|
||||
return if (list.isEmpty()) ResponseEntity.notFound().build() else
|
||||
ResponseEntity.ok().body(list)
|
||||
}
|
||||
}
|
||||
@@ -14,18 +14,18 @@ class ExerciseTypeController ( private val exerciseTypeRepository: ExerciseTypeR
|
||||
private val logger = LoggerFactory.getLogger(javaClass)
|
||||
|
||||
@GetMapping("/exercise_type")
|
||||
fun getAllExerciseType(): List<ExerciseType> {
|
||||
fun getAllExerciseType(): ResponseEntity<List<ExerciseType>> {
|
||||
val list: List<ExerciseType> = exerciseTypeRepository.findAll()
|
||||
logger.info(" -- Get All exercise types..")
|
||||
return list
|
||||
return ResponseEntity.ok().body(list)
|
||||
}
|
||||
|
||||
|
||||
|
||||
@PostMapping("/exercise_type")
|
||||
fun createNewExerciseType(@Valid @RequestBody exerciseType: ExerciseType): ExerciseType {
|
||||
fun createNewExerciseType(@Valid @RequestBody exerciseType: ExerciseType): ResponseEntity<ExerciseType> {
|
||||
logger.info("Create new exercise type: $exerciseType")
|
||||
return exerciseTypeRepository.save(exerciseType)
|
||||
return ResponseEntity.ok().body(exerciseTypeRepository.save(exerciseType))
|
||||
}
|
||||
|
||||
|
||||
@@ -36,19 +36,12 @@ class ExerciseTypeController ( private val exerciseTypeRepository: ExerciseTypeR
|
||||
ResponseEntity.ok(exerciseType)
|
||||
}.orElse(ResponseEntity.notFound().build())
|
||||
}
|
||||
/*
|
||||
@GetMapping("/exercise_type/name/{name}")
|
||||
fun getExerciseTypeByName(@PathVariable(value = "name") name: String): ResponseEntity<ExerciseType> {
|
||||
return exerciseTypeRepository.findByName(name).map { exerciseType ->
|
||||
ResponseEntity.ok(exerciseType)
|
||||
}.orElse(ResponseEntity.notFound().build())
|
||||
}*/
|
||||
|
||||
@GetMapping("exercise_type/active")
|
||||
fun getActiveExerciseType(): List<ExerciseType> {
|
||||
fun getActiveExerciseType(): ResponseEntity<List<ExerciseType>> {
|
||||
val list: List<ExerciseType> = exerciseTypeRepository.getActiveExerciseTypes()
|
||||
logger.info("-- Get Active Exercise Types with Images and Translation -- $list")
|
||||
return list
|
||||
return ResponseEntity.ok().body(list)
|
||||
}
|
||||
|
||||
@PostMapping("/exercise_type/{id}")
|
||||
|
||||
Reference in New Issue
Block a user