$_SESSION['moodle_id'], 'username' => $_POST['username'] ]; $calificaciones = $db->query("SELECT * from jsonb_array_elements(public.consulta_moodle( consulta => (SELECT replace(consulta_sql, ';', '') from consulta whERE clave = 'c-fin')::TEXT, moodle_id => :moodle_id )) AS calificaciones WHERE calificaciones->>'username' = :username;", $params ) ?? []; $calificaciones = array_column($calificaciones, 'value'); $calificaciones = array_map(fn($calificacion) => json_decode($calificacion), $calificaciones); $timeline = $db->query('SELECT * from public.promedio_snapshot( moodle_host_id_param => :moodle_id, username_param => :username)', $params ) ?? []; $snapshots = $db->where('moodle_host_id', $_SESSION['moodle_id'])->get('snapshot_calificaciones', null, 'calificaciones, created_at'); $snapshots = array_map(fn($snapshot) => array( 'fecha' => date('Y-m-d', strtotime($snapshot['created_at'])), 'calificaciones' => array_values(array_filter( json_decode($snapshot['calificaciones']), fn($calificacion) => $calificacion->username === $_POST['username'] )) ), $snapshots); echo json_encode([ 'calificaciones' => $calificaciones, 'timeline' => $timeline, 'snapshots' => $snapshots ]);