JairoDanielMT commited on
Commit
7b4f1c0
verified
1 Parent(s): 9e9a794

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +31 -0
main.py CHANGED
@@ -30,6 +30,37 @@ app.add_middleware(
30
  def read_root():
31
  return {"message": "Welcome to the Arduino sensor data API"}
32
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
33
  @app.post("/sensor_data")
34
  async def create_sensor_data(sensor_data: SensorData):
35
  try:
 
30
  def read_root():
31
  return {"message": "Welcome to the Arduino sensor data API"}
32
 
33
+
34
+ # Modelo para recibir consultas SQL
35
+ class SQLQuery(BaseModel):
36
+ query: str
37
+
38
+ # Conexi贸n a la base de datos SQLite
39
+ def get_db_connection():
40
+ conn = sqlite3.connect('database/anhelados.db')
41
+ conn.row_factory = sqlite3.Row
42
+ return conn
43
+
44
+ @app.post("/execute", summary="Ejecutar consulta SQL", description="Ejecuta una consulta SQL en la base de datos SQLite")
45
+ def execute_query(sql_query: SQLQuery):
46
+ conn = get_db_connection()
47
+ try:
48
+ cleaned_query = sql_query.query.replace("\nObservation", "").replace("\\'", "'")
49
+ print("Solicitud POST completa:", sql_query.json())
50
+ print("Consulta recibida en el servidor:", cleaned_query)
51
+
52
+ cursor = conn.cursor()
53
+ cursor.execute(cleaned_query)
54
+ conn.commit()
55
+ if cursor.description: # Verifica si la consulta tiene resultados
56
+ results = cursor.fetchall()
57
+ return {"results": [dict(row) for row in results]}
58
+ return {"message": "Consulta ejecutada exitosamente"}
59
+ except sqlite3.Error as e:
60
+ raise HTTPException(status_code=400, detail=str(e))
61
+ finally:
62
+ conn.close()
63
+
64
  @app.post("/sensor_data")
65
  async def create_sensor_data(sensor_data: SensorData):
66
  try: