From 65db6d350ab9344b325d6a441a6798ade571570f Mon Sep 17 00:00:00 2001 From: kosh Date: Sun, 1 Sep 2024 15:37:06 +0530 Subject: [PATCH] Add update ideas --- backend/data/sqlite-database.db | Bin 32768 -> 32768 bytes backend/src/rest_api.py | 20 ++++++++++- backend/src/utils/team.py | 62 +++++++++++++++++++++++++++++++- 3 files changed, 80 insertions(+), 2 deletions(-) diff --git a/backend/data/sqlite-database.db b/backend/data/sqlite-database.db index a45b3fa06b4cf645285a93523ef3a25d7f1cc4e5..78e09a270b7c7467b88a9c17c22acb2aa966b638 100644 GIT binary patch delta 562 zcmZo@U}|V!njkIM!oa}50mLw%JyFM4x`jcns*sm+69YT@JO;jAo<81t?DKe{c?`JL zZ59+zVc$HDU4)5+r;Xvy#Ks?7P4yz|;^N|rt+A8$aK>^g`1yw@_=WoT=x|LAgE{g6QZD`q{CH`S(1~ADO{YNQ(BUl zpNA=vm{eR+l$eagsPc@;_>zpw;&`aF3W*rDC6%V6rVxYrSoSIyc zUxaBL(5x(=RD4Ng0fsZVG&dXYTw`X-VBpW-ySG_TA%;JoQB*{bp^?R$QBqh`R#BFj zMU<0M#VAR|&`8BBDZJ3lvm(>iJm1?n&Dpoe!ppJLzcM{MG|{ZkA~CJNB`3H%EU3)T z($X^0Eh50Q)YCt4@^*QTO$z_{c|~~nUo$ZAKVaa0!2b$OlzAmk)2tq`RuQ{-xfBOc*LCi$ zw_KMO%5F=jGctKTa$&G+SX|QRs1YC;WhKv4*el6+XlJcn7nX!Udee z2|R;A>_;bBu>=0XFZd4I@Dbia9kyT-Ucdt=!A-ahi*N;|U<^)y7u?Mf->C(&Phh%~ zil@`7=HtX;L@#lWI6&+t9wmB+M~H`seJvK+n+^KzCAx_&;vu4wc#zmbJV4Zm4r0Mh z?k3uZT||v&B_a`sDp4U?h;o~);w7`d>{23@$V$?l#65NHO6(ArO-iiCMd3dzCV@Gn TWNJMTk0mYq{=n@En~TOj(p$=Z diff --git a/backend/src/rest_api.py b/backend/src/rest_api.py index 4806d0b..de229e3 100644 --- a/backend/src/rest_api.py +++ b/backend/src/rest_api.py @@ -1,3 +1,4 @@ +from re import T import secrets import sqlite3 import flask @@ -151,6 +152,23 @@ def delete_member() -> flask.Response: utils.UserHandler.delete_member(flask.request.form["mail"], user_id) except AssertionError: return flask.Response("User doesn't exist", 404) - except KeyError as e: + except KeyError: return flask.Response("mail doesn't exist", 422) return flask.Response() + + +@app.post("/update-ideas") +def update_ideas() -> flask.Response: + try: + user_id = flask.session["user_id"] + except KeyError: + return flask.Response("Not logged in", 428) + try: + team_id = utils.UserHandler.get_user_by_id(user_id).team_id + utils.TeamHandler.update_project_information(utils.Team( + team_id=team_id, + **flask.request.form, + )) + except KeyError: + return flask.Response("Something is missing", 422) + return flask.Response() diff --git a/backend/src/utils/team.py b/backend/src/utils/team.py index d592da3..f54aa9c 100644 --- a/backend/src/utils/team.py +++ b/backend/src/utils/team.py @@ -8,16 +8,40 @@ class Team: project_folder: str team_name: str is_related_to_special_topics: bool + problem_statement: str + title: str + solution: str + abstract: str + why_this_problem: str + budget: int + sector: str + project_type: str def __init__( self, team_id: int|str, team_name: str, - is_related_to_special_topics: bool|int|str + is_related_to_special_topics: bool|int|str, + problem_statement: str, + title: str, + solution: str, + abstract: str, + why_this_problem: str, + budget: int|str, + sector: str, + project_type: str, ) -> None: self.team_id = int(team_id) self.team_name = team_name self.is_related_to_special_topics = bool(int(is_related_to_special_topics)) + self.problem_statement = problem_statement + self.title = title + self.solution = solution + self.abstract = abstract + self.why_this_problem = why_this_problem + self.budget = int(budget) + self.sector = sector + self.project_type = project_type class TeamHandler: @@ -45,3 +69,39 @@ class TeamHandler: (team_id, ) ).fetchall() return users + + @classmethod + def update_project_information( + cls, + team: Team, + ) -> None: + cls.__cursor.execute( + f""" + UPDATE teams SET + team_name=?, + is_related_to_special_topics=?, + problem_statement=?, + title=?, + solution=?, + abstract=?, + why_this_problem=?, + budget=?, + sector=?, + project_type=? + WHERE team_id=? + """, + ( + team.team_name, + team.is_related_to_special_topics, + team.problem_statement, + team.title, + team.solution, + team.abstract, + team.why_this_problem, + team.budget, + team.sector, + team.project_type, + team.team_id, + ) + ) + cls.__connection.commit()