Skip to content

Commit 9eb0e96

Browse files
PabloPablo
authored andcommitted
fix: TT-220 adjustments according sonar suggestions
1 parent 37df429 commit 9eb0e96

File tree

7 files changed

+18
-23
lines changed

7 files changed

+18
-23
lines changed

commons/data_access_layer/cosmos_db.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ def attach_context(data: dict, event_context: EventContext):
208208

209209
@staticmethod
210210
def create_sql_date_range_filter(date_range: dict) -> str:
211-
if 'start_date' and 'end_date' in date_range:
211+
if 'start_date' in date_range and 'end_date' in date_range:
212212
return """
213213
AND ((c.start_date BETWEEN @start_date AND @end_date) OR
214214
(c.end_date BETWEEN @start_date AND @end_date))
@@ -251,9 +251,9 @@ def find_all(
251251
event_context: EventContext,
252252
conditions: dict = None,
253253
date_range: dict = None,
254+
visible_only=True,
254255
max_count=None,
255256
offset=0,
256-
visible_only=True,
257257
mapper: Callable = None,
258258
):
259259
conditions = conditions if conditions else {}

tests/time_tracker_api/projects/projects_model_test.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,10 @@ def test_find_all_projects_new_version(
2929
project_repository.container.query_items = query_items_mock
3030

3131
result = project_repository.find_all(
32-
event_context, {"customer_id": "1"}, ['id'], ['customer_id']
32+
event_context=event_context,
33+
conditions={"customer_id": "1"},
34+
project_ids=['id'],
35+
customer_ids=['customer_id'],
3336
)
3437
find_partition_key_value_mock.assert_called_once()
3538
assert len(result) == 1

time_tracker_api/activities/activities_model.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -89,10 +89,10 @@ def find_all_with_id_in_list(
8989
def find_all(
9090
self,
9191
event_context: EventContext,
92-
conditions: dict = None,
92+
conditions,
9393
activities_id: List = None,
9494
visible_only=True,
95-
max_count=0,
95+
max_count=None,
9696
offset=0,
9797
mapper: Callable = None,
9898
):

time_tracker_api/projects/projects_model.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,14 +71,12 @@ def __init__(self):
7171
def find_all(
7272
self,
7373
event_context: EventContext,
74-
conditions: dict = None,
74+
conditions,
7575
project_ids: List[str] = None,
7676
customer_ids: List[str] = None,
7777
visible_only=True,
7878
mapper: Callable = None,
7979
):
80-
params = self.generate_params(conditions) if conditions else []
81-
8280
query_builder = (
8381
CosmosDBQueryBuilder()
8482
.add_sql_where_equal_condition(conditions)
@@ -89,6 +87,7 @@ def find_all(
8987
)
9088
query_str = query_builder.get_query()
9189
tenant_id_value = self.find_partition_key_value(event_context)
90+
params = query_builder.get_parameters()
9291
result = self.container.query_items(
9392
query=query_str,
9493
parameters=params,
@@ -117,7 +116,6 @@ def get_all(
117116
max_count=kwargs.get('max_count', None)
118117
)
119118

120-
# TODO: evaluate another approach in order that memory filtering will be make in Database instead
121119
customers_id = [
122120
customer.id
123121
for customer in customers

time_tracker_api/time_entries/time_entries_repository.py

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -82,7 +82,6 @@ def count(
8282
date_range = date_range if date_range else {}
8383

8484
date_range_params = self.generate_params(date_range)
85-
partition_key_value = self.find_partition_key_value(event_context)
8685
params = self.generate_params(conditions)
8786
params.extend(date_range_params)
8887

@@ -153,19 +152,7 @@ def find_all(
153152
mapper: Callable = None,
154153
):
155154
max_count = self.get_page_size_or(max_count)
156-
157-
params = [
158-
{"name": "@offset", "value": offset},
159-
{"name": "@limit", "value": max_count},
160-
]
161-
162155
date_range = date_range if date_range else {}
163-
date_range_params = (
164-
self.generate_params(date_range) if date_range else []
165-
)
166-
167-
params.extend(self.generate_params(conditions) if conditions else [])
168-
params.extend(date_range_params)
169156

170157
query_builder = (
171158
CosmosDBQueryBuilder()
@@ -181,6 +168,7 @@ def find_all(
181168
)
182169

183170
query_str = query_builder.get_query()
171+
params = query_builder.get_parameters()
184172
tenant_id_value = self.find_partition_key_value(event_context)
185173
result = self.container.query_items(
186174
query=query_str,

utils/extend_model.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,5 +99,5 @@ def create_custom_query_from_str(
9999
return query_str
100100

101101

102-
def create_list_from_str(data: str, delimiter: str = ",") -> str:
102+
def create_list_from_str(data: str, delimiter: str = ",") -> list:
103103
return [id for id in data.split(delimiter)] if data else []

utils/query_builder.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -109,6 +109,12 @@ def __build_order_by(self):
109109

110110
def __build_date_range(self):
111111
if self.date_range:
112+
self.parameters.append(
113+
{'name': '@start_date', 'value': self.date_range['start_date']}
114+
)
115+
self.parameters.append(
116+
{'name': '@end_date', 'value': self.date_range['end_date']}
117+
)
112118
and_keyword = "AND " if len(self.where_conditions) > 0 else ""
113119
return f"{and_keyword}((c.start_date BETWEEN @start_date AND @end_date) OR (c.end_date BETWEEN @start_date AND @end_date))"
114120
else:

0 commit comments

Comments
 (0)