35 lines
1.4 KiB
PHP
35 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Resources;
|
|
|
|
use App\RelationModels\EventParticipationFee;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
|
|
class ParticipationFeeTypeResource extends JsonResource
|
|
{
|
|
public function __construct(private EventParticipationFee $participationFee) {}
|
|
|
|
public function toArray(Request $request): array
|
|
{
|
|
$return = [
|
|
'type' => new ParticipationTypeResource($this->participationFee->type()->first())->toArray($request),
|
|
'name' => $this->participationFee->name,
|
|
'description' => $this->participationFee->description,
|
|
'amount_standard' => ['internal' => $this->participationFee->amount_standard, 'readable' => $this->participationFee->amount_standard->toString()],
|
|
'amount_reduced' => ['internal' => null, 'readable' => null],
|
|
'amount_solidarity' => ['internal' => null, 'readable' => null],
|
|
];
|
|
|
|
if ($this->participationFee->amount_reduced !== null) {
|
|
$return['amount_reduced'] = ['internal' => $this->participationFee->amount_reduced, 'readable' => $this->participationFee->amount_reduced->toString()];
|
|
}
|
|
|
|
if ($this->participationFee->amount_solidarity !== null) {
|
|
$return['amount_solidarity'] = ['internal' => $this->participationFee->amount_solidarity, 'readable' => $this->participationFee->amount_solidarity->toString()];
|
|
}
|
|
|
|
return $return;
|
|
}
|
|
}
|