35 lines
1.0 KiB
PHP
35 lines
1.0 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Http\Resources\Api\V1;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
|
|
final class MusicNumberResource extends JsonResource
|
|
{
|
|
public function toArray(Request $request): array
|
|
{
|
|
return [
|
|
'id' => $this->id,
|
|
'title' => $this->title,
|
|
'artist' => $this->artist,
|
|
'genre' => $this->genre,
|
|
'duration_seconds' => $this->duration_seconds,
|
|
'key' => $this->key,
|
|
'tempo_bpm' => $this->tempo_bpm,
|
|
'time_signature' => $this->time_signature,
|
|
'lyrics' => $this->lyrics,
|
|
'notes' => $this->notes,
|
|
'tags' => $this->tags,
|
|
'play_count' => $this->play_count,
|
|
'is_active' => $this->is_active,
|
|
'attachments' => MusicAttachmentResource::collection($this->whenLoaded('attachments')),
|
|
'created_at' => $this->created_at->toIso8601String(),
|
|
'updated_at' => $this->updated_at->toIso8601String(),
|
|
];
|
|
}
|
|
}
|
|
|