From cba90e368a98389d5ad0f3ab2aae36adf18e0d0a Mon Sep 17 00:00:00 2001
From: OZGCloud <ozgcloud@mgm-tp.com>
Date: Wed, 6 Mar 2024 17:51:13 +0100
Subject: [PATCH] OZG-5093 adjust mapping grpc to timestamp

---
 .../apilib/common/command/grpc/CommandMapper.java        | 9 +++++++++
 1 file changed, 9 insertions(+)

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 7dba4d3..5bda4d8 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);
-- 
GitLab