From 02997b2522b9c66072b16f1425c02e81e0085e3c Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Tue, 14 Jul 2020 21:10:56 +0200 Subject: Rename web-server to API This change renames the web-server component to API in order to be more descriptive of its role. The OpenDC API bridges between the frontend on one side and the database and simulator on the other side. --- api/opendc/models/prefab.py | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 api/opendc/models/prefab.py (limited to 'api/opendc/models/prefab.py') diff --git a/api/opendc/models/prefab.py b/api/opendc/models/prefab.py new file mode 100644 index 00000000..70910c4a --- /dev/null +++ b/api/opendc/models/prefab.py @@ -0,0 +1,26 @@ +from opendc.models.model import Model +from opendc.models.user import User +from opendc.util.exceptions import ClientError +from opendc.util.rest import Response + + +class Prefab(Model): + """Model representing a Project.""" + + collection_name = 'prefabs' + + def check_user_access(self, google_id): + """Raises an error if the user with given [google_id] has insufficient access to view this prefab. + + :param google_id: The Google ID of the user. + """ + user = User.from_google_id(google_id) + + #try: + + print(self.obj) + if self.obj['authorId'] != user.get_id() and self.obj['visibility'] == "private": + raise ClientError(Response(403, "Forbidden from retrieving prefab.")) + #except KeyError: + # OpenDC-authored objects don't necessarily have an authorId + # return -- cgit v1.2.3