1

Merge remote-tracking branch 'origin/event-db'

# Conflicts:
#	src/main/java/mops/gruppen2/domain/Aggregate.java
#	src/main/java/mops/gruppen2/service/GroupService.java
#	src/test/java/mops/gruppen2/domain/GroupTest.java
This commit is contained in:
Christoph
2020-03-10 13:24:29 +01:00
20 changed files with 520 additions and 48 deletions

View File

@ -0,0 +1,15 @@
package mops.gruppen2.domain;
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.relational.core.mapping.Table;
@Table("event")
@Data
public class EventDTO {
@Id
Long event_id;
Long group_id;
String user_id;
String event_payload;
}

View File

@ -1,27 +1,29 @@
package mops.gruppen2.domain.event;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import mops.gruppen2.domain.User;
/**
* Fügt einen einzelnen Nutzer einer Gruppe hinzu.
*/
@EqualsAndHashCode(callSuper = true)
@Value
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class AddUserEvent extends Event {
String givenname;
String familyname;
String email;
public AddUserEvent(long event_id, long group_id, String user_id, String givenname, String familyname, String email) {
public AddUserEvent(Long event_id, Long group_id, String user_id, String givenname, String familyname, String email) {
super(event_id, group_id, user_id);
this.givenname = givenname;
this.familyname = familyname;
this.email = email;
}
public AddUserEvent(long event_id, long group_id, User user) {
public AddUserEvent(Long event_id, Long group_id, User user) {
super(event_id, group_id, user.getUser_id());
this.givenname = user.getGivenname();
this.familyname = user.getFamilyname();

View File

@ -1,17 +1,24 @@
package mops.gruppen2.domain.event;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
@EqualsAndHashCode(callSuper = true)
@Value
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class CreateGroupEvent extends Event {
String groupTitle;
String groupDescription;
public CreateGroupEvent(long event_id, long group_id, String user_id, String groupTitle, String groupDescription) {
public CreateGroupEvent(long event_id, Long group_id, String user_id, String groupTitle, String groupDescription) {
super(event_id, group_id, user_id);
this.groupTitle = groupTitle;
this.groupDescription = groupDescription;
}
public CreateGroupEvent(Long group_id, String user_id, String groupTitle, String groupDescription) {
super(group_id, user_id);
this.groupTitle = groupTitle;
this.groupDescription = groupDescription;
}
}

View File

@ -1,16 +1,14 @@
package mops.gruppen2.domain.event;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.*;
/**
* Entfernt ein einzelnes Mitglied einer Gruppe.
*/
@EqualsAndHashCode(callSuper = true)
@Value
@Getter
public class DeleteUserEvent extends Event {
public DeleteUserEvent(long event_id, long group_id, String user_id) {
public DeleteUserEvent(Long event_id, Long group_id, String user_id) {
super(event_id, group_id, user_id);
}
}

View File

@ -1,12 +1,35 @@
package mops.gruppen2.domain.event;
import lombok.Value;
import lombok.experimental.NonFinal;
import com.fasterxml.jackson.annotation.JsonSubTypes;
import com.fasterxml.jackson.annotation.JsonTypeInfo;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
@Value
@NonFinal
@Getter
@NoArgsConstructor
@AllArgsConstructor
@JsonTypeInfo(
include = JsonTypeInfo.As.PROPERTY,
use = JsonTypeInfo.Id.NAME,
property = "type"
)
@JsonSubTypes({
@JsonSubTypes.Type(value = AddUserEvent.class, name = "AddUserEvent"),
@JsonSubTypes.Type(value = CreateGroupEvent.class, name = "CreateGroupEvent"),
@JsonSubTypes.Type(value = DeleteUserEvent.class, name = "DeleteUserEvent"),
@JsonSubTypes.Type(value = UpdateGroupDescriptionEvent.class, name = "UpdateGroupDescriptionEvent"),
@JsonSubTypes.Type(value = UpdateGroupTitleEvent.class, name = "UpdateGroupTitleEvent"),
@JsonSubTypes.Type(value = UpdateRoleEvent.class, name = "UpdateRoleEvent"),
})
public class Event {
long event_id;
long group_id;
Long event_id;
Long group_id;
String user_id;
public Event(Long group_id,String user_id){
this.group_id = group_id;
this.user_id = user_id;
}
}

View File

@ -1,17 +1,19 @@
package mops.gruppen2.domain.event;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
/**
* Ändert nur die Gruppenbeschreibung.
*/
@EqualsAndHashCode(callSuper = true)
@Value
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class UpdateGroupDescriptionEvent extends Event {
String newGroupDescription;
public UpdateGroupDescriptionEvent(long event_id, long group_id, String user_id, String newGroupDescription) {
public UpdateGroupDescriptionEvent(Long event_id, Long group_id, String user_id, String newGroupDescription) {
super(event_id, group_id, user_id);
this.newGroupDescription = newGroupDescription;
}

View File

@ -1,17 +1,19 @@
package mops.gruppen2.domain.event;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
/**
* Ändert nur den Gruppentitel.
*/
@EqualsAndHashCode(callSuper = true)
@Value
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class UpdateGroupTitleEvent extends Event {
String newGroupTitle;
public UpdateGroupTitleEvent(long event_id, long group_id, String user_id, String newGroupTitle) {
public UpdateGroupTitleEvent(Long event_id, Long group_id, String user_id, String newGroupTitle) {
super(event_id, group_id, user_id);
this.newGroupTitle = newGroupTitle;
}

View File

@ -1,19 +1,19 @@
package mops.gruppen2.domain.event;
import lombok.EqualsAndHashCode;
import lombok.Value;
import lombok.*;
import mops.gruppen2.domain.Role;
/**
* Aktualisiert die Gruppenrolle eines Teilnehmers.
*/
@EqualsAndHashCode(callSuper = true)
@Value
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class UpdateRoleEvent extends Event {
Role newRole;
public UpdateRoleEvent(long event_id, long group_id, String user_id, Role newRole) {
public UpdateRoleEvent(Long event_id, Long group_id, String user_id, Role newRole) {
super(event_id, group_id, user_id);
this.newRole = newRole;