aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/yaml_util.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-15 15:35:52 -0400
committerhistoria <[not public]>2026-09-15 15:35:52 -0400
commit0b0b25222b3131ada79ff78c28eb8bf07d977deb (patch)
tree2ceaef5203595044f66a8f00064cd8e017f8f48d /internal/admin/yaml_util.go
parent396c3facb8287b9a34076cae8f3d7b300d366d99 (diff)
downloadthehouseoficarus-0b0b25222b3131ada79ff78c28eb8bf07d977deb.tar.gz
feat: single-owner game state, transactional lifecycle, durable money on server stop
Diffstat (limited to 'internal/admin/yaml_util.go')
-rw-r--r--internal/admin/yaml_util.go15
1 files changed, 12 insertions, 3 deletions
diff --git a/internal/admin/yaml_util.go b/internal/admin/yaml_util.go
index 2d838ad..7157f15 100644
--- a/internal/admin/yaml_util.go
+++ b/internal/admin/yaml_util.go
@@ -17,15 +17,24 @@ func readYAMLFile(dataDir, subdir, id string) ([]byte, string, error) {
return data, path, err
}
-func writeYAMLFile(path string, data any) ([]byte, error) {
+func marshalYAML(data any) ([]byte, error) {
var buf bytes.Buffer
enc := yaml.NewEncoder(&buf)
enc.SetIndent(2)
if err := enc.Encode(data); err != nil {
return nil, err
}
- enc.Close()
- content := buf.Bytes()
+ if err := enc.Close(); err != nil {
+ return nil, err
+ }
+ return buf.Bytes(), nil
+}
+
+func writeYAMLFile(path string, data any) ([]byte, error) {
+ content, err := marshalYAML(data)
+ if err != nil {
+ return nil, err
+ }
if err := os.WriteFile(path, content, 0644); err != nil {
return nil, err
}