From 8690f1ba273721f0180e56d4ec2900d6f422b5b1 Mon Sep 17 00:00:00 2001 From: George Date: Fri, 18 Sep 2026 16:27:50 +0530 Subject: [PATCH] feat: --Added Node Status Check --- main.py | 46 ++++++++++++++++++++++++++++++++-------------- 1 file changed, 32 insertions(+), 14 deletions(-) diff --git a/main.py b/main.py index 037c23c..b91c2d8 100644 --- a/main.py +++ b/main.py @@ -5,6 +5,9 @@ from fastapi import FastAPI,Depends, Header, HTTPException, status import psycopg2 from jwt import ExpiredSignatureError, InvalidTokenError import jwt +from pydantic import BaseModel + + load_dotenv() app = FastAPI() @@ -12,6 +15,14 @@ SECRET_KEY = os.getenv("SECRET_KEY") ALGORITHM = os.getenv("ALGORITHM", "HS256") +class NodeStatusRequest(BaseModel): + node_name: str + host: str + port: int + dbname: str + user: str + password: str + def verify_token( @@ -92,28 +103,35 @@ if __name__ == "__main__": -DB_CONFIG = { - "host": "172.16.10.178", - "port": 5444, - "dbname": "postgres", - "user": "postgres", - "password": "postgres", - "connect_timeout": 3, -} - -NODE_NAME = "node3" +#{ +# "host": "172.16.10.178", +# "node_name = "node3", +# "port": 5444, +# "dbname": "postgres", +# "user": "postgres", +# "password": "postgres", +# "connect_timeout": 3, +# } @app.get("/node/status") -def node_status(token_data=Depends(verify_token)): +def node_status(data: NodeStatusRequest,token_data=Depends(verify_token)): try: - conn = psycopg2.connect(**DB_CONFIG) + db_config = { + "host": data.host, + "port": data.port, + "dbname": data.dbname, + "user": data.user, + "password": data.password, + "connect_timeout": 3, + } + conn = psycopg2.connect(**db_config) conn.close() return { - "node": NODE_NAME, + "node": data.node_name, "online": True, "status": "online" } @@ -121,7 +139,7 @@ def node_status(token_data=Depends(verify_token)): except Exception as e: return { - "node": NODE_NAME, + "node": data.node_name, "online": False, "status": "offline", "error": str(e)