diff options
Diffstat (limited to 'jws/database/src')
3 files changed, 56 insertions, 0 deletions
diff --git a/jws/database/src/main/java/fr/epita/assistants/data/model/CourseModel.java b/jws/database/src/main/java/fr/epita/assistants/data/model/CourseModel.java new file mode 100644 index 0000000..4be0261 --- /dev/null +++ b/jws/database/src/main/java/fr/epita/assistants/data/model/CourseModel.java @@ -0,0 +1,17 @@ +package fr.epita.assistants.data.model; + +import jakarta.persistence.*; + +import java.util.List; + +@Entity +@Table(name = "course_model") +public class CourseModel { + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + public long id; + public String name; + @ElementCollection @CollectionTable(name = "course_model_tags", joinColumns = @JoinColumn(name = "course_id")) + public List<String> tag; + @OneToMany(mappedBy = "courseModel") + public List<StudentModel> students; +} diff --git a/jws/database/src/main/java/fr/epita/assistants/data/model/StudentModel.java b/jws/database/src/main/java/fr/epita/assistants/data/model/StudentModel.java new file mode 100644 index 0000000..9d82559 --- /dev/null +++ b/jws/database/src/main/java/fr/epita/assistants/data/model/StudentModel.java @@ -0,0 +1,15 @@ +package fr.epita.assistants.data.model; + +import jakarta.persistence.*; + +@Entity +@Table(name = "student_model") +public class StudentModel { + public String name; + @Id @GeneratedValue(strategy = GenerationType.IDENTITY) + public long id; + + @ManyToOne + @JoinColumn(name = "course_id") + public CourseModel courseModel; +} diff --git a/jws/database/src/main/resources/application.properties b/jws/database/src/main/resources/application.properties new file mode 100644 index 0000000..8d1ceb2 --- /dev/null +++ b/jws/database/src/main/resources/application.properties @@ -0,0 +1,24 @@ +# DEV +%dev.quarkus.http.port=8082 +%dev.quarkus.hibernate-orm.database.default-schema=${epita.group.id} +%dev.quarkus.datasource.jdbc.url=jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5432}/${DB_NAME:courses} +%dev.quarkus.flyway.create-schemas=true +%dev.quarkus.flyway.schemas=${epita.group.id} + +%dev.quarkus.swagger-ui.enable=true +quarkus.swagger-ui.always-include=true +quarkus.swagger-ui.theme=material + +# DB +quarkus.datasource.username=${DB_USERNAME:postgres} +quarkus.datasource.password=${DB_PASSWORD:postgres} +quarkus.datasource.jdbc.url=jdbc:postgresql://${DB_HOST:localhost}:${DB_PORT:5432}/${DB_NAME:courses} +quarkus.datasource.jdbc.transaction-isolation-level=read-uncommitted + +epita.group.id=courses +epita.random=0 + +quarkus.hibernate-orm.database.generation=${DATABASE_DB_GENERATION:update} + +quarkus.devservices.enabled=false +quarkus.http.cors=true |
