ethyca-fides 2.69.1rc0__py2.py3-none-any.whl → 2.76.0rc2__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.
Files changed (607) hide show
  1. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/METADATA +9 -6
  2. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/RECORD +488 -361
  3. fides/_version.py +3 -3
  4. fides/api/alembic/alembic.ini +5 -1
  5. fides/api/alembic/migrations/env.py +7 -1
  6. fides/api/alembic/migrations/versions/0eef0016cf06_adding_oauth2_config_for_.py +69 -0
  7. fides/api/alembic/migrations/versions/303287c70600_migrate_resource_type_from_enum_to_.py +99 -0
  8. fides/api/alembic/migrations/versions/30369bb8ae01_add_webmonitorgroupjob_model.py +67 -0
  9. fides/api/alembic/migrations/versions/3efe14d4469a_adds_new_experience_configs_for_vendor_.py +79 -0
  10. fides/api/alembic/migrations/versions/4bfbeff34611_add_polling_status.py +68 -0
  11. fides/api/alembic/migrations/versions/4d8c0fcc5771_adding_default_system_groups.py +78 -0
  12. fides/api/alembic/migrations/versions/5fa78b1f324d_add_event_audit_table.py +82 -0
  13. fides/api/alembic/migrations/versions/65a1bc82ae09_adds_experience_config_for_delete_.py +53 -0
  14. fides/api/alembic/migrations/versions/67d0e389b003_update_consentstatus_enum.py +47 -0
  15. fides/api/alembic/migrations/versions/795f46f656c0_migrate_field_type_from_enum_to_string.py +61 -0
  16. fides/api/alembic/migrations/versions/7db29f9cd77b_create_new_sub_request_table.py +95 -0
  17. fides/api/alembic/migrations/versions/918aefc950c9_create_digest_conditional_dependencies.py +125 -0
  18. fides/api/alembic/migrations/versions/9caf76161e55_make_user_assigned_data_uses_nullable_.py +64 -0
  19. fides/api/alembic/migrations/versions/9e0dcbf67b9f_add_digest_config.py +84 -0
  20. fides/api/alembic/migrations/versions/a55e12c2c2df_add_tagging_instructions_to_data_.py +29 -0
  21. fides/api/alembic/migrations/versions/a8e0c016afd_add_classification_benchmark_table.py +126 -0
  22. fides/api/alembic/migrations/versions/b97e92b038d2_add_digest_execution_model.py +117 -0
  23. fides/api/alembic/migrations/versions/b9bfa12c167b_add_not_applicable_to_asset_consentstatus.py +46 -0
  24. fides/api/alembic/migrations/versions/c09e76282dd1_add_privacy_request_duplication_cols.py +64 -0
  25. fides/api/alembic/migrations/versions/cd8649be3a2b_add_classifications_and_user_assigned_.py +74 -0
  26. fides/api/alembic/migrations/versions/e2cda8d6abc3_add_dismissed_in_activity_view_to_.py +29 -0
  27. fides/api/alembic/migrations/versions/f108fa05c579_adds_optional_duration_field_to_assets.py +28 -0
  28. fides/api/alembic/migrations/versions/f36ce1bde293_add_system_groups.py +132 -0
  29. fides/api/alembic/migrations/versions/fd7571bef683_adds_new_fields_to_messagingconfig_for_.py +31 -0
  30. fides/api/alembic/migrations/versions/xx_2025_10_17_1603_5093e92e2a5a_add_consent_data_v3_to_the_database.py +72 -0
  31. fides/api/alembic/migrations/versions/xx_2025_10_27_1834_67f0f2f4748e_adding_identity_definition_model.py +45 -0
  32. fides/api/alembic/migrations/versions/xx_2025_10_29_1659_80d28dea3b6b_added_duplicate_group_table.py +79 -0
  33. fides/api/alembic/migrations/versions/xx_2025_11_05_0200_f1a2b3c4d5e6_create_staged_resource_error_table.py +82 -0
  34. fides/api/alembic/migrations/versions/xx_2025_11_07_1709_56fe6fad2d89_add_notice_display_order.py +47 -0
  35. fides/api/alembic/migrations/versions/xx_2025_11_10_1200_a1b2c3d4e5f6_add_test_datastore_to_connectiontype.py +53 -0
  36. fides/api/alembic/migrations/versions/xx_2025_11_11_1317_7d82c8fc4c34_store_saas_template_datasets.py +68 -0
  37. fides/api/alembic/migrations/versions/xx_2025_11_12_1430_b2c3d4e5f6a7_add_default_identity_definitions.py +81 -0
  38. fides/api/alembic/migrations/versions/xx_2025_11_25_1854_3ff6449c099e_add_index_on_providedidentity_privacy_.py +50 -0
  39. fides/api/api/v1/api.py +2 -0
  40. fides/api/api/v1/endpoints/admin.py +39 -0
  41. fides/api/api/v1/endpoints/connection_endpoints.py +191 -47
  42. fides/api/api/v1/endpoints/connector_template_endpoints.py +167 -0
  43. fides/api/api/v1/endpoints/generic_overrides.py +90 -15
  44. fides/api/api/v1/endpoints/messaging_endpoints.py +164 -34
  45. fides/api/api/v1/endpoints/pre_approval_webhook_endpoints.py +5 -5
  46. fides/api/api/v1/endpoints/privacy_request_endpoints.py +231 -46
  47. fides/api/api/v1/endpoints/saas_config_endpoints.py +63 -92
  48. fides/api/api/v1/endpoints/storage_endpoints.py +5 -1
  49. fides/api/api/v1/endpoints/system.py +157 -100
  50. fides/api/api/v1/endpoints/user_endpoints.py +17 -4
  51. fides/api/app_setup.py +1 -3
  52. fides/api/common_exceptions.py +8 -0
  53. fides/api/db/base.py +8 -0
  54. fides/api/db/crud.py +30 -2
  55. fides/api/db/database.py +261 -4
  56. fides/api/db/safe_crud.py +377 -0
  57. fides/api/db/seed.py +35 -1
  58. fides/api/email_templates/get_email_template.py +3 -0
  59. fides/api/email_templates/template_names.py +1 -0
  60. fides/api/email_templates/templates/external_user_welcome.html +9 -5
  61. fides/api/email_templates/templates/manual_task_digest.html +316 -0
  62. fides/api/main.py +2 -0
  63. fides/api/migrations/post_upgrade_index_creation.py +20 -0
  64. fides/api/models/asset.py +17 -1
  65. fides/api/models/attachment.py +1 -0
  66. fides/api/models/conditional_dependency/__init__.py +0 -0
  67. fides/api/models/conditional_dependency/conditional_dependency_base.py +311 -0
  68. fides/api/models/connection_oauth_credentials.py +57 -0
  69. fides/api/models/connectionconfig.py +11 -1
  70. fides/api/models/detection_discovery/__init__.py +4 -0
  71. fides/api/models/detection_discovery/classification_benchmark.py +140 -0
  72. fides/api/models/detection_discovery/core.py +78 -3
  73. fides/api/models/detection_discovery/monitor_task.py +3 -1
  74. fides/api/models/detection_discovery/staged_resource_error.py +25 -0
  75. fides/api/models/detection_discovery/web_monitor.py +61 -0
  76. fides/api/models/digest/__init__.py +16 -0
  77. fides/api/models/digest/conditional_dependencies.py +275 -0
  78. fides/api/models/digest/digest_config.py +110 -0
  79. fides/api/models/digest/digest_execution.py +142 -0
  80. fides/api/models/event_audit.py +85 -0
  81. fides/api/models/experience_notices.py +6 -1
  82. fides/api/models/fides_user.py +9 -0
  83. fides/api/models/identity_definition.py +66 -0
  84. fides/api/models/location_regulation_selections.py +22 -0
  85. fides/api/models/manual_task/conditional_dependency.py +29 -87
  86. fides/api/models/manual_webhook.py +17 -6
  87. fides/api/models/messaging.py +30 -10
  88. fides/api/models/messaging_template.py +14 -0
  89. fides/api/models/policy.py +27 -0
  90. fides/api/models/privacy_experience.py +41 -0
  91. fides/api/models/privacy_notice.py +196 -13
  92. fides/api/models/privacy_preference.py +2 -0
  93. fides/api/models/privacy_request/duplicate_group.py +84 -0
  94. fides/api/models/privacy_request/privacy_request.py +154 -8
  95. fides/api/models/privacy_request/provided_identity.py +22 -1
  96. fides/api/models/privacy_request/request_task.py +98 -1
  97. fides/api/models/privacy_request/webhook.py +3 -1
  98. fides/api/models/saas_template_dataset.py +63 -0
  99. fides/api/models/sql_models.py +161 -7
  100. fides/api/models/system_group.py +85 -0
  101. fides/api/models/taxonomy.py +91 -9
  102. fides/api/models/v3/__init__.py +0 -0
  103. fides/api/models/v3/privacy_preferences.py +85 -0
  104. fides/api/models/worker_task.py +8 -0
  105. fides/api/oauth/roles.py +4 -0
  106. fides/api/schemas/application_config.py +32 -1
  107. fides/api/schemas/connection_configuration/connection_config.py +1 -30
  108. fides/api/schemas/connection_configuration/connection_oauth_config.py +42 -0
  109. fides/api/schemas/connection_configuration/connection_secrets_mongodb.py +15 -3
  110. fides/api/schemas/connection_configuration/connection_secrets_mssql.py +5 -0
  111. fides/api/schemas/messaging/messaging.py +49 -66
  112. fides/api/schemas/messaging/messaging_secrets_docs_only.py +1 -1
  113. fides/api/schemas/messaging/shared_schemas.py +102 -0
  114. fides/api/schemas/oauth.py +2 -1
  115. fides/api/schemas/privacy_center_config.py +29 -5
  116. fides/api/schemas/privacy_request.py +44 -7
  117. fides/api/schemas/saas/async_polling_configuration.py +81 -0
  118. fides/api/schemas/saas/connector_template.py +14 -0
  119. fides/api/schemas/saas/saas_config.py +12 -20
  120. fides/api/schemas/system.py +8 -0
  121. fides/api/schemas/taxonomy_extensions.py +8 -0
  122. fides/api/schemas/user.py +2 -2
  123. fides/api/service/async_dsr/handlers/__init__.py +0 -0
  124. fides/api/service/async_dsr/handlers/polling_attachment_handler.py +155 -0
  125. fides/api/service/async_dsr/handlers/polling_request_handler.py +88 -0
  126. fides/api/service/async_dsr/handlers/polling_response_handler.py +261 -0
  127. fides/api/service/async_dsr/handlers/polling_sub_request_handler.py +123 -0
  128. fides/api/service/async_dsr/strategies/__init__.py +0 -0
  129. fides/api/service/async_dsr/strategies/async_dsr_strategy.py +52 -0
  130. fides/api/service/async_dsr/strategies/async_dsr_strategy_callback.py +199 -0
  131. fides/api/service/async_dsr/strategies/async_dsr_strategy_factory.py +72 -0
  132. fides/api/service/async_dsr/strategies/async_dsr_strategy_polling.py +691 -0
  133. fides/api/service/async_dsr/utils.py +130 -0
  134. fides/api/service/connectors/base_erasure_email_connector.py +7 -0
  135. fides/api/service/connectors/bigquery_connector.py +34 -16
  136. fides/api/service/connectors/fides/fides_client.py +63 -1
  137. fides/api/service/connectors/http_connector.py +48 -12
  138. fides/api/service/connectors/microsoft_sql_server_connector.py +6 -1
  139. fides/api/service/connectors/mongodb_connector.py +74 -9
  140. fides/api/service/connectors/query_configs/saas_query_config.py +160 -79
  141. fides/api/service/connectors/saas/connector_registry_service.py +42 -135
  142. fides/api/service/connectors/saas_connector.py +116 -76
  143. fides/api/service/connectors/sql_connector.py +14 -4
  144. fides/api/service/deps.py +25 -2
  145. fides/api/service/messaging/message_dispatch_service.py +98 -20
  146. fides/api/service/messaging/messaging_crud_service.py +5 -9
  147. fides/api/service/privacy_request/attachment_handling.py +9 -2
  148. fides/api/service/privacy_request/dsr_package/dsr_report_builder.py +17 -9
  149. fides/api/service/privacy_request/dsr_package/templates/attachments_index.html +41 -30
  150. fides/api/service/privacy_request/dsr_package/templates/clickme.html +68 -0
  151. fides/api/service/privacy_request/dsr_package/templates/dataset_index.html +30 -27
  152. fides/api/service/privacy_request/duplication_detection.py +439 -0
  153. fides/api/service/privacy_request/email_batch_service.py +2 -1
  154. fides/api/service/privacy_request/request_runner_service.py +92 -91
  155. fides/api/service/privacy_request/request_service.py +74 -90
  156. fides/api/service/saas_request/saas_request_override_factory.py +71 -1
  157. fides/api/service/storage/streaming/schemas.py +27 -19
  158. fides/api/service/storage/streaming/smart_open_client.py +2 -2
  159. fides/api/service/storage/streaming/smart_open_streaming_storage.py +238 -147
  160. fides/api/service/storage/util.py +20 -106
  161. fides/api/service/strategy.py +6 -3
  162. fides/api/task/conditional_dependencies/privacy_request/__init__.py +0 -0
  163. fides/api/task/conditional_dependencies/privacy_request/convenience_fields.py +155 -0
  164. fides/api/task/conditional_dependencies/privacy_request/privacy_request_data.py +140 -0
  165. fides/api/task/conditional_dependencies/privacy_request/schemas.py +212 -0
  166. fides/api/task/conditional_dependencies/sql_schemas.py +301 -0
  167. fides/api/task/conditional_dependencies/sql_translator.py +757 -0
  168. fides/api/task/conditional_dependencies/util.py +111 -0
  169. fides/api/task/execute_request_tasks.py +34 -13
  170. fides/api/task/filter_results.py +35 -2
  171. fides/api/task/graph_runners.py +2 -32
  172. fides/api/task/graph_task.py +42 -12
  173. fides/api/task/manual/manual_task_conditional_evaluation.py +33 -28
  174. fides/api/task/manual/manual_task_graph_task.py +4 -1
  175. fides/api/task/manual/manual_task_utils.py +68 -26
  176. fides/api/task/scheduler_utils.py +39 -0
  177. fides/api/tasks/__init__.py +15 -1
  178. fides/api/util/cache.py +5 -1
  179. fides/api/util/connection_util.py +101 -218
  180. fides/api/util/event_audit_util.py +230 -0
  181. fides/api/util/filter_utils.py +0 -3
  182. fides/api/util/fuzzy_search_utils.py +7 -1
  183. fides/api/util/lock.py +13 -3
  184. fides/api/util/logger.py +58 -4
  185. fides/api/util/logger_context_utils.py +3 -1
  186. fides/api/util/masking_util.py +31 -0
  187. fides/api/util/memory_watchdog.py +118 -0
  188. fides/api/util/rate_limit.py +25 -7
  189. fides/api/util/saas_config_updater.py +76 -0
  190. fides/api/util/saas_util.py +28 -1
  191. fides/api/worker/__init__.py +6 -0
  192. fides/common/api/scope_registry.py +6 -7
  193. fides/common/api/v1/urn_registry.py +15 -3
  194. fides/config/__init__.py +11 -2
  195. fides/config/celery_settings.py +42 -0
  196. fides/config/config_proxy.py +10 -0
  197. fides/config/duplicate_detection_settings.py +31 -0
  198. fides/config/execution_settings.py +6 -6
  199. fides/config/security_settings.py +4 -1
  200. fides/config/utils.py +5 -0
  201. fides/data/language/languages.yml +2 -0
  202. fides/service/connection/__init__.py +0 -0
  203. fides/service/connection/connection_service.py +651 -0
  204. fides/service/dataset/dataset_service.py +39 -0
  205. fides/service/event_audit_service.py +109 -0
  206. fides/service/messaging/aws_ses_service.py +2 -4
  207. fides/service/messaging/messaging_service.py +75 -74
  208. fides/service/privacy_request/privacy_request_service.py +345 -100
  209. fides/service/system/__init__.py +0 -0
  210. fides/service/system/system_service.py +153 -0
  211. fides/service/taxonomy/handlers/legacy_handler.py +3 -3
  212. fides/service/taxonomy/taxonomy_service.py +64 -18
  213. fides/ui-build/static/admin/404.html +1 -1
  214. fides/ui-build/static/admin/_next/static/chunks/1099-688fa865621531cc.js +1 -0
  215. fides/ui-build/static/admin/_next/static/chunks/1115-7fd171dac1eb0e51.js +1 -0
  216. fides/ui-build/static/admin/_next/static/chunks/1276.deb10ae2643f8463.js +1 -0
  217. fides/ui-build/static/admin/_next/static/chunks/1438-8a33b3834d6e43f3.js +1 -0
  218. fides/ui-build/static/admin/_next/static/chunks/{6148-59a59d5c5925344f.js → 1533-84e250d1f26e6d7d.js} +1 -1
  219. fides/ui-build/static/admin/_next/static/chunks/1821-c1daa160f492aacf.js +1 -0
  220. fides/ui-build/static/admin/_next/static/chunks/1840-359ee056e4cf6629.js +1 -0
  221. fides/ui-build/static/admin/_next/static/chunks/{1975.78e719130cfe3fd6.js → 1975.bef017bc80e2012c.js} +1 -1
  222. fides/ui-build/static/admin/_next/static/chunks/2040-70972e15960d9afe.js +1 -0
  223. fides/ui-build/static/admin/_next/static/chunks/2121.321b0fd3932164d4.js +1 -0
  224. fides/ui-build/static/admin/_next/static/chunks/2397-3434603a97f3f5d6.js +1 -0
  225. fides/ui-build/static/admin/_next/static/chunks/2921-49ed0ed897832958.js +1 -0
  226. fides/ui-build/static/admin/_next/static/chunks/3150-da5406b80d25fe6d.js +1 -0
  227. fides/ui-build/static/admin/_next/static/chunks/3214-90ce0a366b0f461a.js +1 -0
  228. fides/ui-build/static/admin/_next/static/chunks/3377-02bf9780fd383d94.js +1 -0
  229. fides/ui-build/static/admin/_next/static/chunks/3615-5e2d062d684b8fa1.js +1 -0
  230. fides/ui-build/static/admin/_next/static/chunks/3655-5e1ba5dd68b5ec48.js +1 -0
  231. fides/ui-build/static/admin/_next/static/chunks/3729-31ff8ba51491bf21.js +1 -0
  232. fides/ui-build/static/admin/_next/static/chunks/3872-cff30ca0844fe2b1.js +1 -0
  233. fides/ui-build/static/admin/_next/static/chunks/3931-8bedde156fe83564.js +1 -0
  234. fides/ui-build/static/admin/_next/static/chunks/401-582d9970d89deefe.js +1 -0
  235. fides/ui-build/static/admin/_next/static/chunks/4093-7e47408c28de5375.js +1 -0
  236. fides/ui-build/static/admin/_next/static/chunks/{4259.d1507e0db19cbed7.js → 4259.05038c9b78467244.js} +1 -1
  237. fides/ui-build/static/admin/_next/static/chunks/431-e01ee730c8ad9ece.js +1 -0
  238. fides/ui-build/static/admin/_next/static/chunks/4322-f6aeff6880726c83.js +1 -0
  239. fides/ui-build/static/admin/_next/static/chunks/4339-04a715ab07122744.js +1 -0
  240. fides/ui-build/static/admin/_next/static/chunks/4496-ccbce2459174e0d6.js +1 -0
  241. fides/ui-build/static/admin/_next/static/chunks/454-d5c2c84f1a14e4f1.js +1 -0
  242. fides/ui-build/static/admin/_next/static/chunks/4589-c1d83c6a8dab4d30.js +1 -0
  243. fides/ui-build/static/admin/_next/static/chunks/4809-a8f4a108a42f53ed.js +1 -0
  244. fides/ui-build/static/admin/_next/static/chunks/4903-19c0bc07a956dfa8.js +1 -0
  245. fides/ui-build/static/admin/_next/static/chunks/4910-d990773601f794c1.js +1 -0
  246. fides/ui-build/static/admin/_next/static/chunks/5185-96423702fba70ced.js +1 -0
  247. fides/ui-build/static/admin/_next/static/chunks/5258-4e308cca01d59367.js +1 -0
  248. fides/ui-build/static/admin/_next/static/chunks/5487-5c3501754bf027ba.js +1 -0
  249. fides/ui-build/static/admin/_next/static/chunks/549-1bdc3e6f3264c020.js +1 -0
  250. fides/ui-build/static/admin/_next/static/chunks/5505-43b9c39491b88e08.js +1 -0
  251. fides/ui-build/static/admin/_next/static/chunks/5698.2135391a128cc373.js +164 -0
  252. fides/ui-build/static/admin/_next/static/chunks/5783-016dfcee8e49bf61.js +1 -0
  253. fides/ui-build/static/admin/_next/static/chunks/5826-4db99ea4e5077911.js +1 -0
  254. fides/ui-build/static/admin/_next/static/chunks/590-be447cacf12419dd.js +1 -0
  255. fides/ui-build/static/admin/_next/static/chunks/6084-91badbc6569a0efb.js +1 -0
  256. fides/ui-build/static/admin/_next/static/chunks/6344-026cb323c1d49926.js +1 -0
  257. fides/ui-build/static/admin/_next/static/chunks/6362-ba0e12f2fc4cad94.js +1 -0
  258. fides/ui-build/static/admin/_next/static/chunks/6853-882889659769d7b4.js +1 -0
  259. fides/ui-build/static/admin/_next/static/chunks/6882-bb1b469d7d7f5335.js +1 -0
  260. fides/ui-build/static/admin/_next/static/chunks/6954-0dcf22a9aabe39c5.js +1 -0
  261. fides/ui-build/static/admin/_next/static/chunks/7170-46db82bb5b55e856.js +1 -0
  262. fides/ui-build/static/admin/_next/static/chunks/7218-2ace8c82e3e7eb74.js +1 -0
  263. fides/ui-build/static/admin/_next/static/chunks/7245-1cdafb35f289861b.js +1 -0
  264. fides/ui-build/static/admin/_next/static/chunks/7630-7f75ab7b8df42eb3.js +1 -0
  265. fides/ui-build/static/admin/_next/static/chunks/7654-2e9a8be02e41769a.js +1 -0
  266. fides/ui-build/static/admin/_next/static/chunks/8212-348ddd2b6933db70.js +1 -0
  267. fides/ui-build/static/admin/_next/static/chunks/9014-eeae6f581158e645.js +1 -0
  268. fides/ui-build/static/admin/_next/static/chunks/{5596-bb601cbf40e47a0f.js → 9195-da717d324917b049.js} +3 -3
  269. fides/ui-build/static/admin/_next/static/chunks/9450-b7b7bb1d755ecf57.js +1 -0
  270. fides/ui-build/static/admin/_next/static/chunks/{9676.9fd9552ef744c717.js → 9676.1f395eeb9cc34968.js} +1 -1
  271. fides/ui-build/static/admin/_next/static/chunks/9826-1078e46f3ac0b688.js +1 -0
  272. fides/ui-build/static/admin/_next/static/chunks/9911-ece086f2230e34f0.js +1 -0
  273. fides/ui-build/static/admin/_next/static/chunks/pages/{404-471a6b18e712f050.js → 404-800be6996aaa999c.js} +1 -1
  274. fides/ui-build/static/admin/_next/static/chunks/pages/{_app-fcdad91f6f66292b.js → _app-de4b578c904df772.js} +57 -220
  275. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-f12020b82dd4bd1a.js +1 -0
  276. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/multiple-a911b7990371704d.js +1 -0
  277. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-ad585b79953c2753.js +1 -0
  278. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-406170eaae4329c6.js → add-vendors-bb263d394ca1c8fa.js} +1 -1
  279. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure-6907c368d8611c44.js +1 -0
  280. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-f80cf2d3966816fd.js → [id]-c32f381af358149b.js} +1 -1
  281. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{new-e74cb5ea87f15b40.js → new-6efb3c069d8b47dd.js} +1 -1
  282. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience-1975c529905eea9b.js +1 -0
  283. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-b378576cba255609.js → [id]-b05331178928ab52.js} +1 -1
  284. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-2ca1de7b88094ab0.js → new-516834e930bb0d0d.js} +1 -1
  285. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-985717f2565f9d9d.js +1 -0
  286. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-226efa1dcd41437f.js → properties-2be773e08498e40c.js} +1 -1
  287. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-850afb74f4192e87.js +1 -0
  288. fides/ui-build/static/admin/_next/static/chunks/pages/consent-b63d1e395d879b86.js +1 -0
  289. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-5b28f0f674ea87bd.js +1 -0
  290. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-04cfe2cfba7b7cd8.js → [projectUrn]-676177e2f3c9c2a2.js} +1 -1
  291. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-794906929efb8e1d.js +1 -0
  292. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-3ccbf7c0d06507b9.js +1 -0
  293. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-1ea0b24d306b1e67.js +1 -0
  294. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/datastore/[monitorId]-d4861a4a218bb65a.js +1 -0
  295. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/datastore-4498881c26f1458d.js +1 -0
  296. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/infrastructure/[monitorId]-66bd265044daf97d.js +1 -0
  297. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/infrastructure-c9c79fa8576a4f77.js +1 -0
  298. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website/[monitorId]/[systemId]-60cacc3232c2eead.js +1 -0
  299. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website/[monitorId]-437bd64a3016de36.js +1 -0
  300. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website-5b3e0009d442bc3f.js +1 -0
  301. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-8349248c2da970a6.js +1 -0
  302. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-6919a1d6cadaa46b.js +1 -0
  303. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-8f736b078e9842da.js → [resourceUrn]-1a50d421897d3da1.js} +1 -1
  304. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-eb814e3c22807871.js → detection-49509414a15e8393.js} +1 -1
  305. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-6875b7783fcfda2f.js → [resourceUrn]-1a1bb80b586d0c0f.js} +1 -1
  306. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-172dbd7740e212ca.js → discovery-49de61df1e8e7fba.js} +1 -1
  307. fides/ui-build/static/admin/_next/static/chunks/pages/datamap-c2719f5cff20c0f8.js +1 -0
  308. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-dfd71c1e9c458b89.js → [...subfieldNames]-415015aebab60436.js} +1 -1
  309. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-7cdc42ec5493b83d.js → [collectionName]-5accb09715b5122d.js} +1 -1
  310. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-aebecca1d8ec5f98.js +1 -0
  311. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-9551a82ddec9f909.js +1 -0
  312. fides/ui-build/static/admin/_next/static/chunks/pages/dataset-72f8fe47beef0f09.js +1 -0
  313. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-3a8aa3f633528e88.js +1 -0
  314. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-87512616f35ec6da.js +1 -0
  315. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-2f1bf4eac7aa55fd.js +1 -0
  316. fides/ui-build/static/admin/_next/static/chunks/pages/{fides-js-docs-1f4335dca5c09860.js → fides-js-docs-5235760b3e508d7d.js} +1 -1
  317. fides/ui-build/static/admin/_next/static/chunks/pages/index-8d67cd2872cb682a.js +1 -0
  318. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-7a631df29cd0e31a.js +1 -0
  319. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-ea3bc43cdaf273de.js +1 -0
  320. fides/ui-build/static/admin/_next/static/chunks/pages/new-privacy-requests-5d8632bba1b81cd4.js +1 -0
  321. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/[id]-92e01822ecde8fb8.js +1 -0
  322. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/new-1256cf6d3f6794e0.js +1 -0
  323. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests-0daac00911d27617.js +1 -0
  324. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/[key]-2d976fe5e8ba0a3a.js +1 -0
  325. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/new-7766ba497b863740.js +1 -0
  326. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers-f2880d2ed4734270.js +1 -0
  327. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/[id]-669f585c3458faff.js +1 -0
  328. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/add-template-c79e7724e4bc3899.js +1 -0
  329. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates-891654e8dc13965c.js +1 -0
  330. fides/ui-build/static/admin/_next/static/chunks/pages/notifications-40c8148244c5d347.js +1 -0
  331. fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-1e86f3e28bd23ed6.js +1 -0
  332. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/AntForm-9b7bd8c38f02c091.js +1 -0
  333. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikAntFormItem-b18a53a940cf9e19.js +1 -0
  334. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikControlled-6d028d7450e77578.js +1 -0
  335. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikField-8399083ee2cd8cc2.js +1 -0
  336. fides/ui-build/static/admin/_next/static/chunks/pages/poc/forms-0a910125cdb2b3b8.js +1 -0
  337. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-acc90b6f7fe915cb.js +1 -0
  338. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-bbc42026f2685438.js +1 -0
  339. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-c08ca6ad21c99799.js +1 -0
  340. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-77c2db582f8823bc.js +1 -0
  341. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-e784c05d056b2371.js → [id]-74ccea4868408e3d.js} +1 -1
  342. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-0a7a2db148a7561a.js → add-property-7d9f09bfe9d44dfc.js} +1 -1
  343. fides/ui-build/static/admin/_next/static/chunks/pages/{properties-da734840e4f9d04b.js → properties-cd77bc30672bb1fa.js} +1 -1
  344. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-cc3bd9540132d5ed.js +1 -0
  345. fides/ui-build/static/admin/_next/static/chunks/pages/sandbox/privacy-notices-7ce7d720107ab4b5.js +1 -0
  346. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/alpha-68eaac2d79133679.js +1 -0
  347. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-6c4904c157477285.js +1 -0
  348. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-ae789892343c24f5.js +1 -0
  349. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-13ee1b331ced0846.js +1 -0
  350. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/[id]-ee4e43692336a330.js +1 -0
  351. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/new-ca51d794abfcbf25.js +1 -0
  352. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-ecd1dc5db8e81409.js +1 -0
  353. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domain-records-df06f7e2f668c540.js +1 -0
  354. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-da0c77bd510c6c51.js +1 -0
  355. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-950b0c115bf673d8.js +1 -0
  356. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-2e635dcd11b78224.js → locations-7e36cb4756973a9d.js} +1 -1
  357. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-a0e5ed486d24ccf3.js +1 -0
  358. fides/ui-build/static/admin/_next/static/chunks/pages/settings/privacy-requests-3cdebafb6870d3ad.js +1 -0
  359. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-7c02e469d8c5bd74.js → regulations-159aad34f1021320.js} +1 -1
  360. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-dbd1a64090ad0946.js +1 -0
  361. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]-7d042497a57a3788.js +1 -0
  362. fides/ui-build/static/admin/_next/static/chunks/pages/systems-21f1172e73dfc9f0.js +1 -0
  363. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-e553161e6338ee48.js +1 -0
  364. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/{new-92f52c43f522a350.js → new-efc4af017723e57a.js} +1 -1
  365. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-64452dfae2c5e614.js → [id]-b152319d67372ee4.js} +1 -1
  366. fides/ui-build/static/admin/_next/static/chunks/pages/user-management-dba8692491f7935e.js +1 -0
  367. fides/ui-build/static/admin/_next/static/chunks/webpack-09ca52bc7beb0b43.js +1 -0
  368. fides/ui-build/static/admin/_next/static/css/012b10627a654d5c.css +1 -0
  369. fides/ui-build/static/admin/_next/static/css/05d05fc31d09638b.css +1 -0
  370. fides/ui-build/static/admin/_next/static/css/0fd6e0884cfcc5f3.css +1 -0
  371. fides/ui-build/static/admin/_next/static/css/14ba79c49597d37a.css +1 -0
  372. fides/ui-build/static/admin/_next/static/css/{34a7eb08b86ddb57.css → 3d6582469f7d56e0.css} +1 -1
  373. fides/ui-build/static/admin/_next/static/css/3d66bb57ddcb0978.css +1 -0
  374. fides/ui-build/static/admin/_next/static/css/4861ca3e088f2d05.css +1 -0
  375. fides/ui-build/static/admin/_next/static/css/a1800714b486e230.css +1 -0
  376. fides/ui-build/static/admin/_next/static/css/a1e4be9466578ef1.css +1 -0
  377. fides/ui-build/static/admin/_next/static/css/af32fcac7a177a0e.css +1 -0
  378. fides/ui-build/static/admin/_next/static/css/cb417f0587918f85.css +1 -0
  379. fides/ui-build/static/admin/_next/static/css/dd15c278b964de80.css +1 -0
  380. fides/ui-build/static/admin/_next/static/css/{5f393dea1c0d031c.css → f89607996ad54f4b.css} +1 -1
  381. fides/ui-build/static/admin/_next/static/css/f9a2a44d3d34c904.css +1 -0
  382. fides/ui-build/static/admin/_next/static/l2vgGUHB04Fi4oEVlVMrc/_buildManifest.js +1 -0
  383. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  384. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  385. fides/ui-build/static/admin/add-systems.html +1 -1
  386. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  387. fides/ui-build/static/admin/consent/configure.html +1 -1
  388. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  389. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  390. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  391. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  392. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  393. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  394. fides/ui-build/static/admin/consent/properties.html +1 -1
  395. fides/ui-build/static/admin/consent/reporting.html +1 -1
  396. fides/ui-build/static/admin/consent.html +1 -1
  397. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  398. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  399. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  400. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  401. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  402. fides/ui-build/static/admin/data-catalog.html +1 -1
  403. fides/ui-build/static/admin/data-discovery/action-center/datastore/[monitorId].html +1 -0
  404. fides/ui-build/static/admin/data-discovery/action-center/datastore.html +1 -0
  405. fides/ui-build/static/admin/data-discovery/action-center/infrastructure/[monitorId].html +1 -0
  406. fides/ui-build/static/admin/data-discovery/action-center/infrastructure.html +1 -0
  407. fides/ui-build/static/admin/data-discovery/action-center/website/[monitorId]/[systemId].html +1 -0
  408. fides/ui-build/static/admin/data-discovery/action-center/website/[monitorId].html +1 -0
  409. fides/ui-build/static/admin/data-discovery/action-center/website.html +1 -0
  410. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  411. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  412. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  413. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  414. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  415. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  416. fides/ui-build/static/admin/datamap.html +1 -1
  417. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  418. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  419. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  420. fides/ui-build/static/admin/dataset/new.html +1 -1
  421. fides/ui-build/static/admin/dataset.html +1 -1
  422. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  423. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  424. fides/ui-build/static/admin/datastore-connection.html +1 -1
  425. fides/ui-build/static/admin/index.html +1 -1
  426. fides/ui-build/static/admin/integrations/[id].html +1 -1
  427. fides/ui-build/static/admin/integrations.html +1 -1
  428. fides/ui-build/static/admin/lib/fides-ext-gpp.js +1 -1
  429. fides/ui-build/static/admin/lib/fides-headless.js +1 -1
  430. fides/ui-build/static/admin/lib/fides-preview.js +1 -1
  431. fides/ui-build/static/admin/lib/fides-tcf.js +3 -3
  432. fides/ui-build/static/admin/lib/fides.js +3 -3
  433. fides/ui-build/static/admin/login/[provider].html +1 -1
  434. fides/ui-build/static/admin/login.html +1 -1
  435. fides/ui-build/static/admin/new-privacy-requests.html +1 -0
  436. fides/ui-build/static/admin/notifications/digests/[id].html +1 -0
  437. fides/ui-build/static/admin/notifications/digests/new.html +1 -0
  438. fides/ui-build/static/admin/notifications/digests.html +1 -0
  439. fides/ui-build/static/admin/notifications/providers/[key].html +1 -0
  440. fides/ui-build/static/admin/notifications/providers/new.html +1 -0
  441. fides/ui-build/static/admin/notifications/providers.html +1 -0
  442. fides/ui-build/static/admin/notifications/templates/[id].html +1 -0
  443. fides/ui-build/static/admin/notifications/templates/add-template.html +1 -0
  444. fides/ui-build/static/admin/notifications/templates.html +1 -0
  445. fides/ui-build/static/admin/notifications.html +1 -0
  446. fides/ui-build/static/admin/poc/ant-components.html +1 -1
  447. fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
  448. fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
  449. fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
  450. fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
  451. fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
  452. fides/ui-build/static/admin/poc/forms.html +1 -1
  453. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  454. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  455. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  456. fides/ui-build/static/admin/privacy-requests.html +1 -1
  457. fides/ui-build/static/admin/properties/[id].html +1 -1
  458. fides/ui-build/static/admin/properties/add-property.html +1 -1
  459. fides/ui-build/static/admin/properties.html +1 -1
  460. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  461. fides/ui-build/static/admin/sandbox/privacy-notices.html +1 -0
  462. fides/ui-build/static/admin/settings/about/alpha.html +1 -1
  463. fides/ui-build/static/admin/settings/about.html +1 -1
  464. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  465. fides/ui-build/static/admin/settings/consent.html +1 -1
  466. fides/ui-build/static/admin/settings/custom-fields/[id].html +1 -0
  467. fides/ui-build/static/admin/settings/custom-fields/new.html +1 -0
  468. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  469. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  470. fides/ui-build/static/admin/settings/domains.html +1 -1
  471. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  472. fides/ui-build/static/admin/settings/locations.html +1 -1
  473. fides/ui-build/static/admin/settings/organization.html +1 -1
  474. fides/ui-build/static/admin/settings/privacy-requests.html +1 -1
  475. fides/ui-build/static/admin/settings/regulations.html +1 -1
  476. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  477. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  478. fides/ui-build/static/admin/systems.html +1 -1
  479. fides/ui-build/static/admin/taxonomy.html +1 -1
  480. fides/ui-build/static/admin/user-management/new.html +1 -1
  481. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  482. fides/ui-build/static/admin/user-management.html +1 -1
  483. fides/api/service/async_dsr/async_dsr_service.py +0 -75
  484. fides/api/service/privacy_request/dsr_package/templates/welcome.html +0 -66
  485. fides/ui-build/static/admin/_next/static/OmXHlY9MvjoZH9jDkAytl/_buildManifest.js +0 -1
  486. fides/ui-build/static/admin/_next/static/chunks/1099-79646e64f26d62fa.js +0 -1
  487. fides/ui-build/static/admin/_next/static/chunks/1316-2606e19807c08aa5.js +0 -1
  488. fides/ui-build/static/admin/_next/static/chunks/1345-5e1c5b66e25c566e.js +0 -1
  489. fides/ui-build/static/admin/_next/static/chunks/1467-8808ec8836e033f9.js +0 -1
  490. fides/ui-build/static/admin/_next/static/chunks/1817-0ca16d288fad916d.js +0 -1
  491. fides/ui-build/static/admin/_next/static/chunks/2150-930ffaf2c4718edc.js +0 -1
  492. fides/ui-build/static/admin/_next/static/chunks/255-1bc0cbef7a59cdc6.js +0 -1
  493. fides/ui-build/static/admin/_next/static/chunks/2921-52328140bc420d0f.js +0 -1
  494. fides/ui-build/static/admin/_next/static/chunks/346-aa3b88efb85f2e28.js +0 -1
  495. fides/ui-build/static/admin/_next/static/chunks/3550-d04125c828d591a1.js +0 -1
  496. fides/ui-build/static/admin/_next/static/chunks/3620-602eb74dc896d556.js +0 -1
  497. fides/ui-build/static/admin/_next/static/chunks/3729-c17ac8031a4c4fd1.js +0 -1
  498. fides/ui-build/static/admin/_next/static/chunks/3847-230bf61b053bc706.js +0 -1
  499. fides/ui-build/static/admin/_next/static/chunks/3855-ef5194cdb228beb6.js +0 -1
  500. fides/ui-build/static/admin/_next/static/chunks/3872-f78dec02f0d959ae.js +0 -1
  501. fides/ui-build/static/admin/_next/static/chunks/3923-bb2417b8dcade7a4.js +0 -1
  502. fides/ui-build/static/admin/_next/static/chunks/401-4af0a912e249d30f.js +0 -1
  503. fides/ui-build/static/admin/_next/static/chunks/4164-355644b916ae0094.js +0 -1
  504. fides/ui-build/static/admin/_next/static/chunks/431-86ad2beeb93c95c9.js +0 -1
  505. fides/ui-build/static/admin/_next/static/chunks/4608-be8cba73f5d7c326.js +0 -1
  506. fides/ui-build/static/admin/_next/static/chunks/4786-61154adf88e448e1.js +0 -1
  507. fides/ui-build/static/admin/_next/static/chunks/4808-dd4157aa72648068.js +0 -1
  508. fides/ui-build/static/admin/_next/static/chunks/4831-fd99c0b3784de128.js +0 -1
  509. fides/ui-build/static/admin/_next/static/chunks/4844-46324c3d848b8b6a.js +0 -1
  510. fides/ui-build/static/admin/_next/static/chunks/5163-e682273cd76a7d07.js +0 -1
  511. fides/ui-build/static/admin/_next/static/chunks/5258-b0de22a8521686ab.js +0 -1
  512. fides/ui-build/static/admin/_next/static/chunks/5487-02d00bad7c6830e0.js +0 -1
  513. fides/ui-build/static/admin/_next/static/chunks/549-38ea1d91ee2addaa.js +0 -1
  514. fides/ui-build/static/admin/_next/static/chunks/5619-9b50cec521203989.js +0 -1
  515. fides/ui-build/static/admin/_next/static/chunks/6084-c153669d5567e242.js +0 -1
  516. fides/ui-build/static/admin/_next/static/chunks/6419-d0c00d661b01f8fa.js +0 -1
  517. fides/ui-build/static/admin/_next/static/chunks/6853-b17673391117c976.js +0 -1
  518. fides/ui-build/static/admin/_next/static/chunks/6954-5296188c19d7d0ac.js +0 -1
  519. fides/ui-build/static/admin/_next/static/chunks/699-8ca44b0de9fa20f0.js +0 -1
  520. fides/ui-build/static/admin/_next/static/chunks/7476-45c5088baa8b66af.js +0 -1
  521. fides/ui-build/static/admin/_next/static/chunks/7630-7ed6c6117775dffe.js +0 -1
  522. fides/ui-build/static/admin/_next/static/chunks/787-a8c7eab617e2fceb.js +0 -1
  523. fides/ui-build/static/admin/_next/static/chunks/79-65674011d455af4d.js +0 -1
  524. fides/ui-build/static/admin/_next/static/chunks/796-9e1ca1a4030707c5.js +0 -1
  525. fides/ui-build/static/admin/_next/static/chunks/8002-24af20d679efc04e.js +0 -1
  526. fides/ui-build/static/admin/_next/static/chunks/8765-f622a35b40a7ec63.js +0 -1
  527. fides/ui-build/static/admin/_next/static/chunks/9046-712156d461165f56.js +0 -1
  528. fides/ui-build/static/admin/_next/static/chunks/9187-7438242f0d380bb0.js +0 -1
  529. fides/ui-build/static/admin/_next/static/chunks/9278-08cc704317fe535e.js +0 -1
  530. fides/ui-build/static/admin/_next/static/chunks/9729-fcf6ff4e3534e4a8.js +0 -1
  531. fides/ui-build/static/admin/_next/static/chunks/9826-dbae8dee941a7fac.js +0 -1
  532. fides/ui-build/static/admin/_next/static/chunks/9951-a88367a129b724ba.js +0 -1
  533. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-ace203dfacacbdc4.js +0 -1
  534. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/multiple-920fb469e0dda1d2.js +0 -1
  535. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-bd0d82078e67cac3.js +0 -1
  536. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure-7207ab23bdb36ce8.js +0 -1
  537. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience-9dda4de5ec580279.js +0 -1
  538. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-0d4844d0b808e6e4.js +0 -1
  539. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-28b192e2c074b0f3.js +0 -1
  540. fides/ui-build/static/admin/_next/static/chunks/pages/consent-3e8bdefe714254ec.js +0 -1
  541. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-2c29ff7a01198f30.js +0 -1
  542. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-5f2d7b24804f861f.js +0 -1
  543. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-8eb581024bc0172f.js +0 -1
  544. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-30108b00ac769fc3.js +0 -1
  545. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-e1ba213fb666b3f4.js +0 -1
  546. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-6d133580045abdda.js +0 -1
  547. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-9a81d42a474e1e48.js +0 -1
  548. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-b6ae7adb8ef0b525.js +0 -1
  549. fides/ui-build/static/admin/_next/static/chunks/pages/datamap-c7390e046b2e2b7f.js +0 -1
  550. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-e12b11ba15bc3fc1.js +0 -1
  551. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-e32fccc4ca520d2b.js +0 -1
  552. fides/ui-build/static/admin/_next/static/chunks/pages/dataset-7c59a6abf6ba6207.js +0 -1
  553. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-927b7e476c4b47d0.js +0 -1
  554. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-cbe100d50df34285.js +0 -1
  555. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-cce20440b177050b.js +0 -1
  556. fides/ui-build/static/admin/_next/static/chunks/pages/index-6cd8708106331b8d.js +0 -1
  557. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-4c3c413a2668df53.js +0 -1
  558. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-95402b5001c07ef2.js +0 -1
  559. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/[id]-3c6dc2f6e6bae960.js +0 -1
  560. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/add-template-4a6d4023a7791be8.js +0 -1
  561. fides/ui-build/static/admin/_next/static/chunks/pages/messaging-76b204c9b98d656f.js +0 -1
  562. fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-bc0e2adf6e0d3ac7.js +0 -1
  563. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/AntForm-86ffcc1ad3fa912e.js +0 -1
  564. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikAntFormItem-ec04f595465bdf69.js +0 -1
  565. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikControlled-41d309754ff0c1de.js +0 -1
  566. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikField-cab1f78cec7808f9.js +0 -1
  567. fides/ui-build/static/admin/_next/static/chunks/pages/poc/forms-eb6058221403b156.js +0 -1
  568. fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-48500551fd6a7602.js +0 -1
  569. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-0f25a76dd18c5e20.js +0 -1
  570. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-ad6ad3e5bd72765d.js +0 -1
  571. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-6032d82f0fc2893d.js +0 -1
  572. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-d83e5bd52a638234.js +0 -1
  573. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-baf31c3e4b081046.js +0 -1
  574. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-6903f42a0412bfa6.js +0 -1
  575. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/alpha-a82f3df840d5c1b5.js +0 -1
  576. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-d06fb16487705b9d.js +0 -1
  577. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-9495e2eb506606c7.js +0 -1
  578. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-93a978443bf299db.js +0 -1
  579. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-9ecb803099082bf4.js +0 -1
  580. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domain-records-16fdd91a81074dd1.js +0 -1
  581. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-4cdd6001e7cb9aee.js +0 -1
  582. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-1914de830ce5cfc4.js +0 -1
  583. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-f547f1f33c12faf3.js +0 -1
  584. fides/ui-build/static/admin/_next/static/chunks/pages/settings/privacy-requests-2ecc073f41628f62.js +0 -1
  585. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-20b1193ed76c56b0.js +0 -1
  586. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]-6e15332935f6b538.js +0 -1
  587. fides/ui-build/static/admin/_next/static/chunks/pages/systems-fbc8761ef4d55516.js +0 -1
  588. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-4d7827fc9c46b6b8.js +0 -1
  589. fides/ui-build/static/admin/_next/static/chunks/pages/user-management-9cec020f89544426.js +0 -1
  590. fides/ui-build/static/admin/_next/static/chunks/webpack-678e89d68dbcd94f.js +0 -1
  591. fides/ui-build/static/admin/_next/static/css/073713cd1eddda79.css +0 -1
  592. fides/ui-build/static/admin/_next/static/css/23cf870196941c9a.css +0 -1
  593. fides/ui-build/static/admin/_next/static/css/304c6f148886a8d4.css +0 -1
  594. fides/ui-build/static/admin/_next/static/css/650df9c348000a26.css +0 -1
  595. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +0 -1
  596. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +0 -1
  597. fides/ui-build/static/admin/messaging/[id].html +0 -1
  598. fides/ui-build/static/admin/messaging/add-template.html +0 -1
  599. fides/ui-build/static/admin/messaging.html +0 -1
  600. fides/ui-build/static/admin/poc/table-migration.html +0 -1
  601. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +0 -1
  602. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/WHEEL +0 -0
  603. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/entry_points.txt +0 -0
  604. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/licenses/LICENSE +0 -0
  605. {ethyca_fides-2.69.1rc0.dist-info → ethyca_fides-2.76.0rc2.dist-info}/top_level.txt +0 -0
  606. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{resources-de704de849960f01.js → resources-81d1b50585468fb0.js} +0 -0
  607. /fides/ui-build/static/admin/_next/static/{OmXHlY9MvjoZH9jDkAytl → l2vgGUHB04Fi4oEVlVMrc}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1975],{34849:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return D}});var a=s(24246),o=s(96306),i=s(27378);s(51901);var n=s(86298),r=s(3124),d=s.n(r),l=s(8335),I=s(49820),c=s.n(I),_=e=>{let{data:t,selected:s}=e;return(0,a.jsxs)("div",{className:c().container,"data-testid":"datamap-system-node",children:[(0,a.jsx)(o.wpx,{className:"".concat(c().button," ").concat(s?c()["button--selected"]:""),type:"text",children:(0,a.jsx)(o.AntTypography.Text,{ellipsis:!0,style:{color:"inherit"},children:t.label})}),(0,a.jsx)(n.HH,{type:"source",position:l.Ly.Right,className:c().handle}),(0,a.jsx)(n.HH,{type:"target",position:l.Ly.Left,className:c().handle})]})},E=s(24259),u=s.n(E);let m=new(u()).graphlib.Graph;m.setDefaultEdgeLabel(()=>({}));let f=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"LR";return m.setGraph({rankdir:s,ranksep:60,nodesep:60,edgesep:50,marginx:15,marginy:15}),e.forEach(e=>{m.setNode(e.id,{width:220,height:70})}),t.forEach(e=>{m.setEdge(e.source,e.target)}),u().layout(m),{nodes:e.map(e=>{let t=m.node(e.id);return{...e,position:{x:t.x-t.width/2,y:t.y-t.height/2},sourcePosition:"LR"===s?l.Ly.Right:l.Ly.Bottom,targetPosition:"LR"===s?l.Ly.Left:l.Ly.Top}}),edges:t}},S=e=>{let{data:t}=e,s=(0,i.useMemo)(()=>t.nodes.map(e=>({id:e.id,data:{label:e.name,description:e.description},position:{x:0,y:0},type:"systemNode"})),[t.nodes]),a=(0,i.useMemo)(()=>t.links.map((e,t)=>({id:"edge-".concat(t),source:e.source,target:e.target,markerEnd:{type:l.QZ.ArrowClosed,color:d().FIDESUI_NEUTRAL_300,width:15,height:15},style:{stroke:d().FIDESUI_NEUTRAL_300,strokeWidth:1.5,strokeOpacity:.8},animated:!1})),[t.links]),{nodes:o,edges:n}=(0,i.useMemo)(()=>{let e=new Set;a.forEach(t=>{e.add(t.source),e.add(t.target)});let t=[],o=[];s.forEach(s=>{e.has(s.id)?o.push(s):t.push(s)});let{nodes:i}=f(o,a,"LR"),n=Math.max(1,Math.ceil(Math.sqrt(t.length))),r=t.map((e,t)=>({...e,position:{x:t%n*240,y:120*Math.floor(t/n)},sourcePosition:"right",targetPosition:"left"})),d=120*Math.ceil(r.length/n)+80;return{nodes:[...r,...i.map(e=>({...e,position:{x:e.position.x,y:e.position.y+d}}))],edges:a}},[s,a]);return{nodes:o,edges:n}},p=e=>{let{data:t,setSelectedSystemId:s,selectedSystemId:o}=e,{nodes:r,edges:l}=S({data:t}),I=(0,n._K)(),c=(0,i.useRef)(null),E=(0,i.useRef)(null),u=(0,i.useMemo)(()=>r.map(e=>({...e,selected:e.id===o})),[r,o]),m=(0,i.useMemo)(()=>({systemNode:_}),[]);(0,i.useEffect)(()=>{r.length>0&&setTimeout(()=>{I.fitView({padding:.2})},150)},[r,I]),(0,i.useEffect)(()=>{o&&u.length>0?setTimeout(()=>{var e;let t=u.find(e=>e.id===o);if(!t)return;let s=I.getViewport(),a=null===(e=c.current)||void 0===e?void 0:e.getBoundingClientRect(),i=document.querySelector('[data-testid="datamap-drawer"]');if(!a){fidesDebugger("DatamapGraph: ReactFlow bounds not available for viewport management");return}if(!i){fidesDebugger("DatamapGraph: Drawer element not found for viewport management");return}E.current||(E.current={...s});let n=i.getBoundingClientRect().width,r=t.position.x*s.zoom+s.x,d=a.width-n;r>d-100&&I.setViewport({x:s.x+(d/2-r),y:s.y,zoom:s.zoom},{duration:300})},600):!o&&E.current&&setTimeout(()=>{if(E.current){let e=I.getViewport(),t=E.current,s=performance.now(),a=e=>1-(1-e)**3,o=i=>{let n=Math.min((i-s)/800,1),r=a(n),d={x:e.x+(t.x-e.x)*r,y:e.y+(t.y-e.y)*r,zoom:e.zoom+(t.zoom-e.zoom)*r};I.setViewport(d),n<1&&requestAnimationFrame(o)};requestAnimationFrame(o),E.current=null}},100)},[o,u,I,c]);let f=(0,i.useCallback)((e,t)=>{s(t.id)},[s]);return(0,a.jsx)("div",{ref:c,"data-testid":"reactflow-graph",className:"absolute size-full",children:(0,a.jsx)("div",{className:"size-full",style:{backgroundColor:d().FIDESUI_BG_CORINTH},children:(0,a.jsxs)(n.x$,{nodes:u,edges:l,onNodeClick:f,nodeTypes:m,nodesFocusable:!1,edgesFocusable:!1,connectOnClick:!1,nodesConnectable:!1,elementsSelectable:!0,fitView:!0,minZoom:.3,maxZoom:2,proOptions:{hideAttribution:!0},children:[(0,a.jsx)(n.Aq,{color:d().FIDESUI_NEUTRAL_100,variant:n.T7.Dots,size:3}),(0,a.jsx)(n.a9,{nodeStrokeWidth:3,pannable:!0}),(0,a.jsx)(n.ZX,{showInteractive:!1})]})})})};var U=e=>(0,a.jsx)(n.tV,{children:(0,a.jsx)(p,{...e})}),g=s(99811);let h=e=>{let t=(0,i.useMemo)(()=>new Set(null==e?void 0:e.map(e=>e.original["system.fides_key"])),[e]),s=(0,i.useMemo)(()=>e.reduce((e,t)=>{let s=t.original["system.fides_key"];return e[s]||(e[s]={name:t.original["system.name"],description:t.original["system.description"],ingress:t.original["system.ingress"]?t.original["system.ingress"].split(", "):[],egress:t.original["system.egress"]?t.original["system.egress"].split(", "):[],id:t.original["system.fides_key"]}),e},{}),[e]);return{data:(0,i.useMemo)(()=>{let e=[],t=new Set([]);return s&&(e=Object.values(s)).map(e=>[...e.ingress.filter(e=>s[e]).map(t=>({source:t,target:e.id})),...e.egress.filter(e=>s[e]).map(t=>({source:e.id,target:t}))]).flatMap(e=>e).forEach(e=>t.add(JSON.stringify(e))),{nodes:e,links:Array.from(t).map(e=>JSON.parse(e))}},[s]),highlightedNodes:t}};var D=e=>{let{setSelectedSystemId:t,selectedSystemId:s}=e,{tableInstance:n}=(0,i.useContext)(g.Z);if(!n)return null;let{rows:r}=n.getRowModel(),{data:d}=h(r);return(0,a.jsx)(o.xuv,{boxSize:"100%",minHeight:"600px",position:"relative",children:(0,a.jsx)(U,{data:d,setSelectedSystemId:t,selectedSystemId:s})})}},49820:function(e){e.exports={FIDESUI_FULL_BLACK:"#000",FIDESUI_FULL_WHITE:"#fff",FIDESUI_BG_WHITE:"#fff",FIDESUI_NEUTRAL_50:"#fafafa",FIDESUI_NEUTRAL_75:"#f5f5f5",FIDESUI_NEUTRAL_100:"#e6e6e8",FIDESUI_NEUTRAL_200:"#d1d2d4",FIDESUI_NEUTRAL_300:"#bcbec1",FIDESUI_NEUTRAL_400:"#a8aaad",FIDESUI_NEUTRAL_500:"#93969a",FIDESUI_NEUTRAL_600:"#7e8185",FIDESUI_NEUTRAL_700:"#696c71",FIDESUI_NEUTRAL_800:"#53575c",FIDESUI_NEUTRAL_900:"#2b2e35",FIDESUI_BG_DEFAULT:"#f5f5f5",FIDESUI_CORINTH:"#fafafa",FIDESUI_BG_CORINTH:"#fafafa",FIDESUI_LIMESTONE:"#f1efee",FIDESUI_MINOS:"#2b2e35",FIDESUI_BG_MINOS:"#4f525b",FIDESUI_TERRACOTTA:"#b9704b",FIDESUI_BG_TERRACOTTA:"#f1b193",FIDESUI_OLIVE:"#999b83",FIDESUI_BG_OLIVE:"#d4d5c8",FIDESUI_MARBLE:"#cdd2d3",FIDESUI_BG_MARBLE:"#e1e5e6",FIDESUI_SANDSTONE:"#cecac2",FIDESUI_BG_SANDSTONE:"#e3e0d9",FIDESUI_NECTAR:"#f0ebc1",FIDESUI_BG_NECTAR:"#f5f2d7",FIDESUI_ERROR:"#d9534f",FIDESUI_BG_ERROR:"#f7c2c2",FIDESUI_WARNING:"#e59d47",FIDESUI_BG_WARNING:"#fbddb5",FIDESUI_BG_CAUTION:"#f6e3a4",FIDESUI_SUCCESS:"#5a9a68",FIDESUI_BG_SUCCESS:"#c3e6b2",FIDESUI_INFO:"#4a90e2",FIDESUI_BG_INFO:"#a5d6f3",FIDESUI_ALERT:"#7b4ea9",FIDESUI_BG_ALERT:"#d9b0d7",FIDESUI_ERROR_TEXT:"#d32f2f",FIDESUI_SUCCESS_TEXT:"#388e3c",FIDESUI_LINK:"#2272ce",container:"DatamapSystemNode_container__Nerx0",button:"DatamapSystemNode_button__Uj4fu","button--selected":"DatamapSystemNode_button--selected__AUuiF",handle:"DatamapSystemNode_handle__eawrd"}}}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1975],{34849:function(e,t,s){"use strict";s.r(t),s.d(t,{default:function(){return D}});var a=s(24246),o=s(39158),i=s(27378);s(51901);var n=s(86298),r=s(3124),d=s.n(r),l=s(8335),I=s(49820),c=s.n(I),_=e=>{let{data:t,selected:s}=e;return(0,a.jsxs)("div",{className:c().container,"data-testid":"datamap-system-node",children:[(0,a.jsx)(o.wpx,{className:"".concat(c().button," ").concat(s?c()["button--selected"]:""),type:"text",children:(0,a.jsx)(o.AntTypography.Text,{ellipsis:!0,style:{color:"inherit"},children:t.label})}),(0,a.jsx)(n.HH,{type:"source",position:l.Ly.Right,className:c().handle}),(0,a.jsx)(n.HH,{type:"target",position:l.Ly.Left,className:c().handle})]})},E=s(24259),u=s.n(E);let m=new(u()).graphlib.Graph;m.setDefaultEdgeLabel(()=>({}));let f=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"LR";return m.setGraph({rankdir:s,ranksep:60,nodesep:60,edgesep:50,marginx:15,marginy:15}),e.forEach(e=>{m.setNode(e.id,{width:220,height:70})}),t.forEach(e=>{m.setEdge(e.source,e.target)}),u().layout(m),{nodes:e.map(e=>{let t=m.node(e.id);return{...e,position:{x:t.x-t.width/2,y:t.y-t.height/2},sourcePosition:"LR"===s?l.Ly.Right:l.Ly.Bottom,targetPosition:"LR"===s?l.Ly.Left:l.Ly.Top}}),edges:t}},S=e=>{let{data:t}=e,s=(0,i.useMemo)(()=>t.nodes.map(e=>({id:e.id,data:{label:e.name,description:e.description},position:{x:0,y:0},type:"systemNode"})),[t.nodes]),a=(0,i.useMemo)(()=>t.links.map((e,t)=>({id:"edge-".concat(t),source:e.source,target:e.target,markerEnd:{type:l.QZ.ArrowClosed,color:d().FIDESUI_NEUTRAL_300,width:15,height:15},style:{stroke:d().FIDESUI_NEUTRAL_300,strokeWidth:1.5,strokeOpacity:.8},animated:!1})),[t.links]),{nodes:o,edges:n}=(0,i.useMemo)(()=>{let e=new Set;a.forEach(t=>{e.add(t.source),e.add(t.target)});let t=[],o=[];s.forEach(s=>{e.has(s.id)?o.push(s):t.push(s)});let{nodes:i}=f(o,a,"LR"),n=Math.max(1,Math.ceil(Math.sqrt(t.length))),r=t.map((e,t)=>({...e,position:{x:t%n*240,y:120*Math.floor(t/n)},sourcePosition:"right",targetPosition:"left"})),d=120*Math.ceil(r.length/n)+80;return{nodes:[...r,...i.map(e=>({...e,position:{x:e.position.x,y:e.position.y+d}}))],edges:a}},[s,a]);return{nodes:o,edges:n}},p=e=>{let{data:t,setSelectedSystemId:s,selectedSystemId:o}=e,{nodes:r,edges:l}=S({data:t}),I=(0,n._K)(),c=(0,i.useRef)(null),E=(0,i.useRef)(null),u=(0,i.useMemo)(()=>r.map(e=>({...e,selected:e.id===o})),[r,o]),m=(0,i.useMemo)(()=>({systemNode:_}),[]);(0,i.useEffect)(()=>{r.length>0&&setTimeout(()=>{I.fitView({padding:.2})},150)},[r,I]),(0,i.useEffect)(()=>{o&&u.length>0?setTimeout(()=>{var e;let t=u.find(e=>e.id===o);if(!t)return;let s=I.getViewport(),a=null===(e=c.current)||void 0===e?void 0:e.getBoundingClientRect(),i=document.querySelector('[data-testid="datamap-drawer"]');if(!a){fidesDebugger("DatamapGraph: ReactFlow bounds not available for viewport management");return}if(!i){fidesDebugger("DatamapGraph: Drawer element not found for viewport management");return}E.current||(E.current={...s});let n=i.getBoundingClientRect().width,r=t.position.x*s.zoom+s.x,d=a.width-n;r>d-100&&I.setViewport({x:s.x+(d/2-r),y:s.y,zoom:s.zoom},{duration:300})},600):!o&&E.current&&setTimeout(()=>{if(E.current){let e=I.getViewport(),t=E.current,s=performance.now(),a=e=>1-(1-e)**3,o=i=>{let n=Math.min((i-s)/800,1),r=a(n),d={x:e.x+(t.x-e.x)*r,y:e.y+(t.y-e.y)*r,zoom:e.zoom+(t.zoom-e.zoom)*r};I.setViewport(d),n<1&&requestAnimationFrame(o)};requestAnimationFrame(o),E.current=null}},100)},[o,u,I,c]);let f=(0,i.useCallback)((e,t)=>{s(t.id)},[s]);return(0,a.jsx)("div",{ref:c,"data-testid":"reactflow-graph",className:"absolute size-full",children:(0,a.jsx)("div",{className:"size-full",style:{backgroundColor:d().FIDESUI_BG_CORINTH},children:(0,a.jsxs)(n.x$,{nodes:u,edges:l,onNodeClick:f,nodeTypes:m,nodesFocusable:!1,edgesFocusable:!1,connectOnClick:!1,nodesConnectable:!1,elementsSelectable:!0,fitView:!0,minZoom:.3,maxZoom:2,proOptions:{hideAttribution:!0},children:[(0,a.jsx)(n.Aq,{color:d().FIDESUI_NEUTRAL_100,variant:n.T7.Dots,size:3}),(0,a.jsx)(n.a9,{nodeStrokeWidth:3,pannable:!0}),(0,a.jsx)(n.ZX,{showInteractive:!1})]})})})};var U=e=>(0,a.jsx)(n.tV,{children:(0,a.jsx)(p,{...e})}),g=s(99811);let h=e=>{let t=(0,i.useMemo)(()=>new Set(null==e?void 0:e.map(e=>e.original["system.fides_key"])),[e]),s=(0,i.useMemo)(()=>e.reduce((e,t)=>{let s=t.original["system.fides_key"];return e[s]||(e[s]={name:t.original["system.name"],description:t.original["system.description"],ingress:t.original["system.ingress"]?t.original["system.ingress"].split(", "):[],egress:t.original["system.egress"]?t.original["system.egress"].split(", "):[],id:t.original["system.fides_key"]}),e},{}),[e]);return{data:(0,i.useMemo)(()=>{let e=[],t=new Set([]);return s&&(e=Object.values(s)).map(e=>[...e.ingress.filter(e=>s[e]).map(t=>({source:t,target:e.id})),...e.egress.filter(e=>s[e]).map(t=>({source:e.id,target:t}))]).flatMap(e=>e).forEach(e=>t.add(JSON.stringify(e))),{nodes:e,links:Array.from(t).map(e=>JSON.parse(e))}},[s]),highlightedNodes:t}};var D=e=>{let{setSelectedSystemId:t,selectedSystemId:s}=e,{tableInstance:n}=(0,i.useContext)(g.Z);if(!n)return null;let{rows:r}=n.getRowModel(),{data:d}=h(r);return(0,a.jsx)(o.xuv,{boxSize:"100%",minHeight:"600px",position:"relative",children:(0,a.jsx)(U,{data:d,setSelectedSystemId:t,selectedSystemId:s})})}},49820:function(e){e.exports={FIDESUI_FULL_BLACK:"#000",FIDESUI_FULL_WHITE:"#fff",FIDESUI_BG_WHITE:"#fff",FIDESUI_NEUTRAL_50:"#fafafa",FIDESUI_NEUTRAL_75:"#f5f5f5",FIDESUI_NEUTRAL_100:"#e6e6e8",FIDESUI_NEUTRAL_200:"#d1d2d4",FIDESUI_NEUTRAL_300:"#bcbec1",FIDESUI_NEUTRAL_400:"#a8aaad",FIDESUI_NEUTRAL_500:"#93969a",FIDESUI_NEUTRAL_600:"#7e8185",FIDESUI_NEUTRAL_700:"#696c71",FIDESUI_NEUTRAL_800:"#53575c",FIDESUI_NEUTRAL_900:"#2b2e35",FIDESUI_BG_DEFAULT:"#f5f5f5",FIDESUI_CORINTH:"#fafafa",FIDESUI_BG_CORINTH:"#fafafa",FIDESUI_LIMESTONE:"#f1efee",FIDESUI_MINOS:"#2b2e35",FIDESUI_BG_MINOS:"#4f525b",FIDESUI_TERRACOTTA:"#b9704b",FIDESUI_BG_TERRACOTTA:"#f1b193",FIDESUI_OLIVE:"#999b83",FIDESUI_BG_OLIVE:"#d4d5c8",FIDESUI_MARBLE:"#cdd2d3",FIDESUI_BG_MARBLE:"#e1e5e6",FIDESUI_SANDSTONE:"#cecac2",FIDESUI_BG_SANDSTONE:"#e3e0d9",FIDESUI_NECTAR:"#f0ebc1",FIDESUI_BG_NECTAR:"#f5f2d7",FIDESUI_ERROR:"#d9534f",FIDESUI_BG_ERROR:"#f7c2c2",FIDESUI_WARNING:"#e59d47",FIDESUI_BG_WARNING:"#fbddb5",FIDESUI_BG_CAUTION:"#f6e3a4",FIDESUI_SUCCESS:"#5a9a68",FIDESUI_BG_SUCCESS:"#c3e6b2",FIDESUI_INFO:"#4a90e2",FIDESUI_BG_INFO:"#a5d6f3",FIDESUI_ALERT:"#7b4ea9",FIDESUI_BG_ALERT:"#d9b0d7",FIDESUI_ERROR_TEXT:"#d32f2f",FIDESUI_SUCCESS_TEXT:"#388e3c",FIDESUI_LINK:"#2272ce",container:"DatamapSystemNode_container__Nerx0",button:"DatamapSystemNode_button__Uj4fu","button--selected":"DatamapSystemNode_button--selected__AUuiF",handle:"DatamapSystemNode_handle__eawrd"}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2040],{77213:function(e,n,t){t.d(n,{Z:function(){return p}});var i=t(24246),s=t(39158),r=t(88038),a=t.n(r),o=t(86677);t(27378);var g=t(25980),l=t(90867),u=t(42478),c=t(77830),d=()=>{let e=(0,o.useRouter)();return(0,i.jsx)(s.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,i.jsxs)(s.xuv,{children:[(0,i.jsxs)(s.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,i.jsx)(s.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,i.jsx)(s.wpx,{onClick:()=>{e.push(c.AD)},children:"Configure"})]}),(0,i.jsxs)(s.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:n,title:t,padded:r=!0,mainProps:c}=e,p=(0,g.hz)(),f=(0,o.useRouter)(),m="/privacy-requests"===f.pathname||"/datastore-connection"===f.pathname,h=!(p.flags.messagingConfiguration&&m),{data:y}=(0,u.JE)(void 0,{skip:h}),{data:x}=(0,l.PW)(void 0,{skip:h}),v=p.flags.messagingConfiguration&&(!y||!x)&&m;return(0,i.jsxs)(s.kCb,{"data-testid":t,direction:"column",h:"100vh",children:[(0,i.jsxs)(a(),{children:[(0,i.jsxs)("title",{children:["Fides Admin UI - ",t]}),(0,i.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,i.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,i.jsxs)(s.kCb,{as:"main",direction:"column",py:r?6:0,px:r?10:0,h:r?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...c,children:[v?(0,i.jsx)(d,{}):null,n]})]})}},58754:function(e,n,t){var i=t(24246),s=t(39158),r=t(70788);n.Z=e=>{let{heading:n,breadcrumbItems:t,isSticky:a=!0,children:o,rightContent:g,style:l,...u}=e;return(0,i.jsxs)("div",{...u,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",...l}:{paddingBottom:"24px",...l},children:[(0,i.jsxs)(s.jqI,{justify:"space-between",children:["string"==typeof n?(0,i.jsx)(s.lQT,{className:t||o?"pb-4":void 0,level:1,"data-testid":"page-heading",children:n}):n,g&&(0,i.jsx)("div",{"data-testid":"page-header-right-content",children:g})]}),!!t&&(0,i.jsx)(r.m,{className:o?"pb-4":void 0,items:t,"data-testid":"page-breadcrumb"}),o]})}},19904:function(e,n,t){t.d(n,{Tg:function(){return a}});var i=t(24246),s=t(16134),r=t(31793);let a=e=>(0,s.C)(r.uu).filter(n=>e.includes(n)).length>0;n.ZP=e=>{let{scopes:n,children:t}=e;return a(n)?(0,i.jsx)(i.Fragment,{children:t}):null}},70788:function(e,n,t){t.d(n,{m:function(){return l}});var i=t(24246),s=t(39158),r=t(79894),a=t.n(r),o=t(27378);let{Text:g}=s.AntTypography,l=e=>{let{items:n,...t}=e,r=(0,o.useMemo)(()=>null==n?void 0:n.map((e,t)=>{let r=t===n.length-1,o={...e},l=o.onClick&&!o.href;return("string"==typeof o.title&&(o.title=(0,i.jsx)(g,{style:{color:"inherit",maxWidth:r?void 0:400},ellipsis:!r,id:r?"breadcrumb-current-page":void 0,children:o.title})),l)?o.title=(0,i.jsx)(s.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,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:"anticon align-text-bottom",children:o.icon}),o.title]})),o.href&&o.title&&(o.title=(0,i.jsx)(a(),{href:o.href,className:"ant-breadcrumb-link",children:o.title}),delete o.href)),o}),[n]);return(0,i.jsx)(s.zrq,{items:r,...t})}},42478:function(e,n,t){t.d(n,{FU:function(){return l},JE:function(){return s},Ki:function(){return c},SU:function(){return d},W:function(){return p},h9:function(){return r},jc:function(){return i},qt:function(){return g},sn:function(){return u}});let{useGetEmailInviteStatusQuery:i,useGetActiveMessagingProviderQuery:s,useCreateMessagingConfigurationMutation:r,useCreateMessagingConfigurationSecretsMutation:a,useGetMessagingConfigurationDetailsQuery:o,useGetMessagingConfigurationsQuery:g,useGetMessagingConfigurationByKeyQuery:l,useUpdateMessagingConfigurationByKeyMutation:u,useUpdateMessagingConfigurationSecretsByKeyMutation:c,useCreateTestConnectionMessageMutation:d,useDeleteMessagingConfigurationByKeyMutation:p}=t(78780).u.injectEndpoints({endpoints:e=>({getEmailInviteStatus:e.query({query:()=>({url:"/messaging/email-invite/status"}),providesTags:()=>["Email Invite Status"]}),createMessagingConfiguration:e.mutation({query:e=>({url:"messaging/config",method:"POST",body:e}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getActiveMessagingProvider:e.query({queryFn:async(e,n,t,i)=>{let s=await i({url:"messaging/default/active"});return s.error&&404===s.error.status?{data:null}:s},providesTags:["Messaging Config"]}),createMessagingConfigurationSecrets:e.mutation({query:e=>({url:"messaging/default/".concat(e.service_type,"/secret"),method:"PUT",body:e.details}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getMessagingConfigurationDetails:e.query({query:e=>({url:"messaging/default/".concat(e.type)}),providesTags:["Messaging Config"]}),getMessagingConfigurations:e.query({query:()=>({url:"messaging/config"}),providesTags:["Messaging Config"]}),getMessagingConfigurationByKey:e.query({query:e=>({url:"messaging/config/".concat(e.key)}),providesTags:["Messaging Config"]}),createTestConnectionMessage:e.mutation({query:e=>({url:"messaging/test/".concat(e.service_type),method:"POST",body:e.details}),invalidatesTags:["Messaging Config"]}),updateMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"PATCH",body:e.config}),invalidatesTags:["Messaging Config","Configuration Settings"]}),updateMessagingConfigurationSecretsByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key,"/secret"),method:"PUT",body:e.secrets}),invalidatesTags:["Messaging Config","Configuration Settings"]}),deleteMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"DELETE"}),invalidatesTags:["Messaging Config","Configuration Settings"]})})})},3642:function(e,n,t){var i=t(24246),s=t(39158),r=t(86677),a=t.n(r),o=t(27378),g=t(812),l=t(58452),u=t(77830),c=t(19904),d=t(46628),p=t(98795),f=t(60240);n.Z=e=>{let{property:n,triggerComponent:t}=e,r=(0,s.pmc)(),m=(0,s.qY0)(),[h]=(0,p.YW)(),y=n.experiences.length>0,x=async()=>{m.onClose();let e=await h(n.id);if((0,g.D4)(e)){r((0,d.Vo)((0,g.e$)(e.error)));return}a().push("".concat(u.ru)),r((0,d.t5)("Property ".concat(n.name," deleted successfully")))};return(0,i.jsxs)(c.ZP,{scopes:[f.Sh.PROPERTY_DELETE],children:[(0,i.jsx)(s.esZ,{title:y?"All of the experiences on this property must be unlinked before the property can be deleted.":void 0,placement:"right",children:(0,i.jsx)("span",{children:o.cloneElement(t,{onClick:e=>{e.stopPropagation(),y||m.onOpen()},disabled:y})})}),(0,i.jsx)(l.Z,{isOpen:m.isOpen,onClose:m.onClose,onConfirm:x,title:"Delete ".concat(n.name),message:(0,i.jsxs)(s.xvT,{color:"gray.500",children:["You are about to delete property ",n.name,". This action is not reversible and will result in ",n.name," no longer being available for your data governance. Are you sure you want to proceed?"]}),continueButtonText:"Ok",isCentered:!0,icon:(0,i.jsx)(s.aNP,{})})]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2121],{22121:function(n,e,t){async function s(){{let{worker:n}=await Promise.all([t.e(5698),t.e(1276)]).then(t.bind(t,81276));await n.start({onUnhandledRequest:"bypass"})}}t.r(e),t.d(e,{initMocks:function(){return s}})}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2397],{14908:function(e,a,s){var i=s(86677),t=s(27378);let l=e=>e.startsWith("#")?e.slice(1):e;a.Z=e=>{let{tabKeys:a,initialTab:s}=e,r=(0,i.useRouter)(),o=r.asPath.split("#")[1]||a[0],[c,n]=(0,t.useState)(o);return(0,t.useEffect)(()=>{s&&a.includes(s)&&n(s)},[s,a,r.isReady]),{activeTab:c,onTabChange:(0,t.useCallback)(async e=>{if(!a.includes(e)){await r.replace({pathname:r.pathname,query:r.query,hash:void 0}),n(a[0]);return}r.isReady&&(await r.replace({pathname:r.pathname,query:r.query,hash:l(e)},void 0,{shallow:!0}),n(e))},[r,a]),setActiveTab:n}}},69828:function(e,a,s){s.d(a,{Y:function(){return r}});var i=s(24246),t=s(39158),l=s(70788);let r=[(0,i.jsx)(t.PJP.S9g,{},"layers"),(0,i.jsx)(t.PJP.ehp,{},"dataset"),(0,i.jsx)(t.PJP.iA_,{},"table"),(0,i.jsx)(t.PJP.$4y,{style:{transform:"rotate(-90deg)"}},"field")];a.Z=e=>{let{resourceUrn:a,parentLink:s,onPathClick:t=()=>{}}=e,o=[];if(a||o.push({title:"All activity"}),a){o.push({title:"All activity",href:s});let e=a.split(".");e.forEach((a,s)=>{0!==s&&o.push({title:a,icon:r[s-1],onClick:a=>{a.preventDefault(),t(e.slice(0,s+1).join("."))}})})}return(0,i.jsx)(l.m,{"data-testid":"results-breadcrumb",items:o})}},1039:function(e,a,s){s.d(a,{Z:function(){return Z}});var i,t,l=s(24246),r=s(59003),o=s(92222),c=s(39158),n=s(27378),d=s(47935),u=s(70675),h=s(72625),g=s(54409),m=s(79947),x=s(87667),j=s(50169),v=s(28278),p=s(60240),y=s(74241),R=e=>{let{resourceType:a,changeTypeOverride:s}=e,i=(0,o.Cl)(),t=[];return a?a===p.D$.SCHEMA?{columns:[i.accessor(e=>e.name,{id:"name",cell:e=>(0,l.jsx)(x.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Name",...e}),size:300}),i.accessor(e=>e.urn,{id:"project",cell:e=>(0,l.jsx)(d.G3,{value:(0,y.Z)(e.getValue())}),header:e=>(0,l.jsx)(d.Rr,{value:"Project",...e})}),i.display({id:"status",cell:e=>(0,l.jsx)(j.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Status",...e})}),i.accessor(e=>e.system,{id:"system",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"System",...e})}),i.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"Detected by",...e})}),i.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,l.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"When",...e})}),i.display({id:"actions",cell:e=>(0,l.jsx)(g.Z,{ignoreChildActions:s===v.E.MONITORED||s===v.E.MUTED,resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:a===p.D$.TABLE?{columns:[i.accessor(e=>e.name,{id:"name",cell:e=>(0,l.jsx)(x.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Table name",...e}),size:300}),i.accessor(e=>e.description,{id:"description",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,l.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),i.display({id:"status",cell:e=>(0,l.jsx)(j.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Status",...e})}),i.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"Detected by",...e})}),i.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,l.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"When",...e})}),i.display({id:"actions",cell:e=>(0,l.jsx)(g.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:a===p.D$.FIELD?{columns:[i.accessor(e=>e.name,{id:"name",cell:e=>(0,l.jsx)(x.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Field name",...e}),size:300}),i.accessor(e=>e.source_data_type,{id:"data-type",cell:e=>(0,l.jsx)(m.Z,{type:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"Data type",...e})}),i.accessor(e=>e.description,{id:"description",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,l.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),i.display({id:"status",cell:e=>(0,l.jsx)(j.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Status",...e})}),i.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"Detected by",...e})}),i.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,l.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"When",...e})}),i.display({id:"actions",cell:e=>(0,l.jsx)(g.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:a===p.D$.ENDPOINT?{columns:[i.accessor(e=>e.name,{id:"name",cell:e=>(0,l.jsx)(x.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Object",...e}),size:300}),i.accessor(e=>e.description,{id:"description",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,l.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),i.display({id:"status",cell:e=>(0,l.jsx)(j.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Status",...e})}),i.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"Detected by",...e})}),i.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,l.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"When",...e})}),i.display({id:"actions",cell:e=>(0,l.jsx)(g.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:{columns:t}:{columns:t}},f=s(14908);(i=t||(t={})).ACTION_REQUIRED="action-required",i.MONITORED="monitored",i.UNMONITORED="unmonitored";let b={"action-required":{label:"Action Required",key:"action-required",filters:[p.LL.ADDITION,p.LL.REMOVAL],childFilters:[p.LL.ADDITION,p.LL.REMOVAL]},monitored:{label:"Monitored",key:"monitored",filters:[p.LL.MONITORED],childFilters:[],changeTypeOverride:v.E.MONITORED},unmonitored:{label:"Unmonitored",key:"unmonitored",filters:[p.LL.MUTED],childFilters:[],changeTypeOverride:v.E.MUTED}};var w=()=>{var e,a,s;let{activeTab:i,onTabChange:l}=(0,f.Z)({tabKeys:Object.values(t)});return{filterTabs:Object.values(b),activeTabKey:i,onTabChange:l,activeDiffFilters:null===(e=b[i])||void 0===e?void 0:e.filters,activeChildDiffFilters:null===(a=b[i])||void 0===a?void 0:a.childFilters,activeChangeTypeOverride:null===(s=b[i])||void 0===s?void 0:s.changeTypeOverride}},D=s(47182),T=s(38347),C=s(7940),O=s(80285),E=s(36168),_=s(30952);let k={items:[],total:0,page:1,size:50,pages:1},P=()=>(0,l.jsx)(c.gCW,{mt:6,p:10,spacing:4,borderRadius:"base",maxW:"70%","data-testid":"empty-state",alignSelf:"center",margin:"auto",children:(0,l.jsxs)(c.gCW,{children:[(0,l.jsx)(c.xvT,{fontSize:"md",fontWeight:"600",children:"No activity found"}),(0,l.jsx)(c.xvT,{fontSize:"sm",children:"You're up to date!"})]})});var Z=e=>{let{resourceUrn:a}=e,[s,i]=(0,n.useState)(""),{filterTabs:t,activeTabKey:h,onTabChange:g,activeDiffFilters:m,activeChildDiffFilters:x,activeChangeTypeOverride:j}=w(),{PAGE_SIZES:v,pageSize:y,setPageSize:f,onPreviousPageClick:b,isPreviousPageDisabled:Z,onNextPageClick:M,isNextPageDisabled:I,startRange:N,endRange:A,pageIndex:L,setTotalPages:V,resetPageIndexToDefault:z}=(0,d.oi)();(0,n.useEffect)(()=>{z()},[a,s,z,m,x]);let{isFetching:S,isLoading:G,data:F}=(0,u.z8)({staged_resource_urn:a,page:L,size:y,child_diff_status:x,diff_status:m,search:s}),q=(0,C.G)(null==F?void 0:F.items[0]),{columns:W}=R({resourceType:q,changeTypeOverride:j}),{items:U,total:$,pages:H}=(0,n.useMemo)(()=>null!=F?F:k,[F]);(0,n.useEffect)(()=>{V(H)},[H,V]);let J=(0,n.useMemo)(()=>W,[W]),{navigateToDetectionResults:K}=(0,D.Z)(),Q=(0,r.b7)({getCoreRowModel:(0,o.sC)(),getGroupedRowModel:(0,o.qe)(),getExpandedRowModel:(0,o.rV)(),getRowId:O.Z,columns:J,manualPagination:!0,data:U,columnResizeMode:"onChange"});return G?(0,l.jsx)(d.I4,{rowHeight:36,numRows:36}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.A5g,{items:t.map(e=>({key:e.key,label:e.label})),activeKey:h,onChange:e=>g(e)}),(0,l.jsx)(d.Q$,{children:(0,l.jsx)(c.kCb,{direction:"row",alignItems:"center",justifyContent:"space-between",width:"full",children:(0,l.jsxs)(c.kCb,{gap:6,align:"center",children:[(0,l.jsx)(c.xuv,{flexShrink:0,children:(0,l.jsx)(_.f,{value:s,onChange:i})}),(0,l.jsx)(T.a,{})]})})}),(0,l.jsx)(d.ZK,{tableInstance:Q,onRowClick:e=>K({resourceUrn:e.urn,filterTab:h}),getRowIsClickable:e=>q!==p.D$.FIELD||(0,E.Z)(e),emptyTableNotice:(0,l.jsx)(P,{})}),(0,l.jsx)(d.s8,{totalRows:$||0,pageSizes:v,setPageSize:f,onPreviousPageClick:b,isPreviousPageDisabled:Z||S,onNextPageClick:M,isNextPageDisabled:I||S,startRange:N,endRange:A})]})}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2921],{95813:function(e,l,r){r.d(l,{S:function(){return t}});let t={input:"default text",radio:"2",checkbox:!0,switch:!0,select:"2",multiselect:["2"],tags:["1"],date:"",number:12}},12921:function(e,l,r){r.r(l),r.d(l,{FormikSpreadFieldPOC:function(){return u}});var t=r(24246),n=r(39158),i=r(3124),s=r.n(i),d=r(34090),c=r(95813);let{Text:o,Title:a}=n.AntTypography,u=()=>(0,t.jsx)(d.J9,{initialValues:{...c.S},onSubmit:console.log,children:e=>{let{values:l}=e;return(0,t.jsxs)(n.bue,{children:[(0,t.jsxs)(n.JGx,{span:12,children:[(0,t.jsx)(a,{level:2,children:"<Formik> + <Form> + {...field}"}),(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)(n.j8w,{color:"error",children:"non functional"}),(0,t.jsx)(n.j8w,{color:"error",children:"high effort"})]}),(0,t.jsx)(d.l0,{children:(0,t.jsxs)(n.jqI,{vertical:!0,gap:16,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"input",children:"Input"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"input",children:e=>{let{field:l}=e;return(0,t.jsx)(n.uFc,{...l,id:"input",type:"text"})}})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"radio",children:e=>{let{field:l}=e;return(0,t.jsxs)(n.y02.Group,{...l,children:[(0,t.jsx)(n.y02,{value:"1",children:"Radio 1"}),(0,t.jsx)(n.y02,{value:"2",children:"Radio 2"})]})}})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.gN,{name:"checkbox",children:e=>{let{field:r}=e;return(0,t.jsx)(n.E_O,{...r,defaultChecked:l.checkbox,children:"Checkbox"})}}),(0,t.jsx)(o,{type:"warning",children:"Requires additional logic to handle default state"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"switch",children:"Switch"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"switch",children:e=>{let{field:l}=e;return(0,t.jsx)(n.rAg,{id:"switch",...l})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Switch's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"select",children:"Select"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"select",children:e=>{let{field:r}=e;return(0,t.jsx)(n.WPr,{allowClear:!0,id:"select",className:"w-full",defaultValue:l.select,status:"error",...r,options:[{value:"1",label:"Option 1"},{value:"2",label:"Option 2"}]})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Select's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"multiselect",children:"Multiselect"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"multiselect",children:e=>{let{field:r}=e;return(0,t.jsx)(n.WPr,{mode:"multiple",allowClear:!0,id:"multiselect",className:"w-full",defaultValue:l.multiselect,status:"error",...r,options:[{value:"1",label:"Option 1"},{value:"2",label:"Option 2"}]})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Select's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"tags",children:"Tags"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"tags",children:e=>{let{field:r}=e;return(0,t.jsx)(n.WPr,{mode:"tags",allowClear:!0,id:"tags",className:"w-full",defaultValue:l.tags,status:"error",...r,options:[{value:"1",label:"Option 1"},{value:"2",label:"Option 2"}]})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Select's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"date",children:"Date"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"date",children:e=>{let{field:l}=e;return(0,t.jsx)(n.cv2,{id:"date",status:"error",...l})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant DatePicker's onChange is different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"number",children:"Number"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"number",children:e=>{let{field:r}=e;return(0,t.jsx)(n.W7D,{id:"number",defaultValue:l.number,status:"error",...r})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant InputNumber's onChange is different from Formik, requires to be fully controlled."})]})]})})]}),(0,t.jsxs)(n.JGx,{span:8,offset:4,children:[(0,t.jsx)(a,{level:4,children:"Controlled Values"}),(0,t.jsx)(n.V4A,{style:{backgroundColor:s().FIDESUI_MINOS,color:s().FIDESUI_CORINTH},children:(0,t.jsx)("pre",{children:(0,t.jsxs)("code",{children:["{\n",Object.keys(l).map(e=>" ".concat(e,": ").concat(l[e],"\n")),"}"]})})})]})]})}});l.default=u}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3150],{77213:function(e,t,i){i.d(t,{Z:function(){return f}});var n=i(24246),a=i(39158),s=i(88038),r=i.n(s),o=i(86677);i(27378);var l=i(25980),u=i(90867),d=i(42478),c=i(77830),g=()=>{let e=(0,o.useRouter)();return(0,n.jsx)(a.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)(a.xuv,{children:[(0,n.jsxs)(a.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,n.jsx)(a.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,n.jsx)(a.wpx,{onClick:()=>{e.push(c.AD)},children:"Configure"})]}),(0,n.jsxs)(a.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},f=e=>{let{children:t,title:i,padded:s=!0,mainProps:c}=e,f=(0,l.hz)(),p=(0,o.useRouter)(),m="/privacy-requests"===p.pathname||"/datastore-connection"===p.pathname,y=!(f.flags.messagingConfiguration&&m),{data:v}=(0,d.JE)(void 0,{skip:y}),{data:h}=(0,u.PW)(void 0,{skip:y}),x=f.flags.messagingConfiguration&&(!v||!h)&&m;return(0,n.jsxs)(a.kCb,{"data-testid":i,direction:"column",h:"100vh",children:[(0,n.jsxs)(r(),{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.jsxs)(a.kCb,{as:"main",direction:"column",py:s?6:0,px:s?10:0,h:s?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...c,children:[x?(0,n.jsx)(g,{}):null,t]})]})}},58754:function(e,t,i){var n=i(24246),a=i(39158),s=i(70788);t.Z=e=>{let{heading:t,breadcrumbItems:i,isSticky:r=!0,children:o,rightContent:l,style:u,...d}=e;return(0,n.jsxs)("div",{...d,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",...u}:{paddingBottom:"24px",...u},children:[(0,n.jsxs)(a.jqI,{justify:"space-between",children:["string"==typeof t?(0,n.jsx)(a.lQT,{className:i||o?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,l&&(0,n.jsx)("div",{"data-testid":"page-header-right-content",children:l})]}),!!i&&(0,n.jsx)(s.m,{className:o?"pb-4":void 0,items:i,"data-testid":"page-breadcrumb"}),o]})}},83099:function(e,t,i){var n=i(24246),a=i(79283),s=i(34929);t.Z=e=>{let{selectedTaxonomies:t,showDisabled:i=!1,...r}=e,{getDataUseDisplayNameProps:o,getDataUses:l}=(0,s.Z)(),u=(i?l():l().filter(e=>e.active)).filter(e=>!(null==t?void 0:t.includes(e.fides_key))).map(e=>{let{name:t,primaryName:i}=o(e.fides_key);return{value:e.fides_key,name:t,primaryName:i,description:e.description||""}});return(0,n.jsx)(a.l,{options:u,...r})}},70788:function(e,t,i){i.d(t,{m:function(){return u}});var n=i(24246),a=i(39158),s=i(79894),r=i.n(s),o=i(27378);let{Text:l}=a.AntTypography,u=e=>{let{items:t,...i}=e,s=(0,o.useMemo)(()=>null==t?void 0:t.map((e,i)=>{let s=i===t.length-1,o={...e},u=o.onClick&&!o.href;return("string"==typeof o.title&&(o.title=(0,n.jsx)(l,{style:{color:"inherit",maxWidth:s?void 0:400},ellipsis:!s,id:s?"breadcrumb-current-page":void 0,children:o.title})),u)?o.title=(0,n.jsx)(a.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)(r(),{href:o.href,className:"ant-breadcrumb-link",children:o.title}),delete o.href)),o}),[t]);return(0,n.jsx)(a.zrq,{items:s,...i})}},26183:function(e,t,i){var n=i(24246);i(27378),t.Z=e=>{let{children:t,className:i,...a}=e;return(0,n.jsx)("div",{className:"relative flex w-full flex-wrap items-center gap-2 overflow-x-auto py-2 ".concat(i||""),...a,children:t})}},3765:function(e,t,i){var n=i(39158),a=i(20987),s=i(812),r=i(46628),o=i(32885),l=i(1315),u=i(31883);let d=(e,t)=>{let i=[],n=[];return Object.entries(e).forEach(e=>{let[a,s]=e;s?i.push({id:a,value:s,resource_id:t,custom_field_definition_id:a}):n.push(a)}),{upsert:i,delete:n,resource_type:a.J.PRIVACY_DECLARATION,resource_id:t}};t.Z=e=>{let t=(0,n.pmc)(),[i]=(0,l.qQ)(),[a]=(0,o._D)(),c=i=>!!e.privacy_declarations.find(e=>e.data_use===i.data_use&&e.name===i.name)&&(t((0,r.Vo)("A declaration already exists with that data use in this system. Please supply a different data use.")),!0),g=e=>{let{systemResult:i,customFieldsResult:n,isDelete:a}=e;if((0,u.D4)(i)){let e=(0,s.e$)(i.error,"An unexpected error occurred while updating the system. Please try again.");t((0,r.Vo)(e));return}if(n&&(0,u.D4)(n)){let e=(0,s.e$)(n.error,"Data use was updated, but an error occurred while updating custom fields. Please try again.");t((0,r.Vo)(e));return}return t((0,r.t5)(a?"Data use deleted":"Data use saved")),i.data.privacy_declarations},f=async(t,n,s,r)=>{let o;let l=t.map(e=>{var t;return{...e,name:null!==(t=e.name)&&void 0!==t?t:""}}),u={...e,privacy_declarations:l},c=await i(u);if(s&&r){var f,p;let e=null==c?void 0:null===(p=c.data)||void 0===p?void 0:null===(f=p.privacy_declarations)||void 0===f?void 0:f.find(e=>e.data_use===r);if(e){let t=d(s,e.id);o=await a(t)}}return g({systemResult:c,customFieldsResult:o,isDelete:n})};return{createDataUse:async i=>{if(c(i))return;let{customFieldValues:n,...a}=i;return t.closeAll(),f([...e.privacy_declarations,a],!1,n,a.data_use)},updateDataUse:async(t,i)=>{if(i.id!==t.id&&c(i))return;let{customFieldValues:n,...a}=i;return f(e.privacy_declarations.map(e=>e.id===t.id?a:e),!1,n,a.data_use)},deleteDataUse:async t=>f(e.privacy_declarations.filter(e=>e.id!==t.id),!0),deleteDeclarationByDataUse:async t=>f(e.privacy_declarations.filter(e=>e.data_use!==t),!0)}}},42478:function(e,t,i){i.d(t,{FU:function(){return u},JE:function(){return a},Ki:function(){return c},SU:function(){return g},W:function(){return f},h9:function(){return s},jc:function(){return n},qt:function(){return l},sn:function(){return d}});let{useGetEmailInviteStatusQuery:n,useGetActiveMessagingProviderQuery:a,useCreateMessagingConfigurationMutation:s,useCreateMessagingConfigurationSecretsMutation:r,useGetMessagingConfigurationDetailsQuery:o,useGetMessagingConfigurationsQuery:l,useGetMessagingConfigurationByKeyQuery:u,useUpdateMessagingConfigurationByKeyMutation:d,useUpdateMessagingConfigurationSecretsByKeyMutation:c,useCreateTestConnectionMessageMutation:g,useDeleteMessagingConfigurationByKeyMutation:f}=i(78780).u.injectEndpoints({endpoints:e=>({getEmailInviteStatus:e.query({query:()=>({url:"/messaging/email-invite/status"}),providesTags:()=>["Email Invite Status"]}),createMessagingConfiguration:e.mutation({query:e=>({url:"messaging/config",method:"POST",body:e}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getActiveMessagingProvider:e.query({queryFn:async(e,t,i,n)=>{let a=await n({url:"messaging/default/active"});return a.error&&404===a.error.status?{data:null}:a},providesTags:["Messaging Config"]}),createMessagingConfigurationSecrets:e.mutation({query:e=>({url:"messaging/default/".concat(e.service_type,"/secret"),method:"PUT",body:e.details}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getMessagingConfigurationDetails:e.query({query:e=>({url:"messaging/default/".concat(e.type)}),providesTags:["Messaging Config"]}),getMessagingConfigurations:e.query({query:()=>({url:"messaging/config"}),providesTags:["Messaging Config"]}),getMessagingConfigurationByKey:e.query({query:e=>({url:"messaging/config/".concat(e.key)}),providesTags:["Messaging Config"]}),createTestConnectionMessage:e.mutation({query:e=>({url:"messaging/test/".concat(e.service_type),method:"POST",body:e.details}),invalidatesTags:["Messaging Config"]}),updateMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"PATCH",body:e.config}),invalidatesTags:["Messaging Config","Configuration Settings"]}),updateMessagingConfigurationSecretsByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key,"/secret"),method:"PUT",body:e.secrets}),invalidatesTags:["Messaging Config","Configuration Settings"]}),deleteMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"DELETE"}),invalidatesTags:["Messaging Config","Configuration Settings"]})})})},54748:function(e,t,i){var n=i(27378),a=i(60240);t.Z=()=>({legalBasisOptions:(0,n.useMemo)(()=>Object.keys(a.gP).map(e=>({value:a.gP[e],label:a.gP[e]})),[])})},28325:function(e,t,i){var n=i(27378),a=i(60240);t.Z=()=>({specialCategoryLegalBasisOptions:(0,n.useMemo)(()=>Object.keys(a.nV).map(e=>({value:a.nV[e],label:a.nV[e]})),[])})}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3214],{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},95372:function(u){u.exports=function(u,n,t,r){for(var f=u.length,e=t+(r?1:-1);r?e--:++e<f;)if(n(u[e],e,u))return e;return -1}},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,"")}},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)||[]}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3377],{49819:function(e,i,s){var t=s(18911)();e.exports=t},26194:function(e,i,s){var t=s(49819),a=s(50098);e.exports=function(e,i){return e&&t(e,i,a)}},18911:function(e){e.exports=function(e){return function(i,s,t){for(var a=-1,r=Object(i),n=t(i),l=n.length;l--;){var o=n[e?l:++a];if(!1===s(r[o],o,r))break}return i}}},56141:function(e,i,s){var t=s(32866);e.exports=function(e,i){return t(e,i)}},92465:function(e){e.exports=function(e){return void 0===e}},25389:function(e,i,s){var t=s(88799),a=s(26194),r=s(89278);e.exports=function(e,i){var s={};return i=r(i,3),a(e,function(e,a,r){t(s,a,i(e,a,r))}),s}},9799:function(e){e.exports=function(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var i=arguments;switch(i.length){case 0:return!e.call(this);case 1:return!e.call(this,i[0]);case 2:return!e.call(this,i[0],i[1]);case 3:return!e.call(this,i[0],i[1],i[2])}return!e.apply(this,i)}}},15539:function(e,i,s){var t=s(89278),a=s(9799),r=s(71975);e.exports=function(e,i){return r(e,a(t(i)))}},77213:function(e,i,s){"use strict";s.d(i,{Z:function(){return f}});var t=s(24246),a=s(39158),r=s(88038),n=s.n(r),l=s(86677);s(27378);var o=s(25980),c=s(90867),d=s(42478),u=s(77830),m=()=>{let e=(0,l.useRouter)();return(0,t.jsx)(a.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,t.jsxs)(a.xuv,{children:[(0,t.jsxs)(a.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,t.jsx)(a.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,t.jsx)(a.wpx,{onClick:()=>{e.push(u.AD)},children:"Configure"})]}),(0,t.jsxs)(a.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},f=e=>{let{children:i,title:s,padded:r=!0,mainProps:u}=e,f=(0,o.hz)(),g=(0,l.useRouter)(),p="/privacy-requests"===g.pathname||"/datastore-connection"===g.pathname,x=!(f.flags.messagingConfiguration&&p),{data:h}=(0,d.JE)(void 0,{skip:x}),{data:y}=(0,c.PW)(void 0,{skip:x}),_=f.flags.messagingConfiguration&&(!h||!y)&&p;return(0,t.jsxs)(a.kCb,{"data-testid":s,direction:"column",h:"100vh",children:[(0,t.jsxs)(n(),{children:[(0,t.jsxs)("title",{children:["Fides Admin UI - ",s]}),(0,t.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,t.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,t.jsxs)(a.kCb,{as:"main",direction:"column",py:r?6:0,px:r?10:0,h:r?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...u,children:[_?(0,t.jsx)(m,{}):null,i]})]})}},90980:function(e,i,s){"use strict";s.d(i,{R:function(){return o}});var t=s(24246),a=s(39158),r=s(79894),n=s.n(r),l=s(63662);let o=e=>{let{onClick:i,...s}=e;return(0,t.jsxs)(a.kCb,{alignItems:"center",mt:-4,mb:3,onClick:i,cursor:"pointer",...s,children:[(0,t.jsx)(a.wpx,{"aria-label":"Back",icon:(0,t.jsx)(a.Rpv,{}),className:"mr-2",size:"small"}),(0,t.jsx)(a.xvT,{as:"a",fontSize:"sm",fontWeight:"500",children:"Back"})]})};i.Z=e=>{let{backPath:i,...s}=e,r=(0,l.useRouter)();return(0,t.jsxs)(a.kCb,{alignItems:"center",mb:6,...s,children:[(0,t.jsx)(a.wpx,{onClick:()=>r.push(i),"aria-label":"Back",icon:(0,t.jsx)(a.Rpv,{}),className:"mr-2",size:"small"}),(0,t.jsx)(a.xvT,{as:n(),href:i,tabIndex:-1,fontSize:"sm",fontWeight:"500",children:"Back"})]})}},10792:function(e,i,s){"use strict";s.d(i,{Z:function(){return A}});var t=s(24246),a=s(39158),r=s(27378),n=s(17245),l=s(90710),o=s(51980),c=s(90104),d=s.n(c),u=s(56141),m=s.n(u),f=s(92465),g=s.n(f),p=s(25389),x=s.n(p),h=s(15539),y=s.n(h),_=s(86677),v=s(812),w=s(77830),j=s(17828),k=s(42478);let b=e=>{let{serviceType:i,isOpen:s,onClose:n}=e,[o]=(0,k.SU)(),[c,d]=(0,r.useState)(!1),[u]=a.PPS.useForm(),m=(0,a.UD8)(),f=i===l.q.twilio_text,g=e=>{let i="An unexpected error occurred. Please try again.";return(0,v.Ot)(e)?i=e.data.detail:(0,v.tB)(e)&&(i=e.data.detail[0].msg),i},p=async e=>{d(!0);try{let s=await o({service_type:i,details:{to_identity:f?{phone_number:e.phone}:{email:e.email}}});(0,v.D4)(s)?m.error(g(s.error)):(m.success("Test message sent successfully!"),n())}catch(e){m.error(g(e))}finally{d(!1)}},x=f?"SMS":"email",h=()=>{n()};return(0,t.jsx)(a.$zI,{title:"Test ".concat(x),open:s,onCancel:h,footer:null,children:(0,t.jsx)(a.gCW,{spacing:4,children:(0,t.jsxs)(a.PPS,{form:u,onFinish:p,layout:"vertical",style:{width:"100%"},children:[f?(0,t.jsx)(a.PPS.Item,{name:"phone",label:"Phone number",rules:[{required:!0,message:"Phone number is required"},{pattern:/^\+?[1-9]\d{1,14}$/,message:"Please enter a valid phone number"}],children:(0,t.jsx)(a.uFc,{placeholder:"+1234567890"})}):(0,t.jsx)(a.PPS.Item,{name:"email",label:"Email address",rules:[{required:!0,message:"Email address is required"},{type:"email",message:"Please enter a valid email address"}],children:(0,t.jsx)(a.uFc,{placeholder:"test@example.com"})}),(0,t.jsx)(a.PPS.Item,{style:{marginBottom:0,marginTop:24},children:(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px"},children:[(0,t.jsx)(a.wpx,{onClick:h,disabled:c,children:"Cancel"}),(0,t.jsx)(a.wpx,{type:"primary",htmlType:"submit",loading:c,"data-testid":"send-test-message-btn",children:c?"Sending...":"Send test ".concat(x)})]})})]})})})},S=()=>{let[e]=(0,k.SU)(),[i,s]=(0,r.useState)(!1),[t,n]=(0,r.useState)({}),o=(0,a.UD8)(),c=e=>{let i="An unexpected error occurred. Please try again.";return(0,v.Ot)(e)?i=e.data.detail:(0,v.tB)(e)&&(i=e.data.detail[0].msg),i};return{verifyConfiguration:async i=>{s(!0);try{let s=i===l.q.twilio_text,t=await e({service_type:i,details:{to_identity:s?{phone_number:"+15551234567"}:{email:"test@example.com"}}});if((0,v.D4)(t)){o.error(c(t.error));let e=new Date().toISOString();return n(s=>({...s,[i]:{timestamp:e,success:!1}})),!1}o.success("Configuration verified successfully!");let a=new Date().toISOString();return n(e=>({...e,[i]:{timestamp:a,success:!0}})),!0}catch(e){return o.error(c(e)),!1}finally{s(!1)}},isVerifying:i,isConfigurationVerified:e=>{var i;return!!(null===(i=t[e])||void 0===i?void 0:i.success)},getVerificationData:e=>t[e]}};var P=e=>{var i,s,c;let{configKey:u}=e,f=(0,_.useRouter)(),{handleError:p}=(0,n.HK)(),{verifyConfiguration:h,isVerifying:P,getVerificationData:C}=S(),q=(0,a.UD8)(),V=!!u,[D,E]=(0,r.useState)(!1),[A,I]=(0,r.useState)(!1),[T,F]=(0,r.useState)(V?"**********":"secret_keys"),[M]=a.PPS.useForm(),[B]=(0,k.h9)(),[W]=(0,k.sn)(),[N]=(0,k.Ki)(),{data:z,refetch:R}=(0,k.FU)({key:u},{skip:!u}),U={email_from:(null==z?void 0:null===(i=z.details)||void 0===i?void 0:i.email_from)||"",domain:(null==z?void 0:null===(s=z.details)||void 0===s?void 0:s.domain)||"",aws_region:(null==z?void 0:null===(c=z.details)||void 0===c?void 0:c.aws_region)||"",auth_method:V?"**********":"secret_keys",aws_access_key_id:V?"**********":"",aws_secret_access_key:V?"**********":"",aws_assume_role_arn:V?"**********":""};(0,r.useEffect)(()=>{if(z){var e,i,s;let t={email_from:(null===(e=z.details)||void 0===e?void 0:e.email_from)||"",domain:(null===(i=z.details)||void 0===i?void 0:i.domain)||"",aws_region:(null===(s=z.details)||void 0===s?void 0:s.aws_region)||"",auth_method:"**********",aws_access_key_id:"**********",aws_secret_access_key:"**********",aws_assume_role_arn:"**********"};M.setFieldsValue(t),F("**********"),I(!1)}},[z,M]);let K=(()=>{let e=C(l.q.aws_ses);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(z){let{last_test_succeeded:e,last_test_timestamp:i}=z;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=f.query.last_test_succeeded,s=f.query.last_test_timestamp;if(s){let e="true"===i||"1"===i,t=new Date(s),a=(0,o.B)(t,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:s}}return{isVerified:!1,status:"Verify configuration"}})(),O=e=>y()(x()(e,e=>V&&"**********"===e?void 0:e),g()),L=(0,r.useCallback)(()=>{let e=M.getFieldsValue(),i=e.email_from,{domain:s}=e,t=i&&""!==i.trim(),a=s&&""!==s.trim();return t||a?Promise.resolve():Promise.reject(Error("Either email from or domain must be provided"))},[M]),Z=async e=>{try{var i,s,t,a;if(V&&u){let a=[],r=(null==z?void 0:null===(i=z.details)||void 0===i?void 0:i.email_from)||"",n=(null==z?void 0:null===(s=z.details)||void 0===s?void 0:s.domain)||"",o=(null==z?void 0:null===(t=z.details)||void 0===t?void 0:t.aws_region)||"";(e.email_from!==r||e.domain!==n||e.aws_region!==o)&&a.push(W({key:u,config:{key:(null==z?void 0:z.key)||u,name:null==z?void 0:z.name,service_type:(null==z?void 0:z.service_type)||l.q.aws_ses,details:{...null==z?void 0:z.details,email_from:e.email_from||null,domain:e.domain||null,aws_region:e.aws_region}}}));let c={auth_method:e.auth_method,aws_access_key_id:e.aws_access_key_id,aws_secret_access_key:e.aws_secret_access_key,aws_assume_role_arn:e.aws_assume_role_arn},m=O(c);if(d()(m)||a.push(N({key:u,secrets:m})),0===a.length){q.info("No changes to save.");return}let f=await Promise.all(a);if(f.some(e=>(0,v.D4)(e))){let e=f.find(e=>(0,v.D4)(e));p(null==e?void 0:e.error)}else q.success("AWS SES configuration successfully updated."),I(!1),R&&R()}else{let i={service_type:l.q.aws_ses,details:{email_from:e.email_from||null,domain:e.domain||null,aws_region:e.aws_region},secrets:{auth_method:e.auth_method,aws_access_key_id:e.aws_access_key_id,aws_secret_access_key:e.aws_secret_access_key,aws_assume_role_arn:e.aws_assume_role_arn}},s=await B(i);if((0,v.D4)(s))p(s.error);else{q.success("AWS SES configuration successfully created."),I(!1);let e=null===(a=s.data)||void 0===a?void 0:a.key;if(e){let i=w.GE.replace("[key]",e);f.push(i)}else f.push(w.AD)}}}catch(e){p(e)}},H=async()=>{try{await h(l.q.aws_ses)&&R&&setTimeout(()=>{R()},500)}catch(e){p(e)}},X=()=>{M.validateFields(["email_from","domain"]).catch(()=>{})};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:M,layout:"vertical",initialValues:U,onFinish:Z,onValuesChange:(e,i)=>{let s={...i},t={...U};V&&Object.keys(s).forEach(e=>{"**********"===s[e]&&(s[e]=t[e])}),void 0!==e.auth_method&&(F(e.auth_method),"automatic"===e.auth_method&&M.setFieldsValue({aws_access_key_id:"",aws_secret_access_key:""})),I(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(j.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"AWS SES email messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"email_from",label:"Email from",rules:[{validator:L}],style:{marginBottom:24},children:(0,t.jsx)(a.uFc,{placeholder:V?"Enter new email from":"Enter email from",onChange:()=>X()})}),(0,t.jsx)(a.PPS.Item,{name:"domain",label:"Domain",rules:[{validator:L}],style:{marginBottom:24},children:(0,t.jsx)(a.uFc,{placeholder:V?"Enter new domain":"Enter domain",onChange:()=>X()})}),(0,t.jsx)(a.PPS.Item,{name:"aws_region",label:"AWS region",rules:[{required:!0,message:"AWS region is required"}],style:{marginBottom:24},children:(0,t.jsx)(a.uFc,{placeholder:V?"Enter new AWS region":"Enter AWS region (e.g., us-east-1)"})}),(0,t.jsx)(a.PPS.Item,{name:"auth_method",label:"Authentication method",rules:[{required:!0,message:"Authentication method is required"}],style:{marginBottom:24},children:(0,t.jsx)(a.WPr,{placeholder:"Select authentication method",options:[{label:"Secret keys",value:"secret_keys"},{label:"Automatic",value:"automatic"}]})}),("secret_keys"===T||V&&"**********"===T)&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.PPS.Item,{name:"aws_access_key_id",label:"AWS access key ID",rules:"secret_keys"===T||V&&"**********"===T?[{required:!0,message:"AWS access key ID is required for secret keys authentication"}]:[],style:{marginBottom:24},children:(0,t.jsx)(a.uFc.Password,{placeholder:V?"Enter new AWS access key ID":"Enter AWS access key ID"})}),(0,t.jsx)(a.PPS.Item,{name:"aws_secret_access_key",label:"AWS secret access key",rules:"secret_keys"===T||V&&"**********"===T?[{required:!0,message:"AWS secret access key is required for secret keys authentication"}]:[],style:{marginBottom:24},children:(0,t.jsx)(a.uFc.Password,{placeholder:V?"Enter new AWS secret access key":"Enter AWS secret access key"})})]}),(0,t.jsx)(a.PPS.Item,{name:"aws_assume_role_arn",label:"AWS assume role ARN",children:(0,t.jsx)(a.uFc.Password,{placeholder:V?"Enter new AWS assume role ARN":"Enter AWS assume role ARN (optional)"})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:V&&K.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>E(!0),"data-testid":"send-test-message-btn",children:"Send test email"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[V?(0,t.jsx)(a.wpx,{onClick:H,className:"mr-2","data-testid":"test-btn",loading:P,icon:K.isVerified&&!P?(0,t.jsx)(a.StI,{}):void 0,children:P?"Verifying":K.isVerified?"Verified":K.status}):(0,t.jsx)(a.wpx,{onClick:()=>f.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!A,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.aws_ses,isOpen:D,onClose:()=>E(!1)})]})},C=s(44907),q=e=>{var i;let{configKey:s}=e,c=(0,_.useRouter)(),{handleError:u}=(0,n.HK)(),{verifyConfiguration:f,isVerifying:p,getVerificationData:h}=S(),[j,P]=(0,r.useState)(!1),[q,V]=(0,r.useState)(!1),[D]=a.PPS.useForm(),[E]=(0,k.h9)(),[A]=(0,k.sn)(),[I]=(0,k.Ki)(),T=(0,a.UD8)(),F=!!s,{data:M,refetch:B}=(0,k.FU)({key:s},{skip:!s}),W={domain:(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.domain)||"",mailgun_api_key:F?"**********":""};(0,r.useEffect)(()=>{if(M){var e;let i={domain:(null===(e=M.details)||void 0===e?void 0:e.domain)||"",mailgun_api_key:"**********"};D.setFieldsValue(i),V(!1)}},[M,D]);let N=(()=>{let e=h(l.q.mailgun);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(M){let{last_test_succeeded:e,last_test_timestamp:i}=M;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=c.query.last_test_succeeded,s=c.query.last_test_timestamp;if(s){let e="true"===i||"1"===i,t=new Date(s),a=(0,o.B)(t,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:s}}return{isVerified:!1,status:"Verify configuration"}})(),z=e=>y()(x()(e,e=>F&&"**********"===e?void 0:e),g()),R=async e=>{try{var i,t;if(F&&s){let t=[],a=(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.domain)||"";e.domain!==a&&""!==e.domain.trim()&&t.push(A({key:s,config:{key:(null==M?void 0:M.key)||s,name:null==M?void 0:M.name,service_type:(null==M?void 0:M.service_type)||l.q.mailgun,details:{...null==M?void 0:M.details,is_eu_domain:"false",domain:e.domain}}}));let r=z({mailgun_api_key:e.mailgun_api_key});if(d()(r)||t.push(I({key:s,secrets:r})),0===t.length){T.info("No changes to save.");return}let n=await Promise.all(t);if(n.some(e=>(0,v.D4)(e))){let e=n.find(e=>(0,v.D4)(e));u(null==e?void 0:e.error)}else T.success("Mailgun configuration successfully updated."),V(!1),B&&B()}else{let i={service_type:l.q.mailgun,details:{is_eu_domain:"false",domain:e.domain},secrets:{mailgun_api_key:e.mailgun_api_key}},s=await E(i);if((0,v.D4)(s))u(s.error);else{T.success("Mailgun configuration successfully created."),V(!1);let e=null===(t=s.data)||void 0===t?void 0:t.key;if(e){let i=w.GE.replace("[key]",e);c.push(i)}else c.push(w.AD)}}}catch(e){u(e)}},U=async()=>{try{await f(l.q.mailgun)&&B&&setTimeout(()=>{B()},500)}catch(e){u(e)}};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:D,layout:"vertical",initialValues:W,onFinish:R,onValuesChange:(e,i)=>{let s={...i},t={...W};F&&"**********"===s.mailgun_api_key&&(s.mailgun_api_key=t.mailgun_api_key),V(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(C.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Mailgun email messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"domain",label:"Domain",rules:[{required:!0,message:"Domain is required"},{type:"string",min:1,message:"Domain cannot be empty"}],style:{marginBottom:24},children:(0,t.jsx)(a.uFc,{placeholder:F?"Enter new domain":"Enter domain"})}),(0,t.jsx)(a.PPS.Item,{name:"mailgun_api_key",label:"API key",rules:[{required:!0,message:"API key is required"},{type:"string",min:1,message:"API key cannot be empty"}],children:(0,t.jsx)(a.uFc.Password,{placeholder:F?"Enter new API key":"Enter API key"})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:F&&N.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>P(!0),"data-testid":"send-test-message-btn",children:"Send test email"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[F?(0,t.jsx)(a.wpx,{onClick:U,className:"mr-2","data-testid":"test-btn",loading:p,icon:N.isVerified&&!p?(0,t.jsx)(a.StI,{}):void 0,children:p?"Verifying":N.isVerified?"Verified":N.status}):(0,t.jsx)(a.wpx,{onClick:()=>c.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!q,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.mailgun,isOpen:j,onClose:()=>P(!1)})]})},V=s(5144),D=e=>{var i;let{configKey:s}=e,c=(0,_.useRouter)(),{handleError:u}=(0,n.HK)(),{verifyConfiguration:f,isVerifying:p,getVerificationData:h}=S(),[j,P]=(0,r.useState)(!1),[C,q]=(0,r.useState)(!1),[D]=a.PPS.useForm(),E=(0,a.UD8)(),[A]=(0,k.h9)(),[I]=(0,k.sn)(),[T]=(0,k.Ki)(),F=!!s,{data:M,refetch:B}=(0,k.FU)({key:s},{skip:!s}),W={email:(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.twilio_email_from)||"",twilio_api_key:F?"**********":""};(0,r.useEffect)(()=>{if(M){var e;let i={email:(null===(e=M.details)||void 0===e?void 0:e.twilio_email_from)||"",twilio_api_key:"**********"};D.setFieldsValue(i),q(!1)}},[M,D]);let N=(()=>{let e=h(l.q.twilio_email);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(M){let{last_test_succeeded:e,last_test_timestamp:i}=M;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=c.query.last_test_succeeded,s=c.query.last_test_timestamp;if(s){let e="true"===i||"1"===i,t=new Date(s),a=(0,o.B)(t,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:s}}return{isVerified:!1,status:"Verify configuration"}})(),z=e=>y()(x()(e,e=>F&&"**********"===e?void 0:e),g()),R=async e=>{try{var i,t;if(F&&s){let t=[],a=(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.twilio_email_from)||"";e.email!==a&&""!==e.email.trim()&&t.push(I({key:s,config:{key:(null==M?void 0:M.key)||s,name:null==M?void 0:M.name,service_type:(null==M?void 0:M.service_type)||l.q.twilio_email,details:{...null==M?void 0:M.details,twilio_email_from:e.email}}}));let r=z({twilio_api_key:e.twilio_api_key});if(d()(r)||t.push(T({key:s,secrets:r})),0===t.length){E.info("No changes to save.");return}let n=await Promise.all(t);if(n.some(e=>(0,v.D4)(e))){let e=n.find(e=>(0,v.D4)(e));u(null==e?void 0:e.error)}else E.success("Twilio email configuration successfully updated."),q(!1),B&&B()}else{let i={service_type:l.q.twilio_email,details:{twilio_email_from:e.email},secrets:{twilio_api_key:e.twilio_api_key}},s=await A(i);if((0,v.D4)(s))u(s.error);else{E.success("Twilio email configuration successfully created."),q(!1);let e=null===(t=s.data)||void 0===t?void 0:t.key;if(e){let i=w.GE.replace("[key]",e);c.push(i)}else c.push(w.AD)}}}catch(e){u(e)}},U=async()=>{try{await f(l.q.twilio_email)&&B&&setTimeout(()=>{B()},500)}catch(e){u(e)}};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:D,layout:"vertical",initialValues:W,onFinish:R,onValuesChange:(e,i)=>{let s={...i},t={...W};F&&"**********"===s.twilio_api_key&&(s.twilio_api_key=t.twilio_api_key),q(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(V.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Twilio email messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"email",label:"Email",rules:[{required:!0,message:"Email is required"},{type:"email",message:"Please enter a valid email"}],style:{marginBottom:24},children:(0,t.jsx)(a.uFc,{placeholder:F?"Enter new email":"Enter email"})}),(0,t.jsx)(a.PPS.Item,{name:"twilio_api_key",label:"API key",rules:[{required:!0,message:"API key is required"},{type:"string",min:1,message:"API key cannot be empty"}],children:(0,t.jsx)(a.uFc.Password,{placeholder:F?"Enter new API key":"Enter API key"})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:F&&N.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>P(!0),"data-testid":"send-test-message-btn",children:"Send test email"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[F?(0,t.jsx)(a.wpx,{onClick:U,className:"mr-2","data-testid":"test-btn",loading:p,icon:N.isVerified&&!p?(0,t.jsx)(a.StI,{}):void 0,children:p?"Verifying":N.isVerified?"Verified":N.status}):(0,t.jsx)(a.wpx,{onClick:()=>c.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!C,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.twilio_email,isOpen:j,onClose:()=>P(!1)})]})},E=e=>{let{configKey:i}=e,s=(0,_.useRouter)(),{verifyConfiguration:n,isVerifying:c,getVerificationData:u}=S(),[f,p]=(0,r.useState)(!1),[h,j]=(0,r.useState)(!1),[P]=a.PPS.useForm(),C=(0,a.UD8)(),[q]=(0,k.h9)(),[D]=(0,k.Ki)(),E=!!i,{data:A,refetch:I}=(0,k.FU)({key:i},{skip:!i}),T={account_sid:E?"**********":"",auth_token:E?"**********":"",messaging_service_sid:E?"**********":"",phone:E?"**********":""};(0,r.useEffect)(()=>{A&&(P.setFieldsValue({account_sid:"**********",auth_token:"**********",messaging_service_sid:"**********",phone:"**********"}),j(!1))},[A,P]);let F=(()=>{let e=u(l.q.twilio_text);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(A){let{last_test_succeeded:e,last_test_timestamp:i}=A;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=s.query.last_test_succeeded,t=s.query.last_test_timestamp;if(t){let e="true"===i||"1"===i,s=new Date(t),a=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:t}}return{isVerified:!1,status:"Verify configuration"}})(),M=e=>y()(x()(e,e=>E&&"**********"===e?void 0:e),g()),B=e=>{let i="An unexpected error occurred. Please try again.";return(0,v.Ot)(e)?i=e.data.detail:(0,v.tB)(e)&&(i=e.data.detail[0].msg),i},W=(0,r.useCallback)(()=>{let e=P.getFieldsValue(),i=e.messaging_service_sid,s=e.phone,t=i&&""!==i.trim()&&"**********"!==i,a=s&&""!==s.trim()&&"**********"!==s;return t||a?Promise.resolve():Promise.reject(Error("Either messaging service SID or phone number must be provided"))},[P]),N=async e=>{try{if(E&&i){let s={twilio_account_sid:e.account_sid,twilio_auth_token:e.auth_token,twilio_messaging_service_sid:e.messaging_service_sid,twilio_sender_phone_number:e.phone},t=M(s);if(d()(t)){C.info("No changes to save.");return}let a=await D({key:i,secrets:t});(0,v.D4)(a)?C.error(B(a.error)):(C.success("Twilio SMS configuration successfully updated."),j(!1),I&&I())}else{let i={service_type:l.q.twilio_text,secrets:{twilio_account_sid:e.account_sid,twilio_auth_token:e.auth_token,twilio_messaging_service_sid:e.messaging_service_sid,twilio_sender_phone_number:e.phone}},a=await q(i);if((0,v.D4)(a))C.error(B(a.error));else{var t;C.success("Twilio SMS configuration successfully created."),j(!1);let e=null===(t=a.data)||void 0===t?void 0:t.key;if(e){let i=w.GE.replace("[key]",e);s.push(i)}else s.push(w.AD)}}}catch(e){C.error("An unexpected error occurred. Please try again.")}},z=async()=>{try{await n(l.q.twilio_text)&&I&&setTimeout(()=>{I()},500)}catch(e){C.error("An unexpected error occurred during verification.")}},R=()=>{P.validateFields(["messaging_service_sid","phone"]).catch(()=>{})};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:P,layout:"vertical",initialValues:T,onFinish:N,onValuesChange:(e,i)=>{let s={...i},t={...T};E&&Object.keys(s).forEach(e=>{"**********"===s[e]&&(s[e]=t[e])}),j(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(V.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Twilio SMS messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"account_sid",label:"Account SID",rules:[{required:!0,message:"Account SID is required"},{type:"string",min:1,message:"Account SID cannot be empty"}],style:{marginBottom:24},children:(0,t.jsx)(a.uFc.Password,{placeholder:E?"Enter new account SID":"Enter account SID"})}),(0,t.jsx)(a.PPS.Item,{name:"auth_token",label:"Auth token",rules:[{required:!0,message:"Auth token is required"},{type:"string",min:1,message:"Auth token cannot be empty"}],style:{marginBottom:24},children:(0,t.jsx)(a.uFc.Password,{placeholder:E?"Enter new auth token":"Enter auth token"})}),(0,t.jsx)(a.PPS.Item,{name:"messaging_service_sid",label:"Messaging service SID",rules:[{validator:W}],style:{marginBottom:24},children:(0,t.jsx)(a.uFc.Password,{placeholder:E?"Enter new messaging service SID":"Enter messaging service SID",onChange:()=>R()})}),(0,t.jsx)(a.PPS.Item,{name:"phone",label:"Phone number",rules:[{validator:W}],children:(0,t.jsx)(a.uFc.Password,{placeholder:E?"Enter new phone number":"Enter phone number",onChange:()=>R()})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:E&&F.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>p(!0),"data-testid":"send-test-message-btn",children:"Send test SMS"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[E?(0,t.jsx)(a.wpx,{onClick:z,className:"mr-2","data-testid":"test-btn",loading:c,icon:F.isVerified&&!c?(0,t.jsx)(a.StI,{}):void 0,children:c?"Verifying":F.isVerified?"Verified":F.status}):(0,t.jsx)(a.wpx,{onClick:()=>s.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!h,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.twilio_text,isOpen:f,onClose:()=>p(!1)})]})},A=e=>{let{configKey:i,initialProviderType:s}=e,[o,c]=(0,r.useState)(s||""),d=!!i,{handleError:u}=(0,n.HK)(),{data:m,isLoading:f,error:g}=(0,k.FU)({key:i},{skip:!i}),{data:p}=(0,k.qt)();(0,r.useEffect)(()=>{d&&(null==m?void 0:m.service_type)&&c(m.service_type)},[d,null==m?void 0:m.service_type]),(0,r.useEffect)(()=>{g&&u(g)},[g,u]);let x=(0,r.useMemo)(()=>{var e;let i=new Set((null==p?void 0:null===(e=p.items)||void 0===e?void 0:e.map(e=>e.service_type))||[]),s=!d&&i.has(l.q.mailgun),t=!d&&i.has(l.q.twilio_email),a=!d&&i.has(l.q.twilio_text),r=!d&&i.has(l.q.aws_ses);return[{value:l.q.mailgun,label:l.k.mailgun,disabled:s,title:s?"Only one messaging provider of each type can be created":void 0},{value:l.q.twilio_email,label:l.k.twilio_email,disabled:t,title:t?"Only one messaging provider of each type can be created":void 0},{value:l.q.twilio_text,label:l.k.twilio_text,disabled:a,title:a?"Only one messaging provider of each type can be created":void 0},{value:l.q.aws_ses,label:l.k.aws_ses,disabled:r,title:r?"Only one messaging provider of each type can be created":void 0}]},[p,d]);return d&&f?(0,t.jsx)(a.xuv,{display:"flex",justifyContent:"center",alignItems:"center",height:"200px",children:(0,t.jsx)(a.$jN,{})}):!d||m||f?(0,t.jsxs)(a.xuv,{children:[!d&&(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,mb:4,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Select messaging provider"})}),(0,t.jsx)(a.xuv,{px:6,py:6,children:(0,t.jsx)(a.PPS,{layout:"vertical",children:(0,t.jsx)(a.PPS.Item,{label:"Provider type",name:"provider_type",rules:[{required:!0,message:"Please select a provider type"}],children:(0,t.jsx)(a.WPr,{placeholder:"Choose a messaging provider...","aria-label":"Select a messaging provider",value:o||void 0,onChange:e=>c(e),options:x})})})})]}),o&&(()=>{switch(o){case l.q.mailgun:return(0,t.jsx)(q,{configKey:i});case l.q.twilio_email:return(0,t.jsx)(D,{configKey:i});case l.q.twilio_text:return(0,t.jsx)(E,{configKey:i});case l.q.aws_ses:return(0,t.jsx)(P,{configKey:i});default:return null}})()]}):(0,t.jsx)(a.xuv,{children:(0,t.jsxs)(a.xvT,{color:"red.500",children:["Messaging configuration not found for key: ",i]})})}},90710:function(e,i,s){"use strict";s.d(i,{k:function(){return a},q:function(){return t}});let t={mailgun:"mailgun",twilio_email:"twilio_email",twilio_text:"twilio_text",aws_ses:"aws_ses"},a={mailgun:"Mailgun email",twilio_email:"Twilio email",twilio_text:"Twilio SMS",aws_ses:"AWS SES email"}},17828:function(e,i,s){"use strict";var t=s(24246);s(27378),i.Z=()=>(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 74.375 85",width:"20",height:"20",fill:"#fff",fillRule:"evenodd",stroke:"#000",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("use",{xlinkHref:"#A",x:"2.188",y:"2.5"}),(0,t.jsx)("symbol",{id:"A",overflow:"visible",children:(0,t.jsxs)("g",{stroke:"none",children:[(0,t.jsx)("path",{d:"M16.558 12.75L0 38.591l16.558 25.841 13.227-3.324.654-44.869-13.881-3.489z",fill:"#876929"}),(0,t.jsx)("path",{d:"M35.049 59.786l-18.491 4.645V12.75l18.491 4.645v42.391z",fill:"#d9a741"}),(0,t.jsxs)("g",{fill:"#876929",children:[(0,t.jsx)("path",{d:"M32.849 21.614L35.05 80 70 62.867l-.01-43.615-8.914 1.448-28.228.913z"}),(0,t.jsx)("path",{d:"M46.184 33.149l10.906-.632 10.778-19.164L40.612 0 30.439 4.364l15.745 28.785z"})]}),(0,t.jsx)("path",{d:"M40.612 0l27.256 13.353-10.778 19.164L40.612 0z",fill:"#d9a741"}),(0,t.jsx)("path",{d:"M35.049 5.539L57.09 44.742l3.788 22.595L35.049 80l-10.46-5.131V9.64l10.45-4.101h.01z",fill:"#876929"}),(0,t.jsx)("path",{d:"M69.991 19.251L70 62.867 35.05 80V5.539l22.041 39.203 12.899-25.491z",fill:"#d9a741"})]})})]})},44907:function(e,i,s){"use strict";var t=s(24246);s(27378),i.Z=()=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",preserveAspectRatio:"xMidYMid",viewBox:"-0.5 0 257 257",children:(0,t.jsx)("path",{fill:"#C02428",d:"M128.418 80.526c-26.51 0-48.884 21.475-48.884 48.728a48.197 48.197 0 0014.187 34.579 48.532 48.532 0 0034.697 14.14c26.511 0 48.875-21.476 48.875-48.719 0-27.253-22.364-48.728-48.875-48.728zm-76.22 47.895c0-41.285 33.968-75.138 75.395-75.138 41.417 0 75.385 33.853 75.385 75.138 0 2.478 0 5.788-.825 8.266-.835 7.422 4.972 13.2 12.43 13.2 12.43 0 14.08-15.678 14.08-21.466 0-55.328-45.573-100.746-101.07-100.746-55.518 0-101.07 45.418-101.07 100.746 0 55.339 45.552 100.747 101.07 100.747 29.822 0 56.333-12.388 74.56-33.03l20.703 17.342c-22.364 26.43-57.158 42.952-94.448 42.952-34.097.105-66.827-13.35-90.932-37.384C13.37 195.016-.118 162.392 0 128.411 0 58.228 57.159.432 128.418.432 198.832.432 256 58.238 256 128.432c0 28.075-13.256 51.205-40.591 51.205-11.605 0-19.053-5.787-23.2-11.565-13.255 21.476-37.29 35.508-64.626 35.508-20.017.068-39.234-7.827-53.388-21.933a74.755 74.755 0 01-22.008-53.205l.01-.02zm76.21-22.297c12.43 0 22.374 9.91 22.374 22.297 0 12.388-9.944 22.298-22.364 22.298a22.322 22.322 0 01-15.848-6.504 22.169 22.169 0 01-6.526-15.794c0-12.387 9.944-22.297 22.374-22.297h-.01z"})})},5144:function(e,i,s){"use strict";var t=s(24246);i.Z=()=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",children:(0,t.jsx)("path",{fill:"#F12E45",d:"M128 0c70.656 0 128 57.344 128 128s-57.344 128-128 128S0 198.656 0 128 57.344 0 128 0zm0 33.792c-52.224 0-94.208 41.984-94.208 94.208S75.776 222.208 128 222.208s94.208-41.984 94.208-94.208S180.224 33.792 128 33.792zm31.744 99.328c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm63.488-63.488c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624z"})})},42478:function(e,i,s){"use strict";s.d(i,{FU:function(){return c},JE:function(){return a},Ki:function(){return u},SU:function(){return m},W:function(){return f},h9:function(){return r},jc:function(){return t},qt:function(){return o},sn:function(){return d}});let{useGetEmailInviteStatusQuery:t,useGetActiveMessagingProviderQuery:a,useCreateMessagingConfigurationMutation:r,useCreateMessagingConfigurationSecretsMutation:n,useGetMessagingConfigurationDetailsQuery:l,useGetMessagingConfigurationsQuery:o,useGetMessagingConfigurationByKeyQuery:c,useUpdateMessagingConfigurationByKeyMutation:d,useUpdateMessagingConfigurationSecretsByKeyMutation:u,useCreateTestConnectionMessageMutation:m,useDeleteMessagingConfigurationByKeyMutation:f}=s(78780).u.injectEndpoints({endpoints:e=>({getEmailInviteStatus:e.query({query:()=>({url:"/messaging/email-invite/status"}),providesTags:()=>["Email Invite Status"]}),createMessagingConfiguration:e.mutation({query:e=>({url:"messaging/config",method:"POST",body:e}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getActiveMessagingProvider:e.query({queryFn:async(e,i,s,t)=>{let a=await t({url:"messaging/default/active"});return a.error&&404===a.error.status?{data:null}:a},providesTags:["Messaging Config"]}),createMessagingConfigurationSecrets:e.mutation({query:e=>({url:"messaging/default/".concat(e.service_type,"/secret"),method:"PUT",body:e.details}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getMessagingConfigurationDetails:e.query({query:e=>({url:"messaging/default/".concat(e.type)}),providesTags:["Messaging Config"]}),getMessagingConfigurations:e.query({query:()=>({url:"messaging/config"}),providesTags:["Messaging Config"]}),getMessagingConfigurationByKey:e.query({query:e=>({url:"messaging/config/".concat(e.key)}),providesTags:["Messaging Config"]}),createTestConnectionMessage:e.mutation({query:e=>({url:"messaging/test/".concat(e.service_type),method:"POST",body:e.details}),invalidatesTags:["Messaging Config"]}),updateMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"PATCH",body:e.config}),invalidatesTags:["Messaging Config","Configuration Settings"]}),updateMessagingConfigurationSecretsByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key,"/secret"),method:"PUT",body:e.secrets}),invalidatesTags:["Messaging Config","Configuration Settings"]}),deleteMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"DELETE"}),invalidatesTags:["Messaging Config","Configuration Settings"]})})})}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3615],{14441:function(e,t,r){var n,u,o=1/0,f=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,i=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,c="\ud800-\udfff",a="\\u2700-\\u27bf",l="a-z\\xdf-\\xf6\\xf8-\\xff",s="A-Z\\xc0-\\xd6\\xd8-\\xde",d="\\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",x="['’]",p="["+d+"]",y="[\\u0300-\\u036f\\ufe20-\\ufe23\\u20d0-\\u20f0]",g="["+l+"]",h="[^"+c+d+"\\d+"+a+l+s+"]",v="(?:\ud83c[\udde6-\uddff]){2}",b="[\ud800-\udbff][\udc00-\udfff]",m="["+s+"]",E="(?:"+g+"|"+h+")",j="(?:"+x+"(?:d|ll|m|re|s|t|ve))?",A="(?:"+x+"(?:D|LL|M|RE|S|T|VE))?",O="(?:"+y+"|\ud83c[\udffb-\udfff])?",S="[\\ufe0e\\ufe0f]?",C="(?:\\u200d(?:"+["[^"+c+"]",v,b].join("|")+")"+S+O+")*",I="(?:"+["["+a+"]",v,b].join("|")+")"+(S+O+C),R=RegExp(x,"g"),L=RegExp(y,"g"),U=RegExp([m+"?"+g+"+"+j+"(?="+[p,m,"$"].join("|")+")","(?:"+m+"|"+h+")+"+A+"(?="+[p,m+E,"$"].join("|")+")",m+"?"+E+"+"+j,m+"+"+A,"\\d+",I].join("|"),"g"),z=/[a-z][A-Z]|[A-Z]{2,}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Z="object"==typeof r.g&&r.g&&r.g.Object===Object&&r.g,k="object"==typeof self&&self&&self.Object===Object&&self,w=Z||k||Function("return this")(),N=(n={À:"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",ſ:"ss"},function(e){return null==n?void 0:n[e]}),G=Object.prototype.toString,T=w.Symbol,Y=T?T.prototype:void 0,_=Y?Y.toString:void 0;function D(e){return null==e?"":function(e){if("string"==typeof e)return e;if("symbol"==typeof(t=e)||t&&"object"==typeof t&&"[object Symbol]"==G.call(t))return _?_.call(e):"";var t,r=e+"";return"0"==r&&1/e==-o?"-0":r}(e)}var M=(u=function(e,t,r){return e+(r?"_":"")+t.toLowerCase()},function(e){var t;return function(e,t,r,n){for(var u=-1,o=e?e.length:0;++u<o;)r=t(r,e[u],u,e);return r}(function(e,t,r){if(e=D(e),void 0===t){var n;return(n=e,z.test(n))?e.match(U)||[]:e.match(f)||[]}return e.match(t)||[]}(((t=D(t=e))&&t.replace(i,N).replace(L,"")).replace(R,"")),u,"")});e.exports=M},56141:function(e,t,r){var n=r(32866);e.exports=function(e,t){return n(e,t)}},11055:function(e,t,r){"use strict";r.d(t,{M:function(){return s}});var n=r(24246),u=r(29427),o=r(27378),f=r(40976),i=r(18397),c=r(42308),a=r(25431),l=r(39556);let s=(0,o.forwardRef)(function({children:e,as:t="ul",axis:r="y",onReorder:s,values:p,...y},g){let h=(0,c.h)(()=>i.E[t]),v=[],b=(0,o.useRef)(!1);return(0,u.k)(!!p,"Reorder.Group must be provided a values prop"),(0,o.useEffect)(()=>{b.current=!1}),(0,n.jsx)(h,{...y,ref:g,ignoreStrict:!0,children:(0,n.jsx)(f.Y.Provider,{value:{axis:r,registerItem:(e,t)=>{let n=v.findIndex(t=>e===t.value);-1!==n?v[n].layout=t[r]:v.push({value:e,layout:t[r]}),v.sort(x)},updateOrder:(e,t,r)=>{if(b.current)return;let n=function(e,t,r,n){if(!n)return e;let u=e.findIndex(e=>e.value===t);if(-1===u)return e;let o=n>0?1:-1,f=e[u+o];if(!f)return e;let i=e[u],c=f.layout,s=(0,l.t)(c.min,c.max,.5);return 1===o&&i.layout.max+r>s||-1===o&&i.layout.min+r<s?(0,a.uo)(e,u,u+o):e}(v,e,t,r);v!==n&&(b.current=!0,s(n.map(d).filter(e=>-1!==p.indexOf(e))))}},children:e})})});function d(e){return e.value}function x(e,t){return e.layout.min-t.layout.min}},7078:function(e,t,r){"use strict";r.d(t,{e:function(){return E}});var n=r(24246),u=r(29427),o=r(27378),f=r(40976),i=r(18397),c=r(42308),a=r(69222),l=r(67412);function s(e){let t=(0,c.h)(()=>(0,a.BX)(e)),{isStatic:r}=(0,o.useContext)(l._);if(r){let[,r]=(0,o.useState)(e);(0,o.useEffect)(()=>t.on("change",r),[])}return t}var d=r(13998);let x=e=>e&&"object"==typeof e&&e.mix,p=e=>x(e)?e.mix:void 0;var y=r(64306),g=r(95984);function h(e,t){let r=s(t()),n=()=>r.set(t());return n(),(0,y.L)(()=>{let t=()=>g.Wi.preRender(n,!1,!0),r=e.map(e=>e.on("change",t));return()=>{r.forEach(e=>e()),(0,g.Pn)(n)}}),r}function v(e,t){let r=(0,c.h)(()=>[]);return h(e,()=>{r.length=0;let n=e.length;for(let t=0;t<n;t++)r[t]=e[t].get();return t(r)})}var b=r(3522);function m(e,t=0){return(0,b.i)(e)?e:s(t)}let E=(0,o.forwardRef)(function({children:e,style:t={},value:r,as:l="li",onDrag:s,layout:x=!0,...y},g){let b=(0,c.h)(()=>i.E[l]),E=(0,o.useContext)(f.Y),j={x:m(t.x),y:m(t.y)},A=function(e,t,r,n){if("function"==typeof e)return function(e){a.S1.current=[],e();let t=h(a.S1.current,e);return a.S1.current=void 0,t}(e);let u="function"==typeof t?t:function(...e){let t=!Array.isArray(e[0]),r=t?0:-1,n=e[0+r],u=e[1+r],o=e[2+r],f=e[3+r],i=(0,d.s)(u,o,{mixer:p(o[0]),...f});return t?i(n):i}(t,void 0,void 0);return Array.isArray(e)?v(e,u):v([e],([e])=>u(e))}([j.x,j.y],([e,t])=>e||t?1:"unset");(0,u.k)(!!E,"Reorder.Item must be a child of Reorder.Group");let{axis:O,registerItem:S,updateOrder:C}=E;return(0,n.jsx)(b,{drag:O,...y,dragSnapToOrigin:!0,style:{...t,x:j.x,y:j.y,zIndex:A},layout:x,onDrag:(e,t)=>{let{velocity:n}=t;n[O]&&C(r,j[O].get(),n[O]),s&&s(e,t)},onLayoutMeasure:e=>S(r,e),ref:g,ignoreStrict:!0,children:e})})},40976:function(e,t,r){"use strict";r.d(t,{Y:function(){return n}});let n=(0,r(27378).createContext)(null)},47397:function(e,t,r){"use strict";r.d(t,{o:function(){return f}});var n=r(42308);class u{constructor(){this.componentControls=new Set}subscribe(e){return this.componentControls.add(e),()=>this.componentControls.delete(e)}start(e,t){this.componentControls.forEach(r=>{r.start(e.nativeEvent||e,t)})}}let o=()=>new u;function f(){return(0,n.h)(o)}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3655],{59969:function(e,n,r){var t=r(24246),l=r(39158);r(27378);var i=r(8557);n.Z=e=>{let n,{daysLeft:r,includeText:a,status:s}=e;if(!r||s===i.q.COMPLETE||s===i.q.CANCELED||s===i.q.DENIED||s===i.q.IDENTITY_UNVERIFIED)return(0,t.jsx)("span",{children:"-"});switch(!0){case r>=10:n=l.tAb.SUCCESS;break;case r<10&&r>4:n=l.tAb.WARNING;break;case r<5:n=l.tAb.ERROR}return(0,t.jsx)(l.j8w,{color:n,children:a?"".concat(r," days left"):r})}},18225:function(e,n,r){var t=r(24246),l=r(39158);n.Z=e=>{let{alignment:n="center",...r}=e;return(0,t.jsx)(l.kCb,{boxSize:"full",align:"center",justify:n,children:(0,t.jsx)(l.$jN,{color:"primary",...r})})}},19904:function(e,n,r){r.d(n,{Tg:function(){return a}});var t=r(24246),l=r(16134),i=r(31793);let a=e=>(0,l.C)(i.uu).filter(n=>e.includes(n)).length>0;n.ZP=e=>{let{scopes:n,children:r}=e;return a(n)?(0,t.jsx)(t.Fragment,{children:r}):null}},57526:function(e,n,r){var t=r(24246),l=r(39158),i=r(27378),a=r(90449);n.Z=e=>{let{isOpen:n,onClose:r,onApproveRequest:s,isLoading:u,subjectRequest:c}=e,{identity:o,identity_verified_at:d,custom_privacy_request_fields:h}=c,f=(0,a.o8)(o),x=(0,a.Ub)(o,f),y=[...f?[f]:[],...x],p=(0,a.aP)(h),m=(0,i.useCallback)(()=>{s().then(()=>{r()})},[s,r]);return(0,t.jsxs)(l.u_l,{isOpen:n,onClose:r,size:"lg",isCentered:!0,children:[(0,t.jsx)(l.ZAr,{}),(0,t.jsxs)(l.hzk,{children:[(0,t.jsx)(l.xBx,{children:"Privacy request approval"}),(0,t.jsxs)(l.fef,{paddingTop:0,paddingBottom:0,children:[(0,t.jsx)(l.xvT,{color:"gray.500",fontSize:"14px",marginBottom:4,children:"Are you sure you want to approve this privacy request?"}),(0,t.jsxs)(l.QI$,{children:[y.map(e=>(0,t.jsx)(l.HCh,{children:(0,t.jsxs)(l.kCb,{alignItems:"flex-start",children:[(0,t.jsxs)(l.xvT,{mr:2,fontSize:"sm",color:"gray.900",fontWeight:"500",children:[e.label,":"]}),(0,t.jsx)(l.xvT,{color:"gray.600",fontWeight:"500",fontSize:"sm",mr:2,children:e.value}),"(",d?"Verified":"Unverified",")"]})},e.key)),p.map(e=>(0,t.jsx)(l.HCh,{children:(0,t.jsxs)(l.kCb,{alignItems:"flex-start",children:[(0,t.jsxs)(l.xvT,{mr:2,fontSize:"sm",color:"gray.900",fontWeight:"500",children:[e.label,":"]}),(0,t.jsx)(l.xvT,{color:"gray.600",fontWeight:"500",fontSize:"sm",mr:2,children:Array.isArray(e.value)?e.value.join(", "):String(e.value)}),"(Unverified)"]})},e.key))]})]}),(0,t.jsx)(l.mzw,{children:(0,t.jsxs)(l.MIq,{columns:2,width:"100%",children:[(0,t.jsx)(l.wpx,{onClick:r,className:"mr-3","data-testid":"cancel-btn",children:"Cancel"}),(0,t.jsx)(l.wpx,{type:"primary","data-testid":"continue-btn",onClick:m,loading:u,children:"Confirm"})]})})]})]})}},66548:function(e,n,r){var t=r(24246),l=r(40324),i=r(39158),a=r(34090),s=r(27378),u=r(55484);let c={denialReason:""};n.Z=e=>{let{isOpen:n,onClose:r,onDenyRequest:o}=e,d=(0,s.useCallback)((e,n)=>{let{setSubmitting:t}=n;o(e.denialReason).then(()=>{t(!1),r()})},[o,r]);return(0,t.jsxs)(i.u_l,{isOpen:n,onClose:r,isCentered:!0,returnFocusOnClose:!1,children:[(0,t.jsx)(i.ZAr,{}),(0,t.jsx)(i.hzk,{width:"100%",maxWidth:"456px","data-testid":"deny-privacy-request-modal",children:(0,t.jsx)(a.J9,{initialValues:c,validationSchema:u.Ry({denialReason:u.Z_().required().label("Reason for denial")}),onSubmit:d,children:e=>{let{isSubmitting:n,dirty:s,isValid:u}=e;return(0,t.jsxs)(a.l0,{children:[(0,t.jsx)(i.xBx,{children:"Privacy request denial"}),(0,t.jsx)(i.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,t.jsx)(i.fef,{children:(0,t.jsx)(l.Ks,{name:"denialReason",textAreaProps:{focusBorderColor:"primary.600",resize:"none"}})}),(0,t.jsxs)(i.mzw,{className:"flex w-full gap-4",children:[(0,t.jsx)(i.wpx,{disabled:n,onClick:r,className:"grow",children:"Cancel"}),(0,t.jsx)(i.wpx,{htmlType:"submit",type:"primary",disabled:!s||!u,loading:n,className:"grow","data-testid":"deny-privacy-request-modal-btn",children:"Confirm"})]})]})}})})]})}},90449:function(e,n,r){r.d(n,{$u:function(){return y},Pp:function(){return c},Ub:function(){return h},V1:function(){return x},aP:function(){return f},o8:function(){return d}});var t=r(90104),l=r.n(t),i=r(30644),a=r.n(i),s=r(71975),u=r.n(s);let c=(0,r(40431).jo)({parse:e=>{try{return JSON.parse(e)}catch(e){return null}},serialize:e=>JSON.stringify(e)}).withOptions({throttleMs:500}),o=(e,n)=>n?"string"==typeof n&&n.length>0?{value:n,label:e,key:e}:"object"!=typeof n||l()(n.value)?null:{value:n.value,label:n.label,key:e}:null,d=e=>{if(!e)return null;let n=o("email",e.email);if(n)return n;let r=o("phone_number",e.phone_number);if(r)return r;let t=Object.keys(e);return t.length>0?o(t[0],e[t[0]]):null},h=(e,n)=>e?Object.entries(e).map(e=>{let[n,r]=e;return o(n,r)}).filter(e=>!!e).filter(e=>e.key!==(null==n?void 0:n.key)):[],f=e=>e&&e?Object.entries(e).filter(e=>{let[,n]=e;return!a()(n.value)&&""!==n.value}).map(e=>{let[n,r]=e;return{key:n,label:r.label,value:r.value}}):[],x=e=>{if(!e)return{};let n={};return e.forEach(e=>{e.custom_privacy_request_fields&&Object.entries(e.custom_privacy_request_fields).forEach(e=>{let[r,t]=e;n[r]||(n[r]=t)})}),n},y=e=>{if(!e)return null;let n=u()(e,e=>null!==e);return Object.keys(n).length>0?n:null}},45489:function(e,n,r){r.d(n,{Z:function(){return l}});var t=r(90867);let l=e=>{let{subjectRequest:n}=e,[r,l]=(0,t.RW)({fixedCacheKey:n.id}),[i,a]=(0,t.F1)({fixedCacheKey:n.id}),[s,u]=(0,t.rC)({fixedCacheKey:n.id}),[c,o]=(0,t.zB)({fixedCacheKey:n.id}),d=a.isLoading||l.isLoading||o.isLoading;return{approveRequest:r,approveRequestResult:l,denyRequest:i,denyRequestResult:a,handleApproveRequest:()=>r({id:n.id}),handleDenyRequest:e=>i({id:n.id,reason:e}),handleDeleteRequest:()=>s({id:n.id}),handleFinalizeRequest:()=>c({privacyRequestId:n.id}),softDeleteRequestResult:u,finalizeRequestResult:o,isLoading:d}}},72281:function(e,n,r){r.d(n,{G:function(){return s},d:function(){return u}});var t=r(86677),l=r(27378),i=r(19904),a=r(60240);let s={REQUEST:"request",MANUAL_TASK:"manual-tasks"},u=()=>{let e=(0,t.useRouter)(),n=(0,i.Tg)([a.Sh.PRIVACY_REQUEST_READ]),r=(0,i.Tg)([a.Sh.MANUAL_FIELD_READ_OWN,a.Sh.MANUAL_FIELD_READ_ALL]),u=(0,l.useMemo)(()=>({request:n,manualTask:r}),[n,r]),[c,o]=(0,l.useState)(u.request?s.REQUEST:s.MANUAL_TASK),d=(0,l.useCallback)(()=>{let{tab:n}=e.query;return n&&"string"==typeof n&&Object.values(s).includes(n)?n:null},[e.query]),h=(0,l.useCallback)(n=>{e.replace({pathname:e.pathname,query:{tab:n}},void 0,{shallow:!0})},[e]);return(0,l.useEffect)(()=>{if(!e.isReady)return;let n=d();n?(n===s.REQUEST||n===s.MANUAL_TASK&&u.manualTask)&&o(n):u.request&&o(s.REQUEST)},[e.isReady,e.query,u,d,h]),{activeTab:c,handleTabChange:(0,l.useCallback)(e=>{Object.values(s).includes(e)&&(o(e),h(e))},[h]),availableTabs:u}}}}]);
@@ -0,0 +1 @@
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3729],{18225:function(e,t,s){"use strict";var a=s(24246),i=s(39158);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})})}},79789:function(e,t,s){"use strict";s.d(t,{Hn:function(){return o},XU:function(){return r},Z5:function(){return c},aG:function(){return u},cB:function(){return n},hX:function(){return d},vQ:function(){return l}});var a=s(24246),i=s(39158);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})},l=e=>{let{children:t}=e;return(0,a.jsx)(i.GSI,{fontSize:"14px",mb:4,ml:6,children:t})},d=e=>{let{children:t}=e;return(0,a.jsx)(i.EKh,{display:"block",whiteSpace:"pre",p:4,mb:4,overflowX:"scroll",children:t})},u=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){"use strict";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)(),l=(s?c():c().filter(e=>e.active)).filter(e=>!(null==t?void 0: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||"",label:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("strong",{children:s||t}),s&&": ".concat(t)]}),title:e.fides_key}});return(0,a.jsx)(i.l,{options:l,...r})}},79283:function(e,t,s){"use strict";s.d(t,{l:function(){return d}});var a=s(24246),i=s(39158),n=s(72707),r=s.n(n);let o=e=>{let{data:{formattedTitle:t,description:s,name:n,primaryName:r}}=e;return(0,a.jsxs)(i.jqI,{gap:12,title:"".concat(t," - ").concat(s),children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:r||n}),r&&": ".concat(n)]}),(0,a.jsx)("em",{className:"overflow-hidden text-ellipsis",children:s})]})},c=e=>"options"in e&&Array.isArray(e.options),l=e=>({...e,className:r().option,formattedTitle:e.formattedTitle||[e.primaryName,e.name].filter(e=>e).join(": ")}),d=e=>{let{options:t,...s}=e,n=null==t?void 0:t.map(e=>c(e)?{...e,options:e.options.map(l)}:l(e));return(0,a.jsx)(i.WPr,{options:n,filterOption:(e,t)=>{var s,a;return(null==t?void 0:null===(s=t.formattedTitle)||void 0===s?void 0:s.toLowerCase().includes(e.toLowerCase()))||(null==t?void 0:null===(a=t.value)||void 0===a?void 0:a.toLowerCase().includes(e.toLowerCase()))||!1},optionFilterProp:"label",autoFocus:!0,variant:"borderless",optionRender:o,styles:{popup:{root:{minWidth:"500px"}}},className:"w-full p-0","data-testid":"taxonomy-select",...s})}},97181:function(e,t,s){"use strict";s.d(t,{d:function(){return l}});var a=s(24246),i=s(39158),n=s(34090),r=s(27378),o=s(46238),c=s(40324);let l=e=>{let{name:t,label:s,labelProps:l,tooltip:d,isRequired:u,layout:h="inline",helperText:m,...x}=e,[p,g,{setValue:j}]=(0,n.U$)(t),y=!!(g.touched&&g.error),[v,f]=(0,r.useState)("");p.value||"tags"!==x.mode&&"multiple"!==x.mode||(p.value=[]),"tags"===x.mode&&"string"==typeof p.value&&(p.value=[p.value]);let C="tags"===x.mode?(e,t)=>e?e.value!==v||p.value.includes(v)?x.optionRender?x.optionRender(e,t):e.label:'Create "'.concat(v,'"'):void 0:x.optionRender||void 0,S=e=>{f(e),x.onSearch&&x.onSearch(e)},A=(e,t)=>{j(e),x.onChange&&x.onChange(e,t)};return"inline"===h?(0,a.jsx)(i.NIc,{isInvalid:y,isRequired:u,children:(0,a.jsxs)(i.rjZ,{templateColumns:s?"1fr 3fr":"1fr",children:[s?(0,a.jsx)(c.__,{htmlFor:x.id||t,...l,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:x.id||t,"data-testid":"controlled-select-".concat(p.name),...x,optionRender:C,onSearch:"tags"===x.mode?S:void 0,onChange:A,value:p.value||void 0,status:y?"error":void 0}),m&&(0,a.jsx)(i.Q6r,{children:m}),(0,a.jsx)(c.Bc,{isInvalid:y,message:g.error,fieldName:p.name})]}),(0,a.jsx)(o.b,{label:d,className:y?"mt-2 self-start":void 0})]})]})}):(0,a.jsx)(i.NIc,{isInvalid:y,isRequired:u,children:(0,a.jsxs)(i.gCW,{alignItems:"start",children:[(0,a.jsxs)(i.jqI,{align:"center",children:[s?(0,a.jsx)(c.__,{htmlFor:x.id||t,fontSize:"xs",my:0,mr:1,...l,children:s}):null,(0,a.jsx)(o.b,{label:d})]}),(0,a.jsx)(i.WPr,{...p,id:x.id||t,"data-testid":"controlled-select-".concat(p.name),...x,optionRender:C,onSearch:"tags"===x.mode?S:void 0,onChange:A,value:p.value||void 0,status:y?"error":void 0}),m&&(0,a.jsx)(i.Q6r,{style:{marginTop:0},children:m}),(0,a.jsx)(c.Bc,{isInvalid:y,message:g.error,fieldName:p.name})]})})}},71248:function(e,t,s){"use strict";s.d(t,{A:function(){return c}});var a=s(24246),i=s(34090),n=s(46782),r=s(97181),o=s(40324);let c=e=>{var t,s;let{name:c,fieldSchema:l,isRequired:d,layout:u="stacked",secretsSchema:h,validate:m}=e,x=(null===(s=l.allOf)||void 0===s?void 0:null===(t=s[0])||void 0===t?void 0:t.$ref)&&l.allOf[0].$ref!==n.j?null==h?void 0:h.definitions[l.allOf[0].$ref.replace("#/definitions/","")]:void 0,p=!!(null==x?void 0:x.enum)||l.options,g="boolean"===l.type,j=()=>{var e;if((null===(e=l.allOf)||void 0===e?void 0:e[0].$ref)===n.j)return"Enter dataset.collection.field"};return(0,a.jsx)(i.gN,{id:c,name:c,validate:m,children:e=>{let{field:t}=e;if(p){var s,i,n;let e=null!==(n=null==x?void 0:null===(s=x.enum)||void 0===s?void 0:s.map(e=>({label:e,value:e})))&&void 0!==n?n:null===(i=l.options)||void 0===i?void 0:i.map(e=>({label:e,value:e}));return(0,a.jsx)(r.d,{name:t.name,id:t.name,label:l.title,isRequired:d,tooltip:l.description,layout:u,options:e,mode:l.multiselect?"multiple":void 0},t.name)}return g?(0,a.jsx)(r.d,{name:t.name,id:t.name,label:l.title,isRequired:d,tooltip:l.description,layout:u,options:[{label:"False",value:"false"},{label:"True",value:"true"}]},t.name):(0,a.jsx)(o.j0,{...t,label:l.title,tooltip:l.description,isRequired:d,type:l.sensitive?"password":"text",placeholder:j(),autoComplete:"off",color:"gray.700",variant:u})}},c)}},46782:function(e,t,s){"use strict";s.d(t,{j:function(){return n},l:function(){return r}});var a=s(30454),i=s.n(a);let n="#/definitions/FidesDatasetReference",r=e=>{let t=(e,t,s)=>{let a;return(void 0===t||""===t||void 0===t)&&(a="".concat(e," is required")),s===n&&((null==t?void 0:t.includes("."))?t.split(".").length<3&&(a="Dataset reference must include at least three parts"):a="Dataset reference must be dot delimited"),a},s=t=>{var s,a;return null!==(a=null==e?void 0:null===(s=e.required)||void 0===s?void 0:s.includes(t))&&void 0!==a&&a};return{validateField:t,isRequiredField:s,getFieldValidation:(e,a)=>{if(s(e))return e=>{var s;return t(a.title,e,null===(s=a.allOf)||void 0===s?void 0:s[0].$ref)}},preprocessValues:t=>{let s=i()(t);return e&&Object.keys(e.properties).forEach(t=>{var a,i;if((null===(a=e.properties[t].allOf)||void 0===a?void 0:a[0].$ref)===n){let e=null===(i=s.secrets[t])||void 0===i?void 0:i.split(".");e&&(s.secrets[t]={dataset:e.shift(),field:e.join("."),direction:"from"})}"WebsiteSchema"!==e.title||"URL"!==e.properties[t].title||s.secrets[t].startsWith("http://")||s.secrets[t].startsWith("https://")||(s.secrets[t]="https://".concat(s.secrets[t])),"integer"===e.properties[t].type&&"string"==typeof s.secrets[t]&&""===s.secrets[t].trim()&&(s.secrets[t]=void 0)}),s}}}},34929:function(e,t,s){"use strict";var a=s(24246),i=s(64925),n=s.n(i),r=s(27378),o=s(16134),c=s(30002),l=s(28079),d=s(57072);let u=()=>{let{isLoading:e}=(0,l.fd)(),t=(0,o.C)(l.U3),{isLoading:s}=(0,d.MO)(),a=(0,o.C)(d.qb),{isLoading:i}=(0,c.te)();return{dataUses:t,dataSubjects:(0,o.C)(c.ZL),dataCategories:a,isLoading:e||s||i}};t.Z=()=>{let{dataUses:e,dataCategories:t,dataSubjects:s,isLoading:i}=u(),o=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.split(".").slice(0,t).join(".")},c=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,a=t(e);if(!a)return{};let i=t(o(e,s)),n=!!a.parent_key;return{name:a.name||void 0,primaryName:n&&(null==i?void 0:i.name)!==a.name&&(null==i?void 0:i.name)||void 0}},l=function(e,t){let s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,{name:i,primaryName:n}=c(e,t,s);return i?n?(0,a.jsxs)(r.Fragment,{children:[(0,a.jsxs)("strong",{children:[n,":"]})," ",i]},e):(0,a.jsx)("strong",{children:i},e):e},d=t=>n()(e,{fides_key:t}),h=e=>n()(t,{fides_key:e}),m=e=>n()(s,{fides_key:e});return{getDataUses:()=>e,getDataUseByKey:d,getDataUseDisplayName:e=>l(e,d,1),getDataUseDisplayNameProps:e=>c(e,d,1),getDataCategories:()=>t,getDataCategoryByKey:h,getDataCategoryDisplayName:e=>l(e,h,2),getDataCategoryDisplayNameProps:e=>c(e,h,2),getDataSubjects:()=>s,getDataSubjectByKey:m,getDataSubjectDisplayName:e=>{let t=m(e);return t?t.name:e},getDataSubjectDisplayNameProps:e=>{let t=m(e);return t?{name:t.name||e}:{}},getPrimaryKey:o,isLoading:i}}},8133:function(e,t,s){"use strict";var a=s(24246),i=s(39158);t.Z=e=>{let{title:t,children:s,isOpen:n,onClose:r,modalContentProps:o,showCloseButton:c=!1,footer:l,...d}=e;return(0,a.jsxs)(i.u_l,{isOpen:n,onClose:r,isCentered:!0,scrollBehavior:"inside",size:"xl",id:"add-modal",...d,children:[(0,a.jsx)(i.ZAr,{}),(0,a.jsxs)(i.hzk,{textAlign:"left",p:0,"data-testid":"add-modal-content",...o,children:[c&&(0,a.jsx)(i.olH,{}),(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}),l&&(0,a.jsx)(i.mzw,{children:l})]})]})}},90980:function(e,t,s){"use strict";s.d(t,{R:function(){return c}});var a=s(24246),i=s(39158),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,tabIndex:-1,fontSize:"sm",fontWeight:"500",children:"Back"})]})}},15872:function(e,t,s){"use strict";var a=s(24246),i=s(39158),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:l,onClose:d}=(0,i.qY0)(),[u,h]=(0,o.R5)(),m=(0,n.useRouter)(),x=()=>{h.isLoading||d()};return(0,a.jsxs)(a.Fragment,{children:[s&&(0,a.jsx)(i.sNh,{_focus:{color:"complimentary.500",bg:"gray.100"},onClick:l,children:(0,a.jsx)(i.xvT,{fontSize:"sm",children:"Delete"})}),!s&&(0,a.jsx)(i.wpx,{onClick:l,children:"Delete integration"}),(0,a.jsxs)(i.u_l,{isCentered:!0,isOpen:c,onClose:x,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:x,className:"w-1/2",children:"Cancel"}),(0,a.jsx)(i.wpx,{onClick:()=>{t&&(u(t),s||m.push(r.KH))},loading:h.isLoading,type:"primary",className:"w-1/2",children:"Delete integration"})]})]})]})]})}},19812:function(e,t,s){"use strict";s.d(t,{t:function(){return o}});var a=s(17245),i=s(14207),n=s(27378),r=s(41966);let o=e=>{var t,s,o;let{connectionConfig:c}=e,[l]=(0,i.S6)(),{data:d}=(0,i.Eg)(null!==(s=null==c?void 0:c.key)&&void 0!==s?s:""),u=null!==(o=null==d?void 0:null===(t=d.items)||void 0===t?void 0:t.map(e=>e.fides_key))&&void 0!==o?o:[],h=u.map(e=>({label:e,value:e})),{data:m}=(0,r.LH)({onlyUnlinkedDatasets:!0,minimal:!0}),x=(0,n.useMemo)(()=>{var e;return null!==(e=null==m?void 0:m.map(e=>({value:e.fides_key,label:"".concat(e.name," (").concat(e.fides_key,")")||0})))&&void 0!==e?e:[]},[m]),{errorAlert:p,successAlert:g}=(0,a.VY)();return{dropdownOptions:[...h,...x],initialDatasets:u,patchConnectionDatasetConfig:async function(e,t){var s,a,i;let{showSuccessAlert:n=!0}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=null!==(i=null===(s=e.dataset)||void 0===s?void 0:s.map(e=>({fides_key:e,ctl_dataset_fides_key:e})))&&void 0!==i?i:[],o=await l({connection_key:t,dataset_pairs:r}).unwrap();(null===(a=o.failed)||void 0===a?void 0:a.length)>0?p(o.failed[0].message):n&&g("Dataset successfully updated!")}}}},33335:function(e,t,s){"use strict";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){"use strict";var a=s(39158),i=s(812),n=s(16394),r=s(14207);t.Z=e=>{let[t,{data:s,fulfilledTimeStamp:o,isLoading:c,isFetching:l}]=(0,r.h2)(),d=(0,a.pmc)();return{testConnection:async()=>{var s,a,n,r;if(!e)return;let o=await t(e.key);if(o.isError)d({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")d({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)),d({status:"warning",description:e})}},isLoading:c||l,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),authorized:!!(null==e?void 0:e.authorized),connectionKey:null==e?void 0:e.key}}}},41553:function(e,t,s){"use strict";var a=s(24246),i=s(39158),n=s(16394);t.Z=e=>{let{testData:t,connectionOption:s}=e;if((null==s?void 0:s.authorization_required)&&!t.authorized)return(0,a.jsx)(i.kCb,{align:"center","data-testid":"connection-status",children:(0,a.jsx)(i.xvT,{color:"error-text.900",children:"Authorization required"})});if(!t.timestamp)return(0,a.jsx)(i.xvT,{"data-testid":"connection-status",children:"Connection not tested"});let r=(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 ",r]})]}):(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 ",r]})]})}},75595:function(e,t,s){"use strict";var a=s(24246),i=s(39158),n=s(17245),r=s(20682),o=s(41337),c=s(15872),l=s(45216),d=s(38187),u=s(41553),h=s(93633),m=s(80388),x=s(64176),p=s(35030);t.Z=e=>{var t,s;let{integration:g,integrationTypeInfo:j,showTestNotice:y,otherButtons:v,showDeleteButton:f,configureButtonLabel:C="Configure",onConfigureClick:S}=e,{testConnection:A,isLoading:b,testData:D}=(0,l.Z)(g),R=(0,n.pI)(g),{data:w}=(0,r.$I)({}),_=(null==w?void 0:w.items)||[],E=j||(0,d.ZP)(null==g?void 0:g.connection_type,null==g?void 0:null===(t=g.saas_config)||void 0===t?void 0:t.type,_),T=null==g?void 0:null===(s=g.saas_config)||void 0===s?void 0:s.type,k=(0,x.Z)(null==g?void 0:g.connection_type,T&&Object.values(m.m).includes(T)?T:void 0),{handleAuthorize:H,needsAuthorization:F}=(0,h.z)({connection:g,connectionOption:k,testData:D});return(0,a.jsxs)(i.xuv,{borderWidth:1,borderColor:"gray.200",borderRadius:"lg",overflow:"hidden",padding:"12px",marginBottom:"24px","data-testid":"integration-info-".concat(null==g?void 0:g.key),children:[(0,a.jsxs)(i.kCb,{children:[(0,a.jsx)(o.ZP,{data:R,size:50}),(0,a.jsxs)(i.kCb,{direction:"column",flexGrow:1,marginLeft:"16px",children:[(0,a.jsx)(i.xvT,{color:"gray.700",fontWeight:"semibold",children:(null==g?void 0:g.name)||"(No name)"}),y?(0,a.jsx)(u.Z,{testData:D,connectionOption:k}):(0,a.jsx)(i.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"semibold",mt:1,children:(0,p.qS)(E.category)})]}),(0,a.jsxs)("div",{className:"flex gap-4",children:[f&&g&&(0,a.jsx)(c.Z,{showMenu:!1,connection_key:g.key}),y&&F&&(0,a.jsx)(i.wpx,{onClick:H,"data-testid":"authorize-integration-btn",children:"Authorize integration"}),y&&!F&&(0,a.jsx)(i.wpx,{onClick:A,loading:b,"data-testid":"test-connection-btn",children:"Test connection"}),v,S&&(0,a.jsx)(i.wpx,{onClick:S,"data-testid":"configure-btn",children:C})]})]}),(0,a.jsx)(i.Eq9,{marginTop:"16px",children:E.tags.map(e=>(0,a.jsx)(i.j8w,{children:e},e))})]})}},40774:function(e,t,s){"use strict";s.d(t,{Z:function(){return S}});var a,i,n=s(24246),r=s(39158),o=s(27378),c=s(22485),l=s(46381),d=s(12627),u=s(812),h=s(46238),m=s(90980),x=s(46628),p=s(11013),g=s(31883);let j={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,g.D4)(e)?v((0,x.Vo)((0,u.e$)(e.error,"A problem occurred"))):(v((0,x.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,l.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,x.t5)("CSV patterns imported successfully"))}catch(e){v((0,x.Vo)("Failed to parse CSV file"))}},s.readAsText(t)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(m.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:[]}:j,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:l}=t,{errors:u}=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)(h.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)(d.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:()=>l(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:u}),(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(47935),f=e=>{let{onEditClick:t}=e,[s]=(0,p.m5)(),a=(0,r.pmc)(),i=async e=>{let t=await s({id:e});(0,g.D4)(t)?a((0,x.Vo)((0,u.e$)(t.error,"A problem occurred deleting this config"))):a((0,x.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","aria-label":"Edit"}),(0,n.jsx)(r.wpx,{size:"small",onClick:()=>i(s.id),icon:(0,n.jsx)(r.PJP.ZNm,{}),"aria-label":"Delete"})]})}]},C=e=>{let{onNewClick:t,onRowClick:s}=e,{onPreviousPageClick:a,isPreviousPageDisabled:i,onNextPageClick:o,isNextPageDisabled:l,pageSize:d,setPageSize:u,PAGE_SIZES:h,startRange:m,endRange:x,pageIndex:g}=(0,v.oi)(),{data:j,isLoading:y,isFetching:C}=(0,p.eV)({page:g,size:d}),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:"mb-2 mt-4",children:"Shared monitor configurations can be applied to monitors to customize classification."}),(0,n.jsx)(r.wpx,{type:"primary",onClick:t,"data-testid":"create-new-btn",className:"mb-3",children:"Create new"}),(0,n.jsx)(r.V5H,{columns:S,dataSource:null==j?void 0:j.items,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"})}}),(0,n.jsx)(r.jqI,{justify:"space-between",className:"mt-4",children:(0,n.jsx)(v.s8,{totalRows:(null==j?void 0:j.total)||0,pageSizes:h,setPageSize:u,onPreviousPageClick:a,isPreviousPageDisabled:i,onNextPageClick:o,isNextPageDisabled:l,startRange:m,endRange:x})})]})};(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"),l=()=>{c("main"),a(void 0)};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.wpx,{icon:(0,n.jsx)(r.PJP.Zrf,{}),iconPosition:"end",onClick:()=>t(!0),"data-testid":"configurations-btn",children:"Shared configs"}),(0,n.jsxs)(r.$zI,{open:e,onCancel:()=>{l(),t(!1)},destroyOnHidden:!0,centered:!0,width:768,footer:null,children:["form"===i&&(0,n.jsx)(y,{config:s,onBackClick:l}),"main"===i&&(0,n.jsx)(C,{onNewClick:()=>c("form"),onRowClick:e=>{a(e),c("form"),t(!0)}})]})]})}},21365:function(e,t,s){"use strict";var a=s(24246),i=s(39158),n=s(34090),r=s(90104),o=s.n(r),c=s(92465),l=s.n(c),d=s(25389),u=s.n(d),h=s(15539),m=s.n(h),x=s(86677),p=s(27378),g=s(18225),j=s(97181),y=s(71248),v=s(40324),f=s(46782),C=s(812),S=s(77830),A=s(20682),b=s(41966),D=s(94725),R=s(19812),w=s(33335),_=s(1315),E=s(60240),T=s(31883);let k=e=>{let{dirty:t,isValid:s,submitForm:a,loading:i,onFormStateChange:n}=e;return(0,p.useEffect)(()=>{n&&n({dirty:t,isValid:s,submitForm:a,loading:i})},[t,s,a,i,n]),null};t.Z=e=>{var t,s;let{connection:r,connectionOption:c,onClose:d,description:h,onFormStateChange:p}=e,[H,{isLoading:F}]=(0,D.Pp)(),[I,{isLoading:B}]=(0,D.pH)(),[O,{isLoading:L}]=(0,_.qd)(),P=(0,x.useRouter)(),[q]=(0,D.pL)(),M=c.identifier!==E.Rj.MANUAL_TASK,{data:N,isLoading:U}=(0,A.n3)(c.identifier,{skip:!M}),{data:z}=(0,_.K3)(),G=null==z?void 0:z.map(e=>{var t;return{label:null!==(t=e.name)&&void 0!==t?t:e.fides_key,value:e.fides_key}}),{data:Z}=(0,b.LH)({minimal:!0,connection_type:E.Rj.BIGQUERY}),Q=null==Z?void 0:Z.map(e=>{var t;return{label:null!==(t=e.name)&&void 0!==t?t:e.fides_key,value:e.fides_key}}),{patchConnectionDatasetConfig:W,initialDatasets:X}=(0,R.t)({connectionConfig:r}),{getFieldValidation:Y,preprocessValues:V}=(0,f.l)(N),K={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:"",...M&&{secrets:u()(null==N?void 0:N.properties,(e,t)=>{var s,a,i;return null!==(i=null!==(a=null==r?void 0:null===(s=r.secrets)||void 0===s?void 0:s[t])&&void 0!==a?a:e.default)&&void 0!==i?i:""})},dataset:X},$=(0,i.pmc)(),J=!!r,ee=c.type===E.Zi.SAAS,et=c.identifier===E.Rj.WEBSITE,es=e=>m()(u()(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}),l()),ea=async e=>{var t;let s;let a=V(e),i=M?es(a.secrets):{},n=J?{...r,disabled:null!==(t=r.disabled)&&void 0!==t&&t,name:e.name,description:e.description,secrets:void 0}:{name:e.name,key:(0,w.E)(e.name),connection_type:c.identifier,access:E.uv.READ,disabled:!1,description:e.description,secrets:a.secrets,dataset:e.dataset};if(s=e.system_fides_key?await O({systemFidesKey:e.system_fides_key,connectionConfigs:[n]}):ee&&!J?await q({...n,instance_key:(0,w.E)(e.name),saas_connector_type:c.identifier,secrets:e.secrets||{}}):await I(n),(0,T.D4)(s)){$({status:"error",description:(0,C.e$)(s.error,"A problem occurred while ".concat(J?"updating":"creating"," this integration. Please try again."))});return}if(!M||!e.secrets){$({status:"success",description:"Integration ".concat(J?"updated":"created"," successfully")}),d();return}if(!o()(i)){let e=await H({connection_key:n.key,secrets:i});if((0,T.D4)(e)){$({status:"error",description:(0,C.e$)(e.error,"An error occurred while ".concat(J?"updating":"creating"," this integration's secret. Please try again."))});return}}$({status:"success",description:"Integration secret ".concat(J?"updated":"created"," successfully")}),d(),J||P.push({pathname:S.jh,query:{id:n.key}}),n&&e.dataset&&c.identifier===E.Rj.DATAHUB&&await W(e,n.key,{showSuccessAlert:!1})},ei=F||B||L;if(U)return(0,a.jsx)(g.Z,{});let en=e=>Object.entries(e.properties).map(t=>{let[s,i]=t,n="secrets.".concat(s);return(0,a.jsx)(y.A,{name:n,fieldSchema:i,isRequired:e.required.includes(s),secretsSchema:e,validate:Y(s,i)},n)});return(0,a.jsxs)(a.Fragment,{children:[h&&(0,a.jsx)(i.xuv,{padding:"20px 24px",backgroundColor:"gray.50",borderRadius:"md",border:"1px solid",borderColor:"gray.200",fontSize:"sm",marginTop:"16px",children:h}),(0,a.jsx)(n.J9,{initialValues:K,enableReinitialize:!0,onSubmit:ea,children:e=>{let{dirty:t,isValid:s,submitForm:r}=e;return(0,a.jsxs)(n.l0,{children:[(0,a.jsxs)(i.gCW,{alignItems:"start",spacing:6,mt:4,children:[(0,a.jsx)(v.j0,{id:"name",name:"name",label:"Name",variant:"stacked",isRequired:!0}),(0,a.jsx)(v.j0,{id:"description",name:"description",label:"Description",variant:"stacked"}),M&&N&&en(N),!J&&!ee&&!et&&(0,a.jsx)(j.d,{id:"system_fides_key",name:"system_fides_key",options:null!=G?G:[],label:"System",tooltip:"The system to associate with the integration",layout:"stacked"}),c.identifier===E.Rj.DATAHUB&&(0,a.jsx)(j.d,{id:"dataset",name:"dataset",options:null!=Q?Q:[],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.jsx)(k,{dirty:t,isValid:s,submitForm:r,loading:ei,onFormStateChange:p})]})}})]})}},38187:function(e,t,s){"use strict";s.d(t,{FO:function(){return M},jq:function(){return N},ZP:function(){return G}});var a=s(24246),i=s(39158),n=s(79789),r=e=>{let{children:t}=e,{isOpen:s,onToggle:n}=(0,i.qY0)();return(0,a.jsx)(i.cOP,{ghost:!0,size:"small",activeKey:s?["1"]:[],onChange:e=>{e.includes("1")!==s&&n()},items:[{key:"1",label:s?"Show less":"Show more",children:t}]})},o=s(60240),c=s(28946),l=s(87174);let d={name:"Google BigQuery",key:"bq_placeholder",connection_type:o.Rj.BIGQUERY,access:o.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."}],h=[{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:d,category:c.k.DATA_WAREHOUSE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Data Warehouse"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Cloud provider"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"}),(0,a.jsx)(i.HCh,{children:"DSR automation"}),(0,a.jsx)(i.HCh,{children:"Consent orchestration"})]}),(0,a.jsx)(n.cB,{text:"Permissions"}),(0,a.jsx)(n.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,a.jsx)(n.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,a.jsx)(n.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,a.jsx)(n.cB,{text:"Permissions list"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"bigquery.jobs.create"}),(0,a.jsx)(i.HCh,{children:"bigquery.jobs.list"}),(0,a.jsx)(i.HCh,{children:"bigquery.routines.get"}),(0,a.jsx)(i.HCh,{children:"bigquery.routines.list"}),(0,a.jsx)(i.HCh,{children:"bigquery.datasets.get"}),(0,a.jsx)(i.HCh,{children:"bigquery.tables.get"}),(0,a.jsx)(i.HCh,{children:"bigquery.tables.getData"}),(0,a.jsx)(i.HCh,{children:"bigquery.tables.list"}),(0,a.jsx)(i.HCh,{children:"bigquery.tables.updateData"}),(0,a.jsx)(i.HCh,{children:"resourcemanager.projects.get"})]})]})]}),{}),instructions:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Configuring a Fides -> BigQuery Integration"}),(0,a.jsx)(n.cB,{text:"Step 1: Create a Fides project"}),(0,a.jsxs)(n.XU,{children:["Create a Fides Project using"," ",(0,a.jsx)(n.Hn,{href:"https://cloud.google.com/resource-manager/docs/creating-managing-projects#creating_a_project",children:"BigQuery's project creation guide"}),"."]}),(0,a.jsx)(n.cB,{text:"Step 2: Create a Fides role in GCP"}),(0,a.jsxs)(n.vQ,{children:[(0,a.jsxs)(i.HCh,{children:["Create a custom role for Fides using BigQuery's"," ",(0,a.jsx)(n.Hn,{href:"https://cloud.google.com/iam/docs/creating-custom-roles#creating_a_custom_role",children:"roles guide"}),"."]}),(0,a.jsx)(i.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Step 3: Assign permissions to the Fides project"}),(0,a.jsx)(n.XU,{children:"Assign the following permissions to the Fides Project that will be used by your Fides service account to run queries:"}),(0,a.jsx)(n.aG,{data:u}),(0,a.jsx)(n.cB,{text:"Step 4: Assign permissions to any project you'd like Fides to monitor"}),(0,a.jsx)(n.XU,{children:"Grant the following permissions to the Fides service account in every project where you would like Fides detection and discovery monitoring."}),(0,a.jsx)(n.aG,{data:h}),(0,a.jsx)(n.cB,{text:"Step 5: Create a Fides service account in the Fides Project"}),(0,a.jsxs)(n.vQ,{children:[(0,a.jsxs)(i.HCh,{children:["Create a service account for Fides using BigQuery's"," ",(0,a.jsx)(n.Hn,{href:"https://cloud.google.com/iam/docs/service-accounts-create",children:"service account guide"}),"."]}),(0,a.jsx)(i.HCh,{children:"Assign the previously created role to this service account."}),(0,a.jsxs)(i.HCh,{children:["Download the service account JSON keyfile."," ",(0,a.jsx)("strong",{children:"Note: this is sensitive information that should not be shared."})," ","An example of this is below:"]})]}),(0,a.jsx)(n.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,a.jsx)(n.cB,{text:"Step 6: Use the JSON key to authenticate your integration"}),(0,a.jsx)(n.XU,{children:"Provide the JSON key to your Fides instance to securely connect Fides."})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[l.q.DATA_DISCOVERY]},x={name:"Datahub",key:"datahub_placeholder",connection_type:o.Rj.DATAHUB,access:o.uv.READ,created_at:""},p=(0,a.jsx)(a.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:x,category:c.k.DATA_CATALOG,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsx)(n.Z5,{children:(0,a.jsx)(i.HCh,{children:"Data Catalog"})}),(0,a.jsx)(n.cB,{text:"Permissions"}),(0,a.jsx)(n.Z5,{children:(0,a.jsx)(i.HCh,{children:"The related user to the access token must have at least the Editor role on DataHub."})})]})]}),{}),tags:["Sync"],description:p,enabledFeatures:[l.q.DATA_SYNC]},j={name:"DynamoDB",key:"dynamo_placeholder",connection_type:o.Rj.DYNAMODB,access:o.uv.READ,created_at:""},y=[{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."}],v={placeholder:j,category:c.k.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"NoSQL database"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Cloud provider"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"})]}),(0,a.jsx)(n.cB,{text:"Permissions and Policies"}),(0,a.jsxs)(n.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,a.jsx)(i.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,a.jsx)(i.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,a.jsx)(n.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,a.jsx)(n.cB,{text:"Policy List"}),(0,a.jsx)(n.XU,{children:"The following AWS-managed policies provide the necessary permissions for Fides:"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"AmazonDynamoDBReadOnlyAccess"}),(0,a.jsx)(i.HCh,{children:"AmazonDynamoDBFullAccess (only needed if automating governance for DSR or Consent)"})]})]})]}),{}),instructions:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Configuring a Fides -> DynamoDB Integration"}),(0,a.jsx)(n.cB,{text:"Step 1: Create an IAM user in AWS"}),(0,a.jsxs)(n.XU,{children:["Create an IAM user for Fides' DynamoDB access following the"," ",(0,a.jsx)(n.Hn,{href:"https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html#getting-started-iam-user",children:"AWS IAM user guide"}),"."]}),(0,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Step 2: Assign policies to the IAM user"}),(0,a.jsx)(n.XU,{children:"Grant the necessary permissions to the IAM user by attaching directly the appropriate AWS-managed policy for your use case:"}),(0,a.jsx)(n.aG,{data:y}),(0,a.jsx)(n.cB,{text:"Step 3: Create an access key for the IAM user"}),(0,a.jsxs)(n.vQ,{children:[(0,a.jsxs)(i.HCh,{children:["Create an access key for the IAM user under"," ",(0,a.jsx)("strong",{children:"Security credentials"})]}),(0,a.jsx)(i.HCh,{children:"Select the Other use case"}),(0,a.jsx)(i.HCh,{children:"Copy the Access Key ID and Secret Access Key"})]}),(0,a.jsx)(n.cB,{text:"Use the Credentials to Authenticate Your Integration"}),(0,a.jsx)(n.XU,{children:"Provide the credentials to your Fides instance to securely connect Fides."})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[l.q.DATA_DISCOVERY]},f={placeholder:{name:"Cloud SQL - MySQL",key:"google_cloud_sql_for_mysql_placeholder",connection_type:o.Rj.GOOGLE_CLOUD_SQL_MYSQL,access:o.uv.READ,created_at:""},category:c.k.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Database"}),(0,a.jsx)(i.HCh,{children:"SQL database"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"}),(0,a.jsx)(i.HCh,{children:"DSR automation"})]}),(0,a.jsx)(n.cB,{text:"Permissions"}),(0,a.jsx)(n.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,a.jsx)(n.cB,{text:"Permissions list"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"GRANT SELECT"}),(0,a.jsx)(i.HCh,{children:"GRANT UPDATE"}),(0,a.jsx)(i.HCh,{children:"GRANT DELETE"})]})]})]}),{}),tags:["Discovery","Detection"],enabledFeatures:[l.q.DATA_DISCOVERY]},C={placeholder:{name:"Cloud SQL - Postgres",key:"google_cloud_sql_for_postgres_placeholder",connection_type:o.Rj.GOOGLE_CLOUD_SQL_POSTGRES,access:o.uv.READ,created_at:""},category:c.k.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Database"}),(0,a.jsx)(i.HCh,{children:"SQL database"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"}),(0,a.jsx)(i.HCh,{children:"DSR automation"})]}),(0,a.jsx)(n.cB,{text:"Permissions"}),(0,a.jsx)(n.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,a.jsx)(n.XU,{children:"The following GCP service account permissions are needed when setting up Google Cloud SQL for Postgres."}),(0,a.jsx)(n.cB,{text:"Permissions list"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"cloudsql.instances.connect"}),(0,a.jsx)(i.HCh,{children:"cloudsql.instances.get"}),(0,a.jsx)(i.HCh,{children:"cloudsql.instances.login"})]})]})]}),{}),tags:["Discovery","Detection"],enabledFeatures:[l.q.DATA_DISCOVERY]};var S=s(88337);let A={placeholder:{name:"Manual Tasks",key:"manual_placeholder",connection_type:S.R.MANUAL_TASK,access:o.uv.READ,created_at:""},category:c.k.MANUAL,tags:["DSR","Manual tasks"],overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.XU,{children:"Manual Integrations enable you to create and assign tasks for data that requires manual handling during access and erasure requests. Tasks can be assigned to internal users within Fides or external users who complete them securely through the external task portal."}),(0,a.jsxs)(n.XU,{children:["When privacy requests involve manual integrations, execution will pause in a ",(0,a.jsx)("em",{children:"Requires input"})," state until all assigned tasks are completed."]})]}),{}),enabledFeatures:[l.q.TASKS,l.q.WITHOUT_CONNECTION,l.q.CONDITIONS]},b={placeholder:{name:"Microsoft SQL Server",key:"microsoft_sql_server_placeholder",connection_type:o.Rj.MSSQL,access:o.uv.READ,created_at:""},category:c.k.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Database"}),(0,a.jsx)(i.HCh,{children:"SQL database"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"})]}),(0,a.jsx)(n.cB,{text:"Permissions"}),(0,a.jsx)(n.XU,{children:"For detecting databases, Fides requires a user with the following permissions/role:"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"CREATE LOGIN username WITH PASSWORD = 'password';"}),(0,a.jsx)(i.HCh,{children:"GRANT SELECT, INSERT, UPDATE TO username;"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[l.q.DATA_DISCOVERY]},D={placeholder:{name:"MySQL",key:"mysql_placeholder",connection_type:S.R.MYSQL,access:o.uv.READ,created_at:""},category:c.k.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Database"}),(0,a.jsx)(i.HCh,{children:"SQL database"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"})]}),(0,a.jsx)(n.cB,{text:"Permissions"}),(0,a.jsx)(n.XU,{children:"For detecting databases, Fides requires a user with the following permissions/role:"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"CREATE USER 'username' IDENTIFIED WITH authentication_plugin BY 'password';"}),(0,a.jsx)(i.HCh,{children:"GRANT SELECT, INSERT ON database.* TO 'username'@'%';"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[l.q.DATA_DISCOVERY]},R={name:"Okta",key:"okta_placeholder",connection_type:S.R.OKTA,access:o.uv.READ,created_at:""},w=(0,a.jsx)(a.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."}),_={placeholder:R,category:c.k.IDENTITY_PROVIDER,tags:["Discovery","Inventory"],overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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:[l.q.DATA_DISCOVERY]},E={placeholder:{name:"Postgres",key:"postgres_placeholder",connection_type:S.R.POSTGRES,access:o.uv.READ,created_at:""},category:c.k.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Database"}),(0,a.jsx)(i.HCh,{children:"SQL database"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"})]}),(0,a.jsx)(n.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,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"CREATE USER username WITH LOGIN;"}),(0,a.jsx)(i.HCh,{children:"GRANT SELECT ON ALL TABLES IN SCHEMA public TO username;"}),(0,a.jsx)(i.HCh,{children:"GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO username;"})]})]})]}),{}),tags:["Detection","Discovery"],enabledFeatures:[l.q.DATA_DISCOVERY]},T={placeholder:{name:"Amazon RDS MySQL",key:"rds_mysql_placeholder",connection_type:o.Rj.RDS_MYSQL,access:o.uv.READ,created_at:""},category:c.k.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Database"}),(0,a.jsx)(i.HCh,{children:"SQL database"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"})]}),(0,a.jsx)(n.cB,{text:"Permissions"}),(0,a.jsx)(n.XU,{children:"For detecting database RDS instances and clusters, Fides requires an IAM user with the following permissions/role:"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"rds:DescribeDBClusters"}),(0,a.jsx)(i.HCh,{children:"rds:DescribeDBInstances"}),(0,a.jsx)(i.HCh,{children:"rds-db:connect"})]}),(0,a.jsx)(n.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,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"CREATE USER 'username' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';"}),(0,a.jsx)(i.HCh,{children:"GRANT SELECT, INSERT ON database.* TO 'username'@'%';"})]})]})]}),{}),tags:["Discovery","Detection"],enabledFeatures:[l.q.DATA_DISCOVERY]},k={placeholder:{name:"Amazon RDS Postgres",key:"rds_postgres_placeholder",connection_type:o.Rj.RDS_POSTGRES,access:o.uv.READ,created_at:""},category:c.k.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Database"}),(0,a.jsx)(i.HCh,{children:"SQL database"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"})]}),(0,a.jsx)(n.cB,{text:"Permissions"}),(0,a.jsx)(n.XU,{children:"For detecting database RDS instances and clusters, Fides requires an IAM user with the following permissions/role:"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"rds:DescribeDBClusters"}),(0,a.jsx)(i.HCh,{children:"rds:DescribeDBInstances"}),(0,a.jsx)(i.HCh,{children:"rds-db:connect"})]}),(0,a.jsx)(n.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,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"CREATE USER username WITH LOGIN;"}),(0,a.jsx)(i.HCh,{children:"GRANT rds_iam TO username;"}),(0,a.jsx)(i.HCh,{children:"GRANT SELECT ON ALL TABLES IN SCHEMA public TO username;"}),(0,a.jsx)(i.HCh,{children:"GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO username;"})]})]})]}),{}),tags:["Discovery","Detection"],enabledFeatures:[l.q.DATA_DISCOVERY]},H={placeholder:{name:"Amazon S3",key:"s3_placeholder",connection_type:o.Rj.S3,access:o.uv.READ,created_at:""},category:c.k.DATA_WAREHOUSE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Object storage"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Cloud provider"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"})]}),(0,a.jsx)(n.cB,{text:"Permissions"}),(0,a.jsx)(n.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,a.jsx)(n.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,a.jsx)(n.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,a.jsx)(n.cB,{text:"Permissions list"}),(0,a.jsx)(n.Z5,{children:(0,a.jsx)(i.HCh,{children:"AmazonS3ReadOnlyAccess"})})]})]}),{}),instructions:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Configuring a Fides -> Amazon S3 Integration"}),(0,a.jsx)(n.cB,{text:"Step 1: Create an IAM role in AWS"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Step 2: Assign policies to the IAM role"}),(0,a.jsx)(n.XU,{children:"Grant the necessary permissions to the IAM role by attaching the following AWS-managed policy:"}),(0,a.jsx)(n.aG,{data:[{permission:"AmazonS3ReadOnlyAccess",description:"Provides read-only access to all buckets via the AWS Management Console."}]}),(0,a.jsx)(n.cB,{text:"Step 3: Create an IAM user for assuming a role"}),(0,a.jsxs)(n.XU,{children:["Follow the ",(0,a.jsx)(n.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,a.jsx)(n.cB,{text:"Step 4: Grant the IAM user permission to assume the Fides S3 Access Role"}),(0,a.jsx)(n.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,a.jsx)(n.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,a.jsx)(n.cB,{text:"Step 5: Create an access key for the IAM user"}),(0,a.jsxs)(n.vQ,{children:[(0,a.jsxs)(i.HCh,{children:["Create an access key for the IAM user under"," ",(0,a.jsx)("strong",{children:"Security credentials"}),"."]}),(0,a.jsx)(i.HCh,{children:"Select the Other use case"}),(0,a.jsx)(i.HCh,{children:"Copy the Access Key ID and Secret Access Key"})]}),(0,a.jsx)(n.cB,{text:"Step 6: Use the credentials to authenticate your integration"}),(0,a.jsxs)(n.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:[l.q.DATA_DISCOVERY]};var F=s(80388);let I={placeholder:{name:"Salesforce",key:"salesforce_placeholder",connection_type:S.R.SAAS,saas_config:{fides_key:"salesforce",name:"Salesforce",type:F.m.SALESFORCE},access:o.uv.WRITE,created_at:""},category:c.k.CRM,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.XU,{children:"Salesforce is a cloud-based customer relationship management (CRM) platform that helps businesses manage sales, marketing, and customer service interactions in a unified system. Connect Fides to your Salesforce instance to automatically discover and track data across both standard and custom objects, detect sensitive information, and automate DSR fulfillment."}),(0,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"What this integration does"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Discover personal data in standard Salesforce objects"}),(0,a.jsx)(i.HCh,{children:"Detect sensitive information across your Salesforce instance"}),(0,a.jsx)(i.HCh,{children:"Automate data subject access requests including data retrieval, updates, and deletions"}),(0,a.jsx)(i.HCh,{children:"Map Salesforce data to your organization's data map"}),(0,a.jsx)(i.HCh,{children:"Discover and map custom Salesforce objects (requires setting up a monitor)"})]}),(0,a.jsx)(n.XU,{children:"Once integrated, the system will automatically map sensitive personal data for standard Salesforce objects. By setting up a monitor, you can also detect and map custom objects in your Salesforce instance."}),(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"CRM System"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"}),(0,a.jsx)(i.HCh,{children:"DSR automation"})]}),(0,a.jsx)(n.cB,{text:"Prerequisites"}),(0,a.jsx)(n.XU,{children:"To integrate with Salesforce, you need to create a Connected App in your Salesforce instance. This ensures exclusive data control and enhances security by reducing unauthorized access risks."}),(0,a.jsx)(n.cB,{text:"Setup instructions"}),(0,a.jsx)(n.XU,{children:"Follow these steps to set up your Salesforce integration:"}),(0,a.jsxs)(n.vQ,{children:[(0,a.jsx)(i.HCh,{children:"Create a Connected App in Salesforce by following the Salesforce guide"}),(0,a.jsx)(i.HCh,{children:"Configure Basic Connected App Settings"}),(0,a.jsx)(i.HCh,{children:'Uncheck "Require Proof Key for Code Exchange (PKCE) Extension for Supported Authorization Flows"'}),(0,a.jsx)(i.HCh,{children:"Enable OAuth Settings for API Integration with the required scopes"}),(0,a.jsx)(i.HCh,{children:"Enter your Fides Redirect URL (typically https://fides-host.com/api/v1/oauth/callback)"})]}),(0,a.jsx)(n.cB,{text:"Required information"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Domain: Your Salesforce URL"}),(0,a.jsx)(i.HCh,{children:"Consumer Key: Your OAuth client ID"}),(0,a.jsx)(i.HCh,{children:"Consumer Secret: Your OAuth client secret"}),(0,a.jsx)(i.HCh,{children:"Redirect URL: The Fides URL for OAuth callback"}),(0,a.jsx)(i.HCh,{children:"Token Refresh URL: The Salesforce URL for refresh tokens"})]}),(0,a.jsx)(n.cB,{text:"Required OAuth scopes"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Manage user data via APIs (api)"}),(0,a.jsx)(i.HCh,{children:"Perform requests at any time (refresh_token, offline_access)"})]}),(0,a.jsx)(n.cB,{text:"Supported objects"}),(0,a.jsx)(n.XU,{children:"Fides supports both standard and custom Salesforce objects. The integration includes built-in support for common objects such as:"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Contacts"}),(0,a.jsx)(i.HCh,{children:"Cases"}),(0,a.jsx)(i.HCh,{children:"Leads"}),(0,a.jsx)(i.HCh,{children:"Accounts"}),(0,a.jsx)(i.HCh,{children:"Campaign Members"}),(0,a.jsx)(i.HCh,{children:"Custom Objects"})]})]})]}),{}),tags:["API","DSR Automation","Discovery","Detection"],enabledFeatures:[l.q.DATA_DISCOVERY,l.q.DSR_AUTOMATION]},B={placeholder:{name:"Scylla",key:"scylla_placeholder",connection_type:o.Rj.SCYLLA,access:o.uv.READ,created_at:""},category:c.k.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Database"}),(0,a.jsx)(i.HCh,{children:"NoSQL database"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"}),(0,a.jsx)(i.HCh,{children:"DSR automation"})]}),(0,a.jsx)(n.cB,{text:"Permissions"}),(0,a.jsx)(n.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,a.jsx)(n.cB,{text:"Permissions list"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"SELECT ALL KEYSPACES"}),(0,a.jsx)(i.HCh,{children:"MODIFY ALL KEYSPACES"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[l.q.DATA_DISCOVERY]},O={placeholder:{name:"Snowflake",key:"snowflake_placeholder",connection_type:o.Rj.SNOWFLAKE,access:o.uv.READ,created_at:""},category:c.k.DATA_WAREHOUSE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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,a.jsxs)(r,{children:[(0,a.jsx)(n.cB,{text:"Categories"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"Database"}),(0,a.jsx)(i.HCh,{children:"SQL database"}),(0,a.jsx)(i.HCh,{children:"Storage system"}),(0,a.jsx)(i.HCh,{children:"Data detection"}),(0,a.jsx)(i.HCh,{children:"Data discovery"})]}),(0,a.jsx)(n.cB,{text:"Permissions"}),(0,a.jsxs)(n.Z5,{children:[(0,a.jsx)(i.HCh,{children:"CREATE ROLE my_monitor_role;"}),(0,a.jsx)(i.HCh,{children:"GRANT USAGE ON DATABASE DATABASE_1 TO ROLE my_monitor_role;"}),(0,a.jsx)(i.HCh,{children:"GRANT USAGE ON SCHEMA DATABASE_1.TEST_SCHEMA TO ROLE my_monitor_role;"}),(0,a.jsx)(i.HCh,{children:"GRANT SELECT ON ALL TABLES IN SCHEMA DATABASE_1.TEST_SCHEMA TO ROLE my_monitor_role;"}),(0,a.jsx)(i.HCh,{children:"CREATE USER test_user PASSWORD='***';"}),(0,a.jsx)(i.HCh,{children:"GRANT ROLE my_monitor_role TO USER test_user;"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"],enabledFeatures:[l.q.DATA_DISCOVERY]},L={placeholder:{name:"Website",key:"website_placeholder",connection_type:S.R.WEBSITE,access:o.uv.READ,created_at:""},category:c.k.WEBSITE,tags:["Consent","Discovery","Detection"],overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.cB,{text:"Overview"}),(0,a.jsx)(n.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:[l.q.DATA_DISCOVERY]},P=[I],q={[S.R.BIGQUERY]:m,[S.R.DATAHUB]:g,[S.R.DYNAMODB]:v,[S.R.GOOGLE_CLOUD_SQL_MYSQL]:f,[S.R.GOOGLE_CLOUD_SQL_POSTGRES]:C,[S.R.MSSQL]:b,[S.R.OKTA]:_,[S.R.RDS_MYSQL]:T,[S.R.RDS_POSTGRES]:k,[S.R.S3]:H,[S.R.SCYLLA]:B,[S.R.SNOWFLAKE]:O,[S.R.MYSQL]:D,[S.R.WEBSITE]:L,[S.R.POSTGRES]:E,[S.R.MANUAL_TASK]:A},M=[...Object.values(q),...P],N=[...Object.keys(q),S.R.SAAS],U=e=>({placeholder:{name:e.human_readable,key:"".concat(e.identifier,"_placeholder"),connection_type:S.R.SAAS,saas_config:{fides_key:e.identifier,name:e.human_readable,type:e.identifier},access:o.uv.WRITE,created_at:""},category:e.category||c.k.CUSTOM,tags:e.tags||["API","Custom"],enabledFeatures:e.enabled_features||[l.q.DSR_AUTOMATION]}),z={placeholder:{name:"",key:"placeholder",connection_type:S.R.MANUAL,access:o.uv.READ,created_at:""},category:c.k.DATA_WAREHOUSE,tags:[],enabledFeatures:[]};var G=(e,t,s)=>{if(!e)return z;if(e===S.R.SAAS&&t){if(s){let e=s.find(e=>e.identifier===t);if(e){let s=U(e),a=P.find(e=>{var s;return(null===(s=e.placeholder.saas_config)||void 0===s?void 0:s.type)===t});return a&&a.overview?{...s,overview:a.overview}:s}}let e=P.find(e=>{var s;return(null===(s=e.placeholder.saas_config)||void 0===s?void 0:s.type)===t});if(e)return e}if(e!==S.R.SAAS){let t=q[e];if(t)return t}return z}},93633:function(e,t,s){"use strict";s.d(t,{z:function(){return r}});var a=s(17245),i=s(39158),n=s(14207);let r=e=>{let{connection:t,connectionOption:s,testData:r}=e,[o]=(0,n.rO)(),{handleError:c}=(0,a.HK)(),l=(0,i.UD8)();return{handleAuthorize:async()=>{if(!(null==t?void 0:t.key)){l.error("Authorization failed: connection key not found");return}try{let e=await o(t.key).unwrap();window.location.href=e}catch(e){c(e)}},needsAuthorization:!!(null==s?void 0:s.authorization_required)&&!r.authorized}}},64176:function(e,t,s){"use strict";var a=s(27378),i=s(20682),n=s(88337);t.Z=(e,t)=>{let{data:s}=(0,i.$I)({});return(0,a.useMemo)(()=>e===n.R.SAAS?null==s?void 0:s.items.find(e=>e.identifier===t):null==s?void 0:s.items.find(t=>t.identifier===e),[s,e,t])}},35030:function(e,t,s){"use strict";s.d(t,{qS:function(){return i}});var a=s(28946);let i=e=>{switch(e){case a.k.DATA_CATALOG:return"Data Catalog";case a.k.DATA_WAREHOUSE:return"Data Warehouse";case a.k.DATABASE:return"Database";case a.k.IDENTITY_PROVIDER:return"Identity Provider";case a.k.WEBSITE:return"Website";case a.k.CRM:return"CRM";case a.k.MANUAL:return"Manual";case a.k.MARKETING:return"Marketing";case a.k.ANALYTICS:return"Analytics";case a.k.ECOMMERCE:return"E-commerce";case a.k.COMMUNICATION:return"Communication";case a.k.CUSTOM:return"Custom";default:return e}}},11013:function(e,t,s){"use strict";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"]})})})},57072:function(e,t,s){"use strict";s.d(t,{Bd:function(){return a.Bd},L5:function(){return a.L5},MO:function(){return a.MO},qb:function(){return a.qb}});var a=s(5785)},31883:function(e,t,s){"use strict";s.d(t,{Bw:function(){return a.Bw},D4:function(){return a.D4}});var a=s(19043)},72707:function(e){e.exports={option:"TaxonomySelect_option__vY6v2"}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3872],{77213:function(e,t,i){i.d(t,{Z:function(){return f}});var n=i(24246),s=i(39158),r=i(88038),a=i.n(r),o=i(86677);i(27378);var l=i(25980),d=i(90867),u=i(42478),c=i(77830),g=()=>{let e=(0,o.useRouter)();return(0,n.jsx)(s.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)(s.xuv,{children:[(0,n.jsxs)(s.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,n.jsx)(s.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,n.jsx)(s.wpx,{onClick:()=>{e.push(c.AD)},children:"Configure"})]}),(0,n.jsxs)(s.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},f=e=>{let{children:t,title:i,padded:r=!0,mainProps:c}=e,f=(0,l.hz)(),p=(0,o.useRouter)(),h="/privacy-requests"===p.pathname||"/datastore-connection"===p.pathname,m=!(f.flags.messagingConfiguration&&h),{data:x}=(0,u.JE)(void 0,{skip:m}),{data:v}=(0,d.PW)(void 0,{skip:m}),j=f.flags.messagingConfiguration&&(!x||!v)&&h;return(0,n.jsxs)(s.kCb,{"data-testid":i,direction:"column",h:"100vh",children:[(0,n.jsxs)(a(),{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.jsxs)(s.kCb,{as:"main",direction:"column",py:r?6:0,px:r?10:0,h:r?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...c,children:[j?(0,n.jsx)(g,{}):null,t]})]})}},58754:function(e,t,i){var n=i(24246),s=i(39158),r=i(70788);t.Z=e=>{let{heading:t,breadcrumbItems:i,isSticky:a=!0,children:o,rightContent:l,style:d,...u}=e;return(0,n.jsxs)("div",{...u,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",...d}:{paddingBottom:"24px",...d},children:[(0,n.jsxs)(s.jqI,{justify:"space-between",children:["string"==typeof t?(0,n.jsx)(s.lQT,{className:i||o?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,l&&(0,n.jsx)("div",{"data-testid":"page-header-right-content",children:l})]}),!!i&&(0,n.jsx)(r.m,{className:o?"pb-4":void 0,items:i,"data-testid":"page-breadcrumb"}),o]})}},79789:function(e,t,i){i.d(t,{Hn:function(){return o},XU:function(){return a},Z5:function(){return l},aG:function(){return c},cB:function(){return r},hX:function(){return u},vQ:function(){return d}});var n=i(24246),s=i(39158);let r=e=>{let{text:t,...i}=e;return(0,n.jsx)(s.X6q,{fontSize:"sm",mt:4,mb:1,...i,children:t})},a=e=>{let{children:t}=e;return(0,n.jsx)(s.xvT,{fontSize:"14px",mb:4,children:t})},o=e=>{let{children:t,href:i}=e;return(0,n.jsx)(s.rUS,{href:i,textDecoration:"underline",isExternal:!0,children:t})},l=e=>{let{children:t}=e;return(0,n.jsx)(s.QI$,{fontSize:"14px",mb:4,children:t})},d=e=>{let{children:t}=e;return(0,n.jsx)(s.GSI,{fontSize:"14px",mb:4,ml:6,children:t})},u=e=>{let{children:t}=e;return(0,n.jsx)(s.EKh,{display:"block",whiteSpace:"pre",p:4,mb:4,overflowX:"scroll",children:t})},c=e=>{let{data:t}=e;return(0,n.jsxs)(s.iA_,{fontSize:"14px",children:[(0,n.jsx)(s.hrZ,{children:(0,n.jsxs)(s.Tr,{children:[(0,n.jsx)(s.Th,{children:"Permission"}),(0,n.jsx)(s.Th,{children:"Description"})]})}),(0,n.jsx)(s.p3B,{children:t.map(e=>(0,n.jsxs)(s.Tr,{children:[(0,n.jsx)(s.Td,{children:(0,n.jsx)(s.Vp9,{children:e.permission})}),(0,n.jsx)(s.Td,{children:e.description})]},e.permission))})]})}},70788:function(e,t,i){i.d(t,{m:function(){return d}});var n=i(24246),s=i(39158),r=i(79894),a=i.n(r),o=i(27378);let{Text:l}=s.AntTypography,d=e=>{let{items:t,...i}=e,r=(0,o.useMemo)(()=>null==t?void 0:t.map((e,i)=>{let r=i===t.length-1,o={...e},d=o.onClick&&!o.href;return("string"==typeof o.title&&(o.title=(0,n.jsx)(l,{style:{color:"inherit",maxWidth:r?void 0:400},ellipsis:!r,id:r?"breadcrumb-current-page":void 0,children:o.title})),d)?o.title=(0,n.jsx)(s.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)(s.zrq,{items:r,...i})}},89200:function(e,t,i){var n=i(24246),s=i(47935),r=i(98559),a=i(80356);t.Z=e=>{let{resource:t}=e;return(0,n.jsx)(s.G3,{value:(0,r.Z)(t),fontWeight:(0,a.Z)(t)?"semibold":"normal"})}},5945:function(e,t,i){var n=i(24246),s=i(39158),r=i(47935),a=i(8151);let o={[a.e.ATTENTION_REQUIRED]:s.tAb.ERROR,[a.e.APPROVED]:s.tAb.SUCCESS,[a.e.IN_REVIEW]:s.tAb.WARNING,[a.e.CLASSIFYING]:s.tAb.INFO,[a.e.NONE]:s.tAb.MARBLE};t.Z=e=>{let{status:t}=e;return(0,n.jsx)(r.A4,{color:o[t],value:t})}},98800:function(e,t,i){var n=i(24246),s=i(39158),r=i(79789);t.Z=e=>{var t;let{dataset:i,onClose:a}=e;return(0,n.jsxs)(s.dys,{isOpen:!!i,onClose:a,size:"md",children:[(0,n.jsx)(s.P1B,{}),(0,n.jsxs)(s.scA,{children:[(0,n.jsx)(s.OXI,{children:(null==i?void 0:i.name)||(null==i?void 0:i.urn)}),(0,n.jsx)(s.cCv,{}),(0,n.jsxs)(s.Ng0,{children:[(0,n.jsx)(r.cB,{text:"Title",mt:0}),(0,n.jsx)(r.XU,{children:null!==(t=null==i?void 0:i.name)&&void 0!==t?t:null==i?void 0:i.urn}),(null==i?void 0:i.description)&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.cB,{text:"Description"}),(0,n.jsx)(r.XU,{children:null==i?void 0:i.description})]})]})]})]})}},81406:function(e,t,i){var n=i(24246),s=i(39158);t.Z=()=>(0,n.jsxs)(s.gCW,{mt:6,p:10,spacing:4,borderRadius:"base",maxW:"70%","data-testid":"empty-state",alignSelf:"center",margin:"auto",children:[(0,n.jsx)(s.xvT,{fontSize:"md",fontWeight:"600",children:"No resources found"}),(0,n.jsx)(s.xvT,{fontSize:"sm",children:"You're up to date!"})]})},69172:function(e,t,i){var n=i(24246),s=i(92222),r=i(39158),a=i(27378),o=i(47935),l=i(72625),d=i(89200),u=i(5945),c=i(8151);let g=(0,s.Cl)(),f=e=>{let{onDetailClick:t}=e;return(0,n.jsxs)(r.v2r,{children:[(0,n.jsx)(r.j2t,{as:r.wpx,size:"small",type:"text",icon:(0,n.jsx)(r.nXP,{transform:"rotate(90deg)"}),className:"w-6 gap-0","data-testid":"dataset-actions"}),(0,n.jsx)(r.qyq,{children:(0,n.jsx)(r.sNh,{"data-testid":"view-dataset-details",onClick:t,children:"View details"})})]})};t.Z=e=>{let{onDetailClick:t}=e;return(0,a.useMemo)(()=>[g.accessor(e=>e.name,{id:"name",cell:e=>(0,n.jsx)(d.Z,{resource:e.row.original}),header:"Dataset"}),g.display({id:"status",cell:e=>{let{row:t}=e;return(0,n.jsx)(u.Z,{status:(0,c.u)(t.original)})},header:"Status"}),g.accessor(e=>e.description,{id:"description",cell:e=>(0,n.jsx)(o.G3,{value:e.getValue()}),header:"Description"}),g.accessor(e=>e.updated_at,{id:"lastUpdated",cell:e=>(0,n.jsx)(l.Cy,{time:e.getValue()}),header:"Updated"}),g.display({id:"actions",cell:e=>{let{row:i}=e;return(0,n.jsx)(f,{onDetailClick:()=>t(i.original)})},size:25,meta:{disableRowClick:!0}})],[t])}},8151:function(e,t,i){i.d(t,{e:function(){return s},u:function(){return a}});var n,s,r=i(60240);(n=s||(s={})).ATTENTION_REQUIRED="Attention required",n.IN_REVIEW="In review",n.APPROVED="Approved",n.CLASSIFYING="Classifying",n.NONE="None";let a=e=>{if(!e)return"Approved";let t=e.diff_status===r.LL.ADDITION||e.diff_status===r.LL.REMOVAL,i=e.child_diff_statuses&&(e.child_diff_statuses[r.LL.ADDITION]||e.child_diff_statuses[r.LL.REMOVAL]);if(t||i)return"Attention required";let n=e.diff_status===r.LL.CLASSIFICATION_QUEUED||e.diff_status===r.LL.CLASSIFYING,s=e.child_diff_statuses&&(e.child_diff_statuses[r.LL.CLASSIFICATION_QUEUED]||e.child_diff_statuses[r.LL.CLASSIFYING]);if(n||s)return"Classifying";let a=e.diff_status===r.LL.CLASSIFICATION_ADDITION||e.diff_status===r.LL.CLASSIFICATION_UPDATE,o=e.child_diff_statuses&&(e.child_diff_statuses[r.LL.CLASSIFICATION_ADDITION]||e.child_diff_statuses[r.LL.CLASSIFICATION_UPDATE]);return a||o?"In review":"Approved"}},7940:function(e,t,i){i.d(t,{G:function(){return s}});var n=i(60240);let s=e=>{var t,i,s;return e?e.resource_type?e.resource_type:(null===(t=e.schemas)||void 0===t?void 0:t.length)?n.D$.DATABASE:(null===(i=e.tables)||void 0===i?void 0:i.length)?n.D$.SCHEMA:(null===(s=e.fields)||void 0===s?void 0:s.length)?n.D$.TABLE:n.D$.FIELD:void 0}},98559:function(e,t){t.Z=e=>{let{name:t,urn:i,monitor_config_id:n,database_name:s,schema_name:r,table_name:a,top_level_field_name:o,top_level_field_urn:l}=e;if(!o)return t;let d=i.split(".");return l?i.replace("".concat(l).concat("."),""):([n,s,r,a,o].forEach(e=>{if(e){let t=d.indexOf(e);t>-1&&d.splice(t,1)}}),d.join("."))}},36168:function(e,t){t.Z=e=>{var t;return!!e.parent_table_urn&&null!==(t=e.sub_field_urns)&&void 0!==t&&!!t.length&&!e.top_level_field_name}},80356:function(e,t,i){var n=i(7940),s=i(36168),r=i(60240);t.Z=e=>(0,n.G)(e)!==r.D$.FIELD||(0,s.Z)(e)},42478:function(e,t,i){i.d(t,{FU:function(){return d},JE:function(){return s},Ki:function(){return c},SU:function(){return g},W:function(){return f},h9:function(){return r},jc:function(){return n},qt:function(){return l},sn:function(){return u}});let{useGetEmailInviteStatusQuery:n,useGetActiveMessagingProviderQuery:s,useCreateMessagingConfigurationMutation:r,useCreateMessagingConfigurationSecretsMutation:a,useGetMessagingConfigurationDetailsQuery:o,useGetMessagingConfigurationsQuery:l,useGetMessagingConfigurationByKeyQuery:d,useUpdateMessagingConfigurationByKeyMutation:u,useUpdateMessagingConfigurationSecretsByKeyMutation:c,useCreateTestConnectionMessageMutation:g,useDeleteMessagingConfigurationByKeyMutation:f}=i(78780).u.injectEndpoints({endpoints:e=>({getEmailInviteStatus:e.query({query:()=>({url:"/messaging/email-invite/status"}),providesTags:()=>["Email Invite Status"]}),createMessagingConfiguration:e.mutation({query:e=>({url:"messaging/config",method:"POST",body:e}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getActiveMessagingProvider:e.query({queryFn:async(e,t,i,n)=>{let s=await n({url:"messaging/default/active"});return s.error&&404===s.error.status?{data:null}:s},providesTags:["Messaging Config"]}),createMessagingConfigurationSecrets:e.mutation({query:e=>({url:"messaging/default/".concat(e.service_type,"/secret"),method:"PUT",body:e.details}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getMessagingConfigurationDetails:e.query({query:e=>({url:"messaging/default/".concat(e.type)}),providesTags:["Messaging Config"]}),getMessagingConfigurations:e.query({query:()=>({url:"messaging/config"}),providesTags:["Messaging Config"]}),getMessagingConfigurationByKey:e.query({query:e=>({url:"messaging/config/".concat(e.key)}),providesTags:["Messaging Config"]}),createTestConnectionMessage:e.mutation({query:e=>({url:"messaging/test/".concat(e.service_type),method:"POST",body:e.details}),invalidatesTags:["Messaging Config"]}),updateMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"PATCH",body:e.config}),invalidatesTags:["Messaging Config","Configuration Settings"]}),updateMessagingConfigurationSecretsByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key,"/secret"),method:"PUT",body:e.secrets}),invalidatesTags:["Messaging Config","Configuration Settings"]}),deleteMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"DELETE"}),invalidatesTags:["Messaging Config","Configuration Settings"]})})})}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3931],{58754:function(e,t,i){var n=i(24246),a=i(39158),l=i(70788);t.Z=e=>{let{heading:t,breadcrumbItems:i,isSticky:r=!0,children:o,rightContent:s,style:d,...u}=e;return(0,n.jsxs)("div",{...u,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,n.jsxs)(a.jqI,{justify:"space-between",children:["string"==typeof t?(0,n.jsx)(a.lQT,{className:i||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})]}),!!i&&(0,n.jsx)(l.m,{className:o?"pb-4":void 0,items:i,"data-testid":"page-breadcrumb"}),o]})}},70788:function(e,t,i){i.d(t,{m:function(){return d}});var n=i(24246),a=i(39158),l=i(79894),r=i.n(l),o=i(27378);let{Text:s}=a.AntTypography,d=e=>{let{items:t,...i}=e,l=(0,o.useMemo)(()=>null==t?void 0:t.map((e,i)=>{let l=i===t.length-1,o={...e},d=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,id:l?"breadcrumb-current-page":void 0,children:o.title})),d)?o.title=(0,n.jsx)(a.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)(r(),{href:o.href,className:"ant-breadcrumb-link",children:o.title}),delete o.href)),o}),[t]);return(0,n.jsx)(a.zrq,{items:l,...i})}},8125:function(e,t,i){i.d(t,{V:function(){return l},o:function(){return d}});var n=i(27378),a=i(32735);let l=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},{enableSelection:i=!1,getRowKey:l,bulkActions:r,isLoading:o=!1,isFetching:s=!1,dataSource:d=[],totalRows:u=0,currentPage:g,pageSize:p,customTableProps:c={}}=t,h=(0,n.useCallback)(e=>{if(e&&"object"==typeof e){if(e.id)return String(e.id);if(e.key)return String(e.key)}return String(e)},[]),f=l||h,[m,x]=(0,n.useState)([]),[b,v]=(0,n.useState)([]),S=(0,n.useCallback)(()=>{x([]),v([])},[]),k=(0,n.useMemo)(()=>({selectedRowKeys:m,selectedRows:b,resetSelections:S}),[m,b,S]),C=(0,n.useMemo)(()=>{if(i)return{selectedRowKeys:m,onChange:(e,t)=>{x(e),v(t)}}},[i,m]),y=(0,n.useCallback)((t,i,n)=>{var a,l;let r=null!==(a=t.current)&&void 0!==a?a:e.pageIndex,o=null!==(l=t.pageSize)&&void 0!==l?l:e.pageSize,s=r!==e.pageIndex||o!==e.pageSize;s?(t.current&&t.current!==e.pageIndex&&e.updatePageIndex(t.current),t.pageSize&&t.pageSize!==e.pageSize&&e.updatePageSize(t.pageSize)):e.updateFilters(i||{});let d=n&&!Array.isArray(n)?n.field:void 0,u=n&&!Array.isArray(n)&&null!==n.order?n.order:void 0;s||e.updateSorting(d,u)},[e]),z=(0,n.useMemo)(()=>{var t,i,n,l,r;return{current:null!=g?g:e.pageIndex,pageSize:null!=p?p:e.pageSize,total:u,showSizeChanger:null===(l=null===(t=e.paginationConfig)||void 0===t?void 0:t.showSizeChanger)||void 0===l||l,pageSizeOptions:null!==(r=null===(n=e.paginationConfig)||void 0===n?void 0:null===(i=n.pageSizeOptions)||void 0===i?void 0:i.map(String))&&void 0!==r?r:a.VZ}},[g,e.pageIndex,p,e.pageSize,u,e.paginationConfig]),j=(0,n.useMemo)(()=>({dataSource:d,loading:o||s,pagination:z,onChange:y,rowKey:f,scroll:{x:"max-content",scrollToFirstRowOnChange:!0},size:"small",bordered:!0,...c}),[d,o,s,z,y,f,c]),I=m.map(String),w=b.length>0,O=(0,n.useCallback)(e=>{let t=null==r?void 0:r.actions.find(t=>t.key===e);return t?{disabled:!w||!!t.disabled&&t.disabled(b),loading:t.loading||!1,onClick:()=>t.onClick(b)}:{disabled:!0,loading:!1}},[r,w,b]);return(0,n.useMemo)(()=>({tableProps:j,selectionProps:C,selectionState:k,selectedRows:b,selectedKeys:I,hasSelectedRows:w,resetSelections:S,getBulkActionProps:O,isLoadingOrFetching:o||s,hasData:d.length>0}),[j,C,k,b,I,w,S,O,o,s,d.length])};var r=i(40431),o=i(17245);let s=()=>({filters:(0,r.WJ)(e=>e).withDefault({})}),d=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{pagination:t={},sorting:i={},search:a={},onStateChange:l,disableUrlState:d=!1}=e,{pageIndex:u,pageSize:g,resetPagination:p,updatePageIndex:c,updatePageSize:h,pageSizeOptions:f,showSizeChanger:m}=(0,o.h0)({...t,disableUrlState:d}),{sortKey:x,sortOrder:b,updateSorting:v,resetSorting:S}=(0,o.rK)({...i,disableUrlState:d}),{searchQuery:k,updateSearch:C,resetSearch:y}=(0,o.Rx)({...a,disableUrlState:d}),[z,j]=(0,n.useState)({}),I=(0,n.useMemo)(()=>d?null:s(),[d]),[w,O]=(0,r.XI)(null!=I?I:{},{history:"push"}),M=(0,n.useMemo)(()=>{var e;return{pageIndex:u,pageSize:g,sortKey:x,sortOrder:b,columnFilters:d?z:null!==(e=w.filters)&&void 0!==e?e:{},searchQuery:k}},[d,z,w,u,g,x,b,k]),F=(0,n.useCallback)((e,t)=>{v(e,t),p()},[v,p]),N=(0,n.useCallback)(e=>{if(d)j(e);else{let t=Object.fromEntries(Object.entries(e).filter(e=>{let[,t]=e;return null!=t}));O({filters:Object.keys(t).length>0?t:null})}p()},[d,O,p]),A=(0,n.useCallback)(e=>{C(e),p()},[C,p]),T=(0,n.useCallback)(()=>{d?j({}):O({filters:null}),p(),S(),y()},[d,O,p,S,y]);return(0,n.useEffect)(()=>{l&&l(M)},[M,l]),{state:M,pageIndex:M.pageIndex,pageSize:M.pageSize,updatePageIndex:c,updatePageSize:h,sortKey:M.sortKey,sortOrder:M.sortOrder,updateSorting:F,columnFilters:M.columnFilters,updateFilters:N,searchQuery:M.searchQuery,updateSearch:A,resetState:T,paginationConfig:{pageSizeOptions:f,showSizeChanger:m}}}}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[401],{97181:function(e,a,l){l.d(a,{d:function(){return d}});var n=l(24246),t=l(39158),s=l(34090),i=l(27378),r=l(46238),o=l(40324);let d=e=>{let{name:a,label:l,labelProps:d,tooltip:c,isRequired:u,layout:v="inline",helperText:h,...m}=e,[x,j,{setValue:g}]=(0,s.U$)(a),p=!!(j.touched&&j.error),[f,b]=(0,i.useState)("");x.value||"tags"!==m.mode&&"multiple"!==m.mode||(x.value=[]),"tags"===m.mode&&"string"==typeof x.value&&(x.value=[x.value]);let y="tags"===m.mode?(e,a)=>e?e.value!==f||x.value.includes(f)?m.optionRender?m.optionRender(e,a):e.label:'Create "'.concat(f,'"'):void 0:m.optionRender||void 0,C=e=>{b(e),m.onSearch&&m.onSearch(e)},w=(e,a)=>{g(e),m.onChange&&m.onChange(e,a)};return"inline"===v?(0,n.jsx)(t.NIc,{isInvalid:p,isRequired:u,children:(0,n.jsxs)(t.rjZ,{templateColumns:l?"1fr 3fr":"1fr",children:[l?(0,n.jsx)(o.__,{htmlFor:m.id||a,...d,children:l}):null,(0,n.jsxs)(t.jqI,{align:"center",children:[(0,n.jsxs)(t.jqI,{vertical:!0,flex:1,className:"mr-2",children:[(0,n.jsx)(t.WPr,{...x,id:m.id||a,"data-testid":"controlled-select-".concat(x.name),...m,optionRender:y,onSearch:"tags"===m.mode?C:void 0,onChange:w,value:x.value||void 0,status:p?"error":void 0}),h&&(0,n.jsx)(t.Q6r,{children:h}),(0,n.jsx)(o.Bc,{isInvalid:p,message:j.error,fieldName:x.name})]}),(0,n.jsx)(r.b,{label:c,className:p?"mt-2 self-start":void 0})]})]})}):(0,n.jsx)(t.NIc,{isInvalid:p,isRequired:u,children:(0,n.jsxs)(t.gCW,{alignItems:"start",children:[(0,n.jsxs)(t.jqI,{align:"center",children:[l?(0,n.jsx)(o.__,{htmlFor:m.id||a,fontSize:"xs",my:0,mr:1,...d,children:l}):null,(0,n.jsx)(r.b,{label:c})]}),(0,n.jsx)(t.WPr,{...x,id:m.id||a,"data-testid":"controlled-select-".concat(x.name),...m,optionRender:y,onSearch:"tags"===m.mode?C:void 0,onChange:w,value:x.value||void 0,status:p?"error":void 0}),h&&(0,n.jsx)(t.Q6r,{style:{marginTop:0},children:h}),(0,n.jsx)(o.Bc,{isInvalid:p,message:j.error,fieldName:x.name})]})})}},8133:function(e,a,l){var n=l(24246),t=l(39158);a.Z=e=>{let{title:a,children:l,isOpen:s,onClose:i,modalContentProps:r,showCloseButton:o=!1,footer:d,...c}=e;return(0,n.jsxs)(t.u_l,{isOpen:s,onClose:i,isCentered:!0,scrollBehavior:"inside",size:"xl",id:"add-modal",...c,children:[(0,n.jsx)(t.ZAr,{}),(0,n.jsxs)(t.hzk,{textAlign:"left",p:0,"data-testid":"add-modal-content",...r,children:[o&&(0,n.jsx)(t.olH,{}),(0,n.jsx)(t.xBx,{p:0,children:(0,n.jsx)(t.xuv,{backgroundColor:"gray.50",px:6,py:4,border:"1px",borderColor:"gray.200",borderTopRadius:6,display:"flex",justifyContent:"space-between",alignItems:"center",children:(0,n.jsx)(t.X6q,{as:"h3",size:"sm",children:a})})}),(0,n.jsx)(t.fef,{pb:4,overflow:"auto",children:l}),d&&(0,n.jsx)(t.mzw,{children:d})]})]})}},33335:function(e,a,l){l.d(a,{E:function(){return n}});let n=e=>e.toLowerCase().replace(/[ .]/g,"_").replace(/[^a-zA-Z0-9_<>-]/g,"")},36345:function(e,a,l){l.d(a,{Z:function(){return j}});var n=l(24246),t=l(39158),s=l(34090),i=l(27378),r=l(16134),o=l(40324);let d=(0,t.IUT)({displayName:"CompassIcon",viewBox:"0 0 512 512",path:(0,n.jsx)("path",{fill:"currentColor",d:"M464 256A208 208 0 1 0 48 256a208 208 0 1 0 416 0zM0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm306.7 69.1L162.4 380.6c-19.4 7.5-38.5-11.6-31-31l55.5-144.3c3.3-8.5 9.9-15.1 18.4-18.4l144.3-55.5c19.4-7.5 38.5 11.6 31 31L325.1 306.7c-3.2 8.5-9.9 15.1-18.4 18.4zM288 256a32 32 0 1 0 -64 0 32 32 0 1 0 64 0z"})});var c=l(46238),u=l(57865);let{Text:v}=t.AntTypography,h=e=>{let{searchText:a,suggestion:l,...t}=e;return a&&l?(0,n.jsxs)(v,{"aria-hidden":!0,style:{pointerEvents:"none",position:"absolute",zIndex:10,top:"var(--ant-line-width)",bottom:"var(--ant-line-width)",left:"var(--ant-padding-sm)",lineHeight:"calc(var(--ant-control-height) - var(--ant-line-width))"},...t,children:[(0,n.jsx)(v,{className:"text-transparent",children:a}),(0,n.jsx)(v,{type:"secondary",children:l.substring(a.length)})]}):null},m="Create new system",x=e=>{let{active:a,disabled:l,onRefreshSuggestions:s}=e,i={bg:a?"complimentary.500":"gray.100"};return(0,n.jsxs)(t.gCW,{children:[(0,n.jsx)(t.LZC,{minHeight:"18px"}),(0,n.jsxs)(t.v2r,{children:[(0,n.jsx)(t.j2t,{as:t.hU,size:"sm",isDisabled:l,icon:(0,n.jsx)(d,{color:a?"white":"gray.700",boxSize:4}),"aria-label":"Update information from Compass","data-testid":"refresh-suggestions-btn",_hover:{_disabled:i},...i}),(0,n.jsx)(t.qyq,{children:(0,n.jsx)(t.sNh,{onClick:s,children:(0,n.jsx)(t.xvT,{fontSize:"xs",lineHeight:4,children:"Reset to Compass defaults"})})})]})]})};var j=e=>{var a,l;let{label:d,isCreate:v,lockedForGVL:j,options:g,isLoading:p,onVendorSelected:f}=e,b=(0,r.C)(u.bN),[y,C,{setValue:w}]=(0,s.U$)("name"),_=!!(C.touched&&C.error),I={...y,value:null!==(a=y.value)&&void 0!==a?a:""},{touched:N,values:z,setTouched:S,setFieldValue:R,validateForm:k}=(0,s.u6)(),[q,E]=(0,i.useState)(!0),W=null!==(l=g.find(e=>e.value===I.value))&&void 0!==l?l:{label:I.value,value:I.value,description:""},B=(e,a)=>!!(null==a?void 0:a.label.toLowerCase().startsWith(e.toLowerCase())),[T,U]=(0,i.useState)(""),Z=(0,i.useMemo)(()=>g.filter(e=>B(T,e)),[g,T]),A=(0,i.useMemo)(()=>{let e=g;return v&&T&&(e=[...g,{label:"".concat(m,' "').concat(T,'"...'),value:T}]),e},[v,g,T]),F=!!T&&Z.length>0,L=j&&!v;(0,i.useEffect)(()=>{E(!I.value&&!z.vendor_id)},[I.value,z.vendor_id,E]),(0,i.useEffect)(()=>{k()},[q,k]);let M=async()=>{U(""),R("vendor_id",void 0),await w(""),S({...N,vendor_id:!1,name:!1}),f(void 0)},P=async e=>{if(e){let a=g.some(a=>a.value===e.value)?e.value:void 0;R("vendor_id",a),await w(e.label.startsWith(m)?e.value:e.label),S({...N,vendor_id:!0,name:!0}),f(a)}},H=async e=>{I.onBlur(e),T&&await w(T),S({...N,name:!0})},D=async e=>{Z.length>0&&T!==Z[0].label?(e.preventDefault(),U(Z[0].label),R("vendor_id",Z[0].value),await w(Z[0].label),f(Z[0].value)):(R("vendor_id",void 0),await w(T)),S({...N,name:!0})},O=(0,n.jsx)(t.NIc,{isInvalid:_,isRequired:!0,width:"100%",children:(0,n.jsxs)(t.gCW,{alignItems:"start",position:"relative",width:"100%",children:[(0,n.jsxs)(t.Ugi,{spacing:1,children:[(0,n.jsx)(o.__,{htmlFor:"vendorName",fontSize:"xs",my:0,mr:1,children:d}),(0,n.jsx)(c.b,{label:"Enter the system name"})]}),(0,n.jsxs)(t.xuv,{width:"100%",className:"relative",children:[(0,n.jsx)(t.WPr,{id:"vendorName",labelInValue:!0,autoFocus:!0,allowClear:!0,options:A,loading:p,filterOption:(e,a)=>B(e,a)||!!(null==a?void 0:a.label.startsWith(m)),optionFilterProp:"label",value:W,placeholder:"Enter system name...","aria-label":"Select a system",disabled:L,onChange:P,onSearch:U,onClear:M,onBlur:H,onInputKeyDown:e=>{T&&"Tab"===e.key&&D(e)},status:_?"error":void 0,"data-testid":"vendor-name-select"}),(0,n.jsx)(h,{searchText:T,suggestion:Z.length?Z[0].label:""})]}),(0,n.jsx)(o.Bc,{isInvalid:_,message:C.error,fieldName:"name"})]})});return(0,n.jsxs)(t.Ugi,{alignItems:"flex-start",width:"full",children:[q?O:(0,n.jsx)(o.j0,{autoFocus:!0,id:"name",name:"name",label:"System name",tooltip:"Enter the system name",variant:"stacked",disabled:L,isRequired:!0,inputRightElement:L?null:(0,n.jsx)(t.PZ7,{onClick:M,size:"sm","data-testid":"clear-btn"})}),(0,n.jsx)(x,{active:!!z.vendor_id||F,disabled:!z.vendor_id||"showing"===b,onRefreshSuggestions:()=>f(z.vendor_id)})]})}}}]);