diff --git a/src/AnimeClient/API/Kitsu/Transformer/HistoryTransformer.php b/src/AnimeClient/API/Kitsu/Transformer/HistoryTransformer.php index 625c6a61..d32320f7 100644 --- a/src/AnimeClient/API/Kitsu/Transformer/HistoryTransformer.php +++ b/src/AnimeClient/API/Kitsu/Transformer/HistoryTransformer.php @@ -162,7 +162,7 @@ abstract class HistoryTransformer { $data = $entry['relationships'][$this->type][$id]['attributes']; $title = $this->linkTitle($data); $imgUrl = "images/{$this->type}/{$id}.webp"; - $item = max($entry['attributes']['changedData']['progress']); + $item = array_pop($entry['attributes']['changedData']['progress']); return HistoryItem::from([ 'action' => "{$this->progressAction} {$item}", diff --git a/src/AnimeClient/Model/AnimeCollection.php b/src/AnimeClient/Model/AnimeCollection.php index 0b70f3c2..53a7332f 100644 --- a/src/AnimeClient/Model/AnimeCollection.php +++ b/src/AnimeClient/Model/AnimeCollection.php @@ -134,6 +134,8 @@ final class AnimeCollection extends Collection { $id = $data['id']; $anime = (object)$this->animeModel->getAnimeById($id); + + $this->db->beginTransaction(); $this->db->set([ 'hummingbird_id' => $id, 'slug' => $anime->slug, @@ -150,6 +152,8 @@ final class AnimeCollection extends Collection { $this->updateMediaLink($id, $data['media_id']); $this->updateGenres($id); + + $this->db->commit(); } /** @@ -193,6 +197,8 @@ final class AnimeCollection extends Collection { $media = $data['media_id']; unset($data['hummingbird_id'], $data['media_id']); + $this->db->beginTransaction(); + // If updating from the 'add' page, there // might be no data to actually update in // the anime_set table @@ -206,6 +212,8 @@ final class AnimeCollection extends Collection { // Update media and genres $this->updateMediaLink($id, $media); $this->updateGenres($id); + + $this->db->commit(); } /** @@ -264,11 +272,18 @@ final class AnimeCollection extends Collection { return; } + $this->db->beginTransaction(); + $this->db->where('hummingbird_id', $data['hummingbird_id']) ->delete('genre_anime_set_link'); + $this->db->where('hummingbird_id', $data['hummingbird_id']) + ->delete('anime_set_media_link'); + $this->db->where('hummingbird_id', $data['hummingbird_id']) ->delete('anime_set'); + + $this->db->commit(); } /**