diff --git a/backend/data/project-files/.gitkeep b/backend/data/project-files/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/backend/src/rest_api.py b/backend/src/rest_api.py index de229e3..af739d4 100644 --- a/backend/src/rest_api.py +++ b/backend/src/rest_api.py @@ -1,3 +1,4 @@ +import os from re import T import secrets import sqlite3 @@ -172,3 +173,21 @@ def update_ideas() -> flask.Response: except KeyError: return flask.Response("Something is missing", 422) return flask.Response() + + +@app.post("/upload-project-file") +def upload_project_files() -> flask.Response: + try: + user_id = flask.session["user_id"] + except KeyError: + return flask.Response("Not logged in", 428) + team_id = utils.UserHandler.get_user_by_id(user_id).team_id + try: + file = flask.request.files["file"] + except KeyError: + return flask.Response("file missing", 422) + file_name = file.filename if file.filename else secrets.token_urlsafe(20) + if not os.path.isdir(f"./data/project-files/{team_id}"): + os.mkdir(f"./data/project-files/{team_id}") + file.save(f"./data/project-files/{team_id}/{file_name}") + return flask.Response()