added very basic Posts
This commit is contained in:
43
src/main/java/de/anxietyprime/swajodel/JodelPost.java
Normal file
43
src/main/java/de/anxietyprime/swajodel/JodelPost.java
Normal file
@@ -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<JodelPost> comments = new Vector<>();
|
||||||
|
public Optional<Boolean> reaction;
|
||||||
|
public Reaction[] reactions;
|
||||||
|
|
||||||
|
public void anonymize(Optional<Vector<Long>> 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;
|
||||||
|
}
|
||||||
|
}
|
||||||
6
src/main/java/de/anxietyprime/swajodel/Location.java
Normal file
6
src/main/java/de/anxietyprime/swajodel/Location.java
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
package de.anxietyprime.swajodel;
|
||||||
|
|
||||||
|
public class Location {
|
||||||
|
public float longitude;
|
||||||
|
public float latitude;
|
||||||
|
}
|
||||||
6
src/main/java/de/anxietyprime/swajodel/Reaction.java
Normal file
6
src/main/java/de/anxietyprime/swajodel/Reaction.java
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
package de.anxietyprime.swajodel;
|
||||||
|
|
||||||
|
public class Reaction {
|
||||||
|
private long positive;
|
||||||
|
private long negative;
|
||||||
|
}
|
||||||
22
src/main/java/de/anxietyprime/swajodel/Routes.java
Normal file
22
src/main/java/de/anxietyprime/swajodel/Routes.java
Normal file
@@ -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;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user