summaryrefslogtreecommitdiff
path: root/api/opendc/util/database.py
diff options
context:
space:
mode:
authorFabian Mastenbroek <mail.fabianm@gmail.com>2020-10-26 23:09:37 +0100
committerFabian Mastenbroek <mail.fabianm@gmail.com>2020-10-26 23:22:57 +0100
commiteb723af5ce2787dd864c97d44767cbf9bc73076b (patch)
treec23add298fa668b9d1b7b979088755ecb12bce10 /api/opendc/util/database.py
parent81003bf38eb5384f6b7f485b5186e1df4e7430b4 (diff)
Do not hardcode test ids inside tests
Diffstat (limited to 'api/opendc/util/database.py')
-rw-r--r--api/opendc/util/database.py23
1 files changed, 4 insertions, 19 deletions
diff --git a/api/opendc/util/database.py b/api/opendc/util/database.py
index 80cdcbab..dd26533d 100644
--- a/api/opendc/util/database.py
+++ b/api/opendc/util/database.py
@@ -1,8 +1,6 @@
-import json
import urllib.parse
from datetime import datetime
-from bson.json_util import dumps
from pymongo import MongoClient
DATETIME_STRING_FORMAT = '%Y-%m-%dT%H:%M:%S'
@@ -31,32 +29,25 @@ class Database:
The query needs to be in json format, i.e.: `{'name': prefab_name}`.
"""
- bson = getattr(self.opendc_db, collection).find_one(query)
-
- return self.convert_bson_to_json(bson)
+ return getattr(self.opendc_db, collection).find_one(query)
def fetch_all(self, query, collection):
"""Uses existing mongo connection to return all documents matching a given query, as a list of JSON objects.
The query needs to be in json format, i.e.: `{'name': prefab_name}`.
"""
- results = []
cursor = getattr(self.opendc_db, collection).find(query)
- for doc in cursor:
- results.append(self.convert_bson_to_json(doc))
- return results
+ return list(cursor)
def insert(self, obj, collection):
"""Updates an existing object."""
bson = getattr(self.opendc_db, collection).insert(obj)
- return self.convert_bson_to_json(bson)
+ return bson
def update(self, _id, obj, collection):
"""Updates an existing object."""
- bson = getattr(self.opendc_db, collection).update({'_id': _id}, obj)
-
- return self.convert_bson_to_json(bson)
+ return getattr(self.opendc_db, collection).update({'_id': _id}, obj)
def delete_one(self, query, collection):
"""Deletes one object matching the given query.
@@ -73,12 +64,6 @@ class Database:
getattr(self.opendc_db, collection).delete_many(query)
@staticmethod
- def convert_bson_to_json(bson):
- """Converts a BSON representation to JSON and returns the JSON representation."""
- json_string = dumps(bson)
- return json.loads(json_string)
-
- @staticmethod
def datetime_to_string(datetime_to_convert):
"""Return a database-compatible string representation of the given datetime object."""
return datetime_to_convert.strftime(DATETIME_STRING_FORMAT)