Skip to content

Commit

Permalink
Refactor Picture and Album Resource, and PictureController
Browse files Browse the repository at this point in the history
This commit involves changes in the DocBlocks and method return types. It refines the import statements in the Picture and Album classes by importing Picture and Album directly instead of relying on full namespace reference in the PhpDoc. Furthermore, explicit return types are added to the methods in the PictureController for better type safety and readability.
  • Loading branch information
marco-introini committed Dec 23, 2023
1 parent 3066129 commit 3759c55
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 7 deletions.
12 changes: 7 additions & 5 deletions app/Http/Controllers/PictureController.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,18 @@

use App\Http\Resources\PictureResource;
use App\Models\Picture;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\AnonymousResourceCollection;

class PictureController extends Controller
{
public function index()
public function index(): AnonymousResourceCollection
{
return PictureResource::collection(Picture::all());
}

public function store(Request $request)
public function store(Request $request): PictureResource
{
$data = $request->validate([
'name' => ['required'],
Expand All @@ -24,12 +26,12 @@ public function store(Request $request)
return new PictureResource(Picture::create($data));
}

public function show(Picture $picture)
public function show(Picture $picture): PictureResource
{
return new PictureResource($picture);
}

public function update(Request $request, Picture $picture)
public function update(Request $request, Picture $picture): PictureResource
{
$data = $request->validate([
'name' => ['required'],
Expand All @@ -42,7 +44,7 @@ public function update(Request $request, Picture $picture)
return new PictureResource($picture);
}

public function destroy(Picture $picture)
public function destroy(Picture $picture): JsonResponse
{
$picture->delete();

Expand Down
3 changes: 2 additions & 1 deletion app/Http/Resources/AlbumResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,12 @@

namespace App\Http\Resources;

use App\Models\Album;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

/** @mixin \App\Models\Album */
/** @mixin Album */
class AlbumResource extends JsonResource
{
/**
Expand Down
8 changes: 7 additions & 1 deletion app/Http/Resources/PictureResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,18 @@

namespace App\Http\Resources;

use App\Models\Picture;
use Carbon\Carbon;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;

/** @mixin \App\Models\Picture */
/** @mixin Picture */
class PictureResource extends JsonResource
{
/**
* @param Request $request
* @return array<string, string|Carbon|int|null>
*/
public function toArray(Request $request): array
{
return [
Expand Down

0 comments on commit 3759c55

Please sign in to comment.