ethyca-fides 2.72.3rc1__py2.py3-none-any.whl → 2.73.0rc0__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.

Potentially problematic release.


This version of ethyca-fides might be problematic. Click here for more details.

Files changed (332) hide show
  1. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.73.0rc0.dist-info}/METADATA +2 -2
  2. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.73.0rc0.dist-info}/RECORD +271 -259
  3. fides/_version.py +3 -3
  4. fides/api/alembic/migrations/versions/a55e12c2c2df_add_tagging_instructions_to_data_.py +29 -0
  5. fides/api/api/v1/endpoints/generic_overrides.py +70 -1
  6. fides/api/models/privacy_preference.py +1 -0
  7. fides/api/models/sql_models.py +3 -0
  8. fides/api/schemas/taxonomy_extensions.py +8 -0
  9. fides/api/service/async_dsr/strategies/async_dsr_strategy_polling.py +1 -0
  10. fides/api/service/connectors/query_configs/saas_query_config.py +141 -78
  11. fides/api/service/connectors/saas_connector.py +26 -39
  12. fides/api/service/privacy_request/request_service.py +1 -1
  13. fides/api/util/saas_util.py +27 -1
  14. fides/config/execution_settings.py +1 -1
  15. fides/ui-build/static/admin/404.html +1 -1
  16. fides/ui-build/static/admin/_next/static/Y4fC3QVMk1ujcOb92jMd8/_buildManifest.js +1 -0
  17. fides/ui-build/static/admin/_next/static/chunks/{1099-d1b22e891705eaf8.js → 1099-fa8b82f521b23cce.js} +1 -1
  18. fides/ui-build/static/admin/_next/static/chunks/{1115-584dac093cef6cc3.js → 1115-d7ce851b36722c41.js} +1 -1
  19. fides/ui-build/static/admin/_next/static/chunks/{1437-4604a69888906ec0.js → 1438-62df8751f76235e7.js} +1 -1
  20. fides/ui-build/static/admin/_next/static/chunks/{1817-bfe4139324aa0279.js → 1817-0de0312294019817.js} +1 -1
  21. fides/ui-build/static/admin/_next/static/chunks/{1975.50599b6774562644.js → 1975.6ca0e76b5a3d1955.js} +1 -1
  22. fides/ui-build/static/admin/_next/static/chunks/{2040-8eead9d29546a50f.js → 2040-a18cc21821e2d121.js} +1 -1
  23. fides/ui-build/static/admin/_next/static/chunks/{2397-92f628c53688925b.js → 2397-b9c1b4a7f11e862d.js} +1 -1
  24. fides/ui-build/static/admin/_next/static/chunks/2921-a5dac2eacdcc32ff.js +1 -0
  25. fides/ui-build/static/admin/_next/static/chunks/2962-342ad1b4ab402ded.js +1 -0
  26. fides/ui-build/static/admin/_next/static/chunks/3080-218ac9199ab43f37.js +1 -0
  27. fides/ui-build/static/admin/_next/static/chunks/{3377-80612c111e047cb6.js → 3377-c2c9eb177bec8719.js} +1 -1
  28. fides/ui-build/static/admin/_next/static/chunks/3446-f40c352c43ac950c.js +1 -0
  29. fides/ui-build/static/admin/_next/static/chunks/{3696-e4abb6a922b954a2.js → 3696-21e3dec6c2023875.js} +1 -1
  30. fides/ui-build/static/admin/_next/static/chunks/{3700-1f9f6e5ebfa3ab0a.js → 3700-940e5630ee5efe10.js} +1 -1
  31. fides/ui-build/static/admin/_next/static/chunks/3729-a1aaa30987ee9f28.js +1 -0
  32. fides/ui-build/static/admin/_next/static/chunks/{3772-b945c6839e43c753.js → 3772-bb84842df51d3f3f.js} +1 -1
  33. fides/ui-build/static/admin/_next/static/chunks/3872-25c16c5a21152b31.js +1 -0
  34. fides/ui-build/static/admin/_next/static/chunks/3873-d759bbe7137ae8c2.js +1 -0
  35. fides/ui-build/static/admin/_next/static/chunks/{3923-c1e41661ebf57178.js → 3923-7f0aa36c9e09cedf.js} +1 -1
  36. fides/ui-build/static/admin/_next/static/chunks/{401-c2f1e4ea077f1f26.js → 401-874303feb3899562.js} +1 -1
  37. fides/ui-build/static/admin/_next/static/chunks/4322-2b986cc150c42771.js +1 -0
  38. fides/ui-build/static/admin/_next/static/chunks/{4496-8204168bae78092d.js → 4496-903c81292ffd8f91.js} +1 -1
  39. fides/ui-build/static/admin/_next/static/chunks/{5185-bf5655b5d697b714.js → 5185-fc171b6acce9f915.js} +1 -1
  40. fides/ui-build/static/admin/_next/static/chunks/{5258-63325c03319e87dc.js → 5258-cf0d2c4c4d55a94b.js} +1 -1
  41. fides/ui-build/static/admin/_next/static/chunks/5327-282ef735516d3b89.js +1 -0
  42. fides/ui-build/static/admin/_next/static/chunks/{549-3e3b8d01bc984f96.js → 549-2d9bde37e5fe13eb.js} +1 -1
  43. fides/ui-build/static/admin/_next/static/chunks/{5643-7800464c8df7a78e.js → 5643-48a5e0ad8b9fc3f7.js} +1 -1
  44. fides/ui-build/static/admin/_next/static/chunks/{5783-7deeb7de5d2db4c4.js → 5783-63912bab7f80b0f8.js} +1 -1
  45. fides/ui-build/static/admin/_next/static/chunks/6084-023f8c6e65faeb9c.js +1 -0
  46. fides/ui-build/static/admin/_next/static/chunks/6419-11d67f7fd4e2f247.js +1 -0
  47. fides/ui-build/static/admin/_next/static/chunks/6853-c348f6e95f987cbf.js +1 -0
  48. fides/ui-build/static/admin/_next/static/chunks/6882-ec4429aef277a3a4.js +1 -0
  49. fides/ui-build/static/admin/_next/static/chunks/{6954-8b106311a3be35f4.js → 6954-c44ac4e70e777c2f.js} +1 -1
  50. fides/ui-build/static/admin/_next/static/chunks/7170-4ac982fffdba3a55.js +1 -0
  51. fides/ui-build/static/admin/_next/static/chunks/7245-120f536e09decb85.js +1 -0
  52. fides/ui-build/static/admin/_next/static/chunks/{7476-08717f00da5f89ab.js → 7476-4234fb244676ec13.js} +1 -1
  53. fides/ui-build/static/admin/_next/static/chunks/{7488-bad160a2bfd89871.js → 7488-2db0992474f8056e.js} +1 -1
  54. fides/ui-build/static/admin/_next/static/chunks/{7630-775c578fa8109b0f.js → 7630-d7bd74d0cfdb22df.js} +1 -1
  55. fides/ui-build/static/admin/_next/static/chunks/{7773-24899908bf8ff659.js → 7773-6dce6187fe2c6984.js} +1 -1
  56. fides/ui-build/static/admin/_next/static/chunks/{796-6fe49d134f660156.js → 796-fae64888b8b2f369.js} +1 -1
  57. fides/ui-build/static/admin/_next/static/chunks/{8011-c23d609ed3f0efa5.js → 8011-6e40c969c9fa7d35.js} +1 -1
  58. fides/ui-build/static/admin/_next/static/chunks/{8212-67ac884660ddb63a.js → 8212-18d8da0f9208f978.js} +1 -1
  59. fides/ui-build/static/admin/_next/static/chunks/8373-d6c02a17fb0b118e.js +1 -0
  60. fides/ui-build/static/admin/_next/static/chunks/8563-fe06e1fa6d795938.js +1 -0
  61. fides/ui-build/static/admin/_next/static/chunks/8853-28242f6079441663.js +1 -0
  62. fides/ui-build/static/admin/_next/static/chunks/{9676.1ea49d4b6e0541f2.js → 9676.704cc210f59d0083.js} +1 -1
  63. fides/ui-build/static/admin/_next/static/chunks/{9826-1f42934a2863992e.js → 9826-aecc5ddec86989dc.js} +1 -1
  64. fides/ui-build/static/admin/_next/static/chunks/{9899-63998972698a49fb.js → 9899-303921e3d0697960.js} +1 -1
  65. fides/ui-build/static/admin/_next/static/chunks/pages/{404-962d132471cd41ba.js → 404-c31cef0ce3fbeebf.js} +1 -1
  66. fides/ui-build/static/admin/_next/static/chunks/pages/{_app-9de54d6135682f7b.js → _app-6f721c56270cb96e.js} +11 -11
  67. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-b9dbc9ac030f0490.js +1 -0
  68. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-e2a5c951347195e3.js → multiple-f706664770dd3e7f.js} +1 -1
  69. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-3f0d8698f01aabc5.js +1 -0
  70. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-7c829e58485fc821.js → add-vendors-fcd031b2b775e4f3.js} +1 -1
  71. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-5c58b69dd473cc06.js → configure-0bd2eb0110873c4d.js} +1 -1
  72. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-58460ac9c1dface5.js → [id]-53f6037b25dd5ccb.js} +1 -1
  73. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{new-a5e738a234dadc7e.js → new-e74cb5ea87f15b40.js} +1 -1
  74. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-b6b2d50d894cefa5.js → privacy-experience-ae8dff75e1c6c413.js} +1 -1
  75. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-25ce8366e689363b.js → [id]-b40fa30ca73e50c2.js} +1 -1
  76. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-faa457089616711a.js → new-7197fadcd57b623d.js} +1 -1
  77. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-30cecb4656886008.js +1 -0
  78. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-45a2901a35edc8f7.js → properties-5cba88e6839a087d.js} +1 -1
  79. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-f2690c381c1d1a52.js +1 -0
  80. fides/ui-build/static/admin/_next/static/chunks/pages/{consent-a7a4e419e4086033.js → consent-289d21aa6c42828b.js} +1 -1
  81. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-89f202662b70059a.js +1 -0
  82. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-6c19b6be18db5972.js +1 -0
  83. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-aac70cc10a651e80.js +1 -0
  84. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-14dd38964617db2b.js +1 -0
  85. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources-8e1d671ff51386ff.js +1 -0
  86. fides/ui-build/static/admin/_next/static/chunks/pages/{data-catalog-79d06a04698c47c0.js → data-catalog-75403467491a251b.js} +1 -1
  87. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/datastore/[monitorId]-fb69b66faffc8f4a.js +1 -0
  88. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/datastore-1b0ed3b3ceedfd94.js +1 -0
  89. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website/[monitorId]/[systemId]-2978a8aa990ec3a9.js +1 -0
  90. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website/[monitorId]-968e1c27b0970d67.js +1 -0
  91. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website-60ad14c879b4fe27.js +1 -0
  92. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-46b2cdceea3993c8.js +1 -0
  93. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-4c18f83478bf5db2.js +1 -0
  94. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-260f5deb68966b70.js → [resourceUrn]-27227f5c402b3a92.js} +1 -1
  95. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-d735dab3d9f3adc5.js → detection-1fe30896a5df2b9a.js} +1 -1
  96. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-c7f055275a2c503f.js → [resourceUrn]-e17f809058842014.js} +1 -1
  97. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-b1cfd55c7e127865.js → discovery-2f73cff60a628e42.js} +1 -1
  98. fides/ui-build/static/admin/_next/static/chunks/pages/datamap-d1bb19fe4ef393dc.js +1 -0
  99. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-e04a4e16ccf32aef.js → [...subfieldNames]-58c3f4c0b490264b.js} +1 -1
  100. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-a40c4febe16a0a6d.js → [collectionName]-74290432e74fcdc5.js} +1 -1
  101. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-f500a77eefb057e7.js → [datasetId]-8dad45f070a06609.js} +1 -1
  102. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{new-5c20080cdb053b1d.js → new-6aed6dc24c3be001.js} +1 -1
  103. fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-96355a68e8c28fe8.js → dataset-fdaec997c1b0753f.js} +1 -1
  104. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-448729ee9d1d78c3.js → [id]-63c4805e40673c60.js} +1 -1
  105. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{new-42c720ec5c941573.js → new-b5a49743387eecef.js} +1 -1
  106. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-8f0804d9a38688a4.js +1 -0
  107. fides/ui-build/static/admin/_next/static/chunks/pages/{index-ca794e85c16cba67.js → index-363b091a4d1d70ad.js} +1 -1
  108. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-d26992b1651b74ae.js +1 -0
  109. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-401b0b6b9d447d00.js +1 -0
  110. fides/ui-build/static/admin/_next/static/chunks/pages/new-privacy-requests-d1152cbc3c1bbbbb.js +1 -0
  111. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/{[id]-058125922d1eaeec.js → [id]-0e4e4e7110362022.js} +1 -1
  112. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/{new-7a5f76708c79f714.js → new-2e15f6272e9aaeb6.js} +1 -1
  113. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/{digests-31bed1f86b89d1d8.js → digests-65626dfcfacdc605.js} +1 -1
  114. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/{[key]-d08f3a7cd2d011ec.js → [key]-768c4e2f6b05304c.js} +1 -1
  115. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/{new-cb2c7fbc26886052.js → new-2d57a70e4d32e651.js} +1 -1
  116. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers-e71a1d0f7633a968.js +1 -0
  117. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/{[id]-a6ae72abe59ff830.js → [id]-1b31764f520fbbc5.js} +1 -1
  118. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/{add-template-a3e4b5b575b31be1.js → add-template-4c74456b6677bf07.js} +1 -1
  119. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates-5deb80abd6156f7f.js +1 -0
  120. fides/ui-build/static/admin/_next/static/chunks/pages/{notifications-9644c0f088a01fea.js → notifications-8d8716dda9a6f277.js} +1 -1
  121. fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-52b1572442a20ab4.js +1 -0
  122. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/AntForm-a0437ba647d59799.js +1 -0
  123. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikAntFormItem-87285c544450ec46.js +1 -0
  124. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikControlled-57997dbd451a6eed.js +1 -0
  125. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikField-65009783e0404153.js +1 -0
  126. fides/ui-build/static/admin/_next/static/chunks/pages/poc/forms-eafef007c179340f.js +1 -0
  127. fides/ui-build/static/admin/_next/static/chunks/pages/poc/{table-migration-11a70bcfa672ce8f.js → table-migration-7933a824a45d0ee6.js} +1 -1
  128. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-27c56466eab98b15.js +1 -0
  129. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{storage-24a8c2ab57625556.js → storage-16f77a6291bb02fe.js} +1 -1
  130. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-1926359bdf5d6c30.js → configure-d2b3293ab496f7bc.js} +1 -1
  131. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-af4f48d10926e4a4.js +1 -0
  132. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-47118b9976ad7212.js → [id]-dd3c3d780533a9c2.js} +1 -1
  133. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-2e6b0d8b409ba1fd.js → add-property-d1af260c3ddbf68b.js} +1 -1
  134. fides/ui-build/static/admin/_next/static/chunks/pages/{properties-32486c25255c9cb1.js → properties-9bb7fe3577402008.js} +1 -1
  135. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-479401ebaf1160ab.js +1 -0
  136. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-35626e9d8e0a3ca2.js +1 -0
  137. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-38b4b0d710d162bc.js +1 -0
  138. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/{[id]-a270325109398f48.js → [id]-b5140de4431a7ff5.js} +1 -1
  139. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/{new-2e0c8e249f286427.js → new-dcc16459e754fbbd.js} +1 -1
  140. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-4171abc37fe1475c.js +1 -0
  141. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-e3dcef1ec8cf8b9e.js → domain-records-3843fbaf5bc433f1.js} +1 -1
  142. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domains-2e88cc7a6074a28b.js → domains-ea549fabce96fde4.js} +1 -1
  143. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{email-templates-7469d2f85396c693.js → email-templates-0fe318a9dfc1f593.js} +1 -1
  144. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-20789aa0c84d544e.js → locations-c42c856510cad6fd.js} +1 -1
  145. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{organization-f84a13eb9688cb5f.js → organization-e4c552a5797c3fa5.js} +1 -1
  146. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{privacy-requests-b72df6f3d460125f.js → privacy-requests-2790d31b59cc3c74.js} +1 -1
  147. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-aa02bc818e089c49.js → regulations-3c608512c415fca4.js} +1 -1
  148. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/{test-datasets-5be9ce7a745ce908.js → test-datasets-e0e1a5142e41e9f2.js} +1 -1
  149. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-2fc7c0d3988427b3.js → [id]-70820c4199cb11cb.js} +1 -1
  150. fides/ui-build/static/admin/_next/static/chunks/pages/systems-753ee6b9bb80a657.js +1 -0
  151. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-0cae23a599830708.js +1 -0
  152. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-6217433a26599521.js → [id]-75d96422db98196f.js} +1 -1
  153. fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-b6c4bf35c003965d.js → user-management-598f98fd88505e1e.js} +1 -1
  154. fides/ui-build/static/admin/_next/static/chunks/{webpack-8eac1ea5c825c8b4.js → webpack-0a3b419ab682b8f9.js} +1 -1
  155. fides/ui-build/static/admin/_next/static/css/012b10627a654d5c.css +1 -0
  156. fides/ui-build/static/admin/_next/static/css/{f38242c11f7fea64.css → 05d05fc31d09638b.css} +1 -1
  157. fides/ui-build/static/admin/_next/static/css/0fd6e0884cfcc5f3.css +1 -0
  158. fides/ui-build/static/admin/_next/static/css/14ba79c49597d37a.css +1 -0
  159. fides/ui-build/static/admin/_next/static/css/{34a7eb08b86ddb57.css → 3d6582469f7d56e0.css} +1 -1
  160. fides/ui-build/static/admin/_next/static/css/4861ca3e088f2d05.css +1 -0
  161. fides/ui-build/static/admin/_next/static/css/8317e07483c73e4f.css +1 -0
  162. fides/ui-build/static/admin/_next/static/css/a1800714b486e230.css +1 -0
  163. fides/ui-build/static/admin/_next/static/css/af32fcac7a177a0e.css +1 -0
  164. fides/ui-build/static/admin/_next/static/css/cb417f0587918f85.css +1 -0
  165. fides/ui-build/static/admin/_next/static/css/dd15c278b964de80.css +1 -0
  166. fides/ui-build/static/admin/_next/static/css/{5f393dea1c0d031c.css → f89607996ad54f4b.css} +1 -1
  167. fides/ui-build/static/admin/_next/static/css/f9a2a44d3d34c904.css +1 -0
  168. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  169. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  170. fides/ui-build/static/admin/add-systems.html +1 -1
  171. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  172. fides/ui-build/static/admin/consent/configure.html +1 -1
  173. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  174. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  175. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  176. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  177. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  178. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  179. fides/ui-build/static/admin/consent/properties.html +1 -1
  180. fides/ui-build/static/admin/consent/reporting.html +1 -1
  181. fides/ui-build/static/admin/consent.html +1 -1
  182. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  183. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  184. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  185. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  186. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  187. fides/ui-build/static/admin/data-catalog.html +1 -1
  188. fides/ui-build/static/admin/data-discovery/action-center/datastore/[monitorId].html +1 -0
  189. fides/ui-build/static/admin/data-discovery/action-center/datastore.html +1 -0
  190. fides/ui-build/static/admin/data-discovery/action-center/website/[monitorId]/[systemId].html +1 -0
  191. fides/ui-build/static/admin/data-discovery/action-center/website/[monitorId].html +1 -0
  192. fides/ui-build/static/admin/data-discovery/action-center/website.html +1 -0
  193. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  194. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  195. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  196. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  197. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  198. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  199. fides/ui-build/static/admin/datamap.html +1 -1
  200. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  201. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  202. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  203. fides/ui-build/static/admin/dataset/new.html +1 -1
  204. fides/ui-build/static/admin/dataset.html +1 -1
  205. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  206. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  207. fides/ui-build/static/admin/datastore-connection.html +1 -1
  208. fides/ui-build/static/admin/index.html +1 -1
  209. fides/ui-build/static/admin/integrations/[id].html +1 -1
  210. fides/ui-build/static/admin/integrations.html +1 -1
  211. fides/ui-build/static/admin/lib/fides-ext-gpp.js +1 -1
  212. fides/ui-build/static/admin/lib/fides-headless.js +1 -1
  213. fides/ui-build/static/admin/lib/fides-preview.js +1 -1
  214. fides/ui-build/static/admin/lib/fides-tcf.js +3 -3
  215. fides/ui-build/static/admin/lib/fides.js +3 -3
  216. fides/ui-build/static/admin/login/[provider].html +1 -1
  217. fides/ui-build/static/admin/login.html +1 -1
  218. fides/ui-build/static/admin/new-privacy-requests.html +1 -0
  219. fides/ui-build/static/admin/notifications/digests/[id].html +1 -1
  220. fides/ui-build/static/admin/notifications/digests/new.html +1 -1
  221. fides/ui-build/static/admin/notifications/digests.html +1 -1
  222. fides/ui-build/static/admin/notifications/providers/[key].html +1 -1
  223. fides/ui-build/static/admin/notifications/providers/new.html +1 -1
  224. fides/ui-build/static/admin/notifications/providers.html +1 -1
  225. fides/ui-build/static/admin/notifications/templates/[id].html +1 -1
  226. fides/ui-build/static/admin/notifications/templates/add-template.html +1 -1
  227. fides/ui-build/static/admin/notifications/templates.html +1 -1
  228. fides/ui-build/static/admin/notifications.html +1 -1
  229. fides/ui-build/static/admin/poc/ant-components.html +1 -1
  230. fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
  231. fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
  232. fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
  233. fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
  234. fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
  235. fides/ui-build/static/admin/poc/forms.html +1 -1
  236. fides/ui-build/static/admin/poc/table-migration.html +1 -1
  237. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  238. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  239. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  240. fides/ui-build/static/admin/privacy-requests.html +1 -1
  241. fides/ui-build/static/admin/properties/[id].html +1 -1
  242. fides/ui-build/static/admin/properties/add-property.html +1 -1
  243. fides/ui-build/static/admin/properties.html +1 -1
  244. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  245. fides/ui-build/static/admin/settings/about/alpha.html +1 -1
  246. fides/ui-build/static/admin/settings/about.html +1 -1
  247. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  248. fides/ui-build/static/admin/settings/consent.html +1 -1
  249. fides/ui-build/static/admin/settings/custom-fields/[id].html +1 -1
  250. fides/ui-build/static/admin/settings/custom-fields/new.html +1 -1
  251. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  252. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  253. fides/ui-build/static/admin/settings/domains.html +1 -1
  254. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  255. fides/ui-build/static/admin/settings/locations.html +1 -1
  256. fides/ui-build/static/admin/settings/organization.html +1 -1
  257. fides/ui-build/static/admin/settings/privacy-requests.html +1 -1
  258. fides/ui-build/static/admin/settings/regulations.html +1 -1
  259. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  260. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  261. fides/ui-build/static/admin/systems.html +1 -1
  262. fides/ui-build/static/admin/taxonomy.html +1 -1
  263. fides/ui-build/static/admin/user-management/new.html +1 -1
  264. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  265. fides/ui-build/static/admin/user-management.html +1 -1
  266. fides/ui-build/static/admin/_next/static/chunks/155-bf4e3ffb18f29226.js +0 -1
  267. fides/ui-build/static/admin/_next/static/chunks/1896-49010da5c2705fc5.js +0 -1
  268. fides/ui-build/static/admin/_next/static/chunks/2150-930ffaf2c4718edc.js +0 -1
  269. fides/ui-build/static/admin/_next/static/chunks/255-1bc0cbef7a59cdc6.js +0 -1
  270. fides/ui-build/static/admin/_next/static/chunks/2921-9b596ba7f5267afc.js +0 -1
  271. fides/ui-build/static/admin/_next/static/chunks/2962-e92d525bf570a9a3.js +0 -1
  272. fides/ui-build/static/admin/_next/static/chunks/3550-83cb70e80cbe41ba.js +0 -1
  273. fides/ui-build/static/admin/_next/static/chunks/4817-066598cef25d7e88.js +0 -1
  274. fides/ui-build/static/admin/_next/static/chunks/5279-a05b93a8db6a3e79.js +0 -1
  275. fides/ui-build/static/admin/_next/static/chunks/6277-970bb31d9b0c0007.js +0 -1
  276. fides/ui-build/static/admin/_next/static/chunks/6315-4a2151f87c7eefb6.js +0 -1
  277. fides/ui-build/static/admin/_next/static/chunks/6419-9b3a86af57c86791.js +0 -1
  278. fides/ui-build/static/admin/_next/static/chunks/6853-6d64d627df6f8194.js +0 -1
  279. fides/ui-build/static/admin/_next/static/chunks/7245-53a20677c49b41c8.js +0 -1
  280. fides/ui-build/static/admin/_next/static/chunks/8373-43b6df89a2085d6b.js +0 -1
  281. fides/ui-build/static/admin/_next/static/chunks/9046-3a08a09a598396ca.js +0 -1
  282. fides/ui-build/static/admin/_next/static/chunks/9070-6d3aaaf5aa5913ba.js +0 -1
  283. fides/ui-build/static/admin/_next/static/chunks/9330-6eb11127296c54c2.js +0 -1
  284. fides/ui-build/static/admin/_next/static/chunks/9682-65d253d54f84f6f2.js +0 -1
  285. fides/ui-build/static/admin/_next/static/chunks/9965-4709f43bf62af9a9.js +0 -1
  286. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-055d058d16c02957.js +0 -1
  287. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-0058fe05f2d23d1a.js +0 -1
  288. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-a7fe3925771bb6c3.js +0 -1
  289. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-e9ec351281c54822.js +0 -1
  290. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-3b59925f6c9a13a9.js +0 -1
  291. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-ffb6e0fe6712342e.js +0 -1
  292. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-3c935e93208d2bdd.js +0 -1
  293. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-8d7d9152e215c3b6.js +0 -1
  294. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources-96be972a983616e3.js +0 -1
  295. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-e50e9c8e11412b2a.js +0 -1
  296. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/data-explorer-09a3a992e564f971.js +0 -1
  297. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-878aa4ab0746df5b.js +0 -1
  298. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-a2e9c0bfa67c633d.js +0 -1
  299. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-6cc1ba1f102ae77d.js +0 -1
  300. fides/ui-build/static/admin/_next/static/chunks/pages/datamap-18f255a8bbeecaa4.js +0 -1
  301. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-a8fc95a46de38b35.js +0 -1
  302. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-2f1dc17eba11fb4e.js +0 -1
  303. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-bbec0140433a199b.js +0 -1
  304. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers-40b9f1f70d27b660.js +0 -1
  305. fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates-4918f86f7300ac9b.js +0 -1
  306. fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-39b5586d9c8b64aa.js +0 -1
  307. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/AntForm-5163f3213377bd35.js +0 -1
  308. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikAntFormItem-0b1547cd9b114c6b.js +0 -1
  309. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikControlled-da562cba4cffd6bb.js +0 -1
  310. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikField-3a587676869d2ef6.js +0 -1
  311. fides/ui-build/static/admin/_next/static/chunks/pages/poc/forms-defc3b917306a6d8.js +0 -1
  312. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-787621468b5a7619.js +0 -1
  313. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-da634187d8201ab3.js +0 -1
  314. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-e410d13a2b35cff4.js +0 -1
  315. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-aec1bf8a409ec75f.js +0 -1
  316. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-4c20c08ca7ea8cff.js +0 -1
  317. fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-8e4a76376927afd5.js +0 -1
  318. fides/ui-build/static/admin/_next/static/chunks/pages/systems-86f5557384124f79.js +0 -1
  319. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-2589729c47976357.js +0 -1
  320. fides/ui-build/static/admin/_next/static/css/23cf870196941c9a.css +0 -1
  321. fides/ui-build/static/admin/_next/static/css/304c6f148886a8d4.css +0 -1
  322. fides/ui-build/static/admin/_next/static/css/de09ed8a0adf1ca2.css +0 -1
  323. fides/ui-build/static/admin/_next/static/hRLR7azkI57zC2PfdYodO/_buildManifest.js +0 -1
  324. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +0 -1
  325. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/data-explorer.html +0 -1
  326. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +0 -1
  327. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.73.0rc0.dist-info}/WHEEL +0 -0
  328. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.73.0rc0.dist-info}/entry_points.txt +0 -0
  329. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.73.0rc0.dist-info}/licenses/LICENSE +0 -0
  330. {ethyca_fides-2.72.3rc1.dist-info → ethyca_fides-2.73.0rc0.dist-info}/top_level.txt +0 -0
  331. /fides/ui-build/static/admin/_next/static/{hRLR7azkI57zC2PfdYodO → Y4fC3QVMk1ujcOb92jMd8}/_ssgManifest.js +0 -0
  332. /fides/ui-build/static/admin/_next/static/chunks/pages/user-management/{new-e399005c3bb4db1b.js → new-bc1568bb47d198a9.js} +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3080],{30952:function(e,t,r){r.d(t,{f:function(){return u}});var s=r(24246),o=r(66726),n=r.n(o),i=r(27378),a=r(26917);let u=e=>{let{value:t,onChange:r,placeholder:o,...u}=e,[c,l]=(0,i.useState)(t);(0,i.useEffect)(()=>{l(t||"")},[t]);let d=n()(r,500),m=(0,i.useCallback)(e=>{l(e),d(e)},[]);return(0,s.jsx)(a.Z,{value:c,onChange:m,onClear:()=>{l(""),r("")},placeholder:o,...u})}},37059:function(e,t,r){r.d(t,{$h:function(){return E},Ak:function(){return v},Av:function(){return P},EY:function(){return g},QC:function(){return A},RV:function(){return C},S0:function(){return O},Tj:function(){return p},Ud:function(){return u},Vr:function(){return f},WJ:function(){return l},mC:function(){return I},mL:function(){return R},mi:function(){return _},nP:function(){return m},nS:function(){return y},rs:function(){return d},sX:function(){return T},ut:function(){return S},vc:function(){return N},wi:function(){return c}});var s=r(78780),o=r(16394),n=r(65735),i=r(98145),a=r(71985);let{useGetAggregateMonitorResultsQuery:u,useGetDiscoveredSystemAggregateQuery:c,useGetDiscoveredAssetsQuery:l,useAddMonitorResultSystemsMutation:d,useIgnoreMonitorResultSystemsMutation:m,useAddMonitorResultAssetsMutation:g,useIgnoreMonitorResultAssetsMutation:y,useRestoreMonitorResultAssetsMutation:p,useUpdateAssetsSystemMutation:T,useUpdateAssetsDataUseMutation:v,useUpdateAssetsMutation:f,useGetConsentBreakdownQuery:_,useGetWebsiteMonitorResourceFiltersQuery:S,useGetInProgressMonitorTasksQuery:E,useRetryMonitorTaskMutation:R,useDismissMonitorTaskMutation:A,useUndismissMonitorTaskMutation:M,useGetMonitorTreeQuery:h,useLazyGetMonitorTreeQuery:C,useGetMonitorConfigQuery:N,useGetDatastoreFiltersQuery:O,useClassifyStagedResourcesMutation:P,useGetStagedResourceDetailsQuery:q,useLazyGetStagedResourceDetailsQuery:I}=s.u.injectEndpoints({endpoints:e=>({getAggregateMonitorResults:e.query({query:e=>{let{page:t=1,size:r=20,search:s}=e;return{url:"/plus/discovery-monitor/aggregate-results",params:{page:t,size:r,search:s,diff_status:"addition"}}},transformResponse:e=>({...e,items:e.items.map(e=>({...e,monitorType:(0,a.G)(e.connection_type),isTestMonitor:e.connection_type===n.Rj.TEST_WEBSITE||e.connection_type===n.Rj.FIDES}))}),providesTags:["Discovery Monitor Results"]}),getMonitorConfig:e.query({query:e=>{let{monitor_config_id:t}=e;return{url:"/plus/discovery-monitor/".concat(t)}}}),getDatastoreFilters:e.query({query:e=>{let{monitor_config_id:t}=e;return{url:"/plus/filters/datastore_monitor_resources?monitor_config_id=".concat(t)}}}),getMonitorTree:e.query({query:e=>{let{page:t=1,size:r=20,monitor_config_id:s,staged_resource_urn:o,include_descendant_details:n}=e;return{url:"/plus/discovery-monitor/".concat(s,"/tree"),params:{staged_resource_urn:o,include_descendant_details:n,page:t,size:r}}}}),getDiscoveredSystemAggregate:e.query({query:e=>{let{key:t,resolved_system_id:r,page:s=1,size:o=20,search:n,diff_status:i}=e;return{url:"/plus/discovery-monitor/system-aggregate-results",params:{monitor_config_id:t,resolved_system_id:r,page:s,size:o,search:n,diff_status:i}}},providesTags:["Discovery Monitor Results"]}),getDiscoveredAssets:e.query({query:e=>{let{key:t,system:r,page:s=1,size:a=20,search:u,diff_status:c=[n.LL.ADDITION],sort_by:l=[i.r6.NAME],sort_asc:d=!0,resource_type:m,data_uses:g,locations:y,consent_aggregated:p}=e,T=Array.isArray(l)?l:[l],v=(0,o.$J)({sort_by:T,resource_type:m,data_uses:g,locations:y,consent_aggregated:p});return{url:"/plus/discovery-monitor/".concat(t,"/results?").concat(v.toString()),params:{resolved_system_id:r,page:s,size:a,search:u,diff_status:c,sort_asc:d}}},providesTags:()=>["Discovery Monitor Results"]}),addMonitorResultSystems:e.mutation({query:e=>{let{monitor_config_key:t,resolved_system_ids:r}=e,s=(0,o.du)(r,"resolved_system_ids");return{url:"/plus/discovery-monitor/".concat(t,"/promote"),method:"POST",params:s?new URLSearchParams(s):new URLSearchParams}},invalidatesTags:["Discovery Monitor Results"]}),ignoreMonitorResultSystems:e.mutation({query:e=>{let{monitor_config_key:t,resolved_system_ids:r}=e,s=(0,o.du)(r,"resolved_system_ids");return{method:"POST",url:"/plus/discovery-monitor/".concat(t,"/mute?").concat(s)}},invalidatesTags:["Discovery Monitor Results"]}),addMonitorResultAssets:e.mutation({query:e=>{var t;let r=new URLSearchParams;return null===(t=e.urnList)||void 0===t||t.forEach(e=>r.append("staged_resource_urns",e)),{method:"POST",url:"/plus/discovery-monitor/promote?".concat(r)}},invalidatesTags:["Discovery Monitor Results"]}),ignoreMonitorResultAssets:e.mutation({query:e=>({method:"POST",url:"/plus/discovery-monitor/mute",body:{staged_resource_urns:e.urnList}}),invalidatesTags:["Discovery Monitor Results","Monitor Field Results"]}),restoreMonitorResultAssets:e.mutation({query:e=>{var t;let r=new URLSearchParams({status_to_set:n.LL.ADDITION});return null===(t=e.urnList)||void 0===t||t.forEach(e=>r.append("staged_resource_urns",e)),{method:"POST",url:"/plus/discovery-monitor/un-mute?".concat(r)}},invalidatesTags:["Discovery Monitor Results"]}),updateAssetsSystem:e.mutation({query:e=>({method:"PATCH",url:"/plus/discovery-monitor/".concat(e.monitorId,"/results"),body:e.urnList.map(t=>({urn:t,user_assigned_system_key:e.systemKey}))}),invalidatesTags:["Discovery Monitor Results","System Assets"]}),updateAssetsDataUse:e.mutation({query:e=>({method:"PATCH",url:"/plus/discovery-monitor/".concat(e.monitorId,"/results"),body:e.urnList.map(t=>({urn:t,user_assigned_data_uses:e.dataUses}))}),invalidatesTags:["Discovery Monitor Results"]}),updateAssets:e.mutation({query:e=>({method:"PATCH",url:"/plus/discovery-monitor/".concat(e.monitorId,"/results"),body:e.assets}),invalidatesTags:["Discovery Monitor Results"]}),getConsentBreakdown:e.query({query:e=>{let{stagedResourceUrn:t,statuses:r,page:s=1,size:o=20}=e,n=new URLSearchParams;return n.append("page",String(s)),n.append("size",String(o)),r.forEach(e=>{n.append("status",e)}),{url:"/plus/discovery-monitor/staged_resource/".concat(encodeURIComponent(t),"/consent"),params:n}}}),getStagedResourceDetails:e.query({query:e=>{let{stagedResourceUrn:t}=e;return{url:"/plus/discovery-monitor/staged_resource/".concat(encodeURIComponent(t))}},providesTags:["Monitor Field Details"]}),getWebsiteMonitorResourceFilters:e.query({query:e=>{let{monitor_config_id:t,resolved_system_id:r,diff_status:s=[n.LL.ADDITION],search:i,resource_type:a,data_uses:u,locations:c,consent_aggregated:l}=e,d={monitor_config_id:t,resolved_system_id:r,diff_status:s};i&&(d.search=i);let m=(0,o.$J)({resource_type:a,data_uses:u,locations:c,consent_aggregated:l}).toString();return{url:m?"/plus/filters/website_monitor_resources?".concat(m):"/plus/filters/website_monitor_resources",params:d}},providesTags:["Discovery Monitor Results"]}),getInProgressMonitorTasks:e.query({query:e=>{let{page:t=1,size:r=20,search:s,task_types:o,statuses:n,return_dismissed:i=!1}=e,a=new URLSearchParams({page:t.toString(),size:r.toString(),return_dismissed:i.toString()});return s&&a.append("search",s),(null==o?void 0:o.length)&&o.forEach(e=>a.append("action_type",e)),(null==n?void 0:n.length)&&n.forEach(e=>a.append("status",e)),{url:"/plus/discovery-monitor/tasks?".concat(a.toString())}},providesTags:["Monitor Tasks"]}),retryMonitorTask:e.mutation({query:e=>{let{taskId:t}=e;return{url:"/plus/discovery-monitor/tasks/".concat(t,"/retry"),method:"POST"}},invalidatesTags:["Monitor Tasks"]}),dismissMonitorTask:e.mutation({query:e=>{let{taskId:t}=e;return{url:"/plus/discovery-monitor/tasks/".concat(t,"/dismissed"),method:"POST"}},invalidatesTags:["Monitor Tasks"]}),undismissMonitorTask:e.mutation({query:e=>{let{taskId:t}=e;return{url:"/plus/discovery-monitor/tasks/".concat(t,"/dismissed"),method:"DELETE"}},invalidatesTags:["Monitor Tasks"]}),classifyStagedResources:e.mutation({query:e=>{let{monitor_config_key:t,...r}=e;return{url:"/plus/discovery-monitor/".concat(t,"/classify"),method:"POST",body:r}},invalidatesTags:["Monitor Field Results"]})})})},98145:function(e,t,r){r.d(t,{EI:function(){return u},EP:function(){return g},H6:function(){return p},LM:function(){return m},Vq:function(){return d},X1:function(){return l},r6:function(){return i},v8:function(){return y},vQ:function(){return a}});var s,o,n,i,a,u,c=r(65735);let l={[c.lg.WITH_CONSENT]:"Consent respected",[c.lg.WITHOUT_CONSENT]:"Consent ignored",[c.lg.EXEMPT]:"Exempt",[c.lg.UNKNOWN]:"Unknown",[c.lg.PRE_CONSENT]:"Pre-Consent",[c.lg.CMP_ERROR]:"CMP failure",[c.lg.NOT_APPLICABLE]:"Not applicable"},d={[c.lg.WITH_CONSENT]:"Asset was detected after the user gave consent",[c.lg.WITHOUT_CONSENT]:"The user explicitly opted out, but this asset still loaded. This is a serious compliance issue and may indicate that consent settings are not being enforced.",[c.lg.EXEMPT]:"Asset is valid regardless of consent",[c.lg.UNKNOWN]:"Did not find consent information for this asset. You may need to re-run the monitor.",[c.lg.PRE_CONSENT]:"Assets loaded before the user had a chance to give consent. This violates opt-in compliance requirements if your CMP is configured for explicit consent.",[c.lg.CMP_ERROR]:"The Consent Management Platform (CMP) was not detected when the service ran. It likely failed to load or wasn't available.",[c.lg.NOT_APPLICABLE]:"No privacy notices apply to this asset"},m=[c.lg.WITHOUT_CONSENT,c.lg.PRE_CONSENT,c.lg.CMP_ERROR];(s=i||(i={})).NAME="name",s.RESOURCE_TYPE="resource_type",s.SYSTEM="system",s.DATA_USES="data_uses",s.LOCATIONS="locations",s.DOMAIN="domain",s.PAGE="page",s.CONSENT_AGGREGATED="consent_aggregated",s.ACTIONS="actions",(o=a||(a={})).SYSTEM_NAME="system_name",o.TOTAL_UPDATES="total_updates",o.DATA_USE="data_use",o.LOCATIONS="locations",o.DOMAINS="domains",o.ACTIONS="actions",(n=u||(u={})).LOCATION="location",n.PAGE="page",n.STATUS="status";let g=["classified_low_confidence","classified_high_confidence","classified_manually"],y=new Map([["cookie","Cookie"],["browser_request","Browser request"],["image","Image"],["iframe","iFrame"],["javascript_tag","JavaScript tag"],["unlabeled","Unlabeled"],["in_review","In review"],["classifying","Classifying"],["removals","Removals"],["approved","Approved"]]),p=["cookie","image","javascript_tag","iframe","browser_request","unlabeled","classifying","in_review","approved","removals"]},71985:function(e,t,r){r.d(t,{G:function(){return i},w:function(){return o}});var s,o,n=r(65735);(s=o||(o={})).WEBSITE="website",s.DATASTORE="datastore",s.INFRASTRUCTURE="infrastructure";let i=e=>e===n.Rj.WEBSITE||e===n.Rj.TEST_WEBSITE?"website":e===n.Rj.OKTA?"infrastructure":"datastore"}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3377],{77213:function(e,i,s){s.d(i,{Z:function(){return g}});var t=s(24246),a=s(20595),r=s(88038),n=s.n(r),l=s(86677);s(27378);var o=s(25980),d=s(90867),c=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."," "]})]})})},g=e=>{let{children:i,title:s,padded:r=!0,mainProps:u}=e,g=(0,o.hz)(),f=(0,l.useRouter)(),p="/privacy-requests"===f.pathname||"/datastore-connection"===f.pathname,y=!(g.flags.messagingConfiguration&&p),{data:x}=(0,c.JE)(void 0,{skip:y}),{data:h}=(0,d.PW)(void 0,{skip:y}),_=g.flags.messagingConfiguration&&(!x||!h)&&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){s.d(i,{R:function(){return o}});var t=s(24246),a=s(20595),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){s.d(i,{Z:function(){return D}});var t=s(24246),a=s(20595),r=s(27378),n=s(17245),l=s(90710),o=s(51980),d=s(90104),c=s.n(d),u=s(56141),m=s.n(u),g=s(92465),f=s.n(g),p=s(25389),y=s.n(p),x=s(15539),h=s.n(x),_=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)(),[d,c]=(0,r.useState)(!1),[u]=a.PPS.useForm(),m=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},f=async e=>{c(!0);try{let s=await o({service_type:i,details:{to_identity:m?{phone_number:e.phone}:{email:e.email}}});(0,v.D4)(s)?a.Pg3.error(g(s.error)):(a.Pg3.success("Test message sent successfully!"),n())}catch(e){a.Pg3.error(g(e))}finally{c(!1)}},p=m?"SMS":"email",y=()=>{n()};return(0,t.jsx)(a.$zI,{title:"Test ".concat(p),open:s,onCancel:y,footer:null,children:(0,t.jsx)(a.gCW,{spacing:4,children:(0,t.jsxs)(a.PPS,{form:u,onFinish:f,layout:"vertical",style:{width:"100%"},children:[m?(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.AntInput,{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.AntInput,{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:y,disabled:d,children:"Cancel"}),(0,t.jsx)(a.wpx,{type:"primary",htmlType:"submit",loading:d,"data-testid":"send-test-message-btn",children:d?"Sending...":"Send test ".concat(p)})]})})]})})})},S=()=>{let[e]=(0,k.SU)(),[i,s]=(0,r.useState)(!1),[t,n]=(0,r.useState)({}),o=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)){a.Pg3.error(o(t.error));let e=new Date().toISOString();return n(s=>({...s,[i]:{timestamp:e,success:!1}})),!1}a.Pg3.success("Configuration verified successfully!");let r=new Date().toISOString();return n(e=>({...e,[i]:{timestamp:r,success:!0}})),!0}catch(e){return a.Pg3.error(o(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,d;let{configKey:u}=e,g=(0,_.useRouter)(),{handleError:p}=(0,n.HK)(),{verifyConfiguration:x,isVerifying:P,getVerificationData:C}=S(),q=!!u,[V,A]=(0,r.useState)(!1),[I,D]=(0,r.useState)(!1),[E,T]=(0,r.useState)(q?"**********":"secret_keys"),[M]=a.PPS.useForm(),[B]=(0,k.h9)(),[W]=(0,k.sn)(),[F]=(0,k.Ki)(),{data:N,refetch:z}=(0,k.FU)({key:u},{skip:!u}),R={email_from:(null==N?void 0:null===(i=N.details)||void 0===i?void 0:i.email_from)||"",domain:(null==N?void 0:null===(s=N.details)||void 0===s?void 0:s.domain)||"",aws_region:(null==N?void 0:null===(d=N.details)||void 0===d?void 0:d.aws_region)||"",auth_method:q?"**********":"secret_keys",aws_access_key_id:q?"**********":"",aws_secret_access_key:q?"**********":"",aws_assume_role_arn:q?"**********":""};(0,r.useEffect)(()=>{if(N){var e,i,s;let t={email_from:(null===(e=N.details)||void 0===e?void 0:e.email_from)||"",domain:(null===(i=N.details)||void 0===i?void 0:i.domain)||"",aws_region:(null===(s=N.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),T("**********"),D(!1)}},[N,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(N){let{last_test_succeeded:e,last_test_timestamp:i}=N;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=g.query.last_test_succeeded,s=g.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=>h()(y()(e,e=>q&&"**********"===e?void 0:e),f()),U=(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]),L=async e=>{try{var i,s,t,r;if(q&&u){let r=[],n=(null==N?void 0:null===(i=N.details)||void 0===i?void 0:i.email_from)||"",o=(null==N?void 0:null===(s=N.details)||void 0===s?void 0:s.domain)||"",d=(null==N?void 0:null===(t=N.details)||void 0===t?void 0:t.aws_region)||"";(e.email_from!==n||e.domain!==o||e.aws_region!==d)&&r.push(W({key:u,config:{key:(null==N?void 0:N.key)||u,name:null==N?void 0:N.name,service_type:(null==N?void 0:N.service_type)||l.q.aws_ses,details:{...null==N?void 0:N.details,email_from:e.email_from||null,domain:e.domain||null,aws_region:e.aws_region}}}));let m={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},g=O(m);if(c()(g)||r.push(F({key:u,secrets:g})),0===r.length){a.Pg3.info("No changes to save.");return}let f=await Promise.all(r);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 a.Pg3.success("AWS SES configuration successfully updated."),D(!1),z&&z()}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{a.Pg3.success("AWS SES configuration successfully created."),D(!1);let e=null===(r=s.data)||void 0===r?void 0:r.key;if(e){let i=w.GE.replace("[key]",e);g.push(i)}else g.push(w.AD)}}}catch(e){p(e)}},Z=async()=>{try{await x(l.q.aws_ses)&&z&&setTimeout(()=>{z()},500)}catch(e){p(e)}},H=()=>{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:R,onFinish:L,onValuesChange:(e,i)=>{let s={...i},t={...R};q&&Object.keys(s).forEach(e=>{"**********"===s[e]&&(s[e]=t[e])}),void 0!==e.auth_method&&(T(e.auth_method),"automatic"===e.auth_method&&M.setFieldsValue({aws_access_key_id:"",aws_secret_access_key:""})),D(!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:U}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:q?"Enter new email from":"Enter email from",onChange:()=>H()})}),(0,t.jsx)(a.PPS.Item,{name:"domain",label:"Domain",rules:[{validator:U}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:q?"Enter new domain":"Enter domain",onChange:()=>H()})}),(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.AntInput,{placeholder:q?"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"===E||q&&"**********"===E)&&(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"===E||q&&"**********"===E?[{required:!0,message:"AWS access key ID is required for secret keys authentication"}]:[],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:q?"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"===E||q&&"**********"===E?[{required:!0,message:"AWS secret access key is required for secret keys authentication"}]:[],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:q?"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.AntInput.Password,{placeholder:q?"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:q&&K.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>A(!0),"data-testid":"send-test-message-btn",children:"Send test email"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[q?(0,t.jsx)(a.wpx,{onClick:Z,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:()=>g.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!I,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.aws_ses,isOpen:V,onClose:()=>A(!1)})]})},C=s(44907),q=e=>{var i;let{configKey:s}=e,d=(0,_.useRouter)(),{handleError:u}=(0,n.HK)(),{verifyConfiguration:g,isVerifying:p,getVerificationData:x}=S(),[j,P]=(0,r.useState)(!1),[q,V]=(0,r.useState)(!1),[A]=a.PPS.useForm(),[I]=(0,k.h9)(),[D]=(0,k.sn)(),[E]=(0,k.Ki)(),T=!!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:T?"**********":""};(0,r.useEffect)(()=>{if(M){var e;let i={domain:(null===(e=M.details)||void 0===e?void 0:e.domain)||"",mailgun_api_key:"**********"};A.setFieldsValue(i),V(!1)}},[M,A]);let F=(()=>{let e=x(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=d.query.last_test_succeeded,s=d.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"}})(),N=e=>h()(y()(e,e=>T&&"**********"===e?void 0:e),f()),z=async e=>{try{var i,t;if(T&&s){let t=[],r=(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.domain)||"";e.domain!==r&&""!==e.domain.trim()&&t.push(D({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 n=N({mailgun_api_key:e.mailgun_api_key});if(c()(n)||t.push(E({key:s,secrets:n})),0===t.length){a.Pg3.info("No changes to save.");return}let o=await Promise.all(t);if(o.some(e=>(0,v.D4)(e))){let e=o.find(e=>(0,v.D4)(e));u(null==e?void 0:e.error)}else a.Pg3.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 I(i);if((0,v.D4)(s))u(s.error);else{a.Pg3.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);d.push(i)}else d.push(w.AD)}}}catch(e){u(e)}},R=async()=>{try{await g(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:A,layout:"vertical",initialValues:W,onFinish:z,onValuesChange:(e,i)=>{let s={...i},t={...W};T&&"**********"===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.AntInput,{placeholder:T?"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.AntInput.Password,{placeholder:T?"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:T&&F.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:[T?(0,t.jsx)(a.wpx,{onClick:R,className:"mr-2","data-testid":"test-btn",loading:p,icon:F.isVerified&&!p?(0,t.jsx)(a.StI,{}):void 0,children:p?"Verifying":F.isVerified?"Verified":F.status}):(0,t.jsx)(a.wpx,{onClick:()=>d.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),A=e=>{var i;let{configKey:s}=e,d=(0,_.useRouter)(),{handleError:u}=(0,n.HK)(),{verifyConfiguration:g,isVerifying:p,getVerificationData:x}=S(),[j,P]=(0,r.useState)(!1),[C,q]=(0,r.useState)(!1),[A]=a.PPS.useForm(),[I]=(0,k.h9)(),[D]=(0,k.sn)(),[E]=(0,k.Ki)(),T=!!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:T?"**********":""};(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:"**********"};A.setFieldsValue(i),q(!1)}},[M,A]);let F=(()=>{let e=x(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=d.query.last_test_succeeded,s=d.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"}})(),N=e=>h()(y()(e,e=>T&&"**********"===e?void 0:e),f()),z=async e=>{try{var i,t;if(T&&s){let t=[],r=(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.twilio_email_from)||"";e.email!==r&&""!==e.email.trim()&&t.push(D({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 n=N({twilio_api_key:e.twilio_api_key});if(c()(n)||t.push(E({key:s,secrets:n})),0===t.length){a.Pg3.info("No changes to save.");return}let o=await Promise.all(t);if(o.some(e=>(0,v.D4)(e))){let e=o.find(e=>(0,v.D4)(e));u(null==e?void 0:e.error)}else a.Pg3.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 I(i);if((0,v.D4)(s))u(s.error);else{a.Pg3.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);d.push(i)}else d.push(w.AD)}}}catch(e){u(e)}},R=async()=>{try{await g(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:A,layout:"vertical",initialValues:W,onFinish:z,onValuesChange:(e,i)=>{let s={...i},t={...W};T&&"**********"===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.AntInput,{placeholder:T?"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.AntInput.Password,{placeholder:T?"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:T&&F.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:[T?(0,t.jsx)(a.wpx,{onClick:R,className:"mr-2","data-testid":"test-btn",loading:p,icon:F.isVerified&&!p?(0,t.jsx)(a.StI,{}):void 0,children:p?"Verifying":F.isVerified?"Verified":F.status}):(0,t.jsx)(a.wpx,{onClick:()=>d.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)})]})},I=e=>{let{configKey:i}=e,s=(0,_.useRouter)(),{verifyConfiguration:n,isVerifying:d,getVerificationData:u}=S(),[g,p]=(0,r.useState)(!1),[x,j]=(0,r.useState)(!1),[P]=a.PPS.useForm(),[C]=(0,k.h9)(),[q]=(0,k.Ki)(),A=!!i,{data:I,refetch:D}=(0,k.FU)({key:i},{skip:!i}),E={account_sid:A?"**********":"",auth_token:A?"**********":"",messaging_service_sid:A?"**********":"",phone:A?"**********":""};(0,r.useEffect)(()=>{I&&(P.setFieldsValue({account_sid:"**********",auth_token:"**********",messaging_service_sid:"**********",phone:"**********"}),j(!1))},[I,P]);let T=(()=>{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(I){let{last_test_succeeded:e,last_test_timestamp:i}=I;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=>h()(y()(e,e=>A&&"**********"===e?void 0:e),f()),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]),F=async e=>{try{if(A&&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(c()(t)){a.Pg3.info("No changes to save.");return}let r=await q({key:i,secrets:t});(0,v.D4)(r)?a.Pg3.error(B(r.error)):(a.Pg3.success("Twilio SMS configuration successfully updated."),j(!1),D&&D())}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}},r=await C(i);if((0,v.D4)(r))a.Pg3.error(B(r.error));else{var t;a.Pg3.success("Twilio SMS configuration successfully created."),j(!1);let e=null===(t=r.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){a.Pg3.error("An unexpected error occurred. Please try again.")}},N=async()=>{try{await n(l.q.twilio_text)&&D&&setTimeout(()=>{D()},500)}catch(e){a.Pg3.error("An unexpected error occurred during verification.")}},z=()=>{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:E,onFinish:F,onValuesChange:(e,i)=>{let s={...i},t={...E};A&&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.AntInput.Password,{placeholder:A?"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.AntInput.Password,{placeholder:A?"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.AntInput.Password,{placeholder:A?"Enter new messaging service SID":"Enter messaging service SID",onChange:()=>z()})}),(0,t.jsx)(a.PPS.Item,{name:"phone",label:"Phone number",rules:[{validator:W}],children:(0,t.jsx)(a.AntInput.Password,{placeholder:A?"Enter new phone number":"Enter phone number",onChange:()=>z()})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:A&&T.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:[A?(0,t.jsx)(a.wpx,{onClick:N,className:"mr-2","data-testid":"test-btn",loading:d,icon:T.isVerified&&!d?(0,t.jsx)(a.StI,{}):void 0,children:d?"Verifying":T.isVerified?"Verified":T.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:!x,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.twilio_text,isOpen:g,onClose:()=>p(!1)})]})},D=e=>{let{configKey:i,initialProviderType:s}=e,[o,d]=(0,r.useState)(s||""),c=!!i,{handleError:u}=(0,n.HK)(),{data:m,isLoading:g,error:f}=(0,k.FU)({key:i},{skip:!i}),{data:p}=(0,k.qt)();(0,r.useEffect)(()=>{c&&(null==m?void 0:m.service_type)&&d(m.service_type)},[c,null==m?void 0:m.service_type]),(0,r.useEffect)(()=>{f&&u(f)},[f,u]);let y=(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=!c&&i.has(l.q.mailgun),t=!c&&i.has(l.q.twilio_email),a=!c&&i.has(l.q.twilio_text),r=!c&&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,c]);return c&&g?(0,t.jsx)(a.xuv,{display:"flex",justifyContent:"center",alignItems:"center",height:"200px",children:(0,t.jsx)(a.$jN,{})}):!c||m||g?(0,t.jsxs)(a.xuv,{children:[!c&&(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=>d(e),options:y})})})})]}),o&&(()=>{switch(o){case l.q.mailgun:return(0,t.jsx)(q,{configKey:i});case l.q.twilio_email:return(0,t.jsx)(A,{configKey:i});case l.q.twilio_text:return(0,t.jsx)(I,{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){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){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){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){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){s.d(i,{FU:function(){return d},JE:function(){return a},Ki:function(){return u},SU:function(){return m},W:function(){return g},h9:function(){return r},jc:function(){return t},qt:function(){return o},sn:function(){return c}});let{useGetEmailInviteStatusQuery:t,useGetActiveMessagingProviderQuery:a,useCreateMessagingConfigurationMutation:r,useCreateMessagingConfigurationSecretsMutation:n,useGetMessagingConfigurationDetailsQuery:l,useGetMessagingConfigurationsQuery:o,useGetMessagingConfigurationByKeyQuery:d,useUpdateMessagingConfigurationByKeyMutation:c,useUpdateMessagingConfigurationSecretsByKeyMutation:u,useCreateTestConnectionMessageMutation:m,useDeleteMessagingConfigurationByKeyMutation:g}=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"]})})})}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3377],{77213:function(e,i,s){s.d(i,{Z:function(){return g}});var t=s(24246),a=s(87949),r=s(88038),n=s.n(r),l=s(86677);s(27378);var o=s(25980),d=s(90867),c=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."," "]})]})})},g=e=>{let{children:i,title:s,padded:r=!0,mainProps:u}=e,g=(0,o.hz)(),f=(0,l.useRouter)(),p="/privacy-requests"===f.pathname||"/datastore-connection"===f.pathname,y=!(g.flags.messagingConfiguration&&p),{data:x}=(0,c.JE)(void 0,{skip:y}),{data:h}=(0,d.PW)(void 0,{skip:y}),_=g.flags.messagingConfiguration&&(!x||!h)&&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){s.d(i,{R:function(){return o}});var t=s(24246),a=s(87949),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){s.d(i,{Z:function(){return D}});var t=s(24246),a=s(87949),r=s(27378),n=s(17245),l=s(90710),o=s(51980),d=s(90104),c=s.n(d),u=s(56141),m=s.n(u),g=s(92465),f=s.n(g),p=s(25389),y=s.n(p),x=s(15539),h=s.n(x),_=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)(),[d,c]=(0,r.useState)(!1),[u]=a.PPS.useForm(),m=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},f=async e=>{c(!0);try{let s=await o({service_type:i,details:{to_identity:m?{phone_number:e.phone}:{email:e.email}}});(0,v.D4)(s)?a.Pg3.error(g(s.error)):(a.Pg3.success("Test message sent successfully!"),n())}catch(e){a.Pg3.error(g(e))}finally{c(!1)}},p=m?"SMS":"email",y=()=>{n()};return(0,t.jsx)(a.$zI,{title:"Test ".concat(p),open:s,onCancel:y,footer:null,children:(0,t.jsx)(a.gCW,{spacing:4,children:(0,t.jsxs)(a.PPS,{form:u,onFinish:f,layout:"vertical",style:{width:"100%"},children:[m?(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.AntInput,{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.AntInput,{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:y,disabled:d,children:"Cancel"}),(0,t.jsx)(a.wpx,{type:"primary",htmlType:"submit",loading:d,"data-testid":"send-test-message-btn",children:d?"Sending...":"Send test ".concat(p)})]})})]})})})},S=()=>{let[e]=(0,k.SU)(),[i,s]=(0,r.useState)(!1),[t,n]=(0,r.useState)({}),o=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)){a.Pg3.error(o(t.error));let e=new Date().toISOString();return n(s=>({...s,[i]:{timestamp:e,success:!1}})),!1}a.Pg3.success("Configuration verified successfully!");let r=new Date().toISOString();return n(e=>({...e,[i]:{timestamp:r,success:!0}})),!0}catch(e){return a.Pg3.error(o(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,d;let{configKey:u}=e,g=(0,_.useRouter)(),{handleError:p}=(0,n.HK)(),{verifyConfiguration:x,isVerifying:P,getVerificationData:C}=S(),q=!!u,[V,A]=(0,r.useState)(!1),[I,D]=(0,r.useState)(!1),[E,T]=(0,r.useState)(q?"**********":"secret_keys"),[M]=a.PPS.useForm(),[B]=(0,k.h9)(),[W]=(0,k.sn)(),[F]=(0,k.Ki)(),{data:N,refetch:z}=(0,k.FU)({key:u},{skip:!u}),R={email_from:(null==N?void 0:null===(i=N.details)||void 0===i?void 0:i.email_from)||"",domain:(null==N?void 0:null===(s=N.details)||void 0===s?void 0:s.domain)||"",aws_region:(null==N?void 0:null===(d=N.details)||void 0===d?void 0:d.aws_region)||"",auth_method:q?"**********":"secret_keys",aws_access_key_id:q?"**********":"",aws_secret_access_key:q?"**********":"",aws_assume_role_arn:q?"**********":""};(0,r.useEffect)(()=>{if(N){var e,i,s;let t={email_from:(null===(e=N.details)||void 0===e?void 0:e.email_from)||"",domain:(null===(i=N.details)||void 0===i?void 0:i.domain)||"",aws_region:(null===(s=N.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),T("**********"),D(!1)}},[N,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(N){let{last_test_succeeded:e,last_test_timestamp:i}=N;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=g.query.last_test_succeeded,s=g.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=>h()(y()(e,e=>q&&"**********"===e?void 0:e),f()),U=(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]),L=async e=>{try{var i,s,t,r;if(q&&u){let r=[],n=(null==N?void 0:null===(i=N.details)||void 0===i?void 0:i.email_from)||"",o=(null==N?void 0:null===(s=N.details)||void 0===s?void 0:s.domain)||"",d=(null==N?void 0:null===(t=N.details)||void 0===t?void 0:t.aws_region)||"";(e.email_from!==n||e.domain!==o||e.aws_region!==d)&&r.push(W({key:u,config:{key:(null==N?void 0:N.key)||u,name:null==N?void 0:N.name,service_type:(null==N?void 0:N.service_type)||l.q.aws_ses,details:{...null==N?void 0:N.details,email_from:e.email_from||null,domain:e.domain||null,aws_region:e.aws_region}}}));let m={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},g=O(m);if(c()(g)||r.push(F({key:u,secrets:g})),0===r.length){a.Pg3.info("No changes to save.");return}let f=await Promise.all(r);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 a.Pg3.success("AWS SES configuration successfully updated."),D(!1),z&&z()}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{a.Pg3.success("AWS SES configuration successfully created."),D(!1);let e=null===(r=s.data)||void 0===r?void 0:r.key;if(e){let i=w.GE.replace("[key]",e);g.push(i)}else g.push(w.AD)}}}catch(e){p(e)}},Z=async()=>{try{await x(l.q.aws_ses)&&z&&setTimeout(()=>{z()},500)}catch(e){p(e)}},H=()=>{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:R,onFinish:L,onValuesChange:(e,i)=>{let s={...i},t={...R};q&&Object.keys(s).forEach(e=>{"**********"===s[e]&&(s[e]=t[e])}),void 0!==e.auth_method&&(T(e.auth_method),"automatic"===e.auth_method&&M.setFieldsValue({aws_access_key_id:"",aws_secret_access_key:""})),D(!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:U}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:q?"Enter new email from":"Enter email from",onChange:()=>H()})}),(0,t.jsx)(a.PPS.Item,{name:"domain",label:"Domain",rules:[{validator:U}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:q?"Enter new domain":"Enter domain",onChange:()=>H()})}),(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.AntInput,{placeholder:q?"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"===E||q&&"**********"===E)&&(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"===E||q&&"**********"===E?[{required:!0,message:"AWS access key ID is required for secret keys authentication"}]:[],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:q?"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"===E||q&&"**********"===E?[{required:!0,message:"AWS secret access key is required for secret keys authentication"}]:[],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:q?"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.AntInput.Password,{placeholder:q?"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:q&&K.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>A(!0),"data-testid":"send-test-message-btn",children:"Send test email"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[q?(0,t.jsx)(a.wpx,{onClick:Z,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:()=>g.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!I,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.aws_ses,isOpen:V,onClose:()=>A(!1)})]})},C=s(44907),q=e=>{var i;let{configKey:s}=e,d=(0,_.useRouter)(),{handleError:u}=(0,n.HK)(),{verifyConfiguration:g,isVerifying:p,getVerificationData:x}=S(),[j,P]=(0,r.useState)(!1),[q,V]=(0,r.useState)(!1),[A]=a.PPS.useForm(),[I]=(0,k.h9)(),[D]=(0,k.sn)(),[E]=(0,k.Ki)(),T=!!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:T?"**********":""};(0,r.useEffect)(()=>{if(M){var e;let i={domain:(null===(e=M.details)||void 0===e?void 0:e.domain)||"",mailgun_api_key:"**********"};A.setFieldsValue(i),V(!1)}},[M,A]);let F=(()=>{let e=x(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=d.query.last_test_succeeded,s=d.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"}})(),N=e=>h()(y()(e,e=>T&&"**********"===e?void 0:e),f()),z=async e=>{try{var i,t;if(T&&s){let t=[],r=(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.domain)||"";e.domain!==r&&""!==e.domain.trim()&&t.push(D({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 n=N({mailgun_api_key:e.mailgun_api_key});if(c()(n)||t.push(E({key:s,secrets:n})),0===t.length){a.Pg3.info("No changes to save.");return}let o=await Promise.all(t);if(o.some(e=>(0,v.D4)(e))){let e=o.find(e=>(0,v.D4)(e));u(null==e?void 0:e.error)}else a.Pg3.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 I(i);if((0,v.D4)(s))u(s.error);else{a.Pg3.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);d.push(i)}else d.push(w.AD)}}}catch(e){u(e)}},R=async()=>{try{await g(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:A,layout:"vertical",initialValues:W,onFinish:z,onValuesChange:(e,i)=>{let s={...i},t={...W};T&&"**********"===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.AntInput,{placeholder:T?"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.AntInput.Password,{placeholder:T?"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:T&&F.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:[T?(0,t.jsx)(a.wpx,{onClick:R,className:"mr-2","data-testid":"test-btn",loading:p,icon:F.isVerified&&!p?(0,t.jsx)(a.StI,{}):void 0,children:p?"Verifying":F.isVerified?"Verified":F.status}):(0,t.jsx)(a.wpx,{onClick:()=>d.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),A=e=>{var i;let{configKey:s}=e,d=(0,_.useRouter)(),{handleError:u}=(0,n.HK)(),{verifyConfiguration:g,isVerifying:p,getVerificationData:x}=S(),[j,P]=(0,r.useState)(!1),[C,q]=(0,r.useState)(!1),[A]=a.PPS.useForm(),[I]=(0,k.h9)(),[D]=(0,k.sn)(),[E]=(0,k.Ki)(),T=!!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:T?"**********":""};(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:"**********"};A.setFieldsValue(i),q(!1)}},[M,A]);let F=(()=>{let e=x(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=d.query.last_test_succeeded,s=d.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"}})(),N=e=>h()(y()(e,e=>T&&"**********"===e?void 0:e),f()),z=async e=>{try{var i,t;if(T&&s){let t=[],r=(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.twilio_email_from)||"";e.email!==r&&""!==e.email.trim()&&t.push(D({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 n=N({twilio_api_key:e.twilio_api_key});if(c()(n)||t.push(E({key:s,secrets:n})),0===t.length){a.Pg3.info("No changes to save.");return}let o=await Promise.all(t);if(o.some(e=>(0,v.D4)(e))){let e=o.find(e=>(0,v.D4)(e));u(null==e?void 0:e.error)}else a.Pg3.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 I(i);if((0,v.D4)(s))u(s.error);else{a.Pg3.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);d.push(i)}else d.push(w.AD)}}}catch(e){u(e)}},R=async()=>{try{await g(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:A,layout:"vertical",initialValues:W,onFinish:z,onValuesChange:(e,i)=>{let s={...i},t={...W};T&&"**********"===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.AntInput,{placeholder:T?"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.AntInput.Password,{placeholder:T?"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:T&&F.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:[T?(0,t.jsx)(a.wpx,{onClick:R,className:"mr-2","data-testid":"test-btn",loading:p,icon:F.isVerified&&!p?(0,t.jsx)(a.StI,{}):void 0,children:p?"Verifying":F.isVerified?"Verified":F.status}):(0,t.jsx)(a.wpx,{onClick:()=>d.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)})]})},I=e=>{let{configKey:i}=e,s=(0,_.useRouter)(),{verifyConfiguration:n,isVerifying:d,getVerificationData:u}=S(),[g,p]=(0,r.useState)(!1),[x,j]=(0,r.useState)(!1),[P]=a.PPS.useForm(),[C]=(0,k.h9)(),[q]=(0,k.Ki)(),A=!!i,{data:I,refetch:D}=(0,k.FU)({key:i},{skip:!i}),E={account_sid:A?"**********":"",auth_token:A?"**********":"",messaging_service_sid:A?"**********":"",phone:A?"**********":""};(0,r.useEffect)(()=>{I&&(P.setFieldsValue({account_sid:"**********",auth_token:"**********",messaging_service_sid:"**********",phone:"**********"}),j(!1))},[I,P]);let T=(()=>{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(I){let{last_test_succeeded:e,last_test_timestamp:i}=I;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=>h()(y()(e,e=>A&&"**********"===e?void 0:e),f()),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]),F=async e=>{try{if(A&&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(c()(t)){a.Pg3.info("No changes to save.");return}let r=await q({key:i,secrets:t});(0,v.D4)(r)?a.Pg3.error(B(r.error)):(a.Pg3.success("Twilio SMS configuration successfully updated."),j(!1),D&&D())}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}},r=await C(i);if((0,v.D4)(r))a.Pg3.error(B(r.error));else{var t;a.Pg3.success("Twilio SMS configuration successfully created."),j(!1);let e=null===(t=r.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){a.Pg3.error("An unexpected error occurred. Please try again.")}},N=async()=>{try{await n(l.q.twilio_text)&&D&&setTimeout(()=>{D()},500)}catch(e){a.Pg3.error("An unexpected error occurred during verification.")}},z=()=>{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:E,onFinish:F,onValuesChange:(e,i)=>{let s={...i},t={...E};A&&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.AntInput.Password,{placeholder:A?"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.AntInput.Password,{placeholder:A?"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.AntInput.Password,{placeholder:A?"Enter new messaging service SID":"Enter messaging service SID",onChange:()=>z()})}),(0,t.jsx)(a.PPS.Item,{name:"phone",label:"Phone number",rules:[{validator:W}],children:(0,t.jsx)(a.AntInput.Password,{placeholder:A?"Enter new phone number":"Enter phone number",onChange:()=>z()})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:A&&T.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:[A?(0,t.jsx)(a.wpx,{onClick:N,className:"mr-2","data-testid":"test-btn",loading:d,icon:T.isVerified&&!d?(0,t.jsx)(a.StI,{}):void 0,children:d?"Verifying":T.isVerified?"Verified":T.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:!x,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.twilio_text,isOpen:g,onClose:()=>p(!1)})]})},D=e=>{let{configKey:i,initialProviderType:s}=e,[o,d]=(0,r.useState)(s||""),c=!!i,{handleError:u}=(0,n.HK)(),{data:m,isLoading:g,error:f}=(0,k.FU)({key:i},{skip:!i}),{data:p}=(0,k.qt)();(0,r.useEffect)(()=>{c&&(null==m?void 0:m.service_type)&&d(m.service_type)},[c,null==m?void 0:m.service_type]),(0,r.useEffect)(()=>{f&&u(f)},[f,u]);let y=(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=!c&&i.has(l.q.mailgun),t=!c&&i.has(l.q.twilio_email),a=!c&&i.has(l.q.twilio_text),r=!c&&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,c]);return c&&g?(0,t.jsx)(a.xuv,{display:"flex",justifyContent:"center",alignItems:"center",height:"200px",children:(0,t.jsx)(a.$jN,{})}):!c||m||g?(0,t.jsxs)(a.xuv,{children:[!c&&(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=>d(e),options:y})})})})]}),o&&(()=>{switch(o){case l.q.mailgun:return(0,t.jsx)(q,{configKey:i});case l.q.twilio_email:return(0,t.jsx)(A,{configKey:i});case l.q.twilio_text:return(0,t.jsx)(I,{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){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){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){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){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){s.d(i,{FU:function(){return d},JE:function(){return a},Ki:function(){return u},SU:function(){return m},W:function(){return g},h9:function(){return r},jc:function(){return t},qt:function(){return o},sn:function(){return c}});let{useGetEmailInviteStatusQuery:t,useGetActiveMessagingProviderQuery:a,useCreateMessagingConfigurationMutation:r,useCreateMessagingConfigurationSecretsMutation:n,useGetMessagingConfigurationDetailsQuery:l,useGetMessagingConfigurationsQuery:o,useGetMessagingConfigurationByKeyQuery:d,useUpdateMessagingConfigurationByKeyMutation:c,useUpdateMessagingConfigurationSecretsByKeyMutation:u,useCreateTestConnectionMessageMutation:m,useDeleteMessagingConfigurationByKeyMutation:g}=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([[3446,2962],{96586:function(t,r,e){var n=e(57753),o=e(82452),i=e(22115),a=e(38256),u=e(67426);function c(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=a,c.prototype.set=u,t.exports=c},36301:function(t,r,e){var n=e(69417),o=e(72470),i=e(66165),a=e(71873),u=e(52556);function c(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=a,c.prototype.set=u,t.exports=c},44538:function(t,r,e){var n=e(81822)(e(77400),"Map");t.exports=n},74554:function(t,r,e){var n=e(39448),o=e(7738),i=e(66575),a=e(7238),u=e(38738);function c(t){var r=-1,e=null==t?0:t.length;for(this.clear();++r<e;){var n=t[r];this.set(n[0],n[1])}}c.prototype.clear=n,c.prototype.delete=o,c.prototype.get=i,c.prototype.has=a,c.prototype.set=u,t.exports=c},46151:function(t,r,e){var n=e(81822)(e(77400),"Set");t.exports=n},52485:function(t,r,e){var n=e(74554),o=e(38639),i=e(88379);function a(t){var r=-1,e=null==t?0:t.length;for(this.__data__=new n;++r<e;)this.add(t[r])}a.prototype.add=a.prototype.push=o,a.prototype.has=i,t.exports=a},90756:function(t){t.exports=function(t,r){for(var e=-1,n=null==t?0:t.length;++e<n;)if(r(t[e],e,t))return!0;return!1}},93382:function(t,r,e){var n=e(85638);t.exports=function(t,r){for(var e=t.length;e--;)if(n(t[e][0],r))return e;return -1}},32866:function(t,r,e){var n=e(12772),o=e(92360);t.exports=function t(r,e,i,a,u){return r===e||(null!=r&&null!=e&&(o(r)||o(e))?n(r,e,i,a,t,u):r!=r&&e!=e)}},12772:function(t,r,e){var n=e(23694),o=e(27042),i=e(370),a=e(39584),u=e(3533),c=e(19785),s=e(43854),f=e(48519),p="[object Arguments]",_="[object Array]",v="[object Object]",h=Object.prototype.hasOwnProperty;t.exports=function(t,r,e,l,y,d){var b=c(t),x=c(r),g=b?_:u(t),j=x?_:u(r);g=g==p?v:g,j=j==p?v:j;var w=g==v,O=j==v,z=g==j;if(z&&s(t)){if(!s(r))return!1;b=!0,w=!1}if(z&&!w)return d||(d=new n),b||f(t)?o(t,r,e,l,y,d):i(t,r,g,e,l,y,d);if(!(1&e)){var k=w&&h.call(t,"__wrapped__"),m=O&&h.call(r,"__wrapped__");if(k||m){var E=k?t.value():t,P=m?r.value():r;return d||(d=new n),y(E,P,e,l,d)}}return!!z&&(d||(d=new n),a(t,r,e,l,y,d))}},46729:function(t,r,e){var n=e(28338),o=e(99678),i=e(11611),a=e(76532),u=/^\[object .+?Constructor\]$/,c=Object.prototype,s=Function.prototype.toString,f=c.hasOwnProperty,p=RegExp("^"+s.call(f).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!i(t)||o(t))&&(n(t)?p:u).test(a(t))}},65581:function(t){t.exports=function(t,r){return t.has(r)}},64937:function(t,r,e){var n=e(77400)["__core-js_shared__"];t.exports=n},27042:function(t,r,e){var n=e(52485),o=e(90756),i=e(65581);t.exports=function(t,r,e,a,u,c){var s=1&e,f=t.length,p=r.length;if(f!=p&&!(s&&p>f))return!1;var _=c.get(t),v=c.get(r);if(_&&v)return _==r&&v==t;var h=-1,l=!0,y=2&e?new n:void 0;for(c.set(t,r),c.set(r,t);++h<f;){var d=t[h],b=r[h];if(a)var x=s?a(b,d,h,r,t,c):a(d,b,h,t,r,c);if(void 0!==x){if(x)continue;l=!1;break}if(y){if(!o(r,function(t,r){if(!i(y,r)&&(d===t||u(d,t,e,a,c)))return y.push(r)})){l=!1;break}}else if(!(d===b||u(d,b,e,a,c))){l=!1;break}}return c.delete(t),c.delete(r),l}},370:function(t,r,e){var n=e(96539),o=e(59942),i=e(85638),a=e(27042),u=e(19383),c=e(43735),s=n?n.prototype:void 0,f=s?s.valueOf:void 0;t.exports=function(t,r,e,n,s,p,_){switch(e){case"[object DataView]":if(t.byteLength!=r.byteLength||t.byteOffset!=r.byteOffset)break;t=t.buffer,r=r.buffer;case"[object ArrayBuffer]":if(t.byteLength!=r.byteLength||!p(new o(t),new o(r)))break;return!0;case"[object Boolean]":case"[object Date]":case"[object Number]":return i(+t,+r);case"[object Error]":return t.name==r.name&&t.message==r.message;case"[object RegExp]":case"[object String]":return t==r+"";case"[object Map]":var v=u;case"[object Set]":var h=1&n;if(v||(v=c),t.size!=r.size&&!h)break;var l=_.get(t);if(l)return l==r;n|=2,_.set(t,r);var y=a(v(t),v(r),n,s,p,_);return _.delete(t),y;case"[object Symbol]":if(f)return f.call(t)==f.call(r)}return!1}},39584:function(t,r,e){var n=e(51385),o=Object.prototype.hasOwnProperty;t.exports=function(t,r,e,i,a,u){var c=1&e,s=n(t),f=s.length;if(f!=n(r).length&&!c)return!1;for(var p=f;p--;){var _=s[p];if(!(c?_ in r:o.call(r,_)))return!1}var v=u.get(t),h=u.get(r);if(v&&h)return v==r&&h==t;var l=!0;u.set(t,r),u.set(r,t);for(var y=c;++p<f;){var d=t[_=s[p]],b=r[_];if(i)var x=c?i(b,d,_,r,t,u):i(d,b,_,t,r,u);if(!(void 0===x?d===b||a(d,b,e,i,u):x)){l=!1;break}y||(y="constructor"==_)}if(l&&!y){var g=t.constructor,j=r.constructor;g!=j&&"constructor"in t&&"constructor"in r&&!("function"==typeof g&&g instanceof g&&"function"==typeof j&&j instanceof j)&&(l=!1)}return u.delete(t),u.delete(r),l}},95899:function(t,r,e){var n=e(54479);t.exports=function(t,r){var e=t.__data__;return n(r)?e["string"==typeof r?"string":"hash"]:e.map}},81822:function(t,r,e){var n=e(46729),o=e(15371);t.exports=function(t,r){var e=o(t,r);return n(e)?e:void 0}},15371:function(t){t.exports=function(t,r){return null==t?void 0:t[r]}},57753:function(t,r,e){var n=e(35718);t.exports=function(){this.__data__=n?n(null):{},this.size=0}},82452:function(t){t.exports=function(t){var r=this.has(t)&&delete this.__data__[t];return this.size-=r?1:0,r}},22115:function(t,r,e){var n=e(35718),o=Object.prototype.hasOwnProperty;t.exports=function(t){var r=this.__data__;if(n){var e=r[t];return"__lodash_hash_undefined__"===e?void 0:e}return o.call(r,t)?r[t]:void 0}},38256:function(t,r,e){var n=e(35718),o=Object.prototype.hasOwnProperty;t.exports=function(t){var r=this.__data__;return n?void 0!==r[t]:o.call(r,t)}},67426:function(t,r,e){var n=e(35718);t.exports=function(t,r){var e=this.__data__;return this.size+=this.has(t)?0:1,e[t]=n&&void 0===r?"__lodash_hash_undefined__":r,this}},54479:function(t){t.exports=function(t){var r=typeof t;return"string"==r||"number"==r||"symbol"==r||"boolean"==r?"__proto__"!==t:null===t}},99678:function(t,r,e){var n,o=e(64937),i=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";t.exports=function(t){return!!i&&i in t}},69417:function(t){t.exports=function(){this.__data__=[],this.size=0}},72470:function(t,r,e){var n=e(93382),o=Array.prototype.splice;t.exports=function(t){var r=this.__data__,e=n(r,t);return!(e<0)&&(e==r.length-1?r.pop():o.call(r,e,1),--this.size,!0)}},66165:function(t,r,e){var n=e(93382);t.exports=function(t){var r=this.__data__,e=n(r,t);return e<0?void 0:r[e][1]}},71873:function(t,r,e){var n=e(93382);t.exports=function(t){return n(this.__data__,t)>-1}},52556:function(t,r,e){var n=e(93382);t.exports=function(t,r){var e=this.__data__,o=n(e,t);return o<0?(++this.size,e.push([t,r])):e[o][1]=r,this}},39448:function(t,r,e){var n=e(96586),o=e(36301),i=e(44538);t.exports=function(){this.size=0,this.__data__={hash:new n,map:new(i||o),string:new n}}},7738:function(t,r,e){var n=e(95899);t.exports=function(t){var r=n(this,t).delete(t);return this.size-=r?1:0,r}},66575:function(t,r,e){var n=e(95899);t.exports=function(t){return n(this,t).get(t)}},7238:function(t,r,e){var n=e(95899);t.exports=function(t){return n(this,t).has(t)}},38738:function(t,r,e){var n=e(95899);t.exports=function(t,r){var e=n(this,t),o=e.size;return e.set(t,r),this.size+=e.size==o?0:1,this}},19383:function(t){t.exports=function(t){var r=-1,e=Array(t.size);return t.forEach(function(t,n){e[++r]=[n,t]}),e}},35718:function(t,r,e){var n=e(81822)(Object,"create");t.exports=n},38639:function(t){t.exports=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this}},88379:function(t){t.exports=function(t){return this.__data__.has(t)}},43735:function(t){t.exports=function(t){var r=-1,e=Array(t.size);return t.forEach(function(t){e[++r]=t}),e}},76532:function(t){var r=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return r.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},85638:function(t){t.exports=function(t,r){return t===r||t!=t&&r!=r}},56141:function(t,r,e){var n=e(32866);t.exports=function(t,r){return n(t,r)}},28338:function(t,r,e){var n=e(99736),o=e(11611);t.exports=function(t){if(!o(t))return!1;var r=n(t);return"[object Function]"==r||"[object GeneratorFunction]"==r||"[object AsyncFunction]"==r||"[object Proxy]"==r}},11611:function(t){t.exports=function(t){var r=typeof t;return null!=t&&("object"==r||"function"==r)}}}]);
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3696],{83696:function(e,s,a){a.d(s,{Z:function(){return el}});var l=a(24246),t=a(20595),n=a(91437),i=()=>(0,l.jsxs)(t.xuv,{children:[(0,l.jsx)(t.xuv,{pb:4,fontSize:"18px",fontWeight:"semibold",children:"Role Description"}),(0,l.jsx)(t.gCW,{spacing:4,children:n.K.map(e=>(0,l.jsxs)(t.xuv,{width:"100%",padding:4,borderRadius:"md",backgroundColor:"gray.75",fontSize:"14px",children:[(0,l.jsx)(t.xuv,{fontWeight:"semibold",children:e.label}),(0,l.jsx)(t.xuv,{color:"gray.700",children:e.description})]},e.roleKey))})]}),r=a(16134),d=a(39449),o=a(19904),c=a(34090),h=a(86677),u=a(27378),m=a(812),p=a(46238),x=a(58452),j=a(77830),w=a(46628),g=a(26917),b=a(1315),f=a(95492),y=a(65497);let v=e=>{let{assignedSystems:s,onAssignedSystemChange:a}=e,n=(0,r.C)(y.Ux);if((0,y.d6)(n,{skip:!n}),0===s.length)return null;let i=e=>{a(s.filter(s=>s.fides_key!==e.fides_key))};return(0,l.jsxs)(t.iA_,{size:"sm","data-testid":"assign-systems-delete-table",children:[(0,l.jsx)(t.hrZ,{children:(0,l.jsxs)(t.Tr,{children:[(0,l.jsx)(t.Th,{children:"System"}),(0,l.jsx)(t.Th,{})]})}),(0,l.jsx)(t.p3B,{children:s.map(e=>(0,l.jsxs)(t.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,l.jsx)(t.Td,{children:e.name}),(0,l.jsx)(t.Td,{textAlign:"end",children:(0,l.jsx)(t.wpx,{"aria-label":"Unassign system from user",icon:(0,l.jsx)(f.l,{}),onClick:()=>i(e),"data-testid":"unassign-btn"})})]},e.fides_key))})]})};var _=e=>{let{allSystems:s,assignedSystems:a,onChange:n}=e,i=e=>{a.find(s=>s.fides_key===e.fides_key)?n(a.filter(s=>s.fides_key!==e.fides_key)):n([...a,e])};return(0,l.jsx)(t.xuv,{overflowY:"auto",maxHeight:"300px",children:(0,l.jsxs)(t.iA_,{size:"sm","data-testid":"assign-systems-table",maxHeight:"50vh",overflowY:"scroll",children:[(0,l.jsx)(t.hrZ,{position:"sticky",top:0,background:"white",zIndex:1,children:(0,l.jsxs)(t.Tr,{children:[(0,l.jsx)(t.Th,{children:"System"}),(0,l.jsx)(t.Th,{children:"Assign"})]})}),(0,l.jsx)(t.p3B,{children:s.map(e=>{let s=!!a.find(s=>s.fides_key===e.fides_key);return(0,l.jsxs)(t.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,l.jsx)(t.Td,{children:e.name}),(0,l.jsx)(t.Td,{children:(0,l.jsx)(t.rAg,{checked:s,onChange:()=>i(e),"data-testid":"assign-switch"})})]},e.fides_key)})})]})})};let C=(e,s)=>{var a,l;return(null===(a=e.name)||void 0===a?void 0:a.toLocaleLowerCase().includes(s.toLocaleLowerCase()))||(null===(l=e.description)||void 0===l?void 0:l.toLocaleLowerCase().includes(s.toLocaleLowerCase()))};var k=e=>{let{isOpen:s,onClose:a,assignedSystems:n,onAssignedSystemChange:i}=e,{data:r}=(0,b.K3)(),[d,o]=(0,u.useState)(""),[c,h]=(0,u.useState)(n),m=async()=>{i(c),a()},p=!r||0===r.length,x=(0,u.useMemo)(()=>r?r.filter(e=>C(e,d)):[],[r,d]),j=(0,u.useMemo)(()=>{let e=new Set(c.map(e=>e.fides_key));return x.every(s=>e.has(s.fides_key))},[x,c]);return(0,l.jsxs)(t.u_l,{isOpen:s,onClose:a,size:"2xl",children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsxs)(t.hzk,{p:8,"data-testid":"confirmation-modal",children:[(0,l.jsxs)(t.xBx,{fontWeight:"medium",display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,l.jsx)(t.xvT,{children:"Assign systems"}),(0,l.jsxs)(t.j8w,{color:"success",children:["Assigned to ",n.length," systems"]})]}),(0,l.jsx)(t.fef,{"data-testid":"assign-systems-modal-body",children:p?(0,l.jsx)(t.xvT,{children:"No systems found"}):(0,l.jsxs)(t.Kqy,{spacing:4,children:[(0,l.jsxs)(t.kCb,{justifyContent:"space-between",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",flexGrow:1,fontWeight:"medium",children:"Assign systems in your organization to this user"}),(0,l.jsx)(t.xuv,{children:(0,l.jsxs)(t.NIc,{display:"flex",alignItems:"center",children:[(0,l.jsx)(t.lXp,{fontSize:"sm",htmlFor:"assign-all-systems",mb:"0",children:"Assign all systems"}),(0,l.jsx)(t.rAg,{size:"small",id:"assign-all-systems",checked:j,onChange:e=>{e&&r?h(x):h(r?r.filter(e=>!x.includes(e)):[])},"data-testid":"assign-all-systems-toggle"})]})})]}),(0,l.jsx)(g.Z,{value:d,onChange:o,placeholder:"Search for systems","data-testid":"system-search",withIcon:!0}),(0,l.jsx)(_,{allSystems:x,assignedSystems:c,onChange:h})]})}),(0,l.jsx)(t.mzw,{justifyContent:"flex-start",children:(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:a,className:"mr-2","data-testid":"cancel-btn",children:"Cancel"}),p?null:(0,l.jsx)(t.wpx,{type:"primary",onClick:m,"data-testid":"confirm-btn",children:"Confirm"})]})})]})]})},S=e=>{let{label:s,roleKey:a,isSelected:n,isDisabled:i,assignedSystems:r,onAssignedSystemChange:o}=e,{setFieldValue:h}=(0,c.u6)(),u=(0,t.qY0)(),m=i?"You do not have sufficient permissions to assign this role.":void 0;return n?(0,l.jsxs)(t.Kqy,{borderRadius:"md",border:"1px solid",borderColor:"gray.200",p:4,backgroundColor:"gray.50","aria-selected":"true",spacing:4,"data-testid":"selected",children:[(0,l.jsxs)(t.kCb,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(t.xvT,{fontSize:"md",fontWeight:"semibold",children:s}),(0,l.jsx)(t.StI,{})]}),a!==d.A7.APPROVER&&a!==d.A7.RESPONDENT&&a!==d.A7.EXTERNAL_RESPONDENT?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(t.kCb,{alignItems:"center",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",fontWeight:"semibold",mr:1,children:"Assigned systems"}),(0,l.jsx)(p.b,{label:"Assigned systems refer to those systems that have been specifically allocated to a user for management purposes. Users assigned to a system possess full edit permissions and are listed as the Data Steward for the respective system."})]}),(0,l.jsx)(t.wpx,{disabled:i,title:m,type:"primary",size:"small",onClick:u.onOpen,"data-testid":"assign-systems-btn",children:"Assign systems +"}),(0,l.jsx)(v,{assignedSystems:r,onAssignedSystemChange:o}),u.isOpen?(0,l.jsx)(k,{isOpen:u.isOpen,onClose:u.onClose,assignedSystems:r,onAssignedSystemChange:o}):null]}):null]}):(0,l.jsx)(t.wpx,{onClick:()=>{h("roles",[a])},"data-testid":"role-option-".concat(s),title:m,disabled:i,children:s})};let E={roles:[]};var R=()=>{var e,s;let a=(0,t.pmc)(),i=(0,h.useRouter)(),g=(0,r.C)(y.Ux);(0,y.d6)(g,{skip:!g});let{isOpen:b,onOpen:f,onClose:v}=(0,t.qY0)(),_=(0,r.C)(y.R$),[C,k]=(0,u.useState)(_),[R]=(0,y.G$)();(0,u.useEffect)(()=>{k(_)},[_]);let{data:A,isLoading:P}=(0,y.gU)(null!=g?g:"",{skip:!g}),[T]=(0,y.lD)(),N=!!(null==A?void 0:null===(e=A.roles)||void 0===e?void 0:e.includes(d.A7.EXTERNAL_RESPONDENT)),O=async e=>{if(b&&v(),!g)return;let s=e.roles.includes(d.A7.APPROVER),l=await T({user_id:g,payload:{roles:e.roles}});if((0,m.D4)(l)){a((0,w.Vo)((0,m.e$)(l.error)));return}if(!s){let e=C.map(e=>e.fides_key),s=await R({userId:g,fidesKeys:e});if((0,m.D4)(s)){a((0,w.Vo)((0,m.e$)(s.error)));return}}a((0,w.t5)("Permissions updated"))},I=async e=>{g&&(C.length>0&&e.roles.includes(d.A7.APPROVER)?f():await O(e))},z=(0,o.Tg)([d.Sh.USER_PERMISSION_ASSIGN_OWNERS]);if(!g)return null;if(P)return(0,l.jsx)(t.$jN,{});if(!z&&(null==A?void 0:null===(s=A.roles)||void 0===s?void 0:s.includes(d.A7.OWNER)))return(0,l.jsx)(t.xvT,{"data-testid":"insufficient-access",children:"You do not have sufficient access to change this user's permissions."});let q=(null==A?void 0:A.roles)?{roles:A.roles}:E,U=n.K.filter(e=>N?e.roleKey===d.A7.EXTERNAL_RESPONDENT:e.roleKey!==d.A7.EXTERNAL_RESPONDENT),D=N?"External respondent role cannot be changed":void 0;return(0,l.jsx)(c.J9,{onSubmit:I,initialValues:q,enableReinitialize:!0,children:e=>{let{values:s,isSubmitting:a,dirty:n}=e;return(0,l.jsxs)(c.l0,{children:[(0,l.jsxs)(t.Kqy,{spacing:7,children:[(0,l.jsxs)(t.Kqy,{spacing:3,"data-testid":"role-options",children:[(0,l.jsxs)(t.kCb,{alignItems:"center",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",fontWeight:"semibold",mr:1,children:"User role"}),(0,l.jsx)(p.b,{label:"A user's role in the organization determines what parts of the UI they can access and which functions are available to them."})]}),U.map(e=>{let a=s.roles.indexOf(e.roleKey)>=0,t=e.roleKey===d.A7.OWNER?!z:N;return(0,l.jsx)(S,{isSelected:a,isDisabled:t,assignedSystems:C,onAssignedSystemChange:k,...e},e.roleKey)}),!N&&(0,l.jsx)(t.esZ,{title:"To invite a new External respondent user, create a manual task integration and then click on the 'Manage secure access' button",children:(0,l.jsx)(t.wpx,{disabled:!0,"data-testid":"role-option-External respondent",children:"External respondent"})})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:()=>i.push(j.e3),children:"Cancel"}),(0,l.jsx)(t.esZ,{title:D,children:(0,l.jsx)(t.wpx,{className:"ml-2",type:"primary",htmlType:"submit",loading:a,disabled:!n&&C===_||N,"data-testid":"save-btn",children:"Save"})})]})]}),(0,l.jsx)(x.Z,{isOpen:b,onClose:v,onConfirm:()=>O(s),title:"Change role to Approver",testId:"downgrade-to-approver-confirmation-modal",continueButtonText:"Yes",message:(0,l.jsx)(t.xvT,{children:"Switching to an approver role will remove all assigned systems. Do you wish to proceed?"})})]})}})},A=a(61038),P=a(55484),T=a(25980),N=a(40324),O=a(96006),I=a(7426),z=a(42478),q=a(76174),U=a(91317),D=a(16125),Z=a(36835),W=a(31883),K=a(52253);let L=(e,s,a)=>{var l;try{localStorage.removeItem(K.xH)}catch(e){}e((0,Z.kS)()),null==a||null===(l=a.onClose)||void 0===l||l.call(a),s.push(K._e)},V=P.Ry().shape({password:O.a.label("Password"),passwordConfirmation:P.Z_().required().oneOf([P.iH("password")],"Passwords must match").label("Password confirmation")}),B={password:"",passwordConfirmation:""},Y=e=>{let s=(0,t.qY0)(),a=(0,t.pmc)(),[l]=(0,y.ls)(),n=(0,h.useRouter)(),i=(0,D.I0)(),d=(0,r.C)(Z.dy),o=async t=>{let r=await l({id:e,new_password:t.password});(0,W.D4)(r)?a((0,w.Vo)((0,m.e$)(r.error))):(a((0,w.t5)("Successfully reset user's password. Please inform the user of their new password.")),s.onClose(),(null==d?void 0:d.id)===e&&L(i,n))};return{...s,handleResetPassword:o}};var F=e=>{let{id:s}=e,{handleResetPassword:a,isOpen:n,onClose:i,onOpen:r}=Y(s);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.wpx,{onClick:r,"data-testid":"reset-password-btn",children:"Reset password"}),(0,l.jsxs)(t.u_l,{isCentered:!0,isOpen:n,onClose:i,children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsx)(t.hzk,{children:(0,l.jsx)(c.J9,{initialValues:B,validationSchema:V,onSubmit:a,children:e=>{let{isSubmitting:s,dirty:a,isValid:n}=e;return(0,l.jsxs)(c.l0,{children:[(0,l.jsx)(t.xBx,{children:"Reset Password"}),(0,l.jsx)(t.olH,{}),(0,l.jsx)(t.fef,{children:(0,l.jsxs)(t.Kqy,{direction:"column",spacing:4,children:[(0,l.jsx)(t.xvT,{mb:2,children:"Choose a new password for this user."}),(0,l.jsx)(N.j0,{name:"password",label:"Password",placeholder:"********",type:"password",tooltip:"Password must contain at least 8 characters, 1 number, 1 capital letter, 1 lowercase letter, and at least 1 symbol.",autoComplete:"new-password"}),(0,l.jsx)(N.j0,{name:"passwordConfirmation",label:"Confirm Password",placeholder:"********",type:"password",tooltip:"Must match above password.",autoComplete:"confirm-password"})]})}),(0,l.jsx)(t.mzw,{children:(0,l.jsxs)("div",{className:"w-full gap-2",children:[(0,l.jsx)(t.wpx,{onClick:i,className:"w-1/2",children:"Cancel"}),(0,l.jsx)(t.wpx,{type:"primary",disabled:!a||!n,loading:s,htmlType:"submit",className:"w-1/2","data-testid":"submit-btn",children:"Change Password"})]})})]})}})})]})]})};let $=e=>{let s=(0,t.qY0)(),a=(0,t.pmc)(),[l,n]=(0,u.useState)(""),[i,r]=(0,u.useState)(""),[d,{isLoading:o}]=(0,y.ev)(),c=(0,h.useRouter)(),m=(0,D.I0)(),p=!!(e&&i&&l),x=async()=>{p&&d({id:e,old_password:l,new_password:i}).unwrap().then(()=>{a((0,w.t5)("Password updated")),L(m,c,{onClose:s.onClose})})};return{...s,changePasswordValidation:p,handleChange:e=>{"oldPassword"===e.target.name?n(e.target.value):r(e.target.value)},handleChangePassword:x,isLoading:o,newPasswordValue:i,oldPasswordValue:l}};var H=e=>{let{id:s}=e,{changePasswordValidation:a,handleChange:n,handleChangePassword:i,isLoading:r,isOpen:d,newPasswordValue:o,oldPasswordValue:c,onClose:h,onOpen:u}=$(s);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.wpx,{onClick:u,"data-testid":"update-password-btn",children:"Update password"}),(0,l.jsxs)(t.u_l,{isCentered:!0,isOpen:d,onClose:h,children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsxs)(t.hzk,{children:[(0,l.jsx)(t.xBx,{children:"Update Password"}),(0,l.jsx)(t.olH,{}),(0,l.jsx)(t.fef,{pb:6,children:(0,l.jsxs)(t.Kqy,{direction:"column",spacing:"15px",children:[(0,l.jsx)(t.NIc,{children:(0,l.jsx)(t.IIB,{isRequired:!0,name:"oldPassword",onChange:n,placeholder:"Old Password",type:"password",value:c,"data-testid":"input-oldPassword"})}),(0,l.jsx)(t.NIc,{children:(0,l.jsx)(t.IIB,{isRequired:!0,name:"newPassword",onChange:n,placeholder:"New Password",type:"password",value:o,"data-testid":"input-newPassword"})})]})}),(0,l.jsxs)(t.mzw,{children:[(0,l.jsx)(t.wpx,{onClick:h,className:"mr-2 w-1/2",children:"Cancel"}),(0,l.jsx)(t.wpx,{type:"primary",disabled:!a,loading:r,onClick:i,htmlType:"submit",className:"mr-3 w-1/2","data-testid":"submit-btn",children:"Change Password"})]})]})]})]})},M=()=>{var e;let s=(0,r.C)(y.Ux),a=(0,r.C)(U.dy),n=!!a&&a.id===s,{data:i}=(0,y.gU)(null!=s?s:"",{skip:!s});return(null==i?void 0:null===(e=i.roles)||void 0===e?void 0:e.includes(d.A7.EXTERNAL_RESPONDENT))?null:(0,l.jsx)(t.xuv,{children:s?(0,l.jsxs)(t.Ugi,{children:[n?(0,l.jsx)(H,{id:s}):null,(0,l.jsx)(o.ZP,{scopes:[d.Sh.USER_PASSWORD_RESET],children:(0,l.jsx)(F,{id:s})})]}):null})};let X=(e,s,a,l)=>!e||e&&!s||e&&s&&!0===a&&!!l,G=(e,s,a)=>!!(e&&s&&a),J=(e,s,a,l,t,n)=>!!e&&!s&&X(a,l,t,n),Q=(e,s,a,l)=>X(e,s,a,l),ee={username:"",first_name:"",email_address:"",last_name:"",password:"",password_login_enabled:!1},es=(e,s,a,l,t)=>P.Ry().shape({username:P.Z_().required().label("Username"),email_address:P.Z_().email().required().label("Email address"),first_name:P.Z_().label("First name"),last_name:P.Z_().label("Last name"),password:P.Z_().when(["password_login_enabled"],{is:n=>J(e,s,a,l,t,n),then:()=>O.a.label("Password"),otherwise:()=>P.Z_().optional().label("Password")}),password_login_enabled:P.O7().label("Allow password login")});var ea=e=>{let{onSubmit:s,initialValues:a,canEditNames:n}=e,i=(0,h.useRouter)(),d=(0,t.pmc)(),o=(0,r.T)(),u=(0,t.qY0)(),{data:p}=(0,z.jc)(),{data:x}=(0,q.qv)();(0,I.tB)({api_set:!1});let g=(0,r.C)(y.ZC),b=(0,r.C)(I.iR),{plus:v}=(0,T.hz)(),_=(null==p?void 0:p.enabled)||!1,C=(null==b?void 0:b.allow_username_password_login)||!1,k=!g,S=!k&&!n,E=x&&x.length>0||!1,R=G(v,E,C),P=null!=a?a:ee;g&&"password_login_enabled"in g&&(P={...P,password_login_enabled:!!g.password_login_enabled});let O=es(k,_,v,E,C),U=async e=>{let a=J(k,_,v,E,C,e.password_login_enabled),l={username:e.username,email_address:e.email_address,first_name:e.first_name,last_name:e.last_name};R&&(l.password_login_enabled=e.password_login_enabled),a&&e.password&&(l.password=e.password);let t=await s(l);if((0,m.D4)(t)){d((0,w.Vo)((0,m.e$)(t.error)));return}d((0,w.t5)("".concat(k?"User created. By default, new users are set to the Viewer role. To change the role, please go to the Permissions tab.":"User updated."))),(null==t?void 0:t.data)&&o((0,y.Vv)(t.data.id))};return(0,l.jsx)(c.J9,{onSubmit:U,initialValues:P,validationSchema:O,"data-testid":"user-form",children:e=>{let{dirty:s,isSubmitting:a,isValid:n,values:r}=e;return(0,l.jsx)(c.l0,{children:(0,l.jsxs)(t.Kqy,{maxW:["xs","xs","100%"],width:"100%",spacing:7,children:[(0,l.jsxs)(t.Kqy,{spacing:6,maxWidth:"55%",children:[(0,l.jsxs)(t.kCb,{children:[(0,l.jsxs)(t.xvT,{display:"flex",alignItems:"center",fontSize:"sm",fontWeight:"semibold",children:["Profile"," ",(null==g?void 0:g.disabled)&&(0,l.jsx)(t.j8w,{color:"success",className:"ml-2","data-testid":"invite-sent-badge",children:"Invite sent"})]}),(0,l.jsx)(t.xuv,{marginLeft:"auto",children:(0,l.jsxs)(t.Ugi,{children:[Q(v,E,C||!1,r.password_login_enabled)&&(0,l.jsx)(M,{"data-testid":"password-management"}),k?null:(0,l.jsxs)(t.xuv,{children:[(0,l.jsx)(t.wpx,{"aria-label":"delete",icon:(0,l.jsx)(f.l,{}),onClick:u.onOpen,"data-testid":"delete-user-btn"}),(0,l.jsx)(A.Z,{user:g,...u})]})]})})]}),(0,l.jsx)(N.j0,{name:"username",label:"Username",variant:"block",placeholder:"Enter new username",disabled:!k,isRequired:!0,"data-testid":"input-username"}),(0,l.jsx)(N.j0,{name:"email_address",label:"Email address",variant:"block",placeholder:"Enter email of user",isRequired:!0,"data-testid":"input-email-address"}),(0,l.jsx)(N.j0,{name:"first_name",label:"First name",variant:"block",placeholder:"Enter first name of user",disabled:S,"data-testid":"input-first-name"}),(0,l.jsx)(N.j0,{name:"last_name",label:"Last name",variant:"block",placeholder:"Enter last name of user",disabled:S,"data-testid":"input-last-name"}),R&&(0,l.jsx)(N.w8,{name:"password_login_enabled",label:"Allow password login",tooltip:"When enabled, user can log in with username and password. When disabled, user must use SSO.",variant:"stacked",isDisabled:!k,"data-testid":"toggle-allow-password-login",size:"default"}),J(k,_,v,E,C,r.password_login_enabled)&&(0,l.jsx)(N.j0,{name:"password",label:"Password",variant:"block",placeholder:"********",type:"password",tooltip:"Password must contain at least 8 characters, 1 number, 1 capital letter, 1 lowercase letter, and at least 1 symbol.",isRequired:!0,"data-testid":"input-password"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:()=>i.push(j.e3),className:"mr-3","data-testid":"cancel-btn",children:"Cancel"}),(0,l.jsx)(t.wpx,{htmlType:"submit",type:"primary",disabled:!s||!n,loading:a,"data-testid":"save-user-btn",children:"Save"})]})]})})}})},el=e=>{let{onSubmit:s,initialValues:a,...n}=e,c=(0,r.C)(y.Ux);(0,y.Fk)(c,{skip:!c});let h=(0,o.Tg)([d.Sh.USER_PERMISSION_UPDATE]),u=!c||!h,m=[{label:"Profile",key:"profile",children:(0,l.jsx)(ea,{onSubmit:s,initialValues:a,...n})},{label:"Permissions",key:"permissions",children:(0,l.jsxs)(t.kCb,{gap:"97px",children:[(0,l.jsx)(t.xuv,{w:{base:"100%",md:"50%",xl:"50%"},children:(0,l.jsx)(R,{})}),(0,l.jsx)(t.xuv,{position:"absolute",top:"96px",right:6,height:"calc(100% + 100px)",overflowY:"scroll",padding:6,w:"35%",borderLeftWidth:"1px",children:(0,l.jsx)(i,{})})]}),disabled:u,forceRender:!u}];return(0,l.jsx)(t.A5g,{items:m})}},31883:function(e,s,a){a.d(s,{Bw:function(){return l.Bw},D4:function(){return l.D4}});var l=a(19043)}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3696],{83696:function(e,s,a){a.d(s,{Z:function(){return el}});var l=a(24246),t=a(87949),n=a(91437),i=()=>(0,l.jsxs)(t.xuv,{children:[(0,l.jsx)(t.xuv,{pb:4,fontSize:"18px",fontWeight:"semibold",children:"Role Description"}),(0,l.jsx)(t.gCW,{spacing:4,children:n.K.map(e=>(0,l.jsxs)(t.xuv,{width:"100%",padding:4,borderRadius:"md",backgroundColor:"gray.75",fontSize:"14px",children:[(0,l.jsx)(t.xuv,{fontWeight:"semibold",children:e.label}),(0,l.jsx)(t.xuv,{color:"gray.700",children:e.description})]},e.roleKey))})]}),r=a(16134),d=a(65735),o=a(19904),c=a(34090),h=a(86677),u=a(27378),m=a(812),p=a(46238),x=a(58452),j=a(77830),w=a(46628),g=a(26917),b=a(1315),f=a(95492),y=a(65497);let v=e=>{let{assignedSystems:s,onAssignedSystemChange:a}=e,n=(0,r.C)(y.Ux);if((0,y.d6)(n,{skip:!n}),0===s.length)return null;let i=e=>{a(s.filter(s=>s.fides_key!==e.fides_key))};return(0,l.jsxs)(t.iA_,{size:"sm","data-testid":"assign-systems-delete-table",children:[(0,l.jsx)(t.hrZ,{children:(0,l.jsxs)(t.Tr,{children:[(0,l.jsx)(t.Th,{children:"System"}),(0,l.jsx)(t.Th,{})]})}),(0,l.jsx)(t.p3B,{children:s.map(e=>(0,l.jsxs)(t.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,l.jsx)(t.Td,{children:e.name}),(0,l.jsx)(t.Td,{textAlign:"end",children:(0,l.jsx)(t.wpx,{"aria-label":"Unassign system from user",icon:(0,l.jsx)(f.l,{}),onClick:()=>i(e),"data-testid":"unassign-btn"})})]},e.fides_key))})]})};var _=e=>{let{allSystems:s,assignedSystems:a,onChange:n}=e,i=e=>{a.find(s=>s.fides_key===e.fides_key)?n(a.filter(s=>s.fides_key!==e.fides_key)):n([...a,e])};return(0,l.jsx)(t.xuv,{overflowY:"auto",maxHeight:"300px",children:(0,l.jsxs)(t.iA_,{size:"sm","data-testid":"assign-systems-table",maxHeight:"50vh",overflowY:"scroll",children:[(0,l.jsx)(t.hrZ,{position:"sticky",top:0,background:"white",zIndex:1,children:(0,l.jsxs)(t.Tr,{children:[(0,l.jsx)(t.Th,{children:"System"}),(0,l.jsx)(t.Th,{children:"Assign"})]})}),(0,l.jsx)(t.p3B,{children:s.map(e=>{let s=!!a.find(s=>s.fides_key===e.fides_key);return(0,l.jsxs)(t.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,l.jsx)(t.Td,{children:e.name}),(0,l.jsx)(t.Td,{children:(0,l.jsx)(t.rAg,{checked:s,onChange:()=>i(e),"data-testid":"assign-switch"})})]},e.fides_key)})})]})})};let C=(e,s)=>{var a,l;return(null===(a=e.name)||void 0===a?void 0:a.toLocaleLowerCase().includes(s.toLocaleLowerCase()))||(null===(l=e.description)||void 0===l?void 0:l.toLocaleLowerCase().includes(s.toLocaleLowerCase()))};var k=e=>{let{isOpen:s,onClose:a,assignedSystems:n,onAssignedSystemChange:i}=e,{data:r}=(0,b.K3)(),[d,o]=(0,u.useState)(""),[c,h]=(0,u.useState)(n),m=async()=>{i(c),a()},p=!r||0===r.length,x=(0,u.useMemo)(()=>r?r.filter(e=>C(e,d)):[],[r,d]),j=(0,u.useMemo)(()=>{let e=new Set(c.map(e=>e.fides_key));return x.every(s=>e.has(s.fides_key))},[x,c]);return(0,l.jsxs)(t.u_l,{isOpen:s,onClose:a,size:"2xl",children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsxs)(t.hzk,{p:8,"data-testid":"confirmation-modal",children:[(0,l.jsxs)(t.xBx,{fontWeight:"medium",display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,l.jsx)(t.xvT,{children:"Assign systems"}),(0,l.jsxs)(t.j8w,{color:"success",children:["Assigned to ",n.length," systems"]})]}),(0,l.jsx)(t.fef,{"data-testid":"assign-systems-modal-body",children:p?(0,l.jsx)(t.xvT,{children:"No systems found"}):(0,l.jsxs)(t.Kqy,{spacing:4,children:[(0,l.jsxs)(t.kCb,{justifyContent:"space-between",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",flexGrow:1,fontWeight:"medium",children:"Assign systems in your organization to this user"}),(0,l.jsx)(t.xuv,{children:(0,l.jsxs)(t.NIc,{display:"flex",alignItems:"center",children:[(0,l.jsx)(t.lXp,{fontSize:"sm",htmlFor:"assign-all-systems",mb:"0",children:"Assign all systems"}),(0,l.jsx)(t.rAg,{size:"small",id:"assign-all-systems",checked:j,onChange:e=>{e&&r?h(x):h(r?r.filter(e=>!x.includes(e)):[])},"data-testid":"assign-all-systems-toggle"})]})})]}),(0,l.jsx)(g.Z,{value:d,onChange:o,placeholder:"Search for systems","data-testid":"system-search",withIcon:!0}),(0,l.jsx)(_,{allSystems:x,assignedSystems:c,onChange:h})]})}),(0,l.jsx)(t.mzw,{justifyContent:"flex-start",children:(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:a,className:"mr-2","data-testid":"cancel-btn",children:"Cancel"}),p?null:(0,l.jsx)(t.wpx,{type:"primary",onClick:m,"data-testid":"confirm-btn",children:"Confirm"})]})})]})]})},S=e=>{let{label:s,roleKey:a,isSelected:n,isDisabled:i,assignedSystems:r,onAssignedSystemChange:o}=e,{setFieldValue:h}=(0,c.u6)(),u=(0,t.qY0)(),m=i?"You do not have sufficient permissions to assign this role.":void 0;return n?(0,l.jsxs)(t.Kqy,{borderRadius:"md",border:"1px solid",borderColor:"gray.200",p:4,backgroundColor:"gray.50","aria-selected":"true",spacing:4,"data-testid":"selected",children:[(0,l.jsxs)(t.kCb,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(t.xvT,{fontSize:"md",fontWeight:"semibold",children:s}),(0,l.jsx)(t.StI,{})]}),a!==d.A7.APPROVER&&a!==d.A7.RESPONDENT&&a!==d.A7.EXTERNAL_RESPONDENT?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(t.kCb,{alignItems:"center",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",fontWeight:"semibold",mr:1,children:"Assigned systems"}),(0,l.jsx)(p.b,{label:"Assigned systems refer to those systems that have been specifically allocated to a user for management purposes. Users assigned to a system possess full edit permissions and are listed as the Data Steward for the respective system."})]}),(0,l.jsx)(t.wpx,{disabled:i,title:m,type:"primary",size:"small",onClick:u.onOpen,"data-testid":"assign-systems-btn",children:"Assign systems +"}),(0,l.jsx)(v,{assignedSystems:r,onAssignedSystemChange:o}),u.isOpen?(0,l.jsx)(k,{isOpen:u.isOpen,onClose:u.onClose,assignedSystems:r,onAssignedSystemChange:o}):null]}):null]}):(0,l.jsx)(t.wpx,{onClick:()=>{h("roles",[a])},"data-testid":"role-option-".concat(s),title:m,disabled:i,children:s})};let E={roles:[]};var R=()=>{var e,s;let a=(0,t.pmc)(),i=(0,h.useRouter)(),g=(0,r.C)(y.Ux);(0,y.d6)(g,{skip:!g});let{isOpen:b,onOpen:f,onClose:v}=(0,t.qY0)(),_=(0,r.C)(y.R$),[C,k]=(0,u.useState)(_),[R]=(0,y.G$)();(0,u.useEffect)(()=>{k(_)},[_]);let{data:A,isLoading:P}=(0,y.gU)(null!=g?g:"",{skip:!g}),[T]=(0,y.lD)(),N=!!(null==A?void 0:null===(e=A.roles)||void 0===e?void 0:e.includes(d.A7.EXTERNAL_RESPONDENT)),O=async e=>{if(b&&v(),!g)return;let s=e.roles.includes(d.A7.APPROVER),l=await T({user_id:g,payload:{roles:e.roles}});if((0,m.D4)(l)){a((0,w.Vo)((0,m.e$)(l.error)));return}if(!s){let e=C.map(e=>e.fides_key),s=await R({userId:g,fidesKeys:e});if((0,m.D4)(s)){a((0,w.Vo)((0,m.e$)(s.error)));return}}a((0,w.t5)("Permissions updated"))},I=async e=>{g&&(C.length>0&&e.roles.includes(d.A7.APPROVER)?f():await O(e))},z=(0,o.Tg)([d.Sh.USER_PERMISSION_ASSIGN_OWNERS]);if(!g)return null;if(P)return(0,l.jsx)(t.$jN,{});if(!z&&(null==A?void 0:null===(s=A.roles)||void 0===s?void 0:s.includes(d.A7.OWNER)))return(0,l.jsx)(t.xvT,{"data-testid":"insufficient-access",children:"You do not have sufficient access to change this user's permissions."});let q=(null==A?void 0:A.roles)?{roles:A.roles}:E,U=n.K.filter(e=>N?e.roleKey===d.A7.EXTERNAL_RESPONDENT:e.roleKey!==d.A7.EXTERNAL_RESPONDENT),D=N?"External respondent role cannot be changed":void 0;return(0,l.jsx)(c.J9,{onSubmit:I,initialValues:q,enableReinitialize:!0,children:e=>{let{values:s,isSubmitting:a,dirty:n}=e;return(0,l.jsxs)(c.l0,{children:[(0,l.jsxs)(t.Kqy,{spacing:7,children:[(0,l.jsxs)(t.Kqy,{spacing:3,"data-testid":"role-options",children:[(0,l.jsxs)(t.kCb,{alignItems:"center",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",fontWeight:"semibold",mr:1,children:"User role"}),(0,l.jsx)(p.b,{label:"A user's role in the organization determines what parts of the UI they can access and which functions are available to them."})]}),U.map(e=>{let a=s.roles.indexOf(e.roleKey)>=0,t=e.roleKey===d.A7.OWNER?!z:N;return(0,l.jsx)(S,{isSelected:a,isDisabled:t,assignedSystems:C,onAssignedSystemChange:k,...e},e.roleKey)}),!N&&(0,l.jsx)(t.esZ,{title:"To invite a new External respondent user, create a manual task integration and then click on the 'Manage secure access' button",children:(0,l.jsx)(t.wpx,{disabled:!0,"data-testid":"role-option-External respondent",children:"External respondent"})})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:()=>i.push(j.e3),children:"Cancel"}),(0,l.jsx)(t.esZ,{title:D,children:(0,l.jsx)(t.wpx,{className:"ml-2",type:"primary",htmlType:"submit",loading:a,disabled:!n&&C===_||N,"data-testid":"save-btn",children:"Save"})})]})]}),(0,l.jsx)(x.Z,{isOpen:b,onClose:v,onConfirm:()=>O(s),title:"Change role to Approver",testId:"downgrade-to-approver-confirmation-modal",continueButtonText:"Yes",message:(0,l.jsx)(t.xvT,{children:"Switching to an approver role will remove all assigned systems. Do you wish to proceed?"})})]})}})},A=a(61038),P=a(55484),T=a(25980),N=a(40324),O=a(96006),I=a(7426),z=a(42478),q=a(76174),U=a(91317),D=a(16125),Z=a(36835),W=a(31883),K=a(52253);let L=(e,s,a)=>{var l;try{localStorage.removeItem(K.xH)}catch(e){}e((0,Z.kS)()),null==a||null===(l=a.onClose)||void 0===l||l.call(a),s.push(K._e)},V=P.Ry().shape({password:O.a.label("Password"),passwordConfirmation:P.Z_().required().oneOf([P.iH("password")],"Passwords must match").label("Password confirmation")}),B={password:"",passwordConfirmation:""},Y=e=>{let s=(0,t.qY0)(),a=(0,t.pmc)(),[l]=(0,y.ls)(),n=(0,h.useRouter)(),i=(0,D.I0)(),d=(0,r.C)(Z.dy),o=async t=>{let r=await l({id:e,new_password:t.password});(0,W.D4)(r)?a((0,w.Vo)((0,m.e$)(r.error))):(a((0,w.t5)("Successfully reset user's password. Please inform the user of their new password.")),s.onClose(),(null==d?void 0:d.id)===e&&L(i,n))};return{...s,handleResetPassword:o}};var F=e=>{let{id:s}=e,{handleResetPassword:a,isOpen:n,onClose:i,onOpen:r}=Y(s);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.wpx,{onClick:r,"data-testid":"reset-password-btn",children:"Reset password"}),(0,l.jsxs)(t.u_l,{isCentered:!0,isOpen:n,onClose:i,children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsx)(t.hzk,{children:(0,l.jsx)(c.J9,{initialValues:B,validationSchema:V,onSubmit:a,children:e=>{let{isSubmitting:s,dirty:a,isValid:n}=e;return(0,l.jsxs)(c.l0,{children:[(0,l.jsx)(t.xBx,{children:"Reset Password"}),(0,l.jsx)(t.olH,{}),(0,l.jsx)(t.fef,{children:(0,l.jsxs)(t.Kqy,{direction:"column",spacing:4,children:[(0,l.jsx)(t.xvT,{mb:2,children:"Choose a new password for this user."}),(0,l.jsx)(N.j0,{name:"password",label:"Password",placeholder:"********",type:"password",tooltip:"Password must contain at least 8 characters, 1 number, 1 capital letter, 1 lowercase letter, and at least 1 symbol.",autoComplete:"new-password"}),(0,l.jsx)(N.j0,{name:"passwordConfirmation",label:"Confirm Password",placeholder:"********",type:"password",tooltip:"Must match above password.",autoComplete:"confirm-password"})]})}),(0,l.jsx)(t.mzw,{children:(0,l.jsxs)("div",{className:"w-full gap-2",children:[(0,l.jsx)(t.wpx,{onClick:i,className:"w-1/2",children:"Cancel"}),(0,l.jsx)(t.wpx,{type:"primary",disabled:!a||!n,loading:s,htmlType:"submit",className:"w-1/2","data-testid":"submit-btn",children:"Change Password"})]})})]})}})})]})]})};let $=e=>{let s=(0,t.qY0)(),a=(0,t.pmc)(),[l,n]=(0,u.useState)(""),[i,r]=(0,u.useState)(""),[d,{isLoading:o}]=(0,y.ev)(),c=(0,h.useRouter)(),m=(0,D.I0)(),p=!!(e&&i&&l),x=async()=>{p&&d({id:e,old_password:l,new_password:i}).unwrap().then(()=>{a((0,w.t5)("Password updated")),L(m,c,{onClose:s.onClose})})};return{...s,changePasswordValidation:p,handleChange:e=>{"oldPassword"===e.target.name?n(e.target.value):r(e.target.value)},handleChangePassword:x,isLoading:o,newPasswordValue:i,oldPasswordValue:l}};var H=e=>{let{id:s}=e,{changePasswordValidation:a,handleChange:n,handleChangePassword:i,isLoading:r,isOpen:d,newPasswordValue:o,oldPasswordValue:c,onClose:h,onOpen:u}=$(s);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.wpx,{onClick:u,"data-testid":"update-password-btn",children:"Update password"}),(0,l.jsxs)(t.u_l,{isCentered:!0,isOpen:d,onClose:h,children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsxs)(t.hzk,{children:[(0,l.jsx)(t.xBx,{children:"Update Password"}),(0,l.jsx)(t.olH,{}),(0,l.jsx)(t.fef,{pb:6,children:(0,l.jsxs)(t.Kqy,{direction:"column",spacing:"15px",children:[(0,l.jsx)(t.NIc,{children:(0,l.jsx)(t.IIB,{isRequired:!0,name:"oldPassword",onChange:n,placeholder:"Old Password",type:"password",value:c,"data-testid":"input-oldPassword"})}),(0,l.jsx)(t.NIc,{children:(0,l.jsx)(t.IIB,{isRequired:!0,name:"newPassword",onChange:n,placeholder:"New Password",type:"password",value:o,"data-testid":"input-newPassword"})})]})}),(0,l.jsxs)(t.mzw,{children:[(0,l.jsx)(t.wpx,{onClick:h,className:"mr-2 w-1/2",children:"Cancel"}),(0,l.jsx)(t.wpx,{type:"primary",disabled:!a,loading:r,onClick:i,htmlType:"submit",className:"mr-3 w-1/2","data-testid":"submit-btn",children:"Change Password"})]})]})]})]})},M=()=>{var e;let s=(0,r.C)(y.Ux),a=(0,r.C)(U.dy),n=!!a&&a.id===s,{data:i}=(0,y.gU)(null!=s?s:"",{skip:!s});return(null==i?void 0:null===(e=i.roles)||void 0===e?void 0:e.includes(d.A7.EXTERNAL_RESPONDENT))?null:(0,l.jsx)(t.xuv,{children:s?(0,l.jsxs)(t.Ugi,{children:[n?(0,l.jsx)(H,{id:s}):null,(0,l.jsx)(o.ZP,{scopes:[d.Sh.USER_PASSWORD_RESET],children:(0,l.jsx)(F,{id:s})})]}):null})};let X=(e,s,a,l)=>!e||e&&!s||e&&s&&!0===a&&!!l,G=(e,s,a)=>!!(e&&s&&a),J=(e,s,a,l,t,n)=>!!e&&!s&&X(a,l,t,n),Q=(e,s,a,l)=>X(e,s,a,l),ee={username:"",first_name:"",email_address:"",last_name:"",password:"",password_login_enabled:!1},es=(e,s,a,l,t)=>P.Ry().shape({username:P.Z_().required().label("Username"),email_address:P.Z_().email().required().label("Email address"),first_name:P.Z_().label("First name"),last_name:P.Z_().label("Last name"),password:P.Z_().when(["password_login_enabled"],{is:n=>J(e,s,a,l,t,n),then:()=>O.a.label("Password"),otherwise:()=>P.Z_().optional().label("Password")}),password_login_enabled:P.O7().label("Allow password login")});var ea=e=>{let{onSubmit:s,initialValues:a,canEditNames:n}=e,i=(0,h.useRouter)(),d=(0,t.pmc)(),o=(0,r.T)(),u=(0,t.qY0)(),{data:p}=(0,z.jc)(),{data:x}=(0,q.qv)();(0,I.tB)({api_set:!1});let g=(0,r.C)(y.ZC),b=(0,r.C)(I.iR),{plus:v}=(0,T.hz)(),_=(null==p?void 0:p.enabled)||!1,C=(null==b?void 0:b.allow_username_password_login)||!1,k=!g,S=!k&&!n,E=x&&x.length>0||!1,R=G(v,E,C),P=null!=a?a:ee;g&&"password_login_enabled"in g&&(P={...P,password_login_enabled:!!g.password_login_enabled});let O=es(k,_,v,E,C),U=async e=>{let a=J(k,_,v,E,C,e.password_login_enabled),l={username:e.username,email_address:e.email_address,first_name:e.first_name,last_name:e.last_name};R&&(l.password_login_enabled=e.password_login_enabled),a&&e.password&&(l.password=e.password);let t=await s(l);if((0,m.D4)(t)){d((0,w.Vo)((0,m.e$)(t.error)));return}d((0,w.t5)("".concat(k?"User created. By default, new users are set to the Viewer role. To change the role, please go to the Permissions tab.":"User updated."))),(null==t?void 0:t.data)&&o((0,y.Vv)(t.data.id))};return(0,l.jsx)(c.J9,{onSubmit:U,initialValues:P,validationSchema:O,"data-testid":"user-form",children:e=>{let{dirty:s,isSubmitting:a,isValid:n,values:r}=e;return(0,l.jsx)(c.l0,{children:(0,l.jsxs)(t.Kqy,{maxW:["xs","xs","100%"],width:"100%",spacing:7,children:[(0,l.jsxs)(t.Kqy,{spacing:6,maxWidth:"55%",children:[(0,l.jsxs)(t.kCb,{children:[(0,l.jsxs)(t.xvT,{display:"flex",alignItems:"center",fontSize:"sm",fontWeight:"semibold",children:["Profile"," ",(null==g?void 0:g.disabled)&&(0,l.jsx)(t.j8w,{color:"success",className:"ml-2","data-testid":"invite-sent-badge",children:"Invite sent"})]}),(0,l.jsx)(t.xuv,{marginLeft:"auto",children:(0,l.jsxs)(t.Ugi,{children:[Q(v,E,C||!1,r.password_login_enabled)&&(0,l.jsx)(M,{"data-testid":"password-management"}),k?null:(0,l.jsxs)(t.xuv,{children:[(0,l.jsx)(t.wpx,{"aria-label":"delete",icon:(0,l.jsx)(f.l,{}),onClick:u.onOpen,"data-testid":"delete-user-btn"}),(0,l.jsx)(A.Z,{user:g,...u})]})]})})]}),(0,l.jsx)(N.j0,{name:"username",label:"Username",variant:"block",placeholder:"Enter new username",disabled:!k,isRequired:!0,"data-testid":"input-username"}),(0,l.jsx)(N.j0,{name:"email_address",label:"Email address",variant:"block",placeholder:"Enter email of user",isRequired:!0,"data-testid":"input-email-address"}),(0,l.jsx)(N.j0,{name:"first_name",label:"First name",variant:"block",placeholder:"Enter first name of user",disabled:S,"data-testid":"input-first-name"}),(0,l.jsx)(N.j0,{name:"last_name",label:"Last name",variant:"block",placeholder:"Enter last name of user",disabled:S,"data-testid":"input-last-name"}),R&&(0,l.jsx)(N.w8,{name:"password_login_enabled",label:"Allow password login",tooltip:"When enabled, user can log in with username and password. When disabled, user must use SSO.",variant:"stacked",isDisabled:!k,"data-testid":"toggle-allow-password-login",size:"default"}),J(k,_,v,E,C,r.password_login_enabled)&&(0,l.jsx)(N.j0,{name:"password",label:"Password",variant:"block",placeholder:"********",type:"password",tooltip:"Password must contain at least 8 characters, 1 number, 1 capital letter, 1 lowercase letter, and at least 1 symbol.",isRequired:!0,"data-testid":"input-password"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:()=>i.push(j.e3),className:"mr-3","data-testid":"cancel-btn",children:"Cancel"}),(0,l.jsx)(t.wpx,{htmlType:"submit",type:"primary",disabled:!s||!n,loading:a,"data-testid":"save-user-btn",children:"Save"})]})]})})}})},el=e=>{let{onSubmit:s,initialValues:a,...n}=e,c=(0,r.C)(y.Ux);(0,y.Fk)(c,{skip:!c});let h=(0,o.Tg)([d.Sh.USER_PERMISSION_UPDATE]),u=!c||!h,m=[{label:"Profile",key:"profile",children:(0,l.jsx)(ea,{onSubmit:s,initialValues:a,...n})},{label:"Permissions",key:"permissions",children:(0,l.jsxs)(t.kCb,{gap:"97px",children:[(0,l.jsx)(t.xuv,{w:{base:"100%",md:"50%",xl:"50%"},children:(0,l.jsx)(R,{})}),(0,l.jsx)(t.xuv,{position:"absolute",top:"96px",right:6,height:"calc(100% + 100px)",overflowY:"scroll",padding:6,w:"35%",borderLeftWidth:"1px",children:(0,l.jsx)(i,{})})]}),disabled:u,forceRender:!u}];return(0,l.jsx)(t.A5g,{items:m})}},31883:function(e,s,a){a.d(s,{Bw:function(){return l.Bw},D4:function(){return l.D4}});var l=a(19043)}}]);