completed message persistence

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2026-01-26 17:08:09 +01:00
parent c12786971f
commit 21ae4024dc
7 changed files with 57 additions and 38 deletions

View File

@@ -22,7 +22,7 @@ import org.json.JSONObject;
public class Envelope<T extends Message<?>> {
private final T message;
private final Set<User> receivers;
private final LocalDateTime time;
private LocalDateTime time;
private final long id;
public Envelope(long id, T message, User receiver){
@@ -73,7 +73,7 @@ public class Envelope<T extends Message<?>> {
}
public boolean isFor(User receiver) {
return receivers.contains(receiver);
return receivers.stream().anyMatch(r -> r.equals(receiver));
}
public T message(){
@@ -84,6 +84,11 @@ public class Envelope<T extends Message<?>> {
return receivers;
}
public Envelope<T> time(LocalDateTime timestamp){
this.time = timestamp;
return this;
}
public LocalDateTime time(){
return time;
}

View File

@@ -25,11 +25,14 @@ public class UmbrellaUser extends User implements Mappable, Owner {
@Override
public boolean equals(Object o) {
if (!(o instanceof UmbrellaUser user)) return false;
return Objects.equals(email(), user.email())
&& Objects.equals(name(), user.name())
&& Objects.equals(id, user.id)
&& Objects.equals(language(), user.language());
if (o instanceof UmbrellaUser user) {
return Objects.equals(email(), user.email())
&& Objects.equals(name(), user.name())
&& Objects.equals(id, user.id)
&& Objects.equals(language(), user.language());
}
if (o instanceof User user) return user.equals(this);
return false;
}
@Override