From 81003bf38eb5384f6b7f485b5186e1df4e7430b4 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Mon, 26 Oct 2020 22:10:05 +0100 Subject: Use only Model.get_id for obtaining model identifier --- api/opendc/models/model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'api/opendc/models') diff --git a/api/opendc/models/model.py b/api/opendc/models/model.py index bcb833ae..32159ca3 100644 --- a/api/opendc/models/model.py +++ b/api/opendc/models/model.py @@ -25,7 +25,7 @@ class Model: def get_id(self): """Returns the ID of the enclosed object.""" - return str(self.obj['_id']) + return self.obj['_id'] def check_exists(self): """Raises an error if the enclosed object does not exist.""" -- cgit v1.2.3 From eb723af5ce2787dd864c97d44767cbf9bc73076b Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Mon, 26 Oct 2020 23:09:37 +0100 Subject: Do not hardcode test ids inside tests --- api/opendc/models/model.py | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'api/opendc/models') diff --git a/api/opendc/models/model.py b/api/opendc/models/model.py index 32159ca3..f9dfc9ad 100644 --- a/api/opendc/models/model.py +++ b/api/opendc/models/model.py @@ -1,4 +1,4 @@ -from uuid import uuid4 +from bson.objectid import ObjectId from opendc.util.database import DB from opendc.util.exceptions import ClientError @@ -13,6 +13,11 @@ class Model: @classmethod def from_id(cls, _id): """Fetches the document with given ID from the collection.""" + if isinstance(_id, str) and len(_id) == 24: + _id = ObjectId(_id) + elif not isinstance(_id, ObjectId): + return cls(None) + return cls(DB.fetch_one({'_id': _id}, cls.collection_name)) @classmethod @@ -42,7 +47,7 @@ class Model: def insert(self): """Inserts the enclosed object and generates a UUID for it.""" - self.obj['_id'] = str(uuid4()) + self.obj['_id'] = ObjectId() DB.insert(self.obj, self.collection_name) def update(self): -- cgit v1.2.3