This commit is contained in:
2026-08-10 19:18:25 +03:00
parent a9923f72ce
commit 7c501d1e9f
35 changed files with 2185 additions and 78 deletions
+37
View File
@@ -0,0 +1,37 @@
<?php
namespace App\Http\Resources;
use Illuminate\Http\Request;
use Illuminate\Http\Resources\Json\JsonResource;
class ExerciseResource extends JsonResource
{
public function toArray(Request $request): array
{
return [
'id' => $this->id,
'name' => $this->display_name,
'original_name' => $this->name,
'slug' => $this->slug,
'gif_url' => $this->gif_url,
'poster_url' => $this->poster_url,
'instructions' => $this->instructions,
'body_parts' => $this->whenLoaded('bodyParts', fn () => $this->bodyParts->map(fn ($m) => [
'id' => $m->id, 'name' => $m->name, 'slug' => $m->slug,
])),
'target_muscles' => $this->whenLoaded('targetMuscles', fn () => $this->targetMuscles->map(fn ($m) => [
'id' => $m->id, 'name' => $m->name, 'slug' => $m->slug,
])),
'secondary_muscles' => $this->whenLoaded('secondaryMuscles', fn () => $this->secondaryMuscles->map(fn ($m) => [
'id' => $m->id, 'name' => $m->name, 'slug' => $m->slug,
])),
'equipments' => $this->whenLoaded('equipments', fn () => $this->equipments->map(fn ($m) => [
'id' => $m->id, 'name' => $m->name, 'slug' => $m->slug,
])),
'is_favorited' => $request->user()
? $request->user()->favoriteExercises()->where('exercise_id', $this->id)->exists()
: false,
];
}
}