Spaces:
Sleeping
Sleeping
| from fastapi import FastAPI, HTTPException, status | |
| from typing import List | |
| from models import Task | |
| import database | |
| app = FastAPI( | |
| title="To-Do List API", | |
| description="API simples para gerenciar tarefas", | |
| version="1.0.0" | |
| ) | |
| def read_root(): | |
| """Endpoint raiz da API""" | |
| return { | |
| "message": "Bem-vindo à To-Do List API!", | |
| "docs": "/docs", | |
| "redoc": "/redoc" | |
| } | |
| # CREATE - Criar nova tarefa | |
| def create_task(task: Task): | |
| """Cria uma nova tarefa""" | |
| return database.create_task(task) | |
| # READ - Listar todas as tarefas | |
| def get_tasks(): | |
| """Lista todas as tarefas""" | |
| return database.get_all_tasks() | |
| # READ - Buscar tarefa específica por ID | |
| def get_task(task_id: int): | |
| """Busca uma tarefa específica por ID""" | |
| task = database.get_task_by_id(task_id) | |
| if task is None: | |
| raise HTTPException( | |
| status_code=status.HTTP_404_NOT_FOUND, | |
| detail=f"Tarefa com ID {task_id} não encontrada" | |
| ) | |
| return task | |
| # UPDATE - Atualizar tarefa existente | |
| def update_task(task_id: int, task: Task): | |
| """Atualiza uma tarefa existente""" | |
| updated = database.update_task(task_id, task) | |
| if updated is None: | |
| raise HTTPException( | |
| status_code=status.HTTP_404_NOT_FOUND, | |
| detail=f"Tarefa com ID {task_id} não encontrada" | |
| ) | |
| return updated | |
| # DELETE - Remover tarefa | |
| def delete_task(task_id: int): | |
| """Remove uma tarefa""" | |
| deleted = database.delete_task(task_id) | |
| if not deleted: | |
| raise HTTPException( | |
| status_code=status.HTTP_404_NOT_FOUND, | |
| detail=f"Tarefa com ID {task_id} não encontrada" | |
| ) | |
| return None |