jcnok's picture
Update app/database.py
95cd09d verified
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