API-Server Frist Try
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
from fastapi import FastAPI
|
||||
from pydantic import BaseModel
|
||||
import mysql.connector
|
||||
from datetime import datetime
|
||||
import Classes.main_classes as CL
|
||||
|
||||
def database(query,name,user):
|
||||
# server.start()
|
||||
# print(f"{filename}-SSH Server start Port:{ssh_tunnel.server_port()}")
|
||||
|
||||
mydb = mysql.connector.connect(
|
||||
host="172.17.1.21",
|
||||
port=3306,
|
||||
user="root",
|
||||
password="N53yBCswuawzBzS445VNAhWVMs3N59Gb9szEsrzXRBzarDqpdETpQeyt5v5CGe",
|
||||
database="" + name,
|
||||
auth_plugin='mysql_native_password',
|
||||
)
|
||||
mydb.connect()
|
||||
# print(f"{filename}-SQL Server Connect")
|
||||
# print(f"{filename}-{query}")
|
||||
cursor = mydb.cursor()
|
||||
if "SELECT" in query:
|
||||
if user:
|
||||
cursor.execute(query, user)
|
||||
return cursor.fetchone()
|
||||
else:
|
||||
cursor.execute(query, user)
|
||||
# print(f"{filename}- Inside SELECT ALL")
|
||||
return cursor.fetchall()
|
||||
if "SHOW" in query:
|
||||
cursor.execute(query)
|
||||
return cursor.fetchall()
|
||||
if "INSERT" in query:
|
||||
cursor.execute(query,user)
|
||||
mydb.commit()
|
||||
if "UPDATE" in query:
|
||||
cursor.execute(query,user)
|
||||
mydb.commit()
|
||||
mydb.close()
|
||||
|
||||
|
||||
app = FastAPI()
|
||||
|
||||
class Ping_Set(BaseModel):
|
||||
## Test
|
||||
name: str
|
||||
ipadress: str
|
||||
|
||||
@app.post("/ping")
|
||||
async def ping(ping: Ping_Set):
|
||||
database(f"INSERT INTO `Ping-Server` VALUES ('{datetime.now()}','{ping.name}','{ping.ipadress}')","Stines-GmbH","")
|
||||
return f"ADD Ping from {ping.name} to Server"
|
||||
|
||||
## Get Database from Server
|
||||
@app.post("/database_get/")
|
||||
async def database_get(get: CL.CL_Database_get):
|
||||
get_database = database("SHOW DATABASES","","")
|
||||
if get.name in f"({get_database},)":
|
||||
return True
|
||||
else:
|
||||
return False
|
||||
Reference in New Issue
Block a user