fix: watchlist 500 from missing UUID and toast classList error

This commit is contained in:
2026-05-13 13:10:04 +02:00
parent 14b7668afa
commit ff15a82f10
3 changed files with 11 additions and 6 deletions

View File

@@ -30,15 +30,16 @@ func (h *WatchlistHandler) HandleUpdateWatchlist(c *gin.Context) {
userID = u.ID
}
animeID, _ := strconv.ParseInt(c.PostForm("anime_id"), 10, 64)
status := c.PostForm("status")
if animeID <= 0 || status == "" {
var body struct {
AnimeID int64 `json:"animeId"`
Status string `json:"status"`
}
if err := c.ShouldBindJSON(&body); err != nil || body.AnimeID <= 0 || body.Status == "" {
c.Status(http.StatusBadRequest)
return
}
err := h.svc.UpdateEntry(c.Request.Context(), userID, animeID, status)
err := h.svc.UpdateEntry(c.Request.Context(), userID, body.AnimeID, body.Status)
if err != nil {
c.Status(http.StatusInternalServerError)
return

View File

@@ -6,6 +6,8 @@ import (
"mal/integrations/jikan"
"mal/internal/db"
"mal/internal/domain"
"github.com/google/uuid"
)
type watchlistService struct {
@@ -34,6 +36,7 @@ func (s *watchlistService) UpdateEntry(ctx context.Context, userID string, anime
}
_, err = s.repo.UpsertWatchListEntry(ctx, db.UpsertWatchListEntryParams{
ID: uuid.New().String(),
UserID: userID,
AnimeID: animeID,
Status: status,

View File

@@ -29,7 +29,8 @@ const showToast = ({ message, duration = 3000 }: ToastOptions): void => {
return;
}
const toast = template.content.cloneNode(true) as HTMLElement;
const toast = template.content.cloneNode(true).firstElementChild as HTMLElement;
if (!toast) return;
const messageEl = toast.querySelector('.toast-message');
const closeBtn = toast.querySelector('.toast-close');