1
1
import os , shutil , json
2
+ from bson import ObjectId
2
3
from datetime import datetime
3
4
from zoneinfo import ZoneInfo
4
5
from tinydb import TinyDB , Query
@@ -15,6 +16,7 @@ def __init__(self, config: dict, timezone: ZoneInfo):
15
16
self .config = config
16
17
17
18
# Here we'll set metadata field names
19
+ self .document_id_field = "_document_id"
18
20
self .is_deleted_field = "_is_deleted"
19
21
self .timezone_field = "_timezone"
20
22
self .created_at_field = "_created_at"
@@ -136,9 +138,13 @@ def create_document(self, form_name:str, json_data, metadata={}):
136
138
convert_data_to_dict = json .loads (json_data )
137
139
138
140
# data_dict = json.loads(json_data)
141
+
142
+ document_id = metadata .get (self .document_id_field , str (ObjectId ()))
143
+
139
144
data_dict = {
140
145
"data" : convert_data_to_dict ,
141
146
"metadata" : {
147
+ self .document_id_field : document_id ,
142
148
self .is_deleted_field : metadata .get (self .is_deleted_field , False ),
143
149
self .timezone_field : metadata .get (self .timezone_field , self .timezone .key ),
144
150
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={}):
153
159
}
154
160
}
155
161
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 )
157
164
158
165
return document_id
159
166
0 commit comments