From 967be9e750221ab2ab783f95df79bb26d290a45e Mon Sep 17 00:00:00 2001 From: Martial Simon Date: Mon, 15 Sep 2025 01:07:58 +0200 Subject: add: added projects --- jws/database/pom.xml | 231 +++++++++++++++++++++ .../epita/assistants/data/model/CourseModel.java | 17 ++ .../epita/assistants/data/model/StudentModel.java | 15 ++ .../src/main/resources/application.properties | 24 +++ 4 files changed, 287 insertions(+) create mode 100644 jws/database/pom.xml create mode 100644 jws/database/src/main/java/fr/epita/assistants/data/model/CourseModel.java create mode 100644 jws/database/src/main/java/fr/epita/assistants/data/model/StudentModel.java create mode 100644 jws/database/src/main/resources/application.properties (limited to 'jws/database') diff --git a/jws/database/pom.xml b/jws/database/pom.xml new file mode 100644 index 0000000..4f79f2b --- /dev/null +++ b/jws/database/pom.xml @@ -0,0 +1,231 @@ + + + 4.0.0 + + fr.epita.assistants + database + 1.0 + + + 21 + 21 + 21 + + 3.13.0 + true + + 2.22.2 + 3.4.1 + 3.1.2 + + UTF-8 + UTF-8 + + io.quarkus.platform + quarkus-bom + 3.16.1 + + + true + + ${project.build.directory}/surefire-reports + + + + + + ${quarkus.platform.group-id} + ${quarkus.platform.artifact-id} + ${quarkus.platform.version} + pom + import + + + + + + + io.quarkus + quarkus-resteasy + + + io.quarkus + quarkus-resteasy-jackson + + + io.quarkus + quarkus-arc + + + io.quarkus + quarkus-quartz + + + io.quarkus + quarkus-smallrye-openapi + + + org.projectlombok + lombok + 1.18.30 + + + org.apache.maven.plugins + maven-surefire-plugin + ${versions.maven-surefire-plugin} + + + com.tngtech.archunit + archunit-junit5 + 1.3.0 + + + io.github.classgraph + classgraph + 4.8.179 + + + io.quarkus + quarkus-junit5 + test + + + io.rest-assured + rest-assured + test + + + io.smallrye.reactive + smallrye-reactive-messaging-in-memory + test + + + org.awaitility + awaitility + test + + + org.assertj + assertj-core + 3.26.0 + test + + + io.quarkus + quarkus-jdbc-postgresql + + + io.quarkus + quarkus-hibernate-orm-panache + + + org.apache.maven.plugins + maven-jar-plugin + ${versions.maven-jar-plugin} + + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + fully.qualified.MainClass + + + + jar-with-dependencies + + + + + io.quarkus + quarkus-maven-plugin + ${quarkus.platform.version} + true + + + + build + generate-code + generate-code-tests + + + + + + maven-compiler-plugin + ${compiler-plugin.version} + + ${maven.compiler.parameters} + + + + maven-surefire-plugin + ${versions.maven-surefire-plugin} + + + org.jboss.logmanager.LogManager + ${maven.home} + + + + + + + + fetch-bom + + true + + + + io.quarkus.platform + quarkus-bom-quarkus-platform-properties + 3.17.5 + properties + + + + + native + + + + native + + + + + + maven-failsafe-plugin + ${versions.maven-surefire-plugin} + + + + integration-test + verify + + + + ${project.build.directory}/${project.build.finalName}-runner + org.jboss.logmanager.LogManager + ${maven.home} + + + + + + + + + native + + + + + 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 tag; + @OneToMany(mappedBy = "courseModel") + public List 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 -- cgit v1.2.3