from sqlite3 import Cursor import time from model.task import Task, TaskForm def get(cursor: Cursor) -> Task: cursor.execute('SELECT id, created_at, modified_at, name, tag FROM tasks') res = [] for task in cursor.fetchall(): res.append(Task( id = task[0], created_at = task[1], modified_at = task[2], name = task[3], tag = task[4] )) return res def insert(cursor: Cursor, taskForm): now = int(time.time()) cursor.execute('INSERT INTO tasks(created_at, modified_at, name, tag) VALUES (?, ?, ?, ?)', (now, now, taskForm.name, taskForm.tag)) return Task( id = cursor.lastrowid, created_at = now, modified_at = now, name = taskForm.name, tag = taskForm.tag ) def update(cursor: Cursor, task: Task, taskForm: TaskForm): now = int(time.time()) cursor.execute( 'UPDATE tasks SET modified_at = ?, name = ?, tag = ? WHERE id = ?', (now, taskForm.name, taskForm.tag, task.id)) return Task( id = task.id, created_at = task.created_at, modified_at = now, name = taskForm.name, tag = taskForm.tag ) def delete(cursor: Cursor, ids): if len(ids) >= 1: cursor.execute('DELETE FROM tasks WHERE id IN (%s)' % ','.join('?'*len(ids)), ids)