Exercise Data class, repo, controller
This commit is contained in:
parent
6bfbdd2b59
commit
7c23ec7fa4
@ -5,7 +5,7 @@ stages:
|
||||
- build
|
||||
- prepare
|
||||
- test
|
||||
- deploy
|
||||
# - deploy
|
||||
|
||||
variables:
|
||||
# Configure mysql environment variables (https://hub.docker.com/_/mysql/)
|
||||
@ -43,18 +43,18 @@ connect:
|
||||
script:
|
||||
- apt-get update && apt-get --assume-yes install mysql-client
|
||||
- mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql -e "use $MYSQL_DATABASE; show tables;"
|
||||
#- mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql < "data/db/install.sql"
|
||||
#- mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=mysql < "data/db/install.sql" #first time
|
||||
|
||||
test:
|
||||
stage: test
|
||||
image: openjdk:latest
|
||||
script:
|
||||
- ./gradlew check -Pargs='spring.profiles.active=deploy'
|
||||
- ./gradlew check -Pargs='spring.profiles.active=test'
|
||||
|
||||
deploy:
|
||||
stage: deploy
|
||||
script:
|
||||
- ./deploy
|
||||
#deploy:
|
||||
# stage: deploy
|
||||
# script:
|
||||
# - ./deploy
|
||||
|
||||
after_script:
|
||||
- echo "End CI"
|
||||
|
@ -1,6 +0,0 @@
|
||||
terminal:
|
||||
script: sleep 60
|
||||
variables:
|
||||
RAILS_ENV: "test"
|
||||
NODE_ENV: "test"
|
||||
|
@ -4,6 +4,12 @@ services:
|
||||
image: 'atlassian/jira-software:latest'
|
||||
container_name: 'jira'
|
||||
restart: 'always'
|
||||
environment:
|
||||
ATL_TOMCAT_PORT: 8082
|
||||
ATL_TOMCAT_SCHEME: "https"
|
||||
ATL_TOMCAT_SECURE: "true"
|
||||
ATL_DB_DRIVER: "com.mysql.jdbc.Driver"
|
||||
ATL_DB_TYPE: "mysql"
|
||||
volumes:
|
||||
- jiraVolume:/var/atlassian/application-data/jira
|
||||
- db_data:/var/lib/mysql
|
||||
@ -79,6 +85,11 @@ services:
|
||||
volumes:
|
||||
- /var/run/docker.sock:/var/run/docker.sock
|
||||
- /srv/gitlab-runner/config:/etc/gitlab-runner
|
||||
secrets:
|
||||
mysql_root_pwd:
|
||||
file: /.sec/mysql_root_pwd
|
||||
mysql_user_pwd:
|
||||
file: /.sec/mysql_user_pwd
|
||||
networks:
|
||||
bosi_default:
|
||||
volumes:
|
31
ci-cd/production-docker-compose.yml
Normal file
31
ci-cd/production-docker-compose.yml
Normal file
@ -0,0 +1,31 @@
|
||||
version: '3.8'
|
||||
|
||||
services:
|
||||
mysql:
|
||||
image: mysql:latest
|
||||
container_name: mysql
|
||||
restart: always
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: andio2009
|
||||
MYSQL_DATABASE: aitrainer
|
||||
MYSQL_USER: aitrainer
|
||||
MYSQL_PASSWORD: andio2009
|
||||
volumes:
|
||||
- ./docker/db:/docker-entrypoint-initdb.d
|
||||
ports:
|
||||
- "33061:33061"
|
||||
command: mysql --user=root --password="$MYSQL_ROOT_PASSWORD" --host=localhost < "/home/bosi/aitrainer/data/install.sql"
|
||||
|
||||
java:
|
||||
image: openjdk:latest
|
||||
|
||||
|
||||
tomcat:
|
||||
image: tomcat:latest
|
||||
container_name: tomcat
|
||||
volumes:
|
||||
- ./docker/aitrainer_server.jar:/home/bosi/aitrainer/deploy/aitrainer_server.jar
|
||||
ports:
|
||||
- "8080:8080"
|
||||
depends_on:
|
||||
- java
|
1
gradlew.bat
vendored
1
gradlew.bat
vendored
@ -83,7 +83,6 @@ set CMD_LINE_ARGS=%*
|
||||
@rem Setup the command line
|
||||
|
||||
set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar
|
||||
|
||||
@rem Execute Gradle
|
||||
"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %CMD_LINE_ARGS%
|
||||
|
||||
|
@ -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())
|
||||
}
|
||||
}
|
20
src/main/kotlin/com/aitrainer/api/model/Exercises.kt
Normal file
20
src/main/kotlin/com/aitrainer/api/model/Exercises.kt
Normal file
@ -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>
|
13
src/main/resources/application-prod.properties
Normal file
13
src/main/resources/application-prod.properties
Normal file
@ -0,0 +1,13 @@
|
||||
spring.profiles.active=prod
|
||||
## Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
|
||||
#spring.datasource.url = jdbc:mysql://localhost:3306/aitrainer?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
|
||||
spring.datasource.url = jdbc:mysql://localhost:3306/aitrainer?serverTimezone=CET&useSSL=false&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
||||
spring.datasource.username = aitrainer
|
||||
spring.datasource.password = andio2009
|
||||
|
||||
|
||||
## Hibernate Properties
|
||||
|
||||
|
||||
# The SQL dialect makes Hibernate generate better SQL for the chosen database
|
||||
spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL5InnoDBDialect
|
@ -1,4 +1,4 @@
|
||||
spring.profiles.active=deploy
|
||||
spring.profiles.active=test
|
||||
## Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
|
||||
#spring.datasource.url = jdbc:mysql://localhost:3306/aitrainer?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
|
||||
spring.datasource.url = jdbc:mysql://mysql:3306/aitrainer?serverTimezone=CET&useSSL=false&characterEncoding=UTF-8&allowPublicKeyRetrieval=true&allowMultiQueries=true
|
@ -1,4 +1,4 @@
|
||||
spring.profiles.active=dev,deploy
|
||||
spring.profiles.active=dev,test,prod
|
||||
## Spring DATASOURCE (DataSourceAutoConfiguration & DataSourceProperties)
|
||||
#spring.datasource.url = jdbc:mysql://localhost:3306/aitrainer?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&useSSL=false
|
||||
spring.datasource.url = jdbc:mysql://localhost:3306/aitrainer?serverTimezone=CET&useSSL=false&characterEncoding=UTF-8&allowMultiQueries=true
|
||||
|
Loading…
Reference in New Issue
Block a user