HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
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/vhost/disk-apps/comfama.sports-crowd.com/app/Services/AcademyService.php
<?php

namespace App\Services;

use App\AcademyUser;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;

class AcademyService
{

    public function find($id)
    {
        return AcademyUser::find($id);
    }

    public function validateAcademyStudents()
    {
        $students = $this->countAcademyStudents();
        return $students > 0;
    }

    public function academyStudents()
    {
        $students = AcademyUser::select(
            DB::raw('UPPER(CONCAT(student_name, " ", student_last_name)) AS name'),
            'document_types.alias AS document_type',
            'identification AS document',
        )->join('document_types', 'document_types.id', '=', 'academy_users.student_document_type_id')
            ->where('user_id', Auth::user()->id)
            ->where('academy_users.active', 1)
            ->orderBy('name', 'ASC')
            ->get();

        return $students;
    }

    public function mapAcademyData($data)
    {
        $academyUser = AcademyUser::where('identification', $data['document'])->where('user_id', Auth::user()->id)->first();
        if ($academyUser) {
            $data['name']           = strtoupper($academyUser->student_name . ' ' . $academyUser->student_last_name);
            $data['dob']            = $academyUser->birthdate;
            $data['document_type']  = $academyUser->student_document_type_id;
            $data['document']       = $academyUser->identification;

            $data['fileIdentificationDocument'] = 'pending';
            $data['fileInsuranceDocument']      = 'pending';

            $data['guardianName']       = strtoupper($academyUser->advisor_name . ' ' . $academyUser->advisor_last_name);
            $data['guardianDocument']   = $academyUser->advisor_identification;
            $data['guardianEmail']      = $academyUser->mail;
            $data['guardianPhone']      = $academyUser->phone;
        }
        return $data;
    }

    private function countAcademyStudents()
    {
        $students = AcademyUser::select(
            'academy_users.id'
        )->where('user_id', Auth::user()->id)
            ->where('academy_users.active', 1)
            ->count();

        return $students;
    }
}