Skip to content
Snippets Groups Projects
Commit c0b605db authored by Martin Vogel's avatar Martin Vogel
Browse files

Merge branch 'fix/event-order' into 'main'

fix: event order by natural event enum order, fixes issue with non-stable...

See merge request !162
parents 9891e5a9 468177ca
No related branches found
No related tags found
1 merge request!162fix: event order by natural event enum order, fixes issue with non-stable...
......@@ -41,7 +41,7 @@ public enum Event {
}
},
FORWARD("forward-submission") {
NOTIFY("notify-submission") {
@Override
public boolean hasAuthTags() {
return false;
......@@ -49,41 +49,41 @@ public enum Event {
@Override
public SubmissionState getState() {
return SubmissionState.FORWARDED;
return SubmissionState.NOTIFIED;
}
@Override
public Set<Event> allowedNextEvents() {
return Set.of(ACCEPT, REJECT, DELETE);
return Set.of(ACCEPT, REJECT, FORWARD);
}
},
ACCEPT("accept-submission") {
FORWARD("forward-submission") {
@Override
public boolean hasAuthTags() {
return true;
return false;
}
@Override
public SubmissionState getState() {
return SubmissionState.ACCEPTED;
return SubmissionState.FORWARDED;
}
@Override
public Set<Event> allowedNextEvents() {
return Set.of(DELETE);
return Set.of(ACCEPT, REJECT, DELETE);
}
},
REJECT("reject-submission") {
ACCEPT("accept-submission") {
@Override
public boolean hasAuthTags() {
return false;
return true;
}
@Override
public SubmissionState getState() {
return SubmissionState.REJECTED;
return SubmissionState.ACCEPTED;
}
@Override
......@@ -92,7 +92,7 @@ public enum Event {
}
},
NOTIFY("notify-submission") {
REJECT("reject-submission") {
@Override
public boolean hasAuthTags() {
return false;
......@@ -100,15 +100,16 @@ public enum Event {
@Override
public SubmissionState getState() {
return SubmissionState.NOTIFIED;
return SubmissionState.REJECTED;
}
@Override
public Set<Event> allowedNextEvents() {
return Set.of(ACCEPT, REJECT, FORWARD);
return Set.of(DELETE);
}
},
DELETE("delete-submission") {
@Override
public boolean hasAuthTags() {
......
......@@ -16,6 +16,7 @@ import dev.fitko.fitconnect.api.exceptions.SubmitEventNotFoundException;
import dev.fitko.fitconnect.api.services.auth.OAuthService;
import dev.fitko.fitconnect.api.services.events.EventLogService;
import dev.fitko.fitconnect.api.services.events.EventLogVerificationService;
import dev.fitko.fitconnect.core.util.EventLogUtil;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpEntity;
......@@ -26,6 +27,7 @@ import org.springframework.web.client.RestClientException;
import org.springframework.web.client.RestTemplate;
import java.nio.charset.StandardCharsets;
import java.util.Comparator;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
......@@ -143,7 +145,7 @@ public class EventLogApiService implements EventLogService {
private SignedJWT getLatestEventForSubmission(final UUID submissionId, final List<String> events) {
return getJWTSFromEvents(events).stream()
.filter(eventEqualsSubmissionId(submissionId))
.reduce((first, second) -> second)
.max(Comparator.comparing(EventLogUtil::getEventFromJWT))
.orElse(null);
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment