Skip to content

Commit bea88df

Browse files
Merge branch 'develop' into dependabot/pip/develop/pydantic-2.13.4
2 parents fec6395 + 5340af8 commit bea88df

10 files changed

Lines changed: 194 additions & 198 deletions

File tree

aws_lambda_powertools/event_handler/appsync.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,7 @@ def resolver(self, type_name: str = "*", field_name: str | None = None) -> Calla
392392
----------
393393
type_name : str, optional
394394
GraphQL type e.g., Query, Mutation, by default "*" meaning any
395-
field_name : Optional[str], optional
395+
field_name : str | None, optional
396396
GraphQL field e.g., getTodo, createTodo, by default None
397397
398398
Returns
@@ -447,7 +447,7 @@ def batch_resolver(
447447
----------
448448
type_name : str, optional
449449
GraphQL type e.g., Query, Mutation, by default "*" meaning any
450-
field_name : Optional[str], optional
450+
field_name : str | None, optional
451451
GraphQL field e.g., getTodo, createTodo, by default None
452452
raise_on_error : bool, optional
453453
Whether to fail entire batch upon error, or handle errors gracefully (None), by default False

aws_lambda_powertools/event_handler/graphql_appsync/_registry.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ def find_resolver(self, type_name: str, field_name: str) -> dict | None:
6464
Field name
6565
Return
6666
----------
67-
Optional[Dict]
67+
dict | None
6868
A dictionary with the resolver and if raise exception on error
6969
"""
7070
logger.debug(f"Looking for resolver for type={type_name}, field={field_name}.")

aws_lambda_powertools/event_handler/graphql_appsync/base.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,14 @@ def resolver(self, type_name: str = "*", field_name: str | None = None) -> Calla
2525
Examples
2626
--------
2727
```python
28-
from typing import Optional
29-
3028
from aws_lambda_powertools.event_handler import AppSyncResolver
3129
from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
3230
from aws_lambda_powertools.utilities.typing import LambdaContext
3331
3432
app = AppSyncResolver()
3533
3634
@app.resolver(type_name="Query", field_name="getPost")
37-
def related_posts(event: AppSyncResolverEvent) -> Optional[list]:
35+
def related_posts(event: AppSyncResolverEvent) -> list | None:
3836
return {"success": "ok"}
3937
4038
def lambda_handler(event, context: LambdaContext) -> dict:
@@ -76,16 +74,14 @@ def batch_resolver(
7674
Examples
7775
--------
7876
```python
79-
from typing import Optional
80-
8177
from aws_lambda_powertools.event_handler import AppSyncResolver
8278
from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
8379
from aws_lambda_powertools.utilities.typing import LambdaContext
8480
8581
app = AppSyncResolver()
8682
8783
@app.batch_resolver(type_name="Query", field_name="getPost")
88-
def related_posts(event: AppSyncResolverEvent, id) -> Optional[list]:
84+
def related_posts(event: AppSyncResolverEvent, id) -> list | None:
8985
return {"post_id": id}
9086
9187
def lambda_handler(event, context: LambdaContext) -> dict:
@@ -127,16 +123,14 @@ def async_batch_resolver(
127123
Examples
128124
--------
129125
```python
130-
from typing import Optional
131-
132126
from aws_lambda_powertools.event_handler import AppSyncResolver
133127
from aws_lambda_powertools.utilities.data_classes import AppSyncResolverEvent
134128
from aws_lambda_powertools.utilities.typing import LambdaContext
135129
136130
app = AppSyncResolver()
137131
138132
@app.async_batch_resolver(type_name="Query", field_name="getPost")
139-
async def related_posts(event: AppSyncResolverEvent, id) -> Optional[list]:
133+
async def related_posts(event: AppSyncResolverEvent, id) -> list | None:
140134
return {"post_id": id}
141135
142136
def lambda_handler(event, context: LambdaContext) -> dict:

aws_lambda_powertools/event_handler/middlewares/openapi_validation.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -505,11 +505,11 @@ def _is_or_contains_sequence(annotation: Any) -> bool:
505505
506506
This function handles complex type annotations like:
507507
- List[Model] - direct sequence
508-
- Union[Model, List[Model]] - checks if any Union member is a sequence
509-
- Optional[List[Model]] - Union[List[Model], None]
510-
- RootModel[List[Model]] - checks if the RootModel wraps a sequence
511-
- Optional[RootModel[List[Model]]] - Union member that is a RootModel
512-
- RootModel[Union[Model, List[Model]]] - RootModel wrapping a Union with a sequence
508+
- Union[Model, list[Model]] - checks if any Union member is a sequence
509+
- list[Model] | None - Union[list[Model], None]
510+
- RootModel[list[Model]] - checks if the RootModel wraps a sequence
511+
- RootModel[list[Model]] | None - Union member that is a RootModel
512+
- RootModel[Union[Model, list[Model]]] - RootModel wrapping a Union with a sequence
513513
"""
514514
# Direct sequence check
515515
if field_annotation_is_sequence(annotation):

0 commit comments

Comments
 (0)