api.php 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311
  1. <?php
  2. use App\Http\Controllers\AlumnosBitacoraController;
  3. use App\Http\Controllers\Api\ActividadController;
  4. use App\Http\Controllers\Api\AsistenciaController;
  5. use App\Http\Controllers\Api\CategoriasMateriasController;
  6. use App\Http\Controllers\Api\CircularesController;
  7. use App\Http\Controllers\Api\EventosController;
  8. use App\Http\Controllers\Api\GradoEducativoController;
  9. use App\Http\Controllers\Api\GrupoController;
  10. use App\Http\Controllers\Api\MateriaController;
  11. use App\Http\Controllers\Api\PeriodoController;
  12. use App\Http\Controllers\Api\TareasController;
  13. use App\Http\Controllers\Api\UserController;
  14. use App\Http\Controllers\auth\LoginController;
  15. use App\Http\Controllers\MailController;
  16. use App\Http\Controllers\PersonalizarController;
  17. use Illuminate\Http\Request;
  18. use Illuminate\Support\Facades\Route;
  19. use App\Http\Controllers\Api\AlumnosController;
  20. use App\Http\Controllers\Api\ProfesoresController;
  21. use App\Http\Controllers\Api\PeriodosBoletaController;
  22. use App\Http\Controllers\Api\TiposInfoGeneralController;
  23. use App\Http\Controllers\Api\TiposRegistroBitacoraController;
  24. use App\Http\Controllers\Api\TiposTareasController;
  25. use App\Http\Controllers\Api\NivelEducativoController;
  26. use App\Http\Controllers\Api\RegistroAcademico;
  27. use App\Http\Controllers\Api\profesorRegistroBitacora;
  28. use App\Http\Controllers\Api\RegistroCalicaciones;
  29. use App\Http\Controllers\NivelExportController;
  30. use App\Http\Controllers\FormController;
  31. use App\Http\Controllers\RespuestasController;
  32. use App\Http\Controllers\s3;
  33. /*
  34. |--------------------------------------------------------------------------
  35. | API Routes
  36. |--------------------------------------------------------------------------
  37. |
  38. | Here is where you can register API routes for your application. These
  39. | routes are loaded by the RouteServiceProvider and all of them will
  40. | be assigned to the "api" middleware group. Make something great!
  41. |
  42. */
  43. // Route::middleware('auth:sanctum')->get('/user', function (Request $request) {
  44. // return $request->user();
  45. // });
  46. //RUTAS QUE NO NECESITAN TOKENS
  47. Route::post('/subir-archivo', [s3::class, 'subirArchivo']);
  48. Route::post('/recalcular-completado', [RegistroAcademico::class, 'RecalcularCompletado']);
  49. Route::post('login', [LoginController::class, 'login']);
  50. Route::post('register', [UserController::class, 'register']);
  51. Route::post('/verifyTokens', [LoginController::class, 'checkUserTokens']);
  52. Route::post('actividad', [ActividadController::class, 'store']);
  53. Route::get('ipLocal', [ActividadController::class, 'localIP']);
  54. Route::put('changePassword', [LoginController::class, 'updatePassword']);
  55. Route::get('personalizarInfo', [PersonalizarController::class, 'show']);
  56. Route::post('/send-test-email', [MailController::class, 'sendTestEmail']);
  57. Route::get('/exportar-excel', [NivelExportController::class, 'exportarExcel']);
  58. Route::get('/exportar-alumnos', [NivelExportController::class, 'exportarAlumnosRegistro']);
  59. //protección de rutas
  60. Route::middleware(['auth:sanctum'])->group(function () {
  61. Route::get('logout', [LoginController::class, 'logout']);
  62. // Rutas Periodos
  63. Route::post('crearPeriodo', [PeriodoController::class, 'crearPeriodo']);
  64. Route::get('getAllPeriodos', [PeriodoController::class, 'getAllPeriodos']);
  65. Route::post('activarPeriodo', [PeriodoController::class, 'activarPeriodo']);
  66. Route::post('deshabilitarPeriodo', [PeriodoController::class, 'eliminarPeriodo']);
  67. Route::post('habilitarPeriodo', [PeriodoController::class, 'habilitarPeriodo']);
  68. //Rutas de Usuarios
  69. Route::get('count', [ActividadController::class, 'count']);
  70. Route::get('usuarioAll', [UserController::class, 'mostrar']);
  71. Route::get('usuarioHabilitados', [UserController::class, 'materiasHabilitadas']);
  72. Route::get('usuarioOne/{id}', [UserController::class, 'findOne']);
  73. Route::put('usuarioE', [UserController::class, 'actualizar']);
  74. Route::put('usuarioDelete/{id}', [UserController::class, 'eliminar']);
  75. Route::put('usuarioEnable/{id}', [UserController::class, 'habilitar']);
  76. //Rutas de Circulares
  77. Route::get('circularAll', [CircularesController::class, 'mostrar']);
  78. Route::post('eliminarArchivoS3', [CircularesController::class, 'eliminarArchivo']);
  79. Route::get('circularUlt', [CircularesController::class, 'ultimasCirc']);
  80. Route::post('circularSave', [CircularesController::class, 'crear']);
  81. Route::get('circularOne/{id}', [CircularesController::class, 'findOne']);
  82. Route::get('extraInfo/{id}', [CircularesController::class, 'extraInfo']);
  83. Route::put('circularE', [CircularesController::class, 'actualizar']);
  84. Route::put('circularDelete/{id}', [CircularesController::class, 'eliminar']);
  85. Route::put('circularEnable/{id}', [CircularesController::class, 'habilitar']);
  86. Route::get('download/{id}', [CircularesController::class, 'download']);
  87. Route::post('idUserCircular', [CircularesController::class, 'getUsuariosCircular']); //Obtener usuarios para enviar circulares
  88. Route::post('crearDestino', [CircularesController::class, 'crearDestinoCircular']); //crear destino de usuarios para enviar circulares
  89. Route::get('getByUserC/{id}', [CircularesController::class, 'getByUser']); //Obtener circulares por usuario
  90. Route::get('estadisticas/{id}', [CircularesController::class, 'estadisticas']); //Obtener estadisticas de circulares
  91. Route::post('actualizarVisto', [CircularesController::class, 'actualizarVisto']); //Actualizar visto de circulares
  92. //actividad - Sesión
  93. Route::get('actividades', [ActividadController::class, 'index']);
  94. Route::get('actividad/{id}', [ActividadController::class, 'show']);
  95. //personalizar
  96. Route::put('personalizar', [PersonalizarController::class, 'update']);
  97. //Rutas de Nivel Educativo
  98. Route::get('nivelEducativoAll', [NivelEducativoController::class, 'mostrar']);
  99. Route::get('nivelEducativoHabilitado', [NivelEducativoController::class, 'nivelesHabilitados']);
  100. Route::get('nivelEducativoOne/{id}', [NivelEducativoController::class, 'findOne']);
  101. Route::post('nivelEducativoSave', [NivelEducativoController::class, 'crear']);
  102. Route::put('nivelEducativoE', [NivelEducativoController::class, 'actualizar']);
  103. Route::put('nivelEducativoDelete/{id}', [NivelEducativoController::class, 'eliminar']);
  104. Route::put('nivelEducativoEnable/{id}', [NivelEducativoController::class, 'habilitar']);
  105. //Rutas de Eventos
  106. Route::post('eventoSave', [EventosController::class, 'crear']);
  107. Route::post('savecalendarioUsuarios', [EventosController::class, 'savecalendarioUsuarios']);
  108. Route::get('eventosAll', [EventosController::class, 'eventosActivos']);
  109. Route::get('eventosSemana', [EventosController::class, 'getWeekEvents']);
  110. //Rutas de Grados Educativos
  111. Route::get('gradoEducativoAll', [GradoEducativoController::class, 'mostrar']);
  112. Route::get('gradoEducativoHabilitado', [GradoEducativoController::class, 'gradosHabilitados']);
  113. Route::get('gradoEducativoOne/{id}', [GradoEducativoController::class, 'findOne']);
  114. Route::post('gradoEducativoSave', [GradoEducativoController::class, 'crear']);
  115. Route::put('gradoEducativoE', [GradoEducativoController::class, 'actualizar']);
  116. Route::put('gradoEducativoDelete/{id}', [GradoEducativoController::class, 'eliminar']);
  117. Route::put('gradoEducativoEnable/{id}', [GradoEducativoController::class, 'habilitar']);
  118. //Rutas de Grupos
  119. Route::get('grupoAll', [GrupoController::class, 'mostrar']);
  120. Route::get('grupoHabilitado', [GrupoController::class, 'gruposHabilitados']);
  121. Route::get('grupoOne/{id}', [GrupoController::class, 'findOne']);
  122. Route::post('grupoSave', [GrupoController::class, 'crear']);
  123. Route::put('grupoE', [GrupoController::class, 'actualizar']);
  124. Route::put('grupoDelete/{id}', [GrupoController::class, 'eliminar']);
  125. Route::put('grupoEnable/{id}', [GrupoController::class, 'habilitar']);
  126. //Rutas de Categorias de Materias
  127. Route::get('categoriaAll', [CategoriasMateriasController::class, 'mostrar']);
  128. Route::get('categoriaHabilitado', [CategoriasMateriasController::class, 'categoriasHabilitadas']);
  129. Route::get('categoriaOne/{id}', [CategoriasMateriasController::class, 'findOne']);
  130. Route::post('categoriaSave', [CategoriasMateriasController::class, 'crear']);
  131. Route::put('categoriaE', [CategoriasMateriasController::class, 'actualizar']);
  132. Route::put('categoriaDelete/{id}', [CategoriasMateriasController::class, 'eliminar']);
  133. Route::put('categoriaEnable/{id}', [CategoriasMateriasController::class, 'habilitar']);
  134. //Rutas de Materias
  135. Route::get('materiaAll', [MateriaController::class, 'mostrar']);
  136. Route::get('materiaHabilitado', [MateriaController::class, 'materiasHabilitadas']);
  137. Route::get('materiaOne/{id}', [MateriaController::class, 'findOne']);
  138. Route::post('materiaSave', [MateriaController::class, 'crear']);
  139. Route::put('materiaE', [MateriaController::class, 'actualizar']);
  140. Route::put('materiaDelete/{id}', [MateriaController::class, 'eliminar']);
  141. Route::put('materiaEnable/{id}', [MateriaController::class, 'habilitar']);
  142. //Anuncios
  143. Route::get('getProfes/{id}', [MateriaController::class, 'getProfes']);
  144. Route::post('crearAnuncio', [MateriaController::class, 'crearAnuncio']);
  145. Route::put('anuncioE', [MateriaController::class, 'editarAnuncio']);
  146. Route::put('anuncioEliminar/{id}', [MateriaController::class, 'eliminarAnuncio']);
  147. //Rutas de Asistencia
  148. Route::get('asistenciaAll', [AsistenciaController::class, 'mostrar']);
  149. Route::post('asistenciaSave', [AsistenciaController::class, 'crear']);
  150. Route::put('actualizarRegistro', [AsistenciaController::class, 'actualizar']);
  151. Route::put('asistenciaDelete/{id}', [AsistenciaController::class, 'eliminar']);
  152. // ---------------------------------------------------------------------------------------------------------------------------------------------------
  153. //Rutas de Tipos de tareas
  154. Route::get('tipoTarea', [TiposTareasController::class, 'mostrarTodos']);
  155. Route::post('tipoTareas', [TiposTareasController::class, 'crear']);
  156. Route::put('tipoTareas/{idTareasTipos}', [TiposTareasController::class, 'editar']);
  157. Route::put('eliminar/{id}', [TiposTareasController::class, 'Actualizar']);
  158. Route::put('habilitar/{id}', [TiposTareasController::class, 'Habilitar']);
  159. //Rutas de Tipos de registro de bitacora
  160. Route::get('registroBitacoraT', [TiposRegistroBitacoraController::class, 'mostrarTodos']);
  161. Route::post('registroBitacora', [TiposRegistroBitacoraController::class, 'crear']);
  162. Route::put('registroBitacora/{idBitacorasTipos}', [TiposRegistroBitacoraController::class, 'editar']);
  163. Route::put('habilitarEstadoRB/{id}', [TiposRegistroBitacoraController::class, 'HabilitarE']);
  164. Route::put('eliminarEstadoRB/{id}', [TiposRegistroBitacoraController::class, 'EliminarE']);
  165. //Rutas de Tipos de informacion general
  166. Route::get('infoGeneralT', [TiposInfoGeneralController::class, 'mostrarTodos']);
  167. Route::post('infoGeneral', [TiposInfoGeneralController::class, 'crear']);
  168. Route::put('infoGeneral/{id}', [TiposInfoGeneralController::class, 'editar']);
  169. Route::put('eliminarEstado/{id}', [TiposInfoGeneralController::class, 'eliminarEstado']);
  170. Route::put('habilitarEstado/{id}', [TiposInfoGeneralController::class, 'habilitarEstado']);
  171. //Rutas de periodos boleta
  172. Route::get('periodoBoletaT', [PeriodosBoletaController::class, 'mostrarTodos']);
  173. Route::post('periodoBoleta', [PeriodosBoletaController::class, 'crear']);
  174. Route::put('periodoBoleta/{id}', [PeriodosBoletaController::class, 'editar']);
  175. Route::put('eliminarEstadoPB/{id}', [PeriodosBoletaController::class, 'eliminarEstado']);
  176. Route::put('habilitarEstadoPB/{id}', [PeriodosBoletaController::class, 'habilitarEstado']);
  177. // ---------------------------------------------------------------------------------------------------------------------------------------------------
  178. //Rutas Para relacionar Alumnos
  179. Route::get('alumnos', [AlumnosController::class, 'getAlumnos']);
  180. Route::get('alumnosRegistro', [AlumnosController::class, 'alumnosRegistro']);
  181. Route::get('getPadres', [AlumnosController::class, 'getPadres']);
  182. Route::post('AlumnoGrupo', [AlumnosController::class, 'RelacionAlumnosGrupo']);
  183. Route::post('AlumnoPadre', [AlumnosController::class, 'RelacionAlumnosPadre']);
  184. Route::delete('eliminarGrupo', [AlumnosController::class, 'eliminarGrupo']);
  185. Route::delete('eliminarPadre', [AlumnosController::class, 'eliminarPadre']);
  186. Route::get('/alumnos/bitacora/{id}', [AlumnosBitacoraController::class, 'index']);
  187. Route::get('getByUser/{id}', [AlumnosBitacoraController::class, 'getByUser']); //Obtener circulares por usuario
  188. Route::get('UserOne/{id}', [AlumnosBitacoraController::class, 'findOne']);
  189. // Rutas para Relacionar Profesores
  190. Route::get('profesores', [ProfesoresController::class, 'mostrarProfesores']);
  191. Route::post('RelacionarProfesor', [ProfesoresController::class, 'RelacionarProfesor']);
  192. Route::get('getMaterias', [ProfesoresController::class, 'getMaterias']);
  193. Route::delete('eliminarRelacion', [ProfesoresController::class, 'eliminarRelacion']);
  194. Route::get('getGrupos/{id}', [ProfesoresController::class, 'getGrupos']);
  195. //Ruta para Registro Academico
  196. Route::get('getOneRegistro/{id}', [RegistroAcademico::class, 'getOneRegistro']);
  197. Route::get('UserOne/{id}', [RegistroAcademico::class, 'findOne']);
  198. Route::get('getAll', [RegistroAcademico::class, 'getAll']);
  199. Route::post('registroAca', [RegistroAcademico::class, 'registroAca']);
  200. Route::put('updateRegistro/{id}', [RegistroAcademico::class, 'ActualizarRegistroAca']);
  201. //Ruta para Registro Administrativo
  202. Route::get('getAllAd', [RegistroAcademico::class, 'getAllAd']);
  203. Route::post('registroAdministrativo', [RegistroAcademico::class, 'registroAdministrativo']);
  204. Route::get('getRegistroAdmin/{id}', [RegistroAcademico::class, 'getOneRegistroAdmi']);
  205. Route::post('editarRegistroAdmin/{id}', [RegistroAcademico::class, 'editarRegistroAdmin']);
  206. Route::get('getAllPlanPago', [RegistroAcademico::class, 'getAllPlanPago']);
  207. Route::get('getAllPorcentajeBeca', [RegistroAcademico::class, 'getAllPorcentajeBeca']);
  208. Route::get('getAllMetodoPago', [RegistroAcademico::class, 'getAllMetoPago']);
  209. Route::get('/constancia-fiscal/descargar/{idAlumno}', [RegistroAcademico::class, 'descargarConstanciaFiscal']);
  210. //Ruta para Profesor Registro Bitacora
  211. Route::get('getRegistrosP', [profesorRegistroBitacora::class, 'getRegistrosP']);
  212. Route::get('getMateriasP', [profesorRegistroBitacora::class, 'getMateriasP']);
  213. Route::get('getTiposP', [profesorRegistroBitacora::class, 'Tipos']);
  214. Route::get('getAlumnosP', [profesorRegistroBitacora::class, 'getAlumnos']);
  215. Route::post('crearBitacoraP', [profesorRegistroBitacora::class, 'crearBitacora']);
  216. Route::put('editarBitacoraP/{id}', [profesorRegistroBitacora::class, 'editarBitacora']);
  217. Route::put('eliminarBitacoraP/{id}', [profesorRegistroBitacora::class, 'eliminarBitacora']);
  218. Route::put('habilitarBitacoraP/{id}', [profesorRegistroBitacora::class, 'habilitarBitacora']);
  219. //Ruta para registroCalificaciones
  220. Route::get('getCalificaciones', [RegistroCalicaciones::class, 'getCalificaciones']);
  221. Route::get('getPeriodosCalificacion', [RegistroCalicaciones::class, 'getPeriodos']);
  222. Route::post('registrarCalificacion', [RegistroCalicaciones::class, 'registrarCalificacion']);
  223. Route::post('registrarCalificacionesMasivas', [RegistroCalicaciones::class, 'registrarCalificacionesMasivas']);
  224. Route::put('editarCalificacion', [RegistroCalicaciones::class, 'editarCalificacion']);
  225. Route::put('elminarEstadoCalificacion', [RegistroCalicaciones::class, 'eliminarEstado']);
  226. Route::put('habilitarEstadoCalificacion', [RegistroCalicaciones::class, 'habilitarEstado']);
  227. Route::get('getAlumnosCalificacion', [RegistroCalicaciones::class, 'getCalificacionesMateria']);
  228. Route::get('/personalizacion/nombre-colegio', [PersonalizarController::class, 'getNombreColegio']);
  229. Route::get('/personalizacion/eslogan-colegio', [PersonalizarController::class, 'getEsloganColegio']);
  230. //ADMINISTRADOR DE FORMULARIOS RUTAS
  231. Route::post('/createForm', [FormController::class, 'store']); // Crear un nuevo formulario
  232. Route::get('/formularios', [FormController::class, 'getAll']);
  233. Route::get('/formulario/{id}', [FormController::class, 'getFormById']);
  234. Route::put('/updateForm/{id}', [FormController::class, 'update']);
  235. Route::delete('/forms/{id}', [FormController::class, 'destroy']);
  236. Route::put('formularios/{id}/publish', [FormController::class, 'publish']);
  237. Route::put('formularios/{id}/unpublish', [FormController::class, 'unpublish']);
  238. Route::get('/formularios/publicado', [FormController::class, 'getPublicado']);
  239. //Respuestas de Formularios creados
  240. Route::post('/recibirRespuesta', [RespuestasController::class, 'recibirRespuesta']);
  241. Route::get('/generar-pdf/{id_usuario}/{form_id}', [RespuestasController::class, 'generarPDF']);
  242. Route::get('/respuestas/check', [RespuestasController::class, 'tieneRespuesta']);
  243. Route::get('/respuestas/formulario', [RespuestasController::class, 'obtenerRespuesta']);
  244. Route::put('/actualizarRespuesta', [RespuestasController::class, 'actualizarRespuesta']);
  245. Route::post('/eliminarArchivo', [RegistroAcademico::class, 'eliminarArchivo']);
  246. Route::post('/eliminarPerlogo', [PersonalizarController::class, 'eliminarPerlogo']);
  247. Route::get('/personalizar/perlogo1', [PersonalizarController::class, 'getPerLogo1Base64']);
  248. Route::get('/personalizar/perlogo2', [PersonalizarController::class, 'getPerLogo2Base64']);
  249. // Rutas para tareas
  250. Route::get('/getAllTareas', [TareasController::class, 'getAllTareas']);
  251. Route::post('/crearTarea', [TareasController::class, 'crear']);
  252. Route::put('/tareas/{idTarea}', [TareasController::class, 'actualizar']);
  253. Route::get('/materias/{id}/alumnos', [TareasController::class, 'obtenerAlumnosPorMateria']);
  254. Route::post('/tareas-usuarios', [TareasController::class, 'asignarTareaUsuario']);
  255. Route::get('/tareas/usuario/{idUsuario}', [TareasController::class, 'getTareasPorUsuario']);
  256. Route::put('tareaDelete/{id}', [TareasController::class, 'eliminar']);
  257. Route::put('tareaEnable/{id}', [TareasController::class, 'habilitar']);
  258. Route::get('tareas/fecha-entrega/{fecha}', [TareasController::class, 'getTareasPorFechaEntrega']);
  259. Route::get('tareas/fecha-asignacion/{fecha}', [TareasController::class, 'getTareasPorFechaAsignacion']);
  260. Route::get('tareas/materia/{idMateria}', [TareasController::class, 'getTareasPorMateria']);
  261. });