--Added Node Status Check
This commit is contained in:
george committed 2026-09-18 16:27:50 +05:30
1 parent ded28ab88e
commit 8690f1ba27
1 file changed
+32 -14
+32 -14
View File
@@ -5,6 +5,9 @@ from fastapi import FastAPI,Depends, Header, HTTPException, status
import psycopg2 import psycopg2
from jwt import ExpiredSignatureError, InvalidTokenError from jwt import ExpiredSignatureError, InvalidTokenError
import jwt import jwt
from pydantic import BaseModel
load_dotenv() load_dotenv()
app = FastAPI() app = FastAPI()
@@ -12,6 +15,14 @@ SECRET_KEY = os.getenv("SECRET_KEY")
ALGORITHM = os.getenv("ALGORITHM", "HS256") ALGORITHM = os.getenv("ALGORITHM", "HS256")
class NodeStatusRequest(BaseModel):
node_name: str
host: str
port: int
dbname: str
user: str
password: str
def verify_token( def verify_token(
@@ -92,28 +103,35 @@ if __name__ == "__main__":
DB_CONFIG = { #{
"host": "172.16.10.178", # "host": "172.16.10.178",
"port": 5444, # "node_name = "node3",
"dbname": "postgres", # "port": 5444,
"user": "postgres", # "dbname": "postgres",
"password": "postgres", # "user": "postgres",
"connect_timeout": 3, # "password": "postgres",
} # "connect_timeout": 3,
# }
NODE_NAME = "node3"
@app.get("/node/status") @app.get("/node/status")
def node_status(token_data=Depends(verify_token)): def node_status(data: NodeStatusRequest,token_data=Depends(verify_token)):
try: 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() conn.close()
return { return {
"node": NODE_NAME, "node": data.node_name,
"online": True, "online": True,
"status": "online" "status": "online"
} }
@@ -121,7 +139,7 @@ def node_status(token_data=Depends(verify_token)):
except Exception as e: except Exception as e:
return { return {
"node": NODE_NAME, "node": data.node_name,
"online": False, "online": False,
"status": "offline", "status": "offline",
"error": str(e) "error": str(e)