summaryrefslogtreecommitdiff
path: root/jws/database/src
diff options
context:
space:
mode:
Diffstat (limited to 'jws/database/src')
-rw-r--r--jws/database/src/main/java/fr/epita/assistants/data/model/CourseModel.java17
-rw-r--r--jws/database/src/main/java/fr/epita/assistants/data/model/StudentModel.java15
-rw-r--r--jws/database/src/main/resources/application.properties24
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