Gregniuki commited on
Commit
325f578
·
1 Parent(s): 4811ba6

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +13 -10
main.py CHANGED
@@ -1,14 +1,16 @@
1
- # main.py
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 auth, tts
7
- from auth import verify_token # Import a function for verifying tokens
 
 
 
 
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
- # User authentication (protected route)
38
  @app.get("/protected", response_model=str)
39
- async def protected_route(self,request: Request, token: str = Depends(oauth2_scheme), db: Session = Depends(get_db)):
40
  # Verify the access token
41
- user = verify_token(token, self.SECRET_KEY, self.ALGORITHM)
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