[PR #2156] [MERGED] refactor: extract artwork fields to a reusable component #2115

Closed
opened 2026-02-26 03:33:19 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/koel/koel/pull/2156
Author: @phanan
Created: 10/26/2025
Status: Merged
Merged: 10/26/2025
Merged by: @phanan

Base: masterHead: artwork


📝 Commits (1)

  • 4e13a79 refactor: extract artwork fields to a reusable component

📊 Changes

71 files changed (+693 additions, -1184 deletions)

View changed files

📝 app/Helpers.php (+4 -4)
app/Http/Controllers/API/AlbumCoverController.php (+0 -34)
app/Http/Controllers/API/Artist/ArtistImageController.php (+0 -34)
📝 app/Http/Controllers/API/FetchAlbumThumbnailController.php (+3 -3)
app/Http/Controllers/API/PlaylistCoverController.php (+0 -32)
app/Http/Controllers/API/Radio/RadioStationLogoController.php (+0 -22)
📝 app/Http/Controllers/API/RadioStationController.php (+1 -1)
📝 app/Http/Requests/API/Album/AlbumUpdateRequest.php (+2 -2)
📝 app/Http/Requests/API/Artist/ArtistUpdateRequest.php (+3 -2)
📝 app/Http/Requests/API/Playlist/PlaylistUpdateRequest.php (+1 -1)
📝 app/Http/Requests/API/Radio/RadioStationStoreRequest.php (+2 -2)
📝 app/Http/Requests/API/Radio/RadioStationUpdateRequest.php (+4 -4)
app/Jobs/GenerateAlbumThumbnailJob.php (+18 -0)
📝 app/Observers/AlbumObserver.php (+9 -0)
📝 app/Services/AlbumService.php (+74 -8)
📝 app/Services/ArtistService.php (+12 -11)
📝 app/Services/EncyclopediaService.php (+18 -2)
📝 app/Services/ImageStorage.php (+6 -99)
📝 app/Services/PlaylistService.php (+11 -31)
📝 app/Services/RadioService.php (+2 -8)

...and 51 more files

📄 Description

Description

Extract artwork fields to a reusable component. This also means rewriting the backend logic of image creation and storage.

Motivation

Previously, each of the artwork-able resource types (album, artist, playlist, radio station…) maintained its own (arbeit similar) implementation of adding and removing the artwork field. This PR creates one reusable component, ArtworkField, to unify the UI/UX.

Screenshots (if applicable)

Checklist

  • I've tested my changes thoroughly and added tests where applicable
  • I've updated relevant documentation (if any)
  • My code follows the project's conventions

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/koel/koel/pull/2156 **Author:** [@phanan](https://github.com/phanan) **Created:** 10/26/2025 **Status:** ✅ Merged **Merged:** 10/26/2025 **Merged by:** [@phanan](https://github.com/phanan) **Base:** `master` ← **Head:** `artwork` --- ### 📝 Commits (1) - [`4e13a79`](https://github.com/koel/koel/commit/4e13a7928a04232ddac9242329f44f4663badd00) refactor: extract artwork fields to a reusable component ### 📊 Changes **71 files changed** (+693 additions, -1184 deletions) <details> <summary>View changed files</summary> 📝 `app/Helpers.php` (+4 -4) ➖ `app/Http/Controllers/API/AlbumCoverController.php` (+0 -34) ➖ `app/Http/Controllers/API/Artist/ArtistImageController.php` (+0 -34) 📝 `app/Http/Controllers/API/FetchAlbumThumbnailController.php` (+3 -3) ➖ `app/Http/Controllers/API/PlaylistCoverController.php` (+0 -32) ➖ `app/Http/Controllers/API/Radio/RadioStationLogoController.php` (+0 -22) 📝 `app/Http/Controllers/API/RadioStationController.php` (+1 -1) 📝 `app/Http/Requests/API/Album/AlbumUpdateRequest.php` (+2 -2) 📝 `app/Http/Requests/API/Artist/ArtistUpdateRequest.php` (+3 -2) 📝 `app/Http/Requests/API/Playlist/PlaylistUpdateRequest.php` (+1 -1) 📝 `app/Http/Requests/API/Radio/RadioStationStoreRequest.php` (+2 -2) 📝 `app/Http/Requests/API/Radio/RadioStationUpdateRequest.php` (+4 -4) ➕ `app/Jobs/GenerateAlbumThumbnailJob.php` (+18 -0) 📝 `app/Observers/AlbumObserver.php` (+9 -0) 📝 `app/Services/AlbumService.php` (+74 -8) 📝 `app/Services/ArtistService.php` (+12 -11) 📝 `app/Services/EncyclopediaService.php` (+18 -2) 📝 `app/Services/ImageStorage.php` (+6 -99) 📝 `app/Services/PlaylistService.php` (+11 -31) 📝 `app/Services/RadioService.php` (+2 -8) _...and 51 more files_ </details> ### 📄 Description <!-- Thank you for contributing to Koel! Please provide a clear description of your changes below. --> ## Description Extract artwork fields to a reusable component. This also means rewriting the backend logic of image creation and storage. ## Motivation Previously, each of the artwork-able resource types (album, artist, playlist, radio station…) maintained its own (arbeit similar) implementation of adding and removing the artwork field. This PR creates one reusable component, `ArtworkField`, to unify the UI/UX. ## Screenshots (if applicable) ## Checklist - [x] I've tested my changes thoroughly and added tests where applicable - [x] I've updated relevant documentation (if any) - [x] My code follows the project's conventions --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
kerem 2026-02-26 03:33:19 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/koel-koel#2115
No description provided.