Group Resource now accepts a list of member's names instead of full user objects

This commit is contained in:
Philipp Czora
2018-08-02 16:03:17 +02:00
parent 4477e0723e
commit 80d4130e03
2 changed files with 3 additions and 23 deletions

View File

@@ -1,13 +1,9 @@
package sonia.scm.api.v2.resources;
import com.fasterxml.jackson.databind.JsonNode;
import org.mapstruct.AfterMapping;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.MappingTarget;
import sonia.scm.group.Group;
import java.util.stream.Collectors;
@Mapper
public abstract class GroupDtoToGroupMapper {
@@ -16,15 +12,4 @@ public abstract class GroupDtoToGroupMapper {
@Mapping(target = "lastModified", ignore = true)
public abstract Group map(GroupDto groupDto);
@AfterMapping
void mapMembers(GroupDto dto, @MappingTarget Group target) {
target.setMembers(
dto
.getEmbedded()
.getItemsBy("members")
.stream()
.map(m -> m.getAttribute("name"))
.map(JsonNode::asText)
.collect(Collectors.toList()));
}
}