From 23a8928b8cc48ba8e28d2efde1e46907b05acc9e Mon Sep 17 00:00:00 2001 From: pedroslrn Date: Mon, 17 Jun 2024 15:15:25 -0300 Subject: [PATCH] modelo --- api/__main__.py | 50 +++++++++++++++++++++++++++++++++++++++++++++++++ api/main.py | 8 ++++++++ controller.py | 10 ++++++++++ 3 files changed, 68 insertions(+) create mode 100644 api/__main__.py create mode 100644 api/main.py diff --git a/api/__main__.py b/api/__main__.py new file mode 100644 index 0000000..736697c --- /dev/null +++ b/api/__main__.py @@ -0,0 +1,50 @@ +from fastapi import FastAPI +from pydantic import BaseModel +import psycopg2 + +app = FastAPI() + +# Definir a estrutura do item esperado na requisição +class Item(BaseModel): + numero_mesa: int + cliente_id: int + data_da_reserva: str + capacidade: int + +# Rota para cadastrar a mesa +@app.post("/cadastro-mesa/") +async def cadastro_mesa(item: Item): + try: + # Estabelecer a conexão com o banco de dados + conn = psycopg2.connect( + dbname="nome_do_banco", + user="nome_do_usuario", + password="senha", + host="localhost", + port="5432" + ) + + # Criar um cursor + cur = conn.cursor() + + # Inserir os dados da reserva na tabela Mesas + cur.execute(""" + INSERT INTO Mesas (numeroMesa, clienteId, disponivel, dataDaReserva, capacidade) + VALUES (%s, %s, %s, %s, %s) + """, (item.numero_mesa, item.cliente_id, True, item.data_da_reserva, item.capacidade)) + + # Confirmar a transação + conn.commit() + + return {"item": f"Mesa número {item.numero_mesa} criada com sucesso para reserva."} + + except psycopg2.Error as e: + print(f"Erro ao criar reserva de mesa: {e}") + return {"error": "Erro ao criar reserva de mesa"} + + finally: + # Fechar o cursor e a conexão + if cur: + cur.close() + if conn: + conn.close() diff --git a/api/main.py b/api/main.py new file mode 100644 index 0000000..75af9f6 --- /dev/null +++ b/api/main.py @@ -0,0 +1,8 @@ +from fastapi import FastAPI + +app = FastAPI() + +@app.post("/cadastro-mesa/") +async def cadastrar_mesa(): + # Lógica para lidar com a requisição POST aqui + return {"message": "Requisição POST recebida com sucesso"} diff --git a/controller.py b/controller.py index 3a454af..e876422 100644 --- a/controller.py +++ b/controller.py @@ -1,5 +1,10 @@ +from fastapi import FastAPI +from pydantic import BaseModel import psycopg2 +# Criação da instância do FastAPI +app = FastAPI() + # Parâmetros de conexão com o banco de dados dbname = "mesaFacil" user = "postgres" @@ -7,6 +12,11 @@ host = "localhost" port = "5432" +class Item(BaseModel): + numero_mesa: int + cliente_id: int + data_da_reserva: str + capacidade: int # Função para somar e imprimir o valor total dos pedidos finalizados def calcular_valor_total_finalizados():