mirror of
https://github.com/BookStackApp/BookStack.git
synced 2024-10-01 01:36:00 -04:00
45 lines
1.2 KiB
PHP
45 lines
1.2 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace BookStack\Http\Controllers\Api;
|
||
|
|
||
|
use BookStack\Actions\ActivityType;
|
||
|
use BookStack\Entities\Models\Deletion;
|
||
|
use BookStack\Entities\Repos\DeletionRepo;
|
||
|
use BookStack\Entities\Tools\TrashCan;
|
||
|
|
||
|
class RecycleBinApiController extends ApiController
|
||
|
{
|
||
|
public function __construct()
|
||
|
{
|
||
|
$this->middleware(function ($request, $next) {
|
||
|
$this->checkPermission('settings-manage');
|
||
|
$this->checkPermission('restrictions-manage-all');
|
||
|
|
||
|
return $next($request);
|
||
|
});
|
||
|
}
|
||
|
|
||
|
public function list()
|
||
|
{
|
||
|
return $this->apiListingResponse(Deletion::query(), [
|
||
|
'id',
|
||
|
'deleted_by',
|
||
|
'created_at',
|
||
|
'updated_at',
|
||
|
'deletable_type',
|
||
|
'deletable_id'
|
||
|
]);
|
||
|
}
|
||
|
|
||
|
public function restore(DeletionRepo $deletionRepo, string $id)
|
||
|
{
|
||
|
$restoreCount = $deletionRepo->restore((int) $id);
|
||
|
return response()->json(['restore_count' => $restoreCount]);
|
||
|
}
|
||
|
|
||
|
public function destroy(DeletionRepo $deletionRepo, string $id)
|
||
|
{
|
||
|
$deleteCount = $deletionRepo->destroy((int) $id);
|
||
|
return response()->json(['delete_count' => $deleteCount]);
|
||
|
}
|
||
|
}
|