From f0c472b1792779e63fdeb97a470b46300de00050 Mon Sep 17 00:00:00 2001 From: Fabian Mastenbroek Date: Tue, 26 Oct 2021 16:19:55 +0200 Subject: feat(web/api): Initial API implementation in Kotlin This change adds the initial implementation of the new API server in Kotlin, replacing the old API written in Python. The implementation uses Quarkus, RESTEasy, and Hibernate to implement the new API endpoints. The reason for replacing the old API server is unifying the build and deployment toolchains, reducing the number of technologies necessary to work with OpenDC. Furthermore, we envision bundling the entire OpenDC project into a single distributions, allowing users to launch their own deployment trivially. --- opendc-web/opendc-web-api/opendc/models/prefab.py | 31 ----------------------- 1 file changed, 31 deletions(-) delete mode 100644 opendc-web/opendc-web-api/opendc/models/prefab.py (limited to 'opendc-web/opendc-web-api/opendc/models/prefab.py') diff --git a/opendc-web/opendc-web-api/opendc/models/prefab.py b/opendc-web/opendc-web-api/opendc/models/prefab.py deleted file mode 100644 index 5e4b81dc..00000000 --- a/opendc-web/opendc-web-api/opendc/models/prefab.py +++ /dev/null @@ -1,31 +0,0 @@ -from marshmallow import Schema, fields -from werkzeug.exceptions import Forbidden - -from opendc.models.topology import ObjectSchema -from opendc.models.model import Model - - -class PrefabSchema(Schema): - """ - Schema for a Prefab. - """ - _id = fields.String(dump_only=True) - authorId = fields.String(dump_only=True) - name = fields.String(required=True) - datetimeCreated = fields.DateTime() - datetimeLastEdited = fields.DateTime() - rack = fields.Nested(ObjectSchema) - - -class Prefab(Model): - """Model representing a Prefab.""" - - collection_name = 'prefabs' - - def check_user_access(self, user_id): - """Raises an error if the user with given [user_id] has insufficient access to view this prefab. - - :param user_id: The user ID of the user. - """ - if self.obj['authorId'] != user_id and self.obj['visibility'] == "private": - raise Forbidden("Forbidden from retrieving prefab.") -- cgit v1.2.3