From 3e9424e954e0994eb16c956be117064ca2ff7358 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Tue, 31 Oct 2023 11:34:17 -0400 Subject: [PATCH 01/25] Ada_chatbot start --- data/saas/config/ada_chatbot_config.yml | 84 +++++++++ data/saas/dataset/ada_chatbot_dataset.yml | 175 ++++++++++++++++++ tests/fixtures/saas/ada_chatbot_fixtures.py | 77 ++++++++ .../saas/test_ada_chatbot_task.py | 51 +++++ 4 files changed, 387 insertions(+) create mode 100644 data/saas/config/ada_chatbot_config.yml create mode 100644 data/saas/dataset/ada_chatbot_dataset.yml create mode 100644 tests/fixtures/saas/ada_chatbot_fixtures.py create mode 100644 tests/ops/integration_tests/saas/test_ada_chatbot_task.py diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml new file mode 100644 index 0000000000..e8d4804827 --- /dev/null +++ b/data/saas/config/ada_chatbot_config.yml @@ -0,0 +1,84 @@ +saas_config: + fides_key: + name: Ada Chatbot + type: ada_chatbot + description: A sample schema representing the Ada Chatbot connector for Fides + version: 0.1.0 + + connector_params: + - name: domain + default_value: demo-sandbox-ethyca.ada.support + - name: export_access_token + - name: compliance_access_token + - name: created_since + - name: page + + client_config: + protocol: https + host: + authentication: + strategy: bearer + configuration: + token: + + test_request: + method: GET + path: /data_api/v1.2/conversations + query_params: + - name: created_since + value: + - name: page_size + value: + + endpoints: + - name: conversations + requests: + read: + method: GET + path: /data_api/v1.2/conversations + query_params: + - name: created_since + value: + - name: page_size + value: + data_path: data + postprocessors: + - strategy: filter + configuration: + field: variables.email + value: + identity: email + param_values: + - name: placeholder + identity: email + - name: messages + requests: + read: + method: GET + path: /data_api/v1.2/messages + query_params: + - name: created_since + value: + - name: page_size + value: + - name: conversation_id + value: + data_path: data + postprocessors: + - strategy: filter + configuration: + field: chatter_id + value: 649d4fb2da41d34da975c0d0 + pagination: + strategy: link + configuration: + source: body + path: next_page_uri + param_values: + - name: placeholder + identity: email + - name: conversations__id + references: + - dataset: + field: conversations._id + direction: from diff --git a/data/saas/dataset/ada_chatbot_dataset.yml b/data/saas/dataset/ada_chatbot_dataset.yml new file mode 100644 index 0000000000..3b272ab506 --- /dev/null +++ b/data/saas/dataset/ada_chatbot_dataset.yml @@ -0,0 +1,175 @@ +dataset: + - fides_key: + name: Ada Chatbot Dataset + description: A sample dataset representing the Ada Chatbot connector for Fides + collections: + - name: conversations + fields: + - name: _id + data_categories: [system.operations] + fidesops_meta: + data_type: string + primary_key: True + - name: agent_id + - name: agent_name + - name: browser + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: browser_version + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: chatter_id + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: csat + - name: date_created + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: date_updated + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: device + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: is_engaged + data_categories: [system.operations] + fidesops_meta: + data_type: boolean + - name: is_escalated + data_categories: [system.operations] + fidesops_meta: + data_type: boolean + - name: is_test_user + data_categories: [system.operations] + fidesops_meta: + data_type: boolean + - name: language + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: metavariables + fidesops_meta: + data_type: object + fields: + - name: browser + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: browser_version + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: device + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: initialurl + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: introshown + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: language + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: last_answer_id + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: last_question_asked + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: test_user + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: user_agent + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: oauth_channel + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: platform + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: variables + fidesops_meta: + data_type: object + fields: + - name: email + data_categories: [user.contact.email] + fidesops_meta: + data_type: string + - name: userName + data_categories: [user.name] + fidesops_meta: + data_type: string + - name: messages + fields: + - name: _id + data_categories: [system.operations] + fidesops_meta: + data_type: string + primary_key: True + - name: answer_id + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: answer_title + - name: chatter_id + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: conversation_id + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: date_created + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: link_was_clicked + data_categories: [system.operations] + fidesops_meta: + data_type: boolean + - name: message_data + fidesops_meta: + data_type: object + fields: + - name: _type + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: external_chat_id + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: reviewable_message + data_categories: [system.operations] + fidesops_meta: + data_type: boolean + - name: recipient + data_categories: [system.operations] + fidesops_meta: + data_type: string + - name: review + data_categories: [system.operations] + fidesops_meta: + data_type: integer + - name: sender + data_categories: [system.operations] + fidesops_meta: + data_type: string diff --git a/tests/fixtures/saas/ada_chatbot_fixtures.py b/tests/fixtures/saas/ada_chatbot_fixtures.py new file mode 100644 index 0000000000..dffe22cf20 --- /dev/null +++ b/tests/fixtures/saas/ada_chatbot_fixtures.py @@ -0,0 +1,77 @@ +from typing import Any, Dict, Generator + +import pydash +import pytest + +from tests.ops.integration_tests.saas.connector_runner import ( + ConnectorRunner, + generate_random_email, +) +from tests.ops.test_helpers.vault_client import get_secrets + +secrets = get_secrets("ada_chatbot") + + +@pytest.fixture(scope="session") +def ada_chatbot_secrets(saas_config) -> Dict[str, Any]: + return { + "domain": pydash.get(saas_config, "ada_chatbot.domain") or secrets["domain"], + # add the rest of your secrets here + "data_export_key": pydash.get(saas_config, "ada_chatbot.data_export_key") + or secrets["data_export_key"], + "data_compliance_key": pydash.get( + saas_config, "ada_chatbot.data_compliance_key" + ) + or secrets["data_compliance_key"], + "identity_email": pydash.get(saas_config, "ada_chatbot.identity_email") + or secrets["identity_email"], + } + + +@pytest.fixture(scope="session") +def ada_chatbot_identity_email(saas_config) -> str: + return ( + pydash.get(saas_config, "ada_chatbot.identity_email") + or secrets["identity_email"] + ) + + +@pytest.fixture +def ada_chatbot_erasure_identity_email() -> str: + return generate_random_email() + + +@pytest.fixture +def ada_chatbot_external_references() -> Dict[str, Any]: + return {} + + +@pytest.fixture +def ada_chatbot_erasure_external_references() -> Dict[str, Any]: + return {} + + +@pytest.fixture +def ada_chatbot_erasure_data( + ada_chatbot_erasure_identity_email: str, +) -> Generator: + # create the data needed for erasure tests here + yield {} + + +@pytest.fixture +def ada_chatbot_runner( + db, + cache, + ada_chatbot_secrets, + ada_chatbot_external_references, + ada_chatbot_erasure_external_references, +) -> ConnectorRunner: + return ConnectorRunner( + db, + cache, + "ada_chatbot", + ada_chatbot_secrets, + external_references=ada_chatbot_external_references, + erasure_external_references=ada_chatbot_erasure_external_references, + ) diff --git a/tests/ops/integration_tests/saas/test_ada_chatbot_task.py b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py new file mode 100644 index 0000000000..8c9270919e --- /dev/null +++ b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py @@ -0,0 +1,51 @@ +import pytest + +from fides.api.models.policy import Policy +from tests.ops.integration_tests.saas.connector_runner import ConnectorRunner + + +@pytest.mark.integration_saas +class TestAda_chatbotConnector: + def test_connection(self, ada_chatbot_runner: ConnectorRunner): + ada_chatbot_runner.test_connection() + + async def test_access_request( + self, ada_chatbot_runner: ConnectorRunner, policy, ada_chatbot_identity_email: str + ): + access_results = await ada_chatbot_runner.access_request( + access_policy=policy, identities={"email": ada_chatbot_identity_email} + ) + + async def test_strict_erasure_request( + self, + ada_chatbot_runner: ConnectorRunner, + policy: Policy, + erasure_policy_string_rewrite: Policy, + ada_chatbot_erasure_identity_email: str, + ada_chatbot_erasure_data, + ): + ( + access_results, + erasure_results, + ) = await ada_chatbot_runner.strict_erasure_request( + access_policy=policy, + erasure_policy=erasure_policy_string_rewrite, + identities={"email": ada_chatbot_erasure_identity_email}, + ) + + async def test_non_strict_erasure_request( + self, + ada_chatbot_runner: ConnectorRunner, + policy: Policy, + erasure_policy_string_rewrite: Policy, + ada_chatbot_erasure_identity_email: str, + ada_chatbot_erasure_data, + ): + ( + access_results, + erasure_results, + ) = await ada_chatbot_runner.non_strict_erasure_request( + access_policy=policy, + erasure_policy=erasure_policy_string_rewrite, + identities={"email": ada_chatbot_erasure_identity_email}, + ) \ No newline at end of file From 437cc2329da52556a4caa0eabdb9819c4d28f088 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Tue, 31 Oct 2023 11:57:49 -0400 Subject: [PATCH 02/25] Adding --- data/saas/config/ada_chatbot_config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index e8d4804827..784aa380b9 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -8,10 +8,10 @@ saas_config: connector_params: - name: domain default_value: demo-sandbox-ethyca.ada.support - - name: export_access_token - - name: compliance_access_token - - name: created_since - - name: page + - name: data_export_key + value: + - name: data_compliance_key + value: client_config: protocol: https From 9ae9be83c836ec035cdb2839697f0e28fbad70c0 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Wed, 1 Nov 2023 16:31:38 -0400 Subject: [PATCH 03/25] Adding env var we need for the erasure --- data/saas/config/ada_chatbot_config.yml | 19 +++++-------------- data/saas/icon/ada_chatbot.svg | 16 ++++++++++++++++ src/fides/data/sample_project/fides.toml | 11 ++++++++--- 3 files changed, 29 insertions(+), 17 deletions(-) create mode 100644 data/saas/icon/ada_chatbot.svg diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index 784aa380b9..06384e89e0 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -16,6 +16,11 @@ saas_config: client_config: protocol: https host: + query_params: + - name: created_since + value: + - name: page_size + value: authentication: strategy: bearer configuration: @@ -24,11 +29,6 @@ saas_config: test_request: method: GET path: /data_api/v1.2/conversations - query_params: - - name: created_since - value: - - name: page_size - value: endpoints: - name: conversations @@ -36,11 +36,6 @@ saas_config: read: method: GET path: /data_api/v1.2/conversations - query_params: - - name: created_since - value: - - name: page_size - value: data_path: data postprocessors: - strategy: filter @@ -57,10 +52,6 @@ saas_config: method: GET path: /data_api/v1.2/messages query_params: - - name: created_since - value: - - name: page_size - value: - name: conversation_id value: data_path: data diff --git a/data/saas/icon/ada_chatbot.svg b/data/saas/icon/ada_chatbot.svg new file mode 100644 index 0000000000..f1ab936cbd --- /dev/null +++ b/data/saas/icon/ada_chatbot.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/src/fides/data/sample_project/fides.toml b/src/fides/data/sample_project/fides.toml index 7ba7dd70a8..ed04fb730d 100644 --- a/src/fides/data/sample_project/fides.toml +++ b/src/fides/data/sample_project/fides.toml @@ -14,7 +14,11 @@ db_index = 0 [security] env = "prod" -cors_origins = [ "http://localhost:8080", "http://localhost:3001", "http://localhost:3000" ] +cors_origins = [ + "http://localhost:8080", + "http://localhost:3001", + "http://localhost:3000", +] app_encryption_key = "examplevalidprojectencryptionkey" oauth_root_client_id = "fidesadmin" oauth_root_client_secret = "fidesadminsecret" @@ -23,13 +27,14 @@ root_password = "Testpassword1!" [execution] require_manual_request_approval = true +masking_strict = false [cli] server_host = "fides" server_port = 8080 [credentials] -app_postgres = {connection_string="postgresql+psycopg2://postgres:postgres@fides-db:5432/fides"} +app_postgres = { connection_string = "postgresql+psycopg2://postgres:postgres@fides-db:5432/fides" } [user] analytics_opt_out = false @@ -41,4 +46,4 @@ level = "DEBUG" log_pii = true [consent] -tcf_enabled = false \ No newline at end of file +tcf_enabled = false From 2b20e444e3b42614172cd897af8eeb7b295e9fff Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Fri, 3 Nov 2023 13:07:54 -0400 Subject: [PATCH 04/25] Better config added --- data/saas/config/ada_chatbot_config.yml | 77 ++++++--------------- tests/fixtures/saas/ada_chatbot_fixtures.py | 3 - 2 files changed, 22 insertions(+), 58 deletions(-) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index 06384e89e0..fb0789c997 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -1,75 +1,42 @@ saas_config: fides_key: - name: Ada Chatbot - type: ada_chatbot - description: A sample schema representing the Ada Chatbot connector for Fides + name: Ada Chatbot (MG) SaaS Config + type: ada_chatbot_(mg) + description: A sample schema representing the Ada Chatbot (MG) connector for Fides version: 0.1.0 connector_params: + - name: compliance_access_token - name: domain - default_value: demo-sandbox-ethyca.ada.support - - name: data_export_key - value: - - name: data_compliance_key - value: client_config: protocol: https host: - query_params: - - name: created_since - value: - - name: page_size - value: authentication: strategy: bearer configuration: - token: + token: test_request: - method: GET - path: /data_api/v1.2/conversations + method: POST + path: /api/v1/data-subject-request + body: | + { + "type": "ERASURE", + "email": "supertest@ethyca.com" + } endpoints: - - name: conversations + - name: chatter requests: - read: - method: GET - path: /data_api/v1.2/conversations - data_path: data - postprocessors: - - strategy: filter - configuration: - field: variables.email - value: - identity: email + update: + method: POST + path: /api/v1/data-subject-request + body: | + { + "type": "ERASURE", + "email": "" + } param_values: - - name: placeholder + - name: email identity: email - - name: messages - requests: - read: - method: GET - path: /data_api/v1.2/messages - query_params: - - name: conversation_id - value: - data_path: data - postprocessors: - - strategy: filter - configuration: - field: chatter_id - value: 649d4fb2da41d34da975c0d0 - pagination: - strategy: link - configuration: - source: body - path: next_page_uri - param_values: - - name: placeholder - identity: email - - name: conversations__id - references: - - dataset: - field: conversations._id - direction: from diff --git a/tests/fixtures/saas/ada_chatbot_fixtures.py b/tests/fixtures/saas/ada_chatbot_fixtures.py index dffe22cf20..de14a7d43d 100644 --- a/tests/fixtures/saas/ada_chatbot_fixtures.py +++ b/tests/fixtures/saas/ada_chatbot_fixtures.py @@ -17,11 +17,8 @@ def ada_chatbot_secrets(saas_config) -> Dict[str, Any]: return { "domain": pydash.get(saas_config, "ada_chatbot.domain") or secrets["domain"], # add the rest of your secrets here - "data_export_key": pydash.get(saas_config, "ada_chatbot.data_export_key") - or secrets["data_export_key"], "data_compliance_key": pydash.get( saas_config, "ada_chatbot.data_compliance_key" - ) or secrets["data_compliance_key"], "identity_email": pydash.get(saas_config, "ada_chatbot.identity_email") or secrets["identity_email"], From fdd24323b2b681153820c18454190f4418e97823 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Fri, 3 Nov 2023 13:35:18 -0400 Subject: [PATCH 05/25] Ada - test connection working --- data/saas/config/ada_chatbot_config.yml | 9 +- data/saas/dataset/ada_chatbot_dataset.yml | 172 +------------------- tests/fixtures/saas/ada_chatbot_fixtures.py | 7 +- 3 files changed, 12 insertions(+), 176 deletions(-) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index fb0789c997..17bada6a6c 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -1,8 +1,8 @@ saas_config: fides_key: - name: Ada Chatbot (MG) SaaS Config - type: ada_chatbot_(mg) - description: A sample schema representing the Ada Chatbot (MG) connector for Fides + name: Ada Chatbot + type: ada_chatbot + description: A sample schema representing the Ada Chatbot connector for Fides version: 0.1.0 connector_params: @@ -17,6 +17,9 @@ saas_config: configuration: token: + # In this case, since there is currently no quick easy way to gather up user info. Ada also uses two different API keys so while we could pick + # a different endpoint to test that is a READ, those only use the data export api key. For the erasure though it requires the data compliance api + # key. test_request: method: POST path: /api/v1/data-subject-request diff --git a/data/saas/dataset/ada_chatbot_dataset.yml b/data/saas/dataset/ada_chatbot_dataset.yml index 3b272ab506..4e97734715 100644 --- a/data/saas/dataset/ada_chatbot_dataset.yml +++ b/data/saas/dataset/ada_chatbot_dataset.yml @@ -3,173 +3,5 @@ dataset: name: Ada Chatbot Dataset description: A sample dataset representing the Ada Chatbot connector for Fides collections: - - name: conversations - fields: - - name: _id - data_categories: [system.operations] - fidesops_meta: - data_type: string - primary_key: True - - name: agent_id - - name: agent_name - - name: browser - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: browser_version - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: chatter_id - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: csat - - name: date_created - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: date_updated - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: device - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: is_engaged - data_categories: [system.operations] - fidesops_meta: - data_type: boolean - - name: is_escalated - data_categories: [system.operations] - fidesops_meta: - data_type: boolean - - name: is_test_user - data_categories: [system.operations] - fidesops_meta: - data_type: boolean - - name: language - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: metavariables - fidesops_meta: - data_type: object - fields: - - name: browser - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: browser_version - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: device - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: initialurl - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: introshown - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: language - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: last_answer_id - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: last_question_asked - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: test_user - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: user_agent - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: oauth_channel - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: platform - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: variables - fidesops_meta: - data_type: object - fields: - - name: email - data_categories: [user.contact.email] - fidesops_meta: - data_type: string - - name: userName - data_categories: [user.name] - fidesops_meta: - data_type: string - - name: messages - fields: - - name: _id - data_categories: [system.operations] - fidesops_meta: - data_type: string - primary_key: True - - name: answer_id - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: answer_title - - name: chatter_id - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: conversation_id - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: date_created - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: link_was_clicked - data_categories: [system.operations] - fidesops_meta: - data_type: boolean - - name: message_data - fidesops_meta: - data_type: object - fields: - - name: _type - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: external_chat_id - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: reviewable_message - data_categories: [system.operations] - fidesops_meta: - data_type: boolean - - name: recipient - data_categories: [system.operations] - fidesops_meta: - data_type: string - - name: review - data_categories: [system.operations] - fidesops_meta: - data_type: integer - - name: sender - data_categories: [system.operations] - fidesops_meta: - data_type: string + - name: chatter + fields: [] diff --git a/tests/fixtures/saas/ada_chatbot_fixtures.py b/tests/fixtures/saas/ada_chatbot_fixtures.py index de14a7d43d..a8eba05bf5 100644 --- a/tests/fixtures/saas/ada_chatbot_fixtures.py +++ b/tests/fixtures/saas/ada_chatbot_fixtures.py @@ -17,9 +17,10 @@ def ada_chatbot_secrets(saas_config) -> Dict[str, Any]: return { "domain": pydash.get(saas_config, "ada_chatbot.domain") or secrets["domain"], # add the rest of your secrets here - "data_compliance_key": pydash.get( - saas_config, "ada_chatbot.data_compliance_key" - or secrets["data_compliance_key"], + "compliance_access_token": pydash.get( + saas_config, "ada_chatbot.compliance_access_token" + ) + or secrets["compliance_access_token"], "identity_email": pydash.get(saas_config, "ada_chatbot.identity_email") or secrets["identity_email"], } From 8c45a3f3d27a5c05dc0a85b4eb43e5793fead411 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Fri, 3 Nov 2023 13:41:54 -0400 Subject: [PATCH 06/25] Testing --- data/saas/config/ada_chatbot_config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index 17bada6a6c..21d578dbf2 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -3,6 +3,7 @@ saas_config: name: Ada Chatbot type: ada_chatbot description: A sample schema representing the Ada Chatbot connector for Fides + user_guide: https://docs.ethyca.com/user-guides/integrations/saas-integrations/ada_chatbot version: 0.1.0 connector_params: From 5f176a468f737db7abfa23e4ab77b869d49224e3 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Fri, 3 Nov 2023 14:32:22 -0400 Subject: [PATCH 07/25] More testing --- tests/ops/integration_tests/saas/test_ada_chatbot_task.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/tests/ops/integration_tests/saas/test_ada_chatbot_task.py b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py index 8c9270919e..2d4ddb2b3a 100644 --- a/tests/ops/integration_tests/saas/test_ada_chatbot_task.py +++ b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py @@ -10,7 +10,10 @@ def test_connection(self, ada_chatbot_runner: ConnectorRunner): ada_chatbot_runner.test_connection() async def test_access_request( - self, ada_chatbot_runner: ConnectorRunner, policy, ada_chatbot_identity_email: str + self, + ada_chatbot_runner: ConnectorRunner, + policy, + ada_chatbot_identity_email: str, ): access_results = await ada_chatbot_runner.access_request( access_policy=policy, identities={"email": ada_chatbot_identity_email} @@ -48,4 +51,5 @@ async def test_non_strict_erasure_request( access_policy=policy, erasure_policy=erasure_policy_string_rewrite, identities={"email": ada_chatbot_erasure_identity_email}, - ) \ No newline at end of file + ) + assert erasure_results == {"ada_chatbot_instance:chatter": 1} From b06b815902be80a787bca9203757fe010d1f894f Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Fri, 3 Nov 2023 14:51:41 -0400 Subject: [PATCH 08/25] This change to Delete from Update in the config --- data/saas/config/ada_chatbot_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index 21d578dbf2..ac4ab39c70 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -33,7 +33,7 @@ saas_config: endpoints: - name: chatter requests: - update: + delete: method: POST path: /api/v1/data-subject-request body: | From 08d74c004aa38fe5b1a50360f6a753bb19f390f8 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Fri, 3 Nov 2023 15:07:25 -0400 Subject: [PATCH 09/25] More testing 3 of 4 passing. Failing on Strict --- .fides/fides.toml | 11 ++++++++--- data/saas/config/ada_chatbot_config.yml | 1 + .../integration_tests/saas/test_ada_chatbot_task.py | 1 + 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.fides/fides.toml b/.fides/fides.toml index cc7fe748e0..5e27e0f11e 100644 --- a/.fides/fides.toml +++ b/.fides/fides.toml @@ -7,7 +7,7 @@ db = "fides" test_db = "fides_test" [credentials] -app_postgres = {connection_string="postgresql+psycopg2://postgres:fides@fides-db:5432/fides"} +app_postgres = { connection_string = "postgresql+psycopg2://postgres:fides@fides-db:5432/fides" } [logging] level = "INFO" @@ -33,7 +33,12 @@ ssl = false ssl_cert_reqs = "required" [security] -cors_origins = [ "http://localhost", "http://localhost:8080", "http://localhost:3000", "http://localhost:3001",] +cors_origins = [ + "http://localhost", + "http://localhost:8080", + "http://localhost:3000", + "http://localhost:3001", +] encoding = "UTF-8" root_username = "root_user" root_password = "Testpassword1!" @@ -44,7 +49,7 @@ drp_jwt_secret = "secret" env = "prod" [execution] -masking_strict = true +masking_strict = false require_manual_request_approval = false task_retry_backoff = 1 subject_identity_verification_required = false diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index ac4ab39c70..9ec4beac5e 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -8,6 +8,7 @@ saas_config: connector_params: - name: compliance_access_token + sensitive: True - name: domain client_config: diff --git a/tests/ops/integration_tests/saas/test_ada_chatbot_task.py b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py index 2d4ddb2b3a..a9706da867 100644 --- a/tests/ops/integration_tests/saas/test_ada_chatbot_task.py +++ b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py @@ -35,6 +35,7 @@ async def test_strict_erasure_request( erasure_policy=erasure_policy_string_rewrite, identities={"email": ada_chatbot_erasure_identity_email}, ) + assert erasure_results == {"ada_chatbot_instance:chatter": 1} async def test_non_strict_erasure_request( self, From a9f4aa7cd6efd7aab21fa0b3cfd309eccf4431c6 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Mon, 6 Nov 2023 09:41:59 -0500 Subject: [PATCH 10/25] 3 passing 1 failing (non strict failing) --- data/saas/config/ada_chatbot_config.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index 9ec4beac5e..651ccd955e 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -10,6 +10,7 @@ saas_config: - name: compliance_access_token sensitive: True - name: domain + description: client_config: protocol: https From 0f0ce555db6c9eec4bbe5619cd7cbf82a20b04f5 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Mon, 6 Nov 2023 12:50:38 -0500 Subject: [PATCH 11/25] Polish --- .../saas/test_ada_chatbot_task.py | 19 +------------------ 1 file changed, 1 insertion(+), 18 deletions(-) diff --git a/tests/ops/integration_tests/saas/test_ada_chatbot_task.py b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py index a9706da867..c4a0441986 100644 --- a/tests/ops/integration_tests/saas/test_ada_chatbot_task.py +++ b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py @@ -18,24 +18,7 @@ async def test_access_request( access_results = await ada_chatbot_runner.access_request( access_policy=policy, identities={"email": ada_chatbot_identity_email} ) - - async def test_strict_erasure_request( - self, - ada_chatbot_runner: ConnectorRunner, - policy: Policy, - erasure_policy_string_rewrite: Policy, - ada_chatbot_erasure_identity_email: str, - ada_chatbot_erasure_data, - ): - ( - access_results, - erasure_results, - ) = await ada_chatbot_runner.strict_erasure_request( - access_policy=policy, - erasure_policy=erasure_policy_string_rewrite, - identities={"email": ada_chatbot_erasure_identity_email}, - ) - assert erasure_results == {"ada_chatbot_instance:chatter": 1} + ## assert for email field async def test_non_strict_erasure_request( self, From d363bfb8068c4a36060f9eab34c87e5394b68a0e Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Mon, 6 Nov 2023 13:25:19 -0500 Subject: [PATCH 12/25] Cleanup 1 --- data/saas/config/ada_chatbot_config.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index 651ccd955e..aa0ad53fe0 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -9,8 +9,11 @@ saas_config: connector_params: - name: compliance_access_token sensitive: True + description: + label: - name: domain description: + label: client_config: protocol: https From ae189ea5204361949b1cac9d57b5ad4030b04ae9 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Mon, 6 Nov 2023 14:19:47 -0500 Subject: [PATCH 13/25] Cleaned up labels and definitions --- data/saas/config/ada_chatbot_config.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index aa0ad53fe0..cdb6f402c6 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -9,11 +9,11 @@ saas_config: connector_params: - name: compliance_access_token sensitive: True - description: - label: + description: The Data Compliance API value. This value can be seen by going to the Settings --> Integrations within the Admin GUI (https://developers.ada.cx/reference/authentication) + label: Data Compliance API - name: domain - description: - label: + description: The Domain used for your Ada Chatbot instance. For example, when looking at our instance settings the URL for our instance shows https://demo-sandbox-ethyca.ada.support/ so we would use demo-sandbox-ethyca.ada.support + label: Domain client_config: protocol: https From 196c91bead2678672e131dfd8ef03fb89be8dd15 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Mon, 6 Nov 2023 14:28:16 -0500 Subject: [PATCH 14/25] More cleanup --- data/saas/config/ada_chatbot_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index cdb6f402c6..21106e16f1 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -32,7 +32,7 @@ saas_config: body: | { "type": "ERASURE", - "email": "supertest@ethyca.com" + "email": "checkmycreds@ethyca.com" } endpoints: From 88f23aaf824211938f435a67b5e66019ad96e2f0 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Tue, 7 Nov 2023 12:25:52 -0500 Subject: [PATCH 15/25] Polish --- .../integration_tests/saas/test_ada_chatbot_task.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/tests/ops/integration_tests/saas/test_ada_chatbot_task.py b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py index c4a0441986..e3b9f0c997 100644 --- a/tests/ops/integration_tests/saas/test_ada_chatbot_task.py +++ b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py @@ -9,17 +9,6 @@ class TestAda_chatbotConnector: def test_connection(self, ada_chatbot_runner: ConnectorRunner): ada_chatbot_runner.test_connection() - async def test_access_request( - self, - ada_chatbot_runner: ConnectorRunner, - policy, - ada_chatbot_identity_email: str, - ): - access_results = await ada_chatbot_runner.access_request( - access_policy=policy, identities={"email": ada_chatbot_identity_email} - ) - ## assert for email field - async def test_non_strict_erasure_request( self, ada_chatbot_runner: ConnectorRunner, From 77de6c59072220db099e4c219c1eeeb5ac4bb992 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Tue, 7 Nov 2023 13:32:51 -0500 Subject: [PATCH 16/25] Removed changes made previously --- .fides/fides.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/.fides/fides.toml b/.fides/fides.toml index 5e27e0f11e..8c78078859 100644 --- a/.fides/fides.toml +++ b/.fides/fides.toml @@ -49,7 +49,6 @@ drp_jwt_secret = "secret" env = "prod" [execution] -masking_strict = false require_manual_request_approval = false task_retry_backoff = 1 subject_identity_verification_required = false From d2d3c3c8fed2741e7665b077fbec7741fff4b500 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Tue, 7 Nov 2023 14:46:04 -0500 Subject: [PATCH 17/25] Undoing this change --- src/fides/data/sample_project/fides.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/src/fides/data/sample_project/fides.toml b/src/fides/data/sample_project/fides.toml index ed04fb730d..75af36f545 100644 --- a/src/fides/data/sample_project/fides.toml +++ b/src/fides/data/sample_project/fides.toml @@ -27,7 +27,6 @@ root_password = "Testpassword1!" [execution] require_manual_request_approval = true -masking_strict = false [cli] server_host = "fides" From 25d91c884013eeb825ebc91631649d89ce6a2e79 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Tue, 7 Nov 2023 15:00:12 -0500 Subject: [PATCH 18/25] Added changes to changelog --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b5cc7fd53b..5b53be0f92 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,9 @@ The types of changes are: ## [Unreleased](https://github.com/ethyca/fides/compare/2.23.1...main) +### Added +- Erasure support for Ada Chatbot [#4382](https://github.com/ethyca/fides/pull/4382) + ### Changed - Add filtering and pagination to bulk vendor add table [#4351](https://github.com/ethyca/fides/pull/4351) - Determine if the TCF overlay needs to surface based on backend calculated version hash [#4356](https://github.com/ethyca/fides/pull/4356) From 4f1ca3c9e70ce8f9a0568466c8dbbd940eff808f Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Tue, 7 Nov 2023 15:01:07 -0500 Subject: [PATCH 19/25] Fixed the wording --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5b53be0f92..8a84df45a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,7 +18,7 @@ The types of changes are: ## [Unreleased](https://github.com/ethyca/fides/compare/2.23.1...main) ### Added -- Erasure support for Ada Chatbot [#4382](https://github.com/ethyca/fides/pull/4382) +- Added Ada Chatbot Connector Erasure [#4382](https://github.com/ethyca/fides/pull/4382) ### Changed - Add filtering and pagination to bulk vendor add table [#4351](https://github.com/ethyca/fides/pull/4351) From c7e9382a400654f7f961055545322e835d011a56 Mon Sep 17 00:00:00 2001 From: Adrian Galvan Date: Tue, 7 Nov 2023 20:07:27 -0800 Subject: [PATCH 20/25] Misc cleanup --- CHANGELOG.md | 4 +- src/fides/data/sample_project/fides.toml | 10 ++--- tests/fixtures/saas/ada_chatbot_fixtures.py | 38 +------------------ .../saas/test_ada_chatbot_task.py | 1 - 4 files changed, 6 insertions(+), 47 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3b3cb8a558..9d626c8440 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,9 +24,7 @@ The types of changes are: - Backend System-level Cookie Support [#4383](https://github.com/ethyca/fides/pull/4383) - High Level Tracking of Compass System Sync [#4397](https://github.com/ethyca/fides/pull/4397) - Erasure support for Qualtrics [#4371](https://github.com/ethyca/fides/pull/4371) - -### Added -- Added Ada Chatbot Connector Erasure [#4382](https://github.com/ethyca/fides/pull/4382) +- Erasure support for Ada Chatbot [#4382](https://github.com/ethyca/fides/pull/4382) ### Changed - Add filtering and pagination to bulk vendor add table [#4351](https://github.com/ethyca/fides/pull/4351) diff --git a/src/fides/data/sample_project/fides.toml b/src/fides/data/sample_project/fides.toml index 75af36f545..7ba7dd70a8 100644 --- a/src/fides/data/sample_project/fides.toml +++ b/src/fides/data/sample_project/fides.toml @@ -14,11 +14,7 @@ db_index = 0 [security] env = "prod" -cors_origins = [ - "http://localhost:8080", - "http://localhost:3001", - "http://localhost:3000", -] +cors_origins = [ "http://localhost:8080", "http://localhost:3001", "http://localhost:3000" ] app_encryption_key = "examplevalidprojectencryptionkey" oauth_root_client_id = "fidesadmin" oauth_root_client_secret = "fidesadminsecret" @@ -33,7 +29,7 @@ server_host = "fides" server_port = 8080 [credentials] -app_postgres = { connection_string = "postgresql+psycopg2://postgres:postgres@fides-db:5432/fides" } +app_postgres = {connection_string="postgresql+psycopg2://postgres:postgres@fides-db:5432/fides"} [user] analytics_opt_out = false @@ -45,4 +41,4 @@ level = "DEBUG" log_pii = true [consent] -tcf_enabled = false +tcf_enabled = false \ No newline at end of file diff --git a/tests/fixtures/saas/ada_chatbot_fixtures.py b/tests/fixtures/saas/ada_chatbot_fixtures.py index a8eba05bf5..1b88152536 100644 --- a/tests/fixtures/saas/ada_chatbot_fixtures.py +++ b/tests/fixtures/saas/ada_chatbot_fixtures.py @@ -16,13 +16,10 @@ def ada_chatbot_secrets(saas_config) -> Dict[str, Any]: return { "domain": pydash.get(saas_config, "ada_chatbot.domain") or secrets["domain"], - # add the rest of your secrets here "compliance_access_token": pydash.get( saas_config, "ada_chatbot.compliance_access_token" ) or secrets["compliance_access_token"], - "identity_email": pydash.get(saas_config, "ada_chatbot.identity_email") - or secrets["identity_email"], } @@ -40,36 +37,5 @@ def ada_chatbot_erasure_identity_email() -> str: @pytest.fixture -def ada_chatbot_external_references() -> Dict[str, Any]: - return {} - - -@pytest.fixture -def ada_chatbot_erasure_external_references() -> Dict[str, Any]: - return {} - - -@pytest.fixture -def ada_chatbot_erasure_data( - ada_chatbot_erasure_identity_email: str, -) -> Generator: - # create the data needed for erasure tests here - yield {} - - -@pytest.fixture -def ada_chatbot_runner( - db, - cache, - ada_chatbot_secrets, - ada_chatbot_external_references, - ada_chatbot_erasure_external_references, -) -> ConnectorRunner: - return ConnectorRunner( - db, - cache, - "ada_chatbot", - ada_chatbot_secrets, - external_references=ada_chatbot_external_references, - erasure_external_references=ada_chatbot_erasure_external_references, - ) +def ada_chatbot_runner(db, cache, ada_chatbot_secrets) -> ConnectorRunner: + return ConnectorRunner(db, cache, "ada_chatbot", ada_chatbot_secrets) diff --git a/tests/ops/integration_tests/saas/test_ada_chatbot_task.py b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py index e3b9f0c997..89ec8b7006 100644 --- a/tests/ops/integration_tests/saas/test_ada_chatbot_task.py +++ b/tests/ops/integration_tests/saas/test_ada_chatbot_task.py @@ -15,7 +15,6 @@ async def test_non_strict_erasure_request( policy: Policy, erasure_policy_string_rewrite: Policy, ada_chatbot_erasure_identity_email: str, - ada_chatbot_erasure_data, ): ( access_results, From e60560a63bd1bdb62e03be26d416dc0f5a87c13d Mon Sep 17 00:00:00 2001 From: Adrian Galvan Date: Tue, 7 Nov 2023 20:08:48 -0800 Subject: [PATCH 21/25] Reverting fides.toml changes --- .fides/fides.toml | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/.fides/fides.toml b/.fides/fides.toml index 8c78078859..cc7fe748e0 100644 --- a/.fides/fides.toml +++ b/.fides/fides.toml @@ -7,7 +7,7 @@ db = "fides" test_db = "fides_test" [credentials] -app_postgres = { connection_string = "postgresql+psycopg2://postgres:fides@fides-db:5432/fides" } +app_postgres = {connection_string="postgresql+psycopg2://postgres:fides@fides-db:5432/fides"} [logging] level = "INFO" @@ -33,12 +33,7 @@ ssl = false ssl_cert_reqs = "required" [security] -cors_origins = [ - "http://localhost", - "http://localhost:8080", - "http://localhost:3000", - "http://localhost:3001", -] +cors_origins = [ "http://localhost", "http://localhost:8080", "http://localhost:3000", "http://localhost:3001",] encoding = "UTF-8" root_username = "root_user" root_password = "Testpassword1!" @@ -49,6 +44,7 @@ drp_jwt_secret = "secret" env = "prod" [execution] +masking_strict = true require_manual_request_approval = false task_retry_backoff = 1 subject_identity_verification_required = false From aba7242ced8487fdb15750ad164ca6c15afd1f42 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Wed, 8 Nov 2023 12:18:37 -0500 Subject: [PATCH 22/25] Cleaned up labels --- data/saas/config/ada_chatbot_config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index 21106e16f1..80779ccfb3 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -10,7 +10,7 @@ saas_config: - name: compliance_access_token sensitive: True description: The Data Compliance API value. This value can be seen by going to the Settings --> Integrations within the Admin GUI (https://developers.ada.cx/reference/authentication) - label: Data Compliance API + label: Data Compliance API access token - name: domain description: The Domain used for your Ada Chatbot instance. For example, when looking at our instance settings the URL for our instance shows https://demo-sandbox-ethyca.ada.support/ so we would use demo-sandbox-ethyca.ada.support label: Domain From 163670eb3f120fb8c71c42042e9c2cd6f9cc5580 Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Wed, 8 Nov 2023 12:20:13 -0500 Subject: [PATCH 23/25] Clean up --- data/saas/config/ada_chatbot_config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index 80779ccfb3..ec632841d9 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -9,8 +9,8 @@ saas_config: connector_params: - name: compliance_access_token sensitive: True - description: The Data Compliance API value. This value can be seen by going to the Settings --> Integrations within the Admin GUI (https://developers.ada.cx/reference/authentication) - label: Data Compliance API access token + description: The Data Compliance API access token. This value can be seen by going to the Settings --> Integrations within the Admin GUI (https://developers.ada.cx/reference/authentication) + label: API access token - name: domain description: The Domain used for your Ada Chatbot instance. For example, when looking at our instance settings the URL for our instance shows https://demo-sandbox-ethyca.ada.support/ so we would use demo-sandbox-ethyca.ada.support label: Domain From 04d5f6ec9448927dfca4166ebf0b615d5b9ab9da Mon Sep 17 00:00:00 2001 From: Marc Guimond Date: Wed, 8 Nov 2023 12:22:28 -0500 Subject: [PATCH 24/25] Cleanup --- data/saas/config/ada_chatbot_config.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index ec632841d9..bf4a506966 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -7,13 +7,13 @@ saas_config: version: 0.1.0 connector_params: + - name: domain + description: The Domain used for your Ada Chatbot instance. For example, when looking at our instance settings the URL for our instance shows https://demo-sandbox-ethyca.ada.support/ so we would use demo-sandbox-ethyca.ada.support + label: Domain - name: compliance_access_token sensitive: True description: The Data Compliance API access token. This value can be seen by going to the Settings --> Integrations within the Admin GUI (https://developers.ada.cx/reference/authentication) label: API access token - - name: domain - description: The Domain used for your Ada Chatbot instance. For example, when looking at our instance settings the URL for our instance shows https://demo-sandbox-ethyca.ada.support/ so we would use demo-sandbox-ethyca.ada.support - label: Domain client_config: protocol: https From 45a4f79b303dffd3c5a1e7c403fbf24c2a362922 Mon Sep 17 00:00:00 2001 From: Adrian Galvan Date: Wed, 8 Nov 2023 13:00:07 -0800 Subject: [PATCH 25/25] Fixing descriptions --- data/saas/config/ada_chatbot_config.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/saas/config/ada_chatbot_config.yml b/data/saas/config/ada_chatbot_config.yml index bf4a506966..4a07acbda9 100644 --- a/data/saas/config/ada_chatbot_config.yml +++ b/data/saas/config/ada_chatbot_config.yml @@ -8,11 +8,11 @@ saas_config: connector_params: - name: domain - description: The Domain used for your Ada Chatbot instance. For example, when looking at our instance settings the URL for our instance shows https://demo-sandbox-ethyca.ada.support/ so we would use demo-sandbox-ethyca.ada.support + description: The domain required for your Ada Chatbot setup. For instance, if the settings indicate a URL such as https://demo-sandbox-ethyca.ada.support/, your domain would be demo-sandbox-ethyca.ada.support. label: Domain - name: compliance_access_token sensitive: True - description: The Data Compliance API access token. This value can be seen by going to the Settings --> Integrations within the Admin GUI (https://developers.ada.cx/reference/authentication) + description: The Data Compliance API access token. This value can be seen by going to the Settings -> Integrations within the Admin GUI (https://developers.ada.cx/reference/authentication) label: API access token client_config: