[FR] Complex database queries should support realtime updates
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 45/100
Línea de trabajo
Comienza en la clase Query e inspecciona la ruta existente del listener, incluidos _listen_with_session y create_listener_session. Compara cómo se pasan los parámetros de consulta a la REST API y, a continuación, verifica que listen() entregue actualizaciones en tiempo real para order_by_child() y otras consultas complejas sin romper los listeners existentes.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Is your feature request related to a problem? Please describe.
There is currently no listen() function for complex queries. This means that you for example cannot listen for realtime updates on the result of order_by_child().
This feature is supported by the underlying REST API, and also in the pyrebase Python client library.
Describe the solution you'd like
A listen() function in the Query class.
Describe alternatives you've considered
- Use pyrebase
- Do sorting and filtering client-side
Additional context
Adding the following code into the Query class seems to be enough to implement this feature:
def listen(self, callback):
return self._listen_with_session(callback)
def _listen_with_session(self, callback, session=None):
url = self._client.base_url + self._pathurl
if not session:
session = self._client.create_listener_session()
try:
sse = _sseclient.SSEClient(url, session, params=self._querystr)
return ListenerRegistration(callback, sse)
except requests.exceptions.RequestException as error:
raise _Client.handle_rtdb_error(error)
- Lenguaje dominante
- Python
- Estrellas
- 1.2k
- Forks
- 359
- Merge medio
- 3 d 9 h
- PR fusionados (30 d)
- 3
Guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de firebase/firebase-admin-python
-
api: remoteconfig
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
firebase/firebase-admin-python#957 · 1 comentario ·
-
api: database type: feature request
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
firebase/firebase-admin-python#978 · 1 comentario ·
-
[FR] Support VERIFY_AND_CHANGE_EMAIL in generate_email_action_link (parity with firebase-admin-node) Abiertoapi: auth
firebase/firebase-admin-python#949 · 2 comentarios · 1 reacción · 1 asignado ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 43/100
firebase/firebase-admin-python#945 · 1 comentario · 1 reacción ·
Todos los issues de firebase/firebase-admin-python
Issues similares
-
essnmx good first issue
Dificultad 1/5 Menos de una hora Aptitud para principiantes 95/100
-
[Feature] 奇物选择添加优先级 Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
syfoud/Simulated_Scepter#174 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Giskard-AI/giskard-oss#2840 · 1 comentario ·
-
A claim comment carrying the issue number is silently declined while the workflow reports success Abiertoarea: repo bug perceived difficulty: 2
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
yeti-platform/yeti#1380 ·