aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/api_triggers.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-18 17:48:26 -0400
committerhistoria <[not public]>2026-09-18 17:48:26 -0400
commit8fe9e3c3fef0049df82281a62afe35dda516dfe2 (patch)
treedd269f2c0710f334e19f00a191260ebc46284a90 /internal/admin/api_triggers.go
parent194164a77eb4f2479b94c19e6f0e1278ab608781 (diff)
downloadthehouseoficarus-8fe9e3c3fef0049df82281a62afe35dda516dfe2.tar.gz
fix: close combat ghost, admin traversal, login throttle, journal double-pay, and quality/economy gaps
Diffstat (limited to 'internal/admin/api_triggers.go')
-rw-r--r--internal/admin/api_triggers.go6
1 files changed, 6 insertions, 0 deletions
diff --git a/internal/admin/api_triggers.go b/internal/admin/api_triggers.go
index 08e2855..299ca10 100644
--- a/internal/admin/api_triggers.go
+++ b/internal/admin/api_triggers.go
@@ -152,6 +152,9 @@ func (s *AdminServer) handleTriggerByID(w http.ResponseWriter, r *http.Request)
FilePath: newPath,
OldContent: oldContent,
NewContent: triggerData,
+ // A PUT to a missing trigger creates it; undo must delete the
+ // file rather than overwrite it with the nil before-image.
+ IsCreate: findErr != nil,
}
if findErr == nil && newSubdir != oldDir {
// A kind change moves the file between subdirectories. Record the
@@ -184,6 +187,9 @@ func (s *AdminServer) handleTriggerByID(w http.ResponseWriter, r *http.Request)
Description: "Delete trigger " + id,
FilePath: path,
OldContent: oldContent,
+ // Redo of a delete must delete again, not write the nil
+ // new-content image over the file.
+ IsDelete: true,
})
s.rebuildTriggerIndex()
writeJSON(w, map[string]any{"ok": true})