Skip to content

Commit 313ff17

Browse files
Add set(document_id: String, data: Dictionary) function (#442)
* Add set(document_id: String, data: Dictionary) function in firestore_collection.gd * Update func name
1 parent 3333987 commit 313ff17

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

addons/godot-firebase/firestore/firestore_collection.gd

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,3 +181,24 @@ func _process_request(task : FirestoreTask, document_id : String, url : String,
181181

182182
func get_database_url(append) -> String:
183183
return _base_url + _extended_url.rstrip("/") + ":" + append
184+
185+
186+
## @args document_id: StringName, data: Variant
187+
## @return void
188+
# used to SET a document, specify the document ID and new data
189+
func set_doc(document_id: StringName, data: Variant) -> void:
190+
var task: FirestoreTask = FirestoreTask.new()
191+
task.action = FirestoreTask.Task.TASK_PATCH
192+
task.data = collection_name + "/" + document_id
193+
var url = _get_request_url() + _separator + document_id.replace(" ", "%20")
194+
195+
_process_request(task, document_id, url, JSON.stringify(Utilities.dict2fields(data)))
196+
var result = await Firebase.Firestore._handle_task_finished(task)
197+
198+
if result != null:
199+
for child in get_children():
200+
if child.doc_name == document_id:
201+
child.replace(result, true)
202+
break
203+
else:
204+
print("set_document returned null for %s %s" % [collection_name, document_id])

0 commit comments

Comments
 (0)