feat:
--Added Node Status Check
This commit is contained in:
1 parent
ded28ab88e
commit
8690f1ba27
1 file changed
+32
-14
@@ -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)
|
||||
|
||||
Reference in new issue
Block a user