Skip to content

Commit 35a3880

Browse files
author
Uttam Singh
committed
Fixed backend with login and user creation
1 parent 545de52 commit 35a3880

File tree

2 files changed

+24
-32
lines changed

2 files changed

+24
-32
lines changed

backend/app/database.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,13 @@
44

55
DATABASE_URL = os.getenv("DATABASE_URL", "sqlite:///./app.db")
66

7-
engine = create_engine(DATABASE_URL, connect_args={"check_same_thread": False} if DATABASE_URL.startswith("sqlite") else {})
7+
engine = create_engine(
8+
DATABASE_URL,
9+
connect_args={"check_same_thread": False} if DATABASE_URL.startswith("sqlite") else {}
10+
)
811
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine)
912
Base = declarative_base()
1013

11-
# Dependency for FastAPI routes
1214
def get_db():
1315
db = SessionLocal()
1416
try:

backend/app/routers/users.py

Lines changed: 20 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,7 @@
66

77
router = APIRouter()
88

9-
# List all users
10-
@router.get("/")
11-
def list_users(db: Session = Depends(get_db)):
12-
return db.query(User).all()
13-
14-
# Create new user
9+
# ✅ Create a new user
1510
@router.post("/")
1611
def create_user(
1712
name: str = Form(...),
@@ -34,36 +29,31 @@ def create_user(
3429
)
3530
db.add(user)
3631
db.commit()
37-
return {"ok": True}
38-
39-
# Delete user
40-
@router.delete("/{user_id}")
41-
def delete_user(user_id: int, db: Session = Depends(get_db)):
42-
user = db.get(User, user_id)
43-
if not user:
44-
raise HTTPException(status_code=404, detail="User not found")
45-
db.delete(user)
46-
db.commit()
47-
return {"ok": True}
32+
return {"ok": True, "message": "User created successfully"}
4833

4934
# ✅ Login route
5035
@router.post("/login")
51-
def login(
36+
def login_user(
5237
email: str = Form(...),
5338
password: str = Form(...),
54-
db: Session = Depends(get_db),
39+
db: Session = Depends(get_db)
5540
):
5641
user = db.query(User).filter(User.email == email).first()
5742
if not user or not bcrypt.verify(password, user.hashed_password):
5843
raise HTTPException(status_code=401, detail="Invalid email or password")
59-
60-
return {
61-
"status": "ok",
62-
"user": {
63-
"id": user.id,
64-
"name": user.name,
65-
"email": user.email,
66-
"role": user.role,
67-
"department": user.department,
68-
}
69-
}
44+
return {"message": "Login successful", "user": {"id": user.id, "name": user.name, "role": user.role}}
45+
46+
# ✅ Get all users
47+
@router.get("/")
48+
def list_users(db: Session = Depends(get_db)):
49+
return db.query(User).all()
50+
51+
# ✅ Delete user
52+
@router.delete("/{user_id}")
53+
def delete_user(user_id: int, db: Session = Depends(get_db)):
54+
user = db.get(User, user_id)
55+
if not user:
56+
raise HTTPException(status_code=404, detail="User not found")
57+
db.delete(user)
58+
db.commit()
59+
return {"ok": True, "message": "User deleted"}

0 commit comments

Comments
 (0)