ethyca-fides 2.63.3rc0__py2.py3-none-any.whl → 2.64.1b0__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ethyca_fides-2.63.3rc0.dist-info → ethyca_fides-2.64.1b0.dist-info}/METADATA +2 -2
- {ethyca_fides-2.63.3rc0.dist-info → ethyca_fides-2.64.1b0.dist-info}/RECORD +249 -242
- fides/_version.py +3 -3
- fides/api/alembic/migrations/versions/ba414a58ba90_create_manual_task_config_tables.py +121 -0
- fides/api/api/v1/endpoints/connection_endpoints.py +16 -3
- fides/api/api/v1/endpoints/oauth_endpoints.py +8 -2
- fides/api/db/base.py +4 -0
- fides/api/models/attachment.py +37 -23
- fides/api/models/manual_tasks/__init__.py +6 -0
- fides/api/models/manual_tasks/manual_task.py +11 -1
- fides/api/models/manual_tasks/manual_task_config.py +136 -0
- fides/api/models/manual_tasks/manual_task_log.py +13 -9
- fides/api/schemas/connection_configuration/connection_config.py +19 -4
- fides/api/schemas/manual_tasks/manual_task_config.py +311 -0
- fides/api/schemas/manual_tasks/manual_task_schemas.py +1 -1
- fides/api/schemas/manual_tasks/manual_task_status.py +1 -1
- fides/api/schemas/privacy_request.py +2 -0
- fides/api/service/connectors/query_configs/saas_query_config.py +15 -0
- fides/api/service/privacy_request/attachment_handling.py +132 -0
- fides/api/service/privacy_request/dsr_package/dsr_report_builder.py +264 -46
- fides/api/service/privacy_request/dsr_package/templates/attachments_index.html +33 -0
- fides/api/service/privacy_request/dsr_package/templates/collection_index.html +34 -9
- fides/api/service/privacy_request/dsr_package/templates/main.css +45 -2
- fides/api/service/privacy_request/dsr_package/templates/welcome.html +12 -8
- fides/api/service/privacy_request/request_runner_service.py +258 -139
- fides/api/service/storage/gcs.py +15 -3
- fides/api/service/storage/s3.py +28 -14
- fides/api/service/storage/util.py +45 -7
- fides/api/tasks/csv_utils.py +170 -0
- fides/api/tasks/encryption_utils.py +42 -0
- fides/api/tasks/storage.py +85 -91
- fides/api/util/cache.py +6 -3
- fides/api/util/saas_util.py +1 -0
- fides/config/redis_settings.py +105 -44
- fides/service/manual_tasks/manual_task_config_service.py +370 -0
- fides/service/manual_tasks/manual_task_service.py +231 -87
- fides/service/manual_tasks/utils.py +185 -0
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/chunks/1040-630c7f4284dc6f70.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1100-d43cb04522a6505c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1316-6cc72a45ebf7ff81.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1817-b4688ba5042ec687.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/2430-b480401d44c55416.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/2599-6c4d22e75028d8b6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/2921-aabf41bf3d7573f9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3450-bdaeb35442d810b4.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3505-a79256cd851dfab4.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3513-8677ee280eaef0da.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3855-0dec3e7d9e886550.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3872-ffa16c2df7ef0ab6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3923-5d580fbb1dd6ae01.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/401-fceaae662cfca5a5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4060-71cd041e5a57ca5a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/409-037cfc3f096150f0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4121-78a76e980acbd539.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4230-1cdb7ea1be370ed3.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/431-f72599f01b98f07d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4481-f597a7cf03f8c9e1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5309-4511df9708d5a63c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5574-3cd33b3a6c937899.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6277-3fb4c7fc790a6d20.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6662-cb11881dcaabe5e2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6853-a4097260e402980e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6882-3cc73d407a088d7d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/69-6889d6674c95e7b5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6954-13a25cef3a8fdd76.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/699-8ca44b0de9fa20f0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/7553-a95939c32d54b5b7.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/79-5670e31eb65d0a53.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/796-9a6b13c838e25538.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/8433-adb1fcb29d82f1b7.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9046-fdf53cc7e926a8c1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{905-8ab919e7b274ed50.js → 905-742074a074be1055.js} +2 -2
- fides/ui-build/static/admin/_next/static/chunks/9226-ba6587e46ec7659a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9392.81edc11e3a175275.js → 9392.25024e070026343d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/9676.e60a53f1f5890847.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9767-e49b065d03ce4e80.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9951-f9ab5cac7e2c05ab.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/404-ac2f0844e5c4b4cd.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{_app-f70bffa5a7903c46.js → _app-8ec6e466f3373ac0.js} +10 -10
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-0a5f2310ce6b1059.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/multiple-00cb904825aad7e3.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-587e21d14e0a5196.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/add-vendors-fa7305b88c1afd20.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure-f140ec9d8e8a0f7a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/[id]-0edb7c92518e7d21.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience-d8d926f0735a2546.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/[id]-5c949f2e3cef2398.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/new-130155cfb4a0bcc7.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-1135ad8924d32c36.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/properties-776855e370414beb.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-21c23f75ff1135d9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent-4d5ea70a77df1bb8.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-18e3faf7963962e4.js → [resourceUrn]-c623d6f1a61c8ea9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-030ee304cbe5e530.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-cfac259a30641e68.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-7320524a47104798.js → [resourceUrn]-57bd5cdf784f059f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-7b5aec33da578745.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-c948f93c833d4358.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-333f53caab751428.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-27205f8457a1ecb0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-20a1043f6a06198f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-4c526db0c30c488a.js → [resourceUrn]-06edce289876dea1.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-6f27dbb7c8edc69d.js → detection-faf326a6200637d0.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-562d2b8ae90dd1f0.js → [resourceUrn]-64acf269256ee74f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-fe7f51502eda57c9.js → discovery-8c3e4be6d36da66d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datamap-fb50de22f83edd4a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-41ab27c4195cfa93.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]-6e2caba24b3e78c2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-904d43e31157aa55.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-d4e31a1c4a58800e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset-8f7d16bc5e9229c8.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-4a33dd0371dbaebc.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-e88509346b2d2851.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-8f9b8890018e1ea5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{fides-js-docs-80b241bf6cddb72e.js → fides-js-docs-5d8fd1af75f19e2f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/index-1adb6bcb71701ac2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-fdc2964fa7d1d8fd.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations-adc286ff254e7f41.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/[id]-9b4d1d61c7c97509.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/add-template-f8fd4795e260887c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging-aa744ae8b61e5ff2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-3407158757fb3627.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/AntForm-47e947c02ae90fd0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikAntFormItem-24f9a44512ce8827.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikControlled-e567a69f8c37fb9a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikField-35a33f9c7def2220.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/forms-780e18dde8e38099.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-7a17dffa515e5560.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-91dd0039cc2b70bc.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-b01cbbaac34dadbc.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-a15410de7f1d0f84.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-1a1aa83a3f88844c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-c4e1b69fb5bab61a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/[id]-19737d4f21aadbee.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/add-property-9ccb295110feee20.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/properties-3a1037a2e036212a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-4cdbbb8cd1d8698e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/alpha-965cc21889b25e44.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-0e1c381d488a7ada.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-d0e350d2a2667883.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-7796fbf458f8f159.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-6f866bc799a5f67f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domain-records-0b44b2b224077dcd.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-5d00e1155bd11178.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-d2cdbe770683e9df.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/locations-811dadb489f23d7d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-24108f615ff5e1e7.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/regulations-54f142bc3e4c95ba.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-fef247a87baeb080.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]-6eb886e7b7e6785b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/systems-7b71274334c559a4.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-18534d2a79a3850b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/[id]-75d41fde668b9025.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management-dd43755b687c09a7.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/webpack-0a61b5bd21a41fe6.js +1 -0
- fides/ui-build/static/admin/_next/static/css/c693338e3bc8dcc6.css +1 -0
- fides/ui-build/static/admin/_next/static/nRQ3pmK_d3F5PJE39rP2h/_buildManifest.js +1 -0
- fides/ui-build/static/admin/add-systems/manual.html +1 -1
- fides/ui-build/static/admin/add-systems/multiple.html +1 -1
- fides/ui-build/static/admin/add-systems.html +1 -1
- fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
- fides/ui-build/static/admin/consent/configure.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
- fides/ui-build/static/admin/consent/properties.html +1 -1
- fides/ui-build/static/admin/consent/reporting.html +1 -1
- fides/ui-build/static/admin/consent.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
- fides/ui-build/static/admin/data-catalog.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
- fides/ui-build/static/admin/data-discovery/activity.html +1 -1
- fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/detection.html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
- fides/ui-build/static/admin/datamap.html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
- fides/ui-build/static/admin/dataset/new.html +1 -1
- fides/ui-build/static/admin/dataset.html +1 -1
- fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
- fides/ui-build/static/admin/datastore-connection/new.html +1 -1
- fides/ui-build/static/admin/datastore-connection.html +1 -1
- fides/ui-build/static/admin/images/connector-logos/salesforce.svg +41 -0
- fides/ui-build/static/admin/index.html +1 -1
- fides/ui-build/static/admin/integrations/[id].html +1 -1
- fides/ui-build/static/admin/integrations.html +1 -1
- fides/ui-build/static/admin/lib/fides-ext-gpp.js +1 -1
- fides/ui-build/static/admin/lib/fides-headless.js +1 -1
- fides/ui-build/static/admin/lib/fides-preview.js +1 -1
- fides/ui-build/static/admin/lib/fides-tcf.js +2 -2
- fides/ui-build/static/admin/lib/fides.js +2 -2
- fides/ui-build/static/admin/login/[provider].html +1 -1
- fides/ui-build/static/admin/login.html +1 -1
- fides/ui-build/static/admin/messaging/[id].html +1 -1
- fides/ui-build/static/admin/messaging/add-template.html +1 -1
- fides/ui-build/static/admin/messaging.html +1 -1
- fides/ui-build/static/admin/poc/ant-components.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
- fides/ui-build/static/admin/poc/forms.html +1 -1
- fides/ui-build/static/admin/poc/table-migration.html +1 -1
- fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
- fides/ui-build/static/admin/privacy-requests.html +1 -1
- fides/ui-build/static/admin/properties/[id].html +1 -1
- fides/ui-build/static/admin/properties/add-property.html +1 -1
- fides/ui-build/static/admin/properties.html +1 -1
- fides/ui-build/static/admin/reporting/datamap.html +1 -1
- fides/ui-build/static/admin/settings/about/alpha.html +1 -1
- fides/ui-build/static/admin/settings/about.html +1 -1
- fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
- fides/ui-build/static/admin/settings/consent.html +1 -1
- fides/ui-build/static/admin/settings/custom-fields.html +1 -1
- fides/ui-build/static/admin/settings/domain-records.html +1 -1
- fides/ui-build/static/admin/settings/domains.html +1 -1
- fides/ui-build/static/admin/settings/email-templates.html +1 -1
- fides/ui-build/static/admin/settings/locations.html +1 -1
- fides/ui-build/static/admin/settings/organization.html +1 -1
- fides/ui-build/static/admin/settings/regulations.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id].html +1 -1
- fides/ui-build/static/admin/systems.html +1 -1
- fides/ui-build/static/admin/taxonomy.html +1 -1
- fides/ui-build/static/admin/user-management/new.html +1 -1
- fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
- fides/ui-build/static/admin/user-management.html +1 -1
- fides/api/service/privacy_request/dsr_package/templates/item.html +0 -37
- fides/ui-build/static/admin/_next/static/chunks/1099-667e84655846e78c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1100-0b01f500b1eaf60d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1817-951f58ddd5d46081.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1904-964f8eb328dc2715.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/2310-744354001d01f366.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/2921-49af55ad7c631c93.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3119-e36ae5071c8f27a5.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3505-113f9c95d34b7aae.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3513-5c2d412a84a78971.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3872-45cc725e241211f0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3923-b4f701ada3ef0ee0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/401-7e800aed05537126.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4060-90a52a9afc655bfc.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4121-66b0e00d5e7ae817.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4132-9b1731bfec6ee537.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4481-7f6710c928bb0cb0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5258-2079138c8cc34f6c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5404-2694509cf5fa96da.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5487-2cbd8d2169eb2a65.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5683-37137111b3e769fb.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6202-081545c7822d09af.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6277-459e054b2702c60e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/641-7e4eef3222cbda70.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6853-688df0b88fe65fd5.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/69-00cba94689b9e740.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6954-4e313b4599b8763d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7553-08bc3d9f66695111.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/79-fc548561beed136f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/796-d6586308ed44334b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7980-736f9fd1e749ddd2.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8032-74d94f7bd5b81c89.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8433-51870336908fb253.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8499-1fd392d0be9e8ee4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8702-d1c8296f9f6afc10.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9033-fdd87182c15b91e2.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9187-851756440f79cd75.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9327-6a53461c9764b16f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9494-1ffb888b95289891.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9676.61cf5f6d6a083175.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9767-afd674014a1d1152.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/404-ec04f826f3dd79ea.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-1bec086d567aacff.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/multiple-f68bf100e4e60e88.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-effde5cfe49de55f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/add-vendors-ec95ed8cb0712828.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure-4cc195e15e0c3cc8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/[id]-be8972c79fb39705.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience-ccf96207de3b74ea.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/[id]-b9823cc008372cee.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/new-373f5772ab41bc93.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-b9beeee1bde5ca79.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/properties-6ab3a5baafebd199.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-8562790ae07f17c9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent-42d4d2d6e0253671.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-9d1df6d890671b0c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-7eb08af333baaa8e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-bb57eed84f59a932.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-47eb34aef3e31ac6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-76cefefc53e84c7f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-9d8e84a8b4bf568d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-f208fef5e72dafd6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datamap-db45aa864e9dda8a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-d5cfdebc74654337.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]-618b89228f83435e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-12fc86f15a4c764e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-c23d18a9b56c2e3c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset-e3b2d8e3980ab093.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-6e27257eccf65f01.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-bbac1f624424282d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-84eb56f5a07bdf4f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/index-773182b5e35d0045.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-eb28c927da5bd653.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations-781808bca01f8048.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/[id]-b51bee8680d66b20.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/add-template-1de479533f733fbd.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging-7dc295b3ed3d2224.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-f64dac3392f5ded7.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/AntForm-eb020bfac4bee532.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikAntFormItem-0bd62e28b539e114.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikControlled-936877004113c2a6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikField-6416f01524482af9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/forms-3f4e1313d1f2969b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-1db7a54437db7db0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-64236fd0141414fd.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-8cab04871908cfeb.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-150d40428245ee0c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-b6c876dceb16ad1b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-20cdb2c8a03deae1.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/[id]-54bcc875592d1fb9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/add-property-644dc669b508a79a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties-9a88220d03e7e02f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-70dc1081df37ea69.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/alpha-3c71b4dbcb6fd6c9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-7cb16e0000dd16c9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-a18d8f12ee8dcf5d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-dc220e116ad5c09e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-55ddc5f25b86f28e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domain-records-5ca7decded228bc8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-a6fafa1be2834c40.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-e633750d2b45ddd6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/locations-3948686cbd372969.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-04ece499c22d23f4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/regulations-7752305084280cca.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-9e5f9066be6f218d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]-86de9e6d72098e45.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems-cac52e6c3abf6a15.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-60d5930b6855679b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/[id]-b0f4c34752d32c73.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management-7dee83dd6d9292aa.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/webpack-8457bad7859c44f0.js +0 -1
- fides/ui-build/static/admin/_next/static/css/1fdf5c593349dbc6.css +0 -1
- fides/ui-build/static/admin/_next/static/f_8LkSZkhtDM14f8gbC0b/_buildManifest.js +0 -1
- {ethyca_fides-2.63.3rc0.dist-info → ethyca_fides-2.64.1b0.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.63.3rc0.dist-info → ethyca_fides-2.64.1b0.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.63.3rc0.dist-info → ethyca_fides-2.64.1b0.dist-info}/licenses/LICENSE +0 -0
- {ethyca_fides-2.63.3rc0.dist-info → ethyca_fides-2.64.1b0.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{f_8LkSZkhtDM14f8gbC0b → nRQ3pmK_d3F5PJE39rP2h}/_ssgManifest.js +0 -0
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8032],{77867:function(e,s,t){var a=t(24246),i=t(4454);s.Z=e=>{let{connected:s,...t}=e,n="red.500";return null==s?n="gray.300":s&&(n="green.500"),(0,a.jsx)(i.xuv,{width:"12px",height:"12px",borderRadius:"6px",backgroundColor:n,...t})}},59301:function(e,s,t){var a=t(24246);let{Link:i}=t(4454).AntTypography;s.Z=e=>(0,a.jsx)(i,{target:"_blank",rel:"noopener noreferrer",...e})},19904:function(e,s,t){t.d(s,{Tg:function(){return r}});var a=t(24246),i=t(16134),n=t(31793);let r=e=>(0,i.C)(n.uu).filter(s=>e.includes(s)).length>0;s.ZP=e=>{let{scopes:s,children:t}=e;return r(s)?(0,a.jsx)(a.Fragment,{children:t}):null}},83099:function(e,s,t){var a=t(24246),i=t(79283),n=t(34929);s.Z=e=>{let{selectedTaxonomies:s,showDisabled:t=!1,...r}=e,{getDataUseDisplayNameProps:l,getDataUses:o}=(0,n.Z)(),d=(t?o():o().filter(e=>e.active)).filter(e=>!s.includes(e.fides_key)).map(e=>{let{name:s,primaryName:t}=l(e.fides_key);return{value:e.fides_key,name:s,primaryName:t,description:e.description||""}});return(0,a.jsx)(i.l,{options:d,...r})}},16220:function(e,s,t){t.d(s,{V:function(){return n}});var a=t(25980),i=t(77830);let n=()=>({systemOrDatamapRoute:(0,a.hz)().plus?i.oG:i.So})},90111:function(e,s,t){var a=t(24246),i=t(4454);s.Z=e=>{let{children:s,...t}=e;return(0,a.jsx)(i.xuv,{p:4,mb:4,border:"1px solid",borderColor:"gray.200",bgColor:"gray.50",borderRadius:"md",...t,children:s})}},44553:function(e,s,t){t.d(s,{Z:function(){return g}});var a=t(24246),i=t(4454),n=t(27378),r=t(45277),l=t(16125),o=t(812),d=t(46628),c=t(20682),u=t(54427),p=t(52253),m=t(78780);let{reducer:h}=(0,u.oM)({name:"connectorTemplate",initialState:{},reducers:{}}),{useRegisterConnectorTemplateMutation:x}=m.u.injectEndpoints({endpoints:e=>({registerConnectorTemplate:e.mutation({query:e=>{let s=new FormData;return s.append("file",e),{url:"".concat(p.o4,"/register"),method:"POST",body:s}},invalidatesTags:()=>["Connection Type"]})})});var g=e=>{let{isOpen:s,onClose:t,testId:u="connector-template-modal"}=e,p=(0,l.I0)(),[m,h]=(0,n.useState)(null),g=(0,i.pmc)(),{getRootProps:y,getInputProps:f,isDragActive:_}=(0,r.uI)({onDrop:e=>{var s;if("zip"!==(null===(s=e[0].name.split(".").pop())||void 0===s?void 0:s.toLowerCase())){g((0,d.Vo)("Only zip files are allowed."));return}h(e[0])}}),[b,{isLoading:j}]=x(),{refetch:v}=(0,c.$I)({search:""},{skip:!1}),k=async()=>{if(m)try{var e;await b(m).unwrap(),g((0,d.t5)("Integration template uploaded successfully."));let{data:s}=await v();p((0,c.fP)(null!==(e=null==s?void 0:s.items)&&void 0!==e?e:[])),t()}catch(e){g((0,d.Vo)((0,o.e$)(e)))}finally{h(null)}};return(0,a.jsxs)(i.u_l,{isOpen:s,onClose:t,size:"2xl",children:[(0,a.jsx)(i.ZAr,{}),(0,a.jsxs)(i.hzk,{textAlign:"left",p:2,"data-testid":u,children:[(0,a.jsx)(i.xBx,{children:"Upload integration template"}),(0,a.jsxs)(i.fef,{children:[(0,a.jsx)(i.xvT,{fontSize:"sm",mb:4,children:"Drag and drop your integration template zip file here, or click to browse your files."}),(0,a.jsxs)(i.xuv,{...y(),bg:_?"gray.100":"gray.50",border:"2px dashed",borderColor:_?"gray.300":"gray.200",borderRadius:"md",cursor:"pointer",minHeight:"150px",display:"flex",alignItems:"center",justifyContent:"center",textAlign:"center",children:[(0,a.jsx)("input",{...f()}),m?(0,a.jsx)(i.xvT,{children:m.name}):_?(0,a.jsx)(i.xvT,{children:"Drop the file here..."}):(0,a.jsx)(i.xvT,{children:"Click or drag and drop your file here."})]}),(0,a.jsx)(i.xvT,{fontSize:"sm",mt:4,children:"An integration template zip file must include a SaaS config and dataset, but may also contain an icon (.svg) as an optional file."})]}),(0,a.jsxs)(i.mzw,{className:"flex w-full justify-end gap-2",children:[(0,a.jsx)(i.wpx,{onClick:t,"data-testid":"cancel-btn",disabled:j,children:"Cancel"}),(0,a.jsx)(i.wpx,{type:"primary",htmlType:"submit",disabled:!m||j,onClick:k,"data-testid":"submit-btn",children:"Submit"})]})]})]})}},3765:function(e,s,t){var a=t(4454),i=t(812),n=t(46628),r=t(1315),l=t(31883);s.Z=e=>{let s=(0,a.pmc)(),[t]=(0,r.qQ)(),o=t=>!!e.privacy_declarations.find(e=>e.data_use===t.data_use&&e.name===t.name)&&(s((0,n.Vo)("A declaration already exists with that data use in this system. Please supply a different data use.")),!0),d=(e,t)=>{if((0,l.D4)(e)){let t=(0,i.e$)(e.error,"An unexpected error occurred while updating the system. Please try again.");s((0,n.Vo)(t));return}return s.closeAll(),s((0,n.t5)(t?"Data use deleted":"Data use saved")),e.data.privacy_declarations},c=async(s,a)=>{let i=s.map(e=>{var s;return{...e,name:null!==(s=e.name)&&void 0!==s?s:""}}),n={...e,privacy_declarations:i};return d(await t(n),a)};return{createDataUse:async t=>{if(!o(t))return s.closeAll(),c([...e.privacy_declarations,t])},updateDataUse:async(s,t)=>{if(!(t.id!==s.id&&o(t)))return c(e.privacy_declarations.map(e=>e.id===s.id?t:e))},deleteDataUse:async s=>c(e.privacy_declarations.filter(e=>e.id!==s.id),!0),deleteDeclarationByDataUse:async s=>c(e.privacy_declarations.filter(e=>e.data_use!==s),!0)}}},73183:function(e,s,t){var a=t(24246),i=t(4454);t(27378);var n=t(14207);s.Z=e=>{let{connection_key:s,disabled:t,name:r,access_type:l,connection_type:o,isSwitch:d}=e,{isOpen:c,onOpen:u,onClose:p}=(0,i.qY0)(),[m,h]=(0,n.XX)(),x=async()=>{await m({key:s,name:r,disabled:!t,access:l,connection_type:o}),p()},g=()=>{h.isLoading||p()};return(0,a.jsxs)(a.Fragment,{children:[d?(0,a.jsxs)(i.kCb,{justifyContent:"space-between",alignItems:"center",children:[(0,a.jsx)(i.xvT,{fontSize:"sm",children:"Enable integration"}),(0,a.jsx)(i.rAg,{className:"ml-2",checked:!t,onChange:()=>u()})]}):(0,a.jsx)(i.sNh,{_focus:{color:"complimentary.500",bg:"gray.100"},onClick:u,children:(0,a.jsx)(i.xvT,{fontSize:"sm",children:t?"Enable":"Disable"})}),(0,a.jsxs)(i.u_l,{isCentered:!0,isOpen:c,onClose:g,children:[(0,a.jsx)(i.ZAr,{}),(0,a.jsxs)(i.hzk,{children:[(0,a.jsxs)(i.xBx,{children:[t?"Enable":"Disable"," Connection"]}),(0,a.jsx)(i.olH,{}),(0,a.jsx)(i.fef,{pb:6,children:(0,a.jsx)(i.Kqy,{direction:"column",spacing:"15px",children:(0,a.jsxs)(i.xvT,{color:"gray.600",fontSize:"sm",fontWeight:"sm",lineHeight:"20px",children:[t?"Enabling":"Disabling"," a connection may impact any privacy request that is currently in progress. Do you wish to proceed?"]})})}),(0,a.jsxs)(i.mzw,{className:"flex gap-4",children:[(0,a.jsx)(i.wpx,{onClick:g,className:"w-1/2",children:"Cancel"}),(0,a.jsxs)(i.wpx,{onClick:x,loading:h.isLoading,className:"w-1/2",children:[t?"Enable":"Disable"," Connection"]})]})]})]})]})}},8627:function(e,s,t){t.d(s,{s:function(){return l}});var a=t(24246),i=t(4454),n=t(77867),r=t(16394);let l=e=>{let{succeeded:s,timestamp:t}=e,l=t?(0,r.p6)(t):"";return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.Z,{connected:s}),(0,a.jsx)(i.xvT,{color:"gray.500",fontSize:"xs",fontWeight:"semibold",lineHeight:"16px",ml:"10px",children:t?"Last tested on ".concat(l):"This connection has not been tested yet"})]})}},27259:function(e,s,t){var a=t(24246),i=t(4454),n=t(34090);s.Z=e=>{let{disabled:s=!1,isRequired:t=!1,label:r,placeholder:l,type:o="text",...d}=e,{id:c,autoFocus:u}=d,[p,m]=(0,n.U$)(d);return(0,a.jsxs)(i.NIc,{display:"flex",isRequired:t,isInvalid:!!(m.error&&m.touched),children:[r&&(0,a.jsx)(i.lXp,{color:"gray.900",fontSize:"14px",fontWeight:"semibold",htmlFor:c,minWidth:"150px",children:r}),(0,a.jsxs)(i.gCW,{align:"flex-start",w:"inherit",children:["number"===o&&(0,a.jsxs)(i.Y2U,{allowMouseWheel:!0,color:"gray.700",defaultValue:0,min:0,size:"sm",children:[(0,a.jsx)(i.zuI,{...p,autoComplete:"off",autoFocus:u}),(0,a.jsxs)(i.FiK,{children:[(0,a.jsx)(i.WQu,{}),(0,a.jsx)(i.Y_d,{})]})]}),"text"===o&&(0,a.jsx)(i.IIB,{...p,autoComplete:"off",autoFocus:u,color:"gray.700",isDisabled:s,placeholder:l,size:"sm"}),"textarea"===o&&(0,a.jsx)(i.gxH,{...p,autoComplete:"off",autoFocus:u,color:"gray.700",placeholder:l,resize:"none",size:"sm",value:p.value||""}),(0,a.jsx)(i.J1D,{children:m.error})]})]})}},72774:function(e,s,t){t.d(s,{Z:function(){return r}});var a=t(24246),i=t(4454),n=e=>{let{title:s,description:t,button:n}=e;return(0,a.jsxs)(i.Ugi,{backgroundColor:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",py:4,px:6,"data-testid":"empty-state",children:[(0,a.jsx)(i.iid,{alignSelf:"start",color:"blue.400",mt:.5}),(0,a.jsxs)(i.xuv,{flexGrow:1,children:[(0,a.jsx)(i.xvT,{fontWeight:"bold",fontSize:"sm",mb:1,children:s}),(0,a.jsx)(i.xvT,{fontSize:"sm",color:"gray.600",lineHeight:"5",children:t})]}),n]})},r=()=>(0,a.jsx)(i.xuv,{mb:"6",maxW:"720px","data-testid":"locked-for-GVL-notice",children:(0,a.jsx)(n,{title:"This system is part of the TCF Global Vendor List (GVL)",description:(0,a.jsxs)(a.Fragment,{children:["As a result, the system fields are not editable as they come directly from Fides Compass and the Global Vendor List (GVL). In some cases where the legal basis has been declared to be flexible, you may update the legal basis for particular data uses."," ",(0,a.jsx)(i.rUS,{href:"https://fid.es/tcf_gvl",isExternal:!0,color:"complimentary.500",children:"For more information on the Global Vendor List, click here."})]})})})},69525:function(e,s,t){t.d(s,{U:function(){return a}});let a=e=>{let s=e.data_categories.flatMap(e=>e.split(","));return{data_use:e.data_use,data_categories:s,features:e.features,legal_basis_for_processing:e.legal_basis_for_processing,flexible_legal_basis_for_processing:e.flexible_legal_basis_for_processing,retention_period:e.retention_period?e.retention_period:""}}},72250:function(e,s,t){t.d(s,{Z:function(){return sH}});var a,i,n=t(24246),r=t(84720),l=t(4454),o=t(79894),d=t.n(o),c=t(86677),u=t.n(c),p=t(27378),m=t(16134),h=t(25980),x=t(45938),g=t(16220),y=t(77830),f=t(46628),_=t(26089),b=t(19904),j=t(16394),v=t(20682),k=t(41337);let w=e=>{let{connectionConfig:s}=e,t=(0,m.C)(v.pw),{data:a}=(0,v.$I)(t),i=(0,p.useMemo)(()=>(null==a?void 0:a.items)||[],[a]),[n,r]=(0,p.useState)(),l=(0,p.useMemo)(()=>[...i].sort((e,s)=>e.human_readable>s.human_readable?1:-1),[i]),o=(0,p.useMemo)(()=>{let e=new Map;return null==l||l.map(s=>e.set(s.human_readable,{value:s})),e},[l]),d=(0,p.useMemo)(()=>{var e;return(null===(e=i.find(e=>e.identifier===(null==s?void 0:s.connection_type)||(null==s?void 0:s.saas_config)&&e.identifier===(null==s?void 0:s.saas_config.type)))||void 0===e?void 0:e.type)||"ethyca"},[s,i]);return(0,p.useMemo)(()=>{let e=i.find(e=>(null==s?void 0:s.saas_config)&&e.identifier===(null==s?void 0:s.saas_config.type)||e.identifier===(null==s?void 0:s.connection_type));e&&r(e)},[s,i]),{dropDownOptions:o,selectedValue:n,setSelectedValue:r,systemType:d}};var C=e=>{var s;let{disabled:t,hasClear:a=!0,label:i,list:r,onChange:o,selectedValue:d}=e,c=(0,p.useRef)(null),[u,m]=(0,p.useState)(!1),[h,x]=(0,p.useState)(""),g=()=>{m(!1)},y=null===(s=[...r].find(e=>{let[,s]=e;return s.value.identifier===(null==d?void 0:d.identifier)}))||void 0===s?void 0:s[0],f=(0,p.useCallback)(e=>{(0===e.target.value.length||e.target.value.length>1)&&(x(e.target.value),setTimeout(()=>{var e;return null===(e=c.current)||void 0===e?void 0:e.focus()},0))},[]),_=(0,p.useMemo)(()=>(0,j.Ds)(f,100),[f]),b=(0,p.useMemo)(()=>[...r].filter(e=>e[0].toLowerCase().includes(h.toLowerCase())),[r,h]);return(0,n.jsxs)(l.v2r,{isLazy:!0,onClose:g,onOpen:()=>{m(!0)},strategy:"fixed",matchWidth:!0,children:[(0,n.jsx)(l.j2t,{"aria-label":null!=y?y:i,as:l.wpx,color:y?"complimentary.500":void 0,disabled:t,icon:(0,n.jsx)(l.mCO,{}),iconPosition:"end",className:"!bg-transparent text-left hover:bg-transparent active:bg-transparent","data-testid":"select-dropdown-btn",width:"272px",children:(0,n.jsx)(l.xvT,{noOfLines:1,style:{wordBreak:"break-all"},children:null!=y?y:i})}),u?(0,n.jsxs)(l.qyq,{id:"MENU_LIST",lineHeight:"1rem",p:"0",maxHeight:"400px",overflow:"hidden","data-testid":"select-dropdown-list",width:"272px",children:[(0,n.jsx)(l.xuv,{px:"8px",mt:2,children:(0,n.jsxs)(l.BZy,{size:"sm",children:[(0,n.jsx)(l.Z8_,{pointerEvents:"none",children:(0,n.jsx)(l.PTu,{color:"gray.300",h:"17px",w:"17px"})}),(0,n.jsx)(l.IIB,{"data-testid":"input-search-integrations",ref:c,autoComplete:"off",autoFocus:!0,borderRadius:"md",name:"search",onChange:_,placeholder:"Search integrations",size:"sm",type:"search"})]})}),a&&(0,n.jsx)(l.kCb,{borderBottom:"1px",borderColor:"gray.200",cursor:"auto",p:"8px",children:(0,n.jsx)(l.wpx,{onClick:()=>{o(void 0),x(""),g()},size:"small",children:"Clear"})}),(0,n.jsx)(l.xuv,{overflowY:"auto",maxHeight:"272px",children:b.map(e=>{let[s,t]=e;return(0,n.jsx)(l.esZ,{title:t.toolTip,placement:"rightTop",mouseEnterDelay:.5,children:(0,n.jsxs)(l.sNh,{color:d===t.value?"complimentary.500":void 0,isDisabled:t.isDisabled,onClick:()=>o(t.value),paddingTop:"10px",paddingRight:"8.5px",paddingBottom:"10px",paddingLeft:"8.5px",_focus:{bg:"gray.100"},children:[(0,n.jsx)(k.Z,{data:t.value}),(0,n.jsx)(l.xvT,{ml:2,fontSize:"0.75rem",noOfLines:1,wordBreak:"break-all",children:s})]})},s)})})]}):null]})},S=t(14047),D=t(1315),T=t(61317),A=t(84306),I=t(14207),E=t(59301),q=(0,l.IUT)({displayName:"RightArrow",viewBox:"0 0 16 16",d:"M10.7814 7.33312L7.20541 3.75712L8.14808 2.81445L13.3334 7.99979L8.14808 13.1851L7.20541 12.2425L10.7814 8.66645H2.66675V7.33312H10.7814Z"}),R=t(19812),z=e=>{let{status:s,failure_reason:t}=e;if("error"===s){let e="Connection test failed.";return t&&(e+=" ".concat(t)),(0,n.jsx)(l.xvT,{"data-testid":"toast-error-msg",children:e})}return(0,n.jsx)(l.xvT,{"data-testid":"toast-success-msg",children:"Connection test was successful"})},F=t(8627),L=t(32885),O=t(65450),Z=t(40324),P=t(34090),W=t(55484),N=t(97181),U=t(57072),V=t(39864),M=t(27259);let B=e=>{let{isSubmitting:s=!1,onCancelClick:t}=e;return(0,n.jsxs)(l.hE2,{size:"sm",spacing:"8px",variant:"outline",children:[(0,n.jsx)(l.zxk,{onClick:t,variant:"outline",children:"Cancel"}),(0,n.jsx)(l.zxk,{bg:"primary.800",color:"white",isDisabled:s,isLoading:s,loadingText:"Submitting",size:"sm",variant:"solid",type:"submit",_active:{bg:"primary.500"},_disabled:{opacity:"inherit"},_hover:{bg:"primary.400"},children:"Save"})]})};var K=e=>{let{data:s=[],isSubmitting:t=!1,onSaveClick:a,onCancel:i}=e,{isLoading:r}=(0,U.MO)(),o=(0,m.C)(V.qb),{errorAlert:d}=(0,S.V)();return r?null:(0,n.jsx)(P.J9,{enableReinitialize:!0,initialValues:{fields:s.length>0?s:[{pii_field:"",dsr_package_label:"",data_categories:[]}]},onSubmit:(e,s)=>{if(new Set(e.fields.map(e=>e.pii_field)).size<e.fields.length){d("PII Field must be unique");return}a(e,s)},validateOnBlur:!1,validateOnChange:!1,validationSchema:W.Ry({fields:W.IX().of(W.Ry().shape({pii_field:W.Z_().required("PII Field is required").min(1,"PII Field must have at least one character").max(200,"PII Field has a maximum of 200 characters").label("PII Field"),dsr_package_label:W.Z_().required("DSR Package Label is required").min(1,"DSR Package Label must have at least one character").max(200,"DSR Package Label has a maximum of 200 characters").label("DSR Package Label"),data_categories:W.IX(W.Z_()).label("Data Categories")}))}),children:e=>(0,n.jsx)(P.l0,{style:{marginTop:0},noValidate:!0,children:(0,n.jsx)(l.gCW,{align:"stretch",children:(0,n.jsx)(P.F2,{name:"fields",render:s=>{let{fields:a}=e.values;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.Ugi,{color:"gray.900",flex:"1",fontSize:"14px",fontWeight:"semibold",lineHeight:"20px",mb:"6px",spacing:"24px",children:[(0,n.jsx)(l.xuv,{w:"416px",children:"PII Field"}),(0,n.jsx)(l.xuv,{w:"416px",children:"DSR Package Label"}),(0,n.jsx)(l.xuv,{w:"416px",children:"Data Categories"}),(0,n.jsx)(l.xuv,{visibility:"hidden",children:(0,n.jsx)(l.lr0,{})})]}),(0,n.jsx)(l.xuv,{children:a&&a.length>0?a.map((e,t)=>(0,n.jsxs)(l.Ugi,{mt:t>0?"12px":void 0,spacing:"24px",align:"flex-start",children:[(0,n.jsx)(l.xuv,{minH:"57px",w:"416px",children:(0,n.jsx)(M.Z,{autoFocus:0===t,isRequired:!0,name:"fields.".concat(t,".pii_field")})}),(0,n.jsx)(l.xuv,{minH:"57px",w:"416px",children:(0,n.jsx)(M.Z,{isRequired:!0,name:"fields.".concat(t,".dsr_package_label")})}),(0,n.jsx)(l.xuv,{minH:"57px",w:"416px",children:(0,n.jsx)(N.d,{name:"fields.".concat(t,".data_categories"),options:o.map(e=>({value:e.fides_key,label:e.fides_key})),isRequired:!0,mode:"multiple"})}),(0,n.jsx)(l.xuv,{h:"57px",visibility:t>0?"visible":"hidden",children:(0,n.jsx)(l.lr0,{onClick:()=>s.remove(t),_hover:{cursor:"pointer"}})})]},t)):null}),(0,n.jsx)(l.xvT,{color:"complimentary.500",fontWeight:"medium",fontSize:"sm",mb:"24px !important",mt:"24px !important",onClick:()=>{s.push({pii_field:"",dsr_package_label:"",data_categories:[]})},_hover:{cursor:"pointer"},children:"Add new PII field"}),(0,n.jsx)(B,{isSubmitting:t,onCancelClick:i})]})}})})})})},H=e=>{let{connectionConfig:s}=e,t=(0,p.useRef)(!1),{successAlert:a}=(0,S.V)(),{handleError:i}=(0,S.H)(),[r,o]=(0,p.useState)(!1),[d,c]=(0,p.useState)([]),{isOpen:u,onOpen:m,onClose:h}=(0,l.qY0)(),{data:x,isFetching:g,isLoading:y,isSuccess:f}=(0,I.QV)(s?s.key:"",{skip:!s}),[_]=(0,I.jF)(),[b]=(0,I._d)(),j=async(e,t)=>{try{o(!0);let t={connection_key:s.key,body:{...e}};d.length>0?await b(t).unwrap():await _(t).unwrap(),a("DSR customization ".concat(d.length>0?"updated":"added","!"))}catch(e){i(e)}finally{o(!1)}};(0,p.useEffect)(()=>(t.current=!0,f&&x&&c(x.fields),()=>{t.current=!1}),[x,f]);let v=(0,n.jsx)(l.wpx,{disabled:!s||r,loading:r,onClick:m,children:"Customize DSR"});return(0,n.jsxs)(n.Fragment,{children:[s?v:(0,n.jsx)(l.esZ,{title:"Save an Integration first to customize the DSR",placement:"top",children:v}),(0,n.jsxs)(l.u_l,{isCentered:!0,isOpen:u,size:"lg",onClose:h,children:[(0,n.jsx)(l.ZAr,{}),(0,n.jsxs)(l.hzk,{minWidth:"775px",children:[(0,n.jsx)(l.xBx,{children:"Customize DSR"}),(0,n.jsx)(l.olH,{}),(0,n.jsx)(l.fef,{pb:6,children:(0,n.jsxs)(l.gCW,{align:"stretch",gap:"16px",children:[(0,n.jsx)(l.xuv,{color:"gray.700",fontSize:"14px",children:'Customize your PII fields to create a friendly label name for your privacy request packages. This "Package Label" is the label your user will see in their downloaded package.'}),(g||y)&&(0,n.jsx)(l.M5Y,{children:(0,n.jsx)(l.$jN,{})}),t.current&&!y?(0,n.jsx)(K,{data:d,isSubmitting:r,onSaveClick:j,onCancel:h}):null]})})]})]})]})},Y=t(98784),G=t.n(Y),$=t(71248),Q=t(46782),J=t(73183),X=t(95492),ee=e=>{let{onDelete:s,deleteResult:t}=e,{isOpen:a,onOpen:i,onClose:r}=(0,l.qY0)(),o=()=>{(!t.isLoading&&t.isSuccess||!t.isLoading&&t.isUninitialized)&&r()};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.LZC,{}),(0,n.jsxs)(l.kCb,{alignItems:"center",children:[(0,n.jsx)(l.xvT,{fontSize:"sm",children:"Delete integration"}),(0,n.jsx)(l.wpx,{"aria-label":"Delete integration",icon:(0,n.jsx)(X.l,{}),disabled:t.isLoading,onClick:i,className:"ml-2"})]})]}),(0,n.jsxs)(l.u_l,{isCentered:!0,isOpen:a,onClose:o,children:[(0,n.jsx)(l.ZAr,{}),(0,n.jsxs)(l.hzk,{children:[(0,n.jsx)(l.xBx,{children:"Delete integration"}),(0,n.jsx)(l.olH,{}),(0,n.jsx)(l.fef,{pb:6,children:(0,n.jsx)(l.Kqy,{direction:"column",spacing:"15px",children:(0,n.jsx)(l.xvT,{color:"gray.600",fontSize:"sm",fontWeight:"sm",lineHeight:"20px",children:"Deleting an integration may impact any privacy request that is currently in progress. Do you wish to proceed?"})})}),(0,n.jsxs)(l.mzw,{children:[(0,n.jsx)(l.wpx,{onClick:o,className:"w-1/2",children:"Cancel"}),(0,n.jsx)(l.wpx,{onClick:()=>{s()},loading:t.isLoading,type:"primary",className:"w-1/2",children:"Delete integration"})]})]})]})]})},es=t(99792);let et=(e,s)=>{let t={...e};return s&&Object.entries(s.properties).forEach(e=>{let[s,a]=e;if("secrets"in t||(t.secrets={}),"integer"===a.type)t.secrets[s]=a.default?Number(a.default):0;else{var i;t.secrets[s]=null!==(i=a.default)&&void 0!==i?i:""}}),t},ea=(e,s)=>{let t=e.replace(/[^A-Za-z0-9\-_]/g,"");return t.includes(s.identifier)||(t+="_".concat(s.identifier)),s.type===es.Z.SAAS&&(t+="_api"),t},ei=e=>{let{secretsSchema:s,defaultValues:t,isSubmitting:a=!1,isAuthorizing:i=!1,onSaveClick:r,onTestConnectionClick:o,onTestDatasetsClick:d,onAuthorizeConnectionClick:c,testButtonLabel:u="Test integration",connectionOption:p,connectionConfig:m,initialDatasets:x,datasetDropdownOptions:g,isCreatingConnectionConfig:y,onDelete:f,deleteResult:_}=e,[b,{isLoading:j,isFetching:v}]=(0,I.h2)(),{plus:k}=(0,h.hz)(),{getFieldValidation:w,preprocessValues:C}=(0,Q.l)(s),S=async(e,s)=>{Object.keys(await s.validateForm()).length>0||c(C(e))},D=async e=>{Object.keys(await e.validateForm()).length>0||o(await b(m.key))},A=(null==m?void 0:m.disabled)||!1;return(0,n.jsx)(P.J9,{enableReinitialize:!0,initialValues:(()=>{let e={...t};if(null==m?void 0:m.key){var a,i;return e.name=null!==(i=m.name)&&void 0!==i?i:"",e.description=m.description,e.instance_key=m.connection_type===T.Rj.SAAS?null===(a=m.saas_config)||void 0===a?void 0:a.fides_key:m.key,e.enabled_actions=(m.enabled_actions||[]).map(e=>e.toString()),e.secrets=m.secrets?G().cloneDeep(m.secrets):{},e.dataset=x,(null==s?void 0:s.properties)&&Object.entries(s.properties).forEach(s=>{var t;let[a,i]=s;if((null===(t=i.allOf)||void 0===t?void 0:t[0].$ref)==="#/definitions/FidesDatasetReference"){let s=e.secrets[a];s&&(e.secrets[a]="".concat(s.dataset,".").concat(s.field))}}),e}return G().isEmpty(e.enabled_actions)&&(e.enabled_actions=p.supported_actions.map(e=>e.toString())),et(e,s)})(),onSubmit:(e,s)=>{r(C(e),s)},validateOnBlur:!0,children:e=>{var t;let r=!e.dirty&&(null==m?void 0:m.authorized);return(0,n.jsx)(P.l0,{children:(0,n.jsxs)(l.gCW,{align:"stretch",gap:"16px",children:[(0,n.jsxs)("div",{className:"flex flex-row",children:[m?(0,n.jsx)(J.Z,{connection_key:null==m?void 0:m.key,disabled:A,connection_type:null==m?void 0:m.connection_type,access_type:null==m?void 0:m.access,name:null!==(t=null==m?void 0:m.name)&&void 0!==t?t:m.key,isSwitch:!0}):null,m?(0,n.jsx)(ee,{onDelete:f,deleteResult:_}):null]}),!!(null==m?void 0:m.key)&&(0,n.jsx)(Z.j0,{name:"instance_key",id:"instance_key",label:"Integration identifier",isRequired:!0,disabled:!!(null==m?void 0:m.key),tooltip:"The fides_key will allow fidesops to associate dataset field references appropriately. Must be a unique alphanumeric value with no spaces (underscores allowed) to represent this integration."},"instance_key"),s?Object.entries(s.properties).map(e=>{var t;let[a,i]=e;return"advanced_settings"===a?null:(0,n.jsx)($.A,{name:"secrets.".concat(a),fieldSchema:i,isRequired:null===(t=s.required)||void 0===t?void 0:t.includes(a),secretsSchema:s,validate:w(a,i),layout:"inline"},"secrets.".concat(a))}):null,k&&(0,n.jsx)(N.d,{name:"enabled_actions",id:"enabled_actions",label:"Request types",isRequired:!0,layout:"inline",mode:"multiple",tooltip:"The request types that are supported for this integration",options:p.supported_actions.map(e=>({label:G().upperFirst(e),value:e}))},"enabled_actions"),T.Zi.DATABASE===p.type&&!y&&(0,n.jsx)(N.d,{name:"dataset",id:"dataset",tooltip:"Select datasets to associate with this integration",label:"Datasets",options:g,layout:"inline",mode:"multiple"}),(0,n.jsxs)("div",{className:"flex gap-4",children:[!p.authorization_required||r?(0,n.jsx)(l.wpx,{disabled:!(null==m?void 0:m.key)||a||_.isLoading,loading:j||v,onClick:()=>D(e),"data-testid":"test-connection-button",children:u}):null,k&&T.Zi.DATABASE===p.type&&!G().isEmpty(x)&&(0,n.jsx)(l.wpx,{onClick:()=>d(),children:"Test datasets"}),p.authorization_required&&!r?(0,n.jsx)(l.wpx,{loading:i,onClick:()=>S(e.values,e),children:"Authorize integration"}):null,p.type===T.Zi.MANUAL?(0,n.jsx)(H,{connectionConfig:m}):null,(0,n.jsx)(l.LZC,{}),(0,n.jsx)(l.wpx,{type:"primary",disabled:_.isLoading||a,loading:a,htmlType:"submit",children:"Save"})]})]})})}})},en=async(e,s,t,a,i)=>{let n={description:e.description||"",instance_key:ea(a,t),saas_connector_type:t.identifier,secrets:{},...e.enabled_actions?{enabled_actions:e.enabled_actions}:{}},r={systemFidesKey:a,connectionConfig:n};return Object.entries(s.properties).forEach(s=>{r.connectionConfig.secrets[s[0]]=e.secrets[s[0]]}),await i(r).unwrap()},er=async(e,s,t,a,i)=>{var n;let r=a?a.key:ea(t,s),l={access:T.uv.WRITE,connection_type:s.type===T.Zi.SAAS?s.type:s.identifier,description:e.description,key:r,...e.enabled_actions?{enabled_actions:e.enabled_actions}:{}},o=await i({systemFidesKey:t,connectionConfigs:[l]}).unwrap();if((null===(n=o.failed)||void 0===n?void 0:n.length)>0){let e=o.failed[0].message;throw Object.assign(Error(e),{data:{detail:e}})}return o},el=async(e,s,t,a,i)=>{let n={systemFidesKey:t,secrets:{}};return(Object.entries(s.properties).forEach(s=>{s[0]in a&&e.secrets[s[0]]===a[s[0]]||(n.secrets[s[0]]=e.secrets[s[0]])}),0===Object.keys(n.secrets).length)?Promise.resolve():await i(n).unwrap()},eo=e=>{let{secretsSchema:s,systemFidesKey:t,connectionOption:a,connectionConfig:i,setSelectedConnectionOption:n}=e,{successAlert:r}=(0,A.V)(),{handleError:l}=(0,S.H)(),o=(0,m.T)(),[d,c]=(0,p.useState)(!1),[u,x]=(0,p.useState)(!1),{dropdownOptions:g,patchConnectionDatasetConfig:y,initialDatasets:f}=(0,R.t)({connectionConfig:i}),[_]=(0,I.NG)(),[b]=(0,L.IB)(),[j]=(0,I.rO)(),[v]=(0,O.Zh)(),[k]=(0,O.qd)(),[w]=(0,L.kg)(),[C,D]=(0,O._w)(),{plus:E}=(0,h.hz)(),q=(0,p.useMemo)(()=>{var e;return null!==(e=null==i?void 0:i.secrets)&&void 0!==e?e:{}},[i]),z=(0,m.C)(O.NC);return{isSubmitting:d,isAuthorizing:u,handleSubmit:async e=>{let n=!i;try{if(c(!0),a.type===T.Zi.SAAS&&n)i=(await en(e,s,a,t,E?b:_)).connection;else{let n=await er(e,a,t,i,E?w:k);i||a.type!==T.Zi.DATABASE||(i=n.succeeded[0]),a.type!==T.Zi.MANUAL&&await el(e,s,t,q,v)}i&&e.dataset&&a.type===T.Zi.DATABASE&&await y(e,i.key,{showSuccessAlert:!1}),r("Integration successfully ".concat(n?"added":"updated","!"))}catch(e){l(e)}finally{c(!1)}},handleAuthorization:async e=>{let n=!i;try{x(!0),n?i=(await en(e,s,a,t,_)).connection:await el(e,s,t,q,v);let r=await j(i.key).unwrap();x(!1),setTimeout(()=>{window.location.href=r},0)}catch(e){l(e)}finally{x(!1)}},datasetDropdownOptions:g,initialDatasets:f,handleDelete:async()=>{try{await C(t),o((0,O.db)({...z,connection_configs:null})),n(void 0),r("Integration successfully deleted!")}catch(e){l(e)}},deleteDatastoreConnectionResult:D}},ed=e=>{let{systemFidesKey:s,connectionOption:t,connectionConfig:a,setSelectedConnectionOption:i}=e,[r,o]=(0,p.useState)(),d=(0,l.pmc)(),c=t.type===T.Zi.MANUAL,{data:m}=(0,v.n3)(t.identifier,{skip:c}),{isSubmitting:h,isAuthorizing:x,handleSubmit:g,handleAuthorization:y,datasetDropdownOptions:_,initialDatasets:b,handleDelete:j,deleteDatastoreConnectionResult:k}=eo({secretsSchema:m,systemFidesKey:s,connectionOption:t,connectionConfig:a,setSelectedConnectionOption:i});return m||t.type===T.Zi.MANUAL?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.xuv,{borderRadius:"6px",border:"1px",borderColor:"gray.200",backgroundColor:"gray.50",fontSize:"14px",p:4,mb:4,children:[(0,n.jsxs)("div",{children:["Connect to your ",t.human_readable," environment by providing the information below. Once you have saved the form, you may test the integration to confirm that it's working correctly."]}),t.user_guide&&(0,n.jsx)("div",{style:{marginTop:"12px"},children:(0,n.jsxs)(E.Z,{href:t.user_guide,children:["View docs for help with this integration ",(0,n.jsx)(q,{})]})})]}),(0,n.jsx)(ei,{secretsSchema:m,defaultValues:{description:"",instance_key:"",name:"",dataset:[]},isSubmitting:h,isAuthorizing:x,onSaveClick:g,onTestConnectionClick:e=>{var s,t;o(e);let a=(null===(s=e.data)||void 0===s?void 0:s.test_status)==="succeeded"?"success":"error";d({...f.MA,status:a,description:(0,n.jsx)(z,{status:a,failure_reason:null===(t=e.data)||void 0===t?void 0:t.failure_reason})})},onTestDatasetsClick:()=>{u().push("/systems/configure/".concat(s,"/test-datasets"))},onAuthorizeConnectionClick:y,connectionOption:t,connectionConfig:a,datasetDropdownOptions:_,initialDatasets:b,isCreatingConnectionConfig:!a,onDelete:j,deleteResult:k}),a?(0,n.jsxs)(l.kCb,{mt:"4",justifyContent:"between",alignItems:"center",children:[r&&r.data&&void 0!==r.fulfilledTimeStamp?(0,n.jsx)(F.s,{succeeded:"succeeded"===r.data.test_status,timestamp:r.fulfilledTimeStamp}):(0,n.jsx)(F.s,{succeeded:null==a?void 0:a.last_test_succeeded,timestamp:(null==a?void 0:a.last_test_timestamp)||""}),(0,n.jsx)(l.LZC,{})]}):null]}):null};var ec=e=>{let{connectionConfigs:s,systemFidesKey:t}=e,{isOpen:a,onOpen:i,onClose:r}=(0,l.qY0)(),[o,d]=(0,p.useState)(null),{successAlert:c}=(0,S.V)(),[u,{isLoading:h}]=(0,D.qd)(),x=(0,m.C)(v.pw),{data:g}=(0,v.$I)(x),y=(0,p.useMemo)(()=>(null==g?void 0:g.items)||[],[g]),{handleError:f}=(0,S.H)(),_=()=>{h||(o&&d(null),r())},b=async()=>{try{if(o){var e;let s={...o,instance_key:o.connection_type===T.Rj.SAAS?null===(e=o.saas_config)||void 0===e?void 0:e.fides_key:o.key},a=y.find(e=>(null==o?void 0:o.saas_config)&&e.identifier===(null==o?void 0:o.saas_config.type)||e.identifier===(null==o?void 0:o.connection_type));(await er(s,a,t,o,u)).succeeded[0]&&c("Integration successfully linked!"),d(null),r()}}catch(e){f(e)}};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.wpx,{onClick:i,children:"Link integration"}),(0,n.jsxs)(l.u_l,{isCentered:!0,isOpen:a,size:"lg",onClose:_,children:[(0,n.jsx)(l.ZAr,{}),(0,n.jsxs)(l.hzk,{children:[(0,n.jsx)(l.xBx,{children:"Unlinked Integrations"}),(0,n.jsx)(l.olH,{}),(0,n.jsx)(l.fef,{pb:6,children:(0,n.jsxs)(l.Kqy,{direction:"column",spacing:"15px",children:[(0,n.jsx)(l.xvT,{color:"gray.600",fontSize:"sm",fontWeight:"sm",lineHeight:"20px",children:"These are all the integrations that are not linked to a system. Please select an integration to link to a system."}),(0,n.jsx)(l.xuv,{maxHeight:"350px",height:"100%",overflowY:"auto",children:s.map(e=>(0,n.jsxs)(l.kCb,{flexDirection:"row",alignItems:"center",_hover:{bg:"gray.100",color:"gray.600"},bg:(null==o?void 0:o.key)===e.key?"gray.100":"unset",color:(null==o?void 0:o.key)===e.key?"gray.600":"unset",cursor:"pointer",onClick:()=>{d(e)},children:[(0,n.jsx)(k.Z,{data:e}),(0,n.jsx)(l.xvT,{children:e.name})]},e.key))})]})}),(0,n.jsxs)(l.mzw,{className:"flex gap-4",children:[(0,n.jsx)(l.wpx,{onClick:_,className:"w-1/2",children:"Cancel"}),(0,n.jsx)(l.wpx,{onClick:b,loading:h,disabled:!o||h,className:"w-1/2",children:"Link integration"})]})]})]})]})},eu=t(44553),ep=e=>{let{connectionConfig:s,systemFidesKey:t}=e,{dropDownOptions:a,selectedValue:i,setSelectedValue:r}=w({connectionConfig:s}),o=(0,m.C)(I.dR),{data:d}=(0,I.AZ)({...o,orphaned_from_system:!0}),[c,u]=(0,p.useState)([]);(0,p.useEffect)(()=>{d&&u(d.items)},[d]);let h=(0,l.qY0)();return(0,n.jsxs)(l.xuv,{id:"con-wrapper",px:6,children:[(0,n.jsxs)(l.kCb,{py:5,children:[(0,n.jsxs)(l.Kqy,{direction:{base:"column",lg:"row"},children:[(0,n.jsx)(C,{list:a,label:"Integration type",selectedValue:i,onChange:r,disabled:!!(s&&null!==s)}),!s&&c.length>0?(0,n.jsx)(ec,{connectionConfigs:c,systemFidesKey:t}):null,(0,n.jsx)(b.ZP,{scopes:[T.Sh.CONNECTOR_TEMPLATE_REGISTER],children:(0,n.jsx)(l.wpx,{htmlType:"submit","data-testid":"upload-btn",onClick:h.onOpen,className:"ml-2",children:"Upload integration"})})]}),(0,n.jsx)(eu.Z,{isOpen:h.isOpen,onClose:h.onClose})]}),(null==i?void 0:i.type)&&[T.Zi.DATABASE,T.Zi.DATA_CATALOG,T.Zi.SAAS,T.Zi.MANUAL,T.Zi.EMAIL].includes(i.type)?(0,n.jsx)(ed,{connectionConfig:s,connectionOption:i,setSelectedConnectionOption:r,systemFidesKey:t}):null]})},em=t(71922),eh=t(31883);let ex=e=>{let{item:s,options:t=[],onNoticeChange:a,isChild:i}=e,{external_id:r,name:o}=s,d="".concat(r,"-notice_id"),[c,,u]=(0,P.U$)(d),{setValue:p}=u;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.Ugi,{flexGrow:1,children:[i&&(0,n.jsx)(l.LqM,{}),(0,n.jsx)(l.lXp,{htmlFor:d,"data-testid":"consentable-item-label".concat(i?"-child":""),m:0,fontSize:"14px",fontWeight:i?"normal":"semibold",children:o})]}),(0,n.jsx)(l.WPr,{...c,id:d,allowClear:!0,placeholder:"None",options:t,onChange:e=>{p(e),a(s={...s,notice_id:e})},className:"w-full","data-testid":"consentable-item-select"})]})},eg=e=>{let{connectionKey:s,...t}=e,a=(0,l.pmc)(),{data:i,isLoading:r}=(0,L.EQ)(s),[o,{isLoading:d}]=(0,L.Am)(),c=(0,m.C)(em.Zp),u=(0,m.C)(em.G1),{data:h,isLoading:x}=(0,em.J6)({page:c,size:u}),[g,y]=(0,p.useState)(),[_,b]=(0,p.useState)([]),j=(0,p.useMemo)(()=>null==g?void 0:g.reduce((e,s)=>{var t;return s.notice_id&&(e["".concat(s.external_id,"-notice_id")]=s.notice_id),(null===(t=s.children)||void 0===t?void 0:t.length)&&s.children.forEach(s=>{s.notice_id&&(e["".concat(s.external_id,"-notice_id")]=s.notice_id)}),e},{}),[g]),v=e=>{let s=e.notice_id;if(s){let e=null==h?void 0:h.items.filter(e=>e.id===s);if(null==e?void 0:e.length){var t;let s=(null===(t=e[0].children)||void 0===t?void 0:t.map(e=>e.id))||[];return _.filter(e=>s.includes(e.value))}}return _},k=async()=>{let e=await o({connectionKey:s,consentableItems:g});(0,eh.D4)(e)?a((0,f.Vo)("Failed to save consent automation")):a({variant:"subtle",position:"top",duration:3e3,status:"success",isClosable:!0,description:(0,n.jsx)(l.xvT,{"data-testid":"toast-success-msg",children:"Your consent automation settings have been successfully saved and applied."}),title:"Settings updated"})};if((0,p.useEffect)(()=>{i&&y(i)},[i]),(0,p.useEffect)(()=>{h&&b(h.items.map(e=>({label:e.name,value:e.id})))},[h]),r||x)return(0,n.jsx)(l.xuv,{borderWidth:"1px",borderRadius:"md",...t,children:(0,n.jsx)(l.OdW,{height:"35px"})});if(!g||!g.length||!h)return null;let w=(e,s)=>{y(g.map(t=>{if(s?t.external_id===s.external_id:t.external_id===e.external_id){if(s){var a;return{...t,children:null===(a=t.children)||void 0===a?void 0:a.map(s=>s.external_id===e.external_id?e:s)}}return e}return t}))};return(0,n.jsx)(l.xuv,{borderWidth:"1px",borderRadius:"md",...t,children:(0,n.jsx)(l.UQy,{allowMultiple:!0,"data-testid":"accordion-consent-automation",children:(0,n.jsxs)(l.Qdk,{border:"none",children:[(0,n.jsxs)(l.KFZ,{children:[(0,n.jsx)(l.xuv,{as:"span",flex:"1",textAlign:"left",children:(0,n.jsx)(l.xvT,{as:"h2",fontWeight:"semibold",fontSize:"sm",children:"Consent automation"})}),(0,n.jsx)(l.XEm,{})]}),(0,n.jsxs)(l.Hk3,{p:5,fontSize:"sm","data-testid":"accordion-panel-consent-automation",children:[(0,n.jsx)(l.xvT,{mb:7,children:"Map consentable items, such as channels and subscriptions, from your integration to Fides privacy notices. This ensures that updates to consent preferences in either location remain accurate and up-to-date."}),(0,n.jsx)(P.J9,{initialValues:j||{},onSubmit:k,children:(0,n.jsxs)(P.l0,{children:[(0,n.jsx)(l.MIq,{columns:2,spacing:3,children:g.map(e=>{var s;return(0,n.jsxs)(p.Fragment,{children:[(0,n.jsx)(ex,{item:e,options:_,onNoticeChange:w}),null===(s=e.children)||void 0===s?void 0:s.map(s=>(0,n.jsx)(ex,{item:s,options:v(e),isChild:!0,onNoticeChange:s=>w(s,e)},s.external_id))]},e.external_id)})}),(0,n.jsx)(l.Ugi,{justifyContent:"flex-end",mt:3,children:(0,n.jsx)(l.wpx,{disabled:d,loading:d,type:"primary",htmlType:"submit","data-testid":"save-consent-automation",children:"Save"})})]})})]})]})})})};var ey=t(57865),ef=t(3124),e_=t.n(ef),eb=(0,l.IUT)({displayName:"NextArrow",viewBox:"0 0 12 12",d:"M6.58584 5.99999L4.11084 3.52499L4.81784 2.81799L7.99984 5.99999L4.81784 9.18199L4.11084 8.47499L6.58584 5.99999Z"}),ej=(0,l.IUT)({displayName:"PrevArrow",viewBox:"0 0 12 12",d:"M5.414 5.99999L7.889 8.47499L7.182 9.18199L4 5.99999L7.182 2.81799L7.889 3.52499L5.414 5.99999Z"});let ev=e=>{let s=new Date(e),t=navigator.language;return{formattedTime:s.toLocaleTimeString(t,{hour:"2-digit",minute:"2-digit",hour12:!0,timeZoneName:"short"}),formattedDate:s.toLocaleDateString(t,{year:"numeric",month:"long",day:"numeric"})}},ek=e=>({privacy_declarations:"data uses",ingress:"sources",egress:"destinations"})[e]||e,ew=(e,s)=>{let t=new Set([...Object.keys(e),...Object.keys(s)]),a=[],i=[],n=[];return Array.from(t).forEach(t=>{let r=ek(t),l=e[t],o=s[t];if("boolean"==typeof l||"boolean"==typeof o||"number"==typeof l||"number"==typeof o){l!==o&&n.push(r);return}!((G().isNil(l)||G().isEmpty(l))&&(G().isNil(o)||G().isEmpty(o)))&&(G().isEqual(l,o)||(G().isNil(l)||G().isEmpty(l)?a.push(r):G().isNil(o)||G().isEmpty(o)?i.push(r):n.push(r)))}),{addedFields:a,removedFields:i,changedFields:n}},eC=e=>{let{edited_by:s,before:t,after:a,created_at:i}=e,r=[],l=[],o=[];t.custom_fields||a.custom_fields?{addedFields:r,removedFields:l,changedFields:o}=ew(t.custom_fields,a.custom_fields):{addedFields:r,removedFields:l,changedFields:o}=ew(t,a);let d=[];if(r.length>0&&d.push(["added ",(0,n.jsx)("b",{children:r.join(", ")})]),l.length>0&&d.push(["removed ",(0,n.jsx)("b",{children:l.join(", ")})]),o.length>0&&d.push(["changed ",(0,n.jsx)("b",{children:o.join(", ")})]),0===d.length)return null;let c=d.pop(),u=d.length>0?(0,n.jsxs)(n.Fragment,{children:[d.map((e,s)=>(0,n.jsxs)(p.Fragment,{children:[e,s<d.length-1?", ":""]},s)),d.length>=2?", and ":" and ",c]}):c,{formattedTime:m,formattedDate:h}=ev(i);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("b",{children:s})," ",u," on ",h," at ",m]})},eS=(e,s)=>{let t=e=>e.map(e=>{let t=s.find(s=>s.fides_key===e.fides_key);return t&&t.name?t.name:e.fides_key}),a={...e.before},i={...e.after};return a.ingress&&(a.ingress=t(a.ingress)),a.egress&&(a.egress=t(a.egress)),i.ingress&&(i.ingress=t(i.ingress)),i&&i.egress&&(i.egress=t(i.egress)),{...e,before:a,after:i}},eD=(e,s)=>{if(G().isEmpty(s))return e;let t=(e,s)=>{var t,a;return null!==(a=null===(t=s.find(s=>s.value===e))||void 0===t?void 0:t.label)&&void 0!==a?a:e};return{...e,before:{...e.before,vendor_id:t(e.before.vendor_id,s)},after:{...e.after,vendor_id:t(e.after.vendor_id,s)}}},eT=e=>{let s=e.before.privacy_declarations||[],t=e.after.privacy_declarations||[],a=new Set([...s,...t].map(e=>e.data_use)),i=[],n=[];return a.forEach(e=>{let a=s.find(s=>s.data_use===e)||{data_use:"",data_categories:[]},r=t.find(s=>s.data_use===e)||{data_use:"",data_categories:[]};i.push(a),n.push(r)}),{...e,before:{...e.before,privacy_declarations:i},after:{...e.after,privacy_declarations:n}}},eA=e=>{let s={...e.before.custom_fields},t={...e.after.custom_fields};return new Set([...Object.keys(s),...Object.keys(t)]).forEach(e=>{e in s||(s[e]=null),e in t||(t[e]=null)}),{...e,before:{...e.before,custom_fields:s},after:{...e.after,custom_fields:t}}},eI=e=>{if(!e.before.privacy_declarations||!e.before.privacy_declarations[0]||!e.before.privacy_declarations[0].custom_fields)return e;let s={...e.before.privacy_declarations[0].custom_fields},t=e.after.privacy_declarations&&e.after.privacy_declarations[0]?{...e.after.privacy_declarations[0].custom_fields}:{};return new Set([...Object.keys(s),...Object.keys(t)]).forEach(e=>{e in s||(s[e]=null),e in t||(t[e]=null)}),{...e,before:{...e.before,privacy_declarations:[{...e.before.privacy_declarations[0],custom_fields:s}]},after:{...e.after,privacy_declarations:[{...e.after.privacy_declarations[0],custom_fields:t}]}}},eE=(0,p.createContext)(null),eq=()=>(0,p.useContext)(eE);var eR=e=>{let{children:s,selectedHistory:t,formType:a}=e,i=(0,p.useMemo)(()=>({selectedHistory:t,formType:a}),[t,a]);return(0,n.jsx)(eE.Provider,{value:i,children:s})},ez=t(62165),eF=t(30320),eL=e=>{let{heading:s,children:t}=e,{selectedHistory:a}=eq(),i=p.Children.toArray(t).filter(e=>{if(p.isValidElement(e)&&e.props.name){let{name:s}=e.props,t=G().get(null==a?void 0:a.before,s),i=G().get(null==a?void 0:a.after,s),n="boolean"!=typeof t&&"number"!=typeof t&&G().isEmpty(t),r="boolean"!=typeof i&&"number"!=typeof i&&G().isEmpty(i);return!n||!r}return!1});return 0===i.length?null:(0,n.jsx)(l.Kqy,{marginTop:"0px !important",children:(0,n.jsxs)(l.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,n.jsx)(l.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,n.jsx)(l.X6q,{as:"h3",size:"xs",children:s})}),(0,n.jsx)(l.Kqy,{children:i})]})})},eO=t(46238),eZ=e=>{var s;let{label:t,tooltip:a,...i}=e,{selectedHistory:r,formType:o}=eq(),[d]=(0,P.U$)(i.name),c={...d,value:null!==(s=d.value)&&void 0!==s?s:[]},u=(0,p.useRef)(null),[m,h]=(0,p.useState)(null),[x,g]=(0,p.useState)([]),[y,f]=(0,p.useState)(!1);(0,p.useEffect)(()=>{let e=G().get(null==r?void 0:r.before,i.name)||[],s=G().get(null==r?void 0:r.after,i.name)||[];f(!G().isEqual(e,s)),g(e.length>s.length?e:s)},[r,i.name]),(0,p.useEffect)(()=>{u.current&&h(u.current.offsetHeight)},[x]);let _={};return y&&(_="before"===o?{backgroundColor:"#FFF5F5",borderColor:"#E53E3E",borderTop:"1px dashed #E53E3E",borderBottom:"1px dashed #E53E3E"}:{backgroundColor:"#F0FFF4",borderColor:"#38A169",borderTop:"1px dashed #38A169",borderBottom:"1px dashed #38A169"}),(0,n.jsx)(l.NIc,{style:_,paddingLeft:4,paddingRight:4,paddingTop:3,paddingBottom:3,marginTop:"-1px !important",children:(0,n.jsxs)(l.gCW,{alignItems:"start",children:[(0,n.jsxs)(l.kCb,{alignItems:"center",children:[(0,n.jsx)(Z.__,{htmlFor:i.name,fontSize:"xs",my:0,mr:1,children:t}),(0,n.jsx)(eO.b,{label:a})]}),(0,n.jsx)(l.kCb,{wrap:"wrap",alignItems:"flex-start",ref:u,style:{minHeight:"".concat(m,"px")},children:(m?c.value:x).map((e,s)=>(0,n.jsx)(l.j8w,{color:"marble",className:"m-1",children:"object"==typeof e?e.fides_key:e},s))}),"before"===o&&y&&(0,n.jsx)("div",{style:{position:"absolute",right:"-22px",top:"50%",transform:"translateY(-50%)"},children:"→"})]})})},eP=e=>{var s;let{label:t,tooltip:a,...i}=e,{selectedHistory:r,formType:o}=eq(),[d]=(0,P.U$)(i),c={...d,value:null!==(s=d.value)&&void 0!==s?s:""},u=(0,p.useRef)(null),[m,h]=(0,p.useState)(null),[x,g]=(0,p.useState)(!1);(0,p.useEffect)(()=>{let e=G().get(null==r?void 0:r.before,i.name)||"",s=G().get(null==r?void 0:r.after,i.name)||"";g(!G().isEqual(e,s));let t=e.length>s.length?e:s;u.current&&(u.current.textContent=t,h(u.current.offsetHeight),u.current.textContent=c.value)},[r,i.name,c.value]);let y={};return x&&(y="before"===o?{backgroundColor:"#FFF5F5",borderColor:"#E53E3E",borderTop:"1px dashed #E53E3E",borderBottom:"1px dashed #E53E3E"}:{backgroundColor:"#F0FFF4",borderColor:"#38A169",borderTop:"1px dashed #38A169",borderBottom:"1px dashed #38A169"}),(0,n.jsx)(l.NIc,{style:y,paddingLeft:4,paddingRight:4,paddingTop:3,paddingBottom:3,marginTop:"-1px !important",children:(0,n.jsxs)(l.gCW,{alignItems:"start",children:[(0,n.jsxs)(l.kCb,{alignItems:"center",children:[(0,n.jsx)(Z.__,{htmlFor:i.id||i.name,fontSize:"xs",my:0,mr:1,children:t}),(0,n.jsx)(eO.b,{label:a})]}),(0,n.jsx)(l.xvT,{fontSize:"14px",ref:u,style:{height:"".concat(m,"px")},children:c.value}),"before"===o&&x&&(0,n.jsx)("div",{style:{position:"absolute",right:"-22px",top:"50%",transform:"translateY(-50%)"},children:"→"})]})})},eW=e=>{let{customFields:s={},resourceType:t}=e,{idToCustomFieldDefinition:a}=(0,eF.m)({resourceType:t}),i=e=>Array.from(a.values()).some(s=>s.name===e&&!!s.allow_list_id),r=t===T.P6.SYSTEM?"custom_fields":"privacy_declarations[0].custom_fields",l=Object.keys(s).sort();return(0,n.jsx)(eL,{heading:"Custom fields",children:l.map(e=>i(e)?(0,n.jsx)(eZ,{label:e,name:"".concat(r,".").concat(e)},e):(0,n.jsx)(eP,{label:e,name:"".concat(r,".").concat(e)},e))})},eN=e=>{let{label:s,tooltip:t,...a}=e,{selectedHistory:i,formType:r}=eq(),[o]=(0,P.U$)(a),d={...o,value:o.value},[c,u]=(0,p.useState)(!1);(0,p.useEffect)(()=>{u(G().get(null==i?void 0:i.before,a.name)!==G().get(null==i?void 0:i.after,a.name))},[i,a.name,d.value]);let m={};return c&&(m="before"===r?{backgroundColor:"#FFF5F5",borderColor:"#E53E3E",borderTop:"1px dashed #E53E3E",borderBottom:"1px dashed #E53E3E"}:{backgroundColor:"#F0FFF4",borderColor:"#38A169",borderTop:"1px dashed #38A169",borderBottom:"1px dashed #38A169"}),(0,n.jsx)(l.NIc,{style:m,paddingLeft:4,paddingRight:4,paddingTop:3,paddingBottom:3,marginTop:"-1px !important",children:(0,n.jsxs)(l.gCW,{alignItems:"start",minHeight:"46px",children:[(0,n.jsxs)(l.kCb,{alignItems:"center",children:[(0,n.jsx)(Z.__,{htmlFor:a.id||a.name,fontSize:"xs",my:0,mr:1,children:s}),(0,n.jsx)(eO.b,{label:t})]}),void 0!==d.value&&(0,n.jsx)(l.j8w,{color:"marble",className:"m-1",children:d.value?"YES":"NO"}),"before"===r&&c&&(0,n.jsx)("div",{style:{position:"absolute",right:"-22px",top:"50%",transform:"translateY(-50%)"},children:"→"})]})})},eU=e=>{let{initialValues:s}=e,t=(0,ez.hz)();return(0,n.jsx)(P.J9,{enableReinitialize:!0,initialValues:s,onSubmit:()=>{},children:()=>(0,n.jsx)(P.l0,{children:(0,n.jsxs)(l.Kqy,{children:[(0,n.jsxs)(eL,{heading:"System details",children:[t.dictionaryService?(0,n.jsx)(eP,{name:"vendor_id",label:"Vendor",tooltip:"Select the vendor that matches the system"}):null,(0,n.jsx)(eP,{name:"name",label:"System name",tooltip:"Give the system a unique, and relevant name for reporting purposes. e.g. “Email Data Warehouse”"}),(0,n.jsx)(eP,{name:"fides_key",label:"Unique ID",disabled:!0,tooltip:"An auto-generated unique ID based on the system name"}),(0,n.jsx)(eP,{name:"description",label:"Description",tooltip:"Give the system a unique, and relevant name for reporting purposes. e.g. “Email Data Warehouse”"}),(0,n.jsx)(eZ,{name:"tags",label:"System Tags",tooltip:"Are there any tags to associate with this system?"})]}),(0,n.jsx)(eL,{heading:"Dataset reference",children:(0,n.jsx)(eZ,{name:"dataset_references",label:"Dataset references",tooltip:"Is there a dataset configured for this system"})}),(0,n.jsxs)(eL,{heading:"Data processing properties",children:[(0,n.jsx)(eN,{name:"processes_personal_data",label:"This system processes personal data",tooltip:"Does this system process personal data?"}),(0,n.jsx)(eN,{name:"exempt_from_privacy_regulations",label:"This system is exempt from privacy regulations",tooltip:"Is this system exempt from privacy regulations?"}),(0,n.jsx)(eP,{name:"reason_for_exemption",label:"Reason for exemption",tooltip:"Why is this system exempt from privacy regulation?"}),(0,n.jsx)(eN,{name:"uses_profiling",label:"This system performs profiling",tooltip:"Does this system perform profiling that could have a legal effect?"}),(0,n.jsx)(eZ,{name:"legal_basis_for_profiling",label:"Legal basis for profiling",tooltip:"What is the legal basis under which profiling is performed?"}),(0,n.jsx)(eN,{name:"does_international_transfers",label:"This system transfers data",tooltip:"Does this system transfer data to other countries or international organizations?"}),(0,n.jsx)(eZ,{name:"legal_basis_for_transfers",label:"Legal basis for transfer",tooltip:"What is the legal basis under which the data is transferred?"}),(0,n.jsx)(eN,{name:"requires_data_protection_assessments",label:"This system requires Data Privacy Assessments",tooltip:"Does this system require (DPA/DPIA) assessments?"}),(0,n.jsx)(eP,{label:"DPIA/DPA location",name:"dpa_location",tooltip:"Where is the DPA/DPIA stored?"})]}),(0,n.jsxs)(eL,{heading:"Administrative properties",children:[(0,n.jsx)(eP,{label:"Data stewards",name:"data_stewards",tooltip:"Who are the stewards assigned to the system?"}),(0,n.jsx)(eP,{name:"privacy_policy",label:"Privacy policy URL",tooltip:"Where can the privacy policy be located?"}),(0,n.jsx)(eP,{name:"legal_name",label:"Legal name",tooltip:"What is the legal name of the business?"}),(0,n.jsx)(eP,{name:"legal_address",label:"Legal address",tooltip:"What is the legal address for the business?"}),(0,n.jsx)(eP,{label:"Department",name:"administrating_department",tooltip:"Which department is concerned with this system?"}),(0,n.jsx)(eZ,{label:"Responsibility",name:"responsibility",tooltip:"What is the role of the business with regard to data processing?"}),(0,n.jsx)(eP,{name:"dpo",label:"Legal contact (DPO)",tooltip:"What is the official privacy contact information?"}),(0,n.jsx)(eP,{label:"Joint controller",name:"joint_controller_info",tooltip:"Who are the party or parties that share responsibility for processing data?"}),(0,n.jsx)(eP,{label:"Data security practices",name:"data_security_practices",tooltip:"Which data security practices are employed to keep the data safe?"})]}),(0,n.jsx)(eW,{customFields:s.custom_fields,resourceType:T.P6.SYSTEM}),s.privacy_declarations&&s.privacy_declarations.map((e,t)=>(0,n.jsxs)(p.Fragment,{children:[(0,n.jsxs)(eL,{heading:"Data use",children:[(0,n.jsx)(eP,{label:"Declaration name (optional)",name:"privacy_declarations[".concat(t,"].name"),tooltip:"Would you like to append anything to the system name?"}),(0,n.jsx)(eP,{name:"privacy_declarations[".concat(t,"].data_use"),label:"Data use",tooltip:"For which business purposes is this data used?"}),(0,n.jsx)(eZ,{name:"privacy_declarations[".concat(t,"].data_categories"),label:"Data categories",tooltip:"Which categories of personal data are collected for this purpose?"}),(0,n.jsx)(eZ,{name:"privacy_declarations[".concat(t,"].data_subjects"),label:"Data subjects",tooltip:"Who are the subjects for this personal data?"}),(0,n.jsx)(eP,{name:"privacy_declarations[".concat(t,"].legal_basis_for_processing"),label:"Legal basis for processing",tooltip:"What is the legal basis under which personal data is processed for this purpose?"}),(0,n.jsx)(eP,{name:"privacy_declarations[".concat(t,"].impact_assessment_location"),label:"Impact assessment location",tooltip:"Where is the legitimate interest impact assessment stored?"}),(0,n.jsx)(eP,{name:"privacy_declarations[".concat(t,"].retention_period"),label:"Retention period (days)",tooltip:"How long is personal data retained for this purpose?"})]}),(0,n.jsx)(eL,{heading:"Features",children:(0,n.jsx)(eZ,{name:"privacy_declarations[".concat(t,"].features"),label:"Features",tooltip:"What are some features of how data is processed?"})}),(0,n.jsx)(eL,{heading:"Dataset reference",children:(0,n.jsx)(eZ,{name:"privacy_declarations[".concat(t,"].dataset_references"),label:"Dataset references",tooltip:"Is there a dataset configured for this system?"})}),(0,n.jsxs)(eL,{heading:"Special category data",children:[(0,n.jsx)(eN,{name:"privacy_declarations[".concat(t,"].processes_special_category_data"),label:"This system processes special category data",tooltip:"Is this system processing special category data as defined by GDPR Article 9?"}),(0,n.jsx)(eP,{name:"privacy_declarations[".concat(t,"].special_category_legal_basis"),label:"Legal basis for processing",tooltip:"What is the legal basis under which the special category data is processed?"})]}),(0,n.jsxs)(eL,{heading:"Third parties",children:[(0,n.jsx)(eN,{name:"privacy_declarations[".concat(t,"].data_shared_with_third_parties"),label:"This system shares data with 3rd parties for this purpose",tooltip:"Does this system disclose, sell, or share personal data collected for this business use with 3rd parties?"}),(0,n.jsx)(eP,{name:"privacy_declarations[".concat(t,"].third_parties"),label:"Third parties",tooltip:"Which type of third parties is the data shared with?"}),(0,n.jsx)(eZ,{name:"privacy_declarations[".concat(t,"].shared_categories"),label:"Shared categories",tooltip:"Which categories of personal data does this system share with third parties?"})]}),(0,n.jsx)(eW,{customFields:s.privacy_declarations[0].custom_fields,resourceType:T.P6.PRIVACY_DECLARATION})]},t)),(0,n.jsxs)(eL,{heading:"Data flow",children:[(0,n.jsx)(eZ,{name:"ingress",label:"Sources"}),(0,n.jsx)(eZ,{name:"egress",label:"Destinations"})]})]})})})};let eV=(e,s)=>{let t=[],a=new Set(["egress","ingress","privacy_declarations","vendor_id"]);(e.egress||s.egress||e.ingress||s.ingress)&&t.push("Data Flow");let i=e.privacy_declarations&&e.privacy_declarations.length>0||s.privacy_declarations&&s.privacy_declarations.length>0;i&&t.push("Data Uses");let n=[...Object.keys(e),...Object.keys(s)].some(e=>!a.has(e));return!i&&n&&t.unshift("System Information"),t};var eM=e=>{let{selectedHistory:s,isOpen:t,onClose:a}=e;return(0,n.jsxs)(l.u_l,{isOpen:t,onClose:a,size:"4xl",children:[(0,n.jsx)(l.ZAr,{}),(0,n.jsxs)(l.hzk,{children:[(0,n.jsxs)(l.xBx,{backgroundColor:e_().FIDESUI_NEUTRAL_50,borderTopLeftRadius:"8px",borderTopRightRadius:"8px",borderBottom:"1px solid #E2E8F0",children:[(0,n.jsxs)(l.X6q,{size:"xs",children:[(0,n.jsx)("span",{style:{verticalAlign:"middle"},children:"Change detail"}),s&&(0,n.jsx)(n.Fragment,{children:eV(s.before,s.after).map((e,s)=>(0,n.jsx)(l.j8w,{color:"minos",className:"ml-2",children:e},s))})]}),(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.LZC,{}),(0,n.jsx)(l.olH,{})]})]}),(0,n.jsx)(l.fef,{paddingTop:0,paddingBottom:6,children:(0,n.jsxs)(l.kCb,{justifyContent:"space-between",children:[(0,n.jsx)("div",{style:{flex:"0 50%",marginRight:"12px"},children:(0,n.jsx)(eR,{selectedHistory:s,formType:"before",children:(0,n.jsx)(eU,{initialValues:null==s?void 0:s.before})})}),(0,n.jsx)("div",{style:{flex:"0 50%",marginLeft:"12px"},children:(0,n.jsx)(eR,{selectedHistory:s,formType:"after",children:(0,n.jsx)(eU,{initialValues:null==s?void 0:s.after})})})]})})]})]})},eB=e=>{let{system:s}=e,[t,a]=(0,p.useState)(1),{data:i}=(0,L.Xc)({system_key:s.fides_key,page:t,size:10}),[r,o]=(0,p.useState)(!1),[d,c]=(0,p.useState)(null),u=(0,m.C)(L.o),{data:h=[]}=(0,O.K3)(),x=(null==i?void 0:i.items)||[],g=e=>{c(e=eI(e=eA(e=eS(e=eD(e=eT(e),u),h)))),o(!0)},{formattedTime:y,formattedDate:f}=ev(s.created_at),_=i&&i.total?Math.ceil(i.total/10):0;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.iA_,{ml:"24px",children:[(0,n.jsx)(l.hrZ,{children:(0,n.jsx)(l.Tr,{children:(0,n.jsxs)(l.Td,{p:"16px",fontSize:"12px",border:"1px solid #E2E8F0",background:e_().FIDESUI_NEUTRAL_50,children:["System created on ",f," at ",y]})})}),(0,n.jsx)(l.p3B,{children:x.map((e,s)=>{let t=eC(e);return t?(0,n.jsx)(l.Tr,{onClick:()=>g(e),style:{cursor:"pointer"},children:(0,n.jsx)(l.Td,{pt:"10px",pb:"10px",pl:"16px",fontSize:"12px",border:"1px solid #E2E8F0",children:t})},s):null})})]}),((null==i?void 0:i.total)||0)>10&&(0,n.jsxs)(l.kCb,{alignItems:"center",justifyContent:"flex-start",marginTop:"12px",marginLeft:"24px",children:[(0,n.jsxs)(l.xvT,{fontSize:"xs",lineHeight:4,fontWeight:"600",paddingX:2,children:[(t-1)*10+1," -"," ",Math.min(10*t,(null==i?void 0:i.total)||0)," of"," ",(null==i?void 0:i.total)||0]}),(0,n.jsx)(l.wpx,{size:"small",className:"mr-2",onClick:()=>{t>1&&a(t-1)},disabled:1===t,icon:(0,n.jsx)(ej,{})}),(0,n.jsx)(l.wpx,{size:"small",onClick:()=>{t<_&&a(t+1)},disabled:t===_||0===_,icon:(0,n.jsx)(eb,{})})]}),(0,n.jsx)(eM,{selectedHistory:d,isOpen:r,onClose:()=>{o(!1),c(null)}})]})},eK=t(52368),eH=t(3765),eY=e=>{let{title:s,description:t,handleAdd:a}=e;return(0,n.jsx)(l.Kqy,{backgroundColor:"gray.50",border:"1px solid",borderColor:"blue.500",borderRadius:"md",justifyContent:"space-between",py:4,px:6,"data-testid":"empty-state",children:(0,n.jsxs)(l.Ugi,{children:[(0,n.jsx)(l.iid,{alignSelf:"start",color:"blue.400",mt:.5}),(0,n.jsxs)(l.xuv,{children:[(0,n.jsx)(l.xvT,{fontWeight:"bold",fontSize:"sm",mb:1,children:s}),(0,n.jsx)(l.xvT,{fontSize:"sm",color:"gray.800",lineHeight:"5",children:t}),(0,n.jsx)(l.Ugi,{mt:4,children:(0,n.jsx)(l.wpx,{size:"small",type:"primary","data-testid":"add-btn",onClick:a,icon:(0,n.jsx)(l.jBn,{boxSize:4}),iconPosition:"end",children:"Add data use"})})]})]})})},eG=t(58452);let e$=e=>{let{declaration:s,title:t,handleDelete:a,handleEdit:i}=e,{isOpen:r,onOpen:o,onClose:d}=(0,l.qY0)();return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.fGe,{w:"100%",h:"100%",cursor:"pointer",_hover:{backgroundColor:"gray.50"},children:(0,n.jsx)(l.xuv,{px:6,py:4,"data-testid":"row-".concat(s.data_use),children:(0,n.jsxs)(l.Ugi,{children:[(0,n.jsx)(l.AB5,{onClick:()=>i(s),role:"button",tabIndex:0,children:(0,n.jsx)(l.xvT,{children:t||s.data_use})}),(0,n.jsx)(l.LZC,{}),a?(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.wpx,{"aria-label":"delete-declaration",className:"z-[2]",onClick:o,"data-testid":"delete-btn",children:(0,n.jsx)(l.pJl,{})}),(0,n.jsx)(eG.Z,{isOpen:r,onClose:d,onConfirm:()=>a(s),title:"Delete data use declaration",message:(0,n.jsxs)(l.xvT,{children:["You are about to delete the data use declaration"," ",(0,n.jsx)(l.xvT,{color:"complimentary.500",as:"span",fontWeight:"bold",children:t||s.data_use}),", including all its cookies. Are you sure you want to continue?"]}),isCentered:!0})]}):null]})})}),(0,n.jsx)(l.izJ,{})]})},eQ=e=>{let{heading:s,children:t,headerButton:a,footerButton:i}=e;return(0,n.jsx)(l.Kqy,{spacing:4,"data-testid":"privacy-declarations-table",children:(0,n.jsxs)(l.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,children:[(0,n.jsxs)(l.Ugi,{backgroundColor:"gray.50",px:6,py:4,borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:[(0,n.jsx)(l.X6q,{as:"h3",size:"xs",children:s}),(0,n.jsx)(l.LZC,{}),a||null]}),(0,n.jsx)(l.Kqy,{spacing:0,children:t}),(0,n.jsx)(l.xuv,{backgroundColor:"gray.50",px:6,py:4,borderBottomRadius:6,children:i||null})]})})},eJ=e=>{let{heading:s,declarations:t,handleAdd:a,handleDelete:i,handleEdit:r,allDataUses:o}=e,d=e=>{let s=o.filter(s=>s.fides_key===e.data_use)[0];return s?e.name?"".concat(s.name," - ").concat(e.name):s.name:""},c=(0,m.C)(ey.gU);return(0,n.jsx)(eQ,{heading:s,footerButton:c?null:(0,n.jsx)(l.wpx,{onClick:a,size:"small",icon:(0,n.jsx)(l.jBn,{boxSize:4}),iconPosition:"end","data-testid":"add-btn",children:"Add data use"}),children:t.map(e=>(0,n.jsx)(e$,{declaration:e,title:d(e),handleDelete:c?void 0:i,handleEdit:r},e.id))})};var eX=t(95346),e0=t(54748),e1=t(28325),e4=t(30234);let e2=W.Ry().shape({data_categories:W.IX(W.Z_()).min(1,"Must assign at least one data category").label("Data categories"),data_use:W.Z_().required().label("Data use")}),e5={name:"",data_categories:[],data_use:"",data_subjects:[],egress:void 0,ingress:void 0,features:[],legal_basis_for_processing:void 0,flexible_legal_basis_for_processing:!0,impact_assessment_location:"",retention_period:"",processes_special_category_data:!1,special_category_legal_basis:void 0,data_shared_with_third_parties:!1,third_parties:"",shared_categories:[],customFieldValues:{},id:""},e3=e=>{var s;return{...e,name:null!==(s=e.name)&&void 0!==s?s:"",special_category_legal_basis:e.processes_special_category_data?e.special_category_legal_basis:void 0,third_parties:e.data_shared_with_third_parties?e.third_parties:void 0,shared_categories:e.data_shared_with_third_parties?e.shared_categories:void 0}},e6=e=>{let{allDataUses:s,allDataCategories:t,allDataSubjects:a,allDatasets:i,values:r,includeCustomFields:o,privacyDeclarationId:d,lockedForGVL:c}=e,u=!!d,{legalBasisOptions:m}=(0,e0.Z)(),{specialCategoryLegalBasisOptions:h}=(0,e1.Z)(),x=(0,p.useMemo)(()=>i?i.map(e=>({value:e.fides_key,label:e.name?e.name:e.fides_key})):[],[i]);return(0,n.jsxs)(l.Kqy,{spacing:4,children:[(0,n.jsxs)(e4.Z,{heading:"Data use declaration",children:[(0,n.jsx)(Z.j0,{id:"name",label:"Declaration name (optional)",name:"name",tooltip:"Would you like to append anything to the system name?",disabled:u||c,variant:"stacked"}),(0,n.jsx)(N.d,{id:"data_use",label:"Data use",name:"data_use",options:s.map(e=>({value:e.fides_key,label:e.fides_key})),tooltip:"For which business purposes is this data processed?",layout:"stacked",isRequired:!0,disabled:u||c}),(0,n.jsx)(N.d,{name:"data_categories",label:"Data categories",options:t.map(e=>({value:e.fides_key,label:e.fides_key})),tooltip:"Which categories of personal data are collected for this purpose?",mode:"multiple",isRequired:!0,disabled:c,layout:"stacked"}),(0,n.jsx)(N.d,{name:"data_subjects",label:"Data subjects",options:a.map(e=>({value:e.fides_key,label:e.fides_key})),tooltip:"Who are the subjects for this personal data?",mode:"multiple",disabled:c,layout:"stacked"}),(0,n.jsxs)(l.Kqy,{spacing:0,children:[(0,n.jsx)(N.d,{name:"legal_basis_for_processing",label:"Legal basis for processing",options:m,tooltip:"What is the legal basis under which personal data is processed for this purpose?",layout:"stacked",disabled:c}),(0,n.jsx)(l.UO1,{in:"Legitimate interests"===r.legal_basis_for_processing,animateOpacity:!0,style:{overflow:"visible"},children:(0,n.jsx)(l.xuv,{mt:4,children:(0,n.jsx)(Z.j0,{name:"impact_assessment_location",label:"Impact assessment location",tooltip:"Where is the legitimate interest impact assessment stored?",variant:"stacked",disabled:c})})})]}),(0,n.jsx)(l.xuv,{mt:5,pl:4,children:(0,n.jsx)(Z.w8,{name:"flexible_legal_basis_for_processing",label:"This legal basis is flexible",tooltip:"Has the vendor declared that the legal basis may be overridden?",variant:"stacked",isDisabled:c})}),(0,n.jsx)(Z.j0,{name:"retention_period",label:"Retention period (days)",tooltip:"How long is personal data retained for this purpose?",variant:"stacked",disabled:c})]}),(0,n.jsx)(e4.Z,{heading:"Features",children:(0,n.jsx)(N.d,{name:"features",label:"Features",placeholder:"Describe features...",tooltip:"What are some features of how data is processed?",layout:"stacked",disabled:c,mode:"tags"})}),(0,n.jsx)(e4.Z,{heading:"Dataset reference",children:(0,n.jsx)(N.d,{name:"dataset_references",label:"Dataset references",options:x,tooltip:"Is there a dataset configured for this system?",mode:"multiple",layout:"stacked",disabled:c})}),(0,n.jsx)(e4.Z,{heading:"Special category data",children:(0,n.jsxs)(l.Kqy,{spacing:0,children:[(0,n.jsx)(Z.w8,{name:"processes_special_category_data",label:"This system processes special category data",tooltip:"Is this system processing special category data as defined by GDPR Article 9?",variant:"stacked",isDisabled:c}),(0,n.jsx)(l.UO1,{in:r.processes_special_category_data,animateOpacity:!0,style:{overflow:"visible"},children:(0,n.jsx)(l.xuv,{mt:4,children:(0,n.jsx)(N.d,{name:"special_category_legal_basis",label:"Legal basis for processing",options:h,isRequired:r.processes_special_category_data,tooltip:"What is the legal basis under which the special category data is processed?",layout:"stacked",disabled:c})})})]})}),(0,n.jsx)(e4.Z,{heading:"Third parties",children:(0,n.jsxs)(l.Kqy,{spacing:0,children:[(0,n.jsx)(Z.w8,{name:"data_shared_with_third_parties",label:"This system shares data with 3rd parties for this purpose",tooltip:"Does this system disclose, sell, or share personal data collected for this business use with 3rd parties?",variant:"stacked",isDisabled:c}),(0,n.jsx)(l.UO1,{in:r.data_shared_with_third_parties,animateOpacity:!0,style:{overflow:"visible"},children:(0,n.jsxs)(l.Kqy,{mt:4,spacing:4,children:[(0,n.jsx)(Z.j0,{name:"third_parties",label:"Third parties",tooltip:"Which type of third parties is the data shared with?",variant:"stacked",disabled:c}),(0,n.jsx)(N.d,{name:"shared_categories",label:"Shared categories",options:t.map(e=>({value:e.fides_key,label:e.fides_key})),tooltip:"Which categories of personal data does this system share with third parties?",layout:"stacked",mode:"multiple",disabled:c})]})})]})}),o?(0,n.jsx)(eX.uc,{resourceType:T.P6.PRIVACY_DECLARATION,resourceFidesKey:d}):null]})},e8=(e,s)=>e?{...e,customFieldValues:s||{}}:e5,e9=e=>{let{onSubmit:s,initialValues:t,privacyDeclarationId:a}=e,{customFieldValues:i,upsertCustomFields:n}=(0,eX.mZ)({resourceType:T.P6.PRIVACY_DECLARATION,resourceFidesKey:a});return{handleSubmit:async(e,t)=>{let{customFieldValues:a}=e,i=e3(e),r=await s(i,t);if(r){let s=r.filter(s=>s.data_use===e.data_use&&(!s.name||s.name===e.name));s.length>0&&await n({customFieldValues:a,fides_key:s[0].id})}},initialValues:(0,p.useMemo)(()=>e8(t,i),[t,i])}},e7=e=>{let{onSubmit:s,onCancel:t,initialValues:a,...i}=e,r=null==a?void 0:a.id,{handleSubmit:o,initialValues:d}=e9({onSubmit:s,onCancel:t,initialValues:a,allDataUses:i.allDataUses,privacyDeclarationId:r}),c=(0,m.C)(ey.gU);return(0,n.jsx)(P.J9,{enableReinitialize:!0,initialValues:d,onSubmit:o,validationSchema:e2,children:e=>{let{dirty:s,values:a}=e;return(0,n.jsxs)(P.l0,{"data-testid":"declaration-form",children:[(0,n.jsx)(x.Gt,{id:"PrivacyDeclaration",name:"New Privacy Declaration"}),(0,n.jsxs)(l.Kqy,{spacing:4,children:[(0,n.jsx)(e6,{values:a,lockedForGVL:c,privacyDeclarationId:r,...i}),(0,n.jsxs)(l.kCb,{w:"100%",children:[(0,n.jsx)(l.wpx,{onClick:t,"data-testid":"cancel-btn",children:"Cancel"}),c?null:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.LZC,{}),(0,n.jsx)(l.wpx,{type:"primary",htmlType:"submit",disabled:!s,"data-testid":"save-btn",children:"Save"})]})]})]})]})}})},se=e=>{let{isOpen:s,onClose:t,heading:a,isCentered:i=!1,testId:r="privacy-declaration-modal",children:o}=e;return(0,n.jsxs)(l.u_l,{isOpen:s,onClose:t,isCentered:i,scrollBehavior:"inside",size:"3xl",children:[(0,n.jsx)(l.ZAr,{}),(0,n.jsxs)(l.hzk,{textAlign:"left",p:0,"data-testid":r,children:[(0,n.jsx)(l.xBx,{p:0,children:(0,n.jsx)(l.xuv,{backgroundColor:"gray.50",px:6,py:4,border:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,n.jsx)(l.X6q,{as:"h3",size:"sm",children:a})})}),(0,n.jsx)(l.fef,{pb:4,children:o})]})]})};var ss=e=>{let{system:s,includeCustomFields:t,...a}=e,{isOpen:i,onClose:r,onOpen:o}=(0,l.qY0)(),[d,c]=(0,p.useState)(void 0),{createDataUse:u,updateDataUse:m,deleteDataUse:h}=(0,eH.Z)(s),x=()=>{r(),c(void 0)},g=()=>{o(),c(void 0)},y=async e=>(x(),d)?m(d,e):u(e);return(0,p.useEffect)(()=>{r()},[r,s.fides_key]),(0,n.jsxs)(l.Kqy,{spacing:6,"data-testid":"data-use-tab",children:[0===s.privacy_declarations.length?(0,n.jsx)(eY,{title:"You don't have a data use set up for this system yet.",description:'A Data Use is the purpose for which data is used in a system. In Fides, a system may have more than one Data Use. For example, a CRM system may be used both for "Customer Support" and also for "Email Marketing", each of these is a Data Use.',handleAdd:g}):(0,n.jsx)(eJ,{heading:"Data use",declarations:s.privacy_declarations,handleAdd:g,handleEdit:e=>{o(),c(e)},handleDelete:h,allDataUses:a.allDataUses}),(0,n.jsx)(se,{isOpen:i,onClose:x,heading:"Configure data use",children:(0,n.jsx)(e7,{initialValues:d,onSubmit:y,onCancel:x,includeCustomFields:t,...a})})]})},st=e=>{let{system:s}=e,{isLoading:t,...a}=(0,eK.f)({includeDatasets:!0,includeDisabled:!1}),i=a.allDataCategories.filter(e=>e.active),r=a.allDataUses.filter(e=>e.active),o=a.allDataSubjects.filter(e=>e.active),c={...a,allDataCategories:i,allDataUses:r,allDataSubject:o};return(0,n.jsxs)(l.Kqy,{spacing:3,"data-testid":"privacy-declaration-step",minWidth:580,children:[(0,n.jsx)(l.X6q,{as:"h3",size:"md",children:"Data uses"}),(0,n.jsxs)(l.xvT,{fontSize:"sm",fontWeight:"medium",children:["Data Uses describe the business purpose for which the personal data is processed or collected. Within a Data Use, you assign which categories of personal information are collected for this purpose and for which categories of data subjects. To update the available categories and uses, please visit"," ",(0,n.jsx)(l.rUS,{as:d(),href:"/taxonomy",color:"link.900",children:"Manage taxonomy"}),"."]}),t?(0,n.jsx)(l.$jN,{}):(0,n.jsx)(ss,{system:s,includeCustomFields:!0,...c})]})},sa=t(812),si=t(93237),sn=t(69525),sr=t(33335);let sl={system_type:"",fides_key:"",tags:[],name:"",description:"",dataset_references:[],processes_personal_data:!0,exempt_from_privacy_regulations:!1,reason_for_exemption:"",uses_profiling:!1,does_international_transfers:!1,requires_data_protection_assessments:!1,privacy_policy:"",legal_name:"",legal_address:"",administrating_department:"",responsibility:[],joint_controller_info:"",data_security_practices:"",privacy_declarations:[],data_stewards:"",dpo:"",cookie_max_age_seconds:void 0,uses_cookies:!1,cookie_refresh:!1,uses_non_cookie_access:!1,legitimate_interest_disclosure_url:""},so=(e,s)=>{var t;let a=null==e?void 0:null===(t=e.data_stewards)||void 0===t?void 0:t.map(e=>e.username).join(", ");return{...e,customFieldValues:s,description:e.description?e.description:"",legal_address:e.legal_address?e.legal_address:"",dpo:e.dpo?e.dpo:"",cookie_max_age_seconds:e.cookie_max_age_seconds?e.cookie_max_age_seconds:"",legitimate_interest_disclosure_url:e.legitimate_interest_disclosure_url?e.legitimate_interest_disclosure_url:"",vendor_deleted_date:e.vendor_deleted_date?e.vendor_deleted_date:void 0,privacy_policy:e.privacy_policy?e.privacy_policy:"",data_security_practices:e.data_security_practices?e.data_security_practices:"",legal_basis_for_profiling:e.legal_basis_for_profiling?e.legal_basis_for_profiling:"",legal_basis_for_transfers:e.legal_basis_for_transfers?e.legal_basis_for_transfers:"",data_stewards:a}},sd=e=>{let s=e.fides_key?e.fides_key:(0,sr.E)(e.name),t=""===e.privacy_policy?void 0:e.privacy_policy,a={system_type:e.system_type,fides_key:s,name:e.name,description:e.description?e.description:"",dataset_references:e.dataset_references,tags:e.tags,processes_personal_data:e.processes_personal_data,exempt_from_privacy_regulations:e.exempt_from_privacy_regulations,reason_for_exemption:e.exempt_from_privacy_regulations?e.reason_for_exemption:void 0,privacy_declarations:e.processes_personal_data?e.privacy_declarations:[],vendor_id:e.vendor_id,ingress:e.ingress,egress:e.egress,meta:e.meta,fidesctl_meta:e.fidesctl_meta,organization_fides_key:e.organization_fides_key,dpa_progress:e.dpa_progress,previous_vendor_id:e.previous_vendor_id,cookie_max_age_seconds:e.cookie_max_age_seconds?e.cookie_max_age_seconds:void 0,uses_cookies:e.uses_cookies,cookie_refresh:e.cookie_refresh,uses_non_cookie_access:e.uses_non_cookie_access,legitimate_interest_disclosure_url:e.legitimate_interest_disclosure_url?e.legitimate_interest_disclosure_url:void 0,vendor_deleted_date:e.vendor_deleted_date?e.vendor_deleted_date:void 0};return e.processes_personal_data&&(a={...a,dataset_references:e.dataset_references,uses_profiling:e.uses_profiling,legal_basis_for_profiling:e.uses_profiling?e.legal_basis_for_profiling:void 0,does_international_transfers:e.does_international_transfers,legal_basis_for_transfers:e.does_international_transfers?e.legal_basis_for_transfers:void 0,requires_data_protection_assessments:e.requires_data_protection_assessments,dpa_location:e.requires_data_protection_assessments?e.dpa_location:void 0,privacy_policy:t,legal_name:e.legal_name,legal_address:e.legal_address,responsibility:e.responsibility,dpo:e.dpo,data_security_practices:e.data_security_practices},e.administrating_department&&(a.administrating_department=e.administrating_department),e.joint_controller_info&&(a.joint_controller_info=e.joint_controller_info)),a},{useGetSystemAssetsQuery:sc,useAddSystemAssetMutation:su,useUpdateSystemAssetsMutation:sp,useDeleteSystemAssetsMutation:sm,usePopulateSystemAssetsMutation:sh}=t(78780).u.injectEndpoints({endpoints:e=>({getSystemAssets:e.query({query:e=>{let{fides_key:s,...t}=e;return{method:"GET",url:"/plus/system-assets/".concat(s),params:t}},providesTags:["System Assets"]}),addSystemAsset:e.mutation({query:e=>{let{systemKey:s,asset:t}=e;return{method:"POST",url:"/plus/system-assets/".concat(s,"/assets"),body:t}},invalidatesTags:["System Assets"]}),updateSystemAssets:e.mutation({query:e=>{let{systemKey:s,assets:t}=e;return{method:"PUT",url:"/plus/system-assets/".concat(s,"/assets/"),body:t}},invalidatesTags:["System Assets"]}),deleteSystemAssets:e.mutation({query:e=>{let{systemKey:s,asset_ids:t}=e;return{method:"DELETE",url:"/plus/system-assets/".concat(s,"/assets?").concat((0,j.du)(t,"asset_ids"))}},invalidatesTags:["System Assets"]}),populateSystemAssets:e.mutation({query:e=>{let{systemKey:s}=e;return{method:"POST",url:"/plus/dictionary/system-vendors/cookie-assets",body:[s]}}})})});var sx=t(36345);let sg=["Explicit consent","Contract","Authorised by law"].map(e=>({value:e,label:e})),sy=[{value:"Adequacy Decision",label:"Adequacy decision"},{value:"Supplementary measures",label:"Supplementary measures"},{value:"SCCs",label:"Standard contractual clauses"},{value:"BCRs",label:"Binding corporate rules"},{value:"Other",label:"Other"}],sf=["Controller","Processor","Sub-Processor"].map(e=>({value:e,label:e})),s_=e=>{var s;let{system:t}=e,a=t?null!==(s=t.name)&&void 0!==s?s:"this system":"your new system";return(0,n.jsxs)(l.X6q,{as:"h3",size:"lg",children:["Describe ",a]})};var sb=e=>{let{onSuccess:s,system:t,withHeader:a,children:i}=e,{data:r=[]}=(0,O.K3)(),o=(0,m.T)(),d=(0,eX.mZ)({resourceType:T.P6.SYSTEM,resourceFidesKey:null==t?void 0:t.fides_key}),{...c}=(0,eK.f)({includeDatasets:!0,includeDisabled:!1}),u=(0,p.useMemo)(()=>t?so(t,d.customFieldValues):sl,[t,d.customFieldValues]),[h]=(0,O.in)(),g=(0,p.useMemo)(()=>W.Ry().shape({name:W.Z_().required().label("System name").test("is-unique","",async(e,s)=>{let{data:t}=await h({page:1,size:10,search:e});return!((null==t?void 0:t.items)||[]).filter(e=>e.name!==u.name).some(s=>s.name===e)||s.createError({message:'You already have a system called "'.concat(e,'". Please specify a unique name for this system.')})}),privacy_policy:W.Z_().min(1).url().nullable()}),[h,u.name]),y=(0,ez.hz)(),[_,b]=(0,O.f7)(),[j,v]=(0,O.qQ)(),[k]=sh();(0,L.Rd)(void 0,{skip:!y.dictionaryService});let[w]=(0,L.qz)(),C=(0,m.C)(L.o),S=(0,m.C)(ey.gU),D=(0,p.useMemo)(()=>!!(t&&(null==r?void 0:r.some(e=>e.fides_key===(null==t?void 0:t.fides_key)))),[t,r]),A=(0,p.useMemo)(()=>c.allDatasets?c.allDatasets.map(e=>({value:e.fides_key,label:e.name?e.name:e.fides_key})):[],[c.allDatasets]),I=(0,l.pmc)(),E=async(e,t)=>{var a;let i,n;if(e.vendor_id&&0===e.privacy_declarations.length){let s=await w({vendor_id:e.vendor_id});if(s.isError){if(!((0,sa.fn)(s.error)&&404===s.error.status)){let e=(0,sa.e$)(s.error,"A problem occurred while fetching data uses from Fides Compass for your system. Please try again.");I((0,f.Vo)(e))}}else s.data&&s.data.items.length>0&&(i=s.data.items.map(e=>{var s;return{...(0,sn.U)(e),name:null!==(s=e.name)&&void 0!==s?s:""}}))}let r=sd({...e,privacy_declarations:null!=i?i:e.privacy_declarations});if(n=D?await j(r):await _(r),await d.upsertCustomFields(e),!D&&e.vendor_id&&(null===(a=n.data)||void 0===a?void 0:a.fides_key)){let e=await k({systemKey:n.data.fides_key});(0,sa.D4)(e)&&I((0,f.Vo)("An unexpected error occurred while populating the system assets from Compass. Please try again."))}(0,sa.D4)(n)?I({status:"error",description:(0,sa.e$)(n.error,"An unexpected error occurred while ".concat(D?"editing":"creating"," the system. Please try again."))}):(I.closeAll(),t.resetForm({values:e}),s(n.data),o((0,ey.b3)("initial")))},q=e=>{if(y.dictionaryService){if(!e){o((0,ey.b3)("hiding")),o((0,ey.gQ)(!1));return}o((0,ey.b3)("showing")),y.tcf&&(0,sa.cj)(e)===sa.c6.GVL?o((0,ey.gQ)(!0)):o((0,ey.gQ)(!1))}},R=v.isLoading||b.isLoading||d.isLoading;return(0,n.jsx)(P.J9,{initialValues:u,enableReinitialize:!0,onSubmit:E,validationSchema:g,children:e=>{let{dirty:s,values:r,isValid:o}=e;return(0,n.jsxs)(P.l0,{children:[(0,n.jsx)(x.Gt,{id:"SystemInfoTab",name:"System Info"}),(0,n.jsxs)(l.Kqy,{spacing:0,maxWidth:{base:"100%",lg:"70%"},children:[a?(0,n.jsx)(s_,{system:t}):null,(0,n.jsx)(l.xvT,{fontSize:"sm",fontWeight:"medium",children:"By providing a small amount of additional context for each system we can make reporting and understanding our tech stack much easier for everyone from engineering to legal teams. So let’s do this now."}),a?(0,n.jsx)(s_,{system:t}):null,(0,n.jsxs)(e4.Z,{heading:"System details",children:[y.dictionaryService?(0,n.jsx)(sx.Z,{label:"System name",options:C,onVendorSelected:q,isCreate:!t,lockedForGVL:S}):(0,n.jsx)(Z.j0,{id:"name",name:"name",label:"System name",tooltip:"Give the system a unique, and relevant name for reporting purposes. e.g. “Email Data Warehouse”",variant:"stacked",isRequired:!0}),(null==t?void 0:t.fides_key)&&(0,n.jsx)(Z.j0,{id:"fides_key",name:"fides_key",label:"Unique ID",disabled:!0,variant:"stacked",tooltip:"An auto-generated unique ID based on the system name"}),(0,n.jsx)(si.Sv,{id:"description",name:"description",label:"Description",tooltip:"What services does this system perform?",disabled:S}),(0,n.jsx)(N.d,{mode:"tags",id:"tags",name:"tags",label:"System Tags",options:u.tags?u.tags.map(e=>({value:e,label:e})):[],layout:"stacked",tooltip:"Are there any tags to associate with this system?",disabled:S})]}),(0,n.jsx)(e4.Z,{heading:"Dataset reference",children:(0,n.jsx)(N.d,{name:"dataset_references",label:"Dataset references",options:A,tooltip:"Is there a dataset configured for this system?",mode:"multiple",layout:"stacked",disabled:S})}),(0,n.jsx)(e4.Z,{heading:"Data processing properties",children:(0,n.jsxs)(l.Kqy,{spacing:0,children:[(0,n.jsx)(l.xuv,{mb:4,children:(0,n.jsx)(si.dQ,{name:"processes_personal_data",label:"This system processes personal data",tooltip:"Does this system process personal data?",disabled:S})}),(0,n.jsx)(l.xuv,{padding:4,borderRadius:4,backgroundColor:"gray.50",children:(0,n.jsxs)(l.Kqy,{spacing:0,children:[(0,n.jsx)(si.dQ,{name:"exempt_from_privacy_regulations",label:"This system is exempt from privacy regulations",tooltip:"Is this system exempt from privacy regulations?",disabled:!r.processes_personal_data||S}),(0,n.jsx)(l.UO1,{in:r.exempt_from_privacy_regulations,animateOpacity:!0,children:(0,n.jsx)(l.xuv,{mt:4,children:(0,n.jsx)(Z.j0,{name:"reason_for_exemption",label:"Reason for exemption",tooltip:"Why is this system exempt from privacy regulation?",variant:"stacked",isRequired:r.exempt_from_privacy_regulations,disabled:S})})})]})}),(0,n.jsx)(l.UO1,{in:r.processes_personal_data&&!r.exempt_from_privacy_regulations,style:{overflow:"visible"},animateOpacity:!0,children:(0,n.jsxs)(l.Kqy,{spacing:4,mt:4,children:[(0,n.jsxs)(l.Kqy,{spacing:0,children:[(0,n.jsx)(si.dQ,{name:"uses_profiling",label:"This system performs profiling",tooltip:"Does this system perform profiling that could have a legal effect?",disabled:S}),(0,n.jsx)(l.UO1,{in:r.uses_profiling,animateOpacity:!0,style:{overflow:"visible"},children:(0,n.jsx)(l.xuv,{mt:4,children:(0,n.jsx)(N.d,{mode:"multiple",layout:"stacked",name:"legal_basis_for_profiling",label:"Legal basis for profiling",options:sg,tooltip:"What is the legal basis under which profiling is performed?",disabled:S,isRequired:r.uses_profiling})})})]}),(0,n.jsxs)(l.Kqy,{spacing:0,children:[(0,n.jsx)(si.dQ,{name:"does_international_transfers",label:"This system transfers data",tooltip:"Does this system transfer data to other countries or international organizations?",disabled:S}),(0,n.jsx)(l.UO1,{in:r.does_international_transfers,animateOpacity:!0,style:{overflow:"visible"},children:(0,n.jsx)(l.xuv,{mt:4,children:(0,n.jsx)(N.d,{mode:"multiple",layout:"stacked",name:"legal_basis_for_transfers",label:"Legal basis for transfer",options:sy,tooltip:"What is the legal basis under which the data is transferred?",isRequired:r.does_international_transfers,disabled:S})})})]}),(0,n.jsxs)(l.Kqy,{spacing:0,children:[(0,n.jsx)(Z.w8,{name:"requires_data_protection_assessments",label:"This system requires Data Privacy Assessments",tooltip:"Does this system require (DPA/DPIA) assessments?",variant:"stacked",isDisabled:S}),(0,n.jsx)(l.UO1,{in:r.requires_data_protection_assessments,animateOpacity:!0,children:(0,n.jsx)(l.xuv,{mt:4,children:(0,n.jsx)(Z.j0,{label:"DPIA/DPA location",name:"dpa_location",tooltip:"Where is the DPA/DPIA stored?",variant:"stacked",disabled:S,isRequired:r.requires_data_protection_assessments})})})]})]})})]})}),(0,n.jsxs)(l.UO1,{in:r.processes_personal_data&&!r.exempt_from_privacy_regulations,animateOpacity:!0,children:[(0,n.jsxs)(e4.Z,{heading:"Cookie properties",children:[(0,n.jsx)(si.dQ,{name:"uses_cookies",label:"This system uses cookies",tooltip:"Does this system use cookies?",disabled:S}),(0,n.jsx)(si.dQ,{name:"cookie_refresh",label:"This system refreshes cookies",tooltip:"Does this system automatically refresh cookies?",disabled:S}),(0,n.jsx)(si.dQ,{name:"uses_non_cookie_access",label:"This system uses non-cookie trackers",tooltip:"Does this system use other types of trackers?",disabled:S}),(0,n.jsx)(si.lm,{name:"cookie_max_age_seconds",label:"Maximum duration (seconds)",tooltip:"What is the maximum amount of time a cookie will live?",disabled:S})]}),(0,n.jsxs)(e4.Z,{heading:"Administrative properties",children:[(0,n.jsx)(Z.j0,{label:"Data stewards",name:"data_stewards",tooltip:"Who are the stewards assigned to the system?",variant:"stacked",disabled:!0}),(0,n.jsx)(si.Yb,{id:"privacy_policy",name:"privacy_policy",label:"Privacy policy URL",tooltip:"Where can the privacy policy be located?",disabled:S}),(0,n.jsx)(si.Yb,{id:"legal_name",name:"legal_name",label:"Legal name",tooltip:"What is the legal name of the business?",disabled:S}),(0,n.jsx)(si.Sv,{id:"legal_address",name:"legal_address",label:"Legal address",tooltip:"What is the legal address for the business?",disabled:S}),(0,n.jsx)(Z.j0,{label:"Department",name:"administrating_department",tooltip:"Which department is concerned with this system?",variant:"stacked",disabled:!r.processes_personal_data||r.exempt_from_privacy_regulations||S}),(0,n.jsx)(N.d,{mode:"multiple",layout:"stacked",label:"Responsibility",name:"responsibility",options:sf,tooltip:"What is the role of the business with regard to data processing?",disabled:!r.processes_personal_data||r.exempt_from_privacy_regulations||S}),(0,n.jsx)(si.Yb,{name:"dpo",id:"dpo",label:"Legal contact (DPO)",tooltip:"What is the official privacy contact information?",disabled:S}),(0,n.jsx)(Z.j0,{label:"Joint controller",name:"joint_controller_info",tooltip:"Who are the party or parties that share responsibility for processing data?",variant:"stacked",disabled:!r.processes_personal_data||r.exempt_from_privacy_regulations||S}),(0,n.jsx)(si.Yb,{label:"Data security practices",name:"data_security_practices",id:"data_security_practices",tooltip:"Which data security practices are employed to keep the data safe?",disabled:S}),(0,n.jsx)(si.Yb,{label:"Legitimate interest disclosure URL",name:"legitimate_interest_disclosure_url",id:"legitimate_interest_disclosure_url",disabled:S}),(0,n.jsx)(si.Yb,{label:"Vendor deleted date",name:"vendor_deleted_date",id:"vendor_deleted_date",tooltip:"If this vendor is no longer active, it will be 'soft' deleted. When that occurs, it's deleted date will be recorded here for reporting.",disabled:!0})]}),r.fides_key?(0,n.jsx)(eX.uc,{resourceType:T.P6.SYSTEM,resourceFidesKey:r.fides_key}):null]})]}),(0,n.jsx)(l.xuv,{mt:6,children:(0,n.jsx)(l.wpx,{htmlType:"submit",type:"primary",disabled:R||!s||!o,loading:R,"data-testid":"save-btn",children:"Save"})}),i]})}})},sj=t(59003),sv=t(92222),sk=t(30952),sw=t(14481),sC=t(90111),sS=t(8133),sD=t(83099),sT=e=>{let{name:s,label:t,labelProps:a,tooltip:i}=e,[r,o,{setValue:d,setTouched:c}]=(0,P.U$)(s),u=!!(o.touched&&o.error);return(0,n.jsx)(l.NIc,{isInvalid:u,isRequired:!0,children:(0,n.jsxs)(l.jqI,{vertical:!0,children:[(0,n.jsxs)(l.jqI,{align:"center",children:[t&&(0,n.jsx)(Z.__,{htmlFor:s,fontSize:"xs",mr:1,...a,children:t}),i&&(0,n.jsx)(eO.b,{label:i})]}),(0,n.jsx)(sD.Z,{...r,mode:"multiple",selectedTaxonomies:[],onChange:e=>{d(e)},onBlur:()=>c(!0),variant:"outlined",autoFocus:!1,status:u?"error":void 0,"data-testid":"controlled-select-".concat(s)}),(0,n.jsx)(Z.Bc,{isInvalid:u,message:o.error,fieldName:s})]})})};(a=i||(i={})).COOKIE="Cookie",a.BROWSER_REQUEST="Browser Request",a.I_FRAME="iFrame",a.JAVASCRIPT_TAG="Javascript tag",a.IMAGE="Image";let sA=W.Ry().shape({name:W.Z_().required("Enter a name for this asset"),domain:W.Z_().required("Enter a valid domain for this asset"),asset_type:W.Z_().required("Select an asset type"),data_uses:W.IX().min(1,"Select at least one data use"),base_url:W.Z_().when("asset_type",{is:e=>"Cookie"!==e,then:e=>e.required("Base URL is required"),otherwise:e=>e.notRequired()})}),sI={name:"",description:"",data_uses:[],domain:"",asset_type:"",id:"",system_id:""};var sE=e=>{let{isOpen:s,onClose:t,systemKey:a,asset:r,...o}=e,d=!r,[c,{isLoading:u}]=su(),[p,{isLoading:m}]=sp(),h=(0,l.pmc)(),x=async e=>{let s=await c({systemKey:a,asset:e});if((0,sa.D4)(s)){let e=(0,sa.e$)(s.error,"An unexpected error occurred while saving this asset. Please try again.");h((0,f.Vo)(e))}else h((0,f.t5)("Asset added successfully")),t()},g=async e=>{let s=await p({systemKey:a,assets:[e]});if((0,sa.D4)(s)){let e=(0,sa.e$)(s.error,"An unexpected error occurred while saving this asset. Please try again.");h((0,f.Vo)(e))}else h((0,f.t5)("Asset updated successfully")),t()};return(0,n.jsx)(sS.Z,{title:d?"Add asset":"Edit asset",onClose:t,isOpen:s,...o,children:(0,n.jsx)(P.J9,{initialValues:null!=r?r:sI,onSubmit:e=>{d?x(e):g(e)},validationSchema:sA,children:e=>{let{values:s,isValid:a,dirty:r}=e;return(0,n.jsxs)(P.l0,{children:[(0,n.jsxs)(l.jqI,{vertical:!0,className:"pb-6 pt-4",children:[(0,n.jsx)(sC.Z,{children:(0,n.jsx)(l.xvT,{fontSize:"sm",children:"Create and configure assets (e.g. cookies, pixels, tags) for this system to ensure proper consent enforcement. Adding assets manually allows you to define key attributes, assign categories, and align them with compliance requirements."})}),(0,n.jsxs)(l.jqI,{vertical:!0,gap:20,children:[(0,n.jsx)(Z.j0,{id:"name",name:"name",label:"Name",variant:"stacked",isRequired:!0,disabled:!d}),(0,n.jsx)(N.d,{isRequired:!0,id:"asset_type",name:"asset_type",label:"Asset type",options:(0,sa.MM)(i),layout:"stacked",disabled:!d}),(0,n.jsx)(sT,{name:"data_uses",label:"Data uses",layout:"stacked"}),(0,n.jsx)(Z.j0,{id:"domain",name:"domain",label:"Domain",variant:"stacked",isRequired:!0,disabled:!d}),(0,n.jsx)(Z.Ks,{id:"description",name:"description",label:"Description",variant:"stacked"}),(0,n.jsx)(l.UO1,{in:!!s.asset_type&&"Cookie"!==s.asset_type,children:(0,n.jsx)(Z.j0,{id:"base_url",name:"base_url",label:"Base URL",variant:"stacked",isRequired:!!s.asset_type&&"Cookie"!==s.asset_type})})]})]}),(0,n.jsxs)(l.jqI,{justify:"space-between",children:[(0,n.jsx)(l.wpx,{onClick:t,children:"Cancel"}),(0,n.jsx)(l.wpx,{type:"primary",htmlType:"submit",loading:u||m,disabled:!a||!r,"data-testid":"save-btn",children:"Save"})]})]})}})})},sq=t(8411),sR=t(72625),sz=t(29850),sF=t(77685),sL=e=>{let{systemKey:s,systemName:t,asset:a,readonly:i}=e,[r,o]=(0,p.useState)(!1),[d,c]=(0,p.useState)(),[u,m]=(0,p.useState)(!1),[h,{isLoading:x}]=sp(),{successAlert:g,errorAlert:y}=(0,S.V)(),f=(0,l.qY0)(),{asset_type:_,name:b}=a,j=(0,p.useCallback)(e=>{e.preventDefault(),m(!0)},[]),v=async e=>{if(!e)return;let{newSystemKey:t,newSystemName:i,isNewSystem:n}=e,r=await h({systemKey:s,assets:[{id:a.id,system_key:t}]});(0,eh.D4)(r)?y((0,sa.e$)(r.error)):g(n?"".concat(i," has been added to your system inventory and the ").concat(_,' "').concat(b,'" has been assigned to that system.'):"".concat(_," ").concat(b," has been assigned to ").concat(i)),o(!1),c(void 0)},k=e=>{c(e),f.onOpen()};return i?(0,n.jsx)(l.j8w,{"data-testid":"system-badge",color:"white",children:t}):(0,n.jsxs)(n.Fragment,{children:[!r&&(0,n.jsxs)(l.j8w,{"data-testid":"system-badge",color:"white",onClick:()=>o(!0),children:[t," ",(0,n.jsx)(l.PJP.I8b,{})]}),!!r&&(0,n.jsx)(sz.R,{variant:"borderless",className:"w-full",autoFocus:!0,defaultOpen:!0,defaultValue:s,onBlur:e=>{var s;(null===(s=e.relatedTarget)||void 0===s?void 0:s.getAttribute("id"))!=="add-new-system"&&o(!1)},onAddSystem:j,onSelect:(e,s)=>k({newSystemKey:e,newSystemName:s.label}),loading:x}),u&&(0,n.jsx)(sF.i,{isOpen:!0,onClose:()=>m(!1),onSuccessfulSubmit:(e,s)=>k({newSystemKey:e,newSystemName:s,isNewSystem:!0})}),(0,n.jsx)(l.cVQ,{isOpen:f.isOpen,onClose:f.onClose,onConfirm:()=>{v(d)},title:"Reassign asset",message:"Are you sure you want to reassign this asset to ".concat(null==d?void 0:d.newSystemName,"?"),isCentered:!0})]})},sO=e=>{let{asset:s,systemKey:t,onEditClick:a}=e,[i,{isLoading:r}]=sm(),o=(0,l.pmc)(),{isOpen:d,onClose:c,onOpen:u}=(0,l.qY0)(),p=async()=>{let e=await i({systemKey:t,asset_ids:[s.id]});(0,eh.D4)(e)?o((0,f.Vo)((0,sa.e$)(e.error,"A problem occurred removing this asset. Please try again"))):o((0,f.t5)("Asset removed successfully"))};return(0,n.jsxs)(l.jqI,{className:"gap-1",children:[(0,n.jsx)(l.wpx,{size:"small",onClick:a,"data-testid":"edit-btn",children:"Edit"}),(0,n.jsx)(l.wpx,{size:"small",onClick:u,loading:r,"data-testid":"remove-btn",children:"Remove"}),(0,n.jsx)(l.cVQ,{isOpen:d,onClose:c,onConfirm:p,title:"Remove asset",message:"Are you sure you want to ignore the selected assets? This action cannot be undone and may impact consent automation.",isCentered:!0})]})},sZ=t(34929),sP=t(26183),sW=e=>{var s,t;let{asset:a,systemId:i,readonly:r}=e,{getDataUseDisplayName:o}=(0,sZ.Z)(),[d]=sp(),{errorAlert:c,successAlert:u}=(0,A.V)(),[m,h]=(0,p.useState)(!1),x=async e=>{let s=[...a.data_uses||[],e],t=await d({systemKey:i,assets:[{id:a.id,data_uses:s}]});(0,eh.D4)(t)?c((0,sa.e$)(t.error)):u("Consent category added to ".concat(a.asset_type,' "').concat(a.name,'".'),"Confirmed")},g=async e=>{var s;let t=null===(s=a.data_uses)||void 0===s?void 0:s.filter(s=>s!==e),n=await d({systemKey:i,assets:[{id:a.id,data_uses:t}]});(0,eh.D4)(n)?c((0,sa.e$)(n.error)):u("Consent category removed from ".concat(a.asset_type,' "').concat(a.name,'".'),"Confirmed")},y=null!==(t=null===(s=a.data_uses)||void 0===s?void 0:s.map(e=>({label:o(e),key:e})))&&void 0!==t?t:[];return r?(0,n.jsx)(sP.Z,{children:y.map(e=>(0,n.jsx)(l.j8w,{"data-testid":"data-use-".concat(e.key),color:"white",children:e.label},e.key))}):(0,n.jsxs)(sP.Z,{children:[!m&&(0,n.jsxs)(n.Fragment,{children:[y.map(e=>(0,n.jsx)(l.j8w,{"data-testid":"data-use-".concat(e.key),color:"white",closable:!0,onClose:()=>g(e.key),closeButtonLabel:"Remove data use",children:e.label},e.key)),(0,n.jsx)(l.j8w,{onClick:()=>h(!0),"data-testid":"taxonomy-add-btn",addable:!0,"aria-label":"Add data use"})]}),m&&(0,n.jsx)(l.xuv,{className:"select-wrapper",position:"absolute",zIndex:10,top:"0",left:"0",width:"100%",height:"max",bgColor:"#fff",children:(0,n.jsx)(sD.Z,{selectedTaxonomies:a.data_uses||[],onSelect:x,onBlur:()=>h(!1),open:!0})})]})},sN=e=>{let{systemKey:s,systemName:t,lockedForGVL:a,onEditClick:i}=e,r=(0,sv.Cl)(),l=r.display({id:"select",cell:e=>{let{row:s}=e;return(0,n.jsx)(sR.k,{isChecked:s.getIsSelected(),onChange:s.getToggleSelectedHandler(),dataTestId:"select-".concat(s.original.name||s.id)})},header:e=>{let{table:s}=e;return(0,n.jsx)(sR.k,{isChecked:s.getIsAllPageRowsSelected(),isIndeterminate:s.getIsSomeRowsSelected(),onChange:s.getToggleAllRowsSelectedHandler(),dataTestId:"select-all-rows"})},maxSize:40,meta:{cellProps:{borderRight:"none",paddingRight:0}}}),o=r.accessor(e=>e.name,{id:"name",cell:e=>(0,n.jsx)(sw.G3,{value:e.getValue()}),header:"Asset"}),d=r.accessor(e=>e.asset_type,{id:"resource_type",cell:e=>(0,n.jsx)(sw.G3,{value:e.getValue()}),header:"Type"}),c=r.display({id:"system",cell:e=>(0,n.jsx)(sL,{systemKey:s,systemName:t,asset:e.row.original,readonly:a}),header:"System"}),u=r.accessor(e=>e.data_uses,{id:"data_uses",cell:e=>(0,n.jsx)(sW,{asset:e.row.original,systemId:s,readonly:a}),header:"Categories of consent",size:200}),p=r.accessor(e=>e.locations,{id:"locations",cell:e=>(0,n.jsx)(sR.mb,{values:e.getValue().map(e=>({label:sq.Z8[e],key:e}))}),header:"Locations",size:300}),m=r.accessor(e=>e.domain,{id:"domain",cell:e=>(0,n.jsx)(sw.G3,{value:e.getValue()}),header:"Domain"}),h=r.accessor(e=>e.page,{id:"page",cell:e=>(0,n.jsx)(sR.tc,{values:e.getValue(),valueSuffix:"pages",cellProps:e}),header:e=>(0,n.jsx)(sR.Rr,{value:"Detected on",...e}),meta:{showHeaderMenu:!0,disableRowClick:!0}}),x=r.display({id:"actions",cell:e=>{let{row:t}=e;return(0,n.jsx)(sO,{asset:t.original,systemKey:s,onEditClick:()=>i(t.original)})},header:"Actions"}),g=[o,d,c,u,p,m,h];return a?g:[l,...g,x]},sU=e=>{var s;let{system:t}=e,{PAGE_SIZES:a,pageSize:i,setPageSize:r,onPreviousPageClick:o,isPreviousPageDisabled:d,onNextPageClick:c,isNextPageDisabled:u,startRange:h,endRange:x,pageIndex:g,setTotalPages:y,resetPageIndexToDefault:_}=(0,sw.oi)(),[b,j]=(0,p.useState)(""),[v,k]=(0,p.useState)(void 0),[w,C]=(0,p.useState)({}),[S]=sm(),D=(0,m.C)(ey.gU),T=(0,l.pmc)(),{data:A,isLoading:I,isFetching:E}=sc({fides_key:t.fides_key,search:b,page:g,size:i}),{isOpen:q,onClose:R,onOpen:z}=(0,l.qY0)(),{isOpen:F,onClose:L,onOpen:O}=(0,l.qY0)();(0,p.useEffect)(()=>{_()},[b,_]),(0,p.useEffect)(()=>{y(null==A?void 0:A.pages)},[A,y]);let Z=sN({systemName:null!==(s=t.name)&&void 0!==s?s:t.fides_key,systemKey:t.fides_key,onEditClick:e=>{k(e),z()},lockedForGVL:D}),P=(0,sj.b7)({getCoreRowModel:(0,sv.sC)(),columns:Z,manualPagination:!0,data:(null==A?void 0:A.items)||[],columnResizeMode:"onChange",onRowSelectionChange:C,state:{rowSelection:w}}),W=P.getSelectedRowModel().rows.map(e=>e.original.id),N=async()=>{let e=await S({systemKey:t.fides_key,asset_ids:W});(0,eh.D4)(e)?T((0,f.Vo)((0,sa.e$)(e.error,"A problem occurred removing these assets. Please try again."))):(P.resetRowSelection(),T((0,f.t5)("Assets removed successfully"))),L()};return t?I?(0,n.jsx)(sw.I4,{rowHeight:36,numRows:36}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.xvT,{fontSize:"sm",mb:4,children:D?"This page displays all assets associated with this system. Use the table below to review these technologies for compliance and detailed insights.":"This page displays all assets associated with this system. Use the table below to review and manage these technologies for compliance and detailed insights."}),(0,n.jsxs)(sw.Q$,{children:[(0,n.jsx)(sk.f,{value:b,onChange:j}),!D&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.LZC,{}),(0,n.jsx)(l.wpx,{icon:(0,n.jsx)(l.PJP.mm_,{}),iconPosition:"end",onClick:z,"data-testid":"add-asset-btn",children:"Add asset"}),(0,n.jsx)(sE,{isOpen:q,onClose:()=>{k(void 0),R()},systemKey:t.fides_key,asset:v}),(0,n.jsx)(l.wpx,{icon:(0,n.jsx)(l.PJP.ZNm,{}),iconPosition:"end",onClick:O,disabled:!W.length,"data-testid":"bulk-delete-btn",children:"Remove"}),(0,n.jsx)(l.cVQ,{isOpen:F,onClose:L,onConfirm:N,title:"Remove assets",message:"Are you sure you want to remove the selected assets? This action cannot be undone and may impact consent automation.",isCentered:!0})]})]}),(0,n.jsx)(sw.ZK,{tableInstance:P,emptyTableNotice:(0,n.jsx)(l.oj8,{image:l.oj8.PRESENTED_IMAGE_SIMPLE,description:"No assets found","data-testid":"empty-state"})}),(0,n.jsx)(sw.s8,{totalRows:(null==A?void 0:A.total)||0,pageSizes:a,setPageSize:r,onPreviousPageClick:o,isPreviousPageDisabled:d||E,onNextPageClick:c,isNextPageDisabled:u||E,startRange:h,endRange:x})]}):null};let sV={INFORMATION:{index:0,hash:"#information"},DATA_USES:{index:1,hash:"#data-uses"},DATA_FLOW:{index:2,hash:"#data-flow"},INTEGRATIONS:{index:3,hash:"#integrations"},ASSETS:{index:4,hash:"#assets"},HISTORY:{index:5,hash:"#history"}},sM=e=>{let s=e.startsWith("#")?e:"#".concat(e);return Object.values(sV).find(e=>e.hash===s)},sB=e=>Object.values(sV).find(s=>s.index===e),sK=e=>{let{onViewDatamap:s,onAddPrivacyDeclaration:t}=e;return(0,n.jsxs)(l.xuv,{children:[(0,n.jsx)(l.xvT,{fontWeight:"700",children:"System has been saved successfully"}),(0,n.jsxs)(l.xvT,{textColor:"gray.700",whiteSpace:"inherit",children:["Your system has been added to your data map. You can"," ",(0,n.jsx)(_.Z,{onClick:s,children:"view it now"})," or"," ",(0,n.jsx)(_.Z,{onClick:t,children:"add privacy declarations in the next tab"}),"."]})]})};var sH=e=>{var s,t;let{isCreate:a}=e,i=(0,c.useRouter)(),[o,u]=(0,p.useState)((()=>{var e,s;let t=i.asPath.split("#")[1];return t&&null!==(s=null===(e=sM(t))||void 0===e?void 0:e.index)&&void 0!==s?s:sV.INFORMATION.index})()),[_,b]=(0,p.useState)(!1),{systemOrDatamapRoute:j}=(0,g.V)(),v=(0,l.pmc)(),k=(0,m.T)(),w=(0,m.C)(O.NC),[C,S]=(0,p.useState)(void 0),{plus:D}=(0,h.hz)(),{plus:T}=(0,h.hz)(),{data:A}=(0,O.rn)(null==w?void 0:w.fides_key,{skip:!w});(0,p.useEffect)(()=>{k((0,O.db)(A))},[A,k]),(0,p.useEffect)(()=>{w&&S(w.processes_personal_data)},[w]);let I=(0,p.useCallback)(e=>{void 0===w&&b(!0),k((0,O.db)(e)),i.push({pathname:y.Dv,query:{id:e.fides_key}});let s={...f.MA,description:(0,n.jsx)(sK,{onViewDatamap:()=>{i.push(j).then(()=>{v.closeAll()})},onAddPrivacyDeclaration:()=>{u(1),v.closeAll()}})};v({...s})},[w,k,i,j,v]);(0,p.useEffect)(()=>(a&&(k((0,O.db)(void 0)),k((0,ey.b3)("initial")),k((0,ey.gQ)(!1))),()=>{k((0,O.db)(void 0))}),[k,a]);let{attemptAction:E}=(0,x.oI)(),q=(0,p.useCallback)(e=>{E().then(async s=>{if(s){let{status:s}=i.query;if(s&&("succeeded"===s?v((0,f.t5)("Integration successfully authorized.")):v((0,f.Vo)("Failed to authorize integration."))),u(e),i.isReady){let s=sB(e);if(s){let e={...i.query};delete e.status,await i.replace({pathname:i.pathname,query:e,hash:s.hash},void 0,{shallow:!0})}}}})},[E,i,v]);(0,p.useEffect)(()=>{let{status:e}=i.query;e&&q(sV.INTEGRATIONS.index)},[i.query,q]);let R=[{label:"Information",content:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.xuv,{px:6,mb:9,children:[(0,n.jsx)(x.eB,{}),(0,n.jsx)(sb,{onSuccess:I,system:w})]}),_?(0,n.jsx)(l.xuv,{backgroundColor:"gray.100",px:6,py:3,children:(0,n.jsxs)(l.xvT,{color:"primary.900",fontSize:"sm","data-testid":"save-help-message",children:["Now that you have saved this new system it is"," ",(0,n.jsx)(l.rUS,{as:d(),href:j,textDecor:"underline",children:"ready to view in your data map"}),". You can return to this setup at any time to add privacy declarations to this system."]})}):null]})},{label:"Data uses",content:w?(0,n.jsx)(l.xuv,{px:6,width:{base:"100%",lg:"70%"},children:(0,n.jsx)(st,{system:w})}):null,isDisabled:!w||!C},{label:"Data flow",content:w?(0,n.jsxs)(l.xuv,{width:{base:"100%",lg:"70%"},children:[(0,n.jsxs)(l.xuv,{px:6,paddingBottom:2,children:[(0,n.jsx)(l.xvT,{fontSize:"md",lineHeight:6,fontWeight:"bold",marginBottom:3,children:"Data flow"}),(0,n.jsx)(l.xvT,{fontSize:"sm",lineHeight:5,fontWeight:"medium",children:"Data flow describes the flow of data between systems in your Data Map. Below, you can configure Source and Destination systems and the corresponding links will be drawn in the Data Map graph. Source systems are systems that send data to this system while Destination systems receive data from this system."})]}),(0,n.jsx)(r.q,{system:w,isSystemTab:!0})]}):null,isDisabled:!w},{label:"Integrations",content:w?(0,n.jsxs)(l.xuv,{width:{base:"100%",lg:"70%"},children:[(0,n.jsx)(l.xuv,{px:6,paddingBottom:2,children:(0,n.jsx)(l.xvT,{fontSize:"sm",lineHeight:5,children:T?(0,n.jsxs)(n.Fragment,{children:["Add an integration to start managing privacy requests and consent. Visit"," ",(0,n.jsx)(l.rUS,{href:y.KH,color:"link.900",children:"Integration Management"})," ","to set up monitoring on databases."]}):"Integrations are used to process privacy requests for access erasure, portability, rectification, and consent."})}),(0,n.jsx)(ep,{connectionConfig:w.connection_configs,systemFidesKey:w.fides_key}),(null===(s=w.connection_configs)||void 0===s?void 0:s.key)&&(0,n.jsx)(eg,{m:6,connectionKey:null===(t=w.connection_configs)||void 0===t?void 0:t.key})]}):null,isDisabled:!w}];return D&&R.push({label:"Assets",content:w?(0,n.jsx)(sU,{system:w}):null,isDisabled:!w}),D&&R.push({label:"History",content:w?(0,n.jsxs)(l.xuv,{width:{base:"100%",lg:"70%"},children:[(0,n.jsx)(l.xuv,{px:6,paddingBottom:6,children:(0,n.jsx)(l.xvT,{fontSize:"sm",lineHeight:5,fontWeight:"medium",children:"All changes to this system are tracked here in this audit table by date and by user. You can inspect the changes by selecting any of the events listed."})}),(0,n.jsx)(eB,{system:w})]}):null,isDisabled:!w}),{tabData:R,tabIndex:o,onTabChange:q}}},54748:function(e,s,t){var a=t(27378),i=t(61317);s.Z=()=>({legalBasisOptions:(0,a.useMemo)(()=>Object.keys(i.gP).map(e=>({value:i.gP[e],label:i.gP[e]})),[])})},28325:function(e,s,t){var a=t(27378),i=t(61317);s.Z=()=>({specialCategoryLegalBasisOptions:(0,a.useMemo)(()=>Object.keys(i.nV).map(e=>({value:i.nV[e],label:i.nV[e]})),[])})}}]);
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8433],{58754:function(e,t,i){var n=i(24246),r=i(4454),l=i(70788);t.Z=e=>{let{heading:t,breadcrumbItems:i,isSticky:s=!0,children:a,rightContent:d,style:o,...c}=e;return(0,n.jsxs)("div",{...c,style:s?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...o}:{paddingBottom:"24px",...o},children:[(0,n.jsxs)(r.jqI,{justify:"space-between",children:["string"==typeof t?(0,n.jsx)(r.lQT,{className:i||a?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,d&&(0,n.jsx)("div",{"data-testid":"page-header-right-content",children:d})]}),!!i&&(0,n.jsx)(l.m,{className:a?"pb-4":void 0,items:i,"data-testid":"page-breadcrumb"}),a]})}},19904:function(e,t,i){i.d(t,{Tg:function(){return s}});var n=i(24246),r=i(16134),l=i(31793);let s=e=>(0,r.C)(l.uu).filter(t=>e.includes(t)).length>0;t.ZP=e=>{let{scopes:t,children:i}=e;return s(t)?(0,n.jsx)(n.Fragment,{children:i}):null}},14047:function(e,t,i){i.d(t,{H:function(){return l},V:function(){return n.V}});var n=i(84306),r=i(812);let l=()=>{let{errorAlert:e}=(0,n.V)();return{handleError:t=>{let i="An unexpected error occurred. Please try again.";(0,r.Ot)(t)?i=t.data.detail:(0,r.tB)(t)&&(i=t.data.detail[0].msg),e(i)}}}},84306:function(e,t,i){i.d(t,{V:function(){return l}});var n=i(24246),r=i(4454);let l=()=>{let e=(0,r.pmc)();return{errorAlert:(t,i,l)=>{let s={...l,position:(null==l?void 0:l.position)||"top",render:e=>{let{onClose:l}=e;return(0,n.jsxs)(r.bZj,{alignItems:"normal",status:"error","data-testid":"error-alert",children:[(0,n.jsx)(r.zMQ,{}),(0,n.jsxs)(r.xuv,{children:[i&&(0,n.jsx)(r.CdC,{children:i}),(0,n.jsx)(r.XaZ,{children:t})]}),(0,n.jsx)(r.PZ7,{onClick:l,position:"relative",right:0,size:"sm",top:-1})]})}};(null==l?void 0:l.id)&&e.isActive(l.id)?e.update(l.id,s):e(s)},successAlert:(t,i,l)=>{let s={...l,position:(null==l?void 0:l.position)||"top",render:e=>{let{onClose:l}=e;return(0,n.jsxs)(r.bZj,{alignItems:"normal",status:"success",variant:"subtle","data-testid":"success-alert",children:[(0,n.jsx)(r.zMQ,{}),(0,n.jsxs)(r.xuv,{children:[i&&(0,n.jsx)(r.CdC,{children:i}),(0,n.jsx)(r.XaZ,{children:t})]}),(0,n.jsx)(r.PZ7,{onClick:l,position:"relative",right:0,size:"sm",top:-1})]})}};(null==l?void 0:l.id)&&e.isActive(l.id)?e.update(l.id,s):e(s)}}}},70788:function(e,t,i){i.d(t,{m:function(){return o}});var n=i(24246),r=i(4454),l=i(79894),s=i.n(l),a=i(27378);let{Text:d}=r.AntTypography,o=e=>{let{items:t,...i}=e,l=(0,a.useMemo)(()=>null==t?void 0:t.map((e,i)=>{let l=i===t.length-1,a={...e},o=a.onClick&&!a.href;return("string"==typeof a.title&&(a.title=(0,n.jsx)(d,{style:{color:"inherit",maxWidth:l?void 0:400},ellipsis:!l,children:a.title})),o)?a.title=(0,n.jsx)(r.wpx,{type:"text",size:"small",icon:a.icon,onClick:a.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:a.title}):(a.icon&&(a.title=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"anticon align-text-bottom",children:a.icon}),a.title]})),a.href&&a.title&&(a.title=(0,n.jsx)(s(),{href:a.href,className:"ant-breadcrumb-link",children:a.title}),delete a.href)),a}),[t]);return(0,n.jsx)(r.zrq,{items:l,...i})}},57526:function(e,t,i){var n=i(24246),r=i(4454),l=i(27378);t.Z=e=>{let{isOpen:t,onClose:i,onApproveRequest:s,isLoading:a,subjectRequest:d}=e,{identity:o,identity_verified_at:c,custom_privacy_request_fields:u}=d,x=(0,l.useCallback)(()=>{s().then(()=>{i()})},[s,i]);return(0,n.jsxs)(r.u_l,{isOpen:t,onClose:i,size:"lg",isCentered:!0,children:[(0,n.jsx)(r.ZAr,{}),(0,n.jsxs)(r.hzk,{children:[(0,n.jsx)(r.xBx,{children:"Privacy request approval"}),(0,n.jsxs)(r.fef,{paddingTop:0,paddingBottom:0,children:[(0,n.jsx)(r.xvT,{color:"gray.500",fontSize:"14px",marginBottom:4,children:"Are you sure you want to approve this privacy request?"}),(0,n.jsxs)(r.QI$,{children:[Object.entries(o).filter(e=>{let[,{value:t}]=e;return null!==t}).map(e=>{let[t,{value:i,label:l}]=e;return(0,n.jsx)(r.HCh,{children:(0,n.jsxs)(r.kCb,{alignItems:"flex-start",children:[(0,n.jsxs)(r.xvT,{mr:2,fontSize:"sm",color:"gray.900",fontWeight:"500",children:[l,":"]}),(0,n.jsx)(r.xvT,{color:"gray.600",fontWeight:"500",fontSize:"sm",mr:2,children:i}),"(",c?"Verified":"Unverified",")"]},t)},t)}),u&&Object.entries(u).filter(e=>{let[,t]=e;return t.value}).map(e=>{let[t,i]=e;return(0,n.jsx)(r.HCh,{children:(0,n.jsxs)(r.kCb,{alignItems:"flex-start",children:[(0,n.jsxs)(r.xvT,{mr:2,fontSize:"sm",color:"gray.900",fontWeight:"500",children:[i.label,":"]}),(0,n.jsxs)(r.xvT,{color:"gray.600",fontWeight:"500",fontSize:"sm",mr:2,children:[Array.isArray(i.value)?i.value.join(", "):i.value," "]}),"(Unverified)"]},t)},t)})]})]}),(0,n.jsx)(r.mzw,{children:(0,n.jsxs)(r.MIq,{columns:2,width:"100%",children:[(0,n.jsx)(r.wpx,{onClick:i,className:"mr-3","data-testid":"cancel-btn",children:"Cancel"}),(0,n.jsx)(r.wpx,{type:"primary","data-testid":"continue-btn",onClick:x,loading:a,children:"Confirm"})]})})]})]})}},66548:function(e,t,i){var n=i(24246),r=i(40324),l=i(4454),s=i(34090),a=i(27378),d=i(55484);let o={denialReason:""};t.Z=e=>{let{isOpen:t,onClose:i,onDenyRequest:c}=e,u=(0,a.useCallback)((e,t)=>{let{setSubmitting:n}=t;c(e.denialReason).then(()=>{n(!1),i()})},[c,i]);return(0,n.jsxs)(l.u_l,{isOpen:t,onClose:i,isCentered:!0,returnFocusOnClose:!1,children:[(0,n.jsx)(l.ZAr,{}),(0,n.jsx)(l.hzk,{width:"100%",maxWidth:"456px","data-testid":"deny-privacy-request-modal",children:(0,n.jsx)(s.J9,{initialValues:o,validationSchema:d.Ry({denialReason:d.Z_().required().label("Reason for denial")}),onSubmit:u,children:e=>{let{isSubmitting:t,dirty:a,isValid:d}=e;return(0,n.jsxs)(s.l0,{children:[(0,n.jsx)(l.xBx,{children:"Privacy request denial"}),(0,n.jsx)(l.fef,{color:"gray.500",fontSize:"14px",children:"Please enter a reason for denying this privacy request. Please note: this can be seen by the user in their notification email."}),(0,n.jsx)(l.fef,{children:(0,n.jsx)(r.Ks,{name:"denialReason",textAreaProps:{focusBorderColor:"primary.600",resize:"none"}})}),(0,n.jsxs)(l.mzw,{className:"flex w-full gap-4",children:[(0,n.jsx)(l.wpx,{disabled:t,onClick:i,className:"grow",children:"Cancel"}),(0,n.jsx)(l.wpx,{htmlType:"submit",type:"primary",disabled:!a||!d,loading:t,className:"grow","data-testid":"deny-privacy-request-modal-btn",children:"Confirm"})]})]})}})})]})}},45489:function(e,t,i){i.d(t,{Z:function(){return r}});var n=i(90867);let r=e=>{let{subjectRequest:t}=e,[i,r]=(0,n.RW)({fixedCacheKey:t.id}),[l,s]=(0,n.F1)({fixedCacheKey:t.id}),[a,d]=(0,n.rC)({fixedCacheKey:t.id}),o=s.isLoading||r.isLoading;return{approveRequest:i,approveRequestResult:r,denyRequest:l,denyRequestResult:s,handleApproveRequest:()=>i(t),handleDenyRequest:e=>l({id:t.id,reason:e}),handleDeleteRequest:()=>a(t),softDeleteRequestResult:d,isLoading:o}}}}]);
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8499],{95492:function(e,s,t){t.d(s,{l:function(){return i}});var n=t(24246);let i=(0,t(4454).IUT)({displayName:"TrashCanSolidIcon",viewBox:"0 0 12 15",path:(0,n.jsx)("path",{d:"M8.37857 1.18083C8.23393 0.892838 7.93661 0.710938 7.6125 0.710938H4.3875C4.06339 0.710938 3.76607 0.892838 3.62143 1.18083L3.42857 1.56094H0.857143C0.383036 1.56094 -1.19209e-07 1.94158 -1.19209e-07 2.41094C-1.19209e-07 2.8803 0.383036 3.26094 0.857143 3.26094H11.1429C11.6162 3.26094 12 2.8803 12 2.41094C12 1.94158 11.6162 1.56094 11.1429 1.56094H8.57143L8.37857 1.18083ZM11.167 4.11094H0.857143V12.6109C0.857143 13.5486 1.62589 14.3109 2.57143 14.3109H9.45268C10.3754 14.3109 11.167 13.5486 11.167 12.6109V4.11094ZM9.02411 6.23594V12.1859C9.02411 12.4197 8.80714 12.6109 8.59554 12.6109C8.33571 12.6109 8.16696 12.4197 8.16696 12.1859V6.23594C8.16696 6.00219 8.33571 5.81094 8.59554 5.81094C8.80714 5.81094 9.02411 6.00219 9.02411 6.23594ZM6.45268 6.23594V12.1859C6.45268 12.4197 6.23571 12.6109 6.02411 12.6109C5.76429 12.6109 5.57143 12.4197 5.57143 12.1859V6.23594C5.57143 6.00219 5.76429 5.81094 6.02411 5.81094C6.23571 5.81094 6.45268 6.00219 6.45268 6.23594ZM3.85714 6.23594V12.1859C3.85714 12.4197 3.66429 12.6109 3.42857 12.6109C3.19286 12.6109 3 12.4197 3 12.1859V6.23594C3 6.00219 3.19286 5.81094 3.42857 5.81094C3.66429 5.81094 3.85714 6.00219 3.85714 6.23594Z",fill:"currentColor"})})},45938:function(e,s,t){t.d(s,{Gt:function(){return m},eB:function(){return f},oI:function(){return u}});var n=t(24246),i=t(34090),a=t(27378),l=t(16134),r=t(38602),d=t(58452);let o=(0,a.createRef)(),c=(0,a.createRef)(),u=()=>{let e=(0,l.T)(),s=(0,l.C)(r.DB),t=(0,a.useCallback)(()=>{c.current=void 0,o.current=void 0},[]),n=(0,a.useCallback)(()=>{e((0,r.Mr)()),c.current&&(c.current(!0),t())},[e,t]),i=(0,a.useCallback)(()=>{e((0,r.Mr)()),c.current&&(c.current(!1),t())},[e,t]);return{attemptAction:(0,a.useCallback)(()=>s?(e((0,r.h7)()),o.current||(o.current=new Promise(e=>{c.current=e})),o.current):Promise.resolve(!0),[s,e]),onConfirm:n,onClose:i}},m=e=>{let{id:s,name:t}=e,{dirty:n}=(0,i.u6)(),d=(0,l.T)();return(0,a.useEffect)(()=>(d((0,r.Zu)({id:s,name:t})),()=>{d((0,r.dz)({id:s}))}),[d,s,t]),(0,a.useEffect)(()=>{d((0,r.$p)({id:s,isDirty:n}))},[n,d,s]),null},f=()=>{let{onConfirm:e,onClose:s}=u(),t=(0,l.C)(r.uv);return(0,n.jsx)(d.Z,{isOpen:t,onClose:s,onConfirm:e,isCentered:!0,title:"Unsaved Changes",message:"You have unsaved changes"})}},84720:function(e,s,t){t.d(s,{q:function(){return p}});var n=t(24246),i=t(4454),a=t(27378),l=t(812),r=t(45938),d=t(14048),o=t(95492),c=t(34090);let u=e=>{let{systems:s,dataFlows:t,onDataFlowSystemChange:a}=e,{setFieldValue:l}=(0,c.u6)(),r=t.map(e=>e.fides_key),d=e=>{let s=t.filter(s=>s.fides_key!==e.fides_key);l("dataFlowSystems",s),a(s)};return(0,n.jsxs)(i.iA_,{size:"sm","data-testid":"assign-systems-delete-table",children:[(0,n.jsx)(i.hrZ,{children:(0,n.jsxs)(i.Tr,{children:[(0,n.jsx)(i.Th,{children:"System"}),(0,n.jsx)(i.Th,{})]})}),(0,n.jsx)(i.p3B,{children:s.filter(e=>r.includes(e.fides_key)).map(e=>(0,n.jsxs)(i.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,n.jsx)(i.Td,{children:(0,n.jsx)(i.xvT,{fontSize:"xs",lineHeight:4,fontWeight:"medium",children:e.name})}),(0,n.jsx)(i.Td,{textAlign:"end",children:(0,n.jsx)(i.wpx,{"aria-label":"Unassign data flow from system",icon:(0,n.jsx)(o.l,{}),onClick:()=>d(e),"data-testid":"unassign-btn"})})]},e.fides_key))})]})};var m=t(26917),f=e=>{let{allSystems:s,dataFlowSystems:t,onChange:a,flowType:l}=e,{setFieldValue:r}=(0,c.u6)(),d=e=>{if(t.find(s=>s.fides_key===e.fides_key)){let s=t.filter(s=>s.fides_key!==e.fides_key);r("dataFlowSystems",s),a(s)}else{let s=[...t,{fides_key:e.fides_key,type:"system"}];r("dataFlowSystems",s),a(s)}};return(0,n.jsx)(i.xuv,{overflowY:"auto",maxHeight:"300px",children:(0,n.jsxs)(i.iA_,{size:"sm","data-testid":"assign-systems-table",maxHeight:"50vh",overflowY:"scroll",children:[(0,n.jsx)(i.hrZ,{position:"sticky",top:0,background:"white",zIndex:1,children:(0,n.jsxs)(i.Tr,{children:[(0,n.jsx)(i.Th,{children:"System"}),(0,n.jsxs)(i.Th,{textAlign:"right",children:["Set as ",l]})]})}),(0,n.jsx)(i.p3B,{children:s.map(e=>{let s=!!t.find(s=>s.fides_key===e.fides_key);return(0,n.jsxs)(i.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,n.jsx)(i.Td,{children:(0,n.jsx)(i.xvT,{fontSize:"xs",lineHeight:4,fontWeight:"medium",children:e.name})}),(0,n.jsx)(i.Td,{textAlign:"right",children:(0,n.jsx)(i.rAg,{checked:s,onChange:()=>d(e),"data-testid":"assign-switch"})})]},e.fides_key)})})]})})};let h=(e,s)=>{var t,n;return(null===(t=e.name)||void 0===t?void 0:t.toLocaleLowerCase().includes(s.toLocaleLowerCase()))||(null===(n=e.description)||void 0===n?void 0:n.toLocaleLowerCase().includes(s.toLocaleLowerCase()))};var x=e=>{let{currentSystem:s,systems:t,isOpen:l,onClose:r,dataFlowSystems:d,onDataFlowSystemChange:o,flowType:u}=e,{setFieldValue:x}=(0,c.u6)(),[y,g]=(0,a.useState)(""),[C,j]=(0,a.useState)(d),p=async()=>{o(C),r()},k=0===t.length,w=(0,a.useMemo)(()=>t?t.filter(e=>e.fides_key!==s.fides_key).filter(e=>h(e,y)):[],[t,s.fides_key,y]),v=(0,a.useMemo)(()=>{let e=new Set(C.map(e=>e.fides_key));return w.every(s=>e.has(s.fides_key))},[w,C]);return(0,n.jsxs)(i.u_l,{isOpen:l,onClose:r,size:"2xl",isCentered:!0,children:[(0,n.jsx)(i.ZAr,{}),(0,n.jsxs)(i.hzk,{p:8,"data-testid":"confirmation-modal",children:[(0,n.jsxs)(i.xBx,{fontWeight:"medium",display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,n.jsxs)(i.xvT,{fontSize:"2xl",lineHeight:8,fontWeight:"semibold",children:["Configure ",u.toLocaleLowerCase()," systems"]}),(0,n.jsxs)(i.j8w,{color:"success",children:["Assigned to ",C.length," systems"]})]}),(0,n.jsx)(i.fef,{"data-testid":"assign-systems-modal-body",children:k?(0,n.jsx)(i.xvT,{children:"No systems found"}):(0,n.jsxs)(i.Kqy,{spacing:4,children:[(0,n.jsxs)(i.kCb,{justifyContent:"space-between",children:[(0,n.jsx)(i.xvT,{fontSize:"sm",flexGrow:1,fontWeight:"medium",children:"Add or remove destination systems from your data map"}),(0,n.jsx)(i.xuv,{children:(0,n.jsxs)(i.NIc,{display:"flex",alignItems:"center",children:[(0,n.jsx)(i.lXp,{fontSize:"sm",htmlFor:"assign-all-systems",mb:"0",children:"Assign all systems"}),(0,n.jsx)(i.rAg,{size:"small",id:"assign-all-systems",checked:v,onChange:e=>{if(e&&t){let e=w.map(e=>({fides_key:e.fides_key,type:"system"}));x("dataFlowSystems",e),j(e)}else j([])},"data-testid":"assign-all-systems-toggle"})]})})]}),(0,n.jsx)(m.Z,{value:y,onChange:g,placeholder:"Search for systems","data-testid":"system-search",withIcon:!0}),(0,n.jsx)(f,{flowType:u,allSystems:w,dataFlowSystems:C,onChange:j})]})}),(0,n.jsxs)(i.mzw,{justifyContent:"flex-start",children:[(0,n.jsx)(i.wpx,{onClick:r,className:"mr-2","data-testid":"cancel-btn",children:"Cancel"}),!k&&(0,n.jsx)(i.wpx,{type:"primary",onClick:p,"data-testid":"confirm-btn",children:"Confirm"})]})]})]})},y=t(46628),g=t(1315);let C={dataFlowSystems:[]},j=e=>{let{system:s,isIngress:t,isSystemTab:o}=e,m=(0,i.pmc)(),f=t?"Source":"Destination",h="".concat(f,"s"),j=(0,i.qY0)(),[p]=(0,g.qQ)(),{data:k=[]}=(0,g.K3)(),w=(0,a.useMemo)(()=>{let e=t?s.ingress:s.egress;e||(e=[]);let n=k?k.map(e=>e.fides_key):[];return e.filter(e=>n.includes(e.fides_key))},[t,s,k]),[v,b]=(0,a.useState)(w);(0,a.useEffect)(()=>{b(w)},[w]);let _=async(e,n)=>{let{dataFlowSystems:i}=e,{resetForm:a}=n,r={...s,ingress:t?i:s.ingress,egress:t?s.egress:i},d=await p(r);(0,l.D4)(d)?m((0,y.Vo)("Failed to update data flows")):m((0,y.t5)("".concat(h," updated"))),a({values:{dataFlowSystems:i}})};return(0,n.jsxs)(i.Qdk,{children:[(0,n.jsx)(i.KFZ,{height:"68px",paddingLeft:o?6:2,"data-testid":"data-flow-button-".concat(f),children:(0,n.jsxs)(i.kCb,{alignItems:"center",justifyContent:"start",flex:1,textAlign:"left",children:[(0,n.jsx)(i.xvT,{fontSize:"sm",lineHeight:5,fontWeight:"semibold",mr:2,children:h}),(0,n.jsx)(i.Vp9,{ml:2,backgroundColor:"primary.400",borderRadius:"6px",color:"white",children:v.length}),(0,n.jsx)(i.LZC,{}),(0,n.jsx)(i.XEm,{})]})}),(0,n.jsx)(i.Hk3,{backgroundColor:"gray.50",padding:6,"data-testid":"data-flow-panel-".concat(f),children:(0,n.jsx)(i.Kqy,{borderRadius:"md",backgroundColor:"gray.50","aria-selected":"true",spacing:4,"data-testid":"selected",children:(0,n.jsx)(c.J9,{initialValues:C,onSubmit:_,children:e=>{let{isSubmitting:t,dirty:a,resetForm:l}=e;return(0,n.jsxs)(c.l0,{children:[(0,n.jsx)(r.Gt,{id:"".concat(s.fides_key,":").concat(f),name:"".concat(f," Data Flow")}),(0,n.jsx)(i.wpx,{onClick:j.onOpen,type:"primary",size:"small",icon:(0,n.jsx)(d.A5,{}),iconPosition:"end",className:"mb-4","data-testid":"assign-systems-btn",children:"Configure ".concat(h.toLocaleLowerCase())}),(0,n.jsx)(u,{systems:k,dataFlows:v,onDataFlowSystemChange:b}),(0,n.jsxs)("div",{className:"mt-6 flex gap-2",children:[(0,n.jsx)(i.wpx,{disabled:!a&&v===w,onClick:()=>{b(w),l({values:{dataFlowSystems:w}})},"data-testid":"cancel-btn",children:"Cancel"}),(0,n.jsx)(i.wpx,{type:"primary",htmlType:"submit",loading:t,disabled:!a&&v===w,"data-testid":"save-btn",children:"Save"})]}),j.isOpen?(0,n.jsx)(x,{currentSystem:s,systems:k,isOpen:j.isOpen,onClose:j.onClose,dataFlowSystems:v,onDataFlowSystemChange:b,flowType:f}):null]})}})})})]})},p=e=>{let{system:s,isSystemTab:t}=e;return(0,n.jsxs)(i.UQy,{allowToggle:!0,"data-testid":"data-flow-accordion",children:[(0,n.jsx)(j,{system:s,isIngress:!0,isSystemTab:t}),(0,n.jsx)(j,{system:s,isSystemTab:t})]})}},52368:function(e,s,t){t.d(s,{f:function(){return d}});var n=t(16134),i=t(30002),a=t(28079),l=t(41966),r=t(57072);let d=e=>{let{includeDatasets:s,includeDisabled:t}=e,{isLoading:d}=(0,r.MO)(),{isLoading:o}=(0,i.te)(),{isLoading:c}=(0,a.fd)(),{isLoading:u}=(0,l.LH)({onlyUnlinkedDatasets:!1},{skip:!s}),m=(0,n.C)(r.qb),f=(0,n.C)(r.Bd),h=(0,n.C)(i.ZL),x=(0,n.C)(i.H7),y=(0,n.C)(a.U3),g=(0,n.C)(a.jp),C=(0,n.C)(l.Q4);return{allDataCategories:t?m:f,allDataSubjects:t?h:x,allDataUses:t?y:g,allDatasets:s?C:void 0,isLoading:d||o||c||u}}},31883:function(e,s,t){t.d(s,{Bw:function(){return n.Bw},D4:function(){return n.D4}});var n=t(19043)}}]);
|
@@ -1 +0,0 @@
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[8702],{80594:function(t){t.exports=function(t,r){for(var n=-1,e=null==t?0:t.length;++n<e&&!1!==r(t[n],n,t););return t}},71928:function(t,r,n){var e=n(88799),o=n(85638),c=Object.prototype.hasOwnProperty;t.exports=function(t,r,n){var u=t[r];c.call(t,r)&&o(u,n)&&(void 0!==n||r in t)||e(t,r,n)}},41876:function(t,r,n){var e=n(35159),o=n(50098);t.exports=function(t,r){return t&&e(r,o(r),t)}},5947:function(t,r,n){var e=n(35159),o=n(53893);t.exports=function(t,r){return t&&e(r,o(r),t)}},88799:function(t,r,n){var e=n(42630);t.exports=function(t,r,n){"__proto__"==r&&e?e(t,r,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[r]=n}},40699:function(t,r,n){var e=n(23694),o=n(80594),c=n(71928),u=n(41876),a=n(5947),i=n(2734),f=n(37561),s=n(31102),v=n(37048),p=n(51385),b=n(39759),l=n(3533),j=n(86541),x=n(2078),y=n(97635),d=n(19785),h=n(43854),w=n(98247),A=n(11611),g=n(47614),O=n(50098),m=n(53893),_="[object Arguments]",I="[object Function]",S="[object Object]",U={};U[_]=U["[object Array]"]=U["[object ArrayBuffer]"]=U["[object DataView]"]=U["[object Boolean]"]=U["[object Date]"]=U["[object Float32Array]"]=U["[object Float64Array]"]=U["[object Int8Array]"]=U["[object Int16Array]"]=U["[object Int32Array]"]=U["[object Map]"]=U["[object Number]"]=U[S]=U["[object RegExp]"]=U["[object Set]"]=U["[object String]"]=U["[object Symbol]"]=U["[object Uint8Array]"]=U["[object Uint8ClampedArray]"]=U["[object Uint16Array]"]=U["[object Uint32Array]"]=!0,U["[object Error]"]=U[I]=U["[object WeakMap]"]=!1,t.exports=function t(r,n,E,k,F,M){var P,B=1&n,C=2&n,D=4&n;if(E&&(P=F?E(r,k,F,M):E(r)),void 0!==P)return P;if(!A(r))return r;var N=d(r);if(N){if(P=j(r),!B)return f(r,P)}else{var $=l(r),L=$==I||"[object GeneratorFunction]"==$;if(h(r))return i(r,B);if($==S||$==_||L&&!F){if(P=C||L?{}:y(r),!B)return C?v(r,a(P,r)):s(r,u(P,r))}else{if(!U[$])return F?r:{};P=x(r,$,B)}}M||(M=new e);var R=M.get(r);if(R)return R;M.set(r,P),g(r)?r.forEach(function(e){P.add(t(e,n,E,e,r,M))}):w(r)&&r.forEach(function(e,o){P.set(o,t(e,n,E,o,r,M))});var T=D?C?b:p:C?m:O,V=N?void 0:T(r);return o(V||r,function(e,o){V&&(e=r[o=e]),c(P,o,t(e,n,E,o,r,M))}),P}},80158:function(t,r,n){var e=n(11611),o=Object.create,c=function(){function t(){}return function(r){if(!e(r))return{};if(o)return o(r);t.prototype=r;var n=new t;return t.prototype=void 0,n}}();t.exports=c},95372:function(t){t.exports=function(t,r,n,e){for(var o=t.length,c=n+(e?1:-1);e?c--:++c<o;)if(r(t[c],c,t))return c;return -1}},57657:function(t,r,n){var e=n(3533),o=n(92360);t.exports=function(t){return o(t)&&"[object Map]"==e(t)}},26903:function(t,r,n){var e=n(3533),o=n(92360);t.exports=function(t){return o(t)&&"[object Set]"==e(t)}},59464:function(t,r,n){var e=n(11611),o=n(56016),c=n(21586),u=Object.prototype.hasOwnProperty;t.exports=function(t){if(!e(t))return c(t);var r=o(t),n=[];for(var a in t)"constructor"==a&&(r||!u.call(t,a))||n.push(a);return n}},78859:function(t,r,n){var e=n(71928),o=n(76747),c=n(42383),u=n(11611),a=n(37948);t.exports=function(t,r,n,i){if(!u(t))return t;r=o(r,t);for(var f=-1,s=r.length,v=s-1,p=t;null!=p&&++f<s;){var b=a(r[f]),l=n;if("__proto__"===b||"constructor"===b||"prototype"===b)break;if(f!=v){var j=p[b];void 0===(l=i?i(j,b,p):void 0)&&(l=u(j)?j:c(r[f+1])?[]:{})}e(p,b,l),p=p[b]}return t}},74833:function(t,r,n){var e=n(56127),o=/^\s+/;t.exports=function(t){return t?t.slice(0,e(t)+1).replace(o,""):t}},95825:function(t,r,n){var e=n(59942);t.exports=function(t){var r=new t.constructor(t.byteLength);return new e(r).set(new e(t)),r}},2734:function(t,r,n){t=n.nmd(t);var e=n(77400),o=r&&!r.nodeType&&r,c=o&&t&&!t.nodeType&&t,u=c&&c.exports===o?e.Buffer:void 0,a=u?u.allocUnsafe:void 0;t.exports=function(t,r){if(r)return t.slice();var n=t.length,e=a?a(n):new t.constructor(n);return t.copy(e),e}},61859:function(t,r,n){var e=n(95825);t.exports=function(t,r){var n=r?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.byteLength)}},9377:function(t){var r=/\w*$/;t.exports=function(t){var n=new t.constructor(t.source,r.exec(t));return n.lastIndex=t.lastIndex,n}},24116:function(t,r,n){var e=n(96539),o=e?e.prototype:void 0,c=o?o.valueOf:void 0;t.exports=function(t){return c?Object(c.call(t)):{}}},63428:function(t,r,n){var e=n(95825);t.exports=function(t,r){var n=r?e(t.buffer):t.buffer;return new t.constructor(n,t.byteOffset,t.length)}},37561:function(t){t.exports=function(t,r){var n=-1,e=t.length;for(r||(r=Array(e));++n<e;)r[n]=t[n];return r}},35159:function(t,r,n){var e=n(71928),o=n(88799);t.exports=function(t,r,n,c){var u=!n;n||(n={});for(var a=-1,i=r.length;++a<i;){var f=r[a],s=c?c(n[f],t[f],f,n,t):void 0;void 0===s&&(s=t[f]),u?o(n,f,s):e(n,f,s)}return n}},31102:function(t,r,n){var e=n(35159),o=n(83080);t.exports=function(t,r){return e(t,o(t),r)}},37048:function(t,r,n){var e=n(35159),o=n(30791);t.exports=function(t,r){return e(t,o(t),r)}},56632:function(t,r,n){var e=n(89278),o=n(80068),c=n(50098);t.exports=function(t){return function(r,n,u){var a=Object(r);if(!o(r)){var i=e(n,3);r=c(r),n=function(t){return i(a[t],t,a)}}var f=t(r,n,u);return f>-1?a[i?r[f]:f]:void 0}}},42630:function(t,r,n){var e=n(81822),o=function(){try{var t=e(Object,"defineProperty");return t({},"",{}),t}catch(t){}}();t.exports=o},39759:function(t,r,n){var e=n(11324),o=n(30791),c=n(53893);t.exports=function(t){return e(t,c,o)}},2173:function(t,r,n){var e=n(58023)(Object.getPrototypeOf,Object);t.exports=e},30791:function(t,r,n){var e=n(97141),o=n(2173),c=n(83080),u=n(15937),a=Object.getOwnPropertySymbols?function(t){for(var r=[];t;)e(r,c(t)),t=o(t);return r}:u;t.exports=a},86541:function(t){var r=Object.prototype.hasOwnProperty;t.exports=function(t){var n=t.length,e=new t.constructor(n);return n&&"string"==typeof t[0]&&r.call(t,"index")&&(e.index=t.index,e.input=t.input),e}},2078:function(t,r,n){var e=n(95825),o=n(61859),c=n(9377),u=n(24116),a=n(63428);t.exports=function(t,r,n){var i=t.constructor;switch(r){case"[object ArrayBuffer]":return e(t);case"[object Boolean]":case"[object Date]":return new i(+t);case"[object DataView]":return o(t,n);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return a(t,n);case"[object Map]":case"[object Set]":return new i;case"[object Number]":case"[object String]":return new i(t);case"[object RegExp]":return c(t);case"[object Symbol]":return u(t)}}},97635:function(t,r,n){var e=n(80158),o=n(2173),c=n(56016);t.exports=function(t){return"function"!=typeof t.constructor||c(t)?{}:e(o(t))}},21586:function(t){t.exports=function(t){var r=[];if(null!=t)for(var n in Object(t))r.push(n);return r}},56127:function(t){var r=/\s/;t.exports=function(t){for(var n=t.length;n--&&r.test(t.charAt(n)););return n}},64925:function(t,r,n){var e=n(56632)(n(66259));t.exports=e},66259:function(t,r,n){var e=n(95372),o=n(89278),c=n(47991),u=Math.max;t.exports=function(t,r,n){var a=null==t?0:t.length;if(!a)return -1;var i=null==n?0:c(n);return i<0&&(i=u(a+i,0)),e(t,o(r,3),i)}},98247:function(t,r,n){var e=n(57657),o=n(39334),c=n(18125),u=c&&c.isMap,a=u?o(u):e;t.exports=a},47614:function(t,r,n){var e=n(26903),o=n(39334),c=n(18125),u=c&&c.isSet,a=u?o(u):e;t.exports=a},53893:function(t,r,n){var e=n(98213),o=n(59464),c=n(80068);t.exports=function(t){return c(t)?e(t,!0):o(t)}},47215:function(t,r,n){var e=n(78859);t.exports=function(t,r,n){return null==t?t:e(t,r,n)}},94919:function(t,r,n){var e=n(91936),o=1/0;t.exports=function(t){return t?(t=e(t))===o||t===-o?(t<0?-1:1)*17976931348623157e292:t==t?t:0:0===t?t:0}},47991:function(t,r,n){var e=n(94919);t.exports=function(t){var r=e(t),n=r%1;return r==r?n?r-n:r:0}},91936:function(t,r,n){var e=n(74833),o=n(11611),c=n(55193),u=0/0,a=/^[-+]0x[0-9a-f]+$/i,i=/^0b[01]+$/i,f=/^0o[0-7]+$/i,s=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(c(t))return u;if(o(t)){var r="function"==typeof t.valueOf?t.valueOf():t;t=o(r)?r+"":r}if("string"!=typeof t)return 0===t?t:+t;t=e(t);var n=i.test(t);return n||f.test(t)?s(t.slice(2),n?2:8):a.test(t)?u:+t}}}]);
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9033],{18225:function(e,t,s){var a=s(24246),i=s(4454);t.Z=e=>{let{alignment:t="center",...s}=e;return(0,a.jsx)(i.kCb,{boxSize:"full",align:"center",justify:t,children:(0,a.jsx)(i.$jN,{color:"primary",...s})})}},58754:function(e,t,s){var a=s(24246),i=s(4454),n=s(70788);t.Z=e=>{let{heading:t,breadcrumbItems:s,isSticky:r=!0,children:o,rightContent:c,style:d,...l}=e;return(0,a.jsxs)("div",{...l,style:r?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...d}:{paddingBottom:"24px",...d},children:[(0,a.jsxs)(i.jqI,{justify:"space-between",children:["string"==typeof t?(0,a.jsx)(i.lQT,{className:s||o?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,c&&(0,a.jsx)("div",{"data-testid":"page-header-right-content",children:c})]}),!!s&&(0,a.jsx)(n.m,{className:o?"pb-4":void 0,items:s,"data-testid":"page-breadcrumb"}),o]})}},79789:function(e,t,s){s.d(t,{Hn:function(){return o},XU:function(){return r},Z5:function(){return c},aG:function(){return h},cB:function(){return n},hX:function(){return l},vQ:function(){return d}});var a=s(24246),i=s(4454);let n=e=>{let{text:t,...s}=e;return(0,a.jsx)(i.X6q,{fontSize:"sm",mt:4,mb:1,...s,children:t})},r=e=>{let{children:t}=e;return(0,a.jsx)(i.xvT,{fontSize:"14px",mb:4,children:t})},o=e=>{let{children:t,href:s}=e;return(0,a.jsx)(i.rUS,{href:s,textDecoration:"underline",isExternal:!0,children:t})},c=e=>{let{children:t}=e;return(0,a.jsx)(i.QI$,{fontSize:"14px",mb:4,children:t})},d=e=>{let{children:t}=e;return(0,a.jsx)(i.GSI,{fontSize:"14px",mb:4,ml:6,children:t})},l=e=>{let{children:t}=e;return(0,a.jsx)(i.EKh,{display:"block",whiteSpace:"pre",p:4,mb:4,overflowX:"scroll",children:t})},h=e=>{let{data:t}=e;return(0,a.jsxs)(i.iA_,{fontSize:"14px",children:[(0,a.jsx)(i.hrZ,{children:(0,a.jsxs)(i.Tr,{children:[(0,a.jsx)(i.Th,{children:"Permission"}),(0,a.jsx)(i.Th,{children:"Description"})]})}),(0,a.jsx)(i.p3B,{children:t.map(e=>(0,a.jsxs)(i.Tr,{children:[(0,a.jsx)(i.Td,{children:(0,a.jsx)(i.Vp9,{children:e.permission})}),(0,a.jsx)(i.Td,{children:e.description})]},e.permission))})]})}},12627:function(e,t,s){var a=s(24246),i=s(79283),n=s(34929);t.Z=e=>{let{selectedTaxonomies:t,showDisabled:s=!1,...r}=e,{getDataCategoryDisplayNameProps:o,getDataCategories:c}=(0,n.Z)(),d=(s?c():c().filter(e=>e.active)).filter(e=>!t.includes(e.fides_key)).map(e=>{let{name:t,primaryName:s}=o(e.fides_key);return{value:e.fides_key,name:t,primaryName:s,description:e.description||""}});return(0,a.jsx)(i.l,{options:d,...r})}},97181:function(e,t,s){s.d(t,{d:function(){return d}});var a=s(24246),i=s(4454),n=s(34090),r=s(27378),o=s(46238),c=s(40324);let d=e=>{let{name:t,label:s,labelProps:d,tooltip:l,isRequired:h,layout:u="inline",helperText:x,...m}=e,[p,j,{setValue:g}]=(0,n.U$)(t),y=!!(j.touched&&j.error),[v,f]=(0,r.useState)("");p.value||"tags"!==m.mode&&"multiple"!==m.mode||(p.value=[]),"tags"===m.mode&&"string"==typeof p.value&&(p.value=[p.value]);let C="tags"===m.mode?(e,t)=>e?e.value!==v||p.value.includes(v)?m.optionRender?m.optionRender(e,t):e.label:'Create "'.concat(v,'"'):void 0:m.optionRender||void 0,S=e=>{f(e),m.onSearch&&m.onSearch(e)},A=(e,t)=>{g(e),m.onChange&&m.onChange(e,t)};return"inline"===u?(0,a.jsx)(i.NIc,{isInvalid:y,isRequired:h,children:(0,a.jsxs)(i.rjZ,{templateColumns:s?"1fr 3fr":"1fr",children:[s?(0,a.jsx)(c.__,{htmlFor:m.id||t,...d,children:s}):null,(0,a.jsxs)(i.jqI,{align:"center",children:[(0,a.jsxs)(i.jqI,{vertical:!0,flex:1,className:"mr-2",children:[(0,a.jsx)(i.WPr,{...p,id:m.id||t,"data-testid":"controlled-select-".concat(p.name),...m,optionRender:C,onSearch:"tags"===m.mode?S:void 0,onChange:A,value:p.value||void 0,status:y?"error":void 0}),x&&(0,a.jsx)(i.Q6r,{children:x}),(0,a.jsx)(c.Bc,{isInvalid:y,message:j.error,fieldName:p.name})]}),(0,a.jsx)(o.b,{label:l,className:y?"mt-2 self-start":void 0})]})]})}):(0,a.jsx)(i.NIc,{isInvalid:y,isRequired:h,children:(0,a.jsxs)(i.gCW,{alignItems:"start",children:[(0,a.jsxs)(i.jqI,{align:"center",children:[s?(0,a.jsx)(c.__,{htmlFor:m.id||t,fontSize:"xs",my:0,mr:1,...d,children:s}):null,(0,a.jsx)(o.b,{label:l})]}),(0,a.jsx)(i.WPr,{...p,id:m.id||t,"data-testid":"controlled-select-".concat(p.name),...m,optionRender:C,onSearch:"tags"===m.mode?S:void 0,onChange:A,value:p.value||void 0,status:y?"error":void 0}),x&&(0,a.jsx)(i.Q6r,{style:{marginTop:0},children:x}),(0,a.jsx)(c.Bc,{isInvalid:y,message:j.error,fieldName:p.name})]})})}},14047:function(e,t,s){s.d(t,{H:function(){return n},V:function(){return a.V}});var a=s(84306),i=s(812);let n=()=>{let{errorAlert:e}=(0,a.V)();return{handleError:t=>{let s="An unexpected error occurred. Please try again.";(0,i.Ot)(t)?s=t.data.detail:(0,i.tB)(t)&&(s=t.data.detail[0].msg),e(s)}}}},84306:function(e,t,s){s.d(t,{V:function(){return n}});var a=s(24246),i=s(4454);let n=()=>{let e=(0,i.pmc)();return{errorAlert:(t,s,n)=>{let r={...n,position:(null==n?void 0:n.position)||"top",render:e=>{let{onClose:n}=e;return(0,a.jsxs)(i.bZj,{alignItems:"normal",status:"error","data-testid":"error-alert",children:[(0,a.jsx)(i.zMQ,{}),(0,a.jsxs)(i.xuv,{children:[s&&(0,a.jsx)(i.CdC,{children:s}),(0,a.jsx)(i.XaZ,{children:t})]}),(0,a.jsx)(i.PZ7,{onClick:n,position:"relative",right:0,size:"sm",top:-1})]})}};(null==n?void 0:n.id)&&e.isActive(n.id)?e.update(n.id,r):e(r)},successAlert:(t,s,n)=>{let r={...n,position:(null==n?void 0:n.position)||"top",render:e=>{let{onClose:n}=e;return(0,a.jsxs)(i.bZj,{alignItems:"normal",status:"success",variant:"subtle","data-testid":"success-alert",children:[(0,a.jsx)(i.zMQ,{}),(0,a.jsxs)(i.xuv,{children:[s&&(0,a.jsx)(i.CdC,{children:s}),(0,a.jsx)(i.XaZ,{children:t})]}),(0,a.jsx)(i.PZ7,{onClick:n,position:"relative",right:0,size:"sm",top:-1})]})}};(null==n?void 0:n.id)&&e.isActive(n.id)?e.update(n.id,r):e(r)}}}},8133:function(e,t,s){var a=s(24246),i=s(4454);t.Z=e=>{let{title:t,children:s,isOpen:n,onClose:r,...o}=e;return(0,a.jsxs)(i.u_l,{isOpen:n,onClose:r,isCentered:!0,scrollBehavior:"inside",size:"xl",id:"add-modal",...o,children:[(0,a.jsx)(i.ZAr,{}),(0,a.jsxs)(i.hzk,{textAlign:"left",p:0,"data-testid":"add-modal-content",children:[(0,a.jsx)(i.xBx,{p:0,children:(0,a.jsx)(i.xuv,{backgroundColor:"gray.50",px:6,py:4,border:"1px",borderColor:"gray.200",borderTopRadius:6,display:"flex",justifyContent:"space-between",alignItems:"center",children:(0,a.jsx)(i.X6q,{as:"h3",size:"sm",children:t})})}),(0,a.jsx)(i.fef,{pb:4,overflow:"auto",children:s})]})]})}},90980:function(e,t,s){s.d(t,{R:function(){return c}});var a=s(24246),i=s(4454),n=s(79894),r=s.n(n),o=s(63662);let c=e=>{let{onClick:t,...s}=e;return(0,a.jsxs)(i.kCb,{alignItems:"center",mt:-4,mb:3,onClick:t,cursor:"pointer",...s,children:[(0,a.jsx)(i.wpx,{"aria-label":"Back",icon:(0,a.jsx)(i.Rpv,{}),className:"mr-2",size:"small"}),(0,a.jsx)(i.xvT,{as:"a",fontSize:"sm",fontWeight:"500",children:"Back"})]})};t.Z=e=>{let{backPath:t,...s}=e,n=(0,o.useRouter)();return(0,a.jsxs)(i.kCb,{alignItems:"center",mb:6,...s,children:[(0,a.jsx)(i.wpx,{onClick:()=>n.push(t),"aria-label":"Back",icon:(0,a.jsx)(i.Rpv,{}),className:"mr-2",size:"small"}),(0,a.jsx)(i.xvT,{as:r(),href:t,fontSize:"sm",fontWeight:"500",children:"Back"})]})}},70788:function(e,t,s){s.d(t,{m:function(){return d}});var a=s(24246),i=s(4454),n=s(79894),r=s.n(n),o=s(27378);let{Text:c}=i.AntTypography,d=e=>{let{items:t,...s}=e,n=(0,o.useMemo)(()=>null==t?void 0:t.map((e,s)=>{let n=s===t.length-1,o={...e},d=o.onClick&&!o.href;return("string"==typeof o.title&&(o.title=(0,a.jsx)(c,{style:{color:"inherit",maxWidth:n?void 0:400},ellipsis:!n,children:o.title})),d)?o.title=(0,a.jsx)(i.wpx,{type:"text",size:"small",icon:o.icon,onClick:o.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:o.title}):(o.icon&&(o.title=(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("span",{className:"anticon align-text-bottom",children:o.icon}),o.title]})),o.href&&o.title&&(o.title=(0,a.jsx)(r(),{href:o.href,className:"ant-breadcrumb-link",children:o.title}),delete o.href)),o}),[t]);return(0,a.jsx)(i.zrq,{items:n,...s})}},15872:function(e,t,s){var a=s(24246),i=s(4454),n=s(86677);s(27378);var r=s(77830),o=s(14207);t.Z=e=>{let{connection_key:t,showMenu:s}=e,{isOpen:c,onOpen:d,onClose:l}=(0,i.qY0)(),[h,u]=(0,o.R5)(),x=(0,n.useRouter)(),m=()=>{u.isLoading||l()};return(0,a.jsxs)(a.Fragment,{children:[s&&(0,a.jsx)(i.sNh,{_focus:{color:"complimentary.500",bg:"gray.100"},onClick:d,children:(0,a.jsx)(i.xvT,{fontSize:"sm",children:"Delete"})}),!s&&(0,a.jsx)(i.wpx,{onClick:d,children:"Delete integration"}),(0,a.jsxs)(i.u_l,{isCentered:!0,isOpen:c,onClose:m,children:[(0,a.jsx)(i.ZAr,{}),(0,a.jsxs)(i.hzk,{children:[(0,a.jsx)(i.xBx,{children:"Delete integration"}),(0,a.jsx)(i.olH,{}),(0,a.jsx)(i.fef,{pb:6,children:(0,a.jsx)(i.Kqy,{direction:"column",spacing:"15px",children:(0,a.jsx)(i.xvT,{color:"gray.600",fontSize:"sm",fontWeight:"sm",lineHeight:"20px",children:"Deleting an integration may impact any privacy request that is currently in progress. Do you wish to proceed?"})})}),(0,a.jsxs)(i.mzw,{className:"flex gap-4",children:[(0,a.jsx)(i.wpx,{onClick:m,className:"w-1/2",children:"Cancel"}),(0,a.jsx)(i.wpx,{onClick:()=>{t&&(h(t),s||x.push(r.KH))},loading:u.isLoading,type:"primary",className:"w-1/2",children:"Delete integration"})]})]})]})]})}},33335:function(e,t,s){s.d(t,{E:function(){return a}});let a=e=>e.toLowerCase().replace(/[ .]/g,"_").replace(/[^a-zA-Z0-9_<>-]/g,"")},45216:function(e,t,s){var a=s(4454),i=s(812),n=s(16394),r=s(14207);t.Z=e=>{let[t,{data:s,fulfilledTimeStamp:o,isLoading:c,isFetching:d}]=(0,r.h2)(),l=(0,a.pmc)();return{testConnection:async()=>{var s,a,n,r;if(!e)return;let o=await t(e.key);if(o.isError)l({status:"error",description:(0,i.e$)(o.error,"Unable to test connection. Please try again.")});else if((null===(s=o.data)||void 0===s?void 0:s.test_status)==="succeeded")l({status:"success",description:"Connected successfully"});else if((null===(a=o.data)||void 0===a?void 0:a.test_status)==="failed"){let e="Connection test failed.";(null===(n=o.data)||void 0===n?void 0:n.failure_reason)&&(e+=" ".concat(null===(r=o.data)||void 0===r?void 0:r.failure_reason)),l({status:"warning",description:e})}},isLoading:c||d,testData:{timestamp:o?(0,n.p6)(o):null==e?void 0:e.last_test_timestamp,succeeded:s?"succeeded"===s.test_status:!!(null==e?void 0:e.last_test_succeeded)}}}},41553:function(e,t,s){var a=s(24246),i=s(4454),n=s(16394);t.Z=e=>{let{testData:t}=e;if(!t.timestamp)return(0,a.jsx)(i.xvT,{"data-testid":"connection-status",children:"Connection not tested"});let s=(0,n.p6)(t.timestamp);return t.succeeded?(0,a.jsxs)(i.kCb,{color:"success-text.900",align:"center","data-testid":"connection-status",children:[(0,a.jsx)(i.rE2,{mr:2,boxSize:4}),(0,a.jsxs)(i.xvT,{children:["Last connected ",s]})]}):(0,a.jsxs)(i.kCb,{color:"error-text.900",align:"center","data-testid":"connection-status",children:[(0,a.jsx)(i.iid,{mr:2,boxSize:4}),(0,a.jsxs)(i.xvT,{children:["Last connection failed ",s]})]})}},75595:function(e,t,s){var a=s(24246),i=s(4454),n=s(41337),r=s(15872),o=s(45216),c=s(66250),d=s(41553);t.Z=e=>{let{integration:t,showTestNotice:s,otherButtons:l,showDeleteButton:h,configureButtonLabel:u="Configure",onConfigureClick:x}=e,{testConnection:m,isLoading:p,testData:j}=(0,o.Z)(t),g=(0,c.ZP)(null==t?void 0:t.connection_type);return(0,a.jsxs)(i.xuv,{maxW:"760px",borderWidth:1,borderRadius:"lg",overflow:"hidden",padding:"12px",marginBottom:"24px","data-testid":"integration-info-".concat(null==t?void 0:t.key),children:[(0,a.jsxs)(i.kCb,{children:[(0,a.jsx)(n.Z,{data:null!=t?t:"",boxSize:"50px"}),(0,a.jsxs)(i.kCb,{direction:"column",flexGrow:1,marginLeft:"16px",children:[(0,a.jsx)(i.xvT,{color:"gray.700",fontWeight:"semibold",children:(null==t?void 0:t.name)||"(No name)"}),s?(0,a.jsx)(d.Z,{testData:j}):(0,a.jsx)(i.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"semibold",mt:1,children:g.category})]}),(0,a.jsxs)("div",{className:"flex gap-4",children:[h&&t&&(0,a.jsx)(r.Z,{showMenu:!1,connection_key:t.key}),s&&(0,a.jsx)(i.wpx,{onClick:m,loading:p,"data-testid":"test-connection-btn",children:"Test connection"}),l,x&&(0,a.jsx)(i.wpx,{onClick:x,"data-testid":"configure-btn",children:u})]})]}),(0,a.jsx)(i.Eq9,{marginTop:"16px",children:g.tags.map(e=>(0,a.jsx)(i.j8w,{children:e},e))})]})}},29379:function(e,t,s){var a,i;s.d(t,{j:function(){return a}}),(i=a||(a={})).DATA_DISCOVERY="data_discovery",i.DATA_SYNC="data_sync",i.TASKS="tasks",i.WITHOUT_CONNECTION="without_connection"},40774:function(e,t,s){s.d(t,{Z:function(){return S}});var a,i,n=s(24246),r=s(4454),o=s(27378),c=s(60018),d=s(46381),l=s(12627),h=s(812),u=s(46238),x=s(90980),m=s(46628),p=s(11013),j=s(31883);let g={rules:[{regex:void 0,dataCategory:void 0}]};var y=e=>{var t,s,a;let{config:i,onBackClick:o}=e,[y]=r.PPS.useForm(),v=(0,r.pmc)(),[f,{isLoading:C}]=(0,p.$y)(),[S,{isLoading:A}]=(0,p.ww)(),b=e=>({name:e.name,description:e.description,classify_params:{context_regex_pattern_mapping:e.rules.map(e=>{let{regex:t,dataCategory:s}=e;return[t,s]})}}),D=(e,t)=>{(0,j.D4)(e)?v((0,m.Vo)((0,h.e$)(e.error,"A problem occurred"))):(v((0,m.t5)(t?"Monitor config created successfully":"Monitor config updated successfully")),o())},R=async e=>{let t=b(e);D(i?await S({...t,id:i.id}):await f(t),!i)},w=e=>{let{file:t}=e;if(!t)return;let s=new FileReader;s.onload=e=>{try{var t;let s=null===(t=e.target)||void 0===t?void 0:t.result,{data:a}=(0,d.parse)(s,{skipEmptyLines:!0,header:!1}),i=a.map(e=>{let[t,s]=e;return{regex:t,dataCategory:s}});y.setFieldValue("rules",i),v((0,m.t5)("CSV patterns imported successfully"))}catch(e){v((0,m.Vo)("Failed to parse CSV file"))}},s.readAsText(t)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(x.R,{onClick:o,className:"pt-3"}),(0,n.jsx)(c.ZT.Title,{level:2,children:i?"Edit ".concat(i.name):"Create new configuration"}),(0,n.jsx)(c.ZT.Paragraph,{className:"mt-2",children:'Match regular expressions to data categories to customize classification. Use the "shared monitor configuration" field when editing monitors to apply this configuration.'}),(0,n.jsxs)(r.PPS,{name:"monitor-template",layout:"vertical",form:y,onFinish:R,className:"mt-4",initialValues:i?{...i,rules:null!==(a=null==i?void 0:null===(s=i.classify_params)||void 0===s?void 0:null===(t=s.context_regex_pattern_mapping)||void 0===t?void 0:t.map(e=>{let[t,s]=e;return{regex:t,dataCategory:s}}))&&void 0!==a?a:[]}:g,validateTrigger:["onBlur","onChange"],children:[(0,n.jsx)(r.bue,{children:(0,n.jsxs)(r.JGx,{span:24,children:[(0,n.jsx)(r.PPS.Item,{label:"Configuration name",name:"name",rules:[{required:!0,message:"Config name is required"}],"data-testid":"form-item-name",children:(0,n.jsx)(r.uFc,{autoFocus:!0,"data-testid":"input-name"})}),(0,n.jsx)(r.PPS.Item,{label:"Description",name:"description","data-testid":"form-item-description",children:(0,n.jsx)(r.uFc.TextArea,{"data-testid":"input-description"})})]})}),(0,n.jsx)(r.PPS.List,{name:"rules",rules:[{validator:(e,t)=>0===t.length?Promise.reject(Error("Please input at least one pattern")):Promise.resolve()}],children:(e,t,s)=>{let{add:a,remove:d}=t,{errors:h}=s;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(r.jqI,{justify:"space-between",children:[(0,n.jsx)(c.ZT.Title,{level:3,className:"pb-5",children:"Regex patterns"}),!i&&(0,n.jsxs)(r.jqI,{gap:8,align:"center",children:[(0,n.jsx)(u.b,{label:"Upload a CSV to map regex patterns to data categories. Format: regex,data_category",placement:"left"}),(0,n.jsx)(r.pMK,{accept:".csv",showUploadList:!1,beforeUpload:()=>!1,onChange:w,children:(0,n.jsx)(r.wpx,{icon:(0,n.jsx)(r.PJP.gqx,{}),iconPosition:"end",size:"small","data-testid":"upload-csv-btn",children:"Upload CSV"})})]})]}),e.map((t,s)=>{let{key:i,name:o,...c}=t;return(0,n.jsxs)(r.bue,{align:"middle",children:[(0,n.jsx)(r.JGx,{span:11,children:(0,n.jsx)(r.PPS.Item,{label:"On match",...c,name:[o,"regex"],rules:[{required:!0,message:"Regex is required"}],"data-testid":"form-item-rules.".concat(o,".regex"),children:(0,n.jsx)(r.uFc,{placeholder:"Enter a regular expression","data-testid":"input-rules.".concat(o,".regex")})})}),(0,n.jsx)(r.JGx,{span:1,className:"flex justify-center pt-[5px]",children:"->"}),(0,n.jsx)(r.JGx,{span:11,className:"pr-2",children:(0,n.jsx)(r.PPS.Item,{label:"Assign",...c,name:[o,"dataCategory"],rules:[{required:!0,message:"Data category is required"}],"data-testid":"form-item-rules.".concat(o,".dataCategory"),children:(0,n.jsx)(l.Z,{selectedTaxonomies:[],variant:"outlined",placeholder:"Select a data category",autoFocus:!1,allowClear:!0,"data-testid":"input-rules.".concat(o,".dataCategory")})})}),(0,n.jsx)(r.JGx,{span:1,className:"mt-[7.25px]",children:s===e.length-1?(0,n.jsx)(r.wpx,{onClick:()=>a(),icon:(0,n.jsx)(r.PJP.mm_,{}),"aria-label":"Add new rule","data-testid":"add-rule-btn"}):(0,n.jsx)(r.wpx,{onClick:()=>d(o),icon:(0,n.jsx)(r.PJP.ZNm,{}),"aria-label":"Remove rule","data-testid":"remove-rule-".concat(o)})})]},i)}),(0,n.jsx)(r.PPS.ErrorList,{errors:h}),(0,n.jsx)(r.PPS.Item,{label:null,className:"mb-0",children:(0,n.jsxs)(r.jqI,{justify:"end",gap:8,children:[(0,n.jsx)(r.wpx,{onClick:o,children:"Cancel"}),(0,n.jsx)(r.wpx,{type:"primary",htmlType:"submit",loading:C||A,"data-testid":"save-btn",children:"Save"})]})})]})}})]})]})},v=s(14481),f=e=>{let{onEditClick:t}=e,[s]=(0,p.m5)(),a=(0,r.pmc)(),i=async e=>{let t=await s({id:e});(0,j.D4)(t)?a((0,m.Vo)((0,h.e$)(t.error,"A problem occurred deleting this config"))):a((0,m.t5)("Monitor config deleted successfully"))};return[{title:"Name",dataIndex:"name",key:"name"},{title:"Description",dataIndex:"description",key:"description"},{title:"Actions",key:"actions",render:(e,s)=>(0,n.jsxs)(r.jqI,{className:"gap-2",children:[(0,n.jsx)(r.wpx,{size:"small",onClick:()=>t(s),icon:(0,n.jsx)(r.PJP.I8b,{}),"data-testid":"edit-btn"}),(0,n.jsx)(r.wpx,{size:"small",onClick:()=>i(s.id),icon:(0,n.jsx)(r.PJP.ZNm,{})})]})}]},C=e=>{let{onNewClick:t,onRowClick:s}=e,{onPreviousPageClick:a,isPreviousPageDisabled:i,onNextPageClick:o,isNextPageDisabled:d,pageSize:l,setPageSize:h,PAGE_SIZES:u,startRange:x,endRange:m,pageIndex:j}=(0,v.oi)(),{data:g,isLoading:y,isFetching:C}=(0,p.eV)({page:j,size:l}),S=f({onEditClick:s});return y||C?(0,n.jsx)(r.ZJQ,{size:"large",className:"flex h-full items-center justify-center"}):(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(c.ZT.Title,{level:2,children:"Shared monitor configurations"}),(0,n.jsx)(c.ZT.Paragraph,{className:"mt-4",children:"Shared monitor configurations can be applied to monitors to customize classification."}),(0,n.jsx)(r.jqI,{className:"absolute right-16 top-4",children:(0,n.jsx)(r.wpx,{type:"primary",onClick:t,"data-testid":"create-new-btn",children:"Create new"})}),(0,n.jsx)(r.V5H,{columns:S,dataSource:null==g?void 0:g.items,size:"small",pagination:!1,onRow:e=>({"data-testid":"config-".concat(e.id)}),locale:{emptyText:(0,n.jsx)(c.ZT.Paragraph,{className:"py-8",children:"No shared monitor configs found"})},className:"mt-6"}),(0,n.jsx)(r.jqI,{justify:"space-between",className:"mt-4",children:(0,n.jsx)(v.s8,{totalRows:(null==g?void 0:g.total)||0,pageSizes:u,setPageSize:h,onPreviousPageClick:a,isPreviousPageDisabled:i,onNextPageClick:o,isNextPageDisabled:d,startRange:x,endRange:m})})]})};(a=i||(i={})).MAIN_VIEW="main",a.FORM_VIEW="form";var S=()=>{let[e,t]=(0,o.useState)(!1),[s,a]=(0,o.useState)(void 0),[i,c]=(0,o.useState)("main"),d=()=>{c("main"),a(void 0)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.wpx,{className:"absolute right-10 top-6",type:"primary",icon:(0,n.jsx)(r.PJP.Zrf,{}),iconPosition:"end",onClick:()=>t(!0),"data-testid":"configurations-btn",children:"Shared monitor configurations"}),(0,n.jsxs)(r.$zI,{open:e,onCancel:()=>{d(),t(!1)},destroyOnClose:!0,centered:!0,width:768,footer:null,children:["form"===i&&(0,n.jsx)(y,{config:s,onBackClick:d}),"main"===i&&(0,n.jsx)(C,{onNewClick:()=>c("form"),onRowClick:e=>{a(e),c("form"),t(!0)}})]})]})}},15987:function(e,t,s){var a=s(24246),i=s(4454),n=s(34090),r=s(90104),o=s.n(r),c=s(92465),d=s.n(c),l=s(25389),h=s.n(l),u=s(15539),x=s.n(u),m=s(18225),p=s(97181),j=s(71248),g=s(40324),y=s(46782),v=s(812),f=s(20682),C=s(41966),S=s(94725),A=s(19812),b=s(33335),D=s(1315),R=s(61317),w=s(31883);t.Z=e=>{var t,s;let{connection:r,connectionOption:c,onCancel:l,description:u}=e,[E,{isLoading:T}]=(0,S.Pp)(),[_,{isLoading:F}]=(0,S.pH)(),[H,{isLoading:I}]=(0,D.qd)(),B=c.identifier!==R.Rj.MANUAL_WEBHOOK,{data:k,isLoading:O}=(0,f.n3)(c.identifier,{skip:!B}),{data:L}=(0,D.K3)(),P=null==L?void 0:L.map(e=>{var t;return{label:null!==(t=e.name)&&void 0!==t?t:e.fides_key,value:e.fides_key}}),{data:N}=(0,C.LH)({minimal:!0,connection_type:R.Rj.BIGQUERY}),M=null==N?void 0:N.map(e=>{var t;return{label:null!==(t=e.name)&&void 0!==t?t:e.fides_key,value:e.fides_key}}),{patchConnectionDatasetConfig:U,initialDatasets:q}=(0,A.t)({connectionConfig:r}),{getFieldValidation:G,preprocessValues:Q}=(0,y.l)(k),Z=T||F||I,z={name:null!==(t=null==r?void 0:r.name)&&void 0!==t?t:"",description:null!==(s=null==r?void 0:r.description)&&void 0!==s?s:"",...B&&{secrets:h()(null==k?void 0:k.properties,(e,t)=>{var s,a;return null!==(a=null==r?void 0:null===(s=r.secrets)||void 0===s?void 0:s[t])&&void 0!==a?a:""})},dataset:q},W=(0,i.pmc)(),X=!!r,Y=e=>x()(h()(e,(e,t)=>{var s,a;return(null!==(a=null==r?void 0:null===(s=r.secrets)||void 0===s?void 0:s[t])&&void 0!==a?a:"")===e?void 0:e}),d()),V=async e=>{var t;let s;let a=B?Y(e.secrets):{},i=Q(e),n=X?{...r,disabled:null!==(t=r.disabled)&&void 0!==t&&t,name:e.name,description:e.description,secrets:void 0}:{name:e.name,key:(0,b.E)(e.name),connection_type:c.identifier,access:R.uv.READ,disabled:!1,description:e.description,secrets:i.secrets,dataset:e.dataset};if(s=e.system_fides_key?await H({systemFidesKey:e.system_fides_key,connectionConfigs:[n]}):await _(n),(0,w.D4)(s)){W({status:"error",description:(0,v.e$)(s.error,"A problem occurred while ".concat(X?"updating":"creating"," this integration. Please try again."))});return}if(!B||!e.secrets){W({status:"success",description:"Integration ".concat(X?"updated":"created"," successfully")}),l();return}if(!o()(a)){let e=await E({connection_key:n.key,secrets:a});if((0,w.D4)(e)){W({status:"error",description:(0,v.e$)(e.error,"An error occurred while ".concat(X?"updating":"creating"," this integration's secret. Please try again."))});return}}W({status:"success",description:"Integration secret ".concat(X?"updated":"created"," successfully")}),l(),n&&e.dataset&&c.identifier===R.Rj.DATAHUB&&await U(e,n.key,{showSuccessAlert:!1})};if(O)return(0,a.jsx)(m.Z,{});let K=e=>Object.entries(e.properties).map(t=>{let[s,i]=t,n="secrets.".concat(s);return(0,a.jsx)(j.A,{name:n,fieldSchema:i,isRequired:e.required.includes(s),secretsSchema:e,validate:G(s,i)},n)});return(0,a.jsxs)(a.Fragment,{children:[u&&(0,a.jsx)(i.xuv,{padding:"20px 24px",backgroundColor:"gray.50",borderRadius:"md",border:"1px solid",borderColor:"gray.200",fontSize:"sm",marginTop:"16px",children:u}),(0,a.jsx)(n.J9,{initialValues:z,enableReinitialize:!0,onSubmit:V,children:e=>{let{dirty:t,isValid:s,resetForm:r}=e;return(0,a.jsx)(n.l0,{children:(0,a.jsxs)(i.gCW,{alignItems:"start",spacing:6,mt:4,children:[(0,a.jsx)(g.j0,{id:"name",name:"name",label:"Name",variant:"stacked",isRequired:!0}),(0,a.jsx)(g.j0,{id:"description",name:"description",label:"Description",variant:"stacked"}),B&&k&&K(k),!X&&(0,a.jsx)(p.d,{id:"system_fides_key",name:"system_fides_key",options:null!=P?P:[],label:"System",tooltip:"The system to associate with the integration",layout:"stacked"}),c.identifier===R.Rj.DATAHUB&&(0,a.jsx)(p.d,{id:"dataset",name:"dataset",options:null!=M?M:[],label:"Datasets",tooltip:"Only BigQuery datasets are supported. Selected datasets will sync with matching DataHub datasets. If none are selected, all datasets will be included by default.",layout:"stacked",mode:"multiple"}),(0,a.jsxs)("div",{className:"flex w-full justify-between",children:[(0,a.jsx)(i.wpx,{onClick:()=>{l(),r()},children:"Cancel"}),(0,a.jsx)(i.wpx,{htmlType:"submit",type:"primary",disabled:!t||!s,loading:Z,"data-testid":"save-btn",children:"Save"})]})]})})}})]})}},66250:function(e,t,s){s.d(t,{FO:function(){return L},jq:function(){return P},ZP:function(){return M}}),(a=i||(i={})).DATA_CATALOG="Data Catalog",a.DATA_WAREHOUSE="Data Warehouse",a.DATABASE="Database",a.IDENTITY_PROVIDER="Identity Provider",a.WEBSITE="Website",a.MANUAL="Manual";var a,i,n=s(24246),r=s(4454),o=s(79789),c=e=>{let{children:t}=e,{isOpen:s,onToggle:a}=(0,r.qY0)();return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.UO1,{in:s,children:t}),(0,n.jsx)(r.xvT,{fontSize:"sm",cursor:"pointer",textDecoration:"underline",onClick:a,children:s?"Show less":"Show more"})]})},d=s(29379),l=s(61317);let h={name:"Google BigQuery",key:"bq_placeholder",connection_type:l.Rj.BIGQUERY,access:l.uv.READ,created_at:""},u=[{permission:"bigquery.jobs.create",description:"Run jobs (e.g. queries) within the project. This is only needed for the Fides Project where the Fides service account is located."},{permission:"bigquery.jobs.list",description:"Manage the queries that the service account performs. This is only needed for the Fides Project where the Fides service account is located."},{permission:"bigquery.routines.get",description:"Allow the service account to retrieve custom routines (e.g. queries) on associated datasets and tables."},{permission:"bigquery.routines.list",description:"Allow the service account to manage the custom routines (e.g. queries) that run on associated datasets and tables."}],x=[{permission:"bigquery.datasets.get",description:"Retrieve metadata and list tables for the specified project."},{permission:"bigquery.tables.get",description:"Retrieve metadata for the specified table."},{permission:"bigquery.tables.getData",description:"Read data in the specified table."},{permission:"bigquery.tables.list",description:"List all tables in the specified dataset."},{permission:"resourcemanager.projects.get",description:"Retrieve metadata for the specified project."}],m={placeholder:h,category:i.DATA_WAREHOUSE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"Continuously monitor BigQuery to detect and track schema-level changes, automatically discover and label data categories as well as automatically process DSR (privacy requests) and consent enforcement to proactively manage data governance risks."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"Data Warehouse"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Cloud provider"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"}),(0,n.jsx)(r.HCh,{children:"DSR automation"}),(0,n.jsx)(r.HCh,{children:"Consent orchestration"})]}),(0,n.jsx)(o.cB,{text:"Permissions"}),(0,n.jsx)(o.XU,{children:"For detection and discovery, Fides requires a read-only BigQuery service account with limited permissions. If you intend to automate governance for DSR or Consent, Fides requires a read-and-write BigQuery service account to any project you would like Fides to govern."}),(0,n.jsx)(o.XU,{children:"A BigQuery administrator can create the necessary role for Fides using BigQuery's roles guide and assign this to a service account using BigQuery's service account guide."}),(0,n.jsx)(o.XU,{children:"The permissions allow Fides to read the schema of, and data stored in projects, datasets and tables as well write restricted updates based on your policy configurations to tables you specify as part of DSR and Consent orchestration."}),(0,n.jsx)(o.cB,{text:"Permissions list"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"bigquery.jobs.create"}),(0,n.jsx)(r.HCh,{children:"bigquery.jobs.list"}),(0,n.jsx)(r.HCh,{children:"bigquery.routines.get"}),(0,n.jsx)(r.HCh,{children:"bigquery.routines.list"}),(0,n.jsx)(r.HCh,{children:"bigquery.datasets.get"}),(0,n.jsx)(r.HCh,{children:"bigquery.tables.get"}),(0,n.jsx)(r.HCh,{children:"bigquery.tables.getData"}),(0,n.jsx)(r.HCh,{children:"bigquery.tables.list"}),(0,n.jsx)(r.HCh,{children:"bigquery.tables.updateData"}),(0,n.jsx)(r.HCh,{children:"resourcemanager.projects.get"})]})]})]}),{}),instructions:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Configuring a Fides -> BigQuery Integration"}),(0,n.jsx)(o.cB,{text:"Step 1: Create a Fides project"}),(0,n.jsxs)(o.XU,{children:["Create a Fides Project using"," ",(0,n.jsx)(o.Hn,{href:"https://cloud.google.com/resource-manager/docs/creating-managing-projects#creating_a_project",children:"BigQuery's project creation guide"}),"."]}),(0,n.jsx)(o.cB,{text:"Step 2: Create a Fides role in GCP"}),(0,n.jsxs)(o.vQ,{children:[(0,n.jsxs)(r.HCh,{children:["Create a custom role for Fides using BigQuery's"," ",(0,n.jsx)(o.Hn,{href:"https://cloud.google.com/iam/docs/creating-custom-roles#creating_a_custom_role",children:"roles guide"}),"."]}),(0,n.jsx)(r.HCh,{children:"Follow the sections below to grant permissions to this role for the Fides project and any project you would like Fides to manage."})]}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Step 3: Assign permissions to the Fides project"}),(0,n.jsx)(o.XU,{children:"Assign the following permissions to the Fides Project that will be used by your Fides service account to run queries:"}),(0,n.jsx)(o.aG,{data:u}),(0,n.jsx)(o.cB,{text:"Step 4: Assign permissions to any project you'd like Fides to monitor"}),(0,n.jsx)(o.XU,{children:"Grant the following permissions to the Fides service account in every project where you would like Fides detection and discovery monitoring."}),(0,n.jsx)(o.aG,{data:x}),(0,n.jsx)(o.cB,{text:"Step 5: Create a Fides service account in the Fides Project"}),(0,n.jsxs)(o.vQ,{children:[(0,n.jsxs)(r.HCh,{children:["Create a service account for Fides using BigQuery's"," ",(0,n.jsx)(o.Hn,{href:"https://cloud.google.com/iam/docs/service-accounts-create",children:"service account guide"}),"."]}),(0,n.jsx)(r.HCh,{children:"Assign the previously created role to this service account."}),(0,n.jsxs)(r.HCh,{children:["Download the service account JSON keyfile."," ",(0,n.jsx)("strong",{children:"Note: this is sensitive information that should not be shared."})," ","An example of this is below:"]})]}),(0,n.jsx)(o.hX,{children:'{\n "type": "service_account",\n "project_id": "project-id-123456",\n "private_key_id": "0123456789abcdef0123456789abcdef01234567",\n "private_key": "-----BEGIN PRIVATE KEY-----\\nMIIyourkey-----\\nEND PRIVATE KEY-----\\n",\n "client_email": "test@project-id-123456.iam.gserviceaccount.com",\n "client_id": "012345678901234567890",\n "auth_uri": "https://accounts.google.com/o/oauth2/auth",\n "token_uri": "https://oauth2.googleapis.com/token",\n "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",\n "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test%40project-id-123456.iam.gserviceaccount.com"\n}'}),(0,n.jsx)(o.cB,{text:"Step 6: Use the JSON key to authenticate your integration"}),(0,n.jsx)(o.XU,{children:"Provide the JSON key to your Fides instance to securely connect Fides."})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[d.j.DATA_DISCOVERY]},p={name:"Datahub",key:"datahub_placeholder",connection_type:l.Rj.DATAHUB,access:l.uv.READ,created_at:""},j=(0,n.jsx)(n.Fragment,{children:"Set up a connection to your DataHub instance by providing a name, server URL, and access token. You can also select the BigQuery datasets you'd like to sync—these will be matched with corresponding datasets in DataHub. If no datasets are selected, all available BigQuery datasets will be included by default."}),g={placeholder:p,category:i.DATA_CATALOG,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"DataHub is a metadata platform designed to help organizations manage and govern their data. It acts as a centralized repository for tracking and discovering data assets across an organization, helping data teams understand where their data resides, how it's used, and how it flows through various systems."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsx)(o.Z5,{children:(0,n.jsx)(r.HCh,{children:"Data Catalog"})}),(0,n.jsx)(o.cB,{text:"Permissions"}),(0,n.jsx)(o.Z5,{children:(0,n.jsx)(r.HCh,{children:"The related user to the access token must have at least the Editor role on DataHub."})})]})]}),{}),tags:["Sync"],description:j,enabledFeatures:[d.j.DATA_SYNC]},y={name:"DynamoDB",key:"dynamo_placeholder",connection_type:l.Rj.DYNAMODB,access:l.uv.READ,created_at:""},v=[{permission:"AmazonDynamoDBReadOnlyAccess",description:"Provides read-only access to Amazon DynamoDB via the AWS Management Console."},{permission:"AmazonDynamoDBFullAccess",description:"Provides full access to Amazon DynamoDB via the AWS Management Console. Only needed if automating governance for DSR or Consent."}],f={placeholder:y,category:i.DATABASE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"Continuously monitor DynamoDB to detect and track schema-level changes, automatically discover and label data categories as well as automatically process DSR (privacy requests) and consent enforcement to proactively manage data governance risks."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"NoSQL database"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Cloud provider"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"})]}),(0,n.jsx)(o.cB,{text:"Permissions and Policies"}),(0,n.jsxs)(o.XU,{children:["For detection and discovery, Fides requires an IAM user with read-only DynamoDB permissions in order to detect, discover, and classify sensitive data. The AWS-managed"," ",(0,n.jsx)(r.EKh,{children:"AmazonDynamoDBReadOnlyAccess"})," policy can be used to assign these permissions. If you intend to automate governance for DSR or Consent, Fides requires an IAM user with read-and-write DynamoDB permissions. The AWS-managed",(0,n.jsx)(r.EKh,{children:"AmazonDynamoDBFullAccess"})," policy can be used to assign these permissions. An IAM administrator can create the necessary principal for Fides using the AWS IAM guides, and assign the appropriate permissions policy to the IAM user."]}),(0,n.jsx)(o.XU,{children:"The permissions allow Fides to read the schema of, and data stored in, DynamoDB tables. This data is inspected only for the purpose of detecting sensitive data risks and no data is stored by Fides. As part of DSR or Consent orchestration, Fides will only write restricted updates to the tables specified by your Fides policy configuration."}),(0,n.jsx)(o.cB,{text:"Policy List"}),(0,n.jsx)(o.XU,{children:"The following AWS-managed policies provide the necessary permissions for Fides:"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"AmazonDynamoDBReadOnlyAccess"}),(0,n.jsx)(r.HCh,{children:"AmazonDynamoDBFullAccess (only needed if automating governance for DSR or Consent)"})]})]})]}),{}),instructions:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Configuring a Fides -> DynamoDB Integration"}),(0,n.jsx)(o.cB,{text:"Step 1: Create an IAM user in AWS"}),(0,n.jsxs)(o.XU,{children:["Create an IAM user for Fides' DynamoDB access following the"," ",(0,n.jsx)(o.Hn,{href:"https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html#getting-started-iam-user",children:"AWS IAM user guide"}),"."]}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Step 2: Assign policies to the IAM user"}),(0,n.jsx)(o.XU,{children:"Grant the necessary permissions to the IAM user by attaching directly the appropriate AWS-managed policy for your use case:"}),(0,n.jsx)(o.aG,{data:v}),(0,n.jsx)(o.cB,{text:"Step 3: Create an access key for the IAM user"}),(0,n.jsxs)(o.vQ,{children:[(0,n.jsxs)(r.HCh,{children:["Create an access key for the IAM user under"," ",(0,n.jsx)("strong",{children:"Security credentials"})]}),(0,n.jsx)(r.HCh,{children:"Select the Other use case"}),(0,n.jsx)(r.HCh,{children:"Copy the Access Key ID and Secret Access Key"})]}),(0,n.jsx)(o.cB,{text:"Use the Credentials to Authenticate Your Integration"}),(0,n.jsx)(o.XU,{children:"Provide the credentials to your Fides instance to securely connect Fides."})]})]}),{}),tags:["Database","DSR Automation","Discovery","Detection"],enabledFeatures:[d.j.DATA_DISCOVERY]},C={placeholder:{name:"Google Cloud SQL for MySQL",key:"google_cloud_sql_for_mysql_placeholder",connection_type:l.Rj.GOOGLE_CLOUD_SQL_MYSQL,access:l.uv.READ,created_at:""},category:i.DATABASE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"Google Cloud SQL for MySQL is a fully-managed relational database service that simplifies the setup, maintenance, management, and administration of MySQL databases. Connect Fides to your Google Cloud SQL for MySQL to detect and track changes in schemas and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"Database"}),(0,n.jsx)(r.HCh,{children:"SQL database"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"}),(0,n.jsx)(r.HCh,{children:"DSR automation"})]}),(0,n.jsx)(o.cB,{text:"Permissions"}),(0,n.jsx)(o.XU,{children:"For detection and discovery, Fides requires a user with the SELECT permission on the database. If you intend to automate governance for DSR or Consent, Fides requires a user with the SELECT, UPDATE, and DELETE The permissions allow Fides to read the schema of, and data stored in tables, and fields as well as write restricted updates based on your policy configurations to tables you specify as part of DSR and Consent orchestration. For a complete list of permissions view the Google Cloud SQL for MySQL DB documentation."}),(0,n.jsx)(o.cB,{text:"Permissions list"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"GRANT SELECT"}),(0,n.jsx)(r.HCh,{children:"GRANT UPDATE"}),(0,n.jsx)(r.HCh,{children:"GRANT DELETE"})]})]})]}),{}),tags:["Discovery","Detection"],enabledFeatures:[d.j.DATA_DISCOVERY]},S={placeholder:{name:"Google Cloud SQL for Postgres",key:"google_cloud_sql_for_postgres_placeholder",connection_type:l.Rj.GOOGLE_CLOUD_SQL_POSTGRES,access:l.uv.READ,created_at:""},category:i.DATABASE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"Google Cloud SQL for Postgres is a fully-managed relational database service that simplifies the setup, maintenance, management, and administration of Postgres databases. Connect Fides to your Google Cloud SQL for Postgres to detect and track changes in schemas and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"Database"}),(0,n.jsx)(r.HCh,{children:"SQL database"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"}),(0,n.jsx)(r.HCh,{children:"DSR automation"})]}),(0,n.jsx)(o.cB,{text:"Permissions"}),(0,n.jsx)(o.XU,{children:"For detection and discovery, Fides requires a user with the SELECT permission on the database. If you intend to automate governance for DSR or Consent, Fides requires a user with the SELECT, UPDATE, and DELETE permission. The permissions allow Fides to read the schema of, and data stored in tables, and fields as well as write restricted updates based on your policy configurations to tables you specify as part of DSR and orchestration. For a complete list of permissions view the Google Cloud SQL for Postgres DB documentation."}),(0,n.jsx)(o.XU,{children:"The following GCP service account permissions are needed when setting up Google Cloud SQL for Postgres."}),(0,n.jsx)(o.cB,{text:"Permissions list"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"cloudsql.instances.connect"}),(0,n.jsx)(r.HCh,{children:"cloudsql.instances.get"}),(0,n.jsx)(r.HCh,{children:"cloudsql.instances.login"})]})]})]}),{}),tags:["Discovery","Detection"],enabledFeatures:[d.j.DATA_DISCOVERY]},A={placeholder:{name:"Manual",key:"manual_placeholder",connection_type:l.Rj.MANUAL_WEBHOOK,access:l.uv.READ,created_at:""},category:i.MANUAL,tags:["DSR","Manual tasks"],overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"A Manual Integration provides a simple way for data to be manually uploaded for access and erasure requests."}),(0,n.jsxs)(o.XU,{children:["If you have manual integrations defined, privacy request execution will exit early and remain in a state of ",(0,n.jsx)("em",{children:"Requires input"}),". Once data has been manually uploaded for all the manual integrations, then the privacy request can be resumed. Data uploaded for manual integrations is passed on directly to the data subject alongside the data package."]})]}),{}),enabledFeatures:[d.j.TASKS,d.j.WITHOUT_CONNECTION]},b={placeholder:{name:"Microsoft SQL Server",key:"microsoft_sql_server_placeholder",connection_type:l.Rj.MSSQL,access:l.uv.READ,created_at:""},category:i.DATABASE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"Microsoft SQL Server, is a relational database management system (RDBMS) developed by Microsoft. It is designed to store, manage, and retrieve data as requested by other software applications, which may run either on the same computer or across a network."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"Database"}),(0,n.jsx)(r.HCh,{children:"SQL database"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"})]}),(0,n.jsx)(o.cB,{text:"Permissions"}),(0,n.jsx)(o.XU,{children:"For detecting databases, Fides requires a user with the following permissions/role:"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"CREATE LOGIN username WITH PASSWORD = 'password';"}),(0,n.jsx)(r.HCh,{children:"GRANT SELECT, INSERT, UPDATE TO username;"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[d.j.DATA_DISCOVERY]},D={placeholder:{name:"MySQL",key:"mysql_placeholder",connection_type:l.Rj.MYSQL,access:l.uv.READ,created_at:""},category:i.DATABASE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"Continuously monitor MySQL databases to detect and track schema-level changes, automatically discover and label data categories as well as automatically process DSR (privacy requests) and consent enforcement to proactively manage data governance risks."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"Database"}),(0,n.jsx)(r.HCh,{children:"SQL database"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"})]}),(0,n.jsx)(o.cB,{text:"Permissions"}),(0,n.jsx)(o.XU,{children:"For detecting databases, Fides requires a user with the following permissions/role:"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"CREATE USER 'username' IDENTIFIED WITH authentication_plugin BY 'password';"}),(0,n.jsx)(r.HCh,{children:"GRANT SELECT, INSERT ON database.* TO 'username'@'%';"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[d.j.DATA_DISCOVERY]},R={name:"Okta",key:"okta_placeholder",connection_type:l.Rj.OKTA,access:l.uv.READ,created_at:""},w=(0,n.jsx)(n.Fragment,{children:"SSO providers manage user authentication and can help identify systems within your infrastructure. Adding an SSO provider as a data source allows you to detect connected systems, monitor access patterns, and enhance your data map for better visibility and control."}),E={placeholder:R,category:i.IDENTITY_PROVIDER,tags:["Discovery","Inventory"],overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"SSO providers manage user authentication and can help identify systems within your infrastructure. Adding an SSO provider as a data source allows you to detect connected systems, monitor access patterns, and enhance your data map for better visibility and control."})]}),{}),description:w,enabledFeatures:[d.j.DATA_DISCOVERY]},T={placeholder:{name:"Postgres",key:"postgres_placeholder",connection_type:l.Rj.POSTGRES,access:l.uv.READ,created_at:""},category:i.DATABASE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"Postgres is a relational database. Connect Fides to your Postgres Datbase to detect and track changes in schemas and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"Database"}),(0,n.jsx)(r.HCh,{children:"SQL database"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"})]}),(0,n.jsx)(o.XU,{children:"For each database, Fides requires the following permissions, where 'username' is the user set up for Fides, and 'database' is the name of the database you want to connect to."}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"CREATE USER username WITH LOGIN;"}),(0,n.jsx)(r.HCh,{children:"GRANT SELECT ON ALL TABLES IN SCHEMA public TO username;"}),(0,n.jsx)(r.HCh,{children:"GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO username;"})]})]})]}),{}),tags:["Detection","Discovery"],enabledFeatures:[d.j.DATA_DISCOVERY]},_={placeholder:{name:"Amazon RDS MySQL",key:"rds_mysql_placeholder",connection_type:l.Rj.RDS_MYSQL,access:l.uv.READ,created_at:""},category:i.DATABASE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"Amazon RDS MySQL is a fully-managed relational database service that simplifies the setup, maintenance, management, and administration of MySQL databases. Connect Fides to your Amazon RDS MySQL to detect and track changes in schemas and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"Database"}),(0,n.jsx)(r.HCh,{children:"SQL database"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"})]}),(0,n.jsx)(o.cB,{text:"Permissions"}),(0,n.jsx)(o.XU,{children:"For detecting database RDS instances and clusters, Fides requires an IAM user with the following permissions/role:"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"rds:DescribeDBClusters"}),(0,n.jsx)(r.HCh,{children:"rds:DescribeDBInstances"}),(0,n.jsx)(r.HCh,{children:"rds-db:connect"})]}),(0,n.jsx)(o.XU,{children:"And per database instance and database it requires the following permissions, where 'username' is the user set up for Fides, and 'database' is the database name, you want to connect to."}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"CREATE USER 'username' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';"}),(0,n.jsx)(r.HCh,{children:"GRANT SELECT, INSERT ON database.* TO 'username'@'%';"})]})]})]}),{}),tags:["Discovery","Detection"],enabledFeatures:[d.j.DATA_DISCOVERY]},F={placeholder:{name:"Amazon RDS Postgres",key:"rds_postgres_placeholder",connection_type:l.Rj.RDS_POSTGRES,access:l.uv.READ,created_at:""},category:i.DATABASE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"Amazon RDS Postgres is a fully-managed relational database service that simplifies the setup, maintenance, management, and administration of Postgres databases. Connect Fides to your Amazon RDS Postgres to detect and track changes in schemas and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"Database"}),(0,n.jsx)(r.HCh,{children:"SQL database"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"})]}),(0,n.jsx)(o.cB,{text:"Permissions"}),(0,n.jsx)(o.XU,{children:"For detecting database RDS instances and clusters, Fides requires an IAM user with the following permissions/role:"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"rds:DescribeDBClusters"}),(0,n.jsx)(r.HCh,{children:"rds:DescribeDBInstances"}),(0,n.jsx)(r.HCh,{children:"rds-db:connect"})]}),(0,n.jsx)(o.XU,{children:"For each database instance and database, Fides requires the following permissions, where 'username' is the user set up for Fides, and 'database' is the name of the database you want to connect to."}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"CREATE USER username WITH LOGIN;"}),(0,n.jsx)(r.HCh,{children:"GRANT rds_iam TO username;"}),(0,n.jsx)(r.HCh,{children:"GRANT SELECT ON ALL TABLES IN SCHEMA public TO username;"}),(0,n.jsx)(r.HCh,{children:"GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO username;"})]})]})]}),{}),tags:["Discovery","Detection"],enabledFeatures:[d.j.DATA_DISCOVERY]},H={placeholder:{name:"Amazon S3",key:"s3_placeholder",connection_type:l.Rj.S3,access:l.uv.READ,created_at:""},category:i.DATA_WAREHOUSE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"Continuously monitor S3 to detect and track schema-level changes, automatically discover and label data categories as well as automatically process DSR (privacy requests) and consent enforcement to proactively manage data governance risks."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"Object storage"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Cloud provider"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"})]}),(0,n.jsx)(o.cB,{text:"Permissions"}),(0,n.jsx)(o.XU,{children:"Fides requires an IAM principal with read-only S3 permissions in order to detect, discover, and classify sensitive data. The AWS-managed AmazonS3ReadOnlyAccess policy can be used to assign these permissions. An IAM administrator can create the necessary principal for Fides using the AWS IAM guides, and assign the appropriate permissions policy to the IAM principal."}),(0,n.jsx)(o.XU,{children:"The permissions allow Fides to list buckets and read object data data stored in those buckets. This data is inspected only for the purpose of detecting sensitive data risks and no data is stored by Fides."}),(0,n.jsx)(o.XU,{children:"Ethyca recommends creating an IAM role with the appropriate permissions, which will be assumed by Fides at runtime, with ephemeral credentials. There must also be an IAM user with fixed credentials that Fides uses strictly for assuming the IAM role with the appropriate permissions. If desired, Fides also supports authenticating directly as an IAM user with the appropriate permissions, but this is considered a less secure option."}),(0,n.jsx)(o.cB,{text:"Permissions list"}),(0,n.jsx)(o.Z5,{children:(0,n.jsx)(r.HCh,{children:"AmazonS3ReadOnlyAccess"})})]})]}),{}),instructions:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Configuring a Fides -> Amazon S3 Integration"}),(0,n.jsx)(o.cB,{text:"Step 1: Create an IAM role in AWS"}),(0,n.jsx)(o.XU,{children:"Create an IAM role for Fides' S3 access following the AWS IAM roles guide. This role will be referred to below as the Fides S3 Access Role."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Step 2: Assign policies to the IAM role"}),(0,n.jsx)(o.XU,{children:"Grant the necessary permissions to the IAM role by attaching the following AWS-managed policy:"}),(0,n.jsx)(o.aG,{data:[{permission:"AmazonS3ReadOnlyAccess",description:"Provides read-only access to all buckets via the AWS Management Console."}]}),(0,n.jsx)(o.cB,{text:"Step 3: Create an IAM user for assuming a role"}),(0,n.jsxs)(o.XU,{children:["Follow the ",(0,n.jsx)(o.Hn,{href:"https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html#getting-started-iam-user",children:"AWS guide"})," for creating an IAM user to create an IAM user that Fides will authenticate as in order to assume the Fides S3 Access Role created above, and retrieve ephemeral credentials."]}),(0,n.jsx)(o.cB,{text:"Step 4: Grant the IAM user permission to assume the Fides S3 Access Role"}),(0,n.jsx)(o.XU,{children:"Navigate to the IAM user's Permissions page and add a permission by creating an inline policy. This permission should grant the IAM user permission to assume the Fides S3 Access Role created above (you'll need to retrieve the role ARN). The inline policy should look similar to this:"}),(0,n.jsx)(o.hX,{children:'{\n "Version": "2012-10-17",\n "Statement": [\n {\n "Sid": "VisualEditor0",\n "Effect": "Allow",\n "Action": "sts:AssumeRole",\n "Resource": "arn:aws:iam::[AWS ACCOUNT NUMBER]:role/[Fides S3 Access Role ARN]"\n }\n ]\n}'}),(0,n.jsx)(o.cB,{text:"Step 5: Create an access key for the IAM user"}),(0,n.jsxs)(o.vQ,{children:[(0,n.jsxs)(r.HCh,{children:["Create an access key for the IAM user under"," ",(0,n.jsx)("strong",{children:"Security credentials"}),"."]}),(0,n.jsx)(r.HCh,{children:"Select the Other use case"}),(0,n.jsx)(r.HCh,{children:"Copy the Access Key ID and Secret Access Key"})]}),(0,n.jsx)(o.cB,{text:"Step 6: Use the credentials to authenticate your integration"}),(0,n.jsxs)(o.XU,{children:["Provide the credentials to your Fides instance to securely connect Fides. For the Assume Role ARN, provide the ARN for the Fides S3 Access Role created in step 1."," "]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[d.j.DATA_DISCOVERY]},I={placeholder:{name:"Scylla",key:"scylla_placeholder",connection_type:l.Rj.SCYLLA,access:l.uv.READ,created_at:""},category:i.DATABASE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"ScyllaDB is an open-sources distributed NoSQL data store designed to be compatible with Apache Cassandra. Connect Fides to your ScyllaDB to detect and track changes in keyspaces and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"Database"}),(0,n.jsx)(r.HCh,{children:"NoSQL database"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"}),(0,n.jsx)(r.HCh,{children:"DSR automation"})]}),(0,n.jsx)(o.cB,{text:"Permissions"}),(0,n.jsx)(o.XU,{children:"For detection and discovery, Fides requires a user with the SELECT permission on all keyspaces. If you intend to automate governance for DSR or Consent, Fides requires the role to to be granted SELECT and MODIFY on all keyspaces. The permissions allow Fides to read the schema of, and data stored in keyspaces, tables, and fields as well as write restricted updates based on your policy configurations to tables you specify as part of DSR and Consent orchestration. For a complete list of permissions view the Scylla DB documentation."}),(0,n.jsx)(o.cB,{text:"Permissions list"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"SELECT ALL KEYSPACES"}),(0,n.jsx)(r.HCh,{children:"MODIFY ALL KEYSPACES"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[d.j.DATA_DISCOVERY]},B={placeholder:{name:"Snowflake",key:"snowflake_placeholder",connection_type:l.Rj.SNOWFLAKE,access:l.uv.READ,created_at:""},category:i.DATA_WAREHOUSE,overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:"Snowflake is a cloud-based data warehousing platform designed for handling large-scale data storage and analytics. It enables organizations to store, manage, and analyze massive amounts of data efficiently, offering features like scalability, performance, and flexibility."}),(0,n.jsxs)(c,{children:[(0,n.jsx)(o.cB,{text:"Categories"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"Database"}),(0,n.jsx)(r.HCh,{children:"SQL database"}),(0,n.jsx)(r.HCh,{children:"Storage system"}),(0,n.jsx)(r.HCh,{children:"Data detection"}),(0,n.jsx)(r.HCh,{children:"Data discovery"})]}),(0,n.jsx)(o.cB,{text:"Permissions"}),(0,n.jsxs)(o.Z5,{children:[(0,n.jsx)(r.HCh,{children:"CREATE ROLE my_monitor_role;"}),(0,n.jsx)(r.HCh,{children:"GRANT USAGE ON DATABASE DATABASE_1 TO ROLE my_monitor_role;"}),(0,n.jsx)(r.HCh,{children:"GRANT USAGE ON SCHEMA DATABASE_1.TEST_SCHEMA TO ROLE my_monitor_role;"}),(0,n.jsx)(r.HCh,{children:"GRANT SELECT ON ALL TABLES IN SCHEMA DATABASE_1.TEST_SCHEMA TO ROLE my_monitor_role;"}),(0,n.jsx)(r.HCh,{children:"CREATE USER test_user PASSWORD='***';"}),(0,n.jsx)(r.HCh,{children:"GRANT ROLE my_monitor_role TO USER test_user;"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[d.j.DATA_DISCOVERY]},k={placeholder:{name:"Website",key:"website_placeholder",connection_type:l.Rj.WEBSITE,access:l.uv.READ,created_at:""},category:i.WEBSITE,tags:["Consent","Discovery","Detection"],overview:(0,n.jsx)(()=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.cB,{text:"Overview"}),(0,n.jsx)(o.XU,{children:'Websites, or "properties", often process user data. Adding a website as an integration lets you configure a Consent Management Platform (CMP), a site-specific privacy center, and Cross-Origin requests via Fides. You can configure the various security settings, styling, and user experience settings for the privacy center and CMP on a per-website basis.'})]}),{}),enabledFeatures:[d.j.DATA_DISCOVERY]},O={[l.Rj.BIGQUERY]:m,[l.Rj.DATAHUB]:g,[l.Rj.DYNAMODB]:f,[l.Rj.GOOGLE_CLOUD_SQL_MYSQL]:C,[l.Rj.GOOGLE_CLOUD_SQL_POSTGRES]:S,[l.Rj.MSSQL]:b,[l.Rj.OKTA]:E,[l.Rj.RDS_MYSQL]:_,[l.Rj.RDS_POSTGRES]:F,[l.Rj.S3]:H,[l.Rj.SCYLLA]:I,[l.Rj.SNOWFLAKE]:B,[l.Rj.MYSQL]:D,[l.Rj.WEBSITE]:k,[l.Rj.POSTGRES]:T,[l.Rj.MANUAL_WEBHOOK]:A},L=Object.values(O),P=Object.keys(O),N={placeholder:{name:"",key:"placeholder",connection_type:l.Rj.MANUAL,access:l.uv.READ,created_at:""},category:i.DATA_WAREHOUSE,tags:[],enabledFeatures:[]};var M=e=>{var t;return e&&null!==(t=O[e])&&void 0!==t?t:N}},64176:function(e,t,s){var a=s(27378),i=s(20682);t.Z=e=>{let{data:t}=(0,i.$I)({});return(0,a.useMemo)(()=>null==t?void 0:t.items.find(t=>t.identifier===e),[t,e])}},11013:function(e,t,s){s.d(t,{$y:function(){return n},eV:function(){return a},m5:function(){return o},ww:function(){return r}});let{useGetSharedMonitorConfigsQuery:a,useGetSharedMonitorConfigByIdQuery:i,useCreateSharedMonitorConfigMutation:n,useUpdateSharedMonitorConfigMutation:r,useDeleteSharedMonitorConfigMutation:o}=s(78780).u.injectEndpoints({endpoints:e=>({getSharedMonitorConfigs:e.query({query:e=>({method:"GET",url:"/plus/shared-monitor-config",params:e}),providesTags:["Shared Monitor Configs"]}),getSharedMonitorConfigById:e.query({query:e=>{let{id:t}=e;return{method:"GET",url:"/plus/shared-monitor-config/".concat(t)}},providesTags:["Shared Monitor Configs"]}),createSharedMonitorConfig:e.mutation({query:e=>({method:"POST",url:"/plus/shared-monitor-config",body:e}),invalidatesTags:["Shared Monitor Configs"]}),updateSharedMonitorConfig:e.mutation({query:e=>({method:"PUT",url:"/plus/shared-monitor-config/".concat(e.id),body:e}),invalidatesTags:["Shared Monitor Configs"]}),deleteSharedMonitorConfig:e.mutation({query:e=>{let{id:t}=e;return{method:"DELETE",url:"/plus/shared-monitor-config/".concat(t)}},invalidatesTags:["Shared Monitor Configs"]})})})},31883:function(e,t,s){s.d(t,{Bw:function(){return a.Bw},D4:function(){return a.D4}});var a=s(19043)}}]);
|
@@ -1 +0,0 @@
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9187],{6446:function(u){u.exports=function(u,n,t,r){var f=-1,e=null==u?0:u.length;for(r&&e&&(t=u[++f]);++f<e;)t=n(t,u[f],f,u);return t}},40585:function(u){var n=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;u.exports=function(u){return u.match(n)||[]}},52033:function(u,n,t){var r=t(26194),f=t(26789)(r);u.exports=f},49819:function(u,n,t){var r=t(18911)();u.exports=r},26194:function(u,n,t){var r=t(49819),f=t(50098);u.exports=function(u,n){return u&&r(u,n,f)}},17646:function(u){u.exports=function(u){return function(n){return null==u?void 0:u[n]}}},26789:function(u,n,t){var r=t(80068);u.exports=function(u,n){return function(t,f){if(null==t)return t;if(!r(t))return u(t,f);for(var e=t.length,o=n?e:-1,i=Object(t);(n?o--:++o<e)&&!1!==f(i[o],o,i););return t}}},18911:function(u){u.exports=function(u){return function(n,t,r){for(var f=-1,e=Object(n),o=r(n),i=o.length;i--;){var a=o[u?i:++f];if(!1===t(e[a],a,e))break}return n}}},68267:function(u,n,t){var r=t(6446),f=t(69689),e=t(93254),o=RegExp("['’]","g");u.exports=function(u){return function(n){return r(e(f(n).replace(o,"")),u,"")}}},4248:function(u,n,t){var r=t(17646)({À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"});u.exports=r},73909:function(u){var n=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;u.exports=function(u){return n.test(u)}},97025:function(u){var n="\ud800-\udfff",t="\\u2700-\\u27bf",r="a-z\\xdf-\\xf6\\xf8-\\xff",f="A-Z\\xc0-\\xd6\\xd8-\\xde",e="\\xac\\xb1\\xd7\\xf7\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf\\u2000-\\u206f \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",o="['’]",i="["+e+"]",a="["+r+"]",c="[^"+n+e+"\\d+"+t+r+f+"]",x="(?:\ud83c[\udde6-\uddff]){2}",d="[\ud800-\udbff][\udc00-\udfff]",s="["+f+"]",v="(?:"+a+"|"+c+")",p="(?:"+o+"(?:d|ll|m|re|s|t|ve))?",l="(?:"+o+"(?:D|LL|M|RE|S|T|VE))?",h="(?:[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]|\ud83c[\udffb-\udfff])?",g="[\\ufe0e\\ufe0f]?",E="(?:\\u200d(?:"+["[^"+n+"]",x,d].join("|")+")"+g+h+")*",b="(?:"+["["+t+"]",x,d].join("|")+")"+(g+h+E),A=RegExp([s+"?"+a+"+"+p+"(?="+[i,s,"$"].join("|")+")","(?:"+s+"|"+c+")+"+l+"(?="+[i,s+v,"$"].join("|")+")",s+"?"+v+"+"+p,s+"+"+l,"\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])","\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])","\\d+",b].join("|"),"g");u.exports=function(u){return u.match(A)||[]}},66726:function(u,n,t){var r=t(11611),f=t(82846),e=t(91936),o=Math.max,i=Math.min;u.exports=function(u,n,t){var a,c,x,d,s,v,p=0,l=!1,h=!1,g=!0;if("function"!=typeof u)throw TypeError("Expected a function");function E(n){var t=a,r=c;return a=c=void 0,p=n,d=u.apply(r,t)}function b(u){var t=u-v,r=u-p;return void 0===v||t>=n||t<0||h&&r>=x}function A(){var u,t,r,e=f();if(b(e))return m(e);s=setTimeout(A,(u=e-v,t=e-p,r=n-u,h?i(r,x-t):r))}function m(u){return(s=void 0,g&&a)?E(u):(a=c=void 0,d)}function T(){var u,t=f(),r=b(t);if(a=arguments,c=this,v=t,r){if(void 0===s)return p=u=v,s=setTimeout(A,n),l?E(u):d;if(h)return clearTimeout(s),s=setTimeout(A,n),E(v)}return void 0===s&&(s=setTimeout(A,n)),d}return n=e(n)||0,r(t)&&(l=!!t.leading,x=(h="maxWait"in t)?o(e(t.maxWait)||0,n):x,g="trailing"in t?!!t.trailing:g),T.cancel=function(){void 0!==s&&clearTimeout(s),p=0,a=v=c=s=void 0},T.flush=function(){return void 0===s?d:m(f())},T}},69689:function(u,n,t){var r=t(4248),f=t(65567),e=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,o=RegExp("[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]","g");u.exports=function(u){return(u=f(u))&&u.replace(e,r).replace(o,"")}},82846:function(u,n,t){var r=t(77400);u.exports=function(){return r.Date.now()}},93254:function(u,n,t){var r=t(40585),f=t(73909),e=t(65567),o=t(97025);u.exports=function(u,n,t){return(u=e(u),void 0===(n=t?void 0:n))?f(u)?o(u):r(u):u.match(n)||[]}}}]);
|
@@ -1 +0,0 @@
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9327],{77213:function(e,t,r){"use strict";r.d(t,{Z:function(){return p}});var n=r(24246),i=r(4454),l=r(88038),a=r.n(l),o=r(86677);r(27378);var s=r(25980),u=r(90867),d=r(77830),c=()=>{let e=(0,o.useRouter)();return(0,n.jsx)(i.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,n.jsxs)(i.xuv,{children:[(0,n.jsxs)(i.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,n.jsx)(i.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,n.jsx)(i.wpx,{onClick:()=>{e.push(d.fz)},children:"Configure"})]}),(0,n.jsxs)(i.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},p=e=>{let{children:t,title:r,padded:l=!0,mainProps:d}=e,p=(0,s.hz)(),f=(0,o.useRouter)(),h="/privacy-requests"===f.pathname||"/datastore-connection"===f.pathname,m=!(p.flags.privacyRequestsConfiguration&&h),{data:b}=(0,u.JE)(void 0,{skip:m}),{data:g}=(0,u.PW)(void 0,{skip:m}),y=p.flags.privacyRequestsConfiguration&&(!b||!g)&&h;return(0,n.jsxs)(i.kCb,{"data-testid":r,direction:"column",h:"100vh",children:[(0,n.jsxs)(a(),{children:[(0,n.jsxs)("title",{children:["Fides Admin UI - ",r]}),(0,n.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,n.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,n.jsxs)(i.kCb,{as:"main",direction:"column",py:l?6:0,px:l?10:0,h:l?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...d,children:[y?(0,n.jsx)(c,{}):null,t]})]})}},58754:function(e,t,r){"use strict";var n=r(24246),i=r(4454),l=r(70788);t.Z=e=>{let{heading:t,breadcrumbItems:r,isSticky:a=!0,children:o,rightContent:s,style:u,...d}=e;return(0,n.jsxs)("div",{...d,style:a?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...u}:{paddingBottom:"24px",...u},children:[(0,n.jsxs)(i.jqI,{justify:"space-between",children:["string"==typeof t?(0,n.jsx)(i.lQT,{className:r||o?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,s&&(0,n.jsx)("div",{"data-testid":"page-header-right-content",children:s})]}),!!r&&(0,n.jsx)(l.m,{className:o?"pb-4":void 0,items:r,"data-testid":"page-breadcrumb"}),o]})}},70788:function(e,t,r){"use strict";r.d(t,{m:function(){return u}});var n=r(24246),i=r(4454),l=r(79894),a=r.n(l),o=r(27378);let{Text:s}=i.AntTypography,u=e=>{let{items:t,...r}=e,l=(0,o.useMemo)(()=>null==t?void 0:t.map((e,r)=>{let l=r===t.length-1,o={...e},u=o.onClick&&!o.href;return("string"==typeof o.title&&(o.title=(0,n.jsx)(s,{style:{color:"inherit",maxWidth:l?void 0:400},ellipsis:!l,children:o.title})),u)?o.title=(0,n.jsx)(i.wpx,{type:"text",size:"small",icon:o.icon,onClick:o.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:o.title}):(o.icon&&(o.title=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"anticon align-text-bottom",children:o.icon}),o.title]})),o.href&&o.title&&(o.title=(0,n.jsx)(a(),{href:o.href,className:"ant-breadcrumb-link",children:o.title}),delete o.href)),o}),[t]);return(0,n.jsx)(i.zrq,{items:l,...r})}},41207:function(e,t,r){"use strict";r.d(t,{F:function(){return a},M:function(){return l}});var n=r(76649),i=r(65218);let l=r.n(i)()(()=>r.e(7088).then(r.bind(r,57088)).then(e=>e.default),{loadableGenerated:{webpack:()=>[57088]},ssr:!1}),a=e=>(0,n.Ln)({name:"string"},e)&&"YAMLException"===e.name},76737:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(t,{default:function(){return o},noSSR:function(){return a}});let n=r(51538);r(24246),r(27378);let i=n._(r(21887));function l(e){return{default:(null==e?void 0:e.default)||e}}function a(e,t){return delete t.webpack,delete t.modules,e(t)}function o(e,t){let r=i.default,n={loading:e=>{let{error:t,isLoading:r,pastDelay:n}=e;return null}};e instanceof Promise?n.loader=()=>e:"function"==typeof e?n.loader=e:"object"==typeof e&&(n={...n,...e});let o=(n={...n,...t}).loader;return(n.loadableGenerated&&(n={...n,...n.loadableGenerated},delete n.loadableGenerated),"boolean"!=typeof n.ssr||n.ssr)?r({...n,loader:()=>null!=o?o().then(l):Promise.resolve(l(()=>null))}):(delete n.webpack,delete n.modules,a(r,n))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},28438:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"LoadableContext",{enumerable:!0,get:function(){return n}});let n=r(51538)._(r(27378)).default.createContext(null)},21887:function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return p}});let n=r(51538)._(r(27378)),i=r(28438),l=[],a=[],o=!1;function s(e){let t=e(),r={loading:!0,loaded:null,error:null};return r.promise=t.then(e=>(r.loading=!1,r.loaded=e,e)).catch(e=>{throw r.loading=!1,r.error=e,e}),r}class u{promise(){return this._res.promise}retry(){this._clearTimeouts(),this._res=this._loadFn(this._opts.loader),this._state={pastDelay:!1,timedOut:!1};let{_res:e,_opts:t}=this;e.loading&&("number"==typeof t.delay&&(0===t.delay?this._state.pastDelay=!0:this._delay=setTimeout(()=>{this._update({pastDelay:!0})},t.delay)),"number"==typeof t.timeout&&(this._timeout=setTimeout(()=>{this._update({timedOut:!0})},t.timeout))),this._res.promise.then(()=>{this._update({}),this._clearTimeouts()}).catch(e=>{this._update({}),this._clearTimeouts()}),this._update({})}_update(e){this._state={...this._state,error:this._res.error,loaded:this._res.loaded,loading:this._res.loading,...e},this._callbacks.forEach(e=>e())}_clearTimeouts(){clearTimeout(this._delay),clearTimeout(this._timeout)}getCurrentValue(){return this._state}subscribe(e){return this._callbacks.add(e),()=>{this._callbacks.delete(e)}}constructor(e,t){this._loadFn=e,this._opts=t,this._callbacks=new Set,this._delay=null,this._timeout=null,this.retry()}}function d(e){return function(e,t){let r=Object.assign({loader:null,loading:null,delay:200,timeout:null,webpack:null,modules:null},t),l=null;function s(){if(!l){let t=new u(e,r);l={getCurrentValue:t.getCurrentValue.bind(t),subscribe:t.subscribe.bind(t),retry:t.retry.bind(t),promise:t.promise.bind(t)}}return l.promise()}if(!o){let e=r.webpack?r.webpack():r.modules;e&&a.push(t=>{for(let r of e)if(t.includes(r))return s()})}function d(e,t){!function(){s();let e=n.default.useContext(i.LoadableContext);e&&Array.isArray(r.modules)&&r.modules.forEach(t=>{e(t)})}();let a=n.default.useSyncExternalStore(l.subscribe,l.getCurrentValue,l.getCurrentValue);return n.default.useImperativeHandle(t,()=>({retry:l.retry}),[]),n.default.useMemo(()=>{var t;return a.loading||a.error?n.default.createElement(r.loading,{isLoading:a.loading,pastDelay:a.pastDelay,timedOut:a.timedOut,error:a.error,retry:l.retry}):a.loaded?n.default.createElement((t=a.loaded)&&t.default?t.default:t,e):null},[e,a])}return d.preload=()=>s(),d.displayName="LoadableComponent",n.default.forwardRef(d)}(s,e)}function c(e,t){let r=[];for(;e.length;){let n=e.pop();r.push(n(t))}return Promise.all(r).then(()=>{if(e.length)return c(e,t)})}d.preloadAll=()=>new Promise((e,t)=>{c(l).then(e,t)}),d.preloadReady=e=>(void 0===e&&(e=[]),new Promise(t=>{let r=()=>(o=!0,t());c(a,e).then(r,r)})),window.__NEXT_PRELOADREADY=d.preloadReady;let p=d},65218:function(e,t,r){e.exports=r(76737)}}]);
|
@@ -1 +0,0 @@
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9494],{7617:function(e,t,i){i.d(t,{q:function(){return o}});var n=i(24246),r=i(4454);let o=e=>{let{label:t,isDisabled:i,...o}=e;return(0,n.jsx)(r.OK9,{"data-testid":"tab-".concat(t),_selected:{fontWeight:"600",color:"complimentary.500",borderColor:"complimentary.500"},fontSize:o.fontSize,fontWeight:"500",color:"gray.500",isDisabled:i||!1,children:t})};t.Z=e=>{let{data:t,border:i="partial",...s}=e;return(0,n.jsxs)(r.mQc,{colorScheme:"complimentary",...s,children:[(0,n.jsx)(r.tdY,{width:"partial"===i?"max-content":void 0,children:t.map(e=>(0,n.jsx)(o,{label:e.label,isDisabled:e.isDisabled,fontSize:s.fontSize},e.label))}),(0,n.jsx)(r.nPR,{children:t.map(e=>(0,n.jsx)(r.x45,{px:0,"data-testid":"tab-panel-".concat(e.label),children:e.content},e.label))})]})}},66379:function(e,t,i){var n=i(24246),r=i(4454),o=i(7617);t.Z=e=>{let{data:t,border:i="partial",borderWidth:s=2,...l}=e;return(0,n.jsx)(r.mQc,{colorScheme:"complimentary",...l,children:(0,n.jsx)(r.tdY,{width:"partial"===i?"max-content":void 0,borderBottomWidth:s,children:t.map(e=>(0,n.jsx)(o.q,{label:e.label,"data-testid":e.label,isDisabled:e.isDisabled,fontSize:l.fontSize},e.label))})})}},35287:function(e,t,i){var n=i(24246),r=i(4454),o=i(88038),s=i.n(o);i(27378),t.Z=e=>{let{children:t,title:i,mainProps:o}=e;return(0,n.jsxs)(r.kCb,{"data-testid":i,direction:"column",height:"calc(100vh - 48px)",width:"calc(100vw - 240px)",children:[(0,n.jsxs)(s(),{children:[(0,n.jsxs)("title",{children:["Fides Admin UI - ",i]}),(0,n.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,n.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,n.jsx)(r.kCb,{px:10,py:6,as:"main",overflow:"auto",direction:"column",flex:1,minWidth:0,...o,children:t})]})}},79494:function(e,t,i){var n=i(24246),r=i(4454);t.Z=e=>{let{title:t,icon:i,type:o,...s}=e;return(0,n.jsx)(r.wpx,{size:"small",type:o,"data-testid":"action-".concat(t),icon:i,iconPosition:"start",...s,children:t})}},45896:function(e,t,i){var n=i(24246),r=i(66379);t.Z=e=>{let{filterTabs:t,onChange:i,filterTabIndex:o}=e;return(0,n.jsx)(r.Z,{border:"full-width",mb:5,size:"sm",data:t,borderWidth:1,index:o,onChange:i})}},69828:function(e,t,i){i.d(t,{Y:function(){return s}});var n=i(24246),r=i(4454),o=i(70788);let s=[(0,n.jsx)(r.PJP.S9g,{},"layers"),(0,n.jsx)(r.PJP.ehp,{},"dataset"),(0,n.jsx)(r.PJP.iA_,{},"table"),(0,n.jsx)(r.PJP.$4y,{style:{transform:"rotate(-90deg)"}},"field")];t.Z=e=>{let{resourceUrn:t,parentLink:i,onPathClick:r=()=>{}}=e,l=[];if(t||l.push({title:"All activity"}),t){l.push({title:"All activity",href:i});let e=t.split(".");e.forEach((t,i)=>{0!==i&&l.push({title:t,icon:s[i-1],onClick:t=>{t.preventDefault(),r(e.slice(0,i+1).join("."))}})})}return(0,n.jsx)(o.m,{"data-testid":"results-breadcrumb",items:l})}},38347:function(e,t,i){var n=i(24246),r=i(4454),o=i(56839);t.Z=()=>(0,n.jsxs)(r.J2e,{isLazy:!0,trigger:"hover",children:[(0,n.jsx)(r.xol,{children:(0,n.jsx)(r.UOT,{color:"gray.400"})}),(0,n.jsxs)(r.yky,{bgColor:"gray.800",color:"white",fontSize:"sm",w:"auto",border:"none",children:[(0,n.jsx)(r.Ytg,{fontWeight:"semibold",border:"none",pb:0,children:"Activity legend:"}),(0,n.jsx)(r.QHN,{bgColor:"gray.800"}),(0,n.jsx)(r.baG,{border:"none",children:(0,n.jsxs)(r.MIq,{columns:2,spacing:2,children:[(0,n.jsxs)(r.xuv,{children:[(0,n.jsx)(o.Rv,{})," Change detected"]}),(0,n.jsxs)(r.xuv,{children:[(0,n.jsx)(o.$P,{})," Data labeled"]}),(0,n.jsxs)(r.xuv,{children:[(0,n.jsx)(o.zj,{})," Monitoring"]}),(0,n.jsxs)(r.xuv,{children:[(0,n.jsx)(o.dK,{})," Addition detected"]}),(0,n.jsxs)(r.xuv,{children:[(0,n.jsx)(o.Kr,{})," Unmonitored"]}),(0,n.jsxs)(r.xuv,{children:[(0,n.jsx)(o.q1,{})," Removal detected"]})]})})]})]})},47182:function(e,t,i){var n=i(86677),r=i(77830);t.Z=()=>{let e=(0,n.useRouter)();return{monitorId:e.query.monitorId,resourceUrn:e.query.resourceUrn,navigateToDetectionResults:t=>{let{resourceUrn:i,filterTabIndex:n}=t;e.push({pathname:r.dS,query:{resourceUrn:i,filterTabIndex:n}})},navigateToDiscoveryResults:t=>{let{resourceUrn:i,filterTabIndex:n}=t;e.push({pathname:r.Sj,query:{resourceUrn:i,filterTabIndex:n}})}}}},56839:function(e,t,i){i.d(t,{dK:function(){return c},Rv:function(){return f},$P:function(){return x},zj:function(){return h},Kr:function(){return I},q1:function(){return u},QL:function(){return j}});var n=i(24246),r=i(4454);let o=(0,r.IUT)({displayName:"CircleIcon",viewBox:"0 0 200 200",path:(0,n.jsx)("path",{fill:"currentColor",d:"M 100, 100 m -75, 0 a 75,75 0 1,0 150,0 a 75,75 0 1,0 -150,0"})}),s=(0,r.IUT)({displayName:"RightDownArrowIcon",viewBox:"0 0 8 8",path:(0,n.jsx)("path",{fill:"currentColor",d:"M7.23192 8H8V7.23192V1.85539V1.08731H6.46385V1.85539V5.37654L1.62976 0.544855L1.08731 0L0 1.08731L0.542454 1.62976L5.37654 6.46385H1.85539H1.08731V8H1.85539H7.23192Z"})}),l=(0,r.IUT)({displayName:"RightUpArrowIcon",viewBox:"0 0 8 8",path:(0,n.jsx)("path",{fill:"currentColor",d:"M7.23192 0H8V0.768077V6.14461V6.91269H6.46385V6.14461V2.62346L1.62976 7.45515L1.08731 8L0 6.91269L0.542454 6.37024L5.37654 1.53615H1.85539H1.08731V0H1.85539H7.23192Z"})}),a=(0,r.IUT)({displayName:"TagIcon",viewBox:"0 0 9 10",path:(0,n.jsx)("path",{fill:"currentColor",d:"M0 0.5V5L4.5 9.5L9 5L4.5 0.5H0ZM2.25 2.10714C2.4205 2.10714 2.58401 2.17487 2.70457 2.29543C2.82513 2.41599 2.89286 2.5795 2.89286 2.75C2.89286 2.9205 2.82513 3.08401 2.70457 3.20457C2.58401 3.32513 2.4205 3.39286 2.25 3.39286C2.0795 3.39286 1.91599 3.32513 1.79543 3.20457C1.67487 3.08401 1.60714 2.9205 1.60714 2.75C1.60714 2.5795 1.67487 2.41599 1.79543 2.29543C1.91599 2.17487 2.0795 2.10714 2.25 2.10714Z"})});var d=i(28278);let c=()=>(0,n.jsx)(l,{color:"green.400",boxSize:2,mr:2,"data-testid":"add-icon"}),u=()=>(0,n.jsx)(s,{color:"red.400",boxSize:2,mr:2,"data-testid":"remove-icon"}),x=()=>(0,n.jsx)(a,{color:"orange.400",boxSize:3,mr:1,"data-testid":"classify-icon"}),f=()=>(0,n.jsx)(o,{color:"blue.400",boxSize:2.5,mb:"2px",mr:"6px","data-testid":"change-icon"}),h=()=>(0,n.jsx)(o,{color:"green.400",boxSize:2,mr:2,"data-testid":"monitored-icon"}),I=()=>(0,n.jsx)(o,{color:"red.400",boxSize:2,mr:2,"data-testid":"muted-icon"}),j={[d.E.ADDITION]:(0,n.jsx)(c,{}),[d.E.REMOVAL]:(0,n.jsx)(u,{}),[d.E.CLASSIFICATION]:(0,n.jsx)(x,{}),[d.E.CHANGE]:(0,n.jsx)(f,{}),[d.E.MONITORED]:(0,n.jsx)(h,{}),[d.E.MUTED]:(0,n.jsx)(I,{}),[d.E.IN_PROGRESS]:(0,n.jsx)(()=>(0,n.jsx)(o,{color:"orange.400",boxSize:2,mr:2,"data-testid":"in-progress-icon"}),{}),[d.E.NONE]:null}},87667:function(e,t,i){var n=i(24246),r=i(4454),o=i(56839),s=i(20449),l=i(98559),a=i(80356);t.Z=e=>{let{result:t,changeTypeOverride:i}=e,d=null!=i?i:(0,s.Z)(t);return(0,n.jsxs)(r.kCb,{alignItems:"center",height:"100%",children:[(0,n.jsx)(r.esZ,{title:d,children:(0,n.jsx)("span",{children:o.QL[d]})}),(0,n.jsx)(r.xvT,{fontSize:"xs",lineHeight:4,fontWeight:(0,a.Z)(t)?"semibold":"normal",overflow:"hidden",textOverflow:"ellipsis",children:(0,l.Z)(t)})]})}},50169:function(e,t,i){var n=i(24246),r=i(14481),o=i(28278),s=i(20449);let l={[o.E.MUTED]:{color:"marble",label:"Unmonitored"},[o.E.MONITORED]:{color:"success",label:"Monitoring"},[o.E.IN_PROGRESS]:{color:"info",label:"Classifying"}};t.Z=e=>{var t,i,o,a,d;let{result:c,changeTypeOverride:u}=e;if(null===(t=c.user_assigned_data_categories)||void 0===t?void 0:t.length)return(0,n.jsx)(r.A4,{color:"success",value:"Reviewed"});let x=null!=u?u:(0,s.Z)(c);return(0,n.jsx)(r.A4,{color:null!==(a=null===(i=l[x])||void 0===i?void 0:i.color)&&void 0!==a?a:"warning",value:null!==(d=null===(o=l[x])||void 0===o?void 0:o.label)&&void 0!==d?d:"Pending review"})}},28278:function(e,t,i){var n,r;i.d(t,{E:function(){return n}}),(r=n||(n={})).ADDITION="Addition",r.CHANGE="Change",r.REMOVAL="Removal",r.CLASSIFICATION="Classification",r.IN_PROGRESS="Classifying",r.MONITORED="Monitoring",r.MUTED="Unmonitored",r.NONE="--"},74241:function(e,t){t.Z=e=>{let t=e.split(".");return t.length>1?t[1]:""}},20449:function(e,t,i){var n=i(28278),r=i(61317);t.Z=e=>e.diff_status===r.LL.ADDITION?n.E.ADDITION:e.diff_status===r.LL.REMOVAL?n.E.REMOVAL:e.diff_status===r.LL.CLASSIFYING||e.diff_status===r.LL.CLASSIFICATION_QUEUED?n.E.IN_PROGRESS:e.diff_status===r.LL.CLASSIFICATION_ADDITION||e.diff_status===r.LL.CLASSIFICATION_UPDATE?n.E.CLASSIFICATION:e.child_diff_statuses?e.child_diff_statuses[r.LL.CLASSIFYING]||e.child_diff_statuses[r.LL.CLASSIFICATION_QUEUED]?n.E.IN_PROGRESS:e.child_diff_statuses[r.LL.CLASSIFICATION_ADDITION]||e.child_diff_statuses[r.LL.CLASSIFICATION_UPDATE]?n.E.CLASSIFICATION:e.child_diff_statuses[r.LL.ADDITION]||e.child_diff_statuses[r.LL.REMOVAL]?n.E.CHANGE:e.diff_status===r.LL.MONITORED?n.E.MONITORED:e.diff_status===r.LL.MUTED?n.E.MUTED:n.E.NONE:n.E.NONE},80285:function(e,t){t.Z=e=>e.urn}}]);
|