Skip to content

Commit b4987e6

Browse files
committed
refactor: TT-352 refactoring of use cases and enpoint to obtain activities
1 parent a2d912c commit b4987e6

File tree

3 files changed

+18
-10
lines changed

3 files changed

+18
-10
lines changed
Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,26 @@
1+
from V2.source.daos.activities_json_dao import ActivitiesJsonDao
2+
from V2.source.services.activity_service import ActivityService
13
from V2.source import use_cases
24
from flask_restplus import Resource
35
from http import HTTPStatus
46

7+
JSON_PATH = './V2/source/activities_data.json'
8+
59

610
class Activities(Resource):
711
def get(self):
8-
activities = use_cases.GetActivitiesUseCase()
12+
activity_json = ActivitiesJsonDao(JSON_PATH)
13+
activity_service = ActivityService(activity_json)
14+
activities = use_cases.GetActivitiesUseCase(activity_service)
915
return [activity.__dict__ for activity in activities.get_activities()]
1016

1117

1218
class Activity(Resource):
1319
def get(self, activity_id: str):
1420
try:
15-
activity = use_cases.GetActivityUseCase()
21+
activity_json = ActivitiesJsonDao(JSON_PATH)
22+
activity_service = ActivityService(activity_json)
23+
activity = use_cases.GetActivityUseCase(activity_service)
1624
return activity.get_activity_by_id(activity_id).__dict__
1725
except AttributeError:
1826
return {'message': 'Activity not found'}, HTTPStatus.NOT_FOUND
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
from V2.source.services.activity_service import ActivityService
2-
from V2.source.daos.activities_json_dao import ActivitiesJsonDao
32
from V2.source.dtos.activity import Activity
43
import typing
54

65

76
class GetActivitiesUseCase:
7+
def __init__(self, activity_service: ActivityService):
8+
self.activity_service = activity_service
9+
810
def get_activities(self) -> typing.List[Activity]:
9-
activity_json = ActivitiesJsonDao('./V2/source/activities_data.json')
10-
activities = ActivityService(activity_json)
11-
return activities.get_all()
11+
return self.activity_service.get_all()
Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
from V2.source.services.activity_service import ActivityService
2-
from V2.source.daos.activities_json_dao import ActivitiesJsonDao
32
from V2.source.dtos.activity import Activity
43

54

65
class GetActivityUseCase:
6+
def __init__(self, activity_service: ActivityService):
7+
self.activity_service = activity_service
8+
79
def get_activity_by_id(self, id: str) -> Activity:
8-
activity_json = ActivitiesJsonDao('./V2/source/activities_data.json')
9-
activity = ActivityService(activity_json)
10-
return activity.get_by_id(id)
10+
return self.activity_service.get_by_id(id)

0 commit comments

Comments
 (0)