From 419432d33f0d4963636307ec53c6a2bc5511259d Mon Sep 17 00:00:00 2001 From: dovstern <40207493+dovstern@users.noreply.github.com> Date: Tue, 5 Nov 2024 23:55:47 +0200 Subject: [PATCH 1/3] Update query_joins.py to handle mirror columns --- monday/query_joins.py | 35 ++++++++++++++++++++++++++++------- 1 file changed, 28 insertions(+), 7 deletions(-) diff --git a/monday/query_joins.py b/monday/query_joins.py index b3c56bb..587c3c4 100644 --- a/monday/query_joins.py +++ b/monday/query_joins.py @@ -8,6 +8,13 @@ # Eventually I will organize this file better but you know what today is not that day. +MIRROR_VALUE_PARAMS = """... on BoardRelationValue { + display_value + } + ... on MirrorValue { + display_value + }""" + # ITEM RESOURCE QUERIES def mutate_item_query(board_id, group_id, item_name, column_values, create_labels_if_missing): # Monday does not allow passing through non-JSON null values here, @@ -58,12 +65,15 @@ def mutate_subitem_query(parent_item_id, subitem_name, column_values, str(create_labels_if_missing).lower()) -def get_item_query(board_id, column_id, value, limit=None, cursor=None): +def get_item_query(board_id, column_id, value, display_mirror_values=False, limit=None, cursor=None): columns = [{"column_id": str(column_id), "column_values": [str(value)]}] if not cursor else None raw_params = locals().items() items_page_params = gather_params(raw_params, excluded_params=["column_id", "value"]) - + if display_mirror_values: + mirror_value_params = MIRROR_VALUE_PARAMS + else: + mirror_value_params = '' query = '''query { items_page_by_column_values (%s) { @@ -83,15 +93,21 @@ def get_item_query(board_id, column_id, value, limit=None, cursor=None): id text value + %s } } } - }''' % items_page_params + }''' % (items_page_params, mirror_value_params) return query -def get_item_by_id_query(ids): +def get_item_by_id_query(ids, display_mirror_values=False): + + if display_mirror_values: + mirror_value_params = MIRROR_VALUE_PARAMS + else: + mirror_value_params = '' query = '''query { items (ids: %s) { @@ -105,9 +121,10 @@ def get_item_by_id_query(ids): id, text, value + %s } } - }''' % ids + }''' % (ids, mirror_value_params) return query @@ -357,11 +374,14 @@ def get_tags_query(tags): # BOARD RESOURCE QUERIES def get_board_items_query(board_id: Union[str, int], query_params: Optional[Mapping[str, Any]] = None, + display_mirror_values: Optional[bool] = False, limit: Optional[int] = None, cursor: Optional[str] = None) -> str: raw_params = locals().items() items_page_params = gather_params(raw_params, excluded_params=["board_id"]) wrapped_params = f"({items_page_params})" if items_page_params else "" - + if display_mirror_values: + mirror_value_params = MIRROR_VALUE_PARAMS + query = '''query{ boards(ids: %s){ name @@ -379,11 +399,12 @@ def get_board_items_query(board_id: Union[str, int], query_params: Optional[Mapp text type value + %s } } } } - }''' % (board_id, wrapped_params) + }''' % (board_id, wrapped_params, mirror_value_params) return query From 3d087abf020feaddc0b407cdeb436ae370a6ae03 Mon Sep 17 00:00:00 2001 From: dovstern <40207493+dovstern@users.noreply.github.com> Date: Tue, 5 Nov 2024 23:58:42 +0200 Subject: [PATCH 2/3] Update boards.py --- monday/resources/boards.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/monday/resources/boards.py b/monday/resources/boards.py index 46b293b..5379edc 100644 --- a/monday/resources/boards.py +++ b/monday/resources/boards.py @@ -18,8 +18,11 @@ def fetch_boards_by_id(self, board_ids: Union[int, str]): return self.client.execute(query) def fetch_items_by_board_id(self, board_ids: Union[int, str], query_params: Optional[Mapping[str, Any]] = None, + display_mirror_values: Optional[bool] = False, limit: Optional[int] = None, cursor: Optional[str] = None): - query = get_board_items_query(board_ids, query_params=query_params, limit=limit, cursor=cursor) + query = get_board_items_query(board_ids, query_params=query_params, + display_mirror_values=display_mirror_values, + limit=limit, cursor=cursor) return self.client.execute(query) def fetch_columns_by_board_id(self, board_ids: Union[int, str]): From 119dbcca7a2454c72deed274aac2a65143ef67a8 Mon Sep 17 00:00:00 2001 From: dovstern <40207493+dovstern@users.noreply.github.com> Date: Wed, 6 Nov 2024 00:01:14 +0200 Subject: [PATCH 3/3] Update __version__.py --- monday/__version__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/monday/__version__.py b/monday/__version__.py index 2c29042..0bb44bc 100644 --- a/monday/__version__.py +++ b/monday/__version__.py @@ -1,3 +1,3 @@ -__version__ = '2.0.1' +__version__ = '2.0.2' __author__ = 'Christina D\'Astolfo' __email__ = 'chdastolfo@gmail.com, lemi@prodperfect.com, pevner@prodperfect.com'