diff options
| author | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-07-14 21:10:56 +0200 |
|---|---|---|
| committer | Fabian Mastenbroek <mail.fabianm@gmail.com> | 2020-08-24 19:48:04 +0200 |
| commit | 02997b2522b9c66072b16f1425c02e81e0085e3c (patch) | |
| tree | eb8cb533e3ef37a11598e86736b063293f8b0e2b /api/opendc/models/prefab.py | |
| parent | 1a4776636bf6b585d4a19a6721d9d57b02c88ca4 (diff) | |
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.
Diffstat (limited to 'api/opendc/models/prefab.py')
| -rw-r--r-- | api/opendc/models/prefab.py | 26 |
1 files changed, 26 insertions, 0 deletions
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 |
