fix(templates): replace equality check with pattern matching in rewrite_template_file (CSM-027)

This commit is contained in:
2026-05-11 20:06:15 +02:00
parent 1cb59d7a78
commit 782511d523
2 changed files with 10 additions and 9 deletions

View File

@@ -414,9 +414,11 @@
---
### CSM-027 — `if result == :ok` Instead of Pattern Matching
- **File:** `lib/bds/templates.ex:445`
- **Fix:** Use `case result do :ok -> ...; _ -> ... end`.
### ~~CSM-027 — `if result == :ok` Instead of Pattern Matching~~ ✅ FIXED
- **Fixed:** 2026-05-11
- **What was done:**
- Replaced `if result == :ok and ...` in `rewrite_template_file/2` with a `case` expression using pattern matching and a `when` guard.
- `Persistence.atomic_write` result is now matched directly: `:ok when file_path changed` triggers old file cleanup, `other` (including `{:error, _}`) is returned as-is.
---

View File

@@ -448,13 +448,12 @@ defmodule BDS.Templates do
body = published_template_body(original_template)
new_full_path = full_file_path(updated_template.project_id, updated_template.file_path)
result =
Persistence.atomic_write(new_full_path, serialize_template_file(updated_template, body))
case Persistence.atomic_write(new_full_path, serialize_template_file(updated_template, body)) do
:ok when original_template.file_path != updated_template.file_path ->
delete_file_if_present(original_template.project_id, original_template.file_path)
if result == :ok and original_template.file_path != updated_template.file_path do
delete_file_if_present(original_template.project_id, original_template.file_path)
else
result
other ->
other
end
end