From f4d305c30c3b1f8bfbd94b4f5f3fd9e6d938971b Mon Sep 17 00:00:00 2001 From: Yasser Tahiri Date: Mon, 17 Jun 2024 17:43:20 +0100 Subject: [PATCH 1/2] =?UTF-8?q?=F0=9F=94=A7=20Remove=20`no-untyped-def`=20?= =?UTF-8?q?from=20disabled=20error=20codes?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pyproject.toml | 3 --- 1 file changed, 3 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index de170df3..55d8585d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -152,9 +152,6 @@ exclude_lines = [ strict = true warn_return_any = false no_implicit_optional = false -disable_error_code = [ - "no-untyped-def", -] [[tool.mypy.overrides]] module = "authx._internal._callback" From cdbad7ef71bd6fb9ffbf948f8ec816da904bb58c Mon Sep 17 00:00:00 2001 From: Yasser Tahiri Date: Mon, 17 Jun 2024 17:43:55 +0100 Subject: [PATCH 2/2] :bug: fix all missing type annotation --- authx/core.py | 10 +++++----- authx/dependencies.py | 28 +++++++++++++++++----------- authx/main.py | 18 +++++++++--------- 3 files changed, 31 insertions(+), 25 deletions(-) diff --git a/authx/core.py b/authx/core.py index 7e18a0f5..88f2b494 100644 --- a/authx/core.py +++ b/authx/core.py @@ -9,7 +9,7 @@ async def _get_token_from_headers( - request: Request, config: AuthXConfig, refresh: bool = False, **kwargs + request: Request, config: AuthXConfig, refresh: bool = False, **kwargs: Any ) -> RequestToken: """Get access token from headers""" # Get Header @@ -28,7 +28,7 @@ async def _get_token_from_headers( async def _get_token_from_cookies( - request: Request, config: AuthXConfig, refresh: bool = False, **kwargs + request: Request, config: AuthXConfig, refresh: bool = False, **kwargs: Any ) -> RequestToken: """Get access token from cookies @@ -82,7 +82,7 @@ async def _get_token_from_cookies( async def _get_token_from_query( - request: Request, config: AuthXConfig, refresh: bool = False, **kwargs + request: Request, config: AuthXConfig, refresh: bool = False, **kwargs: Any ) -> RequestToken: query_token = request.query_params.get(config.JWT_QUERY_STRING_NAME) if query_token is None: @@ -94,7 +94,7 @@ async def _get_token_from_query( async def _get_token_from_json( - request: Request, config: AuthXConfig, refresh: bool = False, **kwargs + request: Request, config: AuthXConfig, refresh: bool = False, **kwargs: Any ) -> RequestToken: if request.headers.get("content-type") != "application/json": raise MissingTokenError("Invalid content-type. Must be application/json") @@ -132,7 +132,7 @@ async def _get_token_from_request( config: AuthXConfig, refresh: bool = False, locations: Optional[TokenLocations] = None, - **kwargs, + **kwargs: Any, ) -> RequestToken: errors: List[MissingTokenError] = [] diff --git a/authx/dependencies.py b/authx/dependencies.py index d0f8bd8e..3cfe3c14 100644 --- a/authx/dependencies.py +++ b/authx/dependencies.py @@ -20,11 +20,11 @@ def __init__( self._security = _from @property - def request(self): + def request(self) -> Request: return self._request @property - def response(self): + def response(self) -> Response: return self._response def create_access_token( @@ -35,8 +35,8 @@ def create_access_token( expiry: Optional[DateTimeExpression] = None, data: Optional[Dict[str, Any]] = None, audience: Optional[StringOrSequence] = None, - *args, - **kwargs, + *args: Any, + **kwargs: Any, ) -> str: return self._security.create_access_token( uid, fresh, headers, expiry, data, audience, *args, **kwargs @@ -57,26 +57,32 @@ def create_refresh_token( ) def set_access_cookies( - self, token, response: Optional[Response] = None, max_age: Optional[int] = None - ): + self, + token: str, + response: Optional[Response] = None, + max_age: Optional[int] = None, + ) -> None: self._security.set_access_cookies( token=token, response=(response or self._response), max_age=max_age ) def set_refresh_cookies( - self, token, response: Optional[Response] = None, max_age: Optional[int] = None - ): + self, + token: str, + response: Optional[Response] = None, + max_age: Optional[int] = None, + ) -> None: self._security.set_refresh_cookies( token=token, response=(response or self._response), max_age=max_age ) - def unset_access_cookies(self, response: Optional[Response] = None): + def unset_access_cookies(self, response: Optional[Response] = None) -> None: self._security.unset_access_cookies(response=(response or self._response)) - def unset_refresh_cookies(self, response: Optional[Response] = None): + def unset_refresh_cookies(self, response: Optional[Response] = None) -> None: self._security.unset_access_cookies(response=(response or self._response)) - def unset_cookies(self, response: Optional[Response] = None): + def unset_cookies(self, response: Optional[Response] = None) -> None: self._security.unset_cookies(response=(response or self._response)) async def get_current_subject(self) -> Optional[T]: diff --git a/authx/main.py b/authx/main.py index ef805e92..1230f0fa 100644 --- a/authx/main.py +++ b/authx/main.py @@ -85,7 +85,7 @@ def _create_payload( expiry: Optional[DateTimeExpression] = None, data: Optional[Dict[str, Any]] = None, audience: Optional[StringOrSequence] = None, - **kwargs, + **kwargs: Any, ) -> TokenPayload: # Handle additional data if data is None: @@ -128,7 +128,7 @@ def _create_token( expiry: Optional[DateTimeExpression] = None, data: Optional[Dict[str, Any]] = None, audience: Optional[StringOrSequence] = None, - **kwargs, + **kwargs: Any, ) -> str: payload = self._create_payload( uid=uid, @@ -167,8 +167,8 @@ def _set_cookies( type: str, response: Response, max_age: Optional[int] = None, - *args, - **kwargs, + *args: Any, + **kwargs: Any, ) -> None: if type == "access": token_key = self.config.JWT_ACCESS_COOKIE_NAME @@ -394,8 +394,8 @@ def create_access_token( expiry: Optional[DateTimeExpression] = None, data: Optional[Dict[str, Any]] = None, audience: Optional[StringOrSequence] = None, - *args, - **kwargs, + *args: Any, + **kwargs: Any, ) -> str: """Generate an Access Token @@ -427,8 +427,8 @@ def create_refresh_token( expiry: Optional[DateTimeExpression] = None, data: Optional[Dict[str, Any]] = None, audience: Optional[StringOrSequence] = None, - *args, - **kwargs, + *args: Any, + **kwargs: Any, ) -> str: """Generate a Refresh Token @@ -610,7 +610,7 @@ def token_required( Callable[[Request], TokenPayload]: Dependency for Valid token Payload retrieval """ - async def _auth_required(request: Request): + async def _auth_required(request: Request) -> Any: return await self._auth_required( request=request, type=type,