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
@@ -0,0 +1,194 @@
1
+ from __future__ import annotations
2
+
3
+ from ipaddress import ip_address
4
+ from typing import Optional
5
+
6
+ from fastapi import Request
7
+ from fastapi.responses import JSONResponse
8
+ from loguru import logger
9
+ from slowapi import Limiter
10
+ from slowapi.util import get_remote_address # type: ignore
11
+ from starlette.middleware.base import BaseHTTPMiddleware
12
+
13
+ from fides.config import CONFIG
14
+
15
+
16
+ class InvalidClientIPError(Exception):
17
+ def __init__(self, detail: str, header_value: str, header_name: str):
18
+ self.detail = detail
19
+ self.header_value = header_value
20
+ self.header_name = header_name
21
+ super().__init__(detail)
22
+
23
+
24
+ def validate_client_ip(ip: Optional[str]) -> bool:
25
+ """
26
+ Returns true if the provided ip is valid and not from a reserved range.
27
+ Returns false otherwise.
28
+ """
29
+ if not ip:
30
+ return False
31
+ try:
32
+ ip_obj = ip_address(ip)
33
+ if (
34
+ ip_obj.is_loopback
35
+ or ip_obj.is_link_local
36
+ or ip_obj.is_reserved
37
+ or ip_obj.is_multicast
38
+ or ip_obj.is_private
39
+ ):
40
+ return False
41
+ return True
42
+ except ValueError:
43
+ return False
44
+
45
+
46
+ def _extract_hostname_from_ip(ip: str) -> Optional[str]:
47
+ """
48
+ Extract hostname/IP address from header value, stripping port if present.
49
+
50
+ Simple string-based approach following the reference implementation pattern.
51
+ Does not validate whether the result is a valid IP address.
52
+
53
+ Examples:
54
+ # IPv4 cases
55
+ _extract_hostname_from_ip("192.168.1.1") -> "192.168.1.1"
56
+ _extract_hostname_from_ip("192.168.1.1:8080") -> "192.168.1.1"
57
+
58
+ # IPv6 cases
59
+ _extract_hostname_from_ip("2001:db8::1") -> "2001:db8::1"
60
+ _extract_hostname_from_ip("[2001:db8::1]:8080") -> "2001:db8::1"
61
+
62
+ # Edge cases (alidation will later reject)
63
+ _extract_hostname_from_ip("192.168.1.1, 192.168.1.2") -> "192.168.1.1, 192.168.1.2"
64
+ _extract_hostname_from_ip("not-an-ip:8080") -> "not-an-ip"
65
+
66
+ # Error
67
+ _extract_hostname_from_ip("") -> raises ValueError
68
+
69
+ Raises:
70
+ ValueError: If no hostname can be extracted from the input
71
+ """
72
+
73
+ clean_ip = ip.strip()
74
+
75
+ if not clean_ip:
76
+ raise ValueError("Could not parse IP from header value")
77
+
78
+ # Handle IPv6 with port: [IPv6]:port
79
+ if "]:" in clean_ip:
80
+ return clean_ip.split("]:")[0].replace("[", "").strip()
81
+
82
+ # Handle IPv4 with port: IPv4:port
83
+ if ":" in clean_ip and "::" not in clean_ip:
84
+ return clean_ip.split(":")[0].strip()
85
+
86
+ # Return as-is (IPv6 without port, IPv4 without port, or other values)
87
+ return clean_ip
88
+
89
+
90
+ def _resolve_client_ip_from_header(request: Request, strict: bool) -> str:
91
+ """Shared resolver for client IP from the configured header.
92
+
93
+ - When strict=True: raise InvalidClientIPError on invalid/malformed header values.
94
+ - When strict=False: never raise; fall back to the connection source IP.
95
+ """
96
+ header_name = CONFIG.security.rate_limit_client_ip_header
97
+ if not header_name:
98
+ # This line should never be reached when rate limiting is enabled
99
+ logger.warning(
100
+ "Rate limit client IP header not configured. Falling back to source IP.",
101
+ header_name,
102
+ )
103
+ return get_remote_address(request)
104
+
105
+ ip_address_from_header = request.headers.get(header_name)
106
+ if not ip_address_from_header:
107
+ logger.debug(
108
+ "Rate limit header '{}' not found. Falling back to source IP.",
109
+ header_name,
110
+ )
111
+ return get_remote_address(request)
112
+
113
+ # Extract and validate IP
114
+ try:
115
+ extracted_ip = _extract_hostname_from_ip(ip_address_from_header)
116
+ if extracted_ip and validate_client_ip(extracted_ip):
117
+ return extracted_ip
118
+ raise ValueError("IP failed validation")
119
+ except ValueError:
120
+ if strict:
121
+ logger.error(
122
+ "Invalid IP '{}' in header '{}'. Rejecting request.",
123
+ ip_address_from_header,
124
+ header_name,
125
+ )
126
+ raise InvalidClientIPError(
127
+ detail="Invalid IP address format",
128
+ header_value=ip_address_from_header,
129
+ header_name=header_name,
130
+ )
131
+ # Non-strict path: fall back silently to source IP
132
+ return get_remote_address(request)
133
+
134
+
135
+ def get_client_ip_from_header(request: Request) -> str:
136
+ """
137
+ Extracts the client IP from the configured CDN header.
138
+
139
+ If the header is not configured or is missing, it falls back to the
140
+ source IP on the request.
141
+
142
+ Raises InvalidClientIPError if header contains invalid IP format.
143
+ """
144
+ return _resolve_client_ip_from_header(request, strict=True)
145
+
146
+
147
+ def safe_rate_limit_key(request: Request) -> str:
148
+ """
149
+ Safe key function for SlowAPI limiter.
150
+
151
+ Must never raise. If the configured header is missing or malformed,
152
+ fall back to the connection source IP for rate limiting purposes.
153
+ """
154
+ return _resolve_client_ip_from_header(request, strict=False)
155
+
156
+
157
+ class RateLimitIPValidationMiddleware(BaseHTTPMiddleware):
158
+ """
159
+ Pre-validate the configured client IP header when rate limiting is enabled.
160
+
161
+ If the header is present but invalid, short-circuit the request with 422.
162
+ This keeps SlowAPI's middleware path free of exceptions from the key function.
163
+ """
164
+
165
+ async def dispatch(self, request: Request, call_next): # type: ignore
166
+ if is_rate_limit_enabled:
167
+ try:
168
+ # Triggers parsing/validation; raises on invalid header
169
+ get_client_ip_from_header(request)
170
+ except InvalidClientIPError:
171
+ return JSONResponse(
172
+ status_code=422, content={"detail": "Invalid client IP header"}
173
+ )
174
+ return await call_next(request)
175
+
176
+
177
+ # Used for rate limiting with Slow API
178
+ # Decorate individual routes to deviate from the default rate limits
179
+ is_rate_limit_enabled = (
180
+ CONFIG.security.rate_limit_client_ip_header is not None
181
+ and CONFIG.security.rate_limit_client_ip_header != ""
182
+ )
183
+ fides_limiter = Limiter(
184
+ storage_uri=CONFIG.redis.connection_url_unencoded,
185
+ application_limits=[
186
+ CONFIG.security.request_rate_limit
187
+ ], # Creates ONE shared bucket for all endpoints
188
+ headers_enabled=True,
189
+ key_prefix=CONFIG.security.rate_limit_prefix,
190
+ key_func=safe_rate_limit_key,
191
+ retry_after="http-date",
192
+ in_memory_fallback_enabled=False, # Fall back to no rate limiting if Redis unavailable
193
+ enabled=is_rate_limit_enabled,
194
+ )
@@ -30,6 +30,7 @@ DATA_SUBJECT = "data_subject"
30
30
  DATA_USE = "data_use"
