koel/app/Http/Resources/InteractionResource.php

39 lines
1,012 B
PHP
Raw Normal View History

2022-06-10 10:47:46 +00:00
<?php
namespace App\Http\Resources;
use App\Models\Interaction;
use Illuminate\Http\Resources\Json\JsonResource;
class InteractionResource extends JsonResource
{
public const JSON_STRUCTURE = [
'type',
'id',
'songId',
'song_id',
'liked',
'playCount',
'play_count',
];
2024-04-18 14:36:28 +00:00
public function __construct(private readonly Interaction $interaction)
2022-06-10 10:47:46 +00:00
{
parent::__construct($interaction);
}
/** @return array<mixed> */
public function toArray($request): array
{
return [
'type' => 'interactions',
'id' => $this->interaction->id,
'songId' => $this->interaction->song_id, // @fixme backwards compatibility
'song_id' => $this->interaction->song_id,
'liked' => $this->interaction->liked,
'playCount' => $this->interaction->play_count, // @fixme backwards compatibility
'play_count' => $this->interaction->play_count,
];
}
}