ethyca-fides 2.67.2b3__py2.py3-none-any.whl → 2.67.2rc0__py2.py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


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

Files changed (114) hide show
  1. {ethyca_fides-2.67.2b3.dist-info → ethyca_fides-2.67.2rc0.dist-info}/METADATA +2 -2
  2. {ethyca_fides-2.67.2b3.dist-info → ethyca_fides-2.67.2rc0.dist-info}/RECORD +112 -114
  3. fides/_version.py +3 -3
  4. fides/api/db/crud.py +41 -24
  5. fides/api/graph/traversal.py +1 -1
  6. fides/api/main.py +1 -2
  7. fides/api/models/detection_discovery/core.py +20 -33
  8. fides/api/models/manual_task/manual_task.py +6 -3
  9. fides/api/models/privacy_request/privacy_request.py +0 -78
  10. fides/api/service/privacy_request/dsr_package/dsr_report_builder.py +19 -3
  11. fides/api/task/conditional_dependencies/evaluator.py +19 -12
  12. fides/api/task/conditional_dependencies/schemas.py +0 -51
  13. fides/api/task/create_request_tasks.py +3 -5
  14. fides/api/task/filter_results.py +1 -1
  15. fides/api/task/manual/manual_task_address.py +2 -4
  16. fides/api/task/manual/manual_task_graph_task.py +83 -87
  17. fides/api/task/manual/manual_task_utils.py +201 -84
  18. fides/api/tasks/storage.py +0 -3
  19. fides/api/util/aws_util.py +13 -1
  20. fides/api/util/storage_util.py +0 -19
  21. fides/config/__init__.py +0 -4
  22. fides/config/config_proxy.py +0 -7
  23. fides/config/utils.py +0 -1
  24. fides/ui-build/static/admin/404.html +1 -1
  25. fides/ui-build/static/admin/_next/static/{4v0_8k2Uo2QWG7nSdQ6A3 → Y7C7V1jdXK7rWXDIdtD13}/_buildManifest.js +1 -1
  26. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/{[id]-330475705adbd36f.js → [id]-e0a755c69081fffa.js} +1 -1
  27. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  28. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  29. fides/ui-build/static/admin/add-systems.html +1 -1
  30. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  31. fides/ui-build/static/admin/consent/configure.html +1 -1
  32. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  33. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  34. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  35. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  36. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  37. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  38. fides/ui-build/static/admin/consent/properties.html +1 -1
  39. fides/ui-build/static/admin/consent/reporting.html +1 -1
  40. fides/ui-build/static/admin/consent.html +1 -1
  41. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  42. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  43. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  44. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  45. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  46. fides/ui-build/static/admin/data-catalog.html +1 -1
  47. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
  48. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
  49. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  50. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  51. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  52. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  53. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  54. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  55. fides/ui-build/static/admin/datamap.html +1 -1
  56. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  57. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  58. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  59. fides/ui-build/static/admin/dataset/new.html +1 -1
  60. fides/ui-build/static/admin/dataset.html +1 -1
  61. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  62. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  63. fides/ui-build/static/admin/datastore-connection.html +1 -1
  64. fides/ui-build/static/admin/index.html +1 -1
  65. fides/ui-build/static/admin/integrations/[id].html +1 -1
  66. fides/ui-build/static/admin/integrations.html +1 -1
  67. fides/ui-build/static/admin/lib/fides-preview.js +1 -1
  68. fides/ui-build/static/admin/login/[provider].html +1 -1
  69. fides/ui-build/static/admin/login.html +1 -1
  70. fides/ui-build/static/admin/messaging/[id].html +1 -1
  71. fides/ui-build/static/admin/messaging/add-template.html +1 -1
  72. fides/ui-build/static/admin/messaging.html +1 -1
  73. fides/ui-build/static/admin/poc/ant-components.html +1 -1
  74. fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
  75. fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
  76. fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
  77. fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
  78. fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
  79. fides/ui-build/static/admin/poc/forms.html +1 -1
  80. fides/ui-build/static/admin/poc/table-migration.html +1 -1
  81. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  82. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
  83. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  84. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  85. fides/ui-build/static/admin/privacy-requests.html +1 -1
  86. fides/ui-build/static/admin/properties/[id].html +1 -1
  87. fides/ui-build/static/admin/properties/add-property.html +1 -1
  88. fides/ui-build/static/admin/properties.html +1 -1
  89. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  90. fides/ui-build/static/admin/settings/about/alpha.html +1 -1
  91. fides/ui-build/static/admin/settings/about.html +1 -1
  92. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  93. fides/ui-build/static/admin/settings/consent.html +1 -1
  94. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  95. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  96. fides/ui-build/static/admin/settings/domains.html +1 -1
  97. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  98. fides/ui-build/static/admin/settings/locations.html +1 -1
  99. fides/ui-build/static/admin/settings/organization.html +1 -1
  100. fides/ui-build/static/admin/settings/regulations.html +1 -1
  101. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  102. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  103. fides/ui-build/static/admin/systems.html +1 -1
  104. fides/ui-build/static/admin/taxonomy.html +1 -1
  105. fides/ui-build/static/admin/user-management/new.html +1 -1
  106. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  107. fides/ui-build/static/admin/user-management.html +1 -1
  108. fides/api/task/conditional_dependencies/operators.py +0 -150
  109. fides/config/privacy_center_settings.py +0 -17
  110. {ethyca_fides-2.67.2b3.dist-info → ethyca_fides-2.67.2rc0.dist-info}/WHEEL +0 -0
  111. {ethyca_fides-2.67.2b3.dist-info → ethyca_fides-2.67.2rc0.dist-info}/entry_points.txt +0 -0
  112. {ethyca_fides-2.67.2b3.dist-info → ethyca_fides-2.67.2rc0.dist-info}/licenses/LICENSE +0 -0
  113. {ethyca_fides-2.67.2b3.dist-info → ethyca_fides-2.67.2rc0.dist-info}/top_level.txt +0 -0
  114. /fides/ui-build/static/admin/_next/static/{4v0_8k2Uo2QWG7nSdQ6A3 → Y7C7V1jdXK7rWXDIdtD13}/_ssgManifest.js +0 -0
