Skip to content

Commit 0bc1b2f

Browse files
Merge pull request #358 from Zeedinstein/prevent-hanging-await
Prevent hanging await and return relative value
2 parents 12f56be + 2067fd6 commit 0bc1b2f

1 file changed

Lines changed: 24 additions & 9 deletions

File tree

addons/godot-firebase/firestore/firestore_task.gd

Lines changed: 24 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,22 @@ extends RefCounted
2424
## Emitted when a request is completed. The request can be successful or not successful: if not, an [code]error[/code] Dictionary will be passed as a result.
2525
## @arg-types Variant
2626
signal task_finished(task)
27-
## Emitted when a [code]add(document)[/code] request checked a [class FirebaseCollection] is successfully completed. [code]error()[/code] signal will be emitted otherwise.
27+
## Emitted when a [code]add(document)[/code] request checked a [class FirebaseCollection] is successfully completed. [code]error()[/code] signal will be emitted otherwise and [code]null[/code] will be passed as a result..
2828
## @arg-types FirestoreDocument
2929
signal add_document(doc)
30-
## Emitted when a [code]get(document)[/code] request checked a [class FirebaseCollection] is successfully completed. [code]error()[/code] signal will be emitted otherwise.
30+
## Emitted when a [code]get(document)[/code] request checked a [class FirebaseCollection] is successfully completed. [code]error()[/code] signal will be emitted otherwise and [code]null[/code] will be passed as a result.
3131
## @arg-types FirestoreDocument
3232
signal get_document(doc)
33-
## Emitted when a [code]update(document)[/code] request checked a [class FirebaseCollection] is successfully completed. [code]error()[/code] signal will be emitted otherwise.
33+
## Emitted when a [code]update(document)[/code] request checked a [class FirebaseCollection] is successfully completed. [code]error()[/code] signal will be emitted otherwise and [code]null[/code] will be passed as a result.
3434
## @arg-types FirestoreDocument
3535
signal update_document(doc)
36-
## Emitted when a [code]delete(document)[/code] request checked a [class FirebaseCollection] is successfully completed. [code]error()[/code] signal will be emitted otherwise.
37-
## @arg-types FirestoreDocument
38-
signal delete_document()
39-
## Emitted when a [code]list(collection_id)[/code] request checked [class FirebaseFirestore] is successfully completed. [code]error()[/code] signal will be emitted otherwise.
36+
## Emitted when a [code]delete(document)[/code] request checked a [class FirebaseCollection] is successfully completed and [code]true[/code] will be passed. [code]error()[/code] signal will be emitted otherwise and [code]false[/code] will be passed as a result.
37+
## @arg-types bool
38+
signal delete_document(success)
39+
## Emitted when a [code]list(collection_id)[/code] request checked [class FirebaseFirestore] is successfully completed. [code]error()[/code] signal will be emitted otherwise and [code][][/code] will be passed as a result..
4040
## @arg-types Array
4141
signal listed_documents(documents)
42-
## Emitted when a [code]query(collection_id)[/code] request checked [class FirebaseFirestore] is successfully completed. [code]error()[/code] signal will be emitted otherwise.
42+
## Emitted when a [code]query(collection_id)[/code] request checked [class FirebaseFirestore] is successfully completed. [code]error()[/code] signal will be emitted otherwise and [code][][/code] will be passed as a result.
4343
## @arg-types Array
4444
signal result_query(result)
4545
## Emitted when a request is [b]not[/b] successfully completed.
@@ -98,7 +98,7 @@ func _on_request_completed(result : int, response_code : int, headers : PackedSt
9898
document = FirestoreDocument.new(bod)
9999
update_document.emit(document)
100100
Task.TASK_DELETE:
101-
delete_document.emit()
101+
delete_document.emit(true)
102102
Task.TASK_QUERY:
103103
data = []
104104
for doc in bod:
@@ -116,6 +116,21 @@ func _on_request_completed(result : int, response_code : int, headers : PackedSt
116116
else:
117117
Firebase._printerr("Action in error was: " + str(action))
118118
emit_error(task_error, bod, action)
119+
match action:
120+
Task.TASK_POST:
121+
add_document.emit(null)
122+
Task.TASK_GET:
123+
get_document.emit(null)
124+
Task.TASK_PATCH:
125+
update_document.emit(null)
126+
Task.TASK_DELETE:
127+
delete_document.emit(false)
128+
Task.TASK_QUERY:
129+
data = []
130+
result_query.emit(data)
131+
Task.TASK_LIST:
132+
data = []
133+
listed_documents.emit(data)
119134

120135
task_finished.emit(self)
121136

0 commit comments

Comments
 (0)