diff --git a/src/main/java/de/anxietyprime/swajodel/JodelPost.java b/src/main/java/de/anxietyprime/swajodel/JodelPost.java new file mode 100644 index 0000000..af938bc --- /dev/null +++ b/src/main/java/de/anxietyprime/swajodel/JodelPost.java @@ -0,0 +1,43 @@ +package de.anxietyprime.swajodel; + +import java.util.Date; +import java.util.Optional; +import java.util.Vector; + +public class JodelPost { + private Long id; + private Long authorID; + + public Long anonymousID; + public String title; + public String content; + public Date date; + public Location location; + public Vector comments = new Vector<>(); + public Optional reaction; + public Reaction[] reactions; + + public void anonymize(Optional> idCache) { + if (idCache.isEmpty()) { + idCache = Optional.of(new Vector()); + } + System.out.println(idCache); + + int i = idCache.get().indexOf(this.authorID); + if (i == -1) { + this.anonymousID = (long) idCache.get().size(); + idCache.get().add(this.authorID); + } + else { + this.anonymousID = (long) i; + } + + for (JodelPost comment : this.comments) { + comment.anonymize(idCache); + } + } + + public JodelPost(long id) { + this.authorID = id; + } +} \ No newline at end of file diff --git a/src/main/java/de/anxietyprime/swajodel/Location.java b/src/main/java/de/anxietyprime/swajodel/Location.java new file mode 100644 index 0000000..17ea12c --- /dev/null +++ b/src/main/java/de/anxietyprime/swajodel/Location.java @@ -0,0 +1,6 @@ +package de.anxietyprime.swajodel; + +public class Location { + public float longitude; + public float latitude; +} diff --git a/src/main/java/de/anxietyprime/swajodel/Reaction.java b/src/main/java/de/anxietyprime/swajodel/Reaction.java new file mode 100644 index 0000000..93bc789 --- /dev/null +++ b/src/main/java/de/anxietyprime/swajodel/Reaction.java @@ -0,0 +1,6 @@ +package de.anxietyprime.swajodel; + +public class Reaction { + private long positive; + private long negative; +} diff --git a/src/main/java/de/anxietyprime/swajodel/Routes.java b/src/main/java/de/anxietyprime/swajodel/Routes.java new file mode 100644 index 0000000..0db8ab4 --- /dev/null +++ b/src/main/java/de/anxietyprime/swajodel/Routes.java @@ -0,0 +1,22 @@ +package de.anxietyprime.swajodel; + +import com.fasterxml.jackson.databind.JsonSerializer; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Optional; + +@RestController +public class Routes { + + @GetMapping("") + public JodelPost test() { + JodelPost post = new JodelPost(100); + + post.anonymize(Optional.empty()); + + return post; + } + + +}