Browse Source

Add scope logic to Dependant internal class

pull/14262/head
Sebastián Ramírez 9 months ago
parent
commit
f302b2aa84
  1. 10
      fastapi/dependencies/models.py

10
fastapi/dependencies/models.py

@ -3,6 +3,7 @@ from typing import Any, Callable, List, Optional, Sequence, Tuple
from fastapi._compat import ModelField from fastapi._compat import ModelField
from fastapi.security.base import SecurityBase from fastapi.security.base import SecurityBase
from typing_extensions import Literal
@dataclass @dataclass
@ -31,7 +32,12 @@ class Dependant:
security_scopes: Optional[List[str]] = None security_scopes: Optional[List[str]] = None
use_cache: bool = True use_cache: bool = True
path: Optional[str] = None path: Optional[str] = None
cache_key: Tuple[Optional[Callable[..., Any]], Tuple[str, ...]] = field(init=False) scope: Literal["function", "request"] = "request"
cache_key: Tuple[Optional[Callable[..., Any]], Tuple[str, ...], str] = field(init=False)
def __post_init__(self) -> None: def __post_init__(self) -> None:
self.cache_key = (self.call, tuple(sorted(set(self.security_scopes or [])))) self.cache_key = (
self.call,
tuple(sorted(set(self.security_scopes or []))),
self.scope,
)

Loading…
Cancel
Save