Skip to content
Prev Previous commit
refactor: TT-353 Solving requested changes on PR
  • Loading branch information
Andrés Soto committed Oct 4, 2021
commit 48d694559cb7ed8520b28aad5152db5bc9e7faa4
23 changes: 10 additions & 13 deletions V2/source/daos/activities_json_dao.py
Original file line number Diff line number Diff line change
@@ -1,34 +1,31 @@
from V2.source.daos.activities_dao import ActivitiesDao
from V2.source.dtos.activity import Activity
import dataclasses
import json
import typing


class ActivitiesJsonDao(ActivitiesDao):
def __init__(self, json_data_file_path: str):
self.json_data_file_path = json_data_file_path
self.activity_keys = Activity.__dataclass_fields__.keys()
self.activity_keys = [
field.name for field in dataclasses.fields(Activity)
]

def get_by_id(self, activity_id: str) -> Activity:
activities_grouped_by_id = {
activity = {
activity.get('id'): activity
for activity in self.__get_activities_from_file()
}
activity = activities_grouped_by_id.get(activity_id)
activity_dto = (
self.__create_activity_dto(activity) if activity else None
)
}.get(activity_id)

return activity_dto
return self.__create_activity_dto(activity) if activity else None

def get_all(self) -> typing.List[Activity]:
all_activities = self.__get_activities_from_file()
activity_dtos = [
self.__create_activity_dto(activity) for activity in all_activities
return [
self.__create_activity_dto(activity)
for activity in self.__get_activities_from_file()
]

return activity_dtos

def __get_activities_from_file(self) -> typing.List[dict]:
try:
file = open(self.json_data_file_path)
Expand Down