<?php

namespace App\Http\Controllers;

use Illuminate\Routing\Controller;

// {} Librerías

// ! Petición
use Illuminate\Http\Request;

// ! Utilidades
use App\Utilidades;

// ! Correo
use Illuminate\Support\Facades\Mail;
use App\Correo;

// {} Clase
class Controlador extends Controller {

    // ! Utilizando la librerías de utilidades
    use Utilidades;

    // ! Función para ejecutar una
    // ! petición hacía la base de datos
    public function ejecutarPeticion(Request $request) {

        // + Función para ejecutar un procedimiento
        $datos = $this->ejecutarProcedimiento($request);

        // + Retornando los datos de la petición realizada
        return $datos;

    }

    // ! Función para obtener la estructura
    // ! de las columnas de una tabla o procedimiento
    public function obtenerColumnas(Request $request) {

        // + Función para obtener el esquema de columnas
        $datos = $this->obtenerEsquemaColumnas($request);

        // + Retornando los datos de la petición realizada
        return $datos;

    }

    // ! Función para enviar correos electrónicos
    public function enviarCorreo(Request $request) {

        Mail::to($request->correo_destino)->send(
            new Correo($request)
        );

        return response()->json();

    }

}
