From 501e0765d3764657bbf3f27b57c7471a43cd42aa Mon Sep 17 00:00:00 2001 From: Sebastian Serfling Date: Tue, 15 Aug 2023 11:53:38 +0200 Subject: [PATCH] Many Chanegs --- Classes/main_classes.py | 27 +++++++++++++++++++++++++++ main.py | 35 ++++++++++++++++++++++++++--------- return_api.py | 10 ---------- 3 files changed, 53 insertions(+), 19 deletions(-) delete mode 100644 return_api.py diff --git a/Classes/main_classes.py b/Classes/main_classes.py index bc3ab63..00bea46 100644 --- a/Classes/main_classes.py +++ b/Classes/main_classes.py @@ -1,5 +1,32 @@ from pydantic import BaseModel +class CL_Ping_Set(BaseModel): + ## Test + name: str + ipadress: str + + class CL_Database_get(BaseModel): name: str +class CL_Diskusage(BaseModel): + function: str + value: str + +class CL_CPUinfo(BaseModel): + name: str + +class CL_Systeminfo_set(BaseModel): + ram: str + prozessor: int + cpu: str + ipaddress: str + single_free_hdd: str + single_used_hdd: str + single_total_hdd: str + total_free_hdd: int + total_used_hdd: int + total_total_hdd: int + +class CL_Systeminfo_get(BaseModel): + ipaddress: str \ No newline at end of file diff --git a/main.py b/main.py index 6d06181..611e2b4 100644 --- a/main.py +++ b/main.py @@ -3,6 +3,11 @@ from pydantic import BaseModel import mysql.connector from datetime import datetime import Classes.main_classes as CL ## Importiert Classes +import uvicorn +import logging + +logging.basicConfig(level=logging.DEBUG) # add this line +logger = logging.getLogger("foo") ## uvicorn.exe main:app --reload Startet den API-Server @@ -41,24 +46,36 @@ def database(query,name,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): +async def ping(ping: CL.CL_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/") +@app.post("/dbget") 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 \ No newline at end of file + return False + +@app.post("/cpu_info") +async def cpu_info(get: CL.CL_CPUinfo): + return database(f"SELECT `Prozessor-Anzahl` FROM `CPU-Liste` WHERE `CPU-Name`='{get.name}'","Stines-GmbH","") + +@app.post("/systeminfo_set") +async def systeminfo_set(get: CL.CL_Systeminfo_set): + database(f"UPDATE `Kunden-Server` SET RAM={get.ram}, Prozessor={get.prozessor}, CPU='{get.cpu}',single_free_hdd='{get.single_free_hdd}',single_used_hdd='{get.single_used_hdd}',single_total_hdd='{get.single_total_hdd}',total_free_hdd='{get.total_free_hdd}',total_used_hdd='{get.total_used_hdd}',total_total_hdd='{get.total_total_hdd}' WHERE `IP-Adresse`='{get.ipaddress}'","Stines-GmbH","") + return f"Server was UPDATE RAM={get.ram}, Prozessor={get.prozessor}, CPU={get.cpu}, IP-Adresse={get.ipaddress}" + +@app.post("/systeminfo_get") +async def systeminfo_set(get: CL.CL_Systeminfo_get): + return database("SELECT * FROM `Stines-GmbH`.`Kunden-Server` WHERE `IP-Adresse` = ""'{}'""".format(get.ipaddress),"","") + + +## Startet den API-Server +if __name__ == '__main__': + uvicorn.run("main:app", host='0.0.0.0', port=8000, reload=True, log_level="debug") \ No newline at end of file diff --git a/return_api.py b/return_api.py deleted file mode 100644 index 65afd32..0000000 --- a/return_api.py +++ /dev/null @@ -1,10 +0,0 @@ -##### Für API-Tests - -import requests - -def request(function,variable): - url = (f"http://127.0.0.1:8000/{function}/") - response = requests.post(url,json = variable) - return response - -print(request("database_get", {'name':'Jaehler-GmbH'}).text) \ No newline at end of file