Skip to content

Commit 90f9a54

Browse files
committed
Added: str ObjectID as metadata document_id (#15)
1 parent 34aef96 commit 90f9a54

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

libreforms_fastapi/__metadata__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,4 @@
55
__license__ = "AGPL-3.0"
66
__maintainer__ = "Sig Janoska-Bedi"
77
__email__ = "[email protected]"
8-
__url__="https://github.com/signbebedi"
8+
__url__="https://github.com/signebedi"

libreforms_fastapi/utils/document_database.py

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import os, shutil, json
2+
from bson import ObjectId
23
from datetime import datetime
34
from zoneinfo import ZoneInfo
45
from tinydb import TinyDB, Query
@@ -15,6 +16,7 @@ def __init__(self, config: dict, timezone: ZoneInfo):
1516
self.config = config
1617

1718
# Here we'll set metadata field names
19+
self.document_id_field = "_document_id"
1820
self.is_deleted_field = "_is_deleted"
1921
self.timezone_field= "_timezone"
2022
self.created_at_field = "_created_at"
@@ -136,9 +138,13 @@ def create_document(self, form_name:str, json_data, metadata={}):
136138
convert_data_to_dict = json.loads(json_data)
137139

138140
# data_dict = json.loads(json_data)
141+
142+
document_id = metadata.get(self.document_id_field, str(ObjectId()))
143+
139144
data_dict = {
140145
"data": convert_data_to_dict,
141146
"metadata": {
147+
self.document_id_field: document_id,
142148
self.is_deleted_field: metadata.get(self.is_deleted_field, False),
143149
self.timezone_field: metadata.get(self.timezone_field, self.timezone.key),
144150
self.created_at_field: metadata.get(self.created_at_field, current_timestamp.isoformat()),
@@ -153,7 +159,8 @@ def create_document(self, form_name:str, json_data, metadata={}):
153159
}
154160
}
155161

156-
document_id = self.databases[form_name].insert(data_dict)
162+
# document_id = self.databases[form_name].insert(data_dict)
163+
_ = self.databases[form_name].insert(data_dict)
157164

158165
return document_id
159166

0 commit comments

Comments
 (0)