@@ -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/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.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-90e8ec1fc5c6455b.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-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/pages/systems-c05b49ddec1a1b4f.js" defer=""></script><script src="/_next/static/4v0_8k2Uo2QWG7nSdQ6A3/_buildManifest.js" defer=""></script><script src="/_next/static/4v0_8k2Uo2QWG7nSdQ6A3/_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":"/systems","query":{},"buildId":"4v0_8k2Uo2QWG7nSdQ6A3","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/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.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-90e8ec1fc5c6455b.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-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/pages/systems-c05b49ddec1a1b4f.js" defer=""></script><script src="/_next/static/Y7C7V1jdXK7rWXDIdtD13/_buildManifest.js" defer=""></script><script src="/_next/static/Y7C7V1jdXK7rWXDIdtD13/_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":"/systems","query":{},"buildId":"Y7C7V1jdXK7rWXDIdtD13","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -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/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><link rel="preload" href="/_next/static/css/34a7eb08b86ddb57.css" as="style"/><link rel="stylesheet" href="/_next/static/css/34a7eb08b86ddb57.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.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-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/678d4732-50255cc09048e643.js" defer=""></script><script src="/_next/static/chunks/8765-f622a35b40a7ec63.js" defer=""></script><script src="/_next/static/chunks/9278-08cc704317fe535e.js" defer=""></script><script src="/_next/static/chunks/3662-f6a1ddca5ee42076.js" defer=""></script><script src="/_next/static/chunks/6148-59a59d5c5925344f.js" defer=""></script><script src="/_next/static/chunks/pages/taxonomy-df0d88716578e295.js" defer=""></script><script src="/_next/static/4v0_8k2Uo2QWG7nSdQ6A3/_buildManifest.js" defer=""></script><script src="/_next/static/4v0_8k2Uo2QWG7nSdQ6A3/_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":"/taxonomy","query":{},"buildId":"4v0_8k2Uo2QWG7nSdQ6A3","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/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.css" data-n-g=""/><link rel="preload" href="/_next/static/css/34a7eb08b86ddb57.css" as="style"/><link rel="stylesheet" href="/_next/static/css/34a7eb08b86ddb57.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-90e8ec1fc5c6455b.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-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/678d4732-50255cc09048e643.js" defer=""></script><script src="/_next/static/chunks/8765-f622a35b40a7ec63.js" defer=""></script><script src="/_next/static/chunks/9278-08cc704317fe535e.js" defer=""></script><script src="/_next/static/chunks/3662-f6a1ddca5ee42076.js" defer=""></script><script src="/_next/static/chunks/6148-59a59d5c5925344f.js" defer=""></script><script src="/_next/static/chunks/pages/taxonomy-df0d88716578e295.js" defer=""></script><script src="/_next/static/Y7C7V1jdXK7rWXDIdtD13/_buildManifest.js" defer=""></script><script src="/_next/static/Y7C7V1jdXK7rWXDIdtD13/_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":"/taxonomy","query":{},"buildId":"Y7C7V1jdXK7rWXDIdtD13","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -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/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.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-90e8ec1fc5c6455b.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-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/7476-cc0d9a94ed7aad53.js" defer=""></script><script src="/_next/static/chunks/4121-877e19d3fa078c7b.js" defer=""></script><script src="/_next/static/chunks/pages/user-management/new-de8cb3739ab99c09.js" defer=""></script><script src="/_next/static/4v0_8k2Uo2QWG7nSdQ6A3/_buildManifest.js" defer=""></script><script src="/_next/static/4v0_8k2Uo2QWG7nSdQ6A3/_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":"/user-management/new","query":{},"buildId":"4v0_8k2Uo2QWG7nSdQ6A3","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/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.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-90e8ec1fc5c6455b.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-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/7476-cc0d9a94ed7aad53.js" defer=""></script><script src="/_next/static/chunks/4121-877e19d3fa078c7b.js" defer=""></script><script src="/_next/static/chunks/pages/user-management/new-de8cb3739ab99c09.js" defer=""></script><script src="/_next/static/Y7C7V1jdXK7rWXDIdtD13/_buildManifest.js" defer=""></script><script src="/_next/static/Y7C7V1jdXK7rWXDIdtD13/_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":"/user-management/new","query":{},"buildId":"Y7C7V1jdXK7rWXDIdtD13","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -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/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.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-90e8ec1fc5c6455b.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-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/7476-cc0d9a94ed7aad53.js" defer=""></script><script src="/_next/static/chunks/4121-877e19d3fa078c7b.js" defer=""></script><script src="/_next/static/chunks/pages/user-management/profile/%5Bid%5D-da68efc31998dc66.js" defer=""></script><script src="/_next/static/4v0_8k2Uo2QWG7nSdQ6A3/_buildManifest.js" defer=""></script><script src="/_next/static/4v0_8k2Uo2QWG7nSdQ6A3/_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":"/user-management/profile/[id]","query":{},"buildId":"4v0_8k2Uo2QWG7nSdQ6A3","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/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.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-90e8ec1fc5c6455b.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-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/7476-cc0d9a94ed7aad53.js" defer=""></script><script src="/_next/static/chunks/4121-877e19d3fa078c7b.js" defer=""></script><script src="/_next/static/chunks/pages/user-management/profile/%5Bid%5D-da68efc31998dc66.js" defer=""></script><script src="/_next/static/Y7C7V1jdXK7rWXDIdtD13/_buildManifest.js" defer=""></script><script src="/_next/static/Y7C7V1jdXK7rWXDIdtD13/_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":"/user-management/profile/[id]","query":{},"buildId":"Y7C7V1jdXK7rWXDIdtD13","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -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/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.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-90e8ec1fc5c6455b.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-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/7476-cc0d9a94ed7aad53.js" defer=""></script><script src="/_next/static/chunks/pages/user-management-e98dfc7d4f2a4e16.js" defer=""></script><script src="/_next/static/4v0_8k2Uo2QWG7nSdQ6A3/_buildManifest.js" defer=""></script><script src="/_next/static/4v0_8k2Uo2QWG7nSdQ6A3/_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":"/user-management","query":{},"buildId":"4v0_8k2Uo2QWG7nSdQ6A3","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/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.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-90e8ec1fc5c6455b.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-750d6bd16c971bb9.js" defer=""></script><script src="/_next/static/chunks/7476-cc0d9a94ed7aad53.js" defer=""></script><script src="/_next/static/chunks/pages/user-management-e98dfc7d4f2a4e16.js" defer=""></script><script src="/_next/static/Y7C7V1jdXK7rWXDIdtD13/_buildManifest.js" defer=""></script><script src="/_next/static/Y7C7V1jdXK7rWXDIdtD13/_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":"/user-management","query":{},"buildId":"Y7C7V1jdXK7rWXDIdtD13","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1,150 +0,0 @@
1
- import numbers
2
- import operator as py_operator
3
-
4
- from fides.api.task.conditional_dependencies.schemas import Operator
5
-
6
- # Define operator methods for validation
7
- #
8
- # None Value Handling:
9
- # - Basic operators (eq, neq, exists, not_exists) handle None naturally
10
- # * Note: eq and neq use Python's built-in behavior, so True == 1 returns True
11
- # - Numeric operators return False for None values (can't compare None with numbers)
12
- # * Note: Boolean values are excluded from numeric comparisons (True < 10 returns False)
13
- # - String operators return False for None values (can't perform string operations on None)
14
- # - List operators handle None naturally using Python's built-in behavior:
15
- # * None in [None] returns True
16
- # * None not in [None] returns False
17
- # * None in [] returns False
18
- # * None not in [] returns True
19
- # * This allows None to be a valid list element for membership testing
20
- operator_methods = {
21
- # Basic operators - handle None naturally using Python's built-in behavior
22
- Operator.exists: lambda a, _: a is not None,
23
- Operator.not_exists: lambda a, _: a is None,
24
- Operator.eq: py_operator.eq,
25
- # None == None returns True, None == "anything" returns False
26
- # None != None returns False, None != "anything" returns True
27
- Operator.neq: py_operator.ne,
28
- # Numeric comparison operators - return False for None or non-numeric types
29
- # Note: Boolean values are excluded as they are not considered numeric for comparisons
30
- # This differs from basic comparison operators (eq, neq) which use Python's built-in behavior
31
- Operator.lt: lambda a, b: (
32
- a < b
33
- if a is not None and isinstance(a, numbers.Number) and not isinstance(a, bool)
34
- else False
35
- ),
36
- Operator.lte: lambda a, b: (
37
- a <= b
38
- if a is not None and isinstance(a, numbers.Number) and not isinstance(a, bool)
39
- else False
40
- ),
41
- Operator.gt: lambda a, b: (
42
- a > b
43
- if a is not None and isinstance(a, numbers.Number) and not isinstance(a, bool)
44
- else False
45
- ),
46
- Operator.gte: lambda a, b: (
47
- a >= b
48
- if a is not None and isinstance(a, numbers.Number) and not isinstance(a, bool)
49
- else False
50
- ),
51
- Operator.list_contains: lambda a, b: (
52
- # If user provides a list, check if column value is in it
53
- # Note: Handles None values naturally using Python's built-in behavior
54
- a in b
55
- if isinstance(b, list)
56
- # If column value is a list, check if user value is in it
57
- else b in a if isinstance(a, list) else False
58
- ),
59
- Operator.not_in_list: lambda a, b: (
60
- # If user provides a list, check if column value is NOT in it
61
- # Note: Handles None values naturally using Python's built-in behavior
62
- a not in b
63
- if isinstance(b, list)
64
- # If column value is a list, check if user value is NOT in it
65
- else b not in a if isinstance(a, list) else False
66
- ),
67
- Operator.list_intersects: lambda a, b: (
68
- # Check if there are any common elements between the lists
69
- # Note: Returns False for None values because both values must be lists
70
- bool(set(a) & set(b))
71
- if isinstance(a, list) and isinstance(b, list)
72
- else False
73
- ),
74
- Operator.list_subset: lambda a, b: (
75
- # Check if column list is a subset of user's list
76
- # Note: Returns False for None values because both values must be lists
77
- set(a).issubset(set(b))
78
- if isinstance(a, list) and isinstance(b, list)
79
- else False
80
- ),
81
- Operator.list_superset: lambda a, b: (
82
- # Check if column list is a superset of user's list
83
- # Note: Returns False for None values because both values must be lists
84
- set(a).issuperset(set(b))
85
- if isinstance(a, list) and isinstance(b, list)
86
- else False
87
- ),
88
- Operator.list_disjoint: lambda a, b: (
89
- # Check if lists have no common elements
90
- # Note: Returns False for None values because both values must be lists
91
- set(a).isdisjoint(set(b))
92
- if isinstance(a, list) and isinstance(b, list)
93
- else False
94
- ),
95
- Operator.starts_with: lambda a, b: (
96
- a.startswith(b) if isinstance(a, str) and isinstance(b, str) else False
97
- ),
98
- Operator.ends_with: lambda a, b: (
99
- a.endswith(b) if isinstance(a, str) and isinstance(b, str) else False
100
- ),
101
- Operator.contains: lambda a, b: (
102
- b in a if isinstance(a, str) and isinstance(b, str) else False
103
- ),
104
- }
105
-
106
- # Common operators that work with most data types
107
- COMMON_OPERATORS = {
108
- Operator.eq,
109
- Operator.neq,
110
- Operator.exists,
111
- Operator.not_exists,
112
- }
113
-
114
- # Numeric comparison operators
115
- NUMERIC_OPERATORS = {Operator.lt, Operator.lte, Operator.gt, Operator.gte}
116
-
117
- # String-specific operators
118
- STRING_OPERATORS = {
119
- Operator.contains,
120
- Operator.starts_with,
121
- Operator.ends_with,
122
- }
123
-
124
- # List operations that work with all data types
125
- LIST_OPERATORS = {
126
- Operator.list_contains, # Element in list
127
- Operator.not_in_list, # Element not in list
128
- Operator.list_intersects, # Any common elements
129
- Operator.list_subset, # Column list ⊆ user list
130
- Operator.list_superset, # Column list ⊇ user list
131
- Operator.list_disjoint, # No common elements
132
- }
133
-
134
- # Define data type compatibility with operators
135
- data_type_operator_compatibility = {
136
- "integer": {*COMMON_OPERATORS, *NUMERIC_OPERATORS, *LIST_OPERATORS},
137
- "float": {*COMMON_OPERATORS, *NUMERIC_OPERATORS, *LIST_OPERATORS},
138
- "double": {*COMMON_OPERATORS, *NUMERIC_OPERATORS, *LIST_OPERATORS},
139
- "long": {*COMMON_OPERATORS, *NUMERIC_OPERATORS, *LIST_OPERATORS},
140
- "boolean": {*COMMON_OPERATORS, *LIST_OPERATORS},
141
- "string": {*COMMON_OPERATORS, *STRING_OPERATORS, *LIST_OPERATORS},
142
- "text": {
143
- *COMMON_OPERATORS,
144
- *LIST_OPERATORS,
145
- }, # Form input - no string search operations
146
- "array": {*COMMON_OPERATORS, *LIST_OPERATORS},
147
- "object": {*COMMON_OPERATORS, *LIST_OPERATORS},
148
- "object_id": {*COMMON_OPERATORS, *LIST_OPERATORS},
149
- "no_op": {*COMMON_OPERATORS, *LIST_OPERATORS},
150
- }
@@ -1,17 +0,0 @@
1
- from typing import Optional
2
-
3
- from pydantic import Field, SerializeAsAny
4
- from pydantic_settings import SettingsConfigDict
5
-
6
- from fides.api.custom_types import AnyHttpUrlStringRemovesSlash
7
-
8
- from .fides_settings import FidesSettings
9
-
10
-
11
- class PrivacyCenterSettings(FidesSettings):
12
- """Configuration settings for the Privacy Center."""
13
-
14
- url: SerializeAsAny[Optional[AnyHttpUrlStringRemovesSlash]] = Field(
15
- default=None, description="The base URL for the Privacy Center."
16
- )
17
- model_config = SettingsConfigDict(env_prefix="FIDES__PRIVACY_CENTER__")