Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 15 additions & 2 deletions addons/godot-firebase/firestore/firestore.gd
Original file line number Diff line number Diff line change
Expand Up @@ -147,7 +147,9 @@ func query(query : FirestoreQuery) -> FirestoreTask:
if auth:
var firestore_task : FirestoreTask = FirestoreTask.new()
firestore_task.connect("result_query", self, "_on_result_query")
firestore_task.connect("error", self, "_on_error")
firestore_task.connect("task_error", self, "_on_task_error")
firestore_task.connect("task_list_error", self, "_on_task_list_error")
firestore_task.connect("task_query_error", self, "_on_task_query_error")
firestore_task.action = FirestoreTask.Task.TASK_QUERY
var body : Dictionary = { structuredQuery = query.query }
var url : String = _base_url + _extended_url + _query_suffix
Expand Down Expand Up @@ -334,14 +336,25 @@ func _on_listed_documents(listed_documents : Array):
emit_signal("listed_documents", listed_documents)


func _on_result_query(result : Dictionary):
func _on_result_query(result : Array):
emit_signal("result_query", result)


func _on_error(code : int, status : int, message : String):
emit_signal("error", code, status, message)
printerr(message)

func _on_task_error(code : int, status : String, message : String):
emit_signal("task_error", code, status, message)
printerr(message)

func _on_task_list_error(code : int, status : String, message : String):
emit_signal("task_error", code, status, message)
printerr(message)

func _on_task_query_error(code : int, status : String, message : String):
emit_signal("task_error", code, status, message)
printerr(message)

func _on_FirebaseAuth_login_succeeded(auth_result : Dictionary) -> void:
auth = auth_result
Expand Down
6 changes: 3 additions & 3 deletions addons/godot-firebase/firestore/firestore_collection.gd
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ func delete(document_id : String) -> FirestoreTask:
var url = _get_request_url() + _separator + document_id.replace(" ", "%20")

task.connect("delete_document", self, "_on_delete_document")
task.connect("task_finished", self, "_on_task_finished", [null, document_id], CONNECT_DEFERRED)
task.connect("task_finished", self, "_on_task_finished", [document_id], CONNECT_DEFERRED)
_process_request(task, document_id, url)
return task

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


func _process_request(task : FirestoreTask, document_id : String, url : String, fields := "") -> void:
task.connect("error", self, "_on_error")
task.connect("task_error", self, "_on_error")
task._url = url
task._fields = fields
task._headers = PoolStringArray([_AUTHORIZATION_HEADER + auth.idtoken])
Expand Down Expand Up @@ -145,6 +145,6 @@ func _on_update_document(document : FirestoreDocument):
func _on_delete_document():
emit_signal("delete_document")

func _on_error(code : int, status : int, message : String):
func _on_error(code, status, message):
emit_signal("error", code, status, message)
printerr(message)
13 changes: 9 additions & 4 deletions addons/godot-firebase/firestore/firestore_task.gd
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,9 @@ signal listed_documents(documents)
signal result_query(result)
## Emitted when a request is [b]not[/b] successfully completed.
## @arg-types Dictionary
signal error(error)
signal task_error(error)
signal task_query_error(error)
signal task_list_error(error)

enum Task {
TASK_GET, ## A GET Request Task, processing a get() request
Expand Down Expand Up @@ -147,12 +149,15 @@ func _on_request_completed(result : int, response_code : int, headers : PoolStri
emit_signal("listed_documents", data)
else:
match action:
Task.TASK_LIST, Task.TASK_QUERY:
Task.TASK_LIST:
data = bod[0].error
emit_signal("task_list_error", data.code, data.status, data.message)
Task.TASK_QUERY:
data = bod[0].error
emit_signal("error", data.code, 0, data.message)
emit_signal("task_query_error", data.code, data.status, data.message)
_:
data = bod.error
emit_signal("error", data.code, 0, data.message)
emit_signal("task_error", data.code, data.status, data.message)

emit_signal("task_finished", data)

Expand Down