<?php


namespace App\Validations;


class GaleriaValidation
{
    static public function register () : array {
        return [
            "id_clinica" => [
                'label' => 'Id_clinica',
                'rules' => 'trim|required'
            ],
            "id_paciente" => [
                'label' => 'Id_paciente',
                'rules' => 'trim|required'
            ],
            "id_medico" => [
                'label' => 'Id_medico',
                'rules' => 'trim|required'
            ],
            "image" => [
                'label' => 'Imagem',
                'rules' => 'trim|required'
            ],
            "descricao" => [
                'label' => 'Descrição',
                'rules' => 'trim|required'
            ],
        ];
    }

    static public function update (int $id_paciente) : array {
        return [
            "nome" => [
                'label' => 'Nome',
                'rules' => 'trim|required|only_letters_and_spaces',
                'errors' => [
                    'only_letters_and_spaces' => 'Digite apenas caracteres alfanuméricos.'
                ]
            ],
            "rg" => [
                'label' => 'RG',
                'rules' => 'required',
                'errors' => [
                    'validate_rg'=> 'Informe um RG válido'
                ]
            ],
            "genero" => [
                'label' => 'Gênero',
                'rules' => 'required|in_list[M,F,O]',
                'errors' => ['in_list' => 'Informe um sexo válido.',]
            ],
            "data_nascimento" => [
                'label' => 'Data de nascimento',
                'rules' => 'required|validate_date|validate_birthdate',
                'errors' => [
                    'validate_date' => 'Informe uma data válida.',
                    'validate_birthdate' => "Sua idade deve estar entre 18 e 70 anos."
                ]
            ],
            "estado_civil" => [
                'label' => 'Estado civil',
                'rules' => 'trim|required',
            ],
            "cpf" => [
                'label' => 'CPF',
                'rules' => 'required|validate_cpf',
                'errors' => ['validate_cpf' => 'Informe um CPF válido.',]
            ],

            "telefone_1" => [
                'label' => 'Telefone 1',
                'rules' => 'trim|required|validate_phone',
                'errors' => ['validate_phone' => 'Informe um telefone válido.',]
            ],
            "telefone_2" => [
                'label' => 'Telefone 2',
                'rules' => 'trim|validate_phone',
                'errors' => ['validate_phone' => 'Informe um telefone válido.']
            ],
            "cep" => [
                'label' => 'CEP',
                'rules' => 'required|validate_cep',
                'errors' => ['validate_cep' => 'Digite um CEP válido.']
            ],
            "numero" => [
                'label' => 'Número',
                'rules' => 'trim|required'
            ],
            "complemento" => [
                'label' => 'Complemento',
                'rules' => 'trim',
            ],
            "referencias" => [
                'label' => 'Referências',
                'rules' => 'trim',
            ],
            "id_medico" => [
                'label' => 'Médico',
                'rules' => 'trim|required'
            ],
        ];
    }

    static public function selfRegister () : array {
        $rules = GaleriaValidation::register();
        $rules["senha"] = [
            'label' => 'Senha',
            'rules' => 'required|min_length[10]'
        ];
        return $rules;
    }
}