From ef06109aa8886c4c13a617b3db1fc487295fcb13 Mon Sep 17 00:00:00 2001 From: aabidsofi19 Date: Mon, 3 Feb 2025 14:02:12 +0530 Subject: [PATCH] fix oci export Signed-off-by: aabidsofi19 --- server/handlers/meshery_pattern_handler.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/server/handlers/meshery_pattern_handler.go b/server/handlers/meshery_pattern_handler.go index 97a47df8464..2f193054082 100644 --- a/server/handlers/meshery_pattern_handler.go +++ b/server/handlers/meshery_pattern_handler.go @@ -1311,7 +1311,26 @@ func (h *Handler) DownloadMesheryPatternHandler( } defer file.Close() - ymlDesign, err := yaml.Marshal(pattern.PatternFile) + var design patternV1beta1.PatternFile + + err = encoding.Unmarshal([]byte(pattern.PatternFile), &design) + + if err != nil { + + err = ErrEncodePattern(err) + h.log.Error(err) + http.Error(rw, fmt.Sprintf("Failed to export design \"%s\" as OCI image.", pattern.Name), http.StatusInternalServerError) + event := eventBuilder.WithSeverity(events.Error).WithMetadata(map[string]interface{}{ + "error": err, + }).WithDescription(fmt.Sprintf("Failed to export design \"%s\" as OCI image.", pattern.Name)).Build() + _ = provider.PersistEvent(event) + go h.config.EventBroadcaster.Publish(userID, event) + + return + } + + ymlDesign, err := yaml.Marshal(design) + if err != nil { err = ErrEncodePattern(err) h.log.Error(err)