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()