$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, ]; } }