Skip to content

Commit 62019c6

Browse files
Add qualifiers to service which mey bo only one of a given type.
1 parent 715642a commit 62019c6

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

src/eligibility_signposting_api/repos/factory.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ def boto3_session_factory(
2222
)
2323

2424

25-
@service
25+
@service(qualifier="dynamodb")
2626
def dynamodb_resource_factory(
2727
session: Session, dynamodb_endpoint: Annotated[URL, Inject(param="dynamodb_endpoint")]
2828
) -> ServiceResource:

src/eligibility_signposting_api/repos/person_repo.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
import logging
2-
from typing import Any
2+
from typing import Annotated, Any
33

44
from boto3.resources.base import ServiceResource
5-
from wireup import service
5+
from wireup import Inject, service
66

77
from eligibility_signposting_api.model.person import Name, Person
88
from eligibility_signposting_api.repos.exceptions import NotFoundError
99

1010
logger = logging.getLogger(__name__)
1111

1212

13-
@service
14-
def people_table_factory(dynamodb_resource: ServiceResource) -> Any:
13+
@service(qualifier="people_table")
14+
def people_table_factory(dynamodb_resource: Annotated[ServiceResource, Inject(qualifier="dynamodb")]) -> Any:
1515
table = dynamodb_resource.Table("People") # type: ignore[reportAttributeAccessIssue]
1616
logger.info("built people_table: %r", table)
1717
return table
1818

1919

2020
@service
2121
class PersonRepo:
22-
def __init__(self, people_table: Any) -> None:
22+
def __init__(self, people_table: Annotated[Any, Inject(qualifier="people_table")]) -> None:
2323
super().__init__()
2424
self.people_table = people_table
2525

0 commit comments

Comments
 (0)