|
|
|
@ -1,5 +1,5 @@ |
|
|
|
from datetime import datetime, timedelta, timezone |
|
|
|
from typing import Annotated, Union |
|
|
|
from typing import Annotated |
|
|
|
|
|
|
|
import jwt |
|
|
|
from fastapi import Depends, FastAPI, HTTPException, Security, status |
|
|
|
@ -43,15 +43,15 @@ class Token(BaseModel): |
|
|
|
|
|
|
|
|
|
|
|
class TokenData(BaseModel): |
|
|
|
username: Union[str, None] = None |
|
|
|
username: str | None = None |
|
|
|
scopes: list[str] = [] |
|
|
|
|
|
|
|
|
|
|
|
class User(BaseModel): |
|
|
|
username: str |
|
|
|
email: Union[str, None] = None |
|
|
|
full_name: Union[str, None] = None |
|
|
|
disabled: Union[bool, None] = None |
|
|
|
email: str | None = None |
|
|
|
full_name: str | None = None |
|
|
|
disabled: bool | None = None |
|
|
|
|
|
|
|
|
|
|
|
class UserInDB(User): |
|
|
|
@ -91,7 +91,7 @@ def authenticate_user(fake_db, username: str, password: str): |
|
|
|
return user |
|
|
|
|
|
|
|
|
|
|
|
def create_access_token(data: dict, expires_delta: Union[timedelta, None] = None): |
|
|
|
def create_access_token(data: dict, expires_delta: timedelta | None = None): |
|
|
|
to_encode = data.copy() |
|
|
|
if expires_delta: |
|
|
|
expire = datetime.now(timezone.utc) + expires_delta |
|
|
|
|