diff --git a/goofy-client/libs/vorgang-shared/src/lib/vorgang.linkrels.ts b/goofy-client/libs/vorgang-shared/src/lib/vorgang.linkrels.ts index 8dd0afd307021ab6d2af406b4e57035f01b21126..e43e38476b1f3198b6817c92d3893ae77a2448f4 100644 --- a/goofy-client/libs/vorgang-shared/src/lib/vorgang.linkrels.ts +++ b/goofy-client/libs/vorgang-shared/src/lib/vorgang.linkrels.ts @@ -20,7 +20,7 @@ export enum VorgangWithEingangLinkRel { WIEDERVORLAGEN = 'wiedervorlagen', ATTACHMENTS = 'attachments', - REDIRECT = 'redirect', + REDIRECT = 'forward', FORWARDING = 'forwarding', PENDING_COMMANDS = 'pending-commands' } \ No newline at end of file diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/Vorgang.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/Vorgang.java index 4360b6c7cda26c8117f7ecc42726aec514761f9e..cb2007ac12fa86809790c6197027c1b1eca602a6 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/Vorgang.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/Vorgang.java @@ -2,33 +2,26 @@ package de.itvsh.goofy.vorgang; import java.util.Collections; import java.util.Set; -import java.util.function.Predicate; public interface Vorgang { - public static Predicate<Vorgang> buildTransactionAllowedPredicate(VorgangStatus newStatus) { - return vorgang -> vorgang.getStatus().isTransactionAllowedTo(newStatus); - } - enum VorgangStatus { - NEU, ANGENOMMEN, VERWORFEN, IN_BEARBEITUNG, BESCHIEDEN, ABGESCHLOSSEN, REDIRECT, WEITERGELEITET; + NEU, ANGENOMMEN, VERWORFEN, IN_BEARBEITUNG, BESCHIEDEN, ABGESCHLOSSEN, WEITERGELEITET; private Set<VorgangStatus> allowedFollowStats = Collections.emptySet(); static { - NEU.allowedFollowStats = Set.of(ANGENOMMEN, VERWORFEN, REDIRECT); - VERWORFEN.allowedFollowStats = Set.of(NEU, REDIRECT); - ANGENOMMEN.allowedFollowStats = Set.of(IN_BEARBEITUNG, REDIRECT); - IN_BEARBEITUNG.allowedFollowStats = Set.of(BESCHIEDEN, ANGENOMMEN, REDIRECT); - BESCHIEDEN.allowedFollowStats = Set.of(ABGESCHLOSSEN, IN_BEARBEITUNG, REDIRECT); - ABGESCHLOSSEN.allowedFollowStats = Set.of(IN_BEARBEITUNG, REDIRECT); - REDIRECT.allowedFollowStats = Set.of(WEITERGELEITET); + NEU.allowedFollowStats = Set.of(ANGENOMMEN, VERWORFEN, WEITERGELEITET); + VERWORFEN.allowedFollowStats = Set.of(NEU); + ANGENOMMEN.allowedFollowStats = Set.of(IN_BEARBEITUNG); + IN_BEARBEITUNG.allowedFollowStats = Set.of(BESCHIEDEN, ANGENOMMEN); + BESCHIEDEN.allowedFollowStats = Set.of(ABGESCHLOSSEN, IN_BEARBEITUNG); + ABGESCHLOSSEN.allowedFollowStats = Set.of(IN_BEARBEITUNG); } public boolean isTransactionAllowedTo(VorgangStatus newStatus) { return allowedFollowStats.contains(newStatus); } - } String getId(); diff --git a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommandProzessor.java b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommandProzessor.java index 4b614a0a1315bfe168e31bb8b99fd5e9e58372c9..33169d5dc26a6ed69932cc77f2125b066781fb5f 100644 --- a/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommandProzessor.java +++ b/goofy-server/src/main/java/de/itvsh/goofy/vorgang/command/VorgangCommandProzessor.java @@ -38,7 +38,7 @@ class VorgangCommandProzessor implements RepresentationModelProcessor<EntityMode static final LinkRelation REL_VORGANG_ABSCHLIESSEN = LinkRelation.of("abschliessen"); static final LinkRelation REL_VORGANG_WIEDEREROEFFNEN = LinkRelation.of("wiedereroeffnen"); - static final LinkRelation REL_VORGANG_REDIRECT = LinkRelation.of("redirect"); + static final LinkRelation REL_VORGANG_FORWARD = LinkRelation.of("forward"); static final LinkRelation REL_VORGANG_FORWARDING = LinkRelation.of("forwarding"); @@ -62,8 +62,8 @@ class VorgangCommandProzessor implements RepresentationModelProcessor<EntityMode private EntityModel<? extends Vorgang> buildLinksForEinheitlicherAnsprechpartner(Vorgang vorgang, EntityModel<? extends Vorgang> vorgangModel) { return ModelBuilder.fromModel(vorgangModel) - .ifMatch(vorg -> vorg.getStatus().isTransactionAllowedTo(VorgangStatus.REDIRECT)) - .addLink(() -> buildCreateCommandLink(vorgang).withRel(REL_VORGANG_REDIRECT)) + .ifMatch(vorg -> vorg.getStatus().isTransactionAllowedTo(VorgangStatus.WEITERGELEITET)) + .addLink(() -> buildCreateCommandLink(vorgang).withRel(REL_VORGANG_FORWARD)) .ifMatch(vorg -> vorg.getStatus() == VorgangStatus.WEITERGELEITET).addLink(() -> buildForwardingLink(vorgang)) .buildModel(); } diff --git a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/VorgangCommandProzessorTest.java b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/VorgangCommandProzessorTest.java index 1213b23dcf0790e597b18910159b0405222dfb4e..12c1f65ab29c2dcb2e392507e41600f60ca75c4b 100644 --- a/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/VorgangCommandProzessorTest.java +++ b/goofy-server/src/test/java/de/itvsh/goofy/vorgang/command/VorgangCommandProzessorTest.java @@ -244,10 +244,10 @@ class VorgangCommandProzessorTest { class TestEinheitlicherAnsprechpartner { @Nested - @DisplayName("add 'redirect' link considering user role: " + UserRole.EINHEITLICHER_ANSPRECHPARTNER) - class TestRedirectLink { + @DisplayName("add 'forward' link considering user role: " + UserRole.EINHEITLICHER_ANSPRECHPARTNER) + class TestForwardLink { - private final LinkRelation linkRel = VorgangCommandProzessor.REL_VORGANG_REDIRECT; + private final LinkRelation linkRel = VorgangCommandProzessor.REL_VORGANG_FORWARD; @Test void shouldNotBePresentWithoutRole() {