working on journal module

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2026-01-09 08:47:20 +01:00
parent 6668e29923
commit 81dc30359d
10 changed files with 75 additions and 12 deletions

View File

@@ -18,22 +18,28 @@ public abstract class Event<Payload extends Mappable> {
}
private UmbrellaUser initiator;
private String realm;
private String module;
private Payload payload;
private EventType eventType;
public Event(UmbrellaUser initiator, String realm, Payload payload, EventType type){
public Event(UmbrellaUser initiator, String module, Payload payload, EventType type){
this.initiator = initiator;
this.realm = realm;
this.module = module;
this.payload = payload;
this.eventType = type;
}
public abstract String describe();
public String eventType(){
return eventType.toString();
}
public abstract boolean isIntendedFor(UmbrellaUser user);
public UmbrellaUser initiator(){
return initiator;
}
public String json(){
Class<?> clazz = payload.getClass();
{ // get the highest superclass that is not object
@@ -48,6 +54,10 @@ public abstract class Event<Payload extends Mappable> {
return new JSONObject(map).toString();
}
public String module(){
return module;
}
public Payload payload(){
return payload;
}

View File

@@ -12,6 +12,11 @@ public class ProjectEvent extends Event<Project>{
super(initiator, PROJECT, project, type);
}
@Override
public String describe() {
return "[TODO: ProjectEvent.describe]";
}
@Override
public boolean isIntendedFor(UmbrellaUser user) {
for (var member : payload().members().values()){

View File

@@ -12,6 +12,11 @@ public class TaskEvent extends Event<Task>{
super(initiator, TASK, task, type);
}
@Override
public String describe() {
return "[TODO: TaskEvent.describe()]";
}
@Override
public boolean isIntendedFor(UmbrellaUser user) {
for (var member : payload().members().values()){