Perfeccionando el modelo de datos

Mientras empezaba a pensar en cómo aplicar las reglas de seguridad incorporadas de Firestore, me he dado cuenta de que le puedo hacer un cambio interesante al modelo de datos y simplificar el funcionamiento.

Voy a eliminar la colección de usuarios (Firebase ya se encarga de guardar la lista de usuarios y proporcionar el UID del usuario actual) y guardar en cada lista el UID del usuario al que pertenece.

Eso permite que:

  • El modelo sea más simple.
  • Las reglas de seguridad se puedan escribir de modo más efectivo (sólo dejaremos acceder a un documento concreto a su propietario).
  • Si en algún momento nos planteamos compartir listas, sólo habría que añadir los UIDs a esas listas compartidas.

El diagrama actualizado queda así (lo que está en gris desaparece):

Vamos a desarrollarlo: