diff --git a/backend/.env.example b/backend/.env.example new file mode 100644 index 0000000..d303425 --- /dev/null +++ b/backend/.env.example @@ -0,0 +1,11 @@ +# Database +DB_USER=beetask +DB_PASSWORD=beetask +DB_URL=jdbc:postgresql://localhost:5432/beetask + +# Optional overrides +# QUARKUS_HTTP_PORT=8080 +# QUARKUS_HTTP_CORS_ORIGINS=http://localhost:5173 +# MP_JWT_VERIFY_ISSUER=https://beetech.net +# SMALLRYE_JWT_SIGN_KEY_LOCATION=privateKey.pem +# MP_JWT_VERIFY_PUBLICKEY_LOCATION=publicKey.pem diff --git a/backend/pom.xml b/backend/pom.xml index 4746dd9..3d00ed8 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -67,10 +67,6 @@ io.quarkus quarkus-jdbc-postgresql - - io.quarkus - quarkus-jdbc-h2 - io.quarkus quarkus-hibernate-validator diff --git a/backend/src/main/java/net/beetechgroup/beetask/frameworks/health/BackendVersionHealthCheck.java b/backend/src/main/java/net/beetechgroup/beetask/frameworks/health/BackendVersionHealthCheck.java new file mode 100644 index 0000000..a4e9762 --- /dev/null +++ b/backend/src/main/java/net/beetechgroup/beetask/frameworks/health/BackendVersionHealthCheck.java @@ -0,0 +1,26 @@ +package net.beetechgroup.beetask.frameworks.health; + +import java.util.Optional; + +import org.eclipse.microprofile.config.inject.ConfigProperty; +import org.eclipse.microprofile.health.HealthCheck; +import org.eclipse.microprofile.health.HealthCheckResponse; +import org.eclipse.microprofile.health.Readiness; + +import jakarta.enterprise.context.ApplicationScoped; + +@Readiness +@ApplicationScoped +public class BackendVersionHealthCheck implements HealthCheck { + + @ConfigProperty(name = "quarkus.application.version") + Optional applicationVersion; + + @Override + public HealthCheckResponse call() { + return HealthCheckResponse.named("backend-version") + .up() + .withData("version", applicationVersion.orElse("unknown")) + .build(); + } +} diff --git a/backend/src/main/java/net/beetechgroup/beetask/frameworks/persistence/entities/TaskEntity.java b/backend/src/main/java/net/beetechgroup/beetask/frameworks/persistence/entities/TaskEntity.java index da079f0..c2a0b21 100644 --- a/backend/src/main/java/net/beetechgroup/beetask/frameworks/persistence/entities/TaskEntity.java +++ b/backend/src/main/java/net/beetechgroup/beetask/frameworks/persistence/entities/TaskEntity.java @@ -3,6 +3,7 @@ package net.beetechgroup.beetask.frameworks.persistence.entities; import java.util.List; import jakarta.persistence.CascadeType; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.EnumType; import jakarta.persistence.Enumerated; @@ -25,6 +26,7 @@ public class TaskEntity { private String description; @Enumerated(EnumType.STRING) private TaskStatus status; + @Column(name = "finished_at") private java.time.LocalDateTime finishedAt; @ManyToOne diff --git a/backend/src/main/java/net/beetechgroup/beetask/frameworks/persistence/entities/TaskHistoryItemEntity.java b/backend/src/main/java/net/beetechgroup/beetask/frameworks/persistence/entities/TaskHistoryItemEntity.java index 1838949..2516acf 100644 --- a/backend/src/main/java/net/beetechgroup/beetask/frameworks/persistence/entities/TaskHistoryItemEntity.java +++ b/backend/src/main/java/net/beetechgroup/beetask/frameworks/persistence/entities/TaskHistoryItemEntity.java @@ -2,6 +2,7 @@ package net.beetechgroup.beetask.frameworks.persistence.entities; import java.time.LocalDateTime; +import jakarta.persistence.Column; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; @@ -17,7 +18,9 @@ public class TaskHistoryItemEntity { @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; + @Column(name = "start_at") private LocalDateTime startAt; + @Column(name = "end_at") private LocalDateTime endAt; @ManyToOne diff --git a/backend/src/main/resources/application.properties b/backend/src/main/resources/application.properties index afcf60d..4bccd3c 100644 --- a/backend/src/main/resources/application.properties +++ b/backend/src/main/resources/application.properties @@ -8,7 +8,7 @@ quarkus.datasource.password=${DB_PASSWORD:beetask} quarkus.datasource.jdbc.url=${DB_URL:jdbc:postgresql://localhost:5432/beetask} quarkus.flyway.migrate-at-start=true -quarkus.hibernate-orm.database.generation=validate +quarkus.hibernate-orm.schema-management.strategy=validate # Swagger & OpenAPI quarkus.smallrye-openapi.path=/openapi