Skip to content

Commit 755875a

Browse files
authored
Firestore cleanup signals (#168)
* remove null to stop random error * breakup errors per task * change to array and add function per error * Change error to task_error * Rmove requirments on passed data
1 parent 43783c2 commit 755875a

File tree

3 files changed

+27
-9
lines changed

3 files changed

+27
-9
lines changed

addons/godot-firebase/firestore/firestore.gd

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,7 +147,9 @@ func query(query : FirestoreQuery) -> FirestoreTask:
147147
if auth:
148148
var firestore_task : FirestoreTask = FirestoreTask.new()
149149
firestore_task.connect("result_query", self, "_on_result_query")
150-
firestore_task.connect("error", self, "_on_error")
150+
firestore_task.connect("task_error", self, "_on_task_error")
151+
firestore_task.connect("task_list_error", self, "_on_task_list_error")
152+
firestore_task.connect("task_query_error", self, "_on_task_query_error")
151153
firestore_task.action = FirestoreTask.Task.TASK_QUERY
152154
var body : Dictionary = { structuredQuery = query.query }
153155
var url : String = _base_url + _extended_url + _query_suffix
@@ -334,14 +336,25 @@ func _on_listed_documents(listed_documents : Array):
334336
emit_signal("listed_documents", listed_documents)
335337

336338

337-
func _on_result_query(result : Dictionary):
339+
func _on_result_query(result : Array):
338340
emit_signal("result_query", result)
339341

340342

341343
func _on_error(code : int, status : int, message : String):
342344
emit_signal("error", code, status, message)
343345
printerr(message)
344346

347+
func _on_task_error(code : int, status : String, message : String):
348+
emit_signal("task_error", code, status, message)
349+
printerr(message)
350+
351+
func _on_task_list_error(code : int, status : String, message : String):
352+
emit_signal("task_error", code, status, message)
353+
printerr(message)
354+
355+
func _on_task_query_error(code : int, status : String, message : String):
356+
emit_signal("task_error", code, status, message)
357+
printerr(message)
345358

346359
func _on_FirebaseAuth_login_succeeded(auth_result : Dictionary) -> void:
347360
auth = auth_result

addons/godot-firebase/firestore/firestore_collection.gd

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ func delete(document_id : String) -> FirestoreTask:
104104
var url = _get_request_url() + _separator + document_id.replace(" ", "%20")
105105

106106
task.connect("delete_document", self, "_on_delete_document")
107-
task.connect("task_finished", self, "_on_task_finished", [null, document_id], CONNECT_DEFERRED)
107+
task.connect("task_finished", self, "_on_task_finished", [document_id], CONNECT_DEFERRED)
108108
_process_request(task, document_id, url)
109109
return task
110110

@@ -114,7 +114,7 @@ func _get_request_url() -> String:
114114

115115

116116
func _process_request(task : FirestoreTask, document_id : String, url : String, fields := "") -> void:
117-
task.connect("error", self, "_on_error")
117+
task.connect("task_error", self, "_on_error")
118118
task._url = url
119119
task._fields = fields
120120
task._headers = PoolStringArray([_AUTHORIZATION_HEADER + auth.idtoken])
@@ -145,6 +145,6 @@ func _on_update_document(document : FirestoreDocument):
145145
func _on_delete_document():
146146
emit_signal("delete_document")
147147

148-
func _on_error(code : int, status : int, message : String):
148+
func _on_error(code, status, message):
149149
emit_signal("error", code, status, message)
150150
printerr(message)

addons/godot-firebase/firestore/firestore_task.gd

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,9 @@ signal listed_documents(documents)
4444
signal result_query(result)
4545
## Emitted when a request is [b]not[/b] successfully completed.
4646
## @arg-types Dictionary
47-
signal error(error)
47+
signal task_error(error)
48+
signal task_query_error(error)
49+
signal task_list_error(error)
4850

4951
enum Task {
5052
TASK_GET, ## A GET Request Task, processing a get() request
@@ -147,12 +149,15 @@ func _on_request_completed(result : int, response_code : int, headers : PoolStri
147149
emit_signal("listed_documents", data)
148150
else:
149151
match action:
150-
Task.TASK_LIST, Task.TASK_QUERY:
152+
Task.TASK_LIST:
153+
data = bod[0].error
154+
emit_signal("task_list_error", data.code, data.status, data.message)
155+
Task.TASK_QUERY:
151156
data = bod[0].error
152-
emit_signal("error", data.code, 0, data.message)
157+
emit_signal("task_query_error", data.code, data.status, data.message)
153158
_:
154159
data = bod.error
155-
emit_signal("error", data.code, 0, data.message)
160+
emit_signal("task_error", data.code, data.status, data.message)
156161

157162
emit_signal("task_finished", data)
158163

0 commit comments

Comments
 (0)