implement editing messages

This commit is contained in:
2025-03-27 14:06:40 -04:00
parent 3f417b0088
commit ec90717ad7
2 changed files with 24 additions and 0 deletions

View File

@@ -42,6 +42,7 @@ func Start() {
r.Use(MessageCtx) // Load message
r.Get("/", GetMessage)
r.Delete("/", DeleteMessage)
r.Post("/edit", EditMessage)
})
r.Post("/new", NewMessage)
})

View File

@@ -48,6 +48,29 @@ func GetMessage(w http.ResponseWriter, r *http.Request) {
}
func EditMessage(w http.ResponseWriter, r *http.Request) {
message, ok := r.Context().Value(messageKey{}).(*Message)
if !ok || message == nil {
render.Render(w, r, ErrNotFound)
return
}
err := r.ParseMultipartForm(64 << 10)
if err != nil {
http.Error(w, "Unable to parse form", http.StatusBadRequest)
return
}
body := r.FormValue("body")
if body == "" {
http.Error(w, "Message body cannot be empty", http.StatusBadRequest)
return
}
message.Body = body
dbDeleteMessage(message.ID)
err = dbAddMessage(message)
if err != nil {
}
}
func DeleteMessage(w http.ResponseWriter, r *http.Request) {
message, ok := r.Context().Value(messageKey{}).(*Message)
if !ok || message == nil {