34 lines
1.7 KiB
PHP
34 lines
1.7 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Resources\Fees;
|
|
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Http\Resources\Json\JsonResource;
|
|
|
|
class ChargeActionResource extends JsonResource
|
|
{
|
|
public function toArray(Request $request): array
|
|
{
|
|
return array_filter([
|
|
'ok' => (bool) ($this->resource['ok'] ?? false),
|
|
'charge_type' => $this->resource['charge_type'] ?? null,
|
|
'id' => isset($this->resource['id']) ? (int) $this->resource['id'] : null,
|
|
'parent_id' => isset($this->resource['parent_id']) ? (int) $this->resource['parent_id'] : null,
|
|
'student_id' => isset($this->resource['student_id']) ? (int) $this->resource['student_id'] : null,
|
|
'invoice_id' => isset($this->resource['invoice_id']) ? (int) $this->resource['invoice_id'] : null,
|
|
'event_id' => isset($this->resource['event_id']) ? (int) $this->resource['event_id'] : null,
|
|
'event_name' => $this->resource['event_name'] ?? null,
|
|
'amount' => isset($this->resource['amount']) ? (float) $this->resource['amount'] : null,
|
|
'status' => $this->resource['status'] ?? null,
|
|
'payment_status' => $this->resource['payment_status'] ?? null,
|
|
'participation_status' => $this->resource['participation_status'] ?? null,
|
|
'cancellation_status' => $this->resource['cancellation_status'] ?? null,
|
|
'account_credit_charge_id' => isset($this->resource['account_credit_charge_id'])
|
|
? (int) $this->resource['account_credit_charge_id']
|
|
: null,
|
|
'message' => $this->resource['message'] ?? null,
|
|
'error' => $this->resource['error'] ?? null,
|
|
], fn ($value) => $value !== null);
|
|
}
|
|
}
|