--FastAPI Table added
	--CHECK register_node
This commit is contained in:
george committed 2026-09-08 17:11:20 +05:30
1 parent 85f2b1884b
commit 7a0e8c7cd6
3 files changed
+104 -3

No files matched your search

+25
View File
@@ -0,0 +1,25 @@
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker, declarative_base
DATABASE_URL = "postgresql://postgres:postgres@172.16.10.178:5444/postgres"
engine = create_engine(
DATABASE_URL,
pool_pre_ping=True
)
SessionLocal = sessionmaker(
autocommit=False,
autoflush=False,
bind=engine
)
Base = declarative_base()
def get_db():
db = SessionLocal()
try:
yield db
finally:
db.close()
+38 -3
View File
@@ -7,6 +7,10 @@ import psycopg2
from psycopg2.extras import RealDictCursor
import asyncio
from fastapi.middleware.cors import CORSMiddleware
from database import Base, engine,SessionLocal
# import models
from models import NodeInterface
origins = [
"http://localhost:5173",
"http://127.0.0.1:5173",
@@ -15,6 +19,8 @@ origins = [
app = FastAPI()
Base.metadata.create_all(bind=engine)
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
@@ -213,8 +219,13 @@ def register_node(data: RegisterNodeRequest, token_data: dict = Depends(verify_t
# 5. Show registered nodes
cur.execute("""
SELECT node_id, node_name
FROM spock.node;
SELECT
n.node_id,
n.node_name,
ni.if_id
FROM spock.node n
LEFT JOIN spock.node_interface ni
ON ni.if_nodeid = n.node_id;
""")
rows = cur.fetchall()
@@ -222,10 +233,34 @@ def register_node(data: RegisterNodeRequest, token_data: dict = Depends(verify_t
nodes = [
{
"node_id": row[0],
"node_name": row[1]
"node_name": row[1],
"if_id": row[2]
}
for row in rows
]
registered_node = next(
node for node in nodes
if node["node_id"] == node_id
)
db = SessionLocal()
try:
node_interface = NodeInterface(
if_id=registered_node["if_id"],
if_name=registered_node["node_name"],
if_nodeid=registered_node["node_id"],
host=data.host,
port=data.port,
dbname=data.dbname,
user=data.user
)
db.add(node_interface)
db.commit()
finally:
db.close()
return {
"status": "success",
+41
View File
@@ -0,0 +1,41 @@
from sqlalchemy import Column, BigInteger, Integer, String
from database import Base
class NodeInterface(Base):
__tablename__ = "fastAPI_node_interface"
if_id = Column(
BigInteger,
primary_key=True
)
if_name = Column(
String,
nullable=False
)
if_nodeid = Column(
Integer,
nullable=False
)
host = Column(
String,
nullable=False
)
port = Column(
Integer,
nullable=False
)
dbname = Column(
String,
nullable=False
)
user = Column(
String,
nullable=False
)