aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/api_helpers.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/admin/api_helpers.go')
-rw-r--r--internal/admin/api_helpers.go19
1 files changed, 15 insertions, 4 deletions
diff --git a/internal/admin/api_helpers.go b/internal/admin/api_helpers.go
index 109bca6..3224598 100644
--- a/internal/admin/api_helpers.go
+++ b/internal/admin/api_helpers.go
@@ -46,16 +46,27 @@ func stringifyMap(v any) any {
}
func writeMapAsYAML(path string, m map[string]any) ([]byte, error) {
+ content, err := marshalMapYAML(m)
+ if err != nil {
+ return nil, err
+ }
+ if err := os.WriteFile(path, content, 0644); err != nil {
+ return nil, err
+ }
+ return content, nil
+}
+
+// marshalMapYAML serializes a generic map without writing: callers that
+// only need the after-image (mutation-plan preflight) use this.
+func marshalMapYAML(m map[string]any) ([]byte, error) {
var buf bytes.Buffer
enc := yaml.NewEncoder(&buf)
enc.SetIndent(2)
if err := enc.Encode(m); err != nil {
return nil, err
}
- enc.Close()
- content := buf.Bytes()
- if err := os.WriteFile(path, content, 0644); err != nil {
+ if err := enc.Close(); err != nil {
return nil, err
}
- return content, nil
+ return buf.Bytes(), nil
}