feat: add detail image media and play list
This commit is contained in:
@@ -13,7 +13,7 @@ class MusicPlaylistController extends Controller
|
||||
|
||||
public function index(Request $request, $categoryId = null)
|
||||
{
|
||||
$query = MusicPlaylist::with(['categories', 'subcategories', 'image']);
|
||||
$query = MusicPlaylist::with(['categories', 'subcategories', 'image', 'detailImage']);
|
||||
|
||||
$categoryId = $categoryId ?? $request->input('category_id');
|
||||
|
||||
@@ -46,6 +46,8 @@ public function store(Request $request)
|
||||
'description' => 'nullable|string',
|
||||
'image_id' => 'nullable|exists:images,id',
|
||||
'image' => 'nullable|file|extensions:jpg,jpeg,png,gif,webp,bmp,svg|max:8192',
|
||||
'detail_image_id' => 'nullable|exists:images,id',
|
||||
'detail_image' => 'nullable|file|extensions:jpg,jpeg,png,gif,webp,bmp,svg|max:8192',
|
||||
'order' => 'nullable|integer',
|
||||
'is_active' => 'nullable|boolean',
|
||||
]);
|
||||
@@ -61,6 +63,7 @@ public function store(Request $request)
|
||||
|
||||
// An uploaded image file takes precedence over a provided image_id.
|
||||
$data['image_id'] = $this->uploadedImageId($request) ?? ($data['image_id'] ?? null);
|
||||
$data['detail_image_id'] = $this->uploadedImageId($request, 'detail_image') ?? ($data['detail_image_id'] ?? null);
|
||||
|
||||
$playlist = MusicPlaylist::create($data);
|
||||
|
||||
@@ -69,7 +72,7 @@ public function store(Request $request)
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Playlist created successfully',
|
||||
'playlist' => $playlist->load(['categories', 'subcategories', 'image'])
|
||||
'playlist' => $playlist->load(['categories', 'subcategories', 'image', 'detailImage'])
|
||||
], 201);
|
||||
}
|
||||
|
||||
@@ -79,6 +82,7 @@ public function show($id)
|
||||
'categories',
|
||||
'subcategories',
|
||||
'image',
|
||||
'detailImage',
|
||||
'musics' => function($q) {
|
||||
$q->where('music.is_active', true)
|
||||
->with(['image', 'tags'])
|
||||
@@ -127,6 +131,8 @@ public function update(Request $request, $id)
|
||||
'description' => 'nullable|string',
|
||||
'image_id' => 'nullable|exists:images,id',
|
||||
'image' => 'nullable|file|extensions:jpg,jpeg,png,gif,webp,bmp,svg|max:8192',
|
||||
'detail_image_id' => 'nullable|exists:images,id',
|
||||
'detail_image' => 'nullable|file|extensions:jpg,jpeg,png,gif,webp,bmp,svg|max:8192',
|
||||
'order' => 'nullable|integer',
|
||||
'is_active' => 'nullable|boolean',
|
||||
]);
|
||||
@@ -139,6 +145,9 @@ public function update(Request $request, $id)
|
||||
if (($uploadedImageId = $this->uploadedImageId($request)) !== null) {
|
||||
$data['image_id'] = $uploadedImageId;
|
||||
}
|
||||
if (($uploadedDetailImageId = $this->uploadedImageId($request, 'detail_image')) !== null) {
|
||||
$data['detail_image_id'] = $uploadedDetailImageId;
|
||||
}
|
||||
|
||||
$playlist->update($data);
|
||||
|
||||
@@ -152,7 +161,7 @@ public function update(Request $request, $id)
|
||||
|
||||
return response()->json([
|
||||
'message' => 'Playlist updated successfully',
|
||||
'playlist' => $playlist->load(['categories', 'subcategories', 'image'])
|
||||
'playlist' => $playlist->load(['categories', 'subcategories', 'image', 'detailImage'])
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user