31
31
  DATASET = "dataset"
32
32
  DELETE = "delete"
33
+ PRIVACY_REQUEST_REDACTION_PATTERNS = "privacy-request-redaction-patterns"
33
34
  ENCRYPTION = "encryption"
34
35
  MESSAGING_TEMPLATE = "messaging-template"
35
36
  EVALUATION = "evaluation"
@@ -134,6 +135,11 @@ DATA_USE_UPDATE = f"{DATA_USE}:{UPDATE}"
134
135
  DATA_USE_DELETE = f"{DATA_USE}:{DELETE}"
135
136
 
136
137
  DATASET_CREATE_OR_UPDATE = f"{DATASET}:{CREATE_OR_UPDATE}"
138
+
139
+ PRIVACY_REQUEST_REDACTION_PATTERNS_READ = f"{PRIVACY_REQUEST_REDACTION_PATTERNS}:{READ}"
140
+ PRIVACY_REQUEST_REDACTION_PATTERNS_UPDATE = (
141
+ f"{PRIVACY_REQUEST_REDACTION_PATTERNS}:{UPDATE}"
142
+ )
137
143
  DATASET_DELETE = f"{DATASET}:{DELETE}"
138
144
  DATASET_READ = f"{DATASET}:{READ}"
139
145
  DATASET_TEST = f"{DATASET}:{TEST}"
@@ -288,6 +294,8 @@ SCOPE_DOCS = {
288
294
  DATA_USE_UPDATE: "Update data uses",
289
295
  DATASET_CREATE_OR_UPDATE: "Create or modify datasets",
290
296
  DATASET_DELETE: "Delete datasets",
297
+ PRIVACY_REQUEST_REDACTION_PATTERNS_READ: "View privacy request redaction patterns",
298
+ PRIVACY_REQUEST_REDACTION_PATTERNS_UPDATE: "Update privacy request redaction patterns",
291
299
  DATASET_READ: "View datasets",
292
300
  DATASET_TEST: "Run a standalone privacy request test for a dataset",
293
301
  ENCRYPTION_EXEC: "Encrypt data",
@@ -116,6 +116,9 @@ PRIVACY_REQUEST_TRANSFER_TO_PARENT = (
116
116
  "/privacy-request/transfer/{privacy_request_id}/{rule_key}"
117
117
  )
118
118
 
119
+ # Privacy Request Redaction Patterns URLs
120
+ PRIVACY_REQUEST_REDACTION_PATTERNS = "/privacy-request/redaction-patterns"
121
+
119
122
  # Privacy Request pre-approve URLs
120
123
  PRIVACY_REQUEST_PRE_APPROVE = "/privacy-request/{privacy_request_id}/pre-approve"
121
124
  PRIVACY_REQUEST_PRE_APPROVE_ELIGIBLE = PRIVACY_REQUEST_PRE_APPROVE + "/eligible"
@@ -181,8 +181,24 @@ class RedisSettings(FidesSettings):
181
181
  description="A full connection URL to the read-only Redis cache. If not specified, this URL is automatically assembled from the read_only_host, read_only_port, read_only_password and read_only_db_index specified above.",
182
182
  exclude=True,
183
183
  )
184
+ connection_url_unencoded: Optional[str] = Field(
185
+ default=None,
186
+ description="A full connection URL to the Redis cache with the password unencoded. If not specified, this URL is automatically assembled from the host, port, password and db_index specified above.",
187
+ exclude=True,
188
+ )
189
+ read_only_connection_url_unencoded: Optional[str] = Field(
190
+ default=None,
191
+ description="A full connection URL to the read-only Redis cache with the password unencoded. If not specified, this URL is automatically assembled from the read_only_host, read_only_port, read_only_password and read_only_db_index specified above.",
192
+ exclude=True,
193
+ )
184
194
 
185
- @field_validator("connection_url", "read_only_connection_url", mode="before")
195
+ @field_validator(
196
+ "connection_url",
197
+ "read_only_connection_url",
198
+ "connection_url_unencoded",
199
+ "read_only_connection_url_unencoded",
200
+ mode="before",
201
+ )
186
202
  @classmethod
