mirror of
https://github.com/Kovah/LinkAce.git
synced 2025-04-21 23:42:10 +02:00
Implement a form request for clearing the trash for models
This commit is contained in:
parent
bfec72de37
commit
aa9ea21140
@ -3,6 +3,7 @@
|
||||
namespace App\Http\Controllers\App;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\TrashClearRequest;
|
||||
use App\Http\Requests\TrashRestoreRequest;
|
||||
use App\Models\Link;
|
||||
use App\Models\LinkList;
|
||||
@ -49,15 +50,14 @@ class TrashController extends Controller
|
||||
/**
|
||||
* Permanently delete entries for a model from the trash.
|
||||
*
|
||||
* @param Request $request
|
||||
* @param string $model
|
||||
* @param TrashClearRequest $request
|
||||
* @return RedirectResponse
|
||||
*/
|
||||
public function clearTrash(Request $request, $model): RedirectResponse
|
||||
public function clearTrash(TrashClearRequest $request): RedirectResponse
|
||||
{
|
||||
TrashRepository::delete($model);
|
||||
TrashRepository::delete($request->input('model'));
|
||||
|
||||
flash(trans('trash.delete_success.' . $model), 'success');
|
||||
flash(trans('trash.delete_success.' . $request->input('model')), 'success');
|
||||
|
||||
return redirect()->route('get-trash');
|
||||
}
|
||||
|
@ -9,6 +9,7 @@ use App\Http\Controllers\API\NoteController;
|
||||
use App\Http\Controllers\API\SearchController;
|
||||
use App\Http\Controllers\API\TagController;
|
||||
use App\Http\Controllers\API\TagLinksController;
|
||||
use App\Http\Controllers\API\TrashController;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
@ -77,5 +78,16 @@ Route::prefix('v1')->group(function () {
|
||||
->name('api.search.tags');
|
||||
Route::get('search/lists', [SearchController::class, 'searchLists'])
|
||||
->name('api.search.lists');
|
||||
|
||||
Route::get('trash/links', [TrashController::class, 'getLinks'])
|
||||
->name('api.trash.links');
|
||||
Route::get('trash/lists', [TrashController::class, 'getLists'])
|
||||
->name('api.trash.lists');
|
||||
Route::get('trash/tags', [TrashController::class, 'getTags'])
|
||||
->name('api.trash.tags');
|
||||
Route::get('trash/notes', [TrashController::class, 'getNotes'])
|
||||
->name('api.trash.notes');
|
||||
Route::post('trash/delete', [TrashController::class, 'getNotes'])
|
||||
->name('api.trash.notes');
|
||||
});
|
||||
});
|
||||
|
@ -109,7 +109,7 @@ Route::group(['middleware' => ['auth']], function () {
|
||||
|
||||
Route::get('trash', [TrashController::class, 'index'])
|
||||
->name('get-trash');
|
||||
Route::get('trash/clear/{model}', [TrashController::class, 'clearTrash'])
|
||||
Route::post('trash/clear', [TrashController::class, 'clearTrash'])
|
||||
->name('clear-trash');
|
||||
Route::post('trash/restore', [TrashController::class, 'restoreEntry'])
|
||||
->name('trash-restore');
|
||||
|
@ -43,9 +43,11 @@ class TrashControllerTest extends TestCase
|
||||
{
|
||||
$this->setupTestData();
|
||||
|
||||
$response = $this->get('trash/clear/links');
|
||||
$response = $this->post('trash/clear', [
|
||||
'model' => 'links'
|
||||
]);
|
||||
|
||||
$response->assertStatus(302);
|
||||
$response->assertRedirect('trash');
|
||||
|
||||
$this->assertEquals(0, DB::table('links')->count());
|
||||
}
|
||||
@ -54,9 +56,11 @@ class TrashControllerTest extends TestCase
|
||||
{
|
||||
$this->setupTestData();
|
||||
|
||||
$response = $this->get('trash/clear/tags');
|
||||
$response = $this->post('trash/clear', [
|
||||
'model' => 'tags'
|
||||
]);
|
||||
|
||||
$response->assertStatus(302);
|
||||
$response->assertRedirect('trash');
|
||||
|
||||
$this->assertEquals(0, DB::table('tags')->count());
|
||||
}
|
||||
@ -65,9 +69,11 @@ class TrashControllerTest extends TestCase
|
||||
{
|
||||
$this->setupTestData();
|
||||
|
||||
$response = $this->get('trash/clear/lists');
|
||||
$response = $this->post('trash/clear', [
|
||||
'model' => 'lists'
|
||||
]);
|
||||
|
||||
$response->assertStatus(302);
|
||||
$response->assertRedirect('trash');
|
||||
|
||||
$this->assertEquals(0, DB::table('lists')->count());
|
||||
}
|
||||
@ -76,9 +82,11 @@ class TrashControllerTest extends TestCase
|
||||
{
|
||||
$this->setupTestData();
|
||||
|
||||
$response = $this->get('trash/clear/notes');
|
||||
$response = $this->post('trash/clear', [
|
||||
'model' => 'notes'
|
||||
]);
|
||||
|
||||
$response->assertStatus(302);
|
||||
$response->assertRedirect('trash');
|
||||
|
||||
$this->assertEquals(0, DB::table('notes')->count());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user