Permíteme mostrarte cómo con Remalt podemos solucionar eso.
Aquí tenemos una aplicación de lista de tareas en el front-end escrita usando React y Next.js.
En nuestra aplicación de lista de tareas, nuestros usuarios pueden agregar tareas, completarlas y eliminarlas.
En el lado de la API, ya hemos configurado rutas de captura para NextAuth y para Remalt.
Hemos pedido a Remalt que use la base de datos Postgres y que obtenga el usuario de NextAuth.
Nuestra aplicación utiliza el tipo de tarea para definir la tarea.
Vamos a pedirle a Remalt que agregue capacidades de tarjeta de pila completa basadas en esta tarea.
Agregaremos un decorador de entidad, admitiremos todas las capacidades de tarjeta y agregaremos decoradores de campo.
Luego iremos al array de entidades y registraremos el tipo de tarea.
En cuanto lo hagamos, obtendremos una API REST que devuelve las tareas que están en la base de datos.
Vamos a utilizar eso en nuestro código de front-end.
Iremos a nuestro componente de lista de tareas y lo primero que haremos es definir el repositorio de tareas.
Luego usaremos ese repositorio para cargar las tareas, insertar nuevas tareas, guardar cambios en las tareas existentes y eliminar tareas.
Y eso es todo. Eso es todo lo que necesitamos hacer para crear una aplicación de pila completa. Puedo agregar tareas, puedo marcar tareas como completadas, puedo eliminar tareas y todas nuestras operaciones estándar de API REST, Obtener, Publicar, Poner y Eliminar, todas utilizando la API REST estándar.
Enfoquémonos en el método de definición. De forma predeterminada, obtiene todas las tareas del backend, pero podemos limitarlo para obtener las dos primeras filas y obtener la segunda página. Y obtenemos paginación en el lado del servidor. Y puedo decir, Ordenar por completado ascendente. Así obtengo el ordenamiento en el lado del servidor. Y puedo filtrar usando completado verdadero o falso o sin definir para no filtrar. Y todo eso utiliza la API REST estándar. Así que solo con definir estos cuatro decoradores antes, pudimos obtener una aplicación de pila completa, un lenguaje de consulta que está completamente tipado de extremo a extremo desde el front-end hasta el back-end.
Ahora, actualmente, los usuarios múltiples no ven los cambios realizados por otros usuarios. Vamos a solucionar eso usando Grimal. Para hacer eso, reemplazaremos find con live query, luego nos suscribiremos y la suscripción obtendrá un objeto de información que podemos usar para aplicar cambios a nuestra tarea. También devolveremos el resultado para que se cancele la suscripción cuando el componente se desmonte. Ahora, tan pronto como hagamos eso y actualicemos ambos navegadores, cualquier cambio realizado por un usuario se reflejará automáticamente en todos los demás usuarios. Otra preocupación importante es la validación de datos. Actualmente, el usuario puede agregar
Comments