Skip to content

Commit 054798b

Browse files
authored
feat: TT-384 implemented the reading of the storage blob to the endpoint and repository
1 parent a6ee691 commit 054798b

File tree

1 file changed

+22
-2
lines changed

1 file changed

+22
-2
lines changed

time_tracker_api/activities/activities_model.py

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
from commons.data_access_layer.database import EventContext
1313
from utils.enums.status import Status
1414
from utils.query_builder import CosmosDBQueryBuilder
15-
15+
from commons.data_access_layer.file_stream import FileStream
1616

1717
class ActivityDao(CRUDDao):
1818
pass
@@ -113,6 +113,21 @@ def find_all(
113113
function_mapper = self.get_mapper_or_dict(mapper)
114114
return list(map(function_mapper, result))
115115

116+
def find_all_from_blob_storage(
117+
self,
118+
event_context: EventContext,
119+
mapper: Callable = None,
120+
file_name: str = "activity.json",
121+
):
122+
tenant_id_value = self.find_partition_key_value(event_context)
123+
function_mapper = self.get_mapper_or_dict(mapper)
124+
if tenant_id_value is None:
125+
return []
126+
127+
import json
128+
fs = FileStream("storageaccounteystr82c5","tt-common-files")
129+
result = fs.get_file_stream(file_name)
130+
return list(map(function_mapper, json.load(result))) if result is not None else []
116131

117132
class ActivityCosmosDBDao(APICosmosDBDao, ActivityDao):
118133
def __init__(self, repository):
@@ -128,7 +143,7 @@ def get_all_with_id_in_list(
128143
activity_ids,
129144
)
130145

131-
def get_all(
146+
def get_all_old(
132147
self,
133148
conditions: dict = None,
134149
activities_id: List = None,
@@ -147,6 +162,11 @@ def get_all(
147162
)
148163
return activities
149164

165+
def get_all(self, conditions: dict = None) -> list:
166+
event_ctx = self.create_event_context("read-many")
167+
activities = self.repository.find_all_from_blob_storage(event_context=event_ctx)
168+
return activities
169+
150170
def create(self, activity_payload: dict):
151171
event_ctx = self.create_event_context('create')
152172
activity_payload['status'] = Status.ACTIVE.value

0 commit comments

Comments
 (0)