diff --git a/setup.cfg b/setup.cfg index 9a8cabf..c1951ce 100644 --- a/setup.cfg +++ b/setup.cfg @@ -1,6 +1,6 @@ [metadata] name = thoughtspot_rest_api -version = 2.0.2 +version = 2.0.3 description = Library implementing ThoughtSpot REST API V2.0 and V1 long_description = file: README.md long_description_content_type = text/markdown diff --git a/src/thoughtspot_rest_api/_version.py b/src/thoughtspot_rest_api/_version.py index 668c344..e7c12d2 100644 --- a/src/thoughtspot_rest_api/_version.py +++ b/src/thoughtspot_rest_api/_version.py @@ -1 +1 @@ -__version__ = '2.0.2' +__version__ = '2.0.3' diff --git a/src/thoughtspot_rest_api/tsrestapiv2.py b/src/thoughtspot_rest_api/tsrestapiv2.py index 1cafaa2..1788b41 100644 --- a/src/thoughtspot_rest_api/tsrestapiv2.py +++ b/src/thoughtspot_rest_api/tsrestapiv2.py @@ -445,6 +445,14 @@ def system_config_update(self, configuration: Dict): } return self.post_request(endpoint=endpoint, request=request) + def system_preferences_communication_channels_configure(self, request: Dict): + endpoint = 'system/preferences/communication-channels/configure' + return self.post_request(endpoint=endpoint, request=request) + + def system_preferences_communication_channels_search(self, request: Dict): + endpoint = 'system/preferences/communication-channels/search' + return self.post_request(endpoint=endpoint, request=request) + # # /orgs/ endpoints # @@ -787,6 +795,15 @@ def security_metadata_unpublish(self, request: Dict): endpoint = 'security/metadata/unpublish' return self.post_request(endpoint=endpoint, request=request) + def security_column_rules_fetch(self, request: Dict): + endpoint = 'security/column/rules/fetch' + return self.post_request(endpoint=endpoint, request=request) + + def security_column_rules_update(self, request: Dict): + endpoint = 'security/column/rules/update' + return self.post_request(endpoint=endpoint, request=request) + + # # /data/ # @@ -902,6 +919,28 @@ def connection_fetch_connection_diff_status(self, connection_identifier: str): endpoint = 'connections/fetch-connection-diff-status/{}'.format(connection_identifier) return self.post_request(endpoint=endpoint) +# +# Connection Configurations endpoints +# + def connection_configurations_search(self, request: Dict): + endpoint = 'connection-configurations/search' + return self.post_request(endpoint=endpoint, request=request) + + def connection_configurations_create(self, request: Dict): + endpoint = 'connection-configurations/create' + return self.post_request(endpoint=endpoint, request=request) + + def connection_configurations_delete(self, request: Dict): + endpoint = 'connection-configurations/delete' + return self.post_request(endpoint=endpoint, request=request) + + def connection_configurations_update(self, connection_identifier: str, + request: Dict): + endpoint = f'connection-configurations/{connection_identifier}/update' + return self.post_request(endpoint=endpoint, request=request) + + + # # /roles/ endpoints # @@ -944,6 +983,25 @@ def customization_custom_actions_delete(self, custom_action_identifier: str): # /customization/email # + def customization_email_create(self, request: Dict): + endpoint = 'customization/email' + return self.post_request(endpoint=endpoint, request=request) + + def customization_email_delete(self, request: Dict): + endpoint = 'customization/email/delete' + return self.post_request(endpoint=endpoint, request=request) + + def customization_email_search(self, request: Dict): + endpoint = 'customization/email/search' + return self.post_request(endpoint=endpoint, request=request) + + def customization_email_update(self, request: Dict): + endpoint = 'customization/email/update' + return self.post_request(endpoint=endpoint, request=request) + + def customization_email_validate(self, request: Dict): + endpoint = 'customization/email/validate' + return self.post_request(endpoint=endpoint, request=request) # # /schedules/ endpoints # @@ -991,6 +1049,21 @@ def dbt_dbt_connection_update(self, dbt_connection_identifier: str, request: Dic # /ai/ endpoints # + def ai_agent_conversation_create(self, request: Dict): + endpoint = 'ai/agent/conversation/create' + return self.post_request(endpoint=endpoint, request=request) + + def ai_data_source_suggestions_get(self, query: str): + endpoint = 'ai/data-source-suggestions' + request = { + "query": query + } + return self.post_request(endpoint=endpoint, request=request) + + def ai_relevant_questions(self, request: Dict): + endpoint = 'ai/relevant-questions/' + return self.post_request(endpoint=endpoint, request=request) + def ai_conversation_create(self, metadata_identifier: str, tokens: Optional[List[str]] = None): endpoint = 'ai/conversation/create' @@ -1032,6 +1105,15 @@ def ai_analytical_questions(self, request: Dict): endpoint = 'ai/analytical-questions' return self.post_request(endpoint=endpoint, request=request) + def ai_agent_converse(self, conversation_identifier: str, request: Dict): + endpoint = f'ai/agent/{conversation_identifier}/converse' + return self.post_request(endpoint=endpoint, request=request) + + # Marked as BETA in 10.15 + def ai_agent_converse_sse(self, request: Dict): + endpoint = 'ai/agent/converse/sse' + return self.post_request(endpoint=endpoint, request=request) + # # /template/variables endpoints # @@ -1058,3 +1140,47 @@ def template_variables_update_values(self, request: Dict): endpoint = 'template/variables/update-values' return self.post_request(endpoint=endpoint, request=request) +# +# webhooks endpoints +# + + def webhooks_create(self, request: Dict): + endpoint = 'webhooks/create' + return self.post_request(endpoint=endpoint, request=request) + + def webhooks_delete(self, request: Dict): + endpoint = 'webhooks/delete' + return self.post_request(endpoint=endpoint, request=request) + + def webhooks_search(self, request: Dict): + endpoint = 'webhooks/search' + return self.post_request(endpoint=endpoint, request=request) + + def webhooks_update(self, webhook_identifier: str, request: Dict): + endpoint = f'webhooks/{webhook_identifier}/update' + return self.post_request(endpoint=endpoint, request=request) + +# +# custom calendars endpoints +# + def calendars_create(self, request: Dict): + endpoint = 'calendars/create' + return self.post_request(endpoint=endpoint, request=request) + + def calendars_delete(self, calendar_identifier: str): + endpoint = f'calendars/{calendar_identifier}/delete' + return self.post_request(endpoint=endpoint) + + def calendars_generate_csv(self, request: Dict): + endpoint = 'calendars/generate-csv' + return self.post_request(endpoint=endpoint, request=request) + + def calendars_search(self, request: Dict): + endpoint = 'calendars/search' + return self.post_request(endpoint=endpoint, request=request) + + def calendars_update(self, calendar_identifier: str, request: Dict): + endpoint = f'calendars/{calendar_identifier}/update' + return self.post_request(endpoint=endpoint, request=request) + +