diff --git a/api-lib-core/src/main/java/de/ozgcloud/apilib/common/command/grpc/CommandMapper.java b/api-lib-core/src/main/java/de/ozgcloud/apilib/common/command/grpc/CommandMapper.java index 7dba4d3158d6dce92dc85f13bb4cc34f32cbe7f9..5bda4d8a79806131121b9e12d57efbbc03bc67e9 100644 --- a/api-lib-core/src/main/java/de/ozgcloud/apilib/common/command/grpc/CommandMapper.java +++ b/api-lib-core/src/main/java/de/ozgcloud/apilib/common/command/grpc/CommandMapper.java @@ -1,5 +1,8 @@ package de.ozgcloud.apilib.common.command.grpc; +import java.time.ZonedDateTime; + +import org.apache.commons.lang3.StringUtils; import org.mapstruct.Mapper; import org.mapstruct.Mapping; import org.mapstruct.Named; @@ -48,8 +51,14 @@ public interface CommandMapper { @Mapping(target = "relationVersion", ignore = true) @Mapping(target = "relationId", qualifiedByName = "mapRelationId") @Mapping(target = "body", ignore = true) + @Mapping(target = "createdAt", expression = "java(mapToZonedDateTime(command.getCreatedAt()))") + @Mapping(target = "finishedAt", expression = "java(mapToZonedDateTime(command.getFinishedAt()))") OzgCloudCommand fromGrpc(GrpcCommand command); + default ZonedDateTime mapToZonedDateTime(String value) { + return StringUtils.isEmpty(value) ? null : ZonedDateTime.parse(value); + } + @Named("mapRelationId") default StringBasedValue mapRelationId(String relationId) { return GenericId.from(relationId);