HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux Bradford-Sitios 6.14.0-1017-azure #17~24.04.1-Ubuntu SMP Mon Dec 1 20:10:50 UTC 2025 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/api_matriculas/app/Http/Resources/PeriodResource.php
<?php

namespace App\Http\Resources;

use Illuminate\Http\Resources\Json\JsonResource;

class PeriodResource extends JsonResource
{
    protected $allData;

    public function __construct($resource, $allData = true)
    {
        parent::__construct($resource);
        $this->allData = $allData;
    }

    public function toArray($request)
    {
        $data = [
            'id'          => $this->id,
            'period_year' => $this->period_year,
            'period'      => $this->period,
            'start_date'  => $this->start_date,
            'end_date'    => $this->end_date,
        ];

        if ($this->allData) {
            $data['status']     = $this->status;
            $data['created_at'] = sort_datetimeHuman($this->created_at);
            $data['updated_at'] = sort_datetimeHuman($this->updated_at);
            $data['segments']   = $this->enrollmentPeriods->map(fn($seg) => [
                'id'          => $seg->id,
                'description' => $seg->description,
                'start_date'  => $seg->start_date,
                'end_date'    => $seg->end_date,
                'status'      => $seg->status,
            ]);
        }

        return $data;
    }
}