diff --git a/backend/controller_task.py b/backend/controller_task.py index 3de37e8..bb4e362 100644 --- a/backend/controller_task.py +++ b/backend/controller_task.py @@ -2,6 +2,7 @@ """This module controls the task data between the sqlite database.""" from datetime import datetime +from typing import Any from uuid import uuid4 from error import BackendError @@ -18,49 +19,50 @@ def __init__(self) -> None: def add_task_control( self, - task_name: str, - task_description: str, - task_due: float, - task_est_day: int, - task_est_hour: int, - task_est_min: int, - assigner_id: str, - assign_id: str, - group_id: str, - recursive: int, - priority: int, - image_path: str, - password: str, + request_data: dict[str, Any], ) -> str: """This will add the task.""" if not Validator().check_user_exists( - user_id=assigner_id - ) or not Validator().check_user_exists(user_id=assign_id): + user_id=request_data["assigner_id"] + ) or not Validator().check_user_exists(user_id=request_data["assign_id"]): raise BackendError("Backend Error: User does not exist", "304") - if group_id != "0" and not Validator().check_group_exists(group_id=group_id): + if request_data["group_id"] != "0" and not Validator().check_group_exists( + group_id=request_data["group_id"] + ): raise BackendError("Backend Error: Group does not exist", "306") - if not Validator().check_password(user_id=assigner_id, password=password): + if not Validator().check_password( + user_id=request_data["assigner_id"], password=request_data["password"] + ): raise BackendError("Backend Error: Password is incorrect", "305") task_id: str = str(uuid4()) while Validator().check_duplicate_id(data_table="task", given_id=task_id): task_id = str(uuid4()) + image_path = "TODO CHANGE HERE" + task_due: float = datetime( + int(request_data.get("task_due_year", "2000")), + int(request_data.get("task_due_month", "1")), + int(request_data.get("task_due_date", "1")), + int(request_data.get("task_due_hour", "0")), + int(request_data.get("task_due_min", "0")), + 0, + ).timestamp() with db_operation() as data_cursor: data_cursor.execute( "INSERT INTO task VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);", ( task_id, - task_name, - task_description, + request_data["task_name"], + request_data.get("task_description", ""), task_due, - task_est_day, - task_est_hour, - task_est_min, - assigner_id, - assign_id, - group_id, + int(request_data.get("task_est_day", "1")), + int(request_data.get("task_est_hour", "0")), + int(request_data.get("task_est_min", "0")), + request_data["assigner_id"], + request_data["assign_id"], + request_data["group_id"], 0, # completed = 0 - priority, - recursive, + int(request_data.get("priority", "0")), + int(request_data.get("recursive", "0")), image_path, ), ) @@ -68,33 +70,32 @@ def add_task_control( def edit_task_control( self, - task_id: str, - task_name: str, - task_description: str, - task_due: float, - task_est_day: int, - task_est_hour: int, - task_est_min: int, - assigner_id: str, - assign_id: str, - group_id: str, - recursive: int, - priority: int, - completed: int, - image_path: str, - password: str, + request_data: dict[str, Any], ) -> bool: """This will edit the task.""" - if not Validator().check_task_exists(task_id=task_id): + if not Validator().check_task_exists(task_id=request_data["task_id"]): raise BackendError("Backend Error: Task does not exist", "309") if not Validator().check_user_exists( - user_id=assigner_id - ) or not Validator().check_user_exists(user_id=assign_id): + user_id=request_data["assigner_id"] + ) or not Validator().check_user_exists(user_id=request_data["assign_id"]): raise BackendError("Backend Error: User does not exist", "304") - if group_id != "0" and not Validator().check_group_exists(group_id): + if request_data["group_id"] != "0" and not Validator().check_group_exists( + request_data["group_id"] + ): raise BackendError("Backend Error: Group does not exist", "306") - if Validator().check_password(user_id=assigner_id, password=password): + if Validator().check_password( + user_id=request_data["assigner_id"], password=request_data["password"] + ): raise BackendError("Backend Error: Password is incorrect", "305") + image_path = "TODO CHANGE HERE" + task_due: float = datetime( + int(request_data.get("task_due_year", "2000")), + int(request_data.get("task_due_month", "1")), + int(request_data.get("task_due_date", "1")), + int(request_data.get("task_due_hour", "0")), + int(request_data.get("task_due_min", "0")), + 0, + ).timestamp() with db_operation() as data_cursor: data_cursor.execute( "UPDATE task SET name = ?, description = ?, due = ?, est_day = ?, " @@ -102,20 +103,20 @@ def edit_task_control( "recursive = ?, priority = ?, image_path = ? completed = ? " "WHERE uuid = ?;", ( - task_name, - task_description, + request_data["task_name"], + request_data.get("task_description", ""), task_due, - task_est_day, - task_est_hour, - task_est_min, - assigner_id, - assign_id, - group_id, - recursive, - priority, + int(request_data.get("task_est_day", "1")), + int(request_data.get("task_est_hour", "0")), + int(request_data.get("task_est_min", "0")), + request_data["assigner_id"], + request_data["assign_id"], + request_data["group_id"], + int(request_data.get("recursive", "0")), + int(request_data.get("priority", "0")), image_path, - completed, - task_id, + int(request_data.get("completed", "0")), + request_data["task_id"], ), ) return True diff --git a/backend/handler_task.py b/backend/handler_task.py index d000a41..a5b4c35 100644 --- a/backend/handler_task.py +++ b/backend/handler_task.py @@ -1,7 +1,6 @@ # coding: utf-8 """This will hold the information with task handle.""" -from datetime import datetime from typing import Any from flask import Request @@ -36,34 +35,13 @@ def add_task_request(self) -> str: "password", ], ) - task_due: float = datetime( - int(request_data.get("task_due_year", "2000")), - int(request_data.get("task_due_month", "1")), - int(request_data.get("task_due_date", "1")), - int(request_data.get("task_due_hour", "0")), - int(request_data.get("task_due_min", "0")), - 0, - ).timestamp() return TaskController().add_task_control( - task_name=request_data["task_name"], - task_description=request_data.get("task_description", ""), - task_due=task_due, - task_est_day=int(request_data.get("task_est_day", "1")), - task_est_hour=int(request_data.get("task_est_hour", "0")), - task_est_min=int(request_data.get("task_est_min", "0")), - assigner_id=request_data["assigner_id"], - assign_id=request_data["assign_id"], - group_id=request_data["group_id"], - recursive=int(request_data.get("recursive", "0")), - priority=int(request_data.get("priority", "0")), - image_path="TODO CHANGE HERE", - password=request_data["password"], + request_data=request_data, ) @handle_backend_exceptions def edit_task_request(self) -> None: """Edits a task.""" - request_data: dict[str, Any] = extract_request_data( request=self.user_request, required_fields=[ @@ -75,30 +53,8 @@ def edit_task_request(self) -> None: "password", ], ) - task_due: float = datetime( - int(request_data.get("task_due_year", "2000")), - int(request_data.get("task_due_month", "1")), - int(request_data.get("task_due_date", "1")), - int(request_data.get("task_due_hour", "0")), - int(request_data.get("task_due_min", "0")), - 0, - ).timestamp() TaskController().edit_task_control( - task_id=request_data["task_id"], - task_name=request_data["task_name"], - task_description=request_data.get("task_description", ""), - task_due=task_due, - task_est_day=int(request_data.get("task_est_day", "0")), - task_est_hour=int(request_data.get("task_est_hour", "0")), - task_est_min=int(request_data.get("task_est_min", "0")), - assigner_id=request_data["assigner_id"], - assign_id=request_data["assign_id"], - group_id=request_data["group_id"], - recursive=int(request_data.get("recursive", "0")), - priority=int(request_data.get("priority", "0")), - completed=int(request_data.get("completed", "0")), - image_path="TODO CHANGE HERE", - password=request_data["password"], + request_data=request_data, ) @handle_backend_exceptions