aboutsummaryrefslogtreecommitdiff
path: root/internal/admin/api_room_courses.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/admin/api_room_courses.go')
-rw-r--r--internal/admin/api_room_courses.go9
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