diff --git a/README.md b/README.md index b82be51..fafc85f 100644 --- a/README.md +++ b/README.md @@ -131,6 +131,7 @@ GET /api/admin/log/login GET /api/admin/users POST /api/admin/users PUT /api/admin/users/:id/password +DELETE /api/admin/text-messages/:id GET /api/nodeinfo GET /api/nodeinfo/:id GET /api/map-reports diff --git a/db_test.go b/db_test.go index 413b4d9..3e25fd3 100644 --- a/db_test.go +++ b/db_test.go @@ -361,6 +361,32 @@ func TestInsertTextMessageAppendsRows(t *testing.T) { } } +func TestDeleteTextMessageDeletesRows(t *testing.T) { + st := openTestStore(t) + defer st.Close() + + if err := st.InsertTextMessage(textMessageTestRecord("hello"), mqttClientInfo{}); err != nil { + t.Fatalf("InsertTextMessage() error = %v", err) + } + var id uint64 + if err := rawTestDB(t, st).QueryRow("SELECT id FROM text_message LIMIT 1").Scan(&id); err != nil { + t.Fatal(err) + } + if err := st.DeleteTextMessage(id); err != nil { + t.Fatalf("DeleteTextMessage() error = %v", err) + } + var count int + if err := rawTestDB(t, st).QueryRow("SELECT COUNT(*) FROM text_message WHERE id = ?", id).Scan(&count); err != nil { + t.Fatal(err) + } + if count != 0 { + t.Fatalf("text_message count = %d, want 0", count) + } + if err := st.DeleteTextMessage(id); !errors.Is(err, gorm.ErrRecordNotFound) { + t.Fatalf("DeleteTextMessage(missing) error = %v, want record not found", err) + } +} + func TestInsertTextMessageStoresClientInfo(t *testing.T) { st := openTestStore(t) defer st.Close() diff --git a/meshmap_frontend/src/App.vue b/meshmap_frontend/src/App.vue index 55d2ea2..e429bde 100644 --- a/meshmap_frontend/src/App.vue +++ b/meshmap_frontend/src/App.vue @@ -1,6 +1,6 @@