diff --git a/__init__.py b/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/auth/__init__.py b/auth/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/auth/schemas.py b/auth/schemas.py deleted file mode 100644 index e69de29..0000000 diff --git a/auth/services.py b/auth/services.py deleted file mode 100644 index e69de29..0000000 diff --git a/main.py b/main.py index 5059386..b7b224e 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,5 @@ -from .config import app -from .auth.router import router as auth_router +from config import app +from router import router as auth_router app.include_router(auth_router) diff --git a/auth/models.py b/models.py similarity index 97% rename from auth/models.py rename to models.py index 1608fee..57f5d86 100644 --- a/auth/models.py +++ b/models.py @@ -1,6 +1,6 @@ from enum import Enum -from backend.config import SECRET_KEY, ALGORITHM, ACCESS_TOKEN_EXPIRE_MINUTES -from backend.config import pwd_context +from config import SECRET_KEY, ALGORITHM, ACCESS_TOKEN_EXPIRE_MINUTES +from config import pwd_context from datetime import datetime, timedelta, timezone from pydantic import BaseModel from fastapi import Depends, HTTPException @@ -86,7 +86,7 @@ def authenticate_user(fake_db, username: str, password: str) -> UserInDb | bool: return False if not verify_password(password, user["hashed_password"]): return False - + return user def create_access_token( @@ -119,20 +119,20 @@ def get_current_user(token: Annotated[str, Depends(oauth2_scheme)]) -> UserPubli username : str = token_data.username if username is None: raise credentials_exception - + except jwt.PyJWTError: raise credentials_exception - + user = get_user(fake_db, username=username) if user is None: raise credentials_exception - + return user async def get_current_active_user( current_user : Annotated[UserInDb, Depends(get_current_user)] ) -> UserPublic | None: - + if current_user.status == Status.banned: raise HTTPException(status_code=400, detail="Inactive user") return current_user diff --git a/auth/router.py b/router.py similarity index 97% rename from auth/router.py rename to router.py index 39110e2..c2ab211 100644 --- a/auth/router.py +++ b/router.py @@ -2,7 +2,7 @@ from fastapi import APIRouter, Depends, HTTPException, status from .models import UserInDb, User, Role, Token, UserPublic from .models import get_current_active_user, authenticate_user, create_access_token , fake_db, get_current_user from datetime import timedelta, datetime, timezone -from ..config import ACCESS_TOKEN_EXPIRE_MINUTES +from .config import ACCESS_TOKEN_EXPIRE_MINUTES from typing import Annotated, Optional from fastapi.security import OAuth2PasswordRequestForm @@ -35,7 +35,7 @@ async def home(current_user : Annotated[User, Depends(ADMIN)]): async def login_for_access_token( form_data : Annotated[OAuth2PasswordRequestForm, Depends()], ) -> Token: - + user = authenticate_user(fake_db, form_data.username, form_data.password) if not user: raise HTTPException(