Spaces:
Sleeping
Sleeping
File size: 1,389 Bytes
082345d 95cd09d 082345d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | from typing import List, Optional
from models import Task
from datetime import datetime
# Simulando um banco de dados com lista em memória
tasks_db: List[Task] = []
next_id = 1
def get_next_id() -> int:
"""Gera o próximo ID único para tarefa"""
global next_id
current_id = next_id
next_id += 1
return current_id
def create_task(task: Task) -> Task:
"""Cria uma nova tarefa no banco"""
task.id = get_next_id()
task.created_at = datetime.now()
tasks_db.append(task)
return task
def get_all_tasks() -> List[Task]:
"""Retorna todas as tarefas"""
return tasks_db
def get_task_by_id(task_id: int) -> Optional[Task]:
"""Busca uma tarefa por ID"""
for task in tasks_db:
if task.id == task_id:
return task
return None
def update_task(task_id: int, updated_task: Task) -> Optional[Task]:
"""Atualiza uma tarefa existente"""
for index, task in enumerate(tasks_db):
if task.id == task_id:
updated_task.id = task_id
updated_task.created_at = task.created_at
tasks_db[index] = updated_task
return updated_task
return None
def delete_task(task_id: int) -> bool:
"""Remove uma tarefa do banco"""
for index, task in enumerate(tasks_db):
if task.id == task_id:
tasks_db.pop(index)
return True
return False |