66
77router = 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 ("/" )
1611def 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