calificaciones.php 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. <?php
  2. require_once "{$_SERVER['DOCUMENT_ROOT']}/dependencies.php";
  3. if (!isset($_SESSION['user'])) {
  4. returnResponse(status: 401, error: true, message: 'No se ha iniciado sesión');
  5. exit();
  6. }
  7. header('Content-Type: application/json');
  8. $params = [
  9. 'moodle_id' => $_SESSION['moodle_id'],
  10. 'username' => $_POST['username']
  11. ];
  12. $calificaciones = $db->query("SELECT * from jsonb_array_elements(public.consulta_moodle(
  13. consulta => (SELECT replace(consulta_sql, ';', '') from consulta whERE clave = 'c-fin')::TEXT,
  14. moodle_id => :moodle_id
  15. )) AS calificaciones WHERE calificaciones->>'username' = :username;",
  16. $params
  17. ) ?? [];
  18. $calificaciones = array_column($calificaciones, 'value');
  19. $calificaciones = array_map(fn($calificacion) => json_decode($calificacion), $calificaciones);
  20. $timeline = $db->query('SELECT * from public.promedio_snapshot(
  21. moodle_host_id_param => :moodle_id,
  22. username_param => :username)',
  23. $params
  24. ) ?? [];
  25. echo json_encode([
  26. 'calificaciones' => $calificaciones,
  27. 'timeline' => $timeline
  28. ]);