Entonces, simplemente vamos a volver a las actualizaciones de vuelos, astro. ¿Y este es el lugar donde queremos hacerlo, verdad? Así que llamemos a eso actualizaciones de vuelos. Y como dije, vamos a usar el cliente de entrega, y lo ves como la importación automáticamente. Y ahora simplemente definimos lo que queremos, ¿verdad? Así que queremos elementos, queremos elementos que sean los vuelos. Entonces mi modelo, o mi tipo, se llama modelo de vuelo, y ves que tiene todos los campos, aeronave, llegada, salida, destino, origen y estados. Así que vamos a tomar eso.
Por supuesto, también necesitamos especificar un tipo, que nuevamente proviene de la constante, como te mostré hace un segundo. Viene de los tipos de contenido. Entonces, como el nombre del código, y luego necesitamos una cosa más, y eso es un parámetro de profundidad. Ahora esto significa que no solo vamos a tomar los propios elementos, sino que también queremos los elementos vinculados porque tenemos aeronaves, tenemos destinos allí, y probablemente no solo queremos sus nombres de código, sino también sus títulos, ¿verdad? Para poder mostrarlo en la tabla. Solo voy a configurar la profundidad en dos, lo que significa el elemento principal más el elemento que está debajo de él, ya sabes, en la jerarquía. Así que vamos a obtener eso, y luego necesitamos hacer toPremise, y esta es una llamada asíncrona que llama a la API, así que queremos esperarla. Como mencioné antes con Astro, cuando defines una constante así y contiene data, puedes usar esta constante en la estructura HTML.
Entonces, las actualizaciones de vuelos, las tenemos aquí. La tabla está bien, pero vamos a tener que hacer esta parte dinámica, porque esto es solo una línea. Así que lo que vamos a hacer, como harías en React, simplemente haces aquí actualizaciones de vuelos, ¿eran actualizaciones de vuelos? Sí, actualizaciones de vuelos, o en realidad estos son vuelos, no actualizaciones de vuelos. Llamémoslo vuelos. Y luego ponemos la línea ahí. Y ahora esto es solo un trabajo manual. De acuerdo, no solo mapeamos vuelos sino elementos de datos de vuelos, porque esto es en realidad la respuesta del CMS, no los datos reales que están en las propiedades data y items. Ahora, esto es solo un trabajo manual, ¿verdad? Solo necesitamos hacer elementos de vuelo. Ahora, este sería el nombre del vuelo, que en realidad es system.name. Porque cuando ves cómo se agrega al CMS, el código de vuelo se configura como el nombre del elemento de contenido. Por eso estoy usando system.name. De lo contrario, siempre estaríamos usando los elementos. Pero este es el único caso especial. Volvamos, y hagamos el resto. Esto sería elementos de vuelo. Creo que esto era la aeronave. ¿Qué era eso? Aeronave. Sí. Aeronave. Probablemente queramos el elemento de enlace. Y los elementos de enlace siempre son una matriz, porque puede haber varios elementos. Ahora mismo, la aeronave es solo una, así que voy a usar el índice cero. Y estamos buscando un ID de esa aeronave, probablemente. Podemos usar el ID o el tipo, ¿verdad? Probablemente también podríamos hacer el tipo, solo para que sea más interesante. Así que hagamos tipo y nombre. Ahora, para los destinos, va a ser muy similar. Así que nuevamente, elementos de vuelo. O esto es origen, en realidad. Origen. Nuevamente, podemos tener múltiples orígenes, o podemos tener múltiples elementos de enlace, pero solo un origen, ¿verdad? En realidad, está obligado a nivel del CMS. Ves que en el origen, hay exactamente un elemento, solo se permite un elemento. Lo mismo ocurre con los destinos. Entonces, si lo tienes en borrador, puedes agregar tantos como quieras, pero el sistema no te permitiría publicarlo. Así que para publicar un elemento, debes cumplir con todas las reglas que están aquí. Así que cuando estoy preparando el código para el frontend, sé que siempre habrá exactamente un elemento.
De acuerdo, ahora para el origen, queremos el título. Lo mismo ocurrirá con el destino. Y luego necesitamos configurar la fecha y hora. Así que eso va a ser el ATS. Estamos usando AJS para eso. Y va a ser elementos de vuelo y Salida. Y necesitamos proporcionar el formato, así que eso es, solo estoy adivinando aquí, espero estar haciéndolo bien. Hora y minutos, veremos si funciona. Y simplemente copia eso en la llegada. Y lo último es en realidad la actualización de estado. Ahora esto se vuelve un poco más complicado, porque puede haber múltiples estados como elementos vinculados, si los estados provienen de los agentes de la puerta o de quien los agregue, puede haber múltiples estados. Entonces lo que queremos hacer es seleccionar el último, el más nuevo, ¿sí? Y también hay otro componente y ese es la clase, porque eso refleja la gravedad de la información proporcionada. Ahora ya tenemos aquí un componente de estado de vuelo que maneja todo eso, todo eso por nosotros. No le gustan mis modules. Veamos si lo quito e importo de nuevo. No se puede encontrar el módulo. De acuerdo, veamos si todavía está, oh, ahora funciona bien. Probablemente solo sea un problema de caché. Bien, entonces este componente en realidad hace exactamente eso. Ordena todos los estados según la fecha y selecciona el primero de la lista. Así que no tenemos que preocuparnos por eso. Ya está implementado aquí.
Comments