From 32de354d6d9ca735a633ac1fe323a8bf7e663337 Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 19 Apr 2024 12:40:52 +0200 Subject: [PATCH 1/3] :sparkles: [#4115] Add new source ID and secure GUID Added to support having different IDs for when the form is finished or aborted --- src/openforms/analytics_tools/admin.py | 6 +- .../analytics_tools/api/serializers.py | 6 +- .../contrib/govmetric/cookies.json | 4 +- ...vmetric_secure_guid_form_abort_and_more.py | 144 ++++++++++++++++++ .../migrations/0009_convert_ids_govmetric.py | 76 +++++++++ ...guration_govmetric_secure_guid_and_more.py | 37 +++++ src/openforms/analytics_tools/models.py | 47 ++++-- src/openforms/analytics_tools/translation.py | 14 +- 8 files changed, 316 insertions(+), 18 deletions(-) create mode 100644 src/openforms/analytics_tools/migrations/0008_analyticstoolsconfiguration_govmetric_secure_guid_form_abort_and_more.py create mode 100644 src/openforms/analytics_tools/migrations/0009_convert_ids_govmetric.py create mode 100644 src/openforms/analytics_tools/migrations/0010_remove_analyticstoolsconfiguration_govmetric_secure_guid_and_more.py diff --git a/src/openforms/analytics_tools/admin.py b/src/openforms/analytics_tools/admin.py index 55b1b25408..36e958f391 100644 --- a/src/openforms/analytics_tools/admin.py +++ b/src/openforms/analytics_tools/admin.py @@ -55,8 +55,10 @@ class AnalyticsToolsConfigurationAdmin(TranslationAdmin, SingletonModelAdmin): _("Analytics: GovMetric"), { "fields": ( - "govmetric_source_id", - "govmetric_secure_guid", + "govmetric_source_id_form_finished", + "govmetric_source_id_form_aborted", + "govmetric_secure_guid_form_finished", + "govmetric_secure_guid_form_aborted", "enable_govmetric_analytics", ) }, diff --git a/src/openforms/analytics_tools/api/serializers.py b/src/openforms/analytics_tools/api/serializers.py index e23c364792..c966d6544f 100644 --- a/src/openforms/analytics_tools/api/serializers.py +++ b/src/openforms/analytics_tools/api/serializers.py @@ -7,7 +7,9 @@ class AnalyticsToolsConfigSerializer(serializers.ModelSerializer): class Meta: model = AnalyticsToolsConfiguration fields = ( - "govmetric_source_id", - "govmetric_secure_guid", + "govmetric_source_id_form_finished", + "govmetric_source_id_form_aborted", + "govmetric_secure_guid_form_finished", + "govmetric_secure_guid_form_aborted", "enable_govmetric_analytics", ) diff --git a/src/openforms/analytics_tools/contrib/govmetric/cookies.json b/src/openforms/analytics_tools/contrib/govmetric/cookies.json index cf92e3a3c2..aa44d75388 100644 --- a/src/openforms/analytics_tools/contrib/govmetric/cookies.json +++ b/src/openforms/analytics_tools/contrib/govmetric/cookies.json @@ -1,10 +1,10 @@ [ { - "name": "_pk_id.SOURCE_ID.DOMAIN_HASH", + "name": "_pk_id.SOURCE_ID_FORM_FINISHED.DOMAIN_HASH", "path": "/" }, { - "name": "_pk_ses.SOURCE_ID.DOMAIN_HASH", + "name": "_pk_ses.SOURCE_ID_FORM_FINISHED.DOMAIN_HASH", "path": "/" } ] diff --git a/src/openforms/analytics_tools/migrations/0008_analyticstoolsconfiguration_govmetric_secure_guid_form_abort_and_more.py b/src/openforms/analytics_tools/migrations/0008_analyticstoolsconfiguration_govmetric_secure_guid_form_abort_and_more.py new file mode 100644 index 0000000000..16bb7dcb82 --- /dev/null +++ b/src/openforms/analytics_tools/migrations/0008_analyticstoolsconfiguration_govmetric_secure_guid_form_abort_and_more.py @@ -0,0 +1,144 @@ +# Generated by Django 4.2.11 on 2024-04-12 08:43 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ( + "analytics_tools", + "0007_alter_analyticstoolsconfiguration_analytics_cookie_consent_group", + ), + ] + + operations = [ + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_secure_guid_form_aborted", + field=models.CharField( + blank=True, + help_text="Your GovMetric secure GUID for when a form is aborted - This is an optional value. It is created by KLANTINFOCUS when a list of questions is created. It is a string that is unique per set of questions.", + max_length=50, + verbose_name="GovMetric secure GUID form aborted", + ), + ), + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_secure_guid_form_finished", + field=models.CharField( + blank=True, + help_text="Your GovMetric secure GUID for when a form is finished - This is an optional value. It is created by KLANTINFOCUS when a list of questions is created. It is a string that is unique per set of questions.", + max_length=50, + verbose_name="GovMetric secure GUID form finished", + ), + ), + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_source_id_form_aborted", + field=models.CharField( + blank=True, + help_text="Your GovMetric source ID for when a form is aborted - This is created by KLANTINFOCUS when a list of questions is created. It is a numerical value that is unique per set of questions.", + max_length=10, + verbose_name="GovMetric source ID form aborted", + ), + ), + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_source_id_form_finished", + field=models.CharField( + blank=True, + help_text="Your GovMetric source ID for when a form is finished - This is created by KLANTINFOCUS when a list of questions is created. It is a numerical value that is unique per set of questions.", + max_length=10, + verbose_name="GovMetric source ID form finished", + ), + ), + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_secure_guid_form_aborted_en", + field=models.CharField( + blank=True, + help_text="Your GovMetric secure GUID for when a form is aborted - This is an optional value. It is created by KLANTINFOCUS when a list of questions is created. It is a string that is unique per set of questions.", + max_length=50, + null=True, + verbose_name="GovMetric secure GUID form aborted", + ), + ), + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_secure_guid_form_aborted_nl", + field=models.CharField( + blank=True, + help_text="Your GovMetric secure GUID for when a form is aborted - This is an optional value. It is created by KLANTINFOCUS when a list of questions is created. It is a string that is unique per set of questions.", + max_length=50, + null=True, + verbose_name="GovMetric secure GUID form aborted", + ), + ), + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_secure_guid_form_finished_en", + field=models.CharField( + blank=True, + help_text="Your GovMetric secure GUID for when a form is finished - This is an optional value. It is created by KLANTINFOCUS when a list of questions is created. It is a string that is unique per set of questions.", + max_length=50, + null=True, + verbose_name="GovMetric secure GUID form finished", + ), + ), + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_secure_guid_form_finished_nl", + field=models.CharField( + blank=True, + help_text="Your GovMetric secure GUID for when a form is finished - This is an optional value. It is created by KLANTINFOCUS when a list of questions is created. It is a string that is unique per set of questions.", + max_length=50, + null=True, + verbose_name="GovMetric secure GUID form finished", + ), + ), + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_source_id_form_aborted_en", + field=models.CharField( + blank=True, + help_text="Your GovMetric source ID for when a form is aborted - This is created by KLANTINFOCUS when a list of questions is created. It is a numerical value that is unique per set of questions.", + max_length=10, + null=True, + verbose_name="GovMetric source ID form aborted", + ), + ), + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_source_id_form_aborted_nl", + field=models.CharField( + blank=True, + help_text="Your GovMetric source ID for when a form is aborted - This is created by KLANTINFOCUS when a list of questions is created. It is a numerical value that is unique per set of questions.", + max_length=10, + null=True, + verbose_name="GovMetric source ID form aborted", + ), + ), + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_source_id_form_finished_en", + field=models.CharField( + blank=True, + help_text="Your GovMetric source ID for when a form is finished - This is created by KLANTINFOCUS when a list of questions is created. It is a numerical value that is unique per set of questions.", + max_length=10, + null=True, + verbose_name="GovMetric source ID form finished", + ), + ), + migrations.AddField( + model_name="analyticstoolsconfiguration", + name="govmetric_source_id_form_finished_nl", + field=models.CharField( + blank=True, + help_text="Your GovMetric source ID for when a form is finished - This is created by KLANTINFOCUS when a list of questions is created. It is a numerical value that is unique per set of questions.", + max_length=10, + null=True, + verbose_name="GovMetric source ID form finished", + ), + ), + ] diff --git a/src/openforms/analytics_tools/migrations/0009_convert_ids_govmetric.py b/src/openforms/analytics_tools/migrations/0009_convert_ids_govmetric.py new file mode 100644 index 0000000000..3a5e772edc --- /dev/null +++ b/src/openforms/analytics_tools/migrations/0009_convert_ids_govmetric.py @@ -0,0 +1,76 @@ +# Generated by Django 4.2.11 on 2024-04-12 08:43 + +from django.db import migrations + +from openforms.translations.utils import get_language_codes + + +def add_extra_source_id_govmetric(apps, schema_editor): + AnalyticsToolsConfiguration = apps.get_model( + "analytics_tools", "AnalyticsToolsConfiguration" + ) + + config = AnalyticsToolsConfiguration.objects.first() + if not config: + return + + language_codes = get_language_codes() + + for language_code in language_codes: + if old_id := getattr(config, f"govmetric_source_id_{language_code}"): + setattr(config, f"govmetric_source_id_form_aborted_{language_code}", old_id) + setattr( + config, f"govmetric_source_id_form_finished_{language_code}", old_id + ) + + if old_guid := getattr(config, f"govmetric_secure_guid_{language_code}"): + setattr( + config, f"govmetric_secure_guid_form_aborted_{language_code}", old_guid + ) + setattr( + config, f"govmetric_secure_guid_form_finished_{language_code}", old_guid + ) + + config.save() + + +def remove_extra_source_id_govmetric(apps, schema_editor): + AnalyticsToolsConfiguration = apps.get_model( + "analytics_tools", "AnalyticsToolsConfiguration" + ) + + config = AnalyticsToolsConfiguration.objects.first() + if not config: + return + + language_codes = get_language_codes() + + for language_code in language_codes: + new_id = getattr( + config, f"govmetric_source_id_form_finished_{language_code}" + ) or getattr(config, f"govmetric_source_id_form_aborted_{language_code}") + if new_id: + setattr(config, f"govmetric_source_id_{language_code}", new_id) + + new_guid = getattr( + config, f"govmetric_secure_guid_form_finished_{language_code}" + ) or getattr(config, f"govmetric_secure_guid_form_aborted_{language_code}") + if new_guid: + setattr(config, f"govmetric_secure_guid_{language_code}", new_guid) + + config.save() + + +class Migration(migrations.Migration): + dependencies = [ + ( + "analytics_tools", + "0008_analyticstoolsconfiguration_govmetric_secure_guid_form_abort_and_more", + ), + ] + + operations = [ + migrations.RunPython( + add_extra_source_id_govmetric, remove_extra_source_id_govmetric + ), + ] diff --git a/src/openforms/analytics_tools/migrations/0010_remove_analyticstoolsconfiguration_govmetric_secure_guid_and_more.py b/src/openforms/analytics_tools/migrations/0010_remove_analyticstoolsconfiguration_govmetric_secure_guid_and_more.py new file mode 100644 index 0000000000..aa85241cf3 --- /dev/null +++ b/src/openforms/analytics_tools/migrations/0010_remove_analyticstoolsconfiguration_govmetric_secure_guid_and_more.py @@ -0,0 +1,37 @@ +# Generated by Django 4.2.11 on 2024-04-12 09:04 + +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ("analytics_tools", "0009_convert_ids_govmetric"), + ] + + operations = [ + migrations.RemoveField( + model_name="analyticstoolsconfiguration", + name="govmetric_secure_guid", + ), + migrations.RemoveField( + model_name="analyticstoolsconfiguration", + name="govmetric_secure_guid_en", + ), + migrations.RemoveField( + model_name="analyticstoolsconfiguration", + name="govmetric_secure_guid_nl", + ), + migrations.RemoveField( + model_name="analyticstoolsconfiguration", + name="govmetric_source_id", + ), + migrations.RemoveField( + model_name="analyticstoolsconfiguration", + name="govmetric_source_id_en", + ), + migrations.RemoveField( + model_name="analyticstoolsconfiguration", + name="govmetric_source_id_nl", + ), + ] diff --git a/src/openforms/analytics_tools/models.py b/src/openforms/analytics_tools/models.py index 0db8217dd7..e001b80f65 100644 --- a/src/openforms/analytics_tools/models.py +++ b/src/openforms/analytics_tools/models.py @@ -87,7 +87,10 @@ def has_enabled_toggled( enable_field_name="enable_govmetric_analytics", is_enabled_property="is_govmetric_enabled", replacements=[ - StringReplacement(needle="SOURCE_ID", field_name="govmetric_source_id"), + StringReplacement( + needle="SOURCE_ID_FORM_FINISHED", + field_name="govmetric_source_id_form_finished", + ), StringReplacement(needle="DOMAIN_HASH", callback=get_domain_hash), ], ), @@ -204,22 +207,42 @@ class AnalyticsToolsConfiguration(SingletonModel): default=False, help_text=_("Enabling this installs SiteImprove"), ) - govmetric_source_id = models.CharField( - _("GovMetric source ID"), + govmetric_source_id_form_aborted = models.CharField( + _("GovMetric source ID form aborted"), max_length=10, blank=True, help_text=_( - "Your GovMetric source ID - This is created by KLANTINFOCUS when a list of questions is created. " - "It is a numerical value that is unique per set of questions." + "Your GovMetric source ID for when a form is aborted - This is created by KLANTINFOCUS when a list of " + "questions is created. It is a numerical value that is unique per set of questions." ), ) - govmetric_secure_guid = models.CharField( - _("GovMetric secure GUID"), + govmetric_secure_guid_form_aborted = models.CharField( + _("GovMetric secure GUID form aborted"), blank=True, max_length=50, help_text=_( - "Your GovMetric secure GUID - This is an optional value. It is created by KLANTINFOCUS when a list " - "of questions is created. It is a string that is unique per set of questions." + "Your GovMetric secure GUID for when a form is aborted - This is an optional value. " + "It is created by KLANTINFOCUS when a list of questions is created. " + "It is a string that is unique per set of questions." + ), + ) + govmetric_source_id_form_finished = models.CharField( + _("GovMetric source ID form finished"), + max_length=10, + blank=True, + help_text=_( + "Your GovMetric source ID for when a form is finished - This is created by KLANTINFOCUS when a list of " + "questions is created. It is a numerical value that is unique per set of questions." + ), + ) + govmetric_secure_guid_form_finished = models.CharField( + _("GovMetric secure GUID form finished"), + blank=True, + max_length=50, + help_text=_( + "Your GovMetric secure GUID for when a form is finished - This is an optional value. " + "It is created by KLANTINFOCUS when a list of questions is created. " + "It is a string that is unique per set of questions." ), ) enable_govmetric_analytics = models.BooleanField( @@ -300,7 +323,11 @@ def is_google_analytics_enabled(self) -> bool: @property def is_govmetric_enabled(self) -> bool: - return self.govmetric_source_id and self.enable_govmetric_analytics + return ( + self.govmetric_source_id_form_finished + and self.govmetric_source_id_form_aborted + and self.enable_govmetric_analytics + ) def save(self, *args, **kwargs): # If instance is being created, we can't find original values diff --git a/src/openforms/analytics_tools/translation.py b/src/openforms/analytics_tools/translation.py index a51bec85fb..339b2c83ad 100644 --- a/src/openforms/analytics_tools/translation.py +++ b/src/openforms/analytics_tools/translation.py @@ -5,5 +5,15 @@ @register(AnalyticsToolsConfiguration) class AnalyticsToolsConfigurationTranslationOptions(TranslationOptions): - fields = ("govmetric_source_id", "govmetric_secure_guid") - fallback_undefined = {"govmetric_source_id": "", "govmetric_secure_guid": ""} + fields = ( + "govmetric_source_id_form_aborted", + "govmetric_secure_guid_form_aborted", + "govmetric_source_id_form_finished", + "govmetric_secure_guid_form_finished", + ) + fallback_undefined = { + "govmetric_source_id_form_aborted": "", + "govmetric_secure_guid_form_aborted": "", + "govmetric_source_id_form_finished": "", + "govmetric_secure_guid_form_finished": "", + } From 6a0c8e498ea2000fd795491357e1701a4c7d37fa Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 19 Apr 2024 12:41:18 +0200 Subject: [PATCH 2/3] :white_check_mark: [#4115] Add/update tests --- .../analytics_tools/api/tests/test_views.py | 12 ++- .../analytics_tools/tests/test_govmetric.py | 15 ++-- .../analytics_tools/tests/test_migrations.py | 73 +++++++++++++++++++ 3 files changed, 91 insertions(+), 9 deletions(-) create mode 100644 src/openforms/analytics_tools/tests/test_migrations.py diff --git a/src/openforms/analytics_tools/api/tests/test_views.py b/src/openforms/analytics_tools/api/tests/test_views.py index d6e1c052fc..a93740f4b7 100644 --- a/src/openforms/analytics_tools/api/tests/test_views.py +++ b/src/openforms/analytics_tools/api/tests/test_views.py @@ -13,8 +13,10 @@ class TestAnalyticsToolsConfigViews(APITestCase): def test_get_language_specific_govmetric_source_id(self, m_config): m_config.return_value = AnalyticsToolsConfiguration( enable_govmetric_analytics=True, - govmetric_source_id_en="1234", - govmetric_source_id_nl="4321", + govmetric_source_id_form_finished_en="1111", + govmetric_source_id_form_finished_nl="2222", + govmetric_source_id_form_aborted_en="3333", + govmetric_source_id_form_aborted_nl="4444", ) with override_settings(LANGUAGE_CODE="en"): @@ -30,5 +32,7 @@ def test_get_language_specific_govmetric_source_id(self, m_config): data_en = response_en.json() data_nl = response_nl.json() - self.assertEqual(data_en["govmetricSourceId"], "1234") - self.assertEqual(data_nl["govmetricSourceId"], "4321") + self.assertEqual(data_en["govmetricSourceIdFormFinished"], "1111") + self.assertEqual(data_en["govmetricSourceIdFormAborted"], "3333") + self.assertEqual(data_nl["govmetricSourceIdFormFinished"], "2222") + self.assertEqual(data_nl["govmetricSourceIdFormAborted"], "4444") diff --git a/src/openforms/analytics_tools/tests/test_govmetric.py b/src/openforms/analytics_tools/tests/test_govmetric.py index 6b85592931..fce7b38dcf 100644 --- a/src/openforms/analytics_tools/tests/test_govmetric.py +++ b/src/openforms/analytics_tools/tests/test_govmetric.py @@ -27,7 +27,8 @@ def setUpTestData(cls): ] def test_govmetric_properly_enabled(self): - self.config.govmetric_source_id = "1234" + self.config.govmetric_source_id_form_finished = "1234" + self.config.govmetric_source_id_form_aborted = "1234" self.config.enable_govmetric_analytics = True self.config.clean() self.config.save() @@ -51,7 +52,8 @@ def test_govmetric_properly_enabled(self): self.fail(f"Unexpected exception : {e}") def test_govmetric_properly_disabled(self): - self.config.govmetric_source_id = "1234" + self.config.govmetric_source_id_form_finished = "1234" + self.config.govmetric_source_id_form_aborted = "1234" # creation of cookies self.config.enable_govmetric_analytics = True @@ -79,15 +81,18 @@ def test_govmetric_properly_disabled(self): def test_govmetric_enabled_but_related_fields_are_not(self): self.config.enable_govmetric_analytics = True - self.config.govmetric_source_id = "" + self.config.govmetric_source_id_form_finished = "" + self.config.govmetric_source_id_form_aborted = "" with self.assertRaises(ValidationError): self.config.clean() def test_govmetric_enabled_in_only_one_language_raises_error(self): self.config.enable_govmetric_analytics = True - self.config.govmetric_source_id_en = "1234" - self.config.govmetric_source_id_nl = "" + self.config.govmetric_source_id_form_finished_en = "1234" + self.config.govmetric_source_id_form_finished_nl = "" + self.config.govmetric_source_id_form_aborted_en = "1234" + self.config.govmetric_source_id_form_aborted_nl = "" with self.assertRaises(ValidationError): self.config.clean() diff --git a/src/openforms/analytics_tools/tests/test_migrations.py b/src/openforms/analytics_tools/tests/test_migrations.py new file mode 100644 index 0000000000..80794a39ea --- /dev/null +++ b/src/openforms/analytics_tools/tests/test_migrations.py @@ -0,0 +1,73 @@ +from openforms.utils.tests.test_migrations import TestMigrations + + +class UpdateSourceIDsGovMetricTests(TestMigrations): + app = "analytics_tools" + migrate_from = ( + "0007_alter_analyticstoolsconfiguration_analytics_cookie_consent_group" + ) + migrate_to = ( + "0010_remove_analyticstoolsconfiguration_govmetric_secure_guid_and_more" + ) + + def setUpBeforeMigration(self, apps): + AnalyticsToolsConfiguration = apps.get_model( + "analytics_tools", "AnalyticsToolsConfiguration" + ) + AnalyticsToolsConfiguration.objects.create( + govmetric_source_id_en="1234", + govmetric_source_id_nl="7890", + govmetric_secure_guid_en="4321", + govmetric_secure_guid_nl="0987", + ) + + def test_forward_migration(self): + AnalyticsToolsConfiguration = self.apps.get_model( + "analytics_tools", "AnalyticsToolsConfiguration" + ) + config = AnalyticsToolsConfiguration.objects.get() + + self.assertEqual(config.govmetric_source_id_form_aborted_en, "1234") + self.assertEqual(config.govmetric_source_id_form_aborted_nl, "7890") + self.assertEqual(config.govmetric_source_id_form_finished_en, "1234") + self.assertEqual(config.govmetric_source_id_form_finished_nl, "7890") + + self.assertEqual(config.govmetric_secure_guid_form_aborted_en, "4321") + self.assertEqual(config.govmetric_secure_guid_form_aborted_nl, "0987") + self.assertEqual(config.govmetric_secure_guid_form_finished_en, "4321") + self.assertEqual(config.govmetric_secure_guid_form_finished_nl, "0987") + + +class UndoUpdateSourceIDsGovMetricTests(TestMigrations): + app = "analytics_tools" + migrate_to = "0007_alter_analyticstoolsconfiguration_analytics_cookie_consent_group" + migrate_from = ( + "0010_remove_analyticstoolsconfiguration_govmetric_secure_guid_and_more" + ) + + def setUpBeforeMigration(self, apps): + AnalyticsToolsConfiguration = apps.get_model( + "analytics_tools", "AnalyticsToolsConfiguration" + ) + AnalyticsToolsConfiguration.objects.create( + govmetric_source_id_form_aborted_en="1111", + govmetric_source_id_form_aborted_nl="2222", + govmetric_source_id_form_finished_en="3333", + govmetric_source_id_form_finished_nl="4444", + govmetric_secure_guid_form_aborted_en="5555", + govmetric_secure_guid_form_aborted_nl="6666", + govmetric_secure_guid_form_finished_en="7777", + govmetric_secure_guid_form_finished_nl="8888", + ) + + def test_backward_migration(self): + AnalyticsToolsConfiguration = self.apps.get_model( + "analytics_tools", "AnalyticsToolsConfiguration" + ) + config = AnalyticsToolsConfiguration.objects.get() + + self.assertEqual(config.govmetric_source_id_en, "3333") + self.assertEqual(config.govmetric_source_id_nl, "4444") + + self.assertEqual(config.govmetric_secure_guid_en, "7777") + self.assertEqual(config.govmetric_secure_guid_nl, "8888") From 6c79b50698adf4e5b3abceadd0f3c7cb1933e948 Mon Sep 17 00:00:00 2001 From: SilviaAmAm Date: Fri, 19 Apr 2024 12:41:34 +0200 Subject: [PATCH 3/3] :package: [#4115] Regenerate OAS --- src/openapi.yaml | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/openapi.yaml b/src/openapi.yaml index 31f75ff0ae..c57a5283af 100644 --- a/src/openapi.yaml +++ b/src/openapi.yaml @@ -6570,17 +6570,29 @@ components: AnalyticsToolsConfig: type: object properties: - govmetricSourceId: + govmetricSourceIdFormFinished: type: string - description: Your GovMetric source ID - This is created by KLANTINFOCUS - when a list of questions is created. It is a numerical value that is unique - per set of questions. + description: Your GovMetric source ID for when a form is finished - This + is created by KLANTINFOCUS when a list of questions is created. It is + a numerical value that is unique per set of questions. maxLength: 10 - govmetricSecureGuid: + govmetricSourceIdFormAborted: type: string - description: Your GovMetric secure GUID - This is an optional value. It + description: Your GovMetric source ID for when a form is aborted - This is created by KLANTINFOCUS when a list of questions is created. It is - a string that is unique per set of questions. + a numerical value that is unique per set of questions. + maxLength: 10 + govmetricSecureGuidFormFinished: + type: string + description: Your GovMetric secure GUID for when a form is finished - This + is an optional value. It is created by KLANTINFOCUS when a list of questions + is created. It is a string that is unique per set of questions. + maxLength: 50 + govmetricSecureGuidFormAborted: + type: string + description: Your GovMetric secure GUID for when a form is aborted - This + is an optional value. It is created by KLANTINFOCUS when a list of questions + is created. It is a string that is unique per set of questions. maxLength: 50 enableGovmetricAnalytics: type: boolean