diff options
author | Joris | 2020-06-06 17:44:26 +0200 |
---|---|---|
committer | Joris | 2020-06-06 19:54:03 +0200 |
commit | 1595e0de940a86a7810df0e02e43838d97c0d846 (patch) | |
tree | 9701eeec0d98baa9f6044b1911df68e4c8539819 /todo/service | |
parent | 6b9195000eb5404c247288b384d7ca2bacc1ab23 (diff) | |
download | todo-1595e0de940a86a7810df0e02e43838d97c0d846.tar.gz todo-1595e0de940a86a7810df0e02e43838d97c0d846.tar.bz2 todo-1595e0de940a86a7810df0e02e43838d97c0d846.zip |
Provide nix build
Diffstat (limited to 'todo/service')
-rw-r--r-- | todo/service/__init__.py | 0 | ||||
-rw-r--r-- | todo/service/tasks.py | 32 |
2 files changed, 32 insertions, 0 deletions
diff --git a/todo/service/__init__.py b/todo/service/__init__.py new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/todo/service/__init__.py diff --git a/todo/service/tasks.py b/todo/service/tasks.py new file mode 100644 index 0000000..2cebf00 --- /dev/null +++ b/todo/service/tasks.py @@ -0,0 +1,32 @@ +from typing import List + +from todo.model.task import Task, ValidTaskForm +from todo.model.status import Status +import todo.db.tasks +import todo.db.task_tags +import todo.database + +def get(cursor, status: Status) -> List[Task]: + return todo.db.tasks.get(cursor, status) + +def create(cursor, status: Status, task_form: ValidTaskForm) -> Task: + task = todo.db.tasks.insert(cursor, status, task_form) + todo.db.task_tags.insert_many(cursor, task.id, task_form.tags) + todo.database.commit() + return task + +def update(cursor, task: Task, task_form: ValidTaskForm) -> Task: + todo.db.task_tags.delete(cursor, [task.id]) + updated_task = todo.db.tasks.update(cursor, task, task_form) + todo.db.task_tags.insert_many(cursor, task.id, task_form.tags) + todo.database.commit() + return updated_task + +def delete(cursor, task_ids: List[int]): + todo.db.task_tags.delete(cursor, task_ids) + todo.db.tasks.delete(cursor, task_ids) + todo.database.commit() + +def update_status(cursor, task_ids: List[int], status: Status) -> List[Task]: + todo.db.tasks.update_status(cursor, task_ids, status) + todo.database.commit() |