📝 Add docs recommending Union over Optional and migrate source examples (#4908)

* 📝 Add docs recommending Union over Optional

* 📝 Update docs recommending Union over Optional

* 📝 Update source examples for docs, recommend Union over Optional

* 📝 Update highlighted lines with updated source examples

* 📝 Update highlighted lines in Markdown with recent code changes

* 📝 Update docs, use Union instead of Optional

* ♻️ Update source examples to recommend Union over Optional

* 🎨 Update highlighted code in Markdown after moving from Optional to Union
This commit is contained in:
Sebastián Ramírez
2022-05-14 06:59:59 -05:00
committed by GitHub
parent c5be1b0550
commit ca437cdfab
131 changed files with 489 additions and 426 deletions

View File

@@ -1,5 +1,5 @@
from datetime import datetime, timedelta
from typing import List, Optional
from typing import List, Union
from fastapi import Depends, FastAPI, HTTPException, Security, status
from fastapi.security import (
@@ -42,15 +42,15 @@ class Token(BaseModel):
class TokenData(BaseModel):
username: Optional[str] = None
username: Union[str, None] = None
scopes: List[str] = []
class User(BaseModel):
username: str
email: Optional[str] = None
full_name: Optional[str] = None
disabled: Optional[bool] = None
email: Union[str, None] = None
full_name: Union[str, None] = None
disabled: Union[bool, None] = None
class UserInDB(User):
@@ -90,7 +90,7 @@ def authenticate_user(fake_db, username: str, password: str):
return user
def create_access_token(data: dict, expires_delta: Optional[timedelta] = None):
def create_access_token(data: dict, expires_delta: Union[timedelta, None] = None):
to_encode = data.copy()
if expires_delta:
expire = datetime.utcnow() + expires_delta