187
203
  def assemble_connection_url(
188
204
  cls,
@@ -195,7 +211,14 @@ class RedisSettings(FidesSettings):
195
211
  return v
196
212
 
197
213
  # Determine which set of settings to use based on field name
198
- is_read_only = info.field_name == "read_only_connection_url"
214
+ is_read_only = info.field_name in (
215
+ "read_only_connection_url",
216
+ "read_only_connection_url_unencoded",
217
+ )
218
+ is_unencoded = info.field_name in (
219
+ "connection_url_unencoded",
220
+ "read_only_connection_url_unencoded",
221
+ )
199
222
 
200
223
  # Extract settings - fallbacks already resolved by field validators for read-only fields
201
224
  user = (
@@ -244,7 +267,8 @@ class RedisSettings(FidesSettings):
244
267
  # redis://<user>:<password>@<host>
245
268
  auth_prefix = ""
246
269
  if password or user:
247
- auth_prefix = f"{quote_plus(user)}:{quote_plus(password)}@"
270
+ encoded_password = password if is_unencoded else quote_plus(password)
271
+ auth_prefix = f"{quote_plus(user)}:{encoded_password}@"
248
272
 
249
273
  # For host, we don't have a fallback - read replica should be a different host
250
274
  host = (
@@ -89,16 +89,16 @@ class SecuritySettings(FidesSettings):
89
89
  default=None,
90
90
  description="When using a parent/child Fides deployment, this username will be used by the child server to access the parent server.",
91
91
  )
92
- public_request_rate_limit: str = Field(
93
- default="2000/minute",
94
- description="The number of requests from a single IP address allowed to hit a public endpoint within the specified time period",
95
- )
96
92
  rate_limit_prefix: str = Field(
97
- default="fides-",
93
+ default="rate-limit",
98
94
  description="The prefix given to keys in the Redis cache used by the rate limiter.",
99
95
  )
96
+ rate_limit_client_ip_header: Optional[str] = Field(
97
+ default=None,
98
+ description="The header used to determine the client IP address for rate limiting. If not set or set to empty string, rate limiting will be disabled.",
99
+ )
100
100
  request_rate_limit: str = Field(
101
- default="1000/minute",
101
+ default="2000/minute",
102
102
  description="The number of requests from a single IP address allowed to hit an endpoint within a rolling 60 second period.",
103
103
  )
104
104
  auth_rate_limit: str = Field(
@@ -217,6 +217,21 @@ class SecuritySettings(FidesSettings):
217
217
  oauth_root_client_secret_hash = (hashed_client_id, salt.encode(encoding)) # type: ignore
218
218
  return oauth_root_client_secret_hash
219
219
 
220
+ @field_validator("rate_limit_client_ip_header")
221
+ @classmethod
222
+ def validate_rate_limit_client_ip_header(
223
+ cls,
224
+ v: str,
225
+ ) -> str:
226
+ """Validate supported `rate_limit_client_ip_header`"""
227
+ insecure_headers = ["x-forwarded-for"]
228
+
229
+ if v.lower() in insecure_headers:
230
+ raise ValueError(
231
+ "The rate_limit_client_ip_header cannot be set to a header that is not secure."
232
+ )
233
+ return v
234
+
220
235
  @field_validator("request_rate_limit", "auth_rate_limit")
221
236
  @classmethod
222
237
  def validate_rate_limits(
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/650df9c348000a26.css" as="style"/><link rel="stylesheet" href="/_next/static/css/650df9c348000a26.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-b5eb3e1da37616d2.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-7612a768b9a6304b.js" defer=""></script><script src="/_next/static/chunks/pages/404-9c9efb820bb6b432.js" defer=""></script><script src="/_next/static/LqjE2O1xWlQKqW38Sy4m3/_buildManifest.js" defer=""></script><script src="/_next/static/LqjE2O1xWlQKqW38Sy4m3/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"LqjE2O1xWlQKqW38Sy4m3","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
1
+ <!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/650df9c348000a26.css" as="style"/><link rel="stylesheet" href="/_next/static/css/650df9c348000a26.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-678e89d68dbcd94f.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fcdad91f6f66292b.js" defer=""></script><script src="/_next/static/chunks/pages/404-471a6b18e712f050.js" defer=""></script><script src="/_next/static/OmXHlY9MvjoZH9jDkAytl/_buildManifest.js" defer=""></script><script src="/_next/static/OmXHlY9MvjoZH9jDkAytl/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"OmXHlY9MvjoZH9jDkAytl","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST=function(s,e,t,a,c,n,i,d,o,r,p,u,g,f,m,b,j,k,h,y,l,v,I,F,x,_,U,q,w,N,A,S,B,C,z,D,E,L,M,T,P,G,H,J,K,O,Q,R){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[F,"static/chunks/pages/index-6cd8708106331b8d.js"],"/404":["static/chunks/pages/404-471a6b18e712f050.js"],"/_error":["static/chunks/pages/_error-bede3a8288930dcf.js"],"/add-systems":[s,e,F,"static/chunks/pages/add-systems-bd0d82078e67cac3.js"],"/add-systems/manual":[s,t,a,c,n,g,e,d,f,m,h,x,_,"static/chunks/pages/add-systems/manual-ace203dfacacbdc4.js"],"/add-systems/multiple":[d,b,U,"static/chunks/pages/add-systems/multiple-920fb469e0dda1d2.js"],"/consent":["static/chunks/pages/consent-3e8bdefe714254ec.js"],"/consent/configure":[d,b,"static/chunks/pages/consent/configure-7207ab23bdb36ce8.js"],"/consent/configure/add-vendors":[d,b,U,"static/chunks/pages/consent/configure/add-vendors-406170eaae4329c6.js"],"/consent/privacy-experience":[g,q,"static/chunks/pages/consent/privacy-experience-9dda4de5ec580279.js"],"/consent/privacy-experience/new":[t,o,j,k,w,"static/chunks/pages/consent/privacy-experience/new-e74cb5ea87f15b40.js"],"/consent/privacy-experience/[id]":[t,o,j,k,w,"static/chunks/pages/consent/privacy-experience/[id]-f80cf2d3966816fd.js"],"/consent/privacy-notices":[q,"static/chunks/pages/consent/privacy-notices-0d4844d0b808e6e4.js"],"/consent/privacy-notices/new":[t,o,j,k,N,"static/chunks/pages/consent/privacy-notices/new-2ca1de7b88094ab0.js"],"/consent/privacy-notices/[id]":[t,o,j,k,N,"static/chunks/pages/consent/privacy-notices/[id]-b378576cba255609.js"],"/consent/properties":[A,"static/chunks/pages/consent/properties-226efa1dcd41437f.js"],"/consent/reporting":[s,"static/chunks/2150-930ffaf2c4718edc.js","static/chunks/pages/consent/reporting-28b192e2c074b0f3.js"],"/data-catalog":[t,a,c,"static/css/95ac327e5d70148d.css","static/chunks/pages/data-catalog-30108b00ac769fc3.js"],"/data-catalog/[systemId]/projects":[t,a,c,p,y,i,"static/chunks/pages/data-catalog/[systemId]/projects-5f2d7b24804f861f.js"],"/data-catalog/[systemId]/projects/[projectUrn]":[S,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-04cfe2cfba7b7cd8.js"],"/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]":[s,t,a,c,e,p,y,B,i,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-2c29ff7a01198f30.js"],"/data-catalog/[systemId]/resources":[S,"static/chunks/pages/data-catalog/[systemId]/resources-de704de849960f01.js"],"/data-catalog/[systemId]/resources/[resourceUrn]":[s,t,a,c,e,p,y,B,i,"static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-8eb581024bc0172f.js"],"/data-discovery/action-center":["static/chunks/pages/data-discovery/action-center-9a81d42a474e1e48.js"],"/data-discovery/action-center/[monitorId]":[s,t,a,c,e,C,l,"static/chunks/pages/data-discovery/action-center/[monitorId]-6d133580045abdda.js"],"/data-discovery/action-center/[monitorId]/[systemId]":[s,t,a,c,e,d,h,C,"static/css/23cf870196941c9a.css","static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-e1ba213fb666b3f4.js"],"/data-discovery/activity":[s,e,u,"static/chunks/pages/data-discovery/activity-b6ae7adb8ef0b525.js"],"/data-discovery/detection":[s,e,u,z,"static/chunks/pages/data-discovery/detection-eb814e3c22807871.js"],"/data-discovery/detection/[resourceUrn]":[s,e,u,z,"static/chunks/pages/data-discovery/detection/[resourceUrn]-8f736b078e9842da.js"],"/data-discovery/discovery":[s,t,a,c,e,u,p,D,i,"static/chunks/pages/data-discovery/discovery-172dbd7740e212ca.js"],"/data-discovery/discovery/[resourceUrn]":[s,t,a,c,e,u,p,D,i,"static/chunks/pages/data-discovery/discovery/[resourceUrn]-6875b7783fcfda2f.js"],"/datamap":[s,c,"static/chunks/255-1bc0cbef7a59cdc6.js",e,f,E,"static/chunks/pages/datamap-c7390e046b2e2b7f.js"],"/dataset":[r,"static/chunks/pages/dataset-7c59a6abf6ba6207.js"],"/dataset/new":[s,r,e,"static/chunks/pages/dataset/new-e32fccc4ca520d2b.js"],"/dataset/[datasetId]":["static/chunks/9729-fcf6ff4e3534e4a8.js",v,"static/chunks/pages/dataset/[datasetId]-e12b11ba15bc3fc1.js"],"/dataset/[datasetId]/[collectionName]":[t,a,c,n,v,L,i,"static/chunks/pages/dataset/[datasetId]/[collectionName]-7cdc42ec5493b83d.js"],"/dataset/[datasetId]/[collectionName]/[...subfieldNames]":[t,a,c,n,v,L,i,"static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-dfd71c1e9c458b89.js"],"/datastore-connection":["static/css/5f393dea1c0d031c.css","static/chunks/pages/datastore-connection-cce20440b177050b.js"],"/datastore-connection/new":[s,t,n,r,g,M,e,T,"static/chunks/pages/datastore-connection/new-cbe100d50df34285.js"],"/datastore-connection/[id]":[s,t,n,r,M,e,T,"static/chunks/pages/datastore-connection/[id]-927b7e476c4b47d0.js"],"/fides-js-docs":["static/chunks/2fbcc6de-a6c61724c327e9fa.js","static/chunks/e3251fe7-5777b5d778e6fffa.js",t,a,c,n,r,"static/chunks/5619-9b50cec521203989.js",P,"static/css/0b4b1b65cc874774.css","static/chunks/5596-bb601cbf40e47a0f.js","static/chunks/pages/fides-js-docs-1f4335dca5c09860.js"],"/integrations":[s,t,a,c,n,o,G,e,m,H,i,"static/chunks/pages/integrations-95402b5001c07ef2.js"],"/integrations/[id]":[s,t,a,c,n,o,G,e,m,H,i,"static/chunks/pages/integrations/[id]-4c3c413a2668df53.js"],"/login":["static/chunks/pages/login-0cb0eb44bf2dd24c.js"],"/login/[provider]":["static/chunks/pages/login/[provider]-c58beef131c3a82d.js"],"/messaging":[t,a,"static/chunks/346-aa3b88efb85f2e28.js","static/chunks/pages/messaging-76b204c9b98d656f.js"],"/messaging/add-template":[J,"static/chunks/pages/messaging/add-template-4a6d4023a7791be8.js"],"/messaging/[id]":[J,"static/chunks/pages/messaging/[id]-3c6dc2f6e6bae960.js"],"/poc/ant-components":["static/chunks/pages/poc/ant-components-bc0e2adf6e0d3ac7.js"],"/poc/form-experiments/AntForm":["static/chunks/pages/poc/form-experiments/AntForm-86ffcc1ad3fa912e.js"],"/poc/form-experiments/FormikAntFormItem":["static/chunks/pages/poc/form-experiments/FormikAntFormItem-ec04f595465bdf69.js"],"/poc/form-experiments/FormikControlled":["static/chunks/pages/poc/form-experiments/FormikControlled-41d309754ff0c1de.js"],"/poc/form-experiments/FormikField":["static/chunks/pages/poc/form-experiments/FormikField-cab1f78cec7808f9.js"],"/poc/form-experiments/FormikSpreadField":[K,"static/chunks/pages/poc/form-experiments/FormikSpreadField-af097d661f6abcf4.js"],"/poc/forms":[K,"static/chunks/pages/poc/forms-eb6058221403b156.js"],"/poc/table-migration":[d,b,"static/chunks/pages/poc/table-migration-48500551fd6a7602.js"],"/privacy-requests":[s,t,"static/chunks/3550-d04125c828d591a1.js",e,"static/chunks/pages/privacy-requests-baf31c3e4b081046.js"],"/privacy-requests/configure":["static/chunks/pages/privacy-requests/configure-d83e5bd52a638234.js"],"/privacy-requests/configure/messaging":[s,e,"static/chunks/pages/privacy-requests/configure/messaging-ad6ad3e5bd72765d.js"],"/privacy-requests/configure/storage":[s,e,"static/chunks/pages/privacy-requests/configure/storage-6032d82f0fc2893d.js"],"/privacy-requests/[id]":[s,e,"static/css/073713cd1eddda79.css","static/chunks/pages/privacy-requests/[id]-0f25a76dd18c5e20.js"],"/properties":[A,"static/chunks/pages/properties-da734840e4f9d04b.js"],"/properties/add-property":[O,"static/chunks/pages/properties/add-property-0a7a2db148a7561a.js"],"/properties/[id]":[O,"static/chunks/pages/properties/[id]-e784c05d056b2371.js"],"/reporting/datamap":[s,t,a,c,P,e,f,E,"static/chunks/pages/reporting/datamap-6903f42a0412bfa6.js"],"/settings/about":["static/chunks/pages/settings/about-d06fb16487705b9d.js"],"/settings/about/alpha":["static/chunks/pages/settings/about/alpha-a82f3df840d5c1b5.js"],"/settings/consent":["static/chunks/pages/settings/consent-93a978443bf299db.js"],"/settings/consent/[configuration_id]/[purpose_id]":["static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-9495e2eb506606c7.js"],"/settings/custom-fields":[s,e,"static/chunks/pages/settings/custom-fields-9ecb803099082bf4.js"],"/settings/domain-records":["static/chunks/pages/settings/domain-records-16fdd91a81074dd1.js"],"/settings/domains":["static/chunks/pages/settings/domains-4cdd6001e7cb9aee.js"],"/settings/email-templates":["static/chunks/pages/settings/email-templates-1914de830ce5cfc4.js"],"/settings/locations":[Q,l,"static/chunks/pages/settings/locations-2e635dcd11b78224.js"],"/settings/organization":["static/chunks/pages/settings/organization-f547f1f33c12faf3.js"],"/settings/privacy-requests":[s,e,"static/chunks/pages/settings/privacy-requests-2ecc073f41628f62.js"],"/settings/regulations":[Q,l,"static/chunks/pages/settings/regulations-7c02e469d8c5bd74.js"],"/systems":["static/chunks/pages/systems-fbc8761ef4d55516.js"],"/systems/configure/[id]":[s,t,a,c,n,g,e,d,f,m,h,x,_,"static/chunks/pages/systems/configure/[id]-6e15332935f6b538.js"],"/systems/configure/[id]/test-datasets":[r,"static/chunks/pages/systems/configure/[id]/test-datasets-20b1193ed76c56b0.js"],"/taxonomy":["static/chunks/678d4732-50255cc09048e643.js",s,t,a,o,"static/chunks/6148-59a59d5c5925344f.js",e,"static/css/34a7eb08b86ddb57.css","static/chunks/pages/taxonomy-4d7827fc9c46b6b8.js"],"/user-management":[I,"static/chunks/pages/user-management-9cec020f89544426.js"],"/user-management/new":[I,R,"static/chunks/pages/user-management/new-92f52c43f522a350.js"],"/user-management/profile/[id]":[I,R,"static/chunks/pages/user-management/profile/[id]-64452dfae2c5e614.js"],sortedPages:["/","/404","/_app","/_error","/add-systems","/add-systems/manual","/add-systems/multiple","/consent","/consent/configure","/consent/configure/add-vendors","/consent/privacy-experience","/consent/privacy-experience/new","/consent/privacy-experience/[id]","/consent/privacy-notices","/consent/privacy-notices/new","/consent/privacy-notices/[id]","/consent/properties","/consent/reporting","/data-catalog","/data-catalog/[systemId]/projects","/data-catalog/[systemId]/projects/[projectUrn]","/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]","/data-catalog/[systemId]/resources","/data-catalog/[systemId]/resources/[resourceUrn]","/data-discovery/action-center","/data-discovery/action-center/[monitorId]","/data-discovery/action-center/[monitorId]/[systemId]","/data-discovery/activity","/data-discovery/detection","/data-discovery/detection/[resourceUrn]","/data-discovery/discovery","/data-discovery/discovery/[resourceUrn]","/datamap","/dataset","/dataset/new","/dataset/[datasetId]","/dataset/[datasetId]/[collectionName]","/dataset/[datasetId]/[collectionName]/[...subfieldNames]","/datastore-connection","/datastore-connection/new","/datastore-connection/[id]","/fides-js-docs","/integrations","/integrations/[id]","/login","/login/[provider]","/messaging","/messaging/add-template","/messaging/[id]","/poc/ant-components","/poc/form-experiments/AntForm","/poc/form-experiments/FormikAntFormItem","/poc/form-experiments/FormikControlled","/poc/form-experiments/FormikField","/poc/form-experiments/FormikSpreadField","/poc/forms","/poc/table-migration","/privacy-requests","/privacy-requests/configure","/privacy-requests/configure/messaging","/privacy-requests/configure/storage","/privacy-requests/[id]","/properties","/properties/add-property","/properties/[id]","/reporting/datamap","/settings/about","/settings/about/alpha","/settings/consent","/settings/consent/[configuration_id]/[purpose_id]","/settings/custom-fields","/settings/domain-records","/settings/domains","/settings/email-templates","/settings/locations","/settings/organization","/settings/privacy-requests","/settings/regulations","/systems","/systems/configure/[id]","/systems/configure/[id]/test-datasets","/taxonomy","/user-management","/user-management/new","/user-management/profile/[id]"]}}("static/chunks/431-86ad2beeb93c95c9.js","static/chunks/4164-355644b916ae0094.js","static/chunks/8765-f622a35b40a7ec63.js","static/chunks/9278-08cc704317fe535e.js","static/chunks/5163-e682273cd76a7d07.js","static/chunks/699-8ca44b0de9fa20f0.js","static/css/d2d4e9a6923e6730.css","static/chunks/401-4af0a912e249d30f.js","static/chunks/3662-f6a1ddca5ee42076.js","static/chunks/6527-0eed08abe252a918.js","static/chunks/1099-79646e64f26d62fa.js","static/chunks/8002-24af20d679efc04e.js","static/chunks/5277-e8a036319456127f.js","static/chunks/9951-a88367a129b724ba.js","static/chunks/4808-dd4157aa72648068.js","static/chunks/3923-bb2417b8dcade7a4.js","static/chunks/6419-d0c00d661b01f8fa.js","static/chunks/6084-c153669d5567e242.js","static/chunks/4844-46324c3d848b8b6a.js","static/chunks/3620-602eb74dc896d556.js","static/css/10994e916bc9a00a.css","static/chunks/5487-02d00bad7c6830e0.js","static/chunks/7476-45c5088baa8b66af.js","static/css/972dc7eef106ee7c.css","static/chunks/4786-61154adf88e448e1.js","static/css/304c6f148886a8d4.css","static/chunks/796-9e1ca1a4030707c5.js","static/chunks/6853-b17673391117c976.js","static/chunks/1817-0ca16d288fad916d.js","static/chunks/6954-5296188c19d7d0ac.js","static/chunks/79-65674011d455af4d.js","static/chunks/3872-f78dec02f0d959ae.js","static/chunks/3855-ef5194cdb228beb6.js","static/chunks/3847-230bf61b053bc706.js","static/chunks/1345-5e1c5b66e25c566e.js","static/chunks/9046-712156d461165f56.js","static/chunks/5258-b0de22a8521686ab.js","static/chunks/549-38ea1d91ee2addaa.js","static/chunks/1467-8808ec8836e033f9.js","static/chunks/4608-be8cba73f5d7c326.js","static/chunks/9187-7438242f0d380bb0.js","static/chunks/1316-2606e19807c08aa5.js","static/chunks/3729-c17ac8031a4c4fd1.js","static/chunks/7630-7ed6c6117775dffe.js","static/chunks/2921-52328140bc420d0f.js","static/chunks/787-a8c7eab617e2fceb.js","static/chunks/9826-dbae8dee941a7fac.js","static/chunks/4831-fd99c0b3784de128.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +1 @@
1
- (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1345],{11611:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},55193:function(e,t,i){var a=i(99736),r=i(92360);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==a(e)}},14908:function(e,t,i){"use strict";var a=i(86677),r=i(27378);let s=e=>e.startsWith("#")?e.slice(1):e;t.Z=e=>{let{tabKeys:t,initialTab:i}=e,l=(0,a.useRouter)(),o=l.asPath.split("#")[1]||t[0],[n,c]=(0,r.useState)(o);return(0,r.useEffect)(()=>{i&&t.includes(i)&&c(i)},[i,t,l.isReady]),{activeTab:n,onTabChange:(0,r.useCallback)(async e=>{if(!t.includes(e)){await l.replace({pathname:l.pathname,query:l.query,hash:void 0}),c(t[0]);return}l.isReady&&(await l.replace({pathname:l.pathname,query:l.query,hash:s(e)},void 0,{shallow:!0}),c(e))},[l,t])}}},69828:function(e,t,i){"use strict";i.d(t,{Y:function(){return l}});var a=i(24246),r=i(96306),s=i(70788);let l=[(0,a.jsx)(r.PJP.S9g,{},"layers"),(0,a.jsx)(r.PJP.ehp,{},"dataset"),(0,a.jsx)(r.PJP.iA_,{},"table"),(0,a.jsx)(r.PJP.$4y,{style:{transform:"rotate(-90deg)"}},"field")];t.Z=e=>{let{resourceUrn:t,parentLink:i,onPathClick:r=()=>{}}=e,o=[];if(t||o.push({title:"All activity"}),t){o.push({title:"All activity",href:i});let e=t.split(".");e.forEach((t,i)=>{0!==i&&o.push({title:t,icon:l[i-1],onClick:t=>{t.preventDefault(),r(e.slice(0,i+1).join("."))}})})}return(0,a.jsx)(s.m,{"data-testid":"results-breadcrumb",items:o})}},1039:function(e,t,i){"use strict";i.d(t,{Z:function(){return I}});var a,r,s=i(24246),l=i(59003),o=i(92222),n=i(96306),c=i(27378),d=i(47935),u=i(70675),h=i(72625),m=i(54409),g=i(79947),x=i(87667),j=i(50169),v=i(28278),L=i(54682),p=i(74241),f=e=>{let{resourceType:t,changeTypeOverride:i}=e,a=(0,o.Cl)(),r=[];return t?t===L.D$.SCHEMA?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Name",...e}),size:300}),a.accessor(e=>e.urn,{id:"project",cell:e=>(0,s.jsx)(d.G3,{value:(0,p.Z)(e.getValue())}),header:e=>(0,s.jsx)(d.Rr,{value:"Project",...e})}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.system,{id:"system",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"System",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{ignoreChildActions:i===v.E.MONITORED||i===v.E.MUTED,resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.TABLE?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Table name",...e}),size:300}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.FIELD?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Field name",...e}),size:300}),a.accessor(e=>e.source_data_type,{id:"data-type",cell:e=>(0,s.jsx)(g.Z,{type:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Data type",...e})}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.ENDPOINT?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Object",...e}),size:300}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:{columns:r}:{columns:r}},y=i(14908);(a=r||(r={})).ACTION_REQUIRED="action-required",a.MONITORED="monitored",a.UNMONITORED="unmonitored";let D={"action-required":{label:"Action Required",key:"action-required",filters:[L.LL.ADDITION,L.LL.REMOVAL],childFilters:[L.LL.ADDITION,L.LL.REMOVAL]},monitored:{label:"Monitored",key:"monitored",filters:[L.LL.MONITORED],childFilters:[],changeTypeOverride:v.E.MONITORED},unmonitored:{label:"Unmonitored",key:"unmonitored",filters:[L.LL.MUTED],childFilters:[],changeTypeOverride:v.E.MUTED}};var R=()=>{var e,t,i;let{activeTab:a,onTabChange:s}=(0,y.Z)({tabKeys:Object.values(r)});return{filterTabs:Object.values(D),activeTabKey:a,onTabChange:s,activeDiffFilters:null===(e=D[a])||void 0===e?void 0:e.filters,activeChildDiffFilters:null===(t=D[a])||void 0===t?void 0:t.childFilters,activeChangeTypeOverride:null===(i=D[a])||void 0===i?void 0:i.changeTypeOverride}},b=i(47182),_=i(38347),T=i(7940),w=i(80285),C=i(36168),O=i(30952);let H={items:[],total:0,page:1,size:50,pages:1},M=()=>(0,s.jsx)(n.gCW,{mt:6,p:10,spacing:4,borderRadius:"base",maxW:"70%","data-testid":"empty-state",alignSelf:"center",margin:"auto",children:(0,s.jsxs)(n.gCW,{children:[(0,s.jsx)(n.xvT,{fontSize:"md",fontWeight:"600",children:"No activity found"}),(0,s.jsx)(n.xvT,{fontSize:"sm",children:"You're up to date!"})]})});var I=e=>{let{resourceUrn:t}=e,[i,a]=(0,c.useState)(""),{filterTabs:r,activeTabKey:h,onTabChange:m,activeDiffFilters:g,activeChildDiffFilters:x,activeChangeTypeOverride:j}=R(),{PAGE_SIZES:v,pageSize:p,setPageSize:y,onPreviousPageClick:D,isPreviousPageDisabled:I,onNextPageClick:E,isNextPageDisabled:Z,startRange:k,endRange:A,pageIndex:N,setTotalPages:P,resetPageIndexToDefault:V}=(0,d.oi)();(0,c.useEffect)(()=>{V()},[t,i,V,g,x]);let{isFetching:S,isLoading:F,data:z}=(0,u.z8)({staged_resource_urn:t,page:N,size:p,child_diff_status:x,diff_status:g,search:i}),U=(0,T.G)(null==z?void 0:z.items[0]),{columns:$}=f({resourceType:U,changeTypeOverride:j}),{items:G,total:q,pages:W}=(0,c.useMemo)(()=>null!=z?z:H,[z]);(0,c.useEffect)(()=>{P(W)},[W,P]);let B=(0,c.useMemo)(()=>$,[$]),{navigateToDetectionResults:J}=(0,b.Z)(),K=(0,l.b7)({getCoreRowModel:(0,o.sC)(),getGroupedRowModel:(0,o.qe)(),getExpandedRowModel:(0,o.rV)(),getRowId:w.Z,columns:B,manualPagination:!0,data:G,columnResizeMode:"onChange"});return F?(0,s.jsx)(d.I4,{rowHeight:36,numRows:36}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.A5g,{items:r.map(e=>({key:e.key,label:e.label})),activeKey:h,onChange:e=>m(e)}),(0,s.jsx)(d.Q$,{children:(0,s.jsx)(n.kCb,{direction:"row",alignItems:"center",justifyContent:"space-between",width:"full",children:(0,s.jsxs)(n.kCb,{gap:6,align:"center",children:[(0,s.jsx)(n.xuv,{flexShrink:0,children:(0,s.jsx)(O.f,{value:i,onChange:a})}),(0,s.jsx)(_.a,{})]})})}),(0,s.jsx)(d.ZK,{tableInstance:K,onRowClick:e=>J({resourceUrn:e.urn,filterTab:h}),getRowIsClickable:e=>U!==L.D$.FIELD||(0,C.Z)(e),emptyTableNotice:(0,s.jsx)(M,{})}),(0,s.jsx)(d.s8,{totalRows:q||0,pageSizes:v,setPageSize:y,onPreviousPageClick:D,isPreviousPageDisabled:I||S,onNextPageClick:E,isNextPageDisabled:Z||S,startRange:k,endRange:A})]})}},54409:function(e,t,i){"use strict";i.d(t,{Z:function(){return g}});var a=i(24246),r=i(96306),s=i(812),l=i(75573),o=i(54682),n=i(31883);let c=(0,r.IUT)({displayName:"MonitorOffIcon",viewBox:"0 0 12 12",path:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.47125 1H5.85H6.15H6.51188L6.58875 1.36914L7.52062 5.83268L6.42408 4.98635L6.03375 3.11719L5.8038 4.50761L4.99323 3.882L5.40562 1.38867L5.47125 1ZM4.80795 5.0022L4.67675 5.79545L5.48735 6.42109L5.61854 5.62783L4.80795 5.0022ZM6.73856 6.49227L6.96125 7.55866L8.42407 8.6877L8.69498 8.00228L7.94864 7.42624L7.88625 7.58398L7.83501 7.33853L6.73856 6.49227ZM8.33138 6.45844L9.07755 7.03434L9.30188 6.4668H11.55H12V5.5293H11.55H9H8.69812L8.58375 5.82031L8.33138 6.45844ZM7.27551 9.06443L7.35399 9.125H7.28813L7.27551 9.06443ZM4.49147 6.91566L5.30209 7.54131L4.79437 10.6113L4.72875 11H4.35H4.05H3.69563L3.61313 10.6406L2.64563 6.46875H0.45H0V5.53125H0.45H2.69777L3.49646 6.1477L4.15125 8.97266L4.49147 6.91566Z",fill:"currentColor"}),(0,a.jsx)("g",{clipPath:"url(#clip0_341_3102)",children:(0,a.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.6755 10.4168L0.164222 2.304L0.775218 1.51237L11.2865 9.62517L10.6755 10.4168Z",fill:"currentColor"})}),(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip0_341_3102",children:(0,a.jsx)("rect",{width:"11.5",height:"9",fill:"white",transform:"translate(0 1.5)"})})})]})}),d=(0,r.IUT)({displayName:"MonitorOnIcon",viewBox:"0 0 12 10",path:(0,a.jsx)("path",{d:"M5.47125 0H5.85H6.15H6.51188L6.58875 0.369141L7.88625 6.58398L8.58375 4.82031L8.69812 4.5293H9H11.55H12V5.4668H11.55H9.30188L8.36625 7.83398L8.25188 8.125H7.95H7.65H7.28813L7.21125 7.75586L6.03375 2.11719L4.79437 9.61133L4.72875 10H4.35H4.05H3.69563L3.61313 9.64062L2.64563 5.46875H0.45H0V4.53125H0.45H3H3.35438L3.43688 4.89062L4.15125 7.97266L5.40562 0.388672L5.47125 0Z",fill:"currentColor"})});var u=i(79494),h=i(70675),m=i(7940),g=e=>{let{resource:t,ignoreChildActions:i=!1}=e,g=(0,m.G)(t),[x,{isLoading:j}]=(0,h.v8)(),[v,{isLoading:L}]=(0,h.vi)(),[p,{isLoading:f}]=(0,h.Tl)(),{successAlert:y,errorAlert:D}=(0,l.VY)(),R=async()=>{let e=await x({staged_resource_urn:t.urn,monitor_config_id:t.monitor_config_id});(0,n.D4)(e)?D((0,s.e$)(e.error,"Failed to confirm resource")):y("Data discovery has started. The results may take some time to appear in the “Data discovery“ tab.","".concat(t.name||"The resource"," is now being monitored."))},b=async()=>{let e=await p({staged_resource_urn:t.urn});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to un-mute resource"):y("".concat(t.name||"The resource"," has been un-muted and is now being monitored."))},_=async()=>{let e=await x({staged_resource_urn:t.urn,monitor_config_id:t.monitor_config_id,unmute_children:!0,classify_monitored_resources:!0});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to un-mute resource"):y("Data discovery has started. The results may take some time to appear in the “Data discovery“ tab.","".concat(t.name||"The resource"," is now being monitored."))},T=async()=>{let e=await v({staged_resource_urn:t.urn});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to mute resource"):y("Ignored data will not be monitored for changes or added to Fides datasets.","".concat(t.name||"Resource"," ignored"))},w=j||L||f,{diff_status:C,child_diff_statuses:O}=t,H=g===o.D$.SCHEMA,M=g===o.D$.FIELD,I=O&&(O[o.LL.CLASSIFICATION_ADDITION]||O[o.LL.CLASSIFICATION_UPDATE]),E=H&&void 0===C||!M&&C===o.LL.ADDITION||I,Z=C!==o.LL.MUTED,k=C===o.LL.MUTED&&!M,A=C===o.LL.MUTED&&M,N=O&&(O[o.LL.ADDITION]||O[o.LL.REMOVAL]),P=C===o.LL.MONITORED&&!i&&N&&!I;return(0,a.jsxs)(r.Ugi,{children:[(E||P)&&(0,a.jsx)(u.Z,{title:"Monitor",icon:(0,a.jsx)(d,{}),onClick:R,disabled:w,loading:j}),A&&(0,a.jsx)(u.Z,{title:"Un-Mute",icon:(0,a.jsx)(d,{}),onClick:b,disabled:w,loading:j}),k&&(0,a.jsx)(u.Z,{title:"Monitor",icon:(0,a.jsx)(d,{}),onClick:_,disabled:w,loading:j}),Z&&(0,a.jsx)(u.Z,{title:"Ignore",icon:(0,a.jsx)(c,{}),onClick:T,disabled:w,loading:L})]})}},79947:function(e,t,i){"use strict";var a=i(24246),r=i(96306);t.Z=e=>{let{type:t}=e;return(0,a.jsx)(r.kCb,{align:"center",h:"full",children:!!t&&(0,a.jsx)(r.j8w,{children:t})})}},31883:function(e,t,i){"use strict";i.d(t,{Bw:function(){return a.Bw},D4:function(){return a.D4}});var a=i(19043)}}]);
1
+ (self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1345],{11611:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},55193:function(e,t,i){var a=i(99736),r=i(92360);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==a(e)}},14908:function(e,t,i){"use strict";var a=i(86677),r=i(27378);let s=e=>e.startsWith("#")?e.slice(1):e;t.Z=e=>{let{tabKeys:t,initialTab:i}=e,l=(0,a.useRouter)(),o=l.asPath.split("#")[1]||t[0],[n,c]=(0,r.useState)(o);return(0,r.useEffect)(()=>{i&&t.includes(i)&&c(i)},[i,t,l.isReady]),{activeTab:n,onTabChange:(0,r.useCallback)(async e=>{if(!t.includes(e)){await l.replace({pathname:l.pathname,query:l.query,hash:void 0}),c(t[0]);return}l.isReady&&(await l.replace({pathname:l.pathname,query:l.query,hash:s(e)},void 0,{shallow:!0}),c(e))},[l,t])}}},69828:function(e,t,i){"use strict";i.d(t,{Y:function(){return l}});var a=i(24246),r=i(96306),s=i(70788);let l=[(0,a.jsx)(r.PJP.S9g,{},"layers"),(0,a.jsx)(r.PJP.ehp,{},"dataset"),(0,a.jsx)(r.PJP.iA_,{},"table"),(0,a.jsx)(r.PJP.$4y,{style:{transform:"rotate(-90deg)"}},"field")];t.Z=e=>{let{resourceUrn:t,parentLink:i,onPathClick:r=()=>{}}=e,o=[];if(t||o.push({title:"All activity"}),t){o.push({title:"All activity",href:i});let e=t.split(".");e.forEach((t,i)=>{0!==i&&o.push({title:t,icon:l[i-1],onClick:t=>{t.preventDefault(),r(e.slice(0,i+1).join("."))}})})}return(0,a.jsx)(s.m,{"data-testid":"results-breadcrumb",items:o})}},1039:function(e,t,i){"use strict";i.d(t,{Z:function(){return I}});var a,r,s=i(24246),l=i(59003),o=i(92222),n=i(96306),c=i(27378),d=i(47935),u=i(70675),h=i(72625),m=i(54409),g=i(79947),x=i(87667),j=i(50169),v=i(28278),L=i(54682),p=i(74241),f=e=>{let{resourceType:t,changeTypeOverride:i}=e,a=(0,o.Cl)(),r=[];return t?t===L.D$.SCHEMA?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Name",...e}),size:300}),a.accessor(e=>e.urn,{id:"project",cell:e=>(0,s.jsx)(d.G3,{value:(0,p.Z)(e.getValue())}),header:e=>(0,s.jsx)(d.Rr,{value:"Project",...e})}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.system,{id:"system",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"System",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{ignoreChildActions:i===v.E.MONITORED||i===v.E.MUTED,resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.TABLE?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Table name",...e}),size:300}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.FIELD?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Field name",...e}),size:300}),a.accessor(e=>e.source_data_type,{id:"data-type",cell:e=>(0,s.jsx)(g.Z,{type:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Data type",...e})}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.ENDPOINT?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Object",...e}),size:300}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:{columns:r}:{columns:r}},y=i(14908);(a=r||(r={})).ACTION_REQUIRED="action-required",a.MONITORED="monitored",a.UNMONITORED="unmonitored";let D={"action-required":{label:"Action Required",key:"action-required",filters:[L.LL.ADDITION,L.LL.REMOVAL],childFilters:[L.LL.ADDITION,L.LL.REMOVAL]},monitored:{label:"Monitored",key:"monitored",filters:[L.LL.MONITORED],childFilters:[],changeTypeOverride:v.E.MONITORED},unmonitored:{label:"Unmonitored",key:"unmonitored",filters:[L.LL.MUTED],childFilters:[],changeTypeOverride:v.E.MUTED}};var R=()=>{var e,t,i;let{activeTab:a,onTabChange:s}=(0,y.Z)({tabKeys:Object.values(r)});return{filterTabs:Object.values(D),activeTabKey:a,onTabChange:s,activeDiffFilters:null===(e=D[a])||void 0===e?void 0:e.filters,activeChildDiffFilters:null===(t=D[a])||void 0===t?void 0:t.childFilters,activeChangeTypeOverride:null===(i=D[a])||void 0===i?void 0:i.changeTypeOverride}},b=i(47182),_=i(38347),T=i(7940),w=i(80285),C=i(36168),O=i(30952);let H={items:[],total:0,page:1,size:50,pages:1},M=()=>(0,s.jsx)(n.gCW,{mt:6,p:10,spacing:4,borderRadius:"base",maxW:"70%","data-testid":"empty-state",alignSelf:"center",margin:"auto",children:(0,s.jsxs)(n.gCW,{children:[(0,s.jsx)(n.xvT,{fontSize:"md",fontWeight:"600",children:"No activity found"}),(0,s.jsx)(n.xvT,{fontSize:"sm",children:"You're up to date!"})]})});var I=e=>{let{resourceUrn:t}=e,[i,a]=(0,c.useState)(""),{filterTabs:r,activeTabKey:h,onTabChange:m,activeDiffFilters:g,activeChildDiffFilters:x,activeChangeTypeOverride:j}=R(),{PAGE_SIZES:v,pageSize:p,setPageSize:y,onPreviousPageClick:D,isPreviousPageDisabled:I,onNextPageClick:E,isNextPageDisabled:Z,startRange:k,endRange:A,pageIndex:N,setTotalPages:P,resetPageIndexToDefault:V}=(0,d.oi)();(0,c.useEffect)(()=>{V()},[t,i,V,g,x]);let{isFetching:S,isLoading:F,data:z}=(0,u.z8)({staged_resource_urn:t,page:N,size:p,child_diff_status:x,diff_status:g,search:i}),U=(0,T.G)(null==z?void 0:z.items[0]),{columns:$}=f({resourceType:U,changeTypeOverride:j}),{items:G,total:q,pages:W}=(0,c.useMemo)(()=>null!=z?z:H,[z]);(0,c.useEffect)(()=>{P(W)},[W,P]);let B=(0,c.useMemo)(()=>$,[$]),{navigateToDetectionResults:J}=(0,b.Z)(),K=(0,l.b7)({getCoreRowModel:(0,o.sC)(),getGroupedRowModel:(0,o.qe)(),getExpandedRowModel:(0,o.rV)(),getRowId:w.Z,columns:B,manualPagination:!0,data:G,columnResizeMode:"onChange"});return F?(0,s.jsx)(d.I4,{rowHeight:36,numRows:36}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.A5g,{items:r.map(e=>({key:e.key,label:e.label})),activeKey:h,onChange:e=>m(e)}),(0,s.jsx)(d.Q$,{children:(0,s.jsx)(n.kCb,{direction:"row",alignItems:"center",justifyContent:"space-between",width:"full",children:(0,s.jsxs)(n.kCb,{gap:6,align:"center",children:[(0,s.jsx)(n.xuv,{flexShrink:0,children:(0,s.jsx)(O.f,{value:i,onChange:a})}),(0,s.jsx)(_.a,{})]})})}),(0,s.jsx)(d.ZK,{tableInstance:K,onRowClick:e=>J({resourceUrn:e.urn,filterTab:h}),getRowIsClickable:e=>U!==L.D$.FIELD||(0,C.Z)(e),emptyTableNotice:(0,s.jsx)(M,{})}),(0,s.jsx)(d.s8,{totalRows:q||0,pageSizes:v,setPageSize:y,onPreviousPageClick:D,isPreviousPageDisabled:I||S,onNextPageClick:E,isNextPageDisabled:Z||S,startRange:k,endRange:A})]})}},54409:function(e,t,i){"use strict";i.d(t,{Z:function(){return g}});var a=i(24246),r=i(96306),s=i(812),l=i(41841),o=i(54682),n=i(31883);let c=(0,r.IUT)({displayName:"MonitorOffIcon",viewBox:"0 0 12 12",path:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.47125 1H5.85H6.15H6.51188L6.58875 1.36914L7.52062 5.83268L6.42408 4.98635L6.03375 3.11719L5.8038 4.50761L4.99323 3.882L5.40562 1.38867L5.47125 1ZM4.80795 5.0022L4.67675 5.79545L5.48735 6.42109L5.61854 5.62783L4.80795 5.0022ZM6.73856 6.49227L6.96125 7.55866L8.42407 8.6877L8.69498 8.00228L7.94864 7.42624L7.88625 7.58398L7.83501 7.33853L6.73856 6.49227ZM8.33138 6.45844L9.07755 7.03434L9.30188 6.4668H11.55H12V5.5293H11.55H9H8.69812L8.58375 5.82031L8.33138 6.45844ZM7.27551 9.06443L7.35399 9.125H7.28813L7.27551 9.06443ZM4.49147 6.91566L5.30209 7.54131L4.79437 10.6113L4.72875 11H4.35H4.05H3.69563L3.61313 10.6406L2.64563 6.46875H0.45H0V5.53125H0.45H2.69777L3.49646 6.1477L4.15125 8.97266L4.49147 6.91566Z",fill:"currentColor"}),(0,a.jsx)("g",{clipPath:"url(#clip0_341_3102)",children:(0,a.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.6755 10.4168L0.164222 2.304L0.775218 1.51237L11.2865 9.62517L10.6755 10.4168Z",fill:"currentColor"})}),(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip0_341_3102",children:(0,a.jsx)("rect",{width:"11.5",height:"9",fill:"white",transform:"translate(0 1.5)"})})})]})}),d=(0,r.IUT)({displayName:"MonitorOnIcon",viewBox:"0 0 12 10",path:(0,a.jsx)("path",{d:"M5.47125 0H5.85H6.15H6.51188L6.58875 0.369141L7.88625 6.58398L8.58375 4.82031L8.69812 4.5293H9H11.55H12V5.4668H11.55H9.30188L8.36625 7.83398L8.25188 8.125H7.95H7.65H7.28813L7.21125 7.75586L6.03375 2.11719L4.79437 9.61133L4.72875 10H4.35H4.05H3.69563L3.61313 9.64062L2.64563 5.46875H0.45H0V4.53125H0.45H3H3.35438L3.43688 4.89062L4.15125 7.97266L5.40562 0.388672L5.47125 0Z",fill:"currentColor"})});var u=i(79494),h=i(70675),m=i(7940),g=e=>{let{resource:t,ignoreChildActions:i=!1}=e,g=(0,m.G)(t),[x,{isLoading:j}]=(0,h.v8)(),[v,{isLoading:L}]=(0,h.vi)(),[p,{isLoading:f}]=(0,h.Tl)(),{successAlert:y,errorAlert:D}=(0,l.VY)(),R=async()=>{let e=await x({staged_resource_urn:t.urn,monitor_config_id:t.monitor_config_id});(0,n.D4)(e)?D((0,s.e$)(e.error,"Failed to confirm resource")):y("Data discovery has started. The results may take some time to appear in the “Data discovery“ tab.","".concat(t.name||"The resource"," is now being monitored."))},b=async()=>{let e=await p({staged_resource_urn:t.urn});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to un-mute resource"):y("".concat(t.name||"The resource"," has been un-muted and is now being monitored."))},_=async()=>{let e=await x({staged_resource_urn:t.urn,monitor_config_id:t.monitor_config_id,unmute_children:!0,classify_monitored_resources:!0});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to un-mute resource"):y("Data discovery has started. The results may take some time to appear in the “Data discovery“ tab.","".concat(t.name||"The resource"," is now being monitored."))},T=async()=>{let e=await v({staged_resource_urn:t.urn});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to mute resource"):y("Ignored data will not be monitored for changes or added to Fides datasets.","".concat(t.name||"Resource"," ignored"))},w=j||L||f,{diff_status:C,child_diff_statuses:O}=t,H=g===o.D$.SCHEMA,M=g===o.D$.FIELD,I=O&&(O[o.LL.CLASSIFICATION_ADDITION]||O[o.LL.CLASSIFICATION_UPDATE]),E=H&&void 0===C||!M&&C===o.LL.ADDITION||I,Z=C!==o.LL.MUTED,k=C===o.LL.MUTED&&!M,A=C===o.LL.MUTED&&M,N=O&&(O[o.LL.ADDITION]||O[o.LL.REMOVAL]),P=C===o.LL.MONITORED&&!i&&N&&!I;return(0,a.jsxs)(r.Ugi,{children:[(E||P)&&(0,a.jsx)(u.Z,{title:"Monitor",icon:(0,a.jsx)(d,{}),onClick:R,disabled:w,loading:j}),A&&(0,a.jsx)(u.Z,{title:"Un-Mute",icon:(0,a.jsx)(d,{}),onClick:b,disabled:w,loading:j}),k&&(0,a.jsx)(u.Z,{title:"Monitor",icon:(0,a.jsx)(d,{}),onClick:_,disabled:w,loading:j}),Z&&(0,a.jsx)(u.Z,{title:"Ignore",icon:(0,a.jsx)(c,{}),onClick:T,disabled:w,loading:L})]})}},79947:function(e,t,i){"use strict";var a=i(24246),r=i(96306);t.Z=e=>{let{type:t}=e;return(0,a.jsx)(r.kCb,{align:"center",h:"full",children:!!t&&(0,a.jsx)(r.j8w,{children:t})})}},31883:function(e,t,i){"use strict";i.d(t,{Bw:function(){return a.Bw},D4:function(){return a.D4}});var a=i(19043)}}]);