Transformaciones de datos

Una de las características en tiempo real de la aplicación de tareas pendientes es mostrar la lista de usuarios en línea. Necesitamos una manera de buscar esta información según el valor de last_seen que dice cuándo el usuario estuvo por última vez en línea.

Hasta ahora estábamos construyendo tablas y relaciones. Postgres le permite realizar transformaciones de datos mediante el uso de:

En este ejemplo, vamos a hacer uso de Views. La aplicación requiere esta vista para encontrar a los usuarios que han iniciado sesión y están en línea en los últimos 30 segundos.

Crear una vista

La instrucción de SQL para crear esta vista es como esto:

CREATE OR REPLACE VIEW "public"."online_users" AS
SELECT users.id,
users.last_seen
FROM users
WHERE (users.last_seen >= (now() - '00:00:30'::interval));

Agregamos esta vista y rastreamos la vista con Hasura para poder consultarla.

Diríjase a Console -> DATA -> página de SQL.

Crear una vista online_users

Haga clic en Run para crear la vista.

Suscripción a los usuarios en línea

Ahora vamos a probar mediante una consulta de suscripción a la vista online_users.

subscription {
online_users {
id
last_seen
}
}

En otra pestaña, actualice el valor last_seen de un usuario existente para ver la respuesta de suscripción que se está actualizando.

Actualizar last_seen de los usuarios

Ingrese el valor como now() para la columna last_seen y haga clic en Save.

Ahora cambie a la pestaña en la que se está ejecutando la consulta de suscripción para ver la respuesta actualizada.

Suscripción de los usuarios en línea

Did you find this page helpful?
Start with GraphQL on Hasura for Free
  • ArrowBuild apps and APIs 10x faster
  • ArrowBuilt-in authorization and caching
  • Arrow8x more performant than hand-rolled APIs
Promo
footer illustration
Brand logo
© 2024 Hasura Inc. All rights reserved
Github
Titter
Discord
Facebook
Instagram
Youtube
Linkedin