aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/api_files.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/admin/api_files.go')
-rw-r--r--internal/admin/api_files.go9
1 files changed, 5 insertions, 4 deletions
diff --git a/internal/admin/api_files.go b/internal/admin/api_files.go
index 2aa0e5f..b9f54c5 100644
--- a/internal/admin/api_files.go
+++ b/internal/admin/api_files.go
@@ -227,9 +227,10 @@ func (s *AdminServer) handleFiles(w http.ResponseWriter, r *http.Request) {
// writing, so the raw editor can never disclose or overwrite it.
body = restoreAccountSecret(relPath, fullPath, body)
- var oldContent []byte
- if existing, err := snapshotFile(fullPath); err == nil {
- oldContent = existing
+ oldContent, existed, err := snapshotBefore(fullPath)
+ if err != nil {
+ failJSON(w, "read existing file: "+err.Error())
+ return
}
dir := filepath.Dir(fullPath)
@@ -243,7 +244,7 @@ func (s *AdminServer) handleFiles(w http.ResponseWriter, r *http.Request) {
return
}
- isCreate := oldContent == nil
+ isCreate := !existed
desc := "Updated file " + relPath
if isCreate {
desc = "Created file " + relPath