Skip to content

Commit a0b9f0d

Browse files
committed
refactor: Rename use case classes and update references for consistency
1 parent 352a48a commit a0b9f0d

16 files changed

Lines changed: 82 additions & 77 deletions

src/modules/create_user/app/create_user_controller.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from src.shared.helpers.external_interfaces.external_interface import IResponse, IRequest
2-
from .create_user_usecase import CreateUserUsecase
2+
from .create_user_usecase import CreateUserUseCase
33
from .create_user_viewmodel import CreateUserViewmodel
44
from src.shared.helpers.errors.controller_errors import MissingParameters, WrongTypeParameter
55
from src.shared.helpers.errors.domain_errors import EntityError
@@ -9,8 +9,8 @@
99

1010
class CreateUserController:
1111

12-
def __init__(self, usecase: CreateUserUsecase):
13-
self.CreateUserUsecase = usecase
12+
def __init__(self, usecase: CreateUserUseCase):
13+
self.CreateUserUseCase = usecase
1414

1515
def __call__(self, request: IRequest) -> IResponse:
1616
try:
@@ -19,7 +19,7 @@ def __call__(self, request: IRequest) -> IResponse:
1919
if request.data.get('email') is None:
2020
raise MissingParameters('email')
2121

22-
user = self.CreateUserUsecase(
22+
user = self.CreateUserUseCase(
2323
name=request.data.get('name'),
2424
email=request.data.get('email')
2525
)

src/modules/create_user/app/create_user_presenter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from .create_user_controller import CreateUserController
2-
from .create_user_usecase import CreateUserUsecase
2+
from .create_user_usecase import CreateUserUseCase
33
from src.shared.environments import Environments
44
from src.shared.helpers.external_interfaces.http_lambda_requests import LambdaHttpRequest, LambdaHttpResponse
55

66
repo = Environments.get_user_repo()()
7-
usecase = CreateUserUsecase(repo)
7+
usecase = CreateUserUseCase(repo)
88
controller = CreateUserController(usecase)
99

1010
def lambda_handler(event, context):

src/modules/create_user/app/create_user_usecase.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from src.shared.helpers.errors.domain_errors import EntityError
77

88

9-
class CreateUserUsecase:
9+
class CreateUserUseCase:
1010
def __init__(self, repo: IUserRepository):
1111
self.repo = repo
1212

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from typing import List
2-
from .get_user_subscriptions_usecase import GetUserSubscriptionsUsecase
2+
from .get_subscription_usecase import GetUserSubscriptionsUseCase
33
from src.shared.helpers.errors.controller_errors import MissingParameters, WrongTypeParameter
44
from src.shared.helpers.errors.domain_errors import EntityError
55
from src.shared.helpers.errors.usecase_errors import NoItemsFound
@@ -8,27 +8,35 @@
88

99
class GetUserSubscriptionsController:
1010

11-
def __init__(self, usecase: GetUserSubscriptionsUsecase, observability=None):
12-
self.usecase = usecase
11+
def __init__(self, usecase: GetUserSubscriptionsUseCase):
12+
self.get_subscription_usecase = usecase
1313

1414
def __call__(self, request: IRequest) -> IResponse:
1515
try:
1616
user_id = request.data.get("user_id")
1717
if user_id is None:
1818
raise MissingParameters("user_id")
1919
if not isinstance(user_id, str):
20-
raise WrongTypeParameter("user_id", "str", type(user_id).__name__)
20+
raise WrongTypeParameter(
21+
fieldName="user_id",
22+
fieldTypeExpected="str",
23+
fieldTypeReceived=type(user_id).__name__,
24+
)
2125
if not user_id.strip():
2226
raise EntityError("user_id")
2327

24-
subscriptions = self.usecase(user_id=user_id)
25-
result = [s.to_dict() for s in subscriptions]
28+
subscriptions = self.get_subscription_usecase(user_id=user_id)
29+
result = [subscription.to_dict() for subscription in subscriptions]
2630

2731
return OK(result)
2832

2933
except NoItemsFound as err:
3034
return NotFound(body=err.message)
31-
except (MissingParameters, WrongTypeParameter, EntityError) as err:
35+
except MissingParameters as err:
36+
return BadRequest(body=err.message)
37+
except WrongTypeParameter as err:
38+
return BadRequest(body=err.message)
39+
except EntityError as err:
3240
return BadRequest(body=err.message)
3341
except Exception as err:
3442
return InternalServerError(body=str(err))

src/modules/get_subscription/app/get_subscription_presenter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from .get_subscription_controller import GetSubscriptionController
2-
from .get_subscription_usecase import GetSubscriptionUsecase
2+
from .get_subscription_usecase import GetSubscriptionUseCase
33
from src.shared.environments import Environments
44
from src.shared.helpers.external_interfaces.http_lambda_requests import LambdaHttpRequest, LambdaHttpResponse
55

66
repo = Environments.get_subscription_repo()()
7-
usecase = GetSubscriptionUsecase(repo=repo)
7+
usecase = GetSubscriptionUseCase(repo=repo)
88
controller = GetSubscriptionController(usecase=usecase)
99

1010
def lambda_handler(event, context):

src/modules/get_subscription/app/get_subscription_usecase.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from src.shared.helpers.errors.domain_errors import EntityError
55
from src.shared.helpers.errors.usecase_errors import NoItemsFound
66

7-
class GetUserSubscriptionsUsecase:
7+
class GetUserSubscriptionsUseCase:
88
def __init__(self, repo: ISubscriptionRepository, observability=None):
99
self.repo = repo
1010

@@ -14,5 +14,5 @@ def __call__(self, user_id: str) -> List[Subscription]:
1414

1515
subs = self.repo.get_all_by_user(user_id)
1616
if not subs:
17-
raise NoItemsFound(f"No subscriptions found for user {user_id}")
17+
raise NoItemsFound(f"Nenhuma assinatura encontrada para o usuário {user_id}")
1818
return subs
Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
from .get_transactions_by_user_usecase import GetTransactionsByUserUsecase
1+
from .get_transactions_by_user_usecase import GetTransactionsByUserUseCase
22
from src.shared.helpers.errors.controller_errors import MissingParameters, WrongTypeParameter
33
from src.shared.helpers.errors.domain_errors import EntityError
44
from src.shared.helpers.errors.usecase_errors import NoItemsFound
@@ -7,7 +7,7 @@
77

88
class GetTransactionsByUserController:
99

10-
def __init__(self, usecase: GetTransactionsByUserUsecase, observability=None):
10+
def __init__(self, usecase: GetTransactionsByUserUseCase):
1111
self.usecase = usecase
1212

1313
def __call__(self, request: IRequest) -> IResponse:
@@ -25,24 +25,26 @@ def __call__(self, request: IRequest) -> IResponse:
2525
raise EntityError("user_id")
2626

2727
transactions = self.usecase(user_id=user_id)
28-
29-
result = []
30-
for t in transactions:
31-
result.append({
28+
result = [
29+
{
3230
"id": t.id,
3331
"user_id": t.user_id,
3432
"plan": t.plan.name,
3533
"value": t.value,
3634
"create_date": t.create_date
37-
})
35+
}
36+
for t in transactions
37+
]
3838

3939
return OK(result)
4040

4141
except NoItemsFound as err:
4242
return NotFound(body=err.message)
43-
44-
except (MissingParameters, WrongTypeParameter, EntityError) as err:
43+
except MissingParameters as err:
44+
return BadRequest(body=err.message)
45+
except WrongTypeParameter as err:
46+
return BadRequest(body=err.message)
47+
except EntityError as err:
4548
return BadRequest(body=err.message)
46-
4749
except Exception as err:
48-
return InternalServerError(body=str(err))
50+
return InternalServerError(body=str(err))

src/modules/get_transactions_by_user/app/get_transactions_by_user_presenter.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from .get_transactions_by_user_controller import GetTransactionsByUserController
2-
from .get_transactions_by_user_usecase import GetTransactionsByUserUsecase
2+
from .get_transactions_by_user_usecase import GetTransactionsByUserUseCase
33
from src.shared.environments import Environments
44
from src.shared.helpers.external_interfaces.http_lambda_requests import LambdaHttpRequest, LambdaHttpResponse
55

66
repo = Environments.get_transaction_repo()()
7-
usecase = GetTransactionsByUserUsecase(repo=repo)
7+
usecase = GetTransactionsByUserUseCase(repo=repo)
88
controller = GetTransactionsByUserController(usecase=usecase)
99

1010
def lambda_handler(event, context):

src/modules/get_transactions_by_user/app/get_transactions_by_user_usecase.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from src.shared.helpers.errors.domain_errors import EntityError
66
from src.shared.helpers.errors.usecase_errors import NoItemsFound
77

8-
class GetTransactionsByUserUsecase:
8+
class GetTransactionsByUserUseCase:
99
def __init__(self, repo: ITransactionRepository, observability=None):
1010
self.repo = repo
1111

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
from uuid import UUID
1+
from typing import List
22
from src.shared.domain.entities.subscription import Subscription
33
from src.shared.domain.enums.plan_enum import PLAN
44
from src.shared.domain.repositories.subscription_repository_interface import ISubscriptionRepository
55
from src.shared.helpers.errors.domain_errors import EntityError
66

7-
class UpdateSubscriptionUsecase:
7+
class UpdateSubscriptionUseCase:
88
def __init__(self, repo: ISubscriptionRepository):
99
self.repo = repo
1010

11-
def __call__(self, subscription_id: str, new_plan: PLAN) -> Subscription:
12-
if not Subscription.validate_id(subscription_id):
13-
raise EntityError("subscription_id")
11+
def __call__(self, user_id: str, new_plan: PLAN) -> Subscription:
12+
if not isinstance(user_id, str) or not user_id.strip():
13+
raise EntityError("user_id")
1414

1515
if not isinstance(new_plan, PLAN):
1616
raise EntityError("new_plan")
1717

1818
updated_subscription = self.repo.update_subscription(
19-
subscription_id=subscription_id,
19+
subscription_id=user_id,
2020
new_plan=new_plan
2121
)
2222
return updated_subscription

0 commit comments

Comments
 (0)