feat: toggle media

This commit is contained in:
2025-11-29 14:29:46 +03:30
parent c9d442223c
commit 6912059469
2 changed files with 12 additions and 4 deletions
+11 -3
View File
@@ -239,12 +239,20 @@ public function destroy($id)
}
// SAVE media
public function saveMedia($id)
{
auth()->user()->savedMedia()->syncWithoutDetaching([$id]);
public function toggleSaveMedia($id)
{
$user = auth()->user();
if ($user->savedMedia()->where('media_id', $id)->exists()) {
// already saved → unsave
$user->savedMedia()->detach($id);
return response()->json(['message' => 'Unsaved!']);
} else {
// not saved → save
$user->savedMedia()->attach($id);
return response()->json(['message' => 'Saved!']);
}
}
// GET saved
public function saved()
+1 -1
View File
@@ -140,7 +140,7 @@
Route::post('/media/{id}', [MediaController::class, 'update']);
Route::delete('/media/{id}', [MediaController::class, 'destroy']);
Route::get('/media/{id}', [MediaController::class, 'show']);
Route::post('/media/{id}/save', [MediaController::class, 'saveMedia']);
Route::post('/media/{id}/save', [MediaController::class, 'toggleSaveMedia']);
Route::get('/media/saved', [MediaController::class, 'saved']);
Route::post('/media/{id}/note', [MediaController::class, 'storeNote']);