diff --git a/CHANGELOG.md b/CHANGELOG.md
index f680e74be9e41f8e46bcb09c71f645e5dd856ed1..71d51edc00f72af71ee798226afac0b805714ff4 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- Queue feedback rating link replaced with actual rating. @dsavvidi
+- Job offer applications are sorted based on the time of application @dsavvidi
### Fixed
diff --git a/build.gradle.kts b/build.gradle.kts
index 68a3120bc1ff2d495d91c24b3dd6e58e6d1974e9..2b4f3500be47e032bb3700d36339665c31cbea49 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -4,12 +4,12 @@ import nl.javadude.gradle.plugins.license.DownloadLicensesExtension
import nl.javadude.gradle.plugins.license.LicenseExtension
group = "nl.tudelft.tam"
-version = "2.1.7"
+version = "2.2.1"
val javaVersion = JavaVersion.VERSION_17
-val labradoorVersion = "1.4.1-SNAPSHOT"
-val libradorVersion = "1.2.1"
+val labradoorVersion = "1.4.1"
+val libradorVersion = "1.3.0"
val chihuahUIVersion = "1.0.0"
val guavaVersion = "32.1.1-jre"
val modelMapperVersion = "3.1.0"
@@ -59,11 +59,11 @@ plugins {
// Spring plugins for managing dependencies and creating
// a nice Spring Boot application.
- id("org.springframework.boot").version("2.7.14")
- id("io.spring.dependency-management").version("1.1.3")
+ id("org.springframework.boot").version("2.7.18")
+ id("io.spring.dependency-management").version("1.1.4")
// Spotless plugin for checking style of Java code.
- id("com.diffplug.spotless").version("6.21.0")
+ id("com.diffplug.spotless").version("6.23.3")
// Plugin for checking license headers within our code and files.
id("com.github.hierynomus.license").version("0.16.1")
@@ -71,7 +71,7 @@ plugins {
// Plugin to provide task to check the current versions of
// dependencies and of Gradle to see if updates are available.
- id("com.github.ben-manes.versions").version("0.47.0")
+ id("com.github.ben-manes.versions").version("0.50.0")
id("com.unclezs.gradle.sass").version("1.0.10")
}
@@ -252,7 +252,6 @@ dependencies {
// Other Spring dependencies
implementation("org.springframework:spring-web")
implementation("org.springframework.security:spring-security-messaging")
- implementation("org.springdoc:springdoc-openapi-ui:$springDocVersion")
// Thymeleaf layout dialect
implementation("nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect")
diff --git a/src/main/java/nl/tudelft/tam/cache/EditionRolesCacheManager.java b/src/main/java/nl/tudelft/tam/cache/EditionRolesCacheManager.java
index 4ef46ea26f70844a75f153e2ccb314203c5fdfb6..0d83321f8503d9ed52e639b44d9328cb5f3b5af5 100644
--- a/src/main/java/nl/tudelft/tam/cache/EditionRolesCacheManager.java
+++ b/src/main/java/nl/tudelft/tam/cache/EditionRolesCacheManager.java
@@ -18,6 +18,7 @@
package nl.tudelft.tam.cache;
import java.util.List;
+import java.util.Set;
import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
@@ -63,10 +64,10 @@ public class EditionRolesCacheManager extends CoreCacheManager<Long, EditionRole
}
@Override
- protected List<RoleHolder> fetch(List<Long> ids) {
+ protected Set<RoleHolder> fetch(Set<Long> ids) {
return ids.stream()
.map(id -> new RoleHolder(id, eApi.getEditionParticipants(id).collectList().block()))
- .collect(Collectors.toList());
+ .collect(Collectors.toSet());
}
@Override
diff --git a/src/main/java/nl/tudelft/tam/dto/view/summary/ApplicationSummaryDTO.java b/src/main/java/nl/tudelft/tam/dto/view/summary/ApplicationSummaryDTO.java
index 6d02cdee508acbdfbaa8f27e47fb133ab75fb72d..62a3115bc07ec28620ba041c3b49a1cb5ca19f5e 100644
--- a/src/main/java/nl/tudelft/tam/dto/view/summary/ApplicationSummaryDTO.java
+++ b/src/main/java/nl/tudelft/tam/dto/view/summary/ApplicationSummaryDTO.java
@@ -17,7 +17,7 @@
*/
package nl.tudelft.tam.dto.view.summary;
-import java.time.LocalDate;
+import java.time.LocalDateTime;
import lombok.*;
import lombok.experimental.SuperBuilder;
@@ -38,7 +38,7 @@ public class ApplicationSummaryDTO extends View<Application> {
private String content;
- private LocalDate createdDate;
+ private LocalDateTime createdDate;
@Builder.Default
private Status status = Status.SUBMITTED;
diff --git a/src/main/java/nl/tudelft/tam/model/Application.java b/src/main/java/nl/tudelft/tam/model/Application.java
index f6619c41fe7a1fd727544f3cfc720332d4b7a934..d968861500015c8b891f69767d8da6ea000b3bfa 100644
--- a/src/main/java/nl/tudelft/tam/model/Application.java
+++ b/src/main/java/nl/tudelft/tam/model/Application.java
@@ -18,7 +18,7 @@
package nl.tudelft.tam.model;
import java.io.Serializable;
-import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
@@ -76,21 +76,21 @@ public class Application {
@NotNull
@Builder.Default
@Column(columnDefinition = "DATE")
- private LocalDate createdDate = LocalDate.now();
+ private LocalDateTime createdDate = LocalDateTime.now();
@NotNull
@Builder.Default
@Column(columnDefinition = "DATE")
- private LocalDate lastModifiedDate = LocalDate.now();
+ private LocalDateTime lastModifiedDate = LocalDateTime.now();
@PreUpdate
public void setLastModifiedDate() {
- this.lastModifiedDate = LocalDate.now();
+ this.lastModifiedDate = LocalDateTime.now();
}
@PrePersist
public void setCreatedDate() {
- this.createdDate = LocalDate.now();
+ this.createdDate = LocalDateTime.now();
}
}
diff --git a/src/test/java/nl/tudelft/tam/controller/JobOfferControllerTest.java b/src/test/java/nl/tudelft/tam/controller/JobOfferControllerTest.java
index 98c445bf7ab178f3f2e28e7c0b1aee894407acf7..0bfdcc602d441ca8f3c504cb96431c0309fbd5a0 100644
--- a/src/test/java/nl/tudelft/tam/controller/JobOfferControllerTest.java
+++ b/src/test/java/nl/tudelft/tam/controller/JobOfferControllerTest.java
@@ -153,11 +153,11 @@ class JobOfferControllerTest {
.deadline(LocalDate.now().plusDays(1)).build();
app1a = ApplicationSummaryDTO.builder().personId(PERSON_ID_1).jobOfferId(JOFFER_ID_1)
- .status(Status.SUBMITTED).createdDate(LocalDate.now()).build();
+ .status(Status.SUBMITTED).createdDate(LocalDateTime.now()).build();
app1b = ApplicationSummaryDTO.builder().personId(PERSON_ID_2).jobOfferId(JOFFER_ID_1)
- .status(Status.OFFERED).createdDate(LocalDate.now()).build();
+ .status(Status.OFFERED).createdDate(LocalDateTime.now()).build();
app2a = ApplicationSummaryDTO.builder().personId(PERSON_ID_1).jobOfferId(JOFFER_ID_2)
- .status(Status.REJECTED_BY_STUDENT).createdDate(LocalDate.now()).build();
+ .status(Status.REJECTED_BY_STUDENT).createdDate(LocalDateTime.now()).build();
JobOfferDefault joDefault = JobOfferDefault.builder().contractName("TEST JO")
.contractBaanCode("TEST BAAN JO").contractStartDate(LocalDate.now())