Skip to content

Commit c3acc4f

Browse files
committed
prevent hanging thread
1 parent a0c5512 commit c3acc4f

File tree

1 file changed

+24
-9
lines changed

1 file changed

+24
-9
lines changed

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 Reference
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 on a [class FirebaseCollection] is successfully completed. [code]error()[/code] signal will be emitted otherwise.
27+
## Emitted when a [code]add(document)[/code] request on 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 on a [class FirebaseCollection] is successfully completed. [code]error()[/code] signal will be emitted otherwise.
30+
## Emitted when a [code]get(document)[/code] request on 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 on a [class FirebaseCollection] is successfully completed. [code]error()[/code] signal will be emitted otherwise.
33+
## Emitted when a [code]update(document)[/code] request on 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 on 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 on [class FirebaseFirestore] is successfully completed. [code]error()[/code] signal will be emitted otherwise.
36+
## Emitted when a [code]delete(document)[/code] request on 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 on [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 on [class FirebaseFirestore] is successfully completed. [code]error()[/code] signal will be emitted otherwise.
42+
## Emitted when a [code]query(collection_id)[/code] request on [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.
@@ -135,7 +135,7 @@ func _on_request_completed(result : int, response_code : int, headers : PoolStri
135135
document = FirestoreDocument.new(bod)
136136
emit_signal("update_document", document)
137137
Task.TASK_DELETE:
138-
emit_signal("delete_document")
138+
emit_signal("delete_document", true)
139139
Task.TASK_QUERY:
140140
data = []
141141
for doc in bod:
@@ -153,6 +153,21 @@ func _on_request_completed(result : int, response_code : int, headers : PoolStri
153153
else:
154154
Firebase._printerr("Action in error was: " + str(action))
155155
emit_error("task_error", bod, action)
156+
match action:
157+
Task.TASK_POST:
158+
emit_signal("add_document", null)
159+
Task.TASK_GET:
160+
emit_signal("get_document", null)
161+
Task.TASK_PATCH:
162+
emit_signal("update_document", null)
163+
Task.TASK_DELETE:
164+
emit_signal("delete_document", false)
165+
Task.TASK_QUERY:
166+
data = []
167+
emit_signal("result_query", data)
168+
Task.TASK_LIST:
169+
data = []
170+
emit_signal("listed_documents", data)
156171

157172
emit_signal("task_finished", self)
158173

0 commit comments

Comments
 (0)