From 0f1610333324d58acafee8c0fa9d9c9bc293b219 Mon Sep 17 00:00:00 2001 From: Joris Date: Sun, 31 May 2020 13:59:35 +0200 Subject: Use defined tags for tasks --- src/service/tasks.py | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 src/service/tasks.py (limited to 'src/service') diff --git a/src/service/tasks.py b/src/service/tasks.py new file mode 100644 index 0000000..6c3444b --- /dev/null +++ b/src/service/tasks.py @@ -0,0 +1,27 @@ +from typing import List + +from model.task import Task, ValidTaskForm +import db.tasks +import db.task_tags +import database + +def get(cursor) -> List[Task]: + return db.tasks.get(cursor) + +def create(cursor, task_form: ValidTaskForm) -> Task: + task = db.tasks.insert(cursor, task_form) + new_task_tags = db.task_tags.insert_many(cursor, task.id, task_form.tags) + database.commit() + return task + +def update(cursor, task: Task, task_form: ValidTaskForm) -> Task: + updated_task = db.tasks.update(cursor, task, task_form) + db.task_tags.delete(cursor, [task.id]) + new_task_tags = db.task_tags.insert_many(cursor, task.id, task_form.tags) + database.commit() + return updated_task + +def delete(cursor, task_ids: List[int]): + db.tasks.delete(cursor, task_ids) + db.task_tags.delete(cursor, task_ids) + database.commit() -- cgit v1.2.3