Переглянути джерело

Fixes during porting raster-service to pydantic 2 (#28)

Casper van der Wel 1 рік тому
батько
коміт
29734ccd57

+ 0 - 1
clean_python/base/domain/__init__.py

@@ -8,5 +8,4 @@ from .pagination import *  # NOQA
 from .repository import *  # NOQA
 from .root_entity import *  # NOQA
 from .types import *  # NOQA
-from .value import *  # NOQA
 from .value_object import *  # NOQA

+ 3 - 2
clean_python/base/presentation/link.py

@@ -1,11 +1,12 @@
 # (c) Nelen & Schuurmans
 
-from typing import TypedDict
 
 from pydantic import AnyHttpUrl
 
+from ..domain import ValueObject
+
 __all__ = ["Link"]
 
 
-class Link(TypedDict):
+class Link(ValueObject):
     href: AnyHttpUrl

+ 1 - 1
clean_python/celery/celery_rmq_broker.py

@@ -34,7 +34,7 @@ class CeleryRmqBroker(Gateway):
     def __init__(
         self, broker_url: AnyUrl, queue: str, origin: str, declare_queue: bool = False
     ):
-        self._parameters = pika.URLParameters(broker_url)
+        self._parameters = pika.URLParameters(str(broker_url))
         self._queue = queue
         self._origin = origin
         self._declare_queue = declare_queue

+ 2 - 2
clean_python/fastapi/security.py

@@ -60,7 +60,7 @@ class OAuth2SPAClientSchema(OAuth2AuthorizationCodeBearer):
 
     def __init__(self, client: OAuth2SPAClientSettings):
         super().__init__(
-            scheme_name="OAuth2 Authorization Code Flow with PKCE",
+            scheme_name="OAuth2Bearer",
             authorizationUrl=str(client.authorization_url),
             tokenUrl=str(client.token_url),
         )
@@ -76,7 +76,7 @@ class JWTBearerTokenSchema(HTTPBearer):
     """
 
     def __init__(self):
-        super().__init__(scheme_name="JWT Bearer token", bearerFormat="JWT")
+        super().__init__(scheme_name="OAuth2Bearer", bearerFormat="JWT")
 
     async def __call__(self) -> None:
         pass

+ 3 - 2
clean_python/oauth2/token.py

@@ -1,6 +1,6 @@
 from typing import Optional
 
-from pydantic import validator
+from pydantic import field_validator
 
 from clean_python import Json
 from clean_python import Scope
@@ -14,7 +14,8 @@ __all__ = ["Token"]
 class Token(ValueObject):
     claims: Json
 
-    @validator("claims")
+    @field_validator("claims")
+    @classmethod
     def validate_claims(cls, v):
         if not isinstance(v, dict):
             return v