diff options
Diffstat (limited to 'internal/admin/api_room_courses.go')
| -rw-r--r-- | internal/admin/api_room_courses.go | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/internal/admin/api_room_courses.go b/internal/admin/api_room_courses.go index 5a33e6a..db74adf 100644 --- a/internal/admin/api_room_courses.go +++ b/internal/admin/api_room_courses.go @@ -204,16 +204,17 @@ func (s *AdminServer) handleCourseByID(w http.ResponseWriter, r *http.Request) { delete(body, "_raw") delete(body, "_path") - var oldContent []byte - if existing, err := snapshotFile(path); err == nil { - oldContent = existing + oldContent, existed, err := snapshotBefore(path) + if err != nil { + failJSON(w, "read existing file: "+err.Error()) + return } newContent, err := writeMapAsYAML(path, body) if err != nil { failJSON(w, "write error: "+err.Error()) return } - isCreate := oldContent == nil + isCreate := !existed desc := "Updated course " + id if isCreate { desc = "Created course " + id |
