<?php

use Illuminate\Support\Facades\Route;
use App\Http\Controllers\inicioController;
use App\Http\Controllers\perfilController;
use App\Http\Controllers\tequipoController;
use App\Http\Controllers\marcaController;
use App\Http\Controllers\proyectoController;
use App\Http\Controllers\equipoController;
use App\Http\Controllers\asignacionEquipoController;
use App\Http\Controllers\requisicionController;
use App\Http\Controllers\Auth\LoginController;

Auth::routes();

Route::get('/logout', [LoginController::class, 'logout'])->name('logout');

Route::group(['middleware' => 'auth'],function(){
    /*
    |--------------------------------------------------------------------------
    | MAESTRO DASHBOARD
    |--------------------------------------------------------------------------
    */
    Route::get('/', [inicioController::class, 'inicio'])->name('inicio');
    Route::get('/inicio', [inicioController::class, 'inicio'])->name('inicio');

    /*
    |--------------------------------------------------------------------------
    | MAESTRO PERFIL
    |--------------------------------------------------------------------------
    */
    Route::get('/perfil', [perfilController::class, 'perfil'])->name('perfil');
    Route::post('/ActualizarPerfil', [perfilController::class, 'ActualizarPerfil'])->name('ActualizarPerfil');

    /*
    |--------------------------------------------------------------------------
    | MAESTRO TIPO EQUIPO
    |--------------------------------------------------------------------------
    */
    Route::get('/NuevoTipoEquipo', [tequipoController::class, 'NuevoTipoEquipo'])->name('NuevoTipoEquipo');
    Route::post('/GuardarTipoEquipo', [tequipoController::class, 'GuardarTipoEquipo'])->name('GuardarTipoEquipo');
    Route::get('/ListarTipoEquipo', [tequipoController::class, 'ListarTipoEquipo'])->name('ListarTipoEquipo');
    Route::get('/CargarTipoEquipo/{id?}', [tequipoController::class, 'CargarTipoEquipo'])->name('CargarTipoEquipo');
    Route::post('/EditarTipoEquipo/{id?}', [tequipoController::class, 'EditarTipoEquipo'])->name('EditarTipoEquipo');

    /*
    |--------------------------------------------------------------------------
    | MAESTRO MARCAS
    |--------------------------------------------------------------------------
    */

    Route::get('/NuevaMarca', [marcaController::class, 'NuevaMarca'])->name('NuevaMarca');
    Route::post('/GuardarMarca', [marcaController::class, 'GuardarMarca'])->name('GuardarMarca');
    Route::get('/ListarMarcas', [marcaController::class, 'ListarMarcas'])->name('ListarMarcas');
    Route::get('/CargarMarcas/{id?}', [marcaController::class, 'CargarMarcas'])->name('CargarMarcas');
    Route::post('/EditarMarca/{id?}', [marcaController::class, 'EditarMarca'])->name('EditarMarca');

    /*
    |--------------------------------------------------------------------------
    | MAESTRO PROYECTOS , SITES
    |--------------------------------------------------------------------------
    */
    Route::get('/NuevoProyecto', [proyectoController::class, 'NuevoProyecto'])->name('NuevoProyecto');
    Route::post('/GuardarProyecto', [proyectoController::class, 'GuardarProyecto'])->name('GuardarProyecto');
    Route::get('/ListarProyectos', [proyectoController::class, 'ListarProyectos'])->name('ListarProyectos');
    Route::get('/CargarProyectos/{id?}', [proyectoController::class, 'CargarProyectos'])->name('CargarProyectos');
    Route::post('/EditarProyecto/{id?}', [proyectoController::class, 'EditarProyecto'])->name('EditarProyecto');

    /*
    |--------------------------------------------------------------------------
    | MAESTRO EQUIPOS
    |--------------------------------------------------------------------------
    */
    Route::get('/NuevoEquipo', [equipoController::class, 'NuevoEquipo'])->name('NuevoEquipo');
    Route::post('/BuscaPorNumeroSerie', [equipoController::class, 'BuscaPorNumeroSerie'])->name('BuscaPorNumeroSerie');
    Route::post('/GuardarEquipo', [equipoController::class, 'GuardarEquipo'])->name('GuardarEquipo');
    Route::get('/ListarEquipos', [equipoController::class, 'ListarEquipos'])->name('ListarEquipos');
    Route::get('/CargarEquipos/{id?}', [equipoController::class, 'CargarEquipos'])->name('CargarEquipos');
    Route::post('/EditarEquipo/{id?}', [equipoController::class, 'EditarEquipo'])->name('EditarEquipo');
    Route::post('/BajaEquipo/{id?}', [equipoController::class, 'BajaEquipo'])->name('BajaEquipo');
    /*
    |--------------------------------------------------------------------------
    | MAESTRO ASIGNACION EQUIPOS
    |--------------------------------------------------------------------------
    */
    Route::get('/NuevaAsignacion', [asignacionEquipoController::class, 'NuevaAsignacion'])->name('NuevaAsignacion');
    Route::post('/GuardarAsignacion', [asignacionEquipoController::class, 'GuardarAsignacion'])->name('GuardarAsignacion');
    Route::get('/ObtenerListaAsinganacionesJson', [asignacionEquipoController::class, 'ObtenerListaAsinganacionesJson'])->name('ObtenerListaAsinganacionesJson');
    Route::get('/ListarAsignacionEquipos', [asignacionEquipoController::class, 'ListarAsignacionEquipos'])->name('ListarAsignacionEquipos');
    Route::get('/CargarAsginacion/{id?}', [asignacionEquipoController::class, 'CargarAsginacion'])->name('CargarAsginacion');
    Route::post('/EditarAsignacion/{id?}', [asignacionEquipoController::class, 'EditarAsignacion'])->name('EditarAsignacion');
    Route::post('/LiberarAsignacion/{id?}', [asignacionEquipoController::class, 'LiberarAsignacion'])->name('LiberarAsignacion');
    Route::post('/EnviarAlertaAsignacion', [asignacionEquipoController::class, 'EnviarAlertaAsignacion'])->name('EnviarAlertaAsignacion');

    
    /*
    |--------------------------------------------------------------------------
    | MAESTRO REQUISICIONES
    |--------------------------------------------------------------------------
    */
    Route::get('/NuevaRequisicion', [requisicionController::class, 'NuevaRequisicion'])->name('NuevaRequisicion');
    Route::get('/CargarParaVB/{id?}', [requisicionController::class, 'CargarParaVB'])->name('CargarParaVB');
    Route::get('/CargarParaOC/{id?}', [requisicionController::class, 'CargarParaOC'])->name('CargarParaOC');
    Route::get('/CargarParaFin/{id?}', [requisicionController::class, 'CargarParaFin'])->name('CargarParaFin');
    Route::post('/GuardarRequisicion', [requisicionController::class, 'GuardarRequisicion'])->name('GuardarRequisicion');
    Route::get('/ListarRequisiciones', [requisicionController::class, 'ListarRequisiciones'])->name('ListarRequisiciones');
    Route::get('/CargarAsginacion/{id?}', [asignacionEquipoController::class, 'CargarAsginacion'])->name('CargarAsginacion');
    Route::post('/RegistrarVB/{id?}', [requisicionController::class, 'RegistrarVB'])->name('RegistrarVB');
    Route::post('/RegistrarOC/{id?}', [requisicionController::class, 'RegistrarOC'])->name('RegistrarOC');
    Route::post('/FinalizarRQ/{id?}', [requisicionController::class, 'FinalizarRQ'])->name('FinalizarRQ');
    Route::get('/ListarRqCerradas', [requisicionController::class, 'ListarRqCerradas'])->name('ListarRqCerradas');
});
