._.
This commit is contained in:
parent
87f69be548
commit
5fb7b84012
@ -18,6 +18,7 @@ ACCESS_TOKEN_EXPIRE_MINUTES = 30
|
|||||||
|
|
||||||
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
|
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
|
||||||
|
|
||||||
|
|
||||||
def create_access_token(data: dict, expires_delta: Optional[timedelta] = None):
|
def create_access_token(data: dict, expires_delta: Optional[timedelta] = None):
|
||||||
to_encode = data.copy()
|
to_encode = data.copy()
|
||||||
if expires_delta:
|
if expires_delta:
|
||||||
@ -27,6 +28,7 @@ def create_access_token(data: dict, expires_delta: Optional[timedelta] = None):
|
|||||||
to_encode.update({"exp": expire})
|
to_encode.update({"exp": expire})
|
||||||
return jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM)
|
return jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM)
|
||||||
|
|
||||||
|
|
||||||
def verify_token(token: str, db: Session = Depends(get_db)):
|
def verify_token(token: str, db: Session = Depends(get_db)):
|
||||||
credentials_exception = HTTPException(
|
credentials_exception = HTTPException(
|
||||||
status_code=401,
|
status_code=401,
|
||||||
@ -46,5 +48,5 @@ def verify_token(token: str, db: Session = Depends(get_db)):
|
|||||||
if user is None:
|
if user is None:
|
||||||
raise credentials_exception
|
raise credentials_exception
|
||||||
return user
|
return user
|
||||||
except jwt.PyJWTError: # Обрабатываем исключения от PyJWT
|
except jwt.PyJWTError:
|
||||||
raise credentials_exception
|
raise credentials_exception
|
||||||
|
|||||||
@ -3,14 +3,16 @@ from typing import List
|
|||||||
from fastapi import APIRouter, HTTPException, Depends
|
from fastapi import APIRouter, HTTPException, Depends
|
||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session
|
||||||
|
|
||||||
|
from app.core.usecases.auth_service import verify_token
|
||||||
from app.infrastructure.database.dependencies import get_db
|
from app.infrastructure.database.dependencies import get_db
|
||||||
from app.core.entities.accessory import AccessoryEntity
|
from app.core.entities.accessory import AccessoryEntity
|
||||||
from app.core.usecases.accessory_service import AccessoriesService
|
from app.core.usecases.accessory_service import AccessoriesService
|
||||||
|
from app.infrastructure.database.models.users import User
|
||||||
|
|
||||||
router = APIRouter()
|
router = APIRouter()
|
||||||
|
|
||||||
@router.get("/accessories", response_model=List[AccessoryEntity])
|
@router.get("/accessories", response_model=List[AccessoryEntity])
|
||||||
def read_accessories(db: Session = Depends(get_db)):
|
def read_accessories(db: Session = Depends(get_db), current_user: User = Depends(verify_token)):
|
||||||
service = AccessoriesService(db)
|
service = AccessoriesService(db)
|
||||||
return service.get_all_accessories()
|
return service.get_all_accessories()
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user