¿La mejor práctica para agregar amigos con Firebase?

Estoy tratando de pensar en la mejor manera de estructurar una database para permitir que los usuarios envíen / acepten / rechacen usuarios como amigos.

Actualmente tengo un sistema que permite a los usuarios search a través de los usuarios, verifica todas las cosas necesarias como personas que ya están en su list bhalbhla, pero no sé cómo terminarlo enviando las invitaciones.

Mi estructura se ve así:

Users 290384239843 friends: 093824098209384: true username: Bob Usernames Bob: 290384239843 

Me imagino cuando presiono el button Agregar, envía algo a ambos usuarios en Firebase, y creo que las dos opciones son:

 users 29038493 friends 0283940839024: pending 

o

 users 02938409384 friends 3094809384903 : true pendingFriends: 0283940839024: true 

Creo que ambos podrían funcionar, pero pensé que me gustaría llegar en caso de que pudiera get orientación de alguien con más experiencia con esto. ¿Tal vez hay una manera mejor completamente diferente?

Ambas opciones se ven bien para mí. Tienes que pensar dónde quieres que se muestre esta información con respecto a las "requestes de amistad" en tu aplicación y si la necesitas que se muestre de otra manera (como ver todas las requestes de amigos pendientes o ver todas las requestes de amistad que un usuario ha enviado) y duplique los datos de request a todos los nodos que necesite. También puede usar, en lugar de status = "pending", un simple valor true \ false.

 True = friends False = not approved Null = does not exist