Update main.py
Browse files
main.py
CHANGED
@@ -1,14 +1,16 @@
|
|
1 |
-
|
2 |
-
|
3 |
-
from fastapi import FastAPI, Depends, HTTPException
|
4 |
-
from fastapi.requests import Request # Add this import
|
5 |
from fastapi.responses import HTMLResponse
|
6 |
-
import
|
7 |
-
from
|
|
|
|
|
|
|
|
|
8 |
|
9 |
app = FastAPI()
|
10 |
router = APIRouter()
|
11 |
-
|
12 |
|
13 |
# Include the authentication router with the prefix '/auth'
|
14 |
app.include_router(auth.router, prefix="/auth")
|
@@ -21,6 +23,7 @@ def get_current_user(token: str = Depends(verify_token)):
|
|
21 |
if not token:
|
22 |
raise HTTPException(status_code=401, detail="Token not valid")
|
23 |
return token
|
|
|
24 |
@app.get("/login", response_class=HTMLResponse)
|
25 |
async def login(request: Request):
|
26 |
return templates.TemplateResponse("login.html", {"request": request})
|
@@ -34,11 +37,11 @@ async def verify_email(verification_token: str, request: Request):
|
|
34 |
# Perform verification and return an appropriate template
|
35 |
return templates.TemplateResponse("verify.html", {"request": request})
|
36 |
|
37 |
-
|
38 |
@app.get("/protected", response_model=str)
|
39 |
-
async def protected_route(
|
40 |
# Verify the access token
|
41 |
-
user = verify_token(token,
|
42 |
if user is None:
|
43 |
raise HTTPException(status_code=401, detail="Invalid or expired token")
|
44 |
|
|
|
1 |
+
from fastapi import FastAPI, Depends, HTTPException, APIRouter
|
2 |
+
from fastapi.requests import Request
|
|
|
|
|
3 |
from fastapi.responses import HTMLResponse
|
4 |
+
from fastapi.templating import Jinja2Templates
|
5 |
+
from sqlalchemy.orm import Session
|
6 |
+
from auth import verify_token, oauth2_scheme
|
7 |
+
from database import get_db, get_user_by_email
|
8 |
+
import auth
|
9 |
+
import tts
|
10 |
|
11 |
app = FastAPI()
|
12 |
router = APIRouter()
|
13 |
+
templates = Jinja2Templates(directory="templates")
|
14 |
|
15 |
# Include the authentication router with the prefix '/auth'
|
16 |
app.include_router(auth.router, prefix="/auth")
|
|
|
23 |
if not token:
|
24 |
raise HTTPException(status_code=401, detail="Token not valid")
|
25 |
return token
|
26 |
+
|
27 |
@app.get("/login", response_class=HTMLResponse)
|
28 |
async def login(request: Request):
|
29 |
return templates.TemplateResponse("login.html", {"request": request})
|
|
|
37 |
# Perform verification and return an appropriate template
|
38 |
return templates.TemplateResponse("verify.html", {"request": request})
|
39 |
|
40 |
+
# User authentication (protected route)
|
41 |
@app.get("/protected", response_model=str)
|
42 |
+
async def protected_route(request: Request, token: str = Depends(oauth2_scheme), db: Session = Depends(get_db)):
|
43 |
# Verify the access token
|
44 |
+
user = verify_token(token, "your-secret-key", "HS256")
|
45 |
if user is None:
|
46 |
raise HTTPException(status_code=401, detail="Invalid or expired token")
|
47 |
|