<?php


namespace App\Validations;


class AgendaValidation
{
    static public function register () : array {
        return [
            "id_medico" => [
                'label' => 'Medico',
                'rules' => 'trim|required|is_natural',
            ],
            "id_unidade" => [
                'label' => 'Unidade',
                'rules' => 'trim|required|is_natural',
            ],
            "id_tipo_procedimento" => [
                'label' => 'Tipo de procedimento',
                'rules' => 'trim|required|is_natural',
            ],
            "hora_inicio" => [
                'label' => 'Hora de início',
                'rules' => 'trim|required|validate_horario',
            ],
            "hora_final" => [
                'label' => 'Hora final',
                'rules' => 'trim|required|validate_horario',
            ],
            "data" => [
                'label' => 'Data',
                'rules' => 'trim|required|validate_date',
            ]
        ];
    }

    static public function multipleRegister () : array {
        return [
            "id_medico" => [
                'label' => 'Médico',
                'rules' => 'trim|required|is_natural',
            ],
            "id_unidade" => [
                'label' => 'Unidade',
                'rules' => 'trim|required|is_natural',
            ],
            "id_tipo_procedimento" => [
                'label' => 'Tipo de procedimento',
                'rules' => 'trim|required|is_natural',
            ],
            "data_inicial" => [
                'label' => 'Data inicial',
                'rules' => 'trim|required|validate_date',
            ],
            "data_final" => [
                'label' => 'Data final',
                'rules' => 'trim|required|validate_date',
            ],
            "hora_inicio" => [
                'label' => 'Hora de início',
                'rules' => 'trim|required|validate_horario',
            ],
            "hora_fim" => [
                'label' => 'Hora final',
                'rules' => 'trim|required|validate_horario',
            ],
            "tempo_atendimento" => [
                'label' => 'Data',
                'rules' => 'trim|required|validate_horario',
            ],
            "dias_semana.*" => [
                'label' => 'Dias da semana',
                'rules' => 'trim|required',
            ],
        ];
    }

    static public function update () : array {
        return [
            "id_tipo_procedimento" => [
                'label' => 'Tipo de procedimento',
                'rules' => 'trim|required|is_natural',
            ],
        ];
    }
}