Fred808 commited on
Commit
03ea6dc
·
verified ·
1 Parent(s): 72aa38d

Upload auth.py

Browse files
Files changed (1) hide show
  1. app/api/v1/endpoints/auth.py +17 -0
app/api/v1/endpoints/auth.py ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from fastapi import APIRouter, Depends, HTTPException
2
+ from app.services.auth_service import authenticate_user, create_access_token, get_current_user
3
+ from app.models.auth import LoginRequest, LoginResponse
4
+
5
+ router = APIRouter()
6
+
7
+ @router.post("/login", response_model=LoginResponse)
8
+ async def login(user_data: LoginRequest):
9
+ user = await authenticate_user(user_data.email, user_data.password)
10
+ if not user:
11
+ raise HTTPException(status_code=401, detail="Invalid credentials")
12
+ access_token = create_access_token(data={"sub": user.email})
13
+ return LoginResponse(access_token=access_token, token_type="bearer", user=user)
14
+
15
+ @router.post("/logout")
16
+ async def logout(current_user = Depends(get_current_user)):
17
+ return {"message": "Successfully logged out"}