ethyca-fides 2.69.1b1__py2.py3-none-any.whl → 2.69.1rc0__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (245) hide show
  1. {ethyca_fides-2.69.1b1.dist-info → ethyca_fides-2.69.1rc0.dist-info}/METADATA +2 -2
  2. {ethyca_fides-2.69.1b1.dist-info → ethyca_fides-2.69.1rc0.dist-info}/RECORD +241 -232
  3. fides/_version.py +3 -3
  4. fides/api/alembic/migrations/versions/78dbe23d8204_adding_privacy_request_redaction_patterns.py +52 -0
  5. fides/api/api/v1/api.py +2 -0
  6. fides/api/api/v1/endpoints/dsr_package_link.py +5 -3
  7. fides/api/api/v1/endpoints/oauth_endpoints.py +19 -7
  8. fides/api/api/v1/endpoints/privacy_request_redaction_patterns_endpoints.py +95 -0
  9. fides/api/api/v1/endpoints/user_endpoints.py +27 -4
  10. fides/api/app_setup.py +16 -2
  11. fides/api/db/base.py +3 -0
  12. fides/api/main.py +22 -0
  13. fides/api/models/client.py +1 -0
  14. fides/api/models/privacy_request_redaction_pattern.py +64 -0
  15. fides/api/oauth/utils.py +126 -12
  16. fides/api/schemas/privacy_request_redaction_patterns.py +55 -0
  17. fides/api/service/privacy_request/dsr_package/dsr_data_preprocessor.py +231 -0
  18. fides/api/service/privacy_request/dsr_package/dsr_report_builder.py +286 -120
  19. fides/api/service/privacy_request/dsr_package/templates/attachments_index.html +4 -2
  20. fides/api/service/privacy_request/dsr_package/templates/collection_index.html +3 -1
  21. fides/api/service/privacy_request/dsr_package/templates/dataset_index.html +1 -1
  22. fides/api/service/privacy_request/dsr_package/utils.py +268 -0
  23. fides/api/service/privacy_request/request_runner_service.py +8 -2
  24. fides/api/service/privacy_request/request_service.py +18 -1
  25. fides/api/service/storage/storage_uploader_service.py +1 -21
  26. fides/api/service/storage/streaming/dsr_storage.py +1 -5
  27. fides/api/service/storage/streaming/s3/s3_storage_client.py +78 -40
  28. fides/api/service/storage/streaming/s3/streaming_s3.py +9 -21
  29. fides/api/service/storage/streaming/smart_open_client.py +8 -7
  30. fides/api/service/storage/streaming/smart_open_streaming_storage.py +110 -197
  31. fides/api/service/storage/streaming/storage_client_factory.py +7 -3
  32. fides/api/service/storage/util.py +579 -0
  33. fides/api/task/manual/manual_task_graph_task.py +11 -9
  34. fides/api/tasks/storage.py +2 -2
  35. fides/api/util/endpoint_utils.py +0 -13
  36. fides/api/util/rate_limit.py +194 -0
  37. fides/common/api/scope_registry.py +8 -0
  38. fides/common/api/v1/urn_registry.py +3 -0
  39. fides/config/redis_settings.py +27 -3
  40. fides/config/security_settings.py +21 -6
  41. fides/ui-build/static/admin/404.html +1 -1
  42. fides/ui-build/static/admin/_next/static/OmXHlY9MvjoZH9jDkAytl/_buildManifest.js +1 -0
  43. fides/ui-build/static/admin/_next/static/chunks/{1345-04e37a66c0d40dc1.js → 1345-5e1c5b66e25c566e.js} +1 -1
  44. fides/ui-build/static/admin/_next/static/chunks/{3729-f5f2976904dce90d.js → 3729-c17ac8031a4c4fd1.js} +1 -1
  45. fides/ui-build/static/admin/_next/static/chunks/{3847-2c0126e6eb54c526.js → 3847-230bf61b053bc706.js} +1 -1
  46. fides/ui-build/static/admin/_next/static/chunks/{3855-9dd54ded74f4036b.js → 3855-ef5194cdb228beb6.js} +1 -1
  47. fides/ui-build/static/admin/_next/static/chunks/4164-355644b916ae0094.js +1 -0
  48. fides/ui-build/static/admin/_next/static/chunks/{4608-d101417a3abb4ad6.js → 4608-be8cba73f5d7c326.js} +1 -1
  49. fides/ui-build/static/admin/_next/static/chunks/{4786-7aafb744445445b2.js → 4786-61154adf88e448e1.js} +1 -1
  50. fides/ui-build/static/admin/_next/static/chunks/{4808-357ca7ea7bbd24c6.js → 4808-dd4157aa72648068.js} +1 -1
  51. fides/ui-build/static/admin/_next/static/chunks/4831-fd99c0b3784de128.js +1 -0
  52. fides/ui-build/static/admin/_next/static/chunks/{4844-707b20a6c4b127cc.js → 4844-46324c3d848b8b6a.js} +1 -1
  53. fides/ui-build/static/admin/_next/static/chunks/{5258-1a8b9f66b97761fc.js → 5258-b0de22a8521686ab.js} +1 -1
  54. fides/ui-build/static/admin/_next/static/chunks/{9046-058a4d8f0b5e08f9.js → 9046-712156d461165f56.js} +1 -1
  55. fides/ui-build/static/admin/_next/static/chunks/{9676.b7d5d1d90b9da224.js → 9676.9fd9552ef744c717.js} +1 -1
  56. fides/ui-build/static/admin/_next/static/chunks/{9951-b954027a046ce553.js → 9951-a88367a129b724ba.js} +1 -1
  57. fides/ui-build/static/admin/_next/static/chunks/pages/{_app-7612a768b9a6304b.js → _app-fcdad91f6f66292b.js} +2 -2
  58. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-20253dd047fb9736.js → manual-ace203dfacacbdc4.js} +1 -1
  59. fides/ui-build/static/admin/_next/static/chunks/pages/{add-systems-169099ff7b305cf5.js → add-systems-bd0d82078e67cac3.js} +1 -1
  60. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-28b192e2c074b0f3.js +1 -0
  61. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-adc500a03e239857.js → [resourceUrn]-2c29ff7a01198f30.js} +1 -1
  62. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-c8b3d090e4ba60d3.js → [resourceUrn]-8eb581024bc0172f.js} +1 -1
  63. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/{[systemId]-cfb0b1200bc1a2c9.js → [systemId]-e1ba213fb666b3f4.js} +1 -1
  64. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/{[monitorId]-fed8b879c13c2bf3.js → [monitorId]-6d133580045abdda.js} +1 -1
  65. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-58a110542d6bcd0f.js → activity-b6ae7adb8ef0b525.js} +1 -1
  66. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-22eec362dfbb1d2a.js → [resourceUrn]-8f736b078e9842da.js} +1 -1
  67. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-4decce5ef996e563.js → detection-eb814e3c22807871.js} +1 -1
  68. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-01acdd1ad492fd89.js → [resourceUrn]-6875b7783fcfda2f.js} +1 -1
  69. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-85fdbf4cde60d910.js → discovery-172dbd7740e212ca.js} +1 -1
  70. fides/ui-build/static/admin/_next/static/chunks/pages/{datamap-60e27b673c68bd27.js → datamap-c7390e046b2e2b7f.js} +1 -1
  71. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{new-2c7b1213b6604d30.js → new-e32fccc4ca520d2b.js} +1 -1
  72. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-7ed3f05700dc397b.js → [id]-927b7e476c4b47d0.js} +1 -1
  73. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{new-95f6d64f84fc6bf3.js → new-cbe100d50df34285.js} +1 -1
  74. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/{[id]-02ff0dd9d8f1d719.js → [id]-4c3c413a2668df53.js} +1 -1
  75. fides/ui-build/static/admin/_next/static/chunks/pages/{integrations-0f12d5b658c98c9f.js → integrations-95402b5001c07ef2.js} +1 -1
  76. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{[id]-b379873a5771e55b.js → [id]-0f25a76dd18c5e20.js} +1 -1
  77. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{messaging-a9bb257906dcd7e0.js → messaging-ad6ad3e5bd72765d.js} +1 -1
  78. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{storage-de0036c74b78e9b7.js → storage-6032d82f0fc2893d.js} +1 -1
  79. fides/ui-build/static/admin/_next/static/chunks/pages/{privacy-requests-91f578139548652c.js → privacy-requests-baf31c3e4b081046.js} +1 -1
  80. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/{datamap-83019a6753e14857.js → datamap-6903f42a0412bfa6.js} +1 -1
  81. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{custom-fields-74f0fe9656f4a1f6.js → custom-fields-9ecb803099082bf4.js} +1 -1
  82. fides/ui-build/static/admin/_next/static/chunks/pages/settings/privacy-requests-2ecc073f41628f62.js +1 -0
  83. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-e91da49c0681a300.js → [id]-6e15332935f6b538.js} +1 -1
  84. fides/ui-build/static/admin/_next/static/chunks/pages/{taxonomy-78c3a5200d362cff.js → taxonomy-4d7827fc9c46b6b8.js} +1 -1
  85. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/{new-de8cb3739ab99c09.js → new-92f52c43f522a350.js} +1 -1
  86. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-4f9001870e2b3aff.js → [id]-64452dfae2c5e614.js} +1 -1
  87. fides/ui-build/static/admin/_next/static/chunks/{webpack-b5eb3e1da37616d2.js → webpack-678e89d68dbcd94f.js} +1 -1
  88. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  89. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  90. fides/ui-build/static/admin/add-systems.html +1 -1
  91. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  92. fides/ui-build/static/admin/consent/configure.html +1 -1
  93. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  94. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  95. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  96. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  97. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  98. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  99. fides/ui-build/static/admin/consent/properties.html +1 -1
  100. fides/ui-build/static/admin/consent/reporting.html +1 -1
  101. fides/ui-build/static/admin/consent.html +1 -1
  102. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  103. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  104. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  105. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  106. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  107. fides/ui-build/static/admin/data-catalog.html +1 -1
  108. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
  109. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
  110. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  111. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  112. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  113. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  114. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  115. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  116. fides/ui-build/static/admin/datamap.html +1 -1
  117. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  118. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  119. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  120. fides/ui-build/static/admin/dataset/new.html +1 -1
  121. fides/ui-build/static/admin/dataset.html +1 -1
  122. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  123. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  124. fides/ui-build/static/admin/datastore-connection.html +1 -1
  125. fides/ui-build/static/admin/index.html +1 -1
  126. fides/ui-build/static/admin/integrations/[id].html +1 -1
  127. fides/ui-build/static/admin/integrations.html +1 -1
  128. fides/ui-build/static/admin/login/[provider].html +1 -1
  129. fides/ui-build/static/admin/login.html +1 -1
  130. fides/ui-build/static/admin/messaging/[id].html +1 -1
  131. fides/ui-build/static/admin/messaging/add-template.html +1 -1
  132. fides/ui-build/static/admin/messaging.html +1 -1
  133. fides/ui-build/static/admin/poc/ant-components.html +1 -1
  134. fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
  135. fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
  136. fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
  137. fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
  138. fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
  139. fides/ui-build/static/admin/poc/forms.html +1 -1
  140. fides/ui-build/static/admin/poc/table-migration.html +1 -1
  141. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  142. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
  143. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  144. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  145. fides/ui-build/static/admin/privacy-requests.html +1 -1
  146. fides/ui-build/static/admin/properties/[id].html +1 -1
  147. fides/ui-build/static/admin/properties/add-property.html +1 -1
  148. fides/ui-build/static/admin/properties.html +1 -1
  149. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  150. fides/ui-build/static/admin/settings/about/alpha.html +1 -1
  151. fides/ui-build/static/admin/settings/about.html +1 -1
  152. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  153. fides/ui-build/static/admin/settings/consent.html +1 -1
  154. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  155. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  156. fides/ui-build/static/admin/settings/domains.html +1 -1
  157. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  158. fides/ui-build/static/admin/settings/locations.html +1 -1
  159. fides/ui-build/static/admin/settings/organization.html +1 -1
  160. fides/ui-build/static/admin/settings/privacy-requests.html +1 -0
  161. fides/ui-build/static/admin/settings/regulations.html +1 -1
  162. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  163. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  164. fides/ui-build/static/admin/systems.html +1 -1
  165. fides/ui-build/static/admin/taxonomy.html +1 -1
  166. fides/ui-build/static/admin/user-management/new.html +1 -1
  167. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  168. fides/ui-build/static/admin/user-management.html +1 -1
  169. fides/ui-build/static/admin/_next/static/LqjE2O1xWlQKqW38Sy4m3/_buildManifest.js +0 -1
  170. fides/ui-build/static/admin/_next/static/chunks/4121-bd6f467aacd80f91.js +0 -1
  171. fides/ui-build/static/admin/_next/static/chunks/768-7eac4b30d7477b0a.js +0 -1
  172. fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-60e3394c887f3d5e.js +0 -1
  173. {ethyca_fides-2.69.1b1.dist-info → ethyca_fides-2.69.1rc0.dist-info}/WHEEL +0 -0
  174. {ethyca_fides-2.69.1b1.dist-info → ethyca_fides-2.69.1rc0.dist-info}/entry_points.txt +0 -0
  175. {ethyca_fides-2.69.1b1.dist-info → ethyca_fides-2.69.1rc0.dist-info}/licenses/LICENSE +0 -0
  176. {ethyca_fides-2.69.1b1.dist-info → ethyca_fides-2.69.1rc0.dist-info}/top_level.txt +0 -0
  177. /fides/ui-build/static/admin/_next/static/{LqjE2O1xWlQKqW38Sy4m3 → OmXHlY9MvjoZH9jDkAytl}/_ssgManifest.js +0 -0
  178. /fides/ui-build/static/admin/_next/static/chunks/{1099-c34f76b4da5f3d15.js → 1099-79646e64f26d62fa.js} +0 -0
  179. /fides/ui-build/static/admin/_next/static/chunks/{1817-e6934e258111a961.js → 1817-0ca16d288fad916d.js} +0 -0
  180. /fides/ui-build/static/admin/_next/static/chunks/{2921-0696287bb8de1f0b.js → 2921-52328140bc420d0f.js} +0 -0
  181. /fides/ui-build/static/admin/_next/static/chunks/{3620-8c0ee3d0b19c342d.js → 3620-602eb74dc896d556.js} +0 -0
  182. /fides/ui-build/static/admin/_next/static/chunks/{3872-72ea3eb040366277.js → 3872-f78dec02f0d959ae.js} +0 -0
  183. /fides/ui-build/static/admin/_next/static/chunks/{3923-c4f2b03706ddbe39.js → 3923-bb2417b8dcade7a4.js} +0 -0
  184. /fides/ui-build/static/admin/_next/static/chunks/{401-959a15ed18a8abdf.js → 401-4af0a912e249d30f.js} +0 -0
  185. /fides/ui-build/static/admin/_next/static/chunks/{5487-fd9724519f31caff.js → 5487-02d00bad7c6830e0.js} +0 -0
  186. /fides/ui-build/static/admin/_next/static/chunks/{549-d3bef0990071230c.js → 549-38ea1d91ee2addaa.js} +0 -0
  187. /fides/ui-build/static/admin/_next/static/chunks/{6084-487d27d017c45e05.js → 6084-c153669d5567e242.js} +0 -0
  188. /fides/ui-build/static/admin/_next/static/chunks/{6853-f7ab74e30abbdeaf.js → 6853-b17673391117c976.js} +0 -0
  189. /fides/ui-build/static/admin/_next/static/chunks/{6954-b0a7b8ac6db238f8.js → 6954-5296188c19d7d0ac.js} +0 -0
  190. /fides/ui-build/static/admin/_next/static/chunks/{7476-9a57db910472b48e.js → 7476-45c5088baa8b66af.js} +0 -0
  191. /fides/ui-build/static/admin/_next/static/chunks/{7630-46807321449479c7.js → 7630-7ed6c6117775dffe.js} +0 -0
  192. /fides/ui-build/static/admin/_next/static/chunks/{787-79e8e558bd80ece6.js → 787-a8c7eab617e2fceb.js} +0 -0
  193. /fides/ui-build/static/admin/_next/static/chunks/{79-3e5047415bee9391.js → 79-65674011d455af4d.js} +0 -0
  194. /fides/ui-build/static/admin/_next/static/chunks/{796-fb2af44165f37ecc.js → 796-9e1ca1a4030707c5.js} +0 -0
  195. /fides/ui-build/static/admin/_next/static/chunks/{8002-c1f66179adabece8.js → 8002-24af20d679efc04e.js} +0 -0
  196. /fides/ui-build/static/admin/_next/static/chunks/{9826-0d9a7f61c08ed88a.js → 9826-dbae8dee941a7fac.js} +0 -0
  197. /fides/ui-build/static/admin/_next/static/chunks/pages/{404-9c9efb820bb6b432.js → 404-471a6b18e712f050.js} +0 -0
  198. /fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-caadc3c0e86a7bfe.js → multiple-920fb469e0dda1d2.js} +0 -0
  199. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-acefb9e08c6c4082.js → add-vendors-406170eaae4329c6.js} +0 -0
  200. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-558fbb1667473abb.js → configure-7207ab23bdb36ce8.js} +0 -0
  201. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-b1ff1c9683841815.js → [id]-f80cf2d3966816fd.js} +0 -0
  202. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-674906d2d9a0a3a6.js → privacy-experience-9dda4de5ec580279.js} +0 -0
  203. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-5b7aa7971f070513.js → [id]-b378576cba255609.js} +0 -0
  204. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-285958a12a66575e.js → new-2ca1de7b88094ab0.js} +0 -0
  205. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-dc56bbdb6dd7a670.js → privacy-notices-0d4844d0b808e6e4.js} +0 -0
  206. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-0843757f00eeaaec.js → properties-226efa1dcd41437f.js} +0 -0
  207. /fides/ui-build/static/admin/_next/static/chunks/pages/{consent-5cba58ebecb4511f.js → consent-3e8bdefe714254ec.js} +0 -0
  208. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-0f90cac9f190130c.js → [projectUrn]-04cfe2cfba7b7cd8.js} +0 -0
  209. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-f9117645c941342c.js → projects-5f2d7b24804f861f.js} +0 -0
  210. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{resources-6c3714ee97a718c1.js → resources-de704de849960f01.js} +0 -0
  211. /fides/ui-build/static/admin/_next/static/chunks/pages/{data-catalog-c566640eecc6f3fe.js → data-catalog-30108b00ac769fc3.js} +0 -0
  212. /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{action-center-991659e916ad60b1.js → action-center-9a81d42a474e1e48.js} +0 -0
  213. /fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-3f4ba87513e030a2.js → [...subfieldNames]-dfd71c1e9c458b89.js} +0 -0
  214. /fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-a6cd31103deba465.js → [collectionName]-7cdc42ec5493b83d.js} +0 -0
  215. /fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-491d2c8dd559d0cb.js → [datasetId]-e12b11ba15bc3fc1.js} +0 -0
  216. /fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-c8bcd568d3b0ee7f.js → dataset-7c59a6abf6ba6207.js} +0 -0
  217. /fides/ui-build/static/admin/_next/static/chunks/pages/{datastore-connection-9a33a412a5f36960.js → datastore-connection-cce20440b177050b.js} +0 -0
  218. /fides/ui-build/static/admin/_next/static/chunks/pages/{index-1299410f671fac23.js → index-6cd8708106331b8d.js} +0 -0
  219. /fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{[id]-ba232c4b17576ccb.js → [id]-3c6dc2f6e6bae960.js} +0 -0
  220. /fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{add-template-b97883026fbc5b1e.js → add-template-4a6d4023a7791be8.js} +0 -0
  221. /fides/ui-build/static/admin/_next/static/chunks/pages/{messaging-38189c1058aa4acf.js → messaging-76b204c9b98d656f.js} +0 -0
  222. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{ant-components-3119bdb3811409bf.js → ant-components-bc0e2adf6e0d3ac7.js} +0 -0
  223. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{AntForm-8f9d0434dc3eb8cf.js → AntForm-86ffcc1ad3fa912e.js} +0 -0
  224. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikAntFormItem-a14e51c7f22f3395.js → FormikAntFormItem-ec04f595465bdf69.js} +0 -0
  225. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikControlled-a40645b57822684d.js → FormikControlled-41d309754ff0c1de.js} +0 -0
  226. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikField-c55df6527b700701.js → FormikField-cab1f78cec7808f9.js} +0 -0
  227. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{forms-292d761616b162a0.js → forms-eb6058221403b156.js} +0 -0
  228. /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{table-migration-135bcf384b81820a.js → table-migration-48500551fd6a7602.js} +0 -0
  229. /fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-70efccbe0732786b.js → configure-d83e5bd52a638234.js} +0 -0
  230. /fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-63c6f0193634add5.js → [id]-e784c05d056b2371.js} +0 -0
  231. /fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-e76567f0374d5912.js → add-property-0a7a2db148a7561a.js} +0 -0
  232. /fides/ui-build/static/admin/_next/static/chunks/pages/{properties-2050b7dac0413c11.js → properties-da734840e4f9d04b.js} +0 -0
  233. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/{alpha-913f8eab62460f31.js → alpha-a82f3df840d5c1b5.js} +0 -0
  234. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{about-2ed1ee6017c0656a.js → about-d06fb16487705b9d.js} +0 -0
  235. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-bffd6292e7e0302a.js → [purpose_id]-9495e2eb506606c7.js} +0 -0
  236. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{consent-e54b4a7d80b81800.js → consent-93a978443bf299db.js} +0 -0
  237. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-a649ca07ce51b0fe.js → domain-records-16fdd91a81074dd1.js} +0 -0
  238. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domains-eb675ba600cea2a8.js → domains-4cdd6001e7cb9aee.js} +0 -0
  239. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{email-templates-4db2f42f90867890.js → email-templates-1914de830ce5cfc4.js} +0 -0
  240. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-89b404989b4ea21c.js → locations-2e635dcd11b78224.js} +0 -0
  241. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{organization-eb1ecff37fd85c72.js → organization-f547f1f33c12faf3.js} +0 -0
  242. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-07d883b5aaec58f2.js → regulations-7c02e469d8c5bd74.js} +0 -0
  243. /fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/{test-datasets-61ecb7546830c345.js → test-datasets-20b1193ed76c56b0.js} +0 -0
  244. /fides/ui-build/static/admin/_next/static/chunks/pages/{systems-44d714017dd87e62.js → systems-fbc8761ef4d55516.js} +0 -0
  245. /fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-583a7f0c1bead240.js → user-management-9cec020f89544426.js} +0 -0
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4608],{77213:function(e,i,t){t.d(i,{Z:function(){return h}});var n=t(24246),r=t(96306),s=t(88038),a=t.n(s),l=t(86677);t(27378);var o=t(25980),d=t(90867),c=t(77830),u=()=>{let e=(0,l.useRouter)();return(0,n.jsx)(r.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,n.jsxs)(r.xuv,{children:[(0,n.jsxs)(r.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,n.jsx)(r.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,n.jsx)(r.wpx,{onClick:()=>{e.push(c.fz)},children:"Configure"})]}),(0,n.jsxs)(r.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},h=e=>{let{children:i,title:t,padded:s=!0,mainProps:c}=e,h=(0,o.hz)(),x=(0,l.useRouter)(),m="/privacy-requests"===x.pathname||"/datastore-connection"===x.pathname,p=!(h.flags.privacyRequestsConfiguration&&m),{data:f}=(0,d.JE)(void 0,{skip:p}),{data:g}=(0,d.PW)(void 0,{skip:p}),v=h.flags.privacyRequestsConfiguration&&(!f||!g)&&m;return(0,n.jsxs)(r.kCb,{"data-testid":t,direction:"column",h:"100vh",children:[(0,n.jsxs)(a(),{children:[(0,n.jsxs)("title",{children:["Fides Admin UI - ",t]}),(0,n.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,n.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,n.jsxs)(r.kCb,{as:"main",direction:"column",py:s?6:0,px:s?10:0,h:s?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...c,children:[v?(0,n.jsx)(u,{}):null,i]})]})}},97181:function(e,i,t){t.d(i,{d:function(){return d}});var n=t(24246),r=t(96306),s=t(34090),a=t(27378),l=t(46238),o=t(40324);let d=e=>{let{name:i,label:t,labelProps:d,tooltip:c,isRequired:u,layout:h="inline",helperText:x,...m}=e,[p,f,{setValue:g}]=(0,s.U$)(i),v=!!(f.touched&&f.error),[j,y]=(0,a.useState)("");p.value||"tags"!==m.mode&&"multiple"!==m.mode||(p.value=[]),"tags"===m.mode&&"string"==typeof p.value&&(p.value=[p.value]);let b="tags"===m.mode?(e,i)=>e?e.value!==j||p.value.includes(j)?m.optionRender?m.optionRender(e,i):e.label:'Create "'.concat(j,'"'):void 0:m.optionRender||void 0,C=e=>{y(e),m.onSearch&&m.onSearch(e)},k=(e,i)=>{g(e),m.onChange&&m.onChange(e,i)};return"inline"===h?(0,n.jsx)(r.NIc,{isInvalid:v,isRequired:u,children:(0,n.jsxs)(r.rjZ,{templateColumns:t?"1fr 3fr":"1fr",children:[t?(0,n.jsx)(o.__,{htmlFor:m.id||i,...d,children:t}):null,(0,n.jsxs)(r.jqI,{align:"center",children:[(0,n.jsxs)(r.jqI,{vertical:!0,flex:1,className:"mr-2",children:[(0,n.jsx)(r.WPr,{...p,id:m.id||i,"data-testid":"controlled-select-".concat(p.name),...m,optionRender:b,onSearch:"tags"===m.mode?C:void 0,onChange:k,value:p.value||void 0,status:v?"error":void 0}),x&&(0,n.jsx)(r.Q6r,{children:x}),(0,n.jsx)(o.Bc,{isInvalid:v,message:f.error,fieldName:p.name})]}),(0,n.jsx)(l.b,{label:c,className:v?"mt-2 self-start":void 0})]})]})}):(0,n.jsx)(r.NIc,{isInvalid:v,isRequired:u,children:(0,n.jsxs)(r.gCW,{alignItems:"start",children:[(0,n.jsxs)(r.jqI,{align:"center",children:[t?(0,n.jsx)(o.__,{htmlFor:m.id||i,fontSize:"xs",my:0,mr:1,...d,children:t}):null,(0,n.jsx)(l.b,{label:c})]}),(0,n.jsx)(r.WPr,{...p,id:m.id||i,"data-testid":"controlled-select-".concat(p.name),...m,optionRender:b,onSearch:"tags"===m.mode?C:void 0,onChange:k,value:p.value||void 0,status:v?"error":void 0}),x&&(0,n.jsx)(r.Q6r,{style:{marginTop:0},children:x}),(0,n.jsx)(o.Bc,{isInvalid:v,message:f.error,fieldName:p.name})]})})}},46782:function(e,i,t){t.d(i,{j:function(){return s},l:function(){return a}});var n=t(30454),r=t.n(n);let s="#/definitions/FidesDatasetReference",a=e=>{let i=(e,i,t)=>{let n;return(void 0===i||""===i||void 0===i)&&(n="".concat(e," is required")),t===s&&((null==i?void 0:i.includes("."))?i.split(".").length<3&&(n="Dataset reference must include at least three parts"):n="Dataset reference must be dot delimited"),n},t=i=>{var t,n;return null!==(n=null==e?void 0:null===(t=e.required)||void 0===t?void 0:t.includes(i))&&void 0!==n&&n};return{validateField:i,isRequiredField:t,getFieldValidation:(e,n)=>{if(t(e))return e=>{var t;return i(n.title,e,null===(t=n.allOf)||void 0===t?void 0:t[0].$ref)}},preprocessValues:i=>{let t=r()(i);return e&&Object.keys(e.properties).forEach(i=>{var n,r;if((null===(n=e.properties[i].allOf)||void 0===n?void 0:n[0].$ref)===s){let e=null===(r=t.secrets[i])||void 0===r?void 0:r.split(".");e&&(t.secrets[i]={dataset:e.shift(),field:e.join("."),direction:"from"})}"WebsiteSchema"!==e.title||"URL"!==e.properties[i].title||t.secrets[i].startsWith("http://")||t.secrets[i].startsWith("https://")||(t.secrets[i]="https://".concat(t.secrets[i]))}),t}}}},39715:function(e,i,t){var n=t(24246),r=t(96306);t(27378),i.Z=e=>{let{isEmptyState:i,yamlError:t}=e;return(0,n.jsx)(r.Rg9,{in:!0,children:(0,n.jsxs)(r.xuv,{w:"fit-content",bg:"white",p:3,borderRadius:3,children:[(0,n.jsxs)(r.Ugi,{children:[(0,n.jsx)(r.X6q,{as:"h5",color:"gray.700",size:"xs",children:"YAML"}),(0,n.jsx)(r.Vp9,{colorScheme:"red",size:"sm",variant:"solid",children:"Error"})]}),(0,n.jsx)(r.xuv,{bg:"red.50",border:"1px solid",borderColor:"red.300",color:"red.300",mt:"16px",borderRadius:"6px",children:(0,n.jsxs)(r.Ugi,{alignItems:"flex-start",margin:["14px","17px","14px","17px"],children:[(0,n.jsx)(r.f9v,{}),i&&(0,n.jsxs)(r.xuv,{children:[(0,n.jsx)(r.X6q,{as:"h5",color:"red.500",fontWeight:"semibold",size:"xs",children:"Error message:"}),(0,n.jsx)(r.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:"Yaml system is required"})]}),t&&(0,n.jsxs)(r.xuv,{children:[(0,n.jsx)(r.X6q,{as:"h5",color:"red.500",fontWeight:"semibold",size:"xs",children:"Error message:"}),(0,n.jsx)(r.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:t.message}),(0,n.jsx)(r.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:t.reason}),(0,n.jsxs)(r.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:["Ln ",(0,n.jsx)("b",{children:t.mark.line}),", Col"," ",(0,n.jsx)("b",{children:t.mark.column}),", Pos"," ",(0,n.jsx)("b",{children:t.mark.position})]})]})]})})]})})}},41207:function(e,i,t){t.d(i,{F:function(){return a},M:function(){return s}});var n=t(76649),r=t(65218);let s=t.n(r)()(()=>t.e(7088).then(t.bind(t,57088)).then(e=>e.default),{loadableGenerated:{webpack:()=>[57088]},ssr:!1}),a=e=>(0,n.Ln)({name:"string"},e)&&"YAMLException"===e.name},41337:function(e,i,t){var n=t(24246),r=t(96306);t(27378);var s=t(88337),a=t(16394),l=t(14746);let o=l.Ny+l.iW.get(s.R.WEBSITE),d=e=>void 0!==e.connection_type,c=e=>void 0!==e.encoded_icon,u=e=>(null==e?void 0:e.connection_type)===s.R.WEBSITE,h=e=>(null==e?void 0:e.connection_type)===s.R.SAAS;i.Z=e=>{let{data:i,...t}=e;return(0,n.jsx)(r.Eep,{boxSize:"32px",objectFit:"cover",src:(()=>{var e,t;let n;if(c(i)&&i.encoded_icon)return"data:image/svg+xml;base64,".concat(i.encoded_icon);if(u(i)){let t=null===(e=i.secrets)||void 0===e?void 0:e.url;if(!t)return o;let n=(0,a.ge)(t);return(0,a.tl)(n,100)}if(d(i)){if(h(i)&&(null===(t=i.saas_config)||void 0===t?void 0:t.type)){let e=i.saas_config.type,t=l.LN.get(e);return t?l.Ny+t:l.Ny+l.iW.get(s.R.SAAS)}n=[...l.iW].find(e=>{let[t]=e;return i.connection_type.toString()===t.toString()})}else if(c(i)){let{identifier:e}=i;n=[...l.iW].find(i=>{let[t]=i;return t.toLowerCase()===e.toLowerCase()})}return n?l.Ny+n[1]:l.VD})(),fallbackSrc:u(i)?o:l.VD,alt:(()=>{if(d(i)){var e;return null!==(e=i.name)&&void 0!==e?e:i.key}return c(i)?i.human_readable:i})(),...t})}},1226:function(e,i,t){var n=t(24246);t(27378);var r=t(77213);i.Z=e=>{let{children:i}=e;return(0,n.jsx)(r.Z,{title:"Connections",children:i})}},11274:function(e,i,t){t.d(i,{s:function(){return E}});var n=t(24246),r=t(96356),s=t(96306),a=t(86677),l=t(27378),o=t(16134),d=t(77830),c=t(54682),u=t(75573),h=t(84306),x=t(14207),m=t(16125),p=t(33335),f=t(34090),g=t(46782),v=t(46238);let j=(e,i)=>{let t={...e};return Object.entries(i.properties).forEach(i=>{let[n,r]=i;if("integer"===r.type){let i=r.default?Number(r.default):e[n];t[n]=i||0}else{var s;let i=null!==(s=r.default)&&void 0!==s?s:e[n];t[n]=null!=i?i:null}}),t};var y=e=>{let{data:i,defaultValues:t,isSubmitting:a=!1,onSaveClick:d,onTestConnectionClick:h,testButtonLabel:m="Test integration"}=e,p=(0,l.useRef)(!1),{handleError:y}=(0,u.HK)(),{connection:b,connectionOption:C}=(0,o.C)(r.ZZ),[k,_]=(0,x.h2)(),S=e=>{let i;return(void 0===e||""===e)&&(i="Connection Identifier is required"),e&&(0,s.kEn)(e)&&(i="Connection Identifier must be an alphanumeric value"),i},w=(e,i,t)=>{let n;return(void 0===i||""===i)&&(n="".concat(e," is required")),t===g.j&&(i.includes(".")?i.split(".").length<3&&(n="Dataset reference must include at least three parts"):n="Dataset reference must be dot delimited"),n},I=(e,i)=>(0,n.jsx)(s.lXp,{color:"gray.900",fontSize:"14px",fontWeight:"semibold",htmlFor:e,minWidth:"150px",children:i}),R=e=>{var i;if((null===(i=e.allOf)||void 0===i?void 0:i[0].$ref)===g.j)return"Enter dataset.collection.field"},z=(e,t)=>{var r;return(0,n.jsx)(f.gN,{id:e,name:e,validate:(null!==(r=i.required)&&void 0!==r&&!!r.includes(e)||"integer"===t.type)&&(e=>{var i;return w(t.title,e,null===(i=t.allOf)||void 0===i?void 0:i[0].$ref)}),children:r=>{var a;let{field:l,form:o}=r;return(0,n.jsxs)(s.NIc,{display:"flex",isRequired:null===(a=i.required)||void 0===a?void 0:a.includes(e),isInvalid:o.errors[e]&&o.touched[e],children:[I(e,t.title),(0,n.jsxs)(s.gCW,{align:"flex-start",w:"inherit",children:["integer"!==t.type&&(0,n.jsx)(s.IIB,{...l,value:l.value||"",placeholder:R(t),autoComplete:"off",color:"gray.700",size:"sm"}),"integer"===t.type&&(0,n.jsxs)(s.Y2U,{allowMouseWheel:!0,color:"gray.700",defaultValue:0,min:0,size:"sm",children:[(0,n.jsx)(s.zuI,{...l,autoComplete:"off"}),(0,n.jsxs)(s.FiK,{children:[(0,n.jsx)(s.WQu,{}),(0,n.jsx)(s.Y_d,{})]})]}),(0,n.jsx)(s.J1D,{children:o.errors[e]})]}),(0,n.jsx)(s.kCb,{alignItems:"center",h:8,ml:2,children:(0,n.jsx)(v.b,{label:t.description})})]})}},e)},W=async()=>{try{await k(b.key).unwrap()}catch(e){y(e)}};return(0,l.useEffect)(()=>(p.current=!0,_.isSuccess&&h(_),()=>{p.current=!1}),[h,_]),(0,n.jsx)(f.J9,{enableReinitialize:!0,initialValues:(()=>{let e={...t};if(null==b?void 0:b.key){var n,r;e.name=null!==(r=b.name)&&void 0!==r?r:"",e.description=b.description,e.instance_key=b.connection_type===c.Rj.SAAS?null===(n=b.saas_config)||void 0===n?void 0:n.fides_key:b.key}return j(e,i)})(),onSubmit:(e,t)=>{let n={...e};Object.keys(i.properties).forEach(t=>{var r;if((null===(r=i.properties[t].allOf)||void 0===r?void 0:r[0].$ref)===g.j){let i=e[t].split(".");n[t]={dataset:i.shift(),field:i.join("."),direction:"from"}}}),d(n,t)},validateOnBlur:!1,validateOnChange:!1,children:e=>(0,n.jsx)(f.l0,{noValidate:!0,children:(0,n.jsxs)(s.gCW,{align:"stretch",gap:"16px",children:[(0,n.jsx)(f.gN,{id:"name",name:"name",validate:e=>w("Name",e),children:i=>{let{field:t}=i;return(0,n.jsxs)(s.NIc,{display:"flex",isRequired:!0,isInvalid:e.errors.name&&e.touched.name,children:[I("name","Name"),(0,n.jsxs)(s.gCW,{align:"flex-start",w:"inherit",mr:"6",children:[(0,n.jsx)(s.IIB,{...t,autoComplete:"off",autoFocus:!0,color:"gray.700",placeholder:"Enter a friendly name for your new ".concat(C.human_readable," connection"),size:"sm","data-testid":"input-name"}),(0,n.jsx)(s.J1D,{children:e.errors.name})]})]})}}),(0,n.jsx)(f.gN,{id:"description",name:"description",children:e=>{let{field:i}=e;return(0,n.jsxs)(s.NIc,{display:"flex",children:[I("description","Description"),(0,n.jsx)(s.gxH,{...i,color:"gray.700",placeholder:"Enter a description for your new ".concat(C.human_readable," connection"),resize:"none",size:"sm",value:i.value||"",mr:"6"})]})}}),(0,n.jsx)(f.gN,{id:"instance_key",name:"instance_key",validate:S,children:i=>{let{field:t}=i;return(0,n.jsxs)(s.NIc,{display:"flex",isRequired:!0,isInvalid:e.errors.instance_key&&e.touched.instance_key,children:[I("instance_key","Connection Identifier"),(0,n.jsxs)(s.gCW,{align:"flex-start",w:"inherit",children:[(0,n.jsx)(s.IIB,{...t,autoComplete:"off",color:"gray.700",isDisabled:!!(null==b?void 0:b.key),placeholder:"A unique identifier for your new ".concat(C.human_readable," connection"),size:"sm"}),(0,n.jsx)(s.J1D,{children:e.errors.instance_key})]}),(0,n.jsx)(s.kCb,{alignItems:"center",h:8,ml:2,children:(0,n.jsx)(v.b,{label:"The fides_key will allow fidesops to associate dataset field references appropriately. Must be a unique alphanumeric value with no spaces (underscores allowed) to represent this connection."})})]})}}),Object.entries(i.properties).map(e=>{let[i,t]=e;return"advanced_settings"===i?null:z(i,t)}),(0,n.jsxs)(s.kCb,{gap:2,children:[(0,n.jsx)(s.wpx,{disabled:!(null==b?void 0:b.key),loading:_.isLoading||_.isFetching,onClick:W,"data-testid":"test-connection-button",children:m}),(0,n.jsx)(s.wpx,{htmlType:"submit",type:"primary",disabled:a,loading:a,children:"Save"})]})]})})})};let b=e=>{let{onConnectionCreated:i,data:t}=e,s=(0,m.I0)(),{errorAlert:a,successAlert:d}=(0,h.V)(),{handleError:f}=(0,u.HK)(),[g,v]=(0,l.useState)(!1),{connection:j,connectionOption:y}=(0,o.C)(r.ZZ),[b]=(0,x.pH)(),[C]=(0,x.Du)();return{isSubmitting:g,handleSubmit:async e=>{try{var l;v(!0);let o={access:c.uv.WRITE,connection_type:null==y?void 0:y.identifier,description:e.description,disabled:!1,key:(0,p.E)(e.instance_key),name:e.name},u=await b(o).unwrap();if((null===(l=u.failed)||void 0===l?void 0:l.length)>0)a(u.failed[0].message);else{let l={connection_key:u.succeeded[0].key,secrets:{}};Object.entries(t.properties).forEach(i=>{l.secrets[i[0]]=e[i[0]]});let o=await C(l).unwrap();"failed"===o.test_status?a((0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("b",{children:"Message:"})," ",o.msg,(0,n.jsx)("br",{}),(0,n.jsx)("b",{children:"Failure Reason:"})," ",o.failure_reason]})):(s((0,r.lm)(u.succeeded[0])),d("Connector successfully ".concat((null==j?void 0:j.key)?"updated":"added","!")),(null==j?void 0:j.key)||!i||i())}}catch(e){f(e)}finally{v(!1)}},connectionOption:y}},C=e=>{let{data:i,onConnectionCreated:t,onTestConnectionClick:r}=e,{isSubmitting:a,handleSubmit:l,connectionOption:o}=b({onConnectionCreated:t,data:i});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.xuv,{color:"gray.700",fontSize:"14px",h:"80px",children:["Connect to your ",o.human_readable," environment by providing the information below. Once you have saved the form, you may test the integration to confirm that it's working correctly."]}),(0,n.jsx)(y,{data:i,defaultValues:{description:"",instance_key:"",name:""},isSubmitting:a,onSaveClick:l,onTestConnectionClick:r})]})},k={description:"",instance_key:"",name:""},_=e=>{let{data:i,onConnectionCreated:t,onTestEmail:r}=e,{connectionOption:a,isSubmitting:l,handleSubmit:o}=b({onConnectionCreated:t,data:i});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.xuv,{color:"gray.700",fontSize:"14px",h:"80px",children:["Configure your ",a.human_readable," connector by providing the connector name, description and a test email address. Once you have saved the details, you can click test email to check the format of the email."]}),(0,n.jsx)(y,{data:i,defaultValues:k,isSubmitting:l,onSaveClick:e=>{o(e)},onTestConnectionClick:r,testButtonLabel:"Test email"})]})};var S=t(55484),w=t(27259),I=t(67762),R=e=>{let{defaultValues:i,isSubmitting:t=!1,onSaveClick:l}=e,c=(0,a.useRouter)(),{connection:u,connectionOption:h}=(0,o.C)(r.ZZ);return(0,n.jsx)(f.J9,{initialValues:(()=>{if(null==u?void 0:u.key){var e;i.name=null!==(e=u.name)&&void 0!==e?e:"",i.description=u.description}return i})(),onSubmit:(e,i)=>{l(e,i)},validateOnBlur:!1,validateOnChange:!1,validationSchema:S.Ry().shape({name:S.Z_().required("Name is required")}),children:(0,n.jsx)(f.l0,{noValidate:!0,children:(0,n.jsxs)(s.gCW,{align:"stretch",gap:"16px",children:[(0,n.jsx)(w.Z,{autoFocus:!0,disabled:!!(null==u?void 0:u.key),isRequired:!0,label:"Name",name:"name",placeholder:"Enter a friendly name for your new ".concat(h.human_readable," connection")}),(0,n.jsx)(w.Z,{label:"Description",name:"description",placeholder:"Enter a description for your new ".concat(h.human_readable," connection"),type:"textarea"}),(0,n.jsx)(I.h,{isSubmitting:t,onCancelClick:()=>{c.push(d.JR)}})]})})})};let z=e=>{let{onConnectionCreated:i}=e,t=(0,m.I0)(),{errorAlert:a,successAlert:d}=(0,h.V)(),{handleError:p}=(0,u.HK)(),[f,g]=(0,l.useState)(!1),{connection:v,connectionOption:j}=(0,o.C)(r.ZZ),[y]=(0,x.pH)(),b=async(e,n)=>{try{var s;g(!0);let n={access:c.uv.WRITE,connection_type:null==j?void 0:j.identifier,description:e.description,disabled:!1,name:e.name,key:null==v?void 0:v.key},l=await y(n).unwrap();(null===(s=l.failed)||void 0===s?void 0:s.length)>0?a(l.failed[0].message):(t((0,r.lm)(l.succeeded[0])),d("Connector successfully ".concat((null==v?void 0:v.key)?"updated":"added","!")),(null==v?void 0:v.key)||!i||i())}catch(e){p(e)}finally{g(!1)}};return(0,n.jsxs)(s.gCW,{align:"stretch",gap:"16px",children:[(0,n.jsxs)(s.xuv,{color:"gray.700",fontSize:"14px",children:["To begin setting up your new ",j.human_readable," ","connector you must first assign a name to the connector and a description.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Once you have completed this section you can then progress onto"," ",(0,n.jsx)(s.xvT,{display:"inline-block",fontWeight:"700",children:"DSR customization"})," ","using the menu on the left hand side."]}),(0,n.jsx)(R,{defaultValues:{description:"",name:""},isSubmitting:f,onSaveClick:b})]})},W=e=>{let{data:i,onConnectionCreated:t,onTestConnectionClick:a}=e,d=(0,m.I0)(),{errorAlert:f,successAlert:g}=(0,h.V)(),{handleError:v}=(0,u.HK)(),[j,b]=(0,l.useState)(!1),{connection:C,connectionOption:k}=(0,o.C)(r.ZZ),[_]=(0,x.pL)(),[S]=(0,x.pH)(),[w]=(0,x.Du)(),I=async(e,s)=>{try{if(b(!0),C){var a;let t={access:c.uv.WRITE,connection_type:C.connection_type,description:e.description,disabled:!1,key:C.key,name:e.name},s=await S(t).unwrap();if((null===(a=s.failed)||void 0===a?void 0:a.length)>0)f(s.failed[0].message);else{d((0,r.lm)(s.succeeded[0]));let t={connection_key:C.key,secrets:{}};Object.entries(i.properties).forEach(i=>{t.secrets[i[0]]=e[i[0]]});let a=await w(t).unwrap();"failed"===a.test_status?f((0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("b",{children:"Message:"})," ",a.msg,(0,n.jsx)("br",{}),(0,n.jsx)("b",{children:"Failure Reason:"})," ",a.failure_reason]})):g("Connector successfully updated!")}}else{let n={description:e.description,name:e.name,instance_key:(0,p.E)(e.instance_key),saas_connector_type:k.identifier,secrets:{}};Object.entries(i.properties).forEach(i=>{n.secrets[i[0]]=e[i[0]]});let s=await _(n).unwrap();d((0,r.lm)(s.connection)),g("Connector successfully added!"),null==t||t()}}catch(e){v(e)}finally{b(!1)}};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.xuv,{color:"gray.700",fontSize:"14px",h:"80px",children:["Connect to your ",k.human_readable," environment by providing the information below. Once you have saved the form, you may test the integration to confirm that it's working correctly."]}),(0,n.jsx)(y,{data:i,defaultValues:{description:"",instance_key:"",name:""},isSubmitting:j,onSaveClick:I,onTestConnectionClick:a})]})};var Z=t(16394);let q=e=>{var i,t;let{response:a}=e,{connectionOption:l}=(0,o.C)(r.ZZ);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.izJ,{color:"gray.100"}),(0,n.jsxs)(s.gCW,{align:"flex-start",mt:"16px",children:[(null===(i=a.data)||void 0===i?void 0:i.test_status)==="succeeded"&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.Ugi,{children:[(0,n.jsxs)(s.X6q,{as:"h5",color:"gray.700",size:"xs",children:["Successfully connected to ",l.human_readable]}),(0,n.jsx)(s.Vp9,{colorScheme:"green",size:"sm",variant:"solid",children:"Success"})]}),(0,n.jsx)(s.xvT,{color:"gray.500",fontSize:"sm",mt:"12px !important",children:(0,Z.p6)(a.fulfilledTimeStamp)}),(0,n.jsx)(s.xuv,{bg:"green.100",border:"1px solid",borderColor:"green.300",color:"green.700",mt:"16px",borderRadius:"6px",children:(0,n.jsxs)(s.Ugi,{alignItems:"flex-start",margin:["14px","17px","14px","17px"],children:[(0,n.jsx)(s.StI,{}),(0,n.jsxs)(s.xuv,{children:[(0,n.jsx)(s.X6q,{as:"h5",color:"green.500",fontWeight:"semibold",size:"xs",children:"Success message:"}),(0,n.jsx)(s.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:a.data.msg})]})]})})]}),(null===(t=a.data)||void 0===t?void 0:t.test_status)==="failed"&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.Ugi,{children:[(0,n.jsxs)(s.X6q,{as:"h5",color:"gray.700",size:"xs",children:["Output error to ",l.human_readable]}),(0,n.jsx)(s.Vp9,{colorScheme:"red",size:"sm",variant:"solid",children:"Error"})]}),(0,n.jsx)(s.xvT,{color:"gray.500",fontSize:"sm",mt:"12px !important",children:(0,Z.p6)(a.fulfilledTimeStamp)}),(0,n.jsx)(s.xuv,{bg:"red.50",border:"1px solid",borderColor:"red.300",color:"red.300",mt:"16px",borderRadius:"6px",children:(0,n.jsxs)(s.Ugi,{alignItems:"flex-start",margin:["14px","17px","14px","17px"],children:[(0,n.jsx)(s.f9v,{}),(0,n.jsxs)(s.xuv,{children:[(0,n.jsx)(s.X6q,{as:"h5",color:"red.500",fontWeight:"semibold",size:"xs",children:"Error message:"}),(0,n.jsx)(s.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:a.data.failure_reason}),(0,n.jsx)(s.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:a.data.msg})]})]})})]})]})]})},E=e=>{let{onConnectionCreated:i}=e,t=(0,a.useRouter)(),{connectionOption:u}=(0,o.C)(r.ZZ),h=u&&u.type===c.Zi.MANUAL,{data:x,isFetching:m,isLoading:p,isSuccess:f}=(0,r.n3)(u.identifier,{skip:h}),[g,v]=(0,l.useState)(),j=e=>{v(e)},y=(0,l.useCallback)(()=>{t.push(d.JR)},[t]),b=(0,l.useCallback)(()=>{switch(null==u?void 0:u.type){case c.Zi.DATABASE:if(f&&x)return(0,n.jsx)(C,{data:x,onConnectionCreated:i,onTestConnectionClick:j});break;case c.Zi.MANUAL:return(0,n.jsx)(z,{onConnectionCreated:i});case c.Zi.SAAS:if(f&&x)return(0,n.jsx)(W,{data:x,onConnectionCreated:i,onTestConnectionClick:j});break;case c.Zi.EMAIL:if(f&&x)return(0,n.jsx)(_,{data:x,onConnectionCreated:y,onTestEmail:j})}},[null==u?void 0:u.type,x,f,i,y]);return(0,n.jsxs)(s.kCb,{gap:"97px",children:[(0,n.jsxs)(s.gCW,{w:"579px",gap:"16px",align:"stretch",children:[(m||p)&&(0,n.jsx)(s.M5Y,{children:(0,n.jsx)(s.$jN,{})}),b()]}),g&&(0,n.jsxs)(s.Rg9,{in:!0,children:[" ",(0,n.jsx)(s.xuv,{mt:"16px",maxW:"528px",w:"fit-content",children:(0,n.jsx)(q,{response:g})})]})]})}},38212:function(e,i,t){t.d(i,{Z:function(){return y}});var n=t(24246),r=t(75573),s=t(96356),a=t(14207),l=t(96306),o=t(86677),d=t(27378),c=t(16134),u=t(812),h=t(77830),x=t(41966),m=t(84306),p=t(66527),f=t(41207),g=t(39715),v=e=>{let{data:i=[],isSubmitting:t=!1,onSubmit:r,onCancel:s,disabled:a}=e,o=(0,d.useRef)(null),{errorAlert:c}=(0,m.V)(),u=i.length>0?p.ZP.dump(i):void 0,[h,v]=(0,d.useState)(void 0),[j,y]=(0,d.useState)(!1),[b,C]=(0,d.useState)(!u),k=(0,l.qY0)(),{data:_}=(0,x.LH)({minimal:!0}),[S,w]=(0,d.useState)([]),I=e=>{p.ZP.load(e,{json:!0}),v(void 0)},R=()=>{let e=o.current.getValue();r(p.ZP.load(e,{json:!0})),w([])};return(0,n.jsxs)(l.kCb,{gap:"97px",children:[(0,n.jsxs)(l.gCW,{align:"stretch",w:"800px",children:[(0,n.jsx)(f.M,{defaultLanguage:"yaml",defaultValue:u,height:"calc(100vh - 526px)",onChange:e=>{try{y(!0),I(e),C(!!(!e||""===e.trim()))}catch(e){(0,f.F)(e)?v(e):c("Could not parse the supplied YAML")}},onMount:(e,i)=>{o.current=e,o.current.focus()},options:{fontFamily:"Menlo",fontSize:13,minimap:{enabled:!0},readOnly:a},theme:"light"}),(0,n.jsxs)(l.Ugi,{justifyContent:"flex-end",pr:6,children:[s&&(0,n.jsx)(l.wpx,{onClick:s,children:"Cancel"}),(0,n.jsx)(l.wpx,{type:"primary",disabled:a||b||!!h||t,loading:t,onClick:()=>{if(_&&_.length){let e=o.current.getValue(),i=_.filter(i=>e.includes("fides_key: ".concat(i.fides_key,"\n"))).map(e=>e.fides_key);if(w(i),i.length){k.onOpen();return}}R()},htmlType:"submit","data-testid":"save-yaml-btn",children:"Save"})]})]}),j&&(b||h)&&(0,n.jsx)(g.Z,{isEmptyState:b,yamlError:h}),(0,n.jsx)(l.cVQ,{isOpen:k.isOpen,onClose:k.onClose,onConfirm:()=>{R(),k.onClose()},title:"Overwrite dataset",message:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.xvT,{children:["You are about to overwrite the dataset",S.length>1?"s":""," ",S.map((e,i)=>{let t=i===S.length-1;return(0,n.jsxs)(d.Fragment,{children:[(0,n.jsx)(l.xvT,{color:"complimentary.500",as:"span",fontWeight:"bold",children:e}),t?".":", "]},e)})]}),(0,n.jsx)(l.xvT,{children:"Are you sure you would like to continue?"})]})})]})};let j=e=>{let{children:i,...t}=e;return(0,n.jsx)(l.xvT,{color:"gray.700",fontSize:"14px",...t,children:i})};var y=()=>{let e=(0,o.useRouter)(),{errorAlert:i,successAlert:t}=(0,r.VY)(),{handleError:m}=(0,r.HK)(),[p,f]=(0,d.useState)(!1),{connection:g}=(0,c.C)(s.ZZ),{data:y,isFetching:b,isLoading:C,isSuccess:k}=(0,a.Eg)(g.key),[_]=(0,a.Lz)(),[S]=(0,x.EG)(),{data:w,isLoading:I,error:R}=(0,x.LH)({minimal:!0}),[z,W]=(0,d.useState)(void 0);(0,d.useEffect)(()=>{y&&y.items.length&&W(y.items[0].ctl_dataset.fides_key)},[y]);let Z=async n=>{var r;let s={connection_key:null==g?void 0:g.key,dataset_pairs:n},a=await _(s).unwrap();(null===(r=a.failed)||void 0===r?void 0:r.length)>0?i(a.failed[0].message):t("Dataset successfully updated!"),e.push(h.JR)},q=async()=>{if(z)try{let e=z;y&&y.items.length&&(e=y.items[0].fides_key);let i=[{fides_key:e,ctl_dataset_fides_key:z}];Z(i)}catch(e){m(e)}},E=async e=>{try{f(!0);let t=Array.isArray(e)?e:[e],n=await S(t);if((0,u.D4)(n)){let e=(0,u.e$)(n.error);i(e);return}let r=t.map(e=>({fides_key:e.fides_key,ctl_dataset_fides_key:e.fides_key}));if(y&&y.items.length){let{items:e}=y;r=e.map((e,i)=>({fides_key:e.fides_key,ctl_dataset_fides_key:t[i].fides_key}))}Z(r)}catch(e){m(e)}finally{f(!1)}},F=""!==z&&void 0!==z;if(b||C||I&&!R)return(0,n.jsx)(l.M5Y,{children:(0,n.jsx)(l.$jN,{})});let T=w&&w.length;return(0,n.jsxs)(l.gCW,{alignItems:"left",gap:4,children:[R&&(0,n.jsx)(j,{color:"red",children:"There was a problem loading existing datasets, please try again."}),(0,n.jsxs)(l.gCW,{alignItems:"flex-start",children:[T&&(0,n.jsx)("div",{children:(0,n.jsx)(l.gCW,{alignSelf:"start",gap:4,children:(0,n.jsxs)(l.xuv,{"data-testid":"dataset-selector-section",children:[(0,n.jsx)(j,{mb:4,children:"Choose a dataset to associate with this connector."}),(0,n.jsxs)(l.Ugi,{children:[(0,n.jsx)(l.WPr,{allowClear:!0,options:w.map(e=>({label:e.fides_key,value:e.fides_key})),className:"w-full",placeholder:"Select",onChange:e=>W(e),value:z,"data-testid":"dataset-selector"}),(0,n.jsx)(l.wpx,{onClick:q,type:"primary",className:"self-start",disabled:!F,"data-testid":"save-dataset-link-btn",children:"Save"})]})]})})}),T&&k&&(null==y?void 0:y.items)&&(0,n.jsx)(l.htM,{plain:!0,children:"or"}),k&&(null==y?void 0:y.items)&&(0,n.jsxs)(l.xuv,{"data-testid":"yaml-editor-section",children:[(0,n.jsx)(j,{mb:4,children:"View your dataset YAML below!"}),(0,n.jsx)(v,{data:y.items.map(e=>e.ctl_dataset),isSubmitting:p,onSubmit:E,disabled:F})]})]})]})}},27259:function(e,i,t){var n=t(24246),r=t(96306),s=t(34090);i.Z=e=>{let{disabled:i=!1,isRequired:t=!1,label:a,placeholder:l,type:o="text",...d}=e,{id:c,autoFocus:u}=d,[h,x]=(0,s.U$)(d);return(0,n.jsxs)(r.NIc,{display:"flex",isRequired:t,isInvalid:!!(x.error&&x.touched),children:[a&&(0,n.jsx)(r.lXp,{color:"gray.900",fontSize:"14px",fontWeight:"semibold",htmlFor:c,minWidth:"150px",children:a}),(0,n.jsxs)(r.gCW,{align:"flex-start",w:"inherit",children:["number"===o&&(0,n.jsxs)(r.Y2U,{allowMouseWheel:!0,color:"gray.700",defaultValue:0,min:0,size:"sm",children:[(0,n.jsx)(r.zuI,{...h,autoComplete:"off",autoFocus:u}),(0,n.jsxs)(r.FiK,{children:[(0,n.jsx)(r.WQu,{}),(0,n.jsx)(r.Y_d,{})]})]}),"text"===o&&(0,n.jsx)(r.IIB,{...h,autoComplete:"off",autoFocus:u,color:"gray.700",isDisabled:i,placeholder:l,size:"sm"}),"textarea"===o&&(0,n.jsx)(r.gxH,{...h,autoComplete:"off",autoFocus:u,color:"gray.700",placeholder:l,resize:"none",size:"sm",value:h.value||""}),(0,n.jsx)(r.J1D,{children:x.error})]})]})}},67762:function(e,i,t){t.d(i,{h:function(){return s}});var n=t(24246),r=t(96306);t(27378);let s=e=>{let{isSubmitting:i=!1,onCancelClick:t}=e;return(0,n.jsxs)(r.hE2,{size:"sm",spacing:"8px",variant:"outline",children:[(0,n.jsx)(r.zxk,{onClick:t,variant:"outline",children:"Cancel"}),(0,n.jsx)(r.zxk,{bg:"primary.800",color:"white",isDisabled:i,isLoading:i,loadingText:"Submitting",size:"sm",variant:"solid",type:"submit",_active:{bg:"primary.500"},_disabled:{opacity:"inherit"},_hover:{bg:"primary.400"},children:"Save"})]})}},50881:function(e,i,t){t.d(i,{Z:function(){return y}});var n=t(24246),r=t(75573),s=t(96356),a=t(14207),l=t(96306),o=t(86677),d=t(27378),c=t(16134),u=t(77830),h=t(34090),x=t(55484),m=t(97181),p=t(57072),f=t(39864),g=t(27259),v=t(67762),j=e=>{let{data:i=[],isSubmitting:t=!1,onSaveClick:s}=e,{isLoading:a}=(0,p.MO)(),d=(0,c.C)(f.qb),j=(0,o.useRouter)(),{errorAlert:y}=(0,r.VY)(),b=()=>{j.push(u.JR)};return a?null:(0,n.jsx)(h.J9,{enableReinitialize:!0,initialValues:{fields:i.length>0?i:[{pii_field:"",dsr_package_label:"",data_categories:[]}]},onSubmit:(e,i)=>{if(new Set(e.fields.map(e=>e.pii_field)).size<e.fields.length){y("PII Field must be unique");return}s(e,i)},validateOnBlur:!1,validateOnChange:!1,validationSchema:x.Ry({fields:x.IX().of(x.Ry().shape({pii_field:x.Z_().required("PII Field is required").min(1,"PII Field must have at least one character").max(200,"PII Field has a maximum of 200 characters").label("PII Field"),dsr_package_label:x.Z_().required("DSR Package Label is required").min(1,"DSR Package Label must have at least one character").max(200,"DSR Package Label has a maximum of 200 characters").label("DSR Package Label"),data_categories:x.IX(x.Z_()).label("Data Categories")}))}),children:e=>(0,n.jsx)(h.l0,{style:{marginTop:0},noValidate:!0,children:(0,n.jsx)(l.gCW,{align:"stretch",children:(0,n.jsx)(h.F2,{name:"fields",render:i=>{let{fields:r}=e.values;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.Ugi,{color:"gray.900",flex:"1",fontSize:"14px",fontWeight:"semibold",lineHeight:"20px",mb:"6px",spacing:"24px",children:[(0,n.jsx)(l.xuv,{w:"416px",children:"PII Field"}),(0,n.jsx)(l.xuv,{w:"416px",children:"DSR Package Label"}),(0,n.jsx)(l.xuv,{w:"416px",children:"Data Categories"}),(0,n.jsx)(l.xuv,{visibility:"hidden",children:(0,n.jsx)(l.lr0,{})})]}),(0,n.jsx)(l.xuv,{children:r&&r.length>0?r.map((e,t)=>(0,n.jsxs)(l.Ugi,{mt:t>0?"12px":void 0,spacing:"24px",align:"flex-start",children:[(0,n.jsx)(l.xuv,{minH:"57px",w:"416px",children:(0,n.jsx)(g.Z,{autoFocus:0===t,isRequired:!0,name:"fields.".concat(t,".pii_field")})}),(0,n.jsx)(l.xuv,{minH:"57px",w:"416px",children:(0,n.jsx)(g.Z,{isRequired:!0,name:"fields.".concat(t,".dsr_package_label")})}),(0,n.jsx)(l.xuv,{minH:"57px",w:"416px",children:(0,n.jsx)(m.d,{name:"fields.".concat(t,".data_categories"),options:d.map(e=>({value:e.fides_key,label:e.fides_key})),isRequired:!0,mode:"multiple"})}),(0,n.jsx)(l.xuv,{h:"57px",visibility:t>0?"visible":"hidden",children:(0,n.jsx)(l.lr0,{onClick:()=>i.remove(t),_hover:{cursor:"pointer"}})})]},t)):null}),(0,n.jsx)(l.xvT,{color:"complimentary.500",fontWeight:"medium",fontSize:"sm",mb:"24px !important",mt:"24px !important",onClick:()=>{i.push({pii_field:"",dsr_package_label:"",data_categories:[]})},_hover:{cursor:"pointer"},children:"Add new PII field"}),(0,n.jsx)(v.h,{isSubmitting:t,onCancelClick:b})]})}})})})})},y=()=>{let e=(0,d.useRef)(!1),i=(0,o.useRouter)(),{successAlert:t}=(0,r.VY)(),{handleError:h}=(0,r.HK)(),[x,m]=(0,d.useState)(!1),[p,f]=(0,d.useState)([]),{connection:g}=(0,c.C)(s.ZZ),{data:v,isFetching:y,isLoading:b,isSuccess:C}=(0,a.QV)(g.key),[k]=(0,a.jF)(),[_]=(0,a._d)(),S=async(e,n)=>{try{m(!0);let n={connection_key:null==g?void 0:g.key,body:{...e}};p.length>0?await _(n).unwrap():await k(n).unwrap(),t("DSR customization ".concat(p.length>0?"updated":"added","!")),i.push(u.JR)}catch(e){h(e)}finally{m(!1)}};return(0,d.useEffect)(()=>(e.current=!0,C&&v&&f(v.fields),()=>{e.current=!1}),[v,C]),(0,n.jsxs)(l.gCW,{align:"stretch",gap:"16px",children:[(0,n.jsx)(l.xuv,{color:"gray.700",fontSize:"14px",w:"572px",children:"Customize your PII fields to create a friendly label name for your privacy request packages. This “Package Label” is the label your user will see in their downloaded package."}),(y||b)&&(0,n.jsx)(l.M5Y,{children:(0,n.jsx)(l.$jN,{})}),e.current&&!b?(0,n.jsx)(j,{data:p,isSubmitting:x,onSaveClick:S}):null]})}},33335:function(e,i,t){t.d(i,{E:function(){return n}});let n=e=>e.toLowerCase().replace(/[ .]/g,"_").replace(/[^a-zA-Z0-9_<>-]/g,"")}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4608],{77213:function(e,i,t){t.d(i,{Z:function(){return h}});var n=t(24246),r=t(96306),s=t(88038),a=t.n(s),l=t(86677);t(27378);var o=t(25980),d=t(90867),c=t(77830),u=()=>{let e=(0,l.useRouter)();return(0,n.jsx)(r.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,n.jsxs)(r.xuv,{children:[(0,n.jsxs)(r.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,n.jsx)(r.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,n.jsx)(r.wpx,{onClick:()=>{e.push(c.fz)},children:"Configure"})]}),(0,n.jsxs)(r.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},h=e=>{let{children:i,title:t,padded:s=!0,mainProps:c}=e,h=(0,o.hz)(),x=(0,l.useRouter)(),m="/privacy-requests"===x.pathname||"/datastore-connection"===x.pathname,p=!(h.flags.privacyRequestsConfiguration&&m),{data:f}=(0,d.JE)(void 0,{skip:p}),{data:g}=(0,d.PW)(void 0,{skip:p}),v=h.flags.privacyRequestsConfiguration&&(!f||!g)&&m;return(0,n.jsxs)(r.kCb,{"data-testid":t,direction:"column",h:"100vh",children:[(0,n.jsxs)(a(),{children:[(0,n.jsxs)("title",{children:["Fides Admin UI - ",t]}),(0,n.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,n.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,n.jsxs)(r.kCb,{as:"main",direction:"column",py:s?6:0,px:s?10:0,h:s?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...c,children:[v?(0,n.jsx)(u,{}):null,i]})]})}},97181:function(e,i,t){t.d(i,{d:function(){return d}});var n=t(24246),r=t(96306),s=t(34090),a=t(27378),l=t(46238),o=t(40324);let d=e=>{let{name:i,label:t,labelProps:d,tooltip:c,isRequired:u,layout:h="inline",helperText:x,...m}=e,[p,f,{setValue:g}]=(0,s.U$)(i),v=!!(f.touched&&f.error),[j,y]=(0,a.useState)("");p.value||"tags"!==m.mode&&"multiple"!==m.mode||(p.value=[]),"tags"===m.mode&&"string"==typeof p.value&&(p.value=[p.value]);let b="tags"===m.mode?(e,i)=>e?e.value!==j||p.value.includes(j)?m.optionRender?m.optionRender(e,i):e.label:'Create "'.concat(j,'"'):void 0:m.optionRender||void 0,C=e=>{y(e),m.onSearch&&m.onSearch(e)},k=(e,i)=>{g(e),m.onChange&&m.onChange(e,i)};return"inline"===h?(0,n.jsx)(r.NIc,{isInvalid:v,isRequired:u,children:(0,n.jsxs)(r.rjZ,{templateColumns:t?"1fr 3fr":"1fr",children:[t?(0,n.jsx)(o.__,{htmlFor:m.id||i,...d,children:t}):null,(0,n.jsxs)(r.jqI,{align:"center",children:[(0,n.jsxs)(r.jqI,{vertical:!0,flex:1,className:"mr-2",children:[(0,n.jsx)(r.WPr,{...p,id:m.id||i,"data-testid":"controlled-select-".concat(p.name),...m,optionRender:b,onSearch:"tags"===m.mode?C:void 0,onChange:k,value:p.value||void 0,status:v?"error":void 0}),x&&(0,n.jsx)(r.Q6r,{children:x}),(0,n.jsx)(o.Bc,{isInvalid:v,message:f.error,fieldName:p.name})]}),(0,n.jsx)(l.b,{label:c,className:v?"mt-2 self-start":void 0})]})]})}):(0,n.jsx)(r.NIc,{isInvalid:v,isRequired:u,children:(0,n.jsxs)(r.gCW,{alignItems:"start",children:[(0,n.jsxs)(r.jqI,{align:"center",children:[t?(0,n.jsx)(o.__,{htmlFor:m.id||i,fontSize:"xs",my:0,mr:1,...d,children:t}):null,(0,n.jsx)(l.b,{label:c})]}),(0,n.jsx)(r.WPr,{...p,id:m.id||i,"data-testid":"controlled-select-".concat(p.name),...m,optionRender:b,onSearch:"tags"===m.mode?C:void 0,onChange:k,value:p.value||void 0,status:v?"error":void 0}),x&&(0,n.jsx)(r.Q6r,{style:{marginTop:0},children:x}),(0,n.jsx)(o.Bc,{isInvalid:v,message:f.error,fieldName:p.name})]})})}},46782:function(e,i,t){t.d(i,{j:function(){return s},l:function(){return a}});var n=t(30454),r=t.n(n);let s="#/definitions/FidesDatasetReference",a=e=>{let i=(e,i,t)=>{let n;return(void 0===i||""===i||void 0===i)&&(n="".concat(e," is required")),t===s&&((null==i?void 0:i.includes("."))?i.split(".").length<3&&(n="Dataset reference must include at least three parts"):n="Dataset reference must be dot delimited"),n},t=i=>{var t,n;return null!==(n=null==e?void 0:null===(t=e.required)||void 0===t?void 0:t.includes(i))&&void 0!==n&&n};return{validateField:i,isRequiredField:t,getFieldValidation:(e,n)=>{if(t(e))return e=>{var t;return i(n.title,e,null===(t=n.allOf)||void 0===t?void 0:t[0].$ref)}},preprocessValues:i=>{let t=r()(i);return e&&Object.keys(e.properties).forEach(i=>{var n,r;if((null===(n=e.properties[i].allOf)||void 0===n?void 0:n[0].$ref)===s){let e=null===(r=t.secrets[i])||void 0===r?void 0:r.split(".");e&&(t.secrets[i]={dataset:e.shift(),field:e.join("."),direction:"from"})}"WebsiteSchema"!==e.title||"URL"!==e.properties[i].title||t.secrets[i].startsWith("http://")||t.secrets[i].startsWith("https://")||(t.secrets[i]="https://".concat(t.secrets[i]))}),t}}}},39715:function(e,i,t){var n=t(24246),r=t(96306);t(27378),i.Z=e=>{let{isEmptyState:i,yamlError:t}=e;return(0,n.jsx)(r.Rg9,{in:!0,children:(0,n.jsxs)(r.xuv,{w:"fit-content",bg:"white",p:3,borderRadius:3,children:[(0,n.jsxs)(r.Ugi,{children:[(0,n.jsx)(r.X6q,{as:"h5",color:"gray.700",size:"xs",children:"YAML"}),(0,n.jsx)(r.Vp9,{colorScheme:"red",size:"sm",variant:"solid",children:"Error"})]}),(0,n.jsx)(r.xuv,{bg:"red.50",border:"1px solid",borderColor:"red.300",color:"red.300",mt:"16px",borderRadius:"6px",children:(0,n.jsxs)(r.Ugi,{alignItems:"flex-start",margin:["14px","17px","14px","17px"],children:[(0,n.jsx)(r.f9v,{}),i&&(0,n.jsxs)(r.xuv,{children:[(0,n.jsx)(r.X6q,{as:"h5",color:"red.500",fontWeight:"semibold",size:"xs",children:"Error message:"}),(0,n.jsx)(r.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:"Yaml system is required"})]}),t&&(0,n.jsxs)(r.xuv,{children:[(0,n.jsx)(r.X6q,{as:"h5",color:"red.500",fontWeight:"semibold",size:"xs",children:"Error message:"}),(0,n.jsx)(r.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:t.message}),(0,n.jsx)(r.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:t.reason}),(0,n.jsxs)(r.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:["Ln ",(0,n.jsx)("b",{children:t.mark.line}),", Col"," ",(0,n.jsx)("b",{children:t.mark.column}),", Pos"," ",(0,n.jsx)("b",{children:t.mark.position})]})]})]})})]})})}},41207:function(e,i,t){t.d(i,{F:function(){return a},M:function(){return s}});var n=t(76649),r=t(65218);let s=t.n(r)()(()=>t.e(7088).then(t.bind(t,57088)).then(e=>e.default),{loadableGenerated:{webpack:()=>[57088]},ssr:!1}),a=e=>(0,n.Ln)({name:"string"},e)&&"YAMLException"===e.name},41337:function(e,i,t){var n=t(24246),r=t(96306);t(27378);var s=t(88337),a=t(16394),l=t(14746);let o=l.Ny+l.iW.get(s.R.WEBSITE),d=e=>void 0!==e.connection_type,c=e=>void 0!==e.encoded_icon,u=e=>(null==e?void 0:e.connection_type)===s.R.WEBSITE,h=e=>(null==e?void 0:e.connection_type)===s.R.SAAS;i.Z=e=>{let{data:i,...t}=e;return(0,n.jsx)(r.Eep,{boxSize:"32px",objectFit:"cover",src:(()=>{var e,t;let n;if(c(i)&&i.encoded_icon)return"data:image/svg+xml;base64,".concat(i.encoded_icon);if(u(i)){let t=null===(e=i.secrets)||void 0===e?void 0:e.url;if(!t)return o;let n=(0,a.ge)(t);return(0,a.tl)(n,100)}if(d(i)){if(h(i)&&(null===(t=i.saas_config)||void 0===t?void 0:t.type)){let e=i.saas_config.type,t=l.LN.get(e);return t?l.Ny+t:l.Ny+l.iW.get(s.R.SAAS)}n=[...l.iW].find(e=>{let[t]=e;return i.connection_type.toString()===t.toString()})}else if(c(i)){let{identifier:e}=i;n=[...l.iW].find(i=>{let[t]=i;return t.toLowerCase()===e.toLowerCase()})}return n?l.Ny+n[1]:l.VD})(),fallbackSrc:u(i)?o:l.VD,alt:(()=>{if(d(i)){var e;return null!==(e=i.name)&&void 0!==e?e:i.key}return c(i)?i.human_readable:i})(),...t})}},1226:function(e,i,t){var n=t(24246);t(27378);var r=t(77213);i.Z=e=>{let{children:i}=e;return(0,n.jsx)(r.Z,{title:"Connections",children:i})}},11274:function(e,i,t){t.d(i,{s:function(){return E}});var n=t(24246),r=t(96356),s=t(96306),a=t(86677),l=t(27378),o=t(16134),d=t(77830),c=t(54682),u=t(41841),h=t(84306),x=t(14207),m=t(16125),p=t(33335),f=t(34090),g=t(46782),v=t(46238);let j=(e,i)=>{let t={...e};return Object.entries(i.properties).forEach(i=>{let[n,r]=i;if("integer"===r.type){let i=r.default?Number(r.default):e[n];t[n]=i||0}else{var s;let i=null!==(s=r.default)&&void 0!==s?s:e[n];t[n]=null!=i?i:null}}),t};var y=e=>{let{data:i,defaultValues:t,isSubmitting:a=!1,onSaveClick:d,onTestConnectionClick:h,testButtonLabel:m="Test integration"}=e,p=(0,l.useRef)(!1),{handleError:y}=(0,u.HK)(),{connection:b,connectionOption:C}=(0,o.C)(r.ZZ),[k,_]=(0,x.h2)(),S=e=>{let i;return(void 0===e||""===e)&&(i="Connection Identifier is required"),e&&(0,s.kEn)(e)&&(i="Connection Identifier must be an alphanumeric value"),i},w=(e,i,t)=>{let n;return(void 0===i||""===i)&&(n="".concat(e," is required")),t===g.j&&(i.includes(".")?i.split(".").length<3&&(n="Dataset reference must include at least three parts"):n="Dataset reference must be dot delimited"),n},I=(e,i)=>(0,n.jsx)(s.lXp,{color:"gray.900",fontSize:"14px",fontWeight:"semibold",htmlFor:e,minWidth:"150px",children:i}),R=e=>{var i;if((null===(i=e.allOf)||void 0===i?void 0:i[0].$ref)===g.j)return"Enter dataset.collection.field"},z=(e,t)=>{var r;return(0,n.jsx)(f.gN,{id:e,name:e,validate:(null!==(r=i.required)&&void 0!==r&&!!r.includes(e)||"integer"===t.type)&&(e=>{var i;return w(t.title,e,null===(i=t.allOf)||void 0===i?void 0:i[0].$ref)}),children:r=>{var a;let{field:l,form:o}=r;return(0,n.jsxs)(s.NIc,{display:"flex",isRequired:null===(a=i.required)||void 0===a?void 0:a.includes(e),isInvalid:o.errors[e]&&o.touched[e],children:[I(e,t.title),(0,n.jsxs)(s.gCW,{align:"flex-start",w:"inherit",children:["integer"!==t.type&&(0,n.jsx)(s.IIB,{...l,value:l.value||"",placeholder:R(t),autoComplete:"off",color:"gray.700",size:"sm"}),"integer"===t.type&&(0,n.jsxs)(s.Y2U,{allowMouseWheel:!0,color:"gray.700",defaultValue:0,min:0,size:"sm",children:[(0,n.jsx)(s.zuI,{...l,autoComplete:"off"}),(0,n.jsxs)(s.FiK,{children:[(0,n.jsx)(s.WQu,{}),(0,n.jsx)(s.Y_d,{})]})]}),(0,n.jsx)(s.J1D,{children:o.errors[e]})]}),(0,n.jsx)(s.kCb,{alignItems:"center",h:8,ml:2,children:(0,n.jsx)(v.b,{label:t.description})})]})}},e)},W=async()=>{try{await k(b.key).unwrap()}catch(e){y(e)}};return(0,l.useEffect)(()=>(p.current=!0,_.isSuccess&&h(_),()=>{p.current=!1}),[h,_]),(0,n.jsx)(f.J9,{enableReinitialize:!0,initialValues:(()=>{let e={...t};if(null==b?void 0:b.key){var n,r;e.name=null!==(r=b.name)&&void 0!==r?r:"",e.description=b.description,e.instance_key=b.connection_type===c.Rj.SAAS?null===(n=b.saas_config)||void 0===n?void 0:n.fides_key:b.key}return j(e,i)})(),onSubmit:(e,t)=>{let n={...e};Object.keys(i.properties).forEach(t=>{var r;if((null===(r=i.properties[t].allOf)||void 0===r?void 0:r[0].$ref)===g.j){let i=e[t].split(".");n[t]={dataset:i.shift(),field:i.join("."),direction:"from"}}}),d(n,t)},validateOnBlur:!1,validateOnChange:!1,children:e=>(0,n.jsx)(f.l0,{noValidate:!0,children:(0,n.jsxs)(s.gCW,{align:"stretch",gap:"16px",children:[(0,n.jsx)(f.gN,{id:"name",name:"name",validate:e=>w("Name",e),children:i=>{let{field:t}=i;return(0,n.jsxs)(s.NIc,{display:"flex",isRequired:!0,isInvalid:e.errors.name&&e.touched.name,children:[I("name","Name"),(0,n.jsxs)(s.gCW,{align:"flex-start",w:"inherit",mr:"6",children:[(0,n.jsx)(s.IIB,{...t,autoComplete:"off",autoFocus:!0,color:"gray.700",placeholder:"Enter a friendly name for your new ".concat(C.human_readable," connection"),size:"sm","data-testid":"input-name"}),(0,n.jsx)(s.J1D,{children:e.errors.name})]})]})}}),(0,n.jsx)(f.gN,{id:"description",name:"description",children:e=>{let{field:i}=e;return(0,n.jsxs)(s.NIc,{display:"flex",children:[I("description","Description"),(0,n.jsx)(s.gxH,{...i,color:"gray.700",placeholder:"Enter a description for your new ".concat(C.human_readable," connection"),resize:"none",size:"sm",value:i.value||"",mr:"6"})]})}}),(0,n.jsx)(f.gN,{id:"instance_key",name:"instance_key",validate:S,children:i=>{let{field:t}=i;return(0,n.jsxs)(s.NIc,{display:"flex",isRequired:!0,isInvalid:e.errors.instance_key&&e.touched.instance_key,children:[I("instance_key","Connection Identifier"),(0,n.jsxs)(s.gCW,{align:"flex-start",w:"inherit",children:[(0,n.jsx)(s.IIB,{...t,autoComplete:"off",color:"gray.700",isDisabled:!!(null==b?void 0:b.key),placeholder:"A unique identifier for your new ".concat(C.human_readable," connection"),size:"sm"}),(0,n.jsx)(s.J1D,{children:e.errors.instance_key})]}),(0,n.jsx)(s.kCb,{alignItems:"center",h:8,ml:2,children:(0,n.jsx)(v.b,{label:"The fides_key will allow fidesops to associate dataset field references appropriately. Must be a unique alphanumeric value with no spaces (underscores allowed) to represent this connection."})})]})}}),Object.entries(i.properties).map(e=>{let[i,t]=e;return"advanced_settings"===i?null:z(i,t)}),(0,n.jsxs)(s.kCb,{gap:2,children:[(0,n.jsx)(s.wpx,{disabled:!(null==b?void 0:b.key),loading:_.isLoading||_.isFetching,onClick:W,"data-testid":"test-connection-button",children:m}),(0,n.jsx)(s.wpx,{htmlType:"submit",type:"primary",disabled:a,loading:a,children:"Save"})]})]})})})};let b=e=>{let{onConnectionCreated:i,data:t}=e,s=(0,m.I0)(),{errorAlert:a,successAlert:d}=(0,h.V)(),{handleError:f}=(0,u.HK)(),[g,v]=(0,l.useState)(!1),{connection:j,connectionOption:y}=(0,o.C)(r.ZZ),[b]=(0,x.pH)(),[C]=(0,x.Du)();return{isSubmitting:g,handleSubmit:async e=>{try{var l;v(!0);let o={access:c.uv.WRITE,connection_type:null==y?void 0:y.identifier,description:e.description,disabled:!1,key:(0,p.E)(e.instance_key),name:e.name},u=await b(o).unwrap();if((null===(l=u.failed)||void 0===l?void 0:l.length)>0)a(u.failed[0].message);else{let l={connection_key:u.succeeded[0].key,secrets:{}};Object.entries(t.properties).forEach(i=>{l.secrets[i[0]]=e[i[0]]});let o=await C(l).unwrap();"failed"===o.test_status?a((0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("b",{children:"Message:"})," ",o.msg,(0,n.jsx)("br",{}),(0,n.jsx)("b",{children:"Failure Reason:"})," ",o.failure_reason]})):(s((0,r.lm)(u.succeeded[0])),d("Connector successfully ".concat((null==j?void 0:j.key)?"updated":"added","!")),(null==j?void 0:j.key)||!i||i())}}catch(e){f(e)}finally{v(!1)}},connectionOption:y}},C=e=>{let{data:i,onConnectionCreated:t,onTestConnectionClick:r}=e,{isSubmitting:a,handleSubmit:l,connectionOption:o}=b({onConnectionCreated:t,data:i});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.xuv,{color:"gray.700",fontSize:"14px",h:"80px",children:["Connect to your ",o.human_readable," environment by providing the information below. Once you have saved the form, you may test the integration to confirm that it's working correctly."]}),(0,n.jsx)(y,{data:i,defaultValues:{description:"",instance_key:"",name:""},isSubmitting:a,onSaveClick:l,onTestConnectionClick:r})]})},k={description:"",instance_key:"",name:""},_=e=>{let{data:i,onConnectionCreated:t,onTestEmail:r}=e,{connectionOption:a,isSubmitting:l,handleSubmit:o}=b({onConnectionCreated:t,data:i});return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.xuv,{color:"gray.700",fontSize:"14px",h:"80px",children:["Configure your ",a.human_readable," connector by providing the connector name, description and a test email address. Once you have saved the details, you can click test email to check the format of the email."]}),(0,n.jsx)(y,{data:i,defaultValues:k,isSubmitting:l,onSaveClick:e=>{o(e)},onTestConnectionClick:r,testButtonLabel:"Test email"})]})};var S=t(55484),w=t(27259),I=t(67762),R=e=>{let{defaultValues:i,isSubmitting:t=!1,onSaveClick:l}=e,c=(0,a.useRouter)(),{connection:u,connectionOption:h}=(0,o.C)(r.ZZ);return(0,n.jsx)(f.J9,{initialValues:(()=>{if(null==u?void 0:u.key){var e;i.name=null!==(e=u.name)&&void 0!==e?e:"",i.description=u.description}return i})(),onSubmit:(e,i)=>{l(e,i)},validateOnBlur:!1,validateOnChange:!1,validationSchema:S.Ry().shape({name:S.Z_().required("Name is required")}),children:(0,n.jsx)(f.l0,{noValidate:!0,children:(0,n.jsxs)(s.gCW,{align:"stretch",gap:"16px",children:[(0,n.jsx)(w.Z,{autoFocus:!0,disabled:!!(null==u?void 0:u.key),isRequired:!0,label:"Name",name:"name",placeholder:"Enter a friendly name for your new ".concat(h.human_readable," connection")}),(0,n.jsx)(w.Z,{label:"Description",name:"description",placeholder:"Enter a description for your new ".concat(h.human_readable," connection"),type:"textarea"}),(0,n.jsx)(I.h,{isSubmitting:t,onCancelClick:()=>{c.push(d.JR)}})]})})})};let z=e=>{let{onConnectionCreated:i}=e,t=(0,m.I0)(),{errorAlert:a,successAlert:d}=(0,h.V)(),{handleError:p}=(0,u.HK)(),[f,g]=(0,l.useState)(!1),{connection:v,connectionOption:j}=(0,o.C)(r.ZZ),[y]=(0,x.pH)(),b=async(e,n)=>{try{var s;g(!0);let n={access:c.uv.WRITE,connection_type:null==j?void 0:j.identifier,description:e.description,disabled:!1,name:e.name,key:null==v?void 0:v.key},l=await y(n).unwrap();(null===(s=l.failed)||void 0===s?void 0:s.length)>0?a(l.failed[0].message):(t((0,r.lm)(l.succeeded[0])),d("Connector successfully ".concat((null==v?void 0:v.key)?"updated":"added","!")),(null==v?void 0:v.key)||!i||i())}catch(e){p(e)}finally{g(!1)}};return(0,n.jsxs)(s.gCW,{align:"stretch",gap:"16px",children:[(0,n.jsxs)(s.xuv,{color:"gray.700",fontSize:"14px",children:["To begin setting up your new ",j.human_readable," ","connector you must first assign a name to the connector and a description.",(0,n.jsx)("br",{}),(0,n.jsx)("br",{}),"Once you have completed this section you can then progress onto"," ",(0,n.jsx)(s.xvT,{display:"inline-block",fontWeight:"700",children:"DSR customization"})," ","using the menu on the left hand side."]}),(0,n.jsx)(R,{defaultValues:{description:"",name:""},isSubmitting:f,onSaveClick:b})]})},W=e=>{let{data:i,onConnectionCreated:t,onTestConnectionClick:a}=e,d=(0,m.I0)(),{errorAlert:f,successAlert:g}=(0,h.V)(),{handleError:v}=(0,u.HK)(),[j,b]=(0,l.useState)(!1),{connection:C,connectionOption:k}=(0,o.C)(r.ZZ),[_]=(0,x.pL)(),[S]=(0,x.pH)(),[w]=(0,x.Du)(),I=async(e,s)=>{try{if(b(!0),C){var a;let t={access:c.uv.WRITE,connection_type:C.connection_type,description:e.description,disabled:!1,key:C.key,name:e.name},s=await S(t).unwrap();if((null===(a=s.failed)||void 0===a?void 0:a.length)>0)f(s.failed[0].message);else{d((0,r.lm)(s.succeeded[0]));let t={connection_key:C.key,secrets:{}};Object.entries(i.properties).forEach(i=>{t.secrets[i[0]]=e[i[0]]});let a=await w(t).unwrap();"failed"===a.test_status?f((0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("b",{children:"Message:"})," ",a.msg,(0,n.jsx)("br",{}),(0,n.jsx)("b",{children:"Failure Reason:"})," ",a.failure_reason]})):g("Connector successfully updated!")}}else{let n={description:e.description,name:e.name,instance_key:(0,p.E)(e.instance_key),saas_connector_type:k.identifier,secrets:{}};Object.entries(i.properties).forEach(i=>{n.secrets[i[0]]=e[i[0]]});let s=await _(n).unwrap();d((0,r.lm)(s.connection)),g("Connector successfully added!"),null==t||t()}}catch(e){v(e)}finally{b(!1)}};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.xuv,{color:"gray.700",fontSize:"14px",h:"80px",children:["Connect to your ",k.human_readable," environment by providing the information below. Once you have saved the form, you may test the integration to confirm that it's working correctly."]}),(0,n.jsx)(y,{data:i,defaultValues:{description:"",instance_key:"",name:""},isSubmitting:j,onSaveClick:I,onTestConnectionClick:a})]})};var Z=t(16394);let q=e=>{var i,t;let{response:a}=e,{connectionOption:l}=(0,o.C)(r.ZZ);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(s.izJ,{color:"gray.100"}),(0,n.jsxs)(s.gCW,{align:"flex-start",mt:"16px",children:[(null===(i=a.data)||void 0===i?void 0:i.test_status)==="succeeded"&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.Ugi,{children:[(0,n.jsxs)(s.X6q,{as:"h5",color:"gray.700",size:"xs",children:["Successfully connected to ",l.human_readable]}),(0,n.jsx)(s.Vp9,{colorScheme:"green",size:"sm",variant:"solid",children:"Success"})]}),(0,n.jsx)(s.xvT,{color:"gray.500",fontSize:"sm",mt:"12px !important",children:(0,Z.p6)(a.fulfilledTimeStamp)}),(0,n.jsx)(s.xuv,{bg:"green.100",border:"1px solid",borderColor:"green.300",color:"green.700",mt:"16px",borderRadius:"6px",children:(0,n.jsxs)(s.Ugi,{alignItems:"flex-start",margin:["14px","17px","14px","17px"],children:[(0,n.jsx)(s.StI,{}),(0,n.jsxs)(s.xuv,{children:[(0,n.jsx)(s.X6q,{as:"h5",color:"green.500",fontWeight:"semibold",size:"xs",children:"Success message:"}),(0,n.jsx)(s.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:a.data.msg})]})]})})]}),(null===(t=a.data)||void 0===t?void 0:t.test_status)==="failed"&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(s.Ugi,{children:[(0,n.jsxs)(s.X6q,{as:"h5",color:"gray.700",size:"xs",children:["Output error to ",l.human_readable]}),(0,n.jsx)(s.Vp9,{colorScheme:"red",size:"sm",variant:"solid",children:"Error"})]}),(0,n.jsx)(s.xvT,{color:"gray.500",fontSize:"sm",mt:"12px !important",children:(0,Z.p6)(a.fulfilledTimeStamp)}),(0,n.jsx)(s.xuv,{bg:"red.50",border:"1px solid",borderColor:"red.300",color:"red.300",mt:"16px",borderRadius:"6px",children:(0,n.jsxs)(s.Ugi,{alignItems:"flex-start",margin:["14px","17px","14px","17px"],children:[(0,n.jsx)(s.f9v,{}),(0,n.jsxs)(s.xuv,{children:[(0,n.jsx)(s.X6q,{as:"h5",color:"red.500",fontWeight:"semibold",size:"xs",children:"Error message:"}),(0,n.jsx)(s.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:a.data.failure_reason}),(0,n.jsx)(s.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"400",children:a.data.msg})]})]})})]})]})]})},E=e=>{let{onConnectionCreated:i}=e,t=(0,a.useRouter)(),{connectionOption:u}=(0,o.C)(r.ZZ),h=u&&u.type===c.Zi.MANUAL,{data:x,isFetching:m,isLoading:p,isSuccess:f}=(0,r.n3)(u.identifier,{skip:h}),[g,v]=(0,l.useState)(),j=e=>{v(e)},y=(0,l.useCallback)(()=>{t.push(d.JR)},[t]),b=(0,l.useCallback)(()=>{switch(null==u?void 0:u.type){case c.Zi.DATABASE:if(f&&x)return(0,n.jsx)(C,{data:x,onConnectionCreated:i,onTestConnectionClick:j});break;case c.Zi.MANUAL:return(0,n.jsx)(z,{onConnectionCreated:i});case c.Zi.SAAS:if(f&&x)return(0,n.jsx)(W,{data:x,onConnectionCreated:i,onTestConnectionClick:j});break;case c.Zi.EMAIL:if(f&&x)return(0,n.jsx)(_,{data:x,onConnectionCreated:y,onTestEmail:j})}},[null==u?void 0:u.type,x,f,i,y]);return(0,n.jsxs)(s.kCb,{gap:"97px",children:[(0,n.jsxs)(s.gCW,{w:"579px",gap:"16px",align:"stretch",children:[(m||p)&&(0,n.jsx)(s.M5Y,{children:(0,n.jsx)(s.$jN,{})}),b()]}),g&&(0,n.jsxs)(s.Rg9,{in:!0,children:[" ",(0,n.jsx)(s.xuv,{mt:"16px",maxW:"528px",w:"fit-content",children:(0,n.jsx)(q,{response:g})})]})]})}},38212:function(e,i,t){t.d(i,{Z:function(){return y}});var n=t(24246),r=t(41841),s=t(96356),a=t(14207),l=t(96306),o=t(86677),d=t(27378),c=t(16134),u=t(812),h=t(77830),x=t(41966),m=t(84306),p=t(66527),f=t(41207),g=t(39715),v=e=>{let{data:i=[],isSubmitting:t=!1,onSubmit:r,onCancel:s,disabled:a}=e,o=(0,d.useRef)(null),{errorAlert:c}=(0,m.V)(),u=i.length>0?p.ZP.dump(i):void 0,[h,v]=(0,d.useState)(void 0),[j,y]=(0,d.useState)(!1),[b,C]=(0,d.useState)(!u),k=(0,l.qY0)(),{data:_}=(0,x.LH)({minimal:!0}),[S,w]=(0,d.useState)([]),I=e=>{p.ZP.load(e,{json:!0}),v(void 0)},R=()=>{let e=o.current.getValue();r(p.ZP.load(e,{json:!0})),w([])};return(0,n.jsxs)(l.kCb,{gap:"97px",children:[(0,n.jsxs)(l.gCW,{align:"stretch",w:"800px",children:[(0,n.jsx)(f.M,{defaultLanguage:"yaml",defaultValue:u,height:"calc(100vh - 526px)",onChange:e=>{try{y(!0),I(e),C(!!(!e||""===e.trim()))}catch(e){(0,f.F)(e)?v(e):c("Could not parse the supplied YAML")}},onMount:(e,i)=>{o.current=e,o.current.focus()},options:{fontFamily:"Menlo",fontSize:13,minimap:{enabled:!0},readOnly:a},theme:"light"}),(0,n.jsxs)(l.Ugi,{justifyContent:"flex-end",pr:6,children:[s&&(0,n.jsx)(l.wpx,{onClick:s,children:"Cancel"}),(0,n.jsx)(l.wpx,{type:"primary",disabled:a||b||!!h||t,loading:t,onClick:()=>{if(_&&_.length){let e=o.current.getValue(),i=_.filter(i=>e.includes("fides_key: ".concat(i.fides_key,"\n"))).map(e=>e.fides_key);if(w(i),i.length){k.onOpen();return}}R()},htmlType:"submit","data-testid":"save-yaml-btn",children:"Save"})]})]}),j&&(b||h)&&(0,n.jsx)(g.Z,{isEmptyState:b,yamlError:h}),(0,n.jsx)(l.cVQ,{isOpen:k.isOpen,onClose:k.onClose,onConfirm:()=>{R(),k.onClose()},title:"Overwrite dataset",message:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.xvT,{children:["You are about to overwrite the dataset",S.length>1?"s":""," ",S.map((e,i)=>{let t=i===S.length-1;return(0,n.jsxs)(d.Fragment,{children:[(0,n.jsx)(l.xvT,{color:"complimentary.500",as:"span",fontWeight:"bold",children:e}),t?".":", "]},e)})]}),(0,n.jsx)(l.xvT,{children:"Are you sure you would like to continue?"})]})})]})};let j=e=>{let{children:i,...t}=e;return(0,n.jsx)(l.xvT,{color:"gray.700",fontSize:"14px",...t,children:i})};var y=()=>{let e=(0,o.useRouter)(),{errorAlert:i,successAlert:t}=(0,r.VY)(),{handleError:m}=(0,r.HK)(),[p,f]=(0,d.useState)(!1),{connection:g}=(0,c.C)(s.ZZ),{data:y,isFetching:b,isLoading:C,isSuccess:k}=(0,a.Eg)(g.key),[_]=(0,a.Lz)(),[S]=(0,x.EG)(),{data:w,isLoading:I,error:R}=(0,x.LH)({minimal:!0}),[z,W]=(0,d.useState)(void 0);(0,d.useEffect)(()=>{y&&y.items.length&&W(y.items[0].ctl_dataset.fides_key)},[y]);let Z=async n=>{var r;let s={connection_key:null==g?void 0:g.key,dataset_pairs:n},a=await _(s).unwrap();(null===(r=a.failed)||void 0===r?void 0:r.length)>0?i(a.failed[0].message):t("Dataset successfully updated!"),e.push(h.JR)},q=async()=>{if(z)try{let e=z;y&&y.items.length&&(e=y.items[0].fides_key);let i=[{fides_key:e,ctl_dataset_fides_key:z}];Z(i)}catch(e){m(e)}},E=async e=>{try{f(!0);let t=Array.isArray(e)?e:[e],n=await S(t);if((0,u.D4)(n)){let e=(0,u.e$)(n.error);i(e);return}let r=t.map(e=>({fides_key:e.fides_key,ctl_dataset_fides_key:e.fides_key}));if(y&&y.items.length){let{items:e}=y;r=e.map((e,i)=>({fides_key:e.fides_key,ctl_dataset_fides_key:t[i].fides_key}))}Z(r)}catch(e){m(e)}finally{f(!1)}},F=""!==z&&void 0!==z;if(b||C||I&&!R)return(0,n.jsx)(l.M5Y,{children:(0,n.jsx)(l.$jN,{})});let T=w&&w.length;return(0,n.jsxs)(l.gCW,{alignItems:"left",gap:4,children:[R&&(0,n.jsx)(j,{color:"red",children:"There was a problem loading existing datasets, please try again."}),(0,n.jsxs)(l.gCW,{alignItems:"flex-start",children:[T&&(0,n.jsx)("div",{children:(0,n.jsx)(l.gCW,{alignSelf:"start",gap:4,children:(0,n.jsxs)(l.xuv,{"data-testid":"dataset-selector-section",children:[(0,n.jsx)(j,{mb:4,children:"Choose a dataset to associate with this connector."}),(0,n.jsxs)(l.Ugi,{children:[(0,n.jsx)(l.WPr,{allowClear:!0,options:w.map(e=>({label:e.fides_key,value:e.fides_key})),className:"w-full",placeholder:"Select",onChange:e=>W(e),value:z,"data-testid":"dataset-selector"}),(0,n.jsx)(l.wpx,{onClick:q,type:"primary",className:"self-start",disabled:!F,"data-testid":"save-dataset-link-btn",children:"Save"})]})]})})}),T&&k&&(null==y?void 0:y.items)&&(0,n.jsx)(l.htM,{plain:!0,children:"or"}),k&&(null==y?void 0:y.items)&&(0,n.jsxs)(l.xuv,{"data-testid":"yaml-editor-section",children:[(0,n.jsx)(j,{mb:4,children:"View your dataset YAML below!"}),(0,n.jsx)(v,{data:y.items.map(e=>e.ctl_dataset),isSubmitting:p,onSubmit:E,disabled:F})]})]})]})}},27259:function(e,i,t){var n=t(24246),r=t(96306),s=t(34090);i.Z=e=>{let{disabled:i=!1,isRequired:t=!1,label:a,placeholder:l,type:o="text",...d}=e,{id:c,autoFocus:u}=d,[h,x]=(0,s.U$)(d);return(0,n.jsxs)(r.NIc,{display:"flex",isRequired:t,isInvalid:!!(x.error&&x.touched),children:[a&&(0,n.jsx)(r.lXp,{color:"gray.900",fontSize:"14px",fontWeight:"semibold",htmlFor:c,minWidth:"150px",children:a}),(0,n.jsxs)(r.gCW,{align:"flex-start",w:"inherit",children:["number"===o&&(0,n.jsxs)(r.Y2U,{allowMouseWheel:!0,color:"gray.700",defaultValue:0,min:0,size:"sm",children:[(0,n.jsx)(r.zuI,{...h,autoComplete:"off",autoFocus:u}),(0,n.jsxs)(r.FiK,{children:[(0,n.jsx)(r.WQu,{}),(0,n.jsx)(r.Y_d,{})]})]}),"text"===o&&(0,n.jsx)(r.IIB,{...h,autoComplete:"off",autoFocus:u,color:"gray.700",isDisabled:i,placeholder:l,size:"sm"}),"textarea"===o&&(0,n.jsx)(r.gxH,{...h,autoComplete:"off",autoFocus:u,color:"gray.700",placeholder:l,resize:"none",size:"sm",value:h.value||""}),(0,n.jsx)(r.J1D,{children:x.error})]})]})}},67762:function(e,i,t){t.d(i,{h:function(){return s}});var n=t(24246),r=t(96306);t(27378);let s=e=>{let{isSubmitting:i=!1,onCancelClick:t}=e;return(0,n.jsxs)(r.hE2,{size:"sm",spacing:"8px",variant:"outline",children:[(0,n.jsx)(r.zxk,{onClick:t,variant:"outline",children:"Cancel"}),(0,n.jsx)(r.zxk,{bg:"primary.800",color:"white",isDisabled:i,isLoading:i,loadingText:"Submitting",size:"sm",variant:"solid",type:"submit",_active:{bg:"primary.500"},_disabled:{opacity:"inherit"},_hover:{bg:"primary.400"},children:"Save"})]})}},50881:function(e,i,t){t.d(i,{Z:function(){return y}});var n=t(24246),r=t(41841),s=t(96356),a=t(14207),l=t(96306),o=t(86677),d=t(27378),c=t(16134),u=t(77830),h=t(34090),x=t(55484),m=t(97181),p=t(57072),f=t(39864),g=t(27259),v=t(67762),j=e=>{let{data:i=[],isSubmitting:t=!1,onSaveClick:s}=e,{isLoading:a}=(0,p.MO)(),d=(0,c.C)(f.qb),j=(0,o.useRouter)(),{errorAlert:y}=(0,r.VY)(),b=()=>{j.push(u.JR)};return a?null:(0,n.jsx)(h.J9,{enableReinitialize:!0,initialValues:{fields:i.length>0?i:[{pii_field:"",dsr_package_label:"",data_categories:[]}]},onSubmit:(e,i)=>{if(new Set(e.fields.map(e=>e.pii_field)).size<e.fields.length){y("PII Field must be unique");return}s(e,i)},validateOnBlur:!1,validateOnChange:!1,validationSchema:x.Ry({fields:x.IX().of(x.Ry().shape({pii_field:x.Z_().required("PII Field is required").min(1,"PII Field must have at least one character").max(200,"PII Field has a maximum of 200 characters").label("PII Field"),dsr_package_label:x.Z_().required("DSR Package Label is required").min(1,"DSR Package Label must have at least one character").max(200,"DSR Package Label has a maximum of 200 characters").label("DSR Package Label"),data_categories:x.IX(x.Z_()).label("Data Categories")}))}),children:e=>(0,n.jsx)(h.l0,{style:{marginTop:0},noValidate:!0,children:(0,n.jsx)(l.gCW,{align:"stretch",children:(0,n.jsx)(h.F2,{name:"fields",render:i=>{let{fields:r}=e.values;return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(l.Ugi,{color:"gray.900",flex:"1",fontSize:"14px",fontWeight:"semibold",lineHeight:"20px",mb:"6px",spacing:"24px",children:[(0,n.jsx)(l.xuv,{w:"416px",children:"PII Field"}),(0,n.jsx)(l.xuv,{w:"416px",children:"DSR Package Label"}),(0,n.jsx)(l.xuv,{w:"416px",children:"Data Categories"}),(0,n.jsx)(l.xuv,{visibility:"hidden",children:(0,n.jsx)(l.lr0,{})})]}),(0,n.jsx)(l.xuv,{children:r&&r.length>0?r.map((e,t)=>(0,n.jsxs)(l.Ugi,{mt:t>0?"12px":void 0,spacing:"24px",align:"flex-start",children:[(0,n.jsx)(l.xuv,{minH:"57px",w:"416px",children:(0,n.jsx)(g.Z,{autoFocus:0===t,isRequired:!0,name:"fields.".concat(t,".pii_field")})}),(0,n.jsx)(l.xuv,{minH:"57px",w:"416px",children:(0,n.jsx)(g.Z,{isRequired:!0,name:"fields.".concat(t,".dsr_package_label")})}),(0,n.jsx)(l.xuv,{minH:"57px",w:"416px",children:(0,n.jsx)(m.d,{name:"fields.".concat(t,".data_categories"),options:d.map(e=>({value:e.fides_key,label:e.fides_key})),isRequired:!0,mode:"multiple"})}),(0,n.jsx)(l.xuv,{h:"57px",visibility:t>0?"visible":"hidden",children:(0,n.jsx)(l.lr0,{onClick:()=>i.remove(t),_hover:{cursor:"pointer"}})})]},t)):null}),(0,n.jsx)(l.xvT,{color:"complimentary.500",fontWeight:"medium",fontSize:"sm",mb:"24px !important",mt:"24px !important",onClick:()=>{i.push({pii_field:"",dsr_package_label:"",data_categories:[]})},_hover:{cursor:"pointer"},children:"Add new PII field"}),(0,n.jsx)(v.h,{isSubmitting:t,onCancelClick:b})]})}})})})})},y=()=>{let e=(0,d.useRef)(!1),i=(0,o.useRouter)(),{successAlert:t}=(0,r.VY)(),{handleError:h}=(0,r.HK)(),[x,m]=(0,d.useState)(!1),[p,f]=(0,d.useState)([]),{connection:g}=(0,c.C)(s.ZZ),{data:v,isFetching:y,isLoading:b,isSuccess:C}=(0,a.QV)(g.key),[k]=(0,a.jF)(),[_]=(0,a._d)(),S=async(e,n)=>{try{m(!0);let n={connection_key:null==g?void 0:g.key,body:{...e}};p.length>0?await _(n).unwrap():await k(n).unwrap(),t("DSR customization ".concat(p.length>0?"updated":"added","!")),i.push(u.JR)}catch(e){h(e)}finally{m(!1)}};return(0,d.useEffect)(()=>(e.current=!0,C&&v&&f(v.fields),()=>{e.current=!1}),[v,C]),(0,n.jsxs)(l.gCW,{align:"stretch",gap:"16px",children:[(0,n.jsx)(l.xuv,{color:"gray.700",fontSize:"14px",w:"572px",children:"Customize your PII fields to create a friendly label name for your privacy request packages. This “Package Label” is the label your user will see in their downloaded package."}),(y||b)&&(0,n.jsx)(l.M5Y,{children:(0,n.jsx)(l.$jN,{})}),e.current&&!b?(0,n.jsx)(j,{data:p,isSubmitting:x,onSaveClick:S}):null]})}},33335:function(e,i,t){t.d(i,{E:function(){return n}});let n=e=>e.toLowerCase().replace(/[ .]/g,"_").replace(/[^a-zA-Z0-9_<>-]/g,"")}}]);