40 lines
1.2 KiB
PHP
40 lines
1.2 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Admin;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Models\Image;
|
|
use App\Services\UserService;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Response;
|
|
use Illuminate\View\View;
|
|
|
|
class ImageController extends Controller
|
|
{
|
|
public function index(Request $request): View
|
|
{
|
|
$statuses = [];
|
|
$images = Image::query()->with('user', 'album', 'group', 'strategy')->latest()->paginate(40);
|
|
$images->getCollection()->each(function (Image $image) {
|
|
$image->append('url', 'pathname');
|
|
$image->album?->setVisible(['name']);
|
|
$image->group?->setVisible(['name']);
|
|
$image->strategy?->setVisible(['name']);
|
|
});
|
|
return view('admin.image.index', compact('images', 'statuses'));
|
|
}
|
|
|
|
public function update(): Response
|
|
{
|
|
return $this->success();
|
|
}
|
|
|
|
public function delete(Request $request): Response
|
|
{
|
|
/** @var Image $image */
|
|
$image = Image::with('user', 'strategy', 'album')->find($request->route('id'));
|
|
(new UserService())->deleteImages([$image->id]);
|
|
return $this->success('删除成功');
|
|
}
|
|
}
|