|
8 | 8 | from time_tracker_api.database import CRUDDao, APICosmosDBDao |
9 | 9 | from typing import List, Callable |
10 | 10 | from commons.data_access_layer.database import EventContext |
11 | | -from utils.repository import convert_list_to_tuple_string, create_sql_in_condition |
| 11 | +from utils.repository import create_sql_in_condition |
12 | 12 | from time_tracker_api.customers.customers_model import ( |
13 | 13 | create_dao as customers_create_dao, |
14 | 14 | ) |
@@ -66,48 +66,21 @@ def __init__(self): |
66 | 66 | mapper=ProjectCosmosDBModel, |
67 | 67 | ) |
68 | 68 |
|
69 | | - def find_all_with_id_in_list( |
| 69 | + def find_all_v2( |
70 | 70 | self, |
71 | 71 | event_context: EventContext, |
72 | | - ids_list: List[str] = None, |
| 72 | + ids_list: List[str], |
73 | 73 | customers_ids_list: List[str] = None, |
74 | 74 | visible_only=True, |
75 | 75 | mapper: Callable = None, |
76 | 76 | ): |
77 | 77 | query_builder = (CosmosDBQueryBuilder() |
78 | 78 | .add_sql_in_condition("id",ids_list) |
79 | 79 | .add_sql_in_condition("customer_id",customers_ids_list) |
80 | | - .add_sql_visibility_condition(visibility_only) |
| 80 | + .add_sql_visibility_condition(visible_only) |
81 | 81 | .build() |
82 | 82 | ) |
83 | 83 | query_str = query_builder.get_query() |
84 | | - tenant_id_value = self.find_partition_key_value(event_context) |
85 | | - |
86 | | - result = self.container.query_items( |
87 | | - query=query_str, |
88 | | - partition_key=tenant_id_value, |
89 | | - ) |
90 | | - function_mapper = self.get_mapper_or_dict(mapper) |
91 | | - return list(map(function_mapper, result)) |
92 | | - |
93 | | - |
94 | | - def find_all_with_customer_id_in_list( |
95 | | - self, |
96 | | - event_context: EventContext, |
97 | | - customer_ids_list: List[str], |
98 | | - visible_only=True, |
99 | | - mapper: Callable = None, |
100 | | - ): |
101 | | - visibility = self.create_sql_condition_for_visibility(visible_only) |
102 | | - query_str = """ |
103 | | - SELECT * FROM c |
104 | | - WHERE {condition} |
105 | | - {visibility_condition} |
106 | | - """.format( |
107 | | - condition=create_sql_in_condition("customer_id", customer_ids_list), |
108 | | - visibility_condition=visibility, |
109 | | - ) |
110 | | - |
111 | 84 | tenant_id_value = self.find_partition_key_value(event_context) |
112 | 85 | result = self.container.query_items( |
113 | 86 | query=query_str, |
@@ -149,9 +122,9 @@ def get_all(self, conditions: dict = None, **kwargs) -> list: |
149 | 122 | add_customer_name_to_projects(projects, customers) |
150 | 123 | return projects |
151 | 124 |
|
152 | | - def get_all_with_id_in_list(self,id_list,): |
| 125 | + def get_all_with_id_in_list(self,id_list): |
153 | 126 | event_ctx = self.create_event_context("read-many") |
154 | | - return self.repository.find_all_with_id_in_list(event_ctx, id_list) |
| 127 | + return self.repository.find_all_v2(event_ctx, id_list) |
155 | 128 |
|
156 | 129 |
|
157 | 130 |
|
|
0 commit comments