<?php

use Illuminate\Support\Facades\Route;
/* use Artisan; */

Auth::routes();
Route::get('/', 'HomeController@index')->name('home');

Route::get('/logout', 'Auth\LoginController@logout')->name('logout');

/* Route::get('/StorageLink', function(){ */
/*     $result = Artisan::call('storage:link'); */
/*     return redirect('/'); */
/* }); */

Route::middleware("encrypt")->group(function () {

    // Laboratorio
    Route::get("/SeeSectionLaboratorio", "LaboratorioController@section")->middleware('admin');
    Route::get("/SeeIndexLaboratorio", "LaboratorioController@index")->middleware('admin');
    Route::get("/SeeEditLaboratorio", "LaboratorioController@edit")->middleware('admin');
    Route::get("/SeeListLaboratorio", "LaboratorioController@listHTML")->middleware('digitador');
    Route::get("/ShowLaboratorio", "LaboratorioController@show")->middleware('admin');
    Route::post("/StoreLaboratorio", "LaboratorioController@store")->middleware('admin');
    Route::put("/ChangeStatusLaboratorio", "LaboratorioController@status")->middleware('admin');
    Route::put("/UpdateLaboratorio", "LaboratorioController@update")->middleware('admin');
    Route::delete("/DestroyLaboratorio", "LaboratorioController@destroy")->middleware('admin');

    //permisos
    Route::get("/SeeSectionSuperUsuario", "SuperUsuarioController@section")->middleware('superadmin');
    Route::post("/StoreSuperUsuario", "SuperUsuarioController@store")->middleware('superadmin');
    Route::get("/SeeIndexSuperUsuario", "SuperUsuarioController@index")->middleware('superadmin');
    Route::get("/SeeEditSuperUsuario", "SuperUsuarioController@edit")->middleware('superadmin');
    Route::put("/UpdateSuperUsuario", "SuperUsuarioController@update")->middleware('superadmin');
    Route::delete("DestroySuperUsuario", "SuperUsuarioController@destroy")->middleware('superadmin');
    Route::post("ChangeStatusClientSuperUsuario", "SuperUsuarioController@updateState")->middleware('superadmin');
    Route::get("/ShowSuperUsuario", "SuperUsuarioController@show")->middleware('superadmin');
    Route::get("/SeeListSuperUsuario", "SuperUsuarioController@listHTML")->middleware('admin');

    // Usuario
    Route::get("/SeeSectionUsuario", "UsuarioController@section")->middleware('admin');
    Route::get("/SeeIndexUsuario", "UsuarioController@index")->middleware('admin');
    Route::get("/SeeEditUsuario", "UsuarioController@edit")->middleware('admin');
    Route::get("/SeeListUsuario", "UsuarioController@listHTML")->middleware('digitador');
    Route::get("/ShowUsuario", "UsuarioController@show")->middleware('admin');
    Route::post("/StoreUsuario", "UsuarioController@store")->middleware('admin');
    Route::put("/ChangeStatusUsuario", "UsuarioController@status")->middleware('admin');
    Route::put("/UpdateUsuario", "UsuarioController@update")->middleware('admin');
    Route::delete("/DestroyUsuario", "UsuarioController@destroy")->middleware('admin');
    // Asignacion de laboratorio
    Route::post("/StoreAsignationUsuarioLaboratorio", "UsuarioController@storeAsignationLab")->middleware('admin');
    Route::get("/SeeIndexAsignationUsuarioLaboratorio", "UsuarioController@indexAsignationLaboratorio")->middleware('admin');
    Route::delete("/DestroyAsignationUsuarioLaboratorio", "UsuarioController@destroyAsignationLab")->middleware('admin');
    // Asignacion de permisos
    Route::post("/StoreAsignationUsuarioPermiso", "UsuarioController@storeAsignationPermiso")->middleware('admin');
    Route::get("/SeeIndexAsignationUsuarioPermiso", "UsuarioController@indexAsignationPermiso")->middleware('admin');
    Route::delete("/DestroyAsignationUsuarioPermiso", "UsuarioController@destroyAsignationPermiso")->middleware('admin');
    // Actalizacion de contraseña
    Route::get("/GetDinamicModalActualizacionPass", "UsuarioController@modalStorePass")->middleware('admin');
    Route::post("/StoreUsuarioPass", "UsuarioController@storePass")->middleware('admin');


    // Area
    Route::get("/SeeSectionArea", "AreaController@section")->middleware('coordinador');
    Route::get("/SeeIndexArea", "AreaController@index")->middleware('coordinador');
    Route::get("/SeeEditArea", "AreaController@edit")->middleware('coordinador');
    Route::get("/SeeListArea", "AreaController@listHTML")->middleware('analista');
    Route::get("/ShowArea", "AreaController@show")->middleware('coordinador');
    Route::post("/StoreArea", "AreaController@store")->middleware('coordinador');
    Route::put("/ChangeStatusArea", "AreaController@status")->middleware('coordinador');
    Route::put("/UpdateArea", "AreaController@update")->middleware('coordinador');
    Route::delete("/DestroyArea", "AreaController@destroy")->middleware('coordinador');


    // Analito de área
    Route::get("/SeeSectionAnalito", "AnalitoController@section")->middleware('coordinador');
    Route::get("/SeeIndexAnalito", "AnalitoController@index")->middleware('coordinador');
    Route::get("/SeeEditAnalito", "AnalitoController@edit")->middleware('coordinador');
    Route::get("/SeeListAnalito", "AnalitoController@listHTML")->middleware('analista');
    Route::get("/SeeListAnalitoEP15", "AnalitoController@listHTMLEP15")->middleware('analista');
    Route::get("/ShowAnalito", "AnalitoController@show")->middleware('coordinador');
    Route::post("/StoreAnalito", "AnalitoController@store")->middleware('coordinador');
    Route::put("/ChangeStatusAnalito", "AnalitoController@status")->middleware('coordinador');
    Route::put("/UpdateAnalito", "AnalitoController@update")->middleware('coordinador');
    Route::delete("/DestroyAnalito", "AnalitoController@destroy")->middleware('coordinador');
    Route::get("/ExportPdfAnalito", "AnalitoController@exportPdf")->middleware('analista');


    // Metodologías de área
    Route::get("/SeeSectionMetodologia", "MetodologiaController@section")->middleware('coordinador');
    Route::get("/SeeIndexMetodologia", "MetodologiaController@index")->middleware('coordinador');
    Route::get("/SeeEditMetodologia", "MetodologiaController@edit")->middleware('coordinador');
    Route::get("/SeeListMetodologia", "MetodologiaController@listHTML")->middleware('analista');
    Route::get("/ShowMetodologia", "MetodologiaController@show")->middleware('coordinador');
    Route::post("/StoreMetodologia", "MetodologiaController@store")->middleware('coordinador');
    Route::put("/ChangeStatusMetodologia", "MetodologiaController@status")->middleware('coordinador');
    Route::put("/UpdateMetodologia", "MetodologiaController@update")->middleware('coordinador');
    Route::delete("/DestroyMetodologia", "MetodologiaController@destroy")->middleware('coordinador');


    // Modo
    Route::get("/SeeSectionModo", "ModoController@section")->middleware('coordinador');
    Route::get("/SeeIndexModo", "ModoController@index")->middleware('coordinador');
    Route::get("/SeeEditModo", "ModoController@edit")->middleware('coordinador');
    Route::get("/SeeListModo", "ModoController@listHTML")->middleware('analista');
    Route::get("/ShowModo", "ModoController@show")->middleware('coordinador');
    Route::post("/StoreModo", "ModoController@store")->middleware('coordinador');
    Route::put("/ChangeStatusModo", "ModoController@status")->middleware('coordinador');
    Route::put("/UpdateModo", "ModoController@update")->middleware('coordinador');
    Route::delete("/DestroyModo", "ModoController@destroy")->middleware('coordinador');


    // Unidad
    Route::get("/SeeSectionUnidad", "UnidadController@section")->middleware('coordinador');
    Route::get("/SeeIndexUnidad", "UnidadController@index")->middleware('coordinador');
    Route::get("/SeeEditUnidad", "UnidadController@edit")->middleware('coordinador');
    Route::get("/SeeListUnidad", "UnidadController@listHTML")->middleware('analista');
    Route::get("/SeeListUnidadEP15", "UnidadController@listHTMLEP15")->middleware('analista');
    Route::get("/ShowUnidad", "UnidadController@show")->middleware('coordinador');
    Route::post("/StoreUnidad", "UnidadController@store")->middleware('coordinador');
    Route::put("/ChangeStatusUnidad", "UnidadController@status")->middleware('coordinador');
    Route::put("/UpdateUnidad", "UnidadController@update")->middleware('coordinador');
    Route::delete("/DestroyUnidad", "UnidadController@destroy")->middleware('coordinador');


    // Analizador
    Route::get("/SeeSectionAnalizador", "AnalizadorController@section")->middleware('coordinador');
    Route::get("/SeeIndexAnalizador", "AnalizadorController@index")->middleware('coordinador');
    Route::get("/SeeEditAnalizador", "AnalizadorController@edit")->middleware('coordinador');
    Route::get("/SeeListAnalizador", "AnalizadorController@listHTML")->middleware('analista');
    Route::get("/SeeListAnalizadorEP15", "AnalizadorController@listHTMLEP15")->middleware('analista');
    Route::get("/ShowAnalizador", "AnalizadorController@show")->middleware('coordinador');
    Route::post("/StoreAnalizador", "AnalizadorController@store")->middleware('coordinador');
    Route::put("/ChangeStatusAnalizador", "AnalizadorController@status")->middleware('coordinador');
    Route::put("/UpdateAnalizador", "AnalizadorController@update")->middleware('coordinador');
    Route::delete("/DestroyAnalizador", "AnalizadorController@destroy")->middleware('coordinador');


    // Proyectos EP09
    Route::get("/SeeSectionCorridaArea", "CorridaAreaController@section")->middleware('digitador');
    Route::get("/GetDinamicModalCorridaArea", "CorridaAreaController@create")->middleware('coordinador');
    Route::get("/GetDinamicModalVerUsuariosCorridaArea", "CorridaAreaController@verUsuarios")->middleware('coordinador');
    Route::get("/GetDinamicModalModificarCorridaArea", "CorridaAreaController@edit")->middleware('coordinador');
    Route::post("/StoreCorridaArea", "CorridaAreaController@store")->middleware('coordinador');
    Route::get("/SeeIndexCorridaArea", "CorridaAreaController@index")->middleware('digitador');
    Route::delete("/DestroyCorridaArea", "CorridaAreaController@destroy")->middleware('coordinador');
    Route::put("/ChangeStatusCorridaArea", "CorridaAreaController@status")->middleware('coordinador');
    Route::get("/SeeListCorridaArea", "CorridaAreaController@listHTML")->middleware('digitador');
    Route::put("/UpdateModalCorridaArea", "CorridaAreaController@update")->middleware('coordinador');


    // Proyectos EP15
    Route::get("/SeeSectionProyectoEP15", "ProyectoEP15Controller@section")->middleware('digitador');
    Route::get("/GetDinamicModalProyectoEP15", "ProyectoEP15Controller@create")->middleware('coordinador');
    Route::get("/GetDinamicModalVerUsuariosProyectoEP15", "ProyectoEP15Controller@verUsuarios")->middleware('coordinador');
    Route::get("/GetDinamicModalModificarProyectoEP15", "ProyectoEP15Controller@edit")->middleware('coordinador');
    Route::post("/StoreProyectoEP15", "ProyectoEP15Controller@store")->middleware('coordinador');
    Route::get("/SeeIndexProyectoEP15", "ProyectoEP15Controller@index")->middleware('digitador');
    Route::delete("/DestroyProyectoEP15", "ProyectoEP15Controller@destroy")->middleware('coordinador');
    Route::put("/ChangeStatusProyectoEP15", "ProyectoEP15Controller@status")->middleware('coordinador');
    Route::get("/SeeListProyectoEP15", "ProyectoEP15Controller@listHTML")->middleware('digitador');
    Route::put("/UpdateModalProyectoEP15", "ProyectoEP15Controller@update")->middleware('coordinador');


    // Analito EP09
    Route::get("/SeeSectionCorridaAnalito", "CorridaAnalitoController@section")->middleware('digitador');
    Route::get("/SeeIndexCorridaAnalito", "CorridaAnalitoController@index")->middleware('digitador');
    Route::post("/StoreCorridaAnalito", "CorridaAnalitoController@store")->middleware('analista');
    Route::delete("/DestroyCorridaAnalito", "CorridaAnalitoController@destroy")->middleware('analista');
    Route::put("/ChangeStatusCorridaAnalito", "CorridaAnalitoController@status")->middleware('analista');
    Route::put("/UpdateCorridaAnalito", "CorridaAnalitoController@update")->middleware('analista');
    Route::get("/SeeEditCorridaAnalito", "CorridaAnalitoController@edit")->middleware('analista');
    Route::get("/ShowCorridaAnalito", "CorridaAnalitoController@show")->middleware('digitador');


    // Analito EP15
    Route::get("/SeeSectionAnalitoEP15", "AnalitoEP15Controller@section")->middleware('digitador');
    Route::get("/SeeIndexAnalitoEP15", "AnalitoEP15Controller@index")->middleware('digitador');
    Route::post("/StoreAnalitoEP15", "AnalitoEP15Controller@store")->middleware('analista');
    Route::delete("/DestroyAnalitoEP15", "AnalitoEP15Controller@destroy")->middleware('analista');
    Route::put("/ChangeStatusAnalitoEP15", "AnalitoEP15Controller@status")->middleware('analista');
    Route::put("/UpdateAnalitoEP15", "AnalitoEP15Controller@update")->middleware('analista');
    Route::get("/SeeEditAnalitoEP15", "AnalitoEP15Controller@edit")->middleware('analista');
    Route::get("/ShowAnalitoEP15", "AnalitoEP15Controller@show")->middleware('digitador');


    // Resultados EP09
    Route::get("/GetDinamicModalResultadoCorrida", "ResultadoCorridaController@create")->middleware('digitador');
    Route::delete("/DestroyResultadoCorrida", "ResultadoCorridaController@destroy")->middleware('analista');
    Route::post("/StoreResults", "ResultadoCorridaController@multipleStore")->middleware('digitador');
    Route::get("/DownloadPlantillaResultados", "ResultadoCorridaController@downloadTemplateResults")->middleware('analista');


    // Resultados EP15
    Route::get("/GetDinamicModalResultadoEP15", "ResultadoEP15Controller@create")->middleware('digitador');
    Route::post("/StoreResultsEP15", "ResultadoEP15Controller@multipleStore")->middleware('digitador');
    Route::get("/DownloadPlantillaResultadosEP15", "ResultadoEP15Controller@downloadTemplateResults")->middleware('analista');

    // Nivel EP15
    Route::get("/GetDinamicModalNivelEP15", "NivelEP15Controller@create")->middleware('analista');
    Route::post("/StoreNivelEP15", "NivelEP15Controller@multipleStore")->middleware('analista');


    // Historico
    Route::get("/SeeSectionHistorico", "HistoricoController@section")->middleware('admin');
    Route::get("/SeeIndexHistorico", "HistoricoController@index")->middleware('admin');


    // Rol
    Route::get("/SeeListRol", "RolController@listHTML")->middleware('digitador');


    // Reporte final
    Route::get("/GetDinamicModalInformeFinal", "ResultadoCorridaController@informe")->middleware('analista');
    Route::get('/GetResultsJSON', 'ResultadoCorridaController@getResultadosJSON')->middleware('analista');
    Route::post('/reporte_final', 'PDFController@generarInformeFinal')->middleware('analista');
    Route::get('/SeeReport', 'PDFController@seeReport')->middleware('analista');
    Route::get('/reporte_final_edicion', 'PDFController@retornoVistaEdicion')->middleware('analista');

    // Reporte Final EP15
    Route::get('/GetResultsJSONEP15', 'ResultadoEP15Controller@getResultadosJSON')->middleware('analista');
    Route::post('/reporte_final_ep15', 'PDFEP15Controller@generarInformeFinal')->middleware('analista');
    Route::get('/SeeReportEP15', 'PDFEP15Controller@seeReport')->middleware('analista');
    Route::get("/GetDinamicModalInformeFinalEP15", "ResultadoEP15Controller@informe")->middleware('analista');
    Route::get("/GetDinamicModalInformeResumenEP15", "ResultadoEP15Controller@informeResumen")->middleware('analista');

    // Nueva forma para genera reportes
    Route::get("/GenerateInformeFinalEP15", "ResultadoEP15Controller@informePrueba")->middleware('analista');
    Route::get("/GenerateInformeResumenEP15", "ResultadoEP15Controller@informeResumenPdf")->middleware('analista');
    Route::get("/GenerateInformeFinal", "ResultadoCorridaController@informePrueba")->middleware('analista');
});

Route::get("/SeeListAccionSection", "HistoricoController@listAccionHTML")->middleware('admin');
Route::delete('/DeleteDocument', 'PDFController@eliminarInforme')->middleware('analista');
Route::delete('/DeleteDocumentEP15', 'PDFEP15Controller@eliminarInforme')->middleware('analista');
