api.php 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177
  1. <?php
  2. use App\Http\Controllers\EmployeeController;
  3. use App\Http\Controllers\InterventionController;
  4. use App\Http\Controllers\SubcontractController;
  5. use App\Http\Controllers\WorkTeamController;
  6. use Illuminate\Http\Request;
  7. use Illuminate\Support\Facades\Route;
  8. /*
  9. |--------------------------------------------------------------------------
  10. | API Routes
  11. |--------------------------------------------------------------------------
  12. |
  13. | Here is where you can register API routes for your application. These
  14. | routes are loaded by the RouteServiceProvider within a group which
  15. | is assigned the "api" middleware group. Enjoy building your API!
  16. |
  17. */
  18. Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
  19. return $request->user();
  20. });
  21. Route::post("/login", "App\Http\Controllers\LoginController@login");
  22. Route::post("/pass", "App\Http\Controllers\LoginController@createPasword");
  23. Route::post("/verify-token", "App\Http\Controllers\LoginController@verifyToken");
  24. Route::post("/short-encryption", "App\Http\Controllers\LoginController@shortEncryption");
  25. Route::get("/download-catalogue/{id}/{idUser}/{line}/{token}", "App\Http\Controllers\SystemAdministratorController@downloadCatalogue");
  26. Route::get("/download-file/{token}/{idUser}/{line}", "App\Http\Controllers\DocumentManagementController@downloadFile"); //
  27. Route::middleware(['jwt.auth'])->group(function(){
  28. //Endpoints generales
  29. Route::get("/get-modules/{id}/{line}", "App\Http\Controllers\UsersProfilesController@getModules"); //Obtiene todos los módulos registrados en el sistema
  30. Route::get("/get-module/{idModule}/{id}/{line}", "App\Http\Controllers\UsersProfilesController@getModule"); //Obtiene un módulo a través de su ID
  31. Route::get("/get-submodule/{idMod}/{idSub}/{id}/{line}", "App\Http\Controllers\UsersProfilesController@getSubmodule"); //Obtiene un submódulo a través de su ID
  32. Route::get("/get-function/{idMod}/{idSub}/{idFunc}/{id}/{line}", "App\Http\Controllers\UsersProfilesController@getFunction"); //Obtiene una función a través de su ID
  33. Route::get("/get-screen/{idFunc}/{idScr}/{id}/{line}", "App\Http\Controllers\UsersProfilesController@getScreen"); //Obtiene una pantalla a través de su ID
  34. Route::get("/get-material-icons/{id}/{line}", "App\Http\Controllers\SystemAdministratorController@getMaterialIcons"); //Obtiene el arreglo de los iconos de Material Design
  35. Route::get("/get-module-functions/{idMod}/{id}/{line}", "App\Http\Controllers\SystemAdministratorController@getModuleFunctions"); //Obtiene las funciones de un módulo
  36. Route::get("/get-submodules/{idMod}/{id}/{line}", "App\Http\Controllers\SystemAdministratorController@getSubmodules"); //Obtiene todos los submódulos pertenecientes a algún módulo
  37. Route::get("/get-submodule-functions/{idMod}/{idSub}/{id}/{line}", "App\Http\Controllers\SystemAdministratorController@getSubmoduleFunctions"); //Obtiene todos los submódulos pertenecientes a algún módulo
  38. //Módulo de usuarios y perfiles
  39. Route::post("/create-user", "App\Http\Controllers\UsersProfilesController@createUser"); //Registra nuevos usuarios en la base de datos
  40. Route::post("/delete-user", "App\Http\Controllers\UsersProfilesController@deleteUser"); //Cambia el estado de los usuarios a Eliminado
  41. Route::post("/modify-user", "App\Http\Controllers\UsersProfilesController@updateUser"); //Cambia los datos de un usuario en específico
  42. Route::post("/modify-pass", "App\Http\Controllers\UsersProfilesController@updatePass"); //Cambia la contraseña de un usuario en específico
  43. Route::post("/block-user", "App\Http\Controllers\UsersProfilesController@blockUser"); //Permite bloquear o desbloquear un usuario
  44. Route::post("/modify-profile", "App\Http\Controllers\UsersProfilesController@updateProfile"); //Cambia los datos de un perfil en específico
  45. Route::post("/create-profile", "App\Http\Controllers\UsersProfilesController@createProfile"); //Registra nuevos perfiles en la base de datos
  46. Route::post("/delete-profile", "App\Http\Controllers\UsersProfilesController@deleteProfile"); //Cambia el estado de un perfil a Eliminado
  47. Route::get("/get-users/{id}/{line}", "App\Http\Controllers\UsersProfilesController@getUsers"); //Obtiene todos los usuarios registrados
  48. Route::get("/get-user/{id}/{idUser}/{line}", "App\Http\Controllers\UsersProfilesController@getUser"); //Obtiene un usuario en especifico
  49. Route::get("/get-profiles/{id}/{line}", "App\Http\Controllers\UsersProfilesController@getProfiles"); //Obtiene todos los perfiles registrados
  50. Route::get("/get-profile/{id}/{idUser}/{line}", "App\Http\Controllers\UsersProfilesController@getProfile"); //Obtiene un perfil en específico
  51. Route::get("/get-menus/{module}/{submodule}/{id}/{line}", "App\Http\Controllers\UsersProfilesController@getMenus"); //
  52. Route::get("/get-initial-permissions/{id}/{line}", "App\Http\Controllers\UsersProfilesController@buildInitialPermissions"); //Crea un json de permisos iniciales
  53. Route::get("/get-menu/{id}/{line}", "App\Http\Controllers\UsersProfilesController@getMenu"); //
  54. //Módulo administrador del sistema
  55. Route::get("/get-last-connections/{id}/{line}", "App\Http\Controllers\SystemAdministratorController@getLastConnections"); //
  56. Route::get("/get-catalogues/{id}/{line}", "App\Http\Controllers\SystemAdministratorController@getCatalogues"); //Obtiene todos los catálogos registrados
  57. Route::get("/get-catalogue-history/{type}/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getCatalogueHistory"); //Obtiene todos los catálogos registrados
  58. Route::get("/get-user-connections/{id}/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getUserConnections"); //
  59. Route::get("/get-last-actions/{id}/{line}", "App\Http\Controllers\SystemAdministratorController@getLastActions"); //
  60. Route::get("/get-user-actions/{id}/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getUserActions"); //
  61. Route::get("/generate-download-token/{id_user}/{type}", "App\Http\Controllers\SystemAdministratorController@generateDownloadToken"); //
  62. Route::get("/read-catalogue/{id}/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@readCatalogue"); //
  63. Route::get("/get-advices/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getAdvices"); //Obtiene todos los avisos registrados
  64. Route::get("/get-advice/{id}/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getAdvice"); //Obtiene un aviso en específico
  65. Route::get("/get-two-steps-auths/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getTwoStepsAuthUsers"); //Obtiene la lista de usuarios con autenticación en dos pasos
  66. Route::get("/get-password-format/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getPasswordFormat"); //Obtiene el formato de configuración de contraseñas
  67. Route::get("/get-sessions-duration/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getSessionsDuration"); //Obtiene la configuración de la duración de las sesiones
  68. Route::get("/get-active-sessions-number/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getActiveSessionsNumber"); //Obtiene la configuración del número de sesiones máximas configuradas
  69. Route::get("/get-maintenance-history/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getMaintenanceHistory"); //Obtiene la configuración del número de sesiones máximas configuradas
  70. Route::get("/get-maintenance-status/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getMaintenanceStatus"); //Obtiene el estado actual del modo mantenimiento
  71. Route::get("/get-email-servers/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getEmailServers"); //Obtiene la lista de servidores de email registrados
  72. Route::get("/get-email-server/{host}/{user}/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getEmailServer"); //Obtiene la información de un servidor en específico
  73. Route::get("/get-email-templates/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getEmailTemplates"); //Obtiene las plantillas de correo electrónico registradas
  74. Route::get("/get-email-template/{id}/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getEmailTemplate"); //Obtiene la información de una plantilla en específico
  75. Route::get("/get-login-images/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getLoginImages"); //Obtiene las imagenes configuradas para la vista de inicio de sesión
  76. Route::get("/get-scada-list/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getSCADAList"); //Obtiene los SCADA registrados en el sistema
  77. Route::get("/get-generated-tokens/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getGeneratedTokens"); //Obtiene los tokens generados para el acceso de los SCADA
  78. Route::get("/get-web-services/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getWebServices"); //Obtiene la lista de servicios web registrados
  79. Route::get("/get-routed-tokens/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getRoutedTokens"); //Obtiene la lista de tokens enrutados
  80. Route::get("/get-backups-list/{idUser}/{line}", "App\Http\Controllers\SystemAdministratorController@getBackupsList"); //Obtiene la lista de tokens enrutados
  81. Route::post("/set-last-connection", "App\Http\Controllers\SystemAdministratorController@setLastConnection"); //
  82. Route::post("/save-catalogue", "App\Http\Controllers\SystemAdministratorController@saveCatalogue"); //Registra un nuevo catalogo
  83. Route::post("/upload-file", "App\Http\Controllers\SystemAdministratorController@uploadFile"); //Permite subir un nuevo archivo de manera temporal
  84. Route::post("/delete-file", "App\Http\Controllers\SystemAdministratorController@deleteFile"); //elimina un archivo del almacenamiento temporal
  85. Route::post("/publish-advice", "App\Http\Controllers\SystemAdministratorController@publishAdvice"); //Registra un nuevo aviso
  86. Route::post("/update-advice", "App\Http\Controllers\SystemAdministratorController@updateAdvice"); //Actualiza un aviso existente
  87. Route::post("/delete-advice", "App\Http\Controllers\SystemAdministratorController@deleteAdvice"); //Elimina un aviso existente
  88. Route::post("/set-two-steps-auth", "App\Http\Controllers\SystemAdministratorController@setTwoStepsAuth"); //Actualiza la autenticación en dos pasos de un usuario en específico
  89. Route::post("/save-password-format", "App\Http\Controllers\SystemAdministratorController@savePasswordFormat"); //Actualiza el formato rquerido para la actualización de contraseñas
  90. Route::post("/save-sessions-duration", "App\Http\Controllers\SystemAdministratorController@saveSessionsDuration"); //Actualiza la configuración de duración de las sesiones
  91. Route::post("/save-active-sessions-number", "App\Http\Controllers\SystemAdministratorController@saveActiveSessionsNumber"); //Actualiza la configuración del número de sesiones máximas configuradas
  92. Route::post("/activate-maintenance-mode", "App\Http\Controllers\SystemAdministratorController@activateMaintenanceMode"); //Activa el modo mantenimiento
  93. Route::post("/deactivate-maintenance-mode", "App\Http\Controllers\SystemAdministratorController@deactivateMaintenanceMode"); //Desactiva el modo mantenimiento
  94. Route::post("/register-email-server", "App\Http\Controllers\SystemAdministratorController@registerEmailServer"); //Registra un nuevo servidor de envíos de correo
  95. Route::post("/update-email-server", "App\Http\Controllers\SystemAdministratorController@updateEmailServer"); //Actualiza la información de un servidor en específico
  96. Route::post("/delete-email-server", "App\Http\Controllers\SystemAdministratorController@deleteEmailServer"); //Realiza la eliminación logica del registro
  97. Route::post("/deactivate-email-server", "App\Http\Controllers\SystemAdministratorController@deactivateEmailServer"); //Realiza la activación/desactivación del registro
  98. Route::post("/register-email-template", "App\Http\Controllers\SystemAdministratorController@registerEmailTemplate"); //Registra una plantilla de correo electronico nueva
  99. Route::post("/update-email-template", "App\Http\Controllers\SystemAdministratorController@updateEmailTemplate"); //Actualiza la información de una plantilla de correo electronico
  100. Route::post("/delete-email-template", "App\Http\Controllers\SystemAdministratorController@deleteEmailTemplate"); //Elimina una plantilla de correo electronico en específico
  101. Route::post("/save-login-image", "App\Http\Controllers\SystemAdministratorController@saveLoginImage"); //Actualiza una imagen específoca del login
  102. Route::post("/update-module-icons", "App\Http\Controllers\SystemAdministratorController@updateModuleIcons"); //Actualiza los íconos de los módulos
  103. Route::post("/update-submodule-icons", "App\Http\Controllers\SystemAdministratorController@updateSubmoduleIcons"); //Actualiza los íconos de los submódulos
  104. Route::post("/update-function-icons", "App\Http\Controllers\SystemAdministratorController@updateFunctionIcons"); //Actualiza los íconos de las funciones
  105. Route::post("/register-scada", "App\Http\Controllers\SystemAdministratorController@registerSCADA"); //Registra un nuevo SCADA
  106. Route::post("/update-scada", "App\Http\Controllers\SystemAdministratorController@updateSCADA"); //Actualiza el nombre de un SCADA en específico
  107. Route::post("/delete-scada", "App\Http\Controllers\SystemAdministratorController@deleteSCADA"); //Elimina un SCADA en específico
  108. Route::post("/generate-scada-token", "App\Http\Controllers\SystemAdministratorController@generateSCADAtoken"); //Asigna un token a un SCADA
  109. Route::post("/revoke-token", "App\Http\Controllers\SystemAdministratorController@revokeToken"); //Revoca un token en específico
  110. Route::post("/register-web-service", "App\Http\Controllers\SystemAdministratorController@registerWebService"); //Registra un nuevo servicio web
  111. Route::post("/change-token-access", "App\Http\Controllers\SystemAdministratorController@changeTokenAccess"); //Cambia el estado de un token
  112. Route::post("/change-web-service", "App\Http\Controllers\SystemAdministratorController@changeWebService"); //Cambia el servicio web ligado a un token
  113. Route::post("/update-web-service", "App\Http\Controllers\SystemAdministratorController@updateWebService"); //Actualiza la información de un servicio web
  114. Route::post("/change-ws-status", "App\Http\Controllers\SystemAdministratorController@changeWSstatus"); //Actualiza el estado de un servicio web
  115. //Módulo gestión documental electrónica
  116. Route::get("/get-file-info/{id}/{idUser}/{line}", "App\Http\Controllers\DocumentManagementController@getFileInfo"); //Obtiene la información de un archivo en específico
  117. Route::get("/get-download-token/{idFile}/{idUser}/{line}", "App\Http\Controllers\DocumentManagementController@getDownloadToken"); //Permite generar un token para descargar un archivo
  118. });
  119. Route::controller(SubcontractController::class)->prefix('/subcontract')->group(function () {
  120. Route::get('/consult/{line_number}', 'getConsultOfSubcontratists');
  121. Route::put('/inactive-subcontratist/{id_subcontratist}', 'updateToInactiveStatus');
  122. Route::put('/active-subcontratist/{id_subcontratist}', 'updateToActiveStatus');
  123. Route::get('/subcontratists/{line_number}', 'getAllSubcontratists');
  124. Route::get('/active-subcontratists/{line_number}', 'getActiveSubcontratists');
  125. Route::post('/', 'storeSubcontratist');
  126. Route::get('/subcontratist/{id_subcontratist}/{line_number}', 'getSubcontratistById');
  127. Route::put('/{id_subcontratist}', 'updateSubcontratist');
  128. Route::get('/contracts/subcontratists/{line_number}', 'getContractsOfEverySubcontratist');
  129. Route::get('/contracts/history/{id_subcontratist}/{line_number}', 'getContractsBySubcontratist');
  130. Route::get('/countries/{line_number}', 'getCountries');
  131. Route::post('/downoload-info-excel', 'downoloadSubcontractInfoOnExcel');
  132. Route::post('/downoload-info-pdf', 'downoloadSubcontractInfoOnPdf');
  133. });
  134. Route::controller(EmployeeController::class)->prefix('/employee')->group(function () {
  135. Route::get('/consult/{line_number}', 'getConsultOfEmployees');
  136. Route::get('/user-avaible/{line_number}', 'getAvaibleUsers');
  137. Route::get('/last-documents/{id_employee}/{line_number}', 'getLastDocumentsByEmployee');
  138. Route::get('/documents/{id_employee}/{line_number}', 'getDocumentsByEmployee');
  139. Route::get('/orders/{id_employee}/{line_number}', 'getInterventionsByEmployee');
  140. Route::put('/inactive-employee/{id_employee}', 'updateToInactiveStatus');
  141. Route::put('/active-employee/{id_employee}', 'updateToActiveStatus');
  142. Route::post('/', 'storeEmployee');
  143. Route::get('/{id_employee}/{line_number}', 'getEmployeeById');
  144. Route::get('/{line_number}', 'getAllEmployees');
  145. Route::get('/contracts/employees/{line_number}', 'getContractsOfEveryEmployee');
  146. Route::get('/contracts/history/{id_employee}/{line_number}', 'getDetailsOfContractsByEmployee');
  147. Route::post('/downoload-details-excel', 'downoloadEmployeeInfoOnExcel');
  148. Route::post('/downoload-details-pdf', 'downoloadEmployeeInfoOnPdf');
  149. Route::post('/{id_employee}', 'updateEmployee'); # Se cambia el metodo PUT a POST por problema en form-data con archivos
  150. });
  151. Route::controller(InterventionController::class)->prefix('/intervention')->group(function () {
  152. Route::get('/consult/{line_number}', 'getConsultOfInterventions');
  153. Route::get('/detail/{id_intervention}/{line_number}', 'getDetailsOfInterventionsById');
  154. Route::get('/contract/consult/{line_number}', 'getConsultOfContracts');
  155. Route::get('/contract/{id_intervention}/{line_number}', 'getContractById');
  156. Route::post('/contract', 'storeContract');
  157. Route::get('/contract/{line_number}', 'getAllContracts');
  158. });
  159. Route::controller(WorkTeamController::class)->prefix('/workteam')->group(function () {
  160. Route::get('/{line_number}', 'getConsultOfWorkteams');
  161. Route::get('/active-teams/{line_number}', 'getActiveWorkteams');
  162. Route::get('/{id_workteam}/{line_number}', 'getWorkteamById');
  163. Route::get('/details/{id_workteam}/{line_number}', 'getDetailsOfWorkteamById');
  164. Route::put('/inactive-workteam/{id_workteam}', 'updateToInactiveStatus');
  165. Route::put('/active-workteam/{id_workteam}', 'updateToActiveStatus');
  166. Route::post('/', 'storeWorkteam');
  167. Route::put('/{id_workteam}', 'updateWorkteam');
  168. });