ethyca-fides 2.73.2b0__py2.py3-none-any.whl → 2.74.0rc1__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.
- {ethyca_fides-2.73.2b0.dist-info → ethyca_fides-2.74.0rc1.dist-info}/METADATA +2 -1
- {ethyca_fides-2.73.2b0.dist-info → ethyca_fides-2.74.0rc1.dist-info}/RECORD +273 -276
- fides/_version.py +3 -3
- fides/api/alembic/migrations/versions/xx_2025_10_29_1659_80d28dea3b6b_added_duplicate_group_table.py +79 -0
- fides/api/alembic/migrations/versions/xx_2025_11_05_0200_f1a2b3c4d5e6_create_staged_resource_error_table.py +82 -0
- fides/api/api/v1/endpoints/privacy_request_endpoints.py +33 -6
- fides/api/db/database.py +225 -0
- fides/api/models/detection_discovery/__init__.py +2 -0
- fides/api/models/detection_discovery/core.py +10 -0
- fides/api/models/detection_discovery/staged_resource_error.py +25 -0
- fides/api/models/privacy_preference.py +1 -0
- fides/api/models/privacy_request/duplicate_group.py +84 -0
- fides/api/models/privacy_request/privacy_request.py +53 -8
- fides/api/schemas/privacy_request.py +16 -4
- fides/api/service/async_dsr/strategies/async_dsr_strategy_polling.py +13 -6
- fides/api/service/privacy_request/duplication_detection.py +424 -0
- fides/api/service/privacy_request/request_runner_service.py +5 -0
- fides/api/service/saas_request/saas_request_override_factory.py +7 -2
- fides/api/util/logger_context_utils.py +3 -1
- fides/api/util/memory_watchdog.py +118 -0
- fides/common/api/v1/urn_registry.py +1 -0
- fides/config/__init__.py +7 -1
- fides/config/celery_settings.py +42 -0
- fides/service/privacy_request/privacy_request_service.py +66 -5
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/FZTEUgamBvOhgPWce135w/_buildManifest.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{1115-26393b586775ea29.js → 1115-0da062111df309bf.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6148-59a59d5c5925344f.js → 1533-84e250d1f26e6d7d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/1817-508b16628e8eb225.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1840-5bbe6d878ed73fb4.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3214-90ce0a366b0f461a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3377-eb5cd82b3ee6ab0c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3615-5e2d062d684b8fa1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3655-93ecd09f1cb9dbef.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{4259.d1507e0db19cbed7.js → 4259.05038c9b78467244.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/4277-13bcf4516326d474.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/454-d5c2c84f1a14e4f1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5487-8dedd1ca94fbba54.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/549-6e2442db533a711e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5643-55d758444a8d7162.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5724-1e40975cefa405f0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6084-82e2df433fe5ba85.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6344-3e21444374f8059f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6362-12e3fd23130ccf15.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6372-a8d0f08dac1ebd0e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6780-3db5133c1f4c6f1e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6954-aa0c60ee1092be8e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/7079-6e6efc3396ff1ebb.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/7218-d297a4a06f924b09.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{7245-c9bc628d078c2170.js → 7245-686665c197b58e68.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/7654-716cf37a020b3d11.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/8939-4925751c57c51f87.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9014-eeae6f581158e645.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9046-d9c6498368b993d1.js → 9046-e4daf28840a69fd6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{5596-29a7c8322530b7cf.js → 9195-550bd50d538c5f79.js} +3 -3
- fides/ui-build/static/admin/_next/static/chunks/9341-bfc0e59bcc56c604.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9450-b7b7bb1d755ecf57.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9682-da69ac5d06f281da.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9911-ece086f2230e34f0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9965-56c5e4fc9cd3b3a5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{_app-ee588a308812715d.js → _app-e64fd8510033a27c.js} +63 -63
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-7081e0e49f67716c.js → manual-ddd9d7d40847fc28.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-1b02a4991201b7e4.js → [id]-9b1f2b1c06968166.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{new-a5e738a234dadc7e.js → new-115a085e5d42de45.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-8c164c4b8310214e.js → [id]-3de34624829cbce8.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-db789002d84c8829.js → new-dc95e7ed278d1a29.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-e3ad3a55624e302a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-32bd7a7c990e5bf6.js → [resourceUrn]-dd82729296dee5c5.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-49e5477eb1a11b92.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-07e7d38ce34e1e6c.js → projects-dfc1ead4a12c9ffa.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-b07a0707f8c2ec0d.js → [resourceUrn]-8442eb219958ac7e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources-feda358d1801c18d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-d16acb6fc07aad46.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/datastore/[monitorId]-c51a1e98c45d231a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website/[monitorId]/[systemId]-bcfe38eebca30f8c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website/{[monitorId]-73085f50abb775c0.js → [monitorId]-f66d0655897c4400.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-6f1e012cd641da19.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-24a82e07a0008516.js → activity-581d6248fcf98d17.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-b072cf25aefc98f6.js → [resourceUrn]-ddc1c1641e1e9430.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-fd3e8817d8e6dee4.js → detection-2b48f7e524743b2b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-146624cf59792bf7.js → [resourceUrn]-862b67418600251e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-9695cc9c85592ec5.js → discovery-0ffec855f5df262c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datamap-6a030ab8c2e2b0db.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-5f88280db168083e.js → [...subfieldNames]-6cb66f649b8ca4bf.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-bfbcf19c28c794ae.js → [collectionName]-0b008dad90b00aaa.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-6fbe2b584a509226.js → [datasetId]-5566edf9a9d1be2d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-d4ca1f485b6e9e02.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset-85dee7e81dc4bafb.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-e905e018a2cab35d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-912723bc86299b1a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-f1f0affc18327033.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{fides-js-docs-1f4335dca5c09860.js → fides-js-docs-5235760b3e508d7d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-1b94e2d769a182b2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{integrations-a733e5d7c3ce9bb8.js → integrations-adfe6c5ac5b703d0.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/new-privacy-requests-f9be7080ebbb7445.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/{[key]-720cde29f81db47f.js → [key]-f94e3accf9507ebf.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/{new-3668866076b53016.js → new-5e83220ff1f2a250.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates-1621a4b87c432117.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{ant-components-9cfb469de7b4aeab.js → ant-components-e02516d9fd314528.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-1fe486f3af832c80.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-2c0ec8fed16c20ae.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-baf77d34a3b3bece.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-ee8820fe0fa14c77.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/{[id]-8634aae3259def37.js → [id]-8eb862182f19a6c2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/{new-2d9dcca17965dc57.js → new-37c29ef618e9fe3c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-1db425150dcb1b6b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-f108bf5015144d2f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-59c89489fa32a4cb.js → [id]-0e7c7228d01290ea.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{systems-cfaa37a0df83674b.js → systems-adc13b542e10a37d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-23dd250da26511c5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/webpack-6f97ebe373e7ef6b.js +1 -0
- fides/ui-build/static/admin/_next/static/css/65ae906f224cd8ae.css +1 -0
- fides/ui-build/static/admin/_next/static/css/d5701118537cbdd2.css +1 -0
- fides/ui-build/static/admin/add-systems/manual.html +1 -1
- fides/ui-build/static/admin/add-systems/multiple.html +1 -1
- fides/ui-build/static/admin/add-systems.html +1 -1
- fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
- fides/ui-build/static/admin/consent/configure.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
- fides/ui-build/static/admin/consent/properties.html +1 -1
- fides/ui-build/static/admin/consent/reporting.html +1 -1
- fides/ui-build/static/admin/consent.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
- fides/ui-build/static/admin/data-catalog.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/datastore/[monitorId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/datastore.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/website/[monitorId]/[systemId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/website/[monitorId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/website.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
- fides/ui-build/static/admin/data-discovery/activity.html +1 -1
- fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/detection.html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
- fides/ui-build/static/admin/datamap.html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
- fides/ui-build/static/admin/dataset/new.html +1 -1
- fides/ui-build/static/admin/dataset.html +1 -1
- fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
- fides/ui-build/static/admin/datastore-connection/new.html +1 -1
- fides/ui-build/static/admin/datastore-connection.html +1 -1
- fides/ui-build/static/admin/index.html +1 -1
- fides/ui-build/static/admin/integrations/[id].html +1 -1
- fides/ui-build/static/admin/integrations.html +1 -1
- fides/ui-build/static/admin/lib/fides-ext-gpp.js +1 -1
- fides/ui-build/static/admin/lib/fides-preview.js +1 -1
- fides/ui-build/static/admin/lib/fides-tcf.js +2 -2
- fides/ui-build/static/admin/login/[provider].html +1 -1
- fides/ui-build/static/admin/login.html +1 -1
- fides/ui-build/static/admin/new-privacy-requests.html +1 -1
- fides/ui-build/static/admin/notifications/digests/[id].html +1 -1
- fides/ui-build/static/admin/notifications/digests/new.html +1 -1
- fides/ui-build/static/admin/notifications/digests.html +1 -1
- fides/ui-build/static/admin/notifications/providers/[key].html +1 -1
- fides/ui-build/static/admin/notifications/providers/new.html +1 -1
- fides/ui-build/static/admin/notifications/providers.html +1 -1
- fides/ui-build/static/admin/notifications/templates/[id].html +1 -1
- fides/ui-build/static/admin/notifications/templates/add-template.html +1 -1
- fides/ui-build/static/admin/notifications/templates.html +1 -1
- fides/ui-build/static/admin/notifications.html +1 -1
- fides/ui-build/static/admin/poc/ant-components.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
- fides/ui-build/static/admin/poc/forms.html +1 -1
- fides/ui-build/static/admin/poc/table-migration.html +1 -1
- fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
- fides/ui-build/static/admin/privacy-requests.html +1 -1
- fides/ui-build/static/admin/properties/[id].html +1 -1
- fides/ui-build/static/admin/properties/add-property.html +1 -1
- fides/ui-build/static/admin/properties.html +1 -1
- fides/ui-build/static/admin/reporting/datamap.html +1 -1
- fides/ui-build/static/admin/sandbox/privacy-notices.html +1 -1
- fides/ui-build/static/admin/settings/about/alpha.html +1 -1
- fides/ui-build/static/admin/settings/about.html +1 -1
- fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
- fides/ui-build/static/admin/settings/consent.html +1 -1
- fides/ui-build/static/admin/settings/custom-fields/[id].html +1 -1
- fides/ui-build/static/admin/settings/custom-fields/new.html +1 -1
- fides/ui-build/static/admin/settings/custom-fields.html +1 -1
- fides/ui-build/static/admin/settings/domain-records.html +1 -1
- fides/ui-build/static/admin/settings/domains.html +1 -1
- fides/ui-build/static/admin/settings/email-templates.html +1 -1
- fides/ui-build/static/admin/settings/locations.html +1 -1
- fides/ui-build/static/admin/settings/organization.html +1 -1
- fides/ui-build/static/admin/settings/privacy-requests.html +1 -1
- fides/ui-build/static/admin/settings/regulations.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id].html +1 -1
- fides/ui-build/static/admin/systems.html +1 -1
- fides/ui-build/static/admin/taxonomy.html +1 -1
- fides/ui-build/static/admin/user-management/new.html +1 -1
- fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
- fides/ui-build/static/admin/user-management.html +1 -1
- fides/ui-build/static/admin/_next/static/chunks/1099-31f9d973bc287df8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1316-2606e19807c08aa5.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1437-8b1f6c8797c68bfd.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1467-8808ec8836e033f9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/155-f6302d32cba4cab6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1817-2d5cf537a2992c79.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/2962-342ad1b4ab402ded.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3377-988ac2f3a2e8d5d4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3446-f40c352c43ac950c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/346-aa3b88efb85f2e28.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3700-f695f2f6b8251971.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3772-9f1713f9d5f97a10.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3873-d18e47b327445db5.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5163-e682273cd76a7d07.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5279-bd6cccabdd6ca447.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/549-28537a6de666944b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5619-9b50cec521203989.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5643-3459282d296a3c59.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6277-3759894435cb8569.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6315-e2fb5ea77179a871.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6344-ca66a6e10d128179.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6419-11d67f7fd4e2f247.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6954-84789a4e4fb04eb9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/699-8ca44b0de9fa20f0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7488-cf92601852e3c509.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7773-9ae233109bc64ec2.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8011-75af8b480fa114e6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8373-22b4d20e8cc06b3a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8765-f622a35b40a7ec63.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9037-453224ba3ee65b13.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9187-7438242f0d380bb0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9278-08cc704317fe535e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9682-d1a3afa1394f8304.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9729-fcf6ff4e3534e4a8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9899-d6437facac926264.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9965-25621dd507e0cfd6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-11f1683aa15e1a62.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-d60761c20382b259.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources-aed94957009eb3fd.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-127c114dd8f102ed.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/datastore/[monitorId]-5aa7a9fa96160de8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website/[monitorId]/[systemId]-899bf30dde8b3292.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-823d0dd77e66585b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datamap-3b100c44ea9e3988.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-3d1e48f4b95d7f6b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset-d3c6ecf7f29bea6e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-0a4aa42be2da0255.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-14313e441a13192c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-f139d1ce26404f30.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-b2d3d28b10a758e6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/new-privacy-requests-df0c95e408c54c7e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates-a14c876b49422597.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-cdd3754289a28317.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-6e4c535b6d614596.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-632b3ee563d070f2.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-5b6807dced8d03c5.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-7dce52bfc1b2652c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-b72d36243a0a545c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-56a5434969cbe9ba.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/webpack-c2c11809187b9f84.js +0 -1
- fides/ui-build/static/admin/_next/static/css/d41a048a166d50e4.css +0 -1
- fides/ui-build/static/admin/_next/static/css/d78390d6134d8328.css +0 -1
- fides/ui-build/static/admin/_next/static/wCNFtmYQhEDMaMPeBB4BM/_buildManifest.js +0 -1
- {ethyca_fides-2.73.2b0.dist-info → ethyca_fides-2.74.0rc1.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.73.2b0.dist-info → ethyca_fides-2.74.0rc1.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.73.2b0.dist-info → ethyca_fides-2.74.0rc1.dist-info}/licenses/LICENSE +0 -0
- {ethyca_fides-2.73.2b0.dist-info → ethyca_fides-2.74.0rc1.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{wCNFtmYQhEDMaMPeBB4BM → FZTEUgamBvOhgPWce135w}/_ssgManifest.js +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{2040-7eed8491ca7276ed.js → 2040-fe1a06d82c0413f1.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{2397-083fc511acb6105d.js → 2397-40b8db1cb2f23e2a.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{2921-34a43f2f8f5e5e69.js → 2921-b10bbc3a9104933b.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{3696-6f90e41a53d22920.js → 3696-6db05a35ae806825.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{3923-f0a85dc5c3684fa0.js → 3923-44255a63d6d80ff5.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{401-7c345d019bb9bcbd.js → 401-fe8db8b5d8f600de.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{4496-4ff19366c597ec16.js → 4496-bed72bd5639075be.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{4817-1f3e6ea38625d8d5.js → 4817-d29f40d4ce729f37.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{5185-e7f8b81dd3dfbe0b.js → 5185-b2ac9fecc00b67e7.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{5258-62d6bc19add60aa6.js → 5258-4672eae0656430f9.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{5783-21775c232dce7af7.js → 5783-6055edba275155ca.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{6853-de9905d28e5b19b3.js → 6853-1adbdf6418ec3d62.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{7059-2bb7c38578549703.js → 7059-12be23a345a94c1e.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{7476-a02d970ea4d3f7d0.js → 7476-a43c046c24de37cc.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{7630-a11610c2b31ab2ca.js → 7630-c654c61ba98d8c74.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{796-e36d610066135f8c.js → 796-e83ace3c6ab99ac7.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{8212-393420e5a9751791.js → 8212-b9e8295ca883c9f8.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{9330-f753636a31c4ea04.js → 9330-e519adec48222d45.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{9826-a737a9956c1d0905.js → 9826-657652d55936a8c6.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/{404-eb019192ce498f32.js → 404-d079b8bf35250874.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-a188f84239f4b2a8.js → multiple-b4d18c1f4d414f5f.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/{add-systems-ee9df33ebd471099.js → add-systems-d451bc8932330141.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-4f9cf087fcee87e6.js → add-vendors-c24663cd5dec57db.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-9af75caefc74eaca.js → configure-d93418688bd258eb.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-b08abefec298ccf1.js → privacy-experience-d9b7b311195df29e.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-6528eb24165aceb6.js → privacy-notices-cdfc9bb19f47c709.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-5cba30eba1e97e56.js → properties-0b995b01dc4dbd1f.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/{consent-614af0a2c2ba966c.js → consent-b37ed76849330edd.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/{index-1343fa525a206571.js → index-692d27dbe9392c9f.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/{[id]-63b3be660fb12c0f.js → [id]-caaa8602a1d449b1.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/{new-d3b577962dd33266.js → new-9b106b1d2d93985b.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/notifications/{digests-aed9afd988a48acf.js → digests-6a1ded8cdde836c4.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/notifications/{providers-36a0ac36062abd02.js → providers-a03cbd698a23e5b3.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/{[id]-8063dceb32310c85.js → [id]-3cde574b3c8447c0.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/{add-template-4931c70bee62232f.js → add-template-0448bb4ae8536c58.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/{notifications-93af719dab3bd053.js → notifications-4ea28f6b1dd63642.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{AntForm-e715cc654fb6a5cd.js → AntForm-fec08bea801b4918.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikAntFormItem-72ae299bcb6adae6.js → FormikAntFormItem-d911e5fbf5a4a888.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikControlled-2337f8c81a766eb0.js → FormikControlled-91b1adcac6a57b2d.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikField-0af454f55494f6fa.js → FormikField-de309d8813b1ebfb.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{forms-d1b90ffa996fbd89.js → forms-f2943c1309062284.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{table-migration-19724b9e0581b96d.js → table-migration-03eda417711ae909.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{storage-cc41ae605f2b55ae.js → storage-ea6f78fa8b2d3f6c.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-fa82cffba448ccd8.js → configure-bda7b474493e7128.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-bc1c289647e52c48.js → [id]-30d298a47e85709f.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-cbfaa23d96f5ed0b.js → add-property-438084cca0d0f10d.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/{properties-a15a3fd0ed88f39c.js → properties-17fd44d98f5bd5b6.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/sandbox/{privacy-notices-afe921f6e2a526fb.js → privacy-notices-8c80391025ca7339.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-19de0024418a4924.js → [purpose_id]-7c19810858b708cc.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-3b87002753b23ca5.js → domain-records-e334b43fa5c5b1e6.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domains-aacd9d0ad47082d4.js → domains-9d18eb5c38d85522.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{email-templates-3cdd0b39901190ba.js → email-templates-cb937ed7c4b1e5a8.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-61076eedbfd137b9.js → locations-835281251f0785cd.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{organization-b07b11d6002f8c8c.js → organization-7fd050c92866938c.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{privacy-requests-084a2b4431d35322.js → privacy-requests-59ea66130fca0d05.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-b7c0d3b1b754e70f.js → regulations-b0fe1051d908f366.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-5d5a68e555d18693.js → [id]-aed30fb22ae7c9ec.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-e6a211d8a0401086.js → user-management-6b88ca3e02ee67c9.js} +0 -0
|
@@ -13,6 +13,7 @@ killed by the system's OOM killer which would result in a WorkerLostError and in
|
|
|
13
13
|
|
|
14
14
|
from __future__ import annotations
|
|
15
15
|
|
|
16
|
+
import gc
|
|
16
17
|
import os
|
|
17
18
|
import signal
|
|
18
19
|
import threading
|
|
@@ -21,6 +22,7 @@ from functools import wraps
|
|
|
21
22
|
from types import FrameType, TracebackType
|
|
22
23
|
from typing import Any, Callable, Literal, Optional, Type, TypeVar, Union
|
|
23
24
|
|
|
25
|
+
import objgraph # type: ignore
|
|
24
26
|
import psutil # type: ignore
|
|
25
27
|
from loguru import logger
|
|
26
28
|
|
|
@@ -56,6 +58,118 @@ class MemoryLimitExceeded(RuntimeError):
|
|
|
56
58
|
self.memory_percent: Optional[float] = memory_percent
|
|
57
59
|
|
|
58
60
|
|
|
61
|
+
def _capture_heap_dump() -> None:
|
|
62
|
+
"""Capture and log actionable heap dump information for memory leak diagnosis.
|
|
63
|
+
|
|
64
|
+
This function builds and logs a comprehensive memory profiling report as a single
|
|
65
|
+
message to help identify memory leaks. It's designed to be called when memory
|
|
66
|
+
threshold is exceeded, just before task termination.
|
|
67
|
+
|
|
68
|
+
The report includes:
|
|
69
|
+
- Process memory stats (RSS, VMS)
|
|
70
|
+
- Top 10 object type counts (spot anomalies like 100k of a custom class)
|
|
71
|
+
- Garbage collector stats (uncollectable objects indicate leaks)
|
|
72
|
+
|
|
73
|
+
All exceptions are caught to ensure heap dump failures don't prevent graceful
|
|
74
|
+
task termination.
|
|
75
|
+
"""
|
|
76
|
+
try:
|
|
77
|
+
# Force garbage collection to get accurate counts
|
|
78
|
+
gc.collect()
|
|
79
|
+
|
|
80
|
+
report_lines = [
|
|
81
|
+
"", # Leading newline for visual separation
|
|
82
|
+
"=" * 80,
|
|
83
|
+
"MEMORY DUMP - THRESHOLD EXCEEDED",
|
|
84
|
+
"=" * 80,
|
|
85
|
+
"",
|
|
86
|
+
]
|
|
87
|
+
|
|
88
|
+
# Section 1: Process Memory Stats
|
|
89
|
+
try:
|
|
90
|
+
process = psutil.Process()
|
|
91
|
+
mem_info = process.memory_info()
|
|
92
|
+
report_lines.extend(
|
|
93
|
+
[
|
|
94
|
+
"PROCESS MEMORY STATS",
|
|
95
|
+
"-" * 80,
|
|
96
|
+
f"RSS (Resident Set Size): {mem_info.rss / 1024 / 1024:.1f} MiB",
|
|
97
|
+
f"VMS (Virtual Memory): {mem_info.vms / 1024 / 1024:.1f} MiB",
|
|
98
|
+
"",
|
|
99
|
+
]
|
|
100
|
+
)
|
|
101
|
+
except Exception as exc:
|
|
102
|
+
logger.debug("Failed to get process memory stats: {}", exc)
|
|
103
|
+
|
|
104
|
+
# Section 2: Object Type Counts (most actionable for finding leaks)
|
|
105
|
+
type_stats = objgraph.most_common_types(limit=10)
|
|
106
|
+
|
|
107
|
+
report_lines.extend(
|
|
108
|
+
[
|
|
109
|
+
"OBJECT TYPE COUNTS (Top 10)",
|
|
110
|
+
"-" * 80,
|
|
111
|
+
]
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
if type_stats:
|
|
115
|
+
max_typename_len = max(len(typename) for typename, _ in type_stats)
|
|
116
|
+
|
|
117
|
+
for typename, count in type_stats:
|
|
118
|
+
# Right-align count for easy scanning
|
|
119
|
+
report_lines.append(f"{typename:<{max_typename_len}} {count:>10,}")
|
|
120
|
+
else:
|
|
121
|
+
report_lines.append("No object type data available")
|
|
122
|
+
|
|
123
|
+
report_lines.append("")
|
|
124
|
+
|
|
125
|
+
# Section 3: Garbage Collector Stats
|
|
126
|
+
gc_count = gc.get_count()
|
|
127
|
+
|
|
128
|
+
report_lines.extend(
|
|
129
|
+
[
|
|
130
|
+
"GARBAGE COLLECTOR STATS",
|
|
131
|
+
"-" * 80,
|
|
132
|
+
f"Collections: gen0={gc_count[0]}, gen1={gc_count[1]}, gen2={gc_count[2]}",
|
|
133
|
+
f"Tracked objects: {len(gc.get_objects()):,}",
|
|
134
|
+
]
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
# Show uncollectable objects (strong indicator of memory leaks)
|
|
138
|
+
uncollectable = gc.garbage
|
|
139
|
+
if uncollectable:
|
|
140
|
+
report_lines.append(
|
|
141
|
+
f"⚠ UNCOLLECTABLE OBJECTS: {len(uncollectable)} (LEAK DETECTED!)"
|
|
142
|
+
)
|
|
143
|
+
# Show types of uncollectable objects
|
|
144
|
+
uncollectable_types: dict[str, int] = {}
|
|
145
|
+
for obj in uncollectable[:50]: # Limit to first 50
|
|
146
|
+
obj_type = type(obj).__name__
|
|
147
|
+
uncollectable_types[obj_type] = uncollectable_types.get(obj_type, 0) + 1
|
|
148
|
+
for obj_type, count in sorted(
|
|
149
|
+
uncollectable_types.items(), key=lambda x: x[1], reverse=True
|
|
150
|
+
):
|
|
151
|
+
report_lines.append(f" {obj_type}: {count}")
|
|
152
|
+
else:
|
|
153
|
+
report_lines.append("No uncollectable objects detected")
|
|
154
|
+
|
|
155
|
+
report_lines.extend(
|
|
156
|
+
[
|
|
157
|
+
"",
|
|
158
|
+
"=" * 80,
|
|
159
|
+
"END OF MEMORY DUMP",
|
|
160
|
+
"=" * 80,
|
|
161
|
+
"",
|
|
162
|
+
]
|
|
163
|
+
)
|
|
164
|
+
|
|
165
|
+
# Log the entire report as a single message
|
|
166
|
+
heap_dump_report = "\n".join(report_lines)
|
|
167
|
+
logger.error(heap_dump_report)
|
|
168
|
+
|
|
169
|
+
except Exception as exc: # pragma: no cover
|
|
170
|
+
logger.exception("Failed to capture heap dump: {}", exc)
|
|
171
|
+
|
|
172
|
+
|
|
59
173
|
class MemoryWatchdog:
|
|
60
174
|
"""Background memory monitor that enables graceful task termination.
|
|
61
175
|
|
|
@@ -138,6 +252,10 @@ class MemoryWatchdog:
|
|
|
138
252
|
"""Convert the signal into an exception on the main thread."""
|
|
139
253
|
current_percent = _system_memory_percent()
|
|
140
254
|
logger.error("Memory limit exceeded: {}%", current_percent)
|
|
255
|
+
|
|
256
|
+
# Capture heap dump before terminating
|
|
257
|
+
_capture_heap_dump()
|
|
258
|
+
|
|
141
259
|
self.stop()
|
|
142
260
|
raise MemoryLimitExceeded(
|
|
143
261
|
"Memory usage exceeded threshold", memory_percent=current_percent
|
|
@@ -87,6 +87,7 @@ PRIVACY_REQUEST_AUTHENTICATED = "/privacy-request/authenticated"
|
|
|
87
87
|
PRIVACY_REQUEST_BULK_FINALIZE = "/privacy-request/bulk/finalize"
|
|
88
88
|
PRIVACY_REQUEST_BULK_RETRY = "/privacy-request/bulk/retry"
|
|
89
89
|
PRIVACY_REQUEST_BULK_SOFT_DELETE = "/privacy-request/bulk/soft-delete"
|
|
90
|
+
PRIVACY_REQUEST_CANCEL = "/privacy-request/administrate/cancel"
|
|
90
91
|
PRIVACY_REQUEST_DENY = "/privacy-request/administrate/deny"
|
|
91
92
|
PRIVACY_REQUEST_SOFT_DELETE = "/privacy-request/{privacy_request_id}/soft-delete"
|
|
92
93
|
REQUEST_STATUS_LOGS = "/privacy-request/{privacy_request_id}/log"
|
fides/config/__init__.py
CHANGED
|
@@ -19,7 +19,7 @@ from pydantic_settings import (
|
|
|
19
19
|
from fides.common.utils import echo_red
|
|
20
20
|
|
|
21
21
|
from .admin_ui_settings import AdminUISettings
|
|
22
|
-
from .celery_settings import CelerySettings
|
|
22
|
+
from .celery_settings import CelerySettings, merge_celery_environment
|
|
23
23
|
from .cli_settings import CLISettings
|
|
24
24
|
from .consent_settings import ConsentSettings
|
|
25
25
|
from .credentials_settings import merge_credentials_environment
|
|
@@ -157,6 +157,12 @@ def build_config(config_dict: Dict[str, Any]) -> FidesConfig:
|
|
|
157
157
|
config_dict = handle_deprecated_fields(config_dict)
|
|
158
158
|
config_dict = handle_deprecated_env_variables(config_dict)
|
|
159
159
|
|
|
160
|
+
# Logic for merging additional Celery environment variables before validation.
|
|
161
|
+
# This allows arbitrary Celery configuration via FIDES__CELERY__* env vars,
|
|
162
|
+
# not just the explicitly defined fields in CelerySettings.
|
|
163
|
+
# Environment variables override TOML file values.
|
|
164
|
+
config_dict["celery"] = merge_celery_environment(config_dict.get("celery", {}))
|
|
165
|
+
|
|
160
166
|
settings_map: Dict[str, Any] = {
|
|
161
167
|
"admin_ui": AdminUISettings,
|
|
162
168
|
"celery": CelerySettings,
|
fides/config/celery_settings.py
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
import json
|
|
2
|
+
import os
|
|
3
|
+
from json import JSONDecodeError
|
|
4
|
+
from typing import Any, Dict
|
|
5
|
+
|
|
1
6
|
from pydantic import Field
|
|
2
7
|
from pydantic_settings import SettingsConfigDict
|
|
3
8
|
|
|
@@ -23,3 +28,40 @@ class CelerySettings(FidesSettings):
|
|
|
23
28
|
"If False, tasks are sent to the queue.",
|
|
24
29
|
)
|
|
25
30
|
model_config = SettingsConfigDict(env_prefix=ENV_PREFIX)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def merge_celery_environment(celery_dict: Dict[str, Any]) -> Dict[str, Any]:
|
|
34
|
+
"""
|
|
35
|
+
Given a dict of config settings, merges configs which are found
|
|
36
|
+
in environment variables. Environment variable configs are treated
|
|
37
|
+
as overrides. Environment variables must use the prefix FIDES__CELERY__.
|
|
38
|
+
|
|
39
|
+
Example:
|
|
40
|
+
FIDES__CELERY__WORKER_PREFETCH_MULTIPLIER=4
|
|
41
|
+
|
|
42
|
+
Merges to:
|
|
43
|
+
{"worker_prefetch_multiplier": 4}
|
|
44
|
+
|
|
45
|
+
This allows arbitrary Celery configuration to be set via environment variables,
|
|
46
|
+
not just the explicitly defined fields in CelerySettings.
|
|
47
|
+
"""
|
|
48
|
+
for key, value in os.environ.items():
|
|
49
|
+
if key.startswith(ENV_PREFIX):
|
|
50
|
+
# Strip the prefix and convert to lowercase
|
|
51
|
+
stripped_key = key[len(ENV_PREFIX) :].lower()
|
|
52
|
+
if stripped_key:
|
|
53
|
+
# Normalize boolean strings only to preserve case-sensitive values
|
|
54
|
+
# like URLs (e.g., Redis://myhost) or passwords
|
|
55
|
+
normalized_value = value
|
|
56
|
+
if value.lower() in ("true", "false"):
|
|
57
|
+
normalized_value = value.lower()
|
|
58
|
+
|
|
59
|
+
# Use JSON parsing to handle type conversion properly
|
|
60
|
+
# This handles booleans (true/false), integers, floats, etc.
|
|
61
|
+
try:
|
|
62
|
+
celery_dict[stripped_key] = json.loads(normalized_value)
|
|
63
|
+
except (JSONDecodeError, ValueError):
|
|
64
|
+
# If JSON parsing fails, keep it as a string
|
|
65
|
+
celery_dict[stripped_key] = value
|
|
66
|
+
|
|
67
|
+
return celery_dict
|
|
@@ -43,6 +43,7 @@ from fides.api.schemas.privacy_request import (
|
|
|
43
43
|
PrivacyRequestStatus,
|
|
44
44
|
)
|
|
45
45
|
from fides.api.service.messaging.message_dispatch_service import message_send_enabled
|
|
46
|
+
from fides.api.service.privacy_request.duplication_detection import check_for_duplicates
|
|
46
47
|
from fides.api.service.privacy_request.request_service import (
|
|
47
48
|
build_required_privacy_request_kwargs,
|
|
48
49
|
cache_data,
|
|
@@ -231,7 +232,7 @@ class PrivacyRequestService:
|
|
|
231
232
|
|
|
232
233
|
return False
|
|
233
234
|
|
|
234
|
-
# pylint: disable=too-many-branches
|
|
235
|
+
# pylint: disable=too-many-branches, too-many-statements
|
|
235
236
|
def create_privacy_request(
|
|
236
237
|
self,
|
|
237
238
|
privacy_request_data: PrivacyRequestCreate,
|
|
@@ -372,6 +373,9 @@ class PrivacyRequestService:
|
|
|
372
373
|
authenticated,
|
|
373
374
|
)
|
|
374
375
|
|
|
376
|
+
if not isinstance(privacy_request_data, PrivacyRequestResubmit):
|
|
377
|
+
check_for_duplicates(db=self.db, privacy_request=privacy_request)
|
|
378
|
+
|
|
375
379
|
return privacy_request
|
|
376
380
|
|
|
377
381
|
except RedisNotConfigured as exc:
|
|
@@ -441,10 +445,7 @@ class PrivacyRequestService:
|
|
|
441
445
|
if not existing_privacy_request:
|
|
442
446
|
return None
|
|
443
447
|
|
|
444
|
-
if existing_privacy_request.status
|
|
445
|
-
PrivacyRequestStatus.complete,
|
|
446
|
-
PrivacyRequestStatus.pending,
|
|
447
|
-
]:
|
|
448
|
+
if existing_privacy_request.status == PrivacyRequestStatus.complete:
|
|
448
449
|
raise FidesopsException(
|
|
449
450
|
f"Cannot resubmit a {existing_privacy_request.status} privacy request"
|
|
450
451
|
)
|
|
@@ -644,6 +645,63 @@ class PrivacyRequestService:
|
|
|
644
645
|
|
|
645
646
|
return BulkReviewResponse(succeeded=succeeded, failed=failed)
|
|
646
647
|
|
|
648
|
+
def cancel_privacy_requests(
|
|
649
|
+
self,
|
|
650
|
+
request_ids: List[str],
|
|
651
|
+
cancel_reason: Optional[str],
|
|
652
|
+
*,
|
|
653
|
+
user_id: Optional[str] = None,
|
|
654
|
+
) -> BulkReviewResponse:
|
|
655
|
+
"""Cancel a list of privacy requests and/or report failure"""
|
|
656
|
+
succeeded: List[PrivacyRequest] = []
|
|
657
|
+
failed: List[BulkUpdateFailed] = []
|
|
658
|
+
|
|
659
|
+
# Terminal states that cannot be canceled
|
|
660
|
+
terminal_states = [
|
|
661
|
+
PrivacyRequestStatus.complete,
|
|
662
|
+
PrivacyRequestStatus.denied,
|
|
663
|
+
PrivacyRequestStatus.canceled,
|
|
664
|
+
PrivacyRequestStatus.error,
|
|
665
|
+
]
|
|
666
|
+
|
|
667
|
+
for request_id in request_ids:
|
|
668
|
+
try:
|
|
669
|
+
privacy_request = self._validate_privacy_request_for_bulk_operation(
|
|
670
|
+
request_id
|
|
671
|
+
)
|
|
672
|
+
except PrivacyRequestError as exc:
|
|
673
|
+
failed.append(BulkUpdateFailed(message=exc.message, data=exc.data))
|
|
674
|
+
continue
|
|
675
|
+
|
|
676
|
+
if privacy_request.status in terminal_states:
|
|
677
|
+
failed.append(
|
|
678
|
+
BulkUpdateFailed(
|
|
679
|
+
message=f"Cannot cancel privacy request in {privacy_request.status.value} status",
|
|
680
|
+
data=PrivacyRequestResponse.model_validate(
|
|
681
|
+
privacy_request
|
|
682
|
+
).model_dump(mode="json"),
|
|
683
|
+
)
|
|
684
|
+
)
|
|
685
|
+
continue
|
|
686
|
+
|
|
687
|
+
try:
|
|
688
|
+
privacy_request.cancel_processing(
|
|
689
|
+
db=self.db, cancel_reason=cancel_reason
|
|
690
|
+
)
|
|
691
|
+
|
|
692
|
+
succeeded.append(privacy_request)
|
|
693
|
+
except Exception:
|
|
694
|
+
failed.append(
|
|
695
|
+
BulkUpdateFailed(
|
|
696
|
+
message="Privacy request could not be canceled",
|
|
697
|
+
data=PrivacyRequestResponse.model_validate(
|
|
698
|
+
privacy_request
|
|
699
|
+
).model_dump(mode="json"),
|
|
700
|
+
)
|
|
701
|
+
)
|
|
702
|
+
|
|
703
|
+
return BulkReviewResponse(succeeded=succeeded, failed=failed)
|
|
704
|
+
|
|
647
705
|
def finalize_privacy_requests(
|
|
648
706
|
self,
|
|
649
707
|
request_ids: List[str],
|
|
@@ -907,6 +965,9 @@ def handle_approval(
|
|
|
907
965
|
db: Session, config_proxy: ConfigProxy, privacy_request: PrivacyRequest
|
|
908
966
|
) -> None:
|
|
909
967
|
"""Evaluate manual approval and handle processing or pre-approval webhooks."""
|
|
968
|
+
check_for_duplicates(db=db, privacy_request=privacy_request)
|
|
969
|
+
if privacy_request.status == PrivacyRequestStatus.duplicate:
|
|
970
|
+
return
|
|
910
971
|
if _manual_approval_required(config_proxy, privacy_request):
|
|
911
972
|
_trigger_pre_approval_webhooks(db, privacy_request)
|
|
912
973
|
else:
|
|
@@ -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/
|
|
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/d5701118537cbdd2.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d5701118537cbdd2.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-6f97ebe373e7ef6b.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-e64fd8510033a27c.js" defer=""></script><script src="/_next/static/chunks/pages/404-d079b8bf35250874.js" defer=""></script><script src="/_next/static/FZTEUgamBvOhgPWce135w/_buildManifest.js" defer=""></script><script src="/_next/static/FZTEUgamBvOhgPWce135w/_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":"FZTEUgamBvOhgPWce135w","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,t,e,c,a,i,n,d,o,r,p,u,f,g,b,m,j,k,h,y,l,v,I,w,x,F,_,U,q,N,A,S,B,C,z,D,E,L,M,T,P,G,H,J,K,O,Q,R,V,W,X,Y,Z,$,ss,st,se,sc){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":["static/css/972dc7eef106ee7c.css","static/chunks/pages/index-692d27dbe9392c9f.js"],"/404":["static/chunks/pages/404-d079b8bf35250874.js"],"/_error":["static/chunks/pages/_error-bede3a8288930dcf.js"],"/add-systems":[s,t,"static/css/dd15c278b964de80.css","static/chunks/pages/add-systems-d451bc8932330141.js"],"/add-systems/manual":[s,a,u,y,t,i,f,g,l,U,"static/css/af32fcac7a177a0e.css","static/chunks/pages/add-systems/manual-ddd9d7d40847fc28.js"],"/add-systems/multiple":[i,b,q,"static/chunks/pages/add-systems/multiple-b4d18c1f4d414f5f.js"],"/consent":["static/chunks/pages/consent-b37ed76849330edd.js"],"/consent/configure":[i,b,"static/chunks/pages/consent/configure-d93418688bd258eb.js"],"/consent/configure/add-vendors":[i,b,q,"static/chunks/pages/consent/configure/add-vendors-c24663cd5dec57db.js"],"/consent/privacy-experience":[u,N,"static/chunks/pages/consent/privacy-experience-d9b7b311195df29e.js"],"/consent/privacy-experience/new":[c,A,m,S,"static/chunks/pages/consent/privacy-experience/new-115a085e5d42de45.js"],"/consent/privacy-experience/[id]":[c,A,m,S,"static/chunks/pages/consent/privacy-experience/[id]-9b1f2b1c06968166.js"],"/consent/privacy-notices":[N,"static/chunks/pages/consent/privacy-notices-cdfc9bb19f47c709.js"],"/consent/privacy-notices/new":[c,B,m,C,"static/chunks/pages/consent/privacy-notices/new-dc95e7ed278d1a29.js"],"/consent/privacy-notices/[id]":[c,B,m,C,"static/chunks/pages/consent/privacy-notices/[id]-3de34624829cbce8.js"],"/consent/properties":[j,z,"static/chunks/pages/consent/properties-0b995b01dc4dbd1f.js"],"/consent/reporting":[s,t,e,"static/chunks/pages/consent/reporting-e3ad3a55624e302a.js"],"/data-catalog":["static/css/95ac327e5d70148d.css","static/chunks/pages/data-catalog-d16acb6fc07aad46.js"],"/data-catalog/[systemId]/projects":[r,p,v,"static/chunks/pages/data-catalog/[systemId]/projects-dfc1ead4a12c9ffa.js"],"/data-catalog/[systemId]/projects/[projectUrn]":[p,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-49e5477eb1a11b92.js"],"/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]":[s,t,r,p,D,E,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-dd82729296dee5c5.js"],"/data-catalog/[systemId]/resources":[p,"static/chunks/pages/data-catalog/[systemId]/resources-feda358d1801c18d.js"],"/data-catalog/[systemId]/resources/[resourceUrn]":[s,t,r,p,D,E,"static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-8442eb219958ac7e.js"],"/data-discovery/action-center":[s,t,k,"static/css/0fd6e0884cfcc5f3.css","static/chunks/pages/data-discovery/action-center-6f1e012cd641da19.js"],"/data-discovery/action-center/datastore":["static/chunks/pages/data-discovery/action-center/datastore-4498881c26f1458d.js"],"/data-discovery/action-center/datastore/[monitorId]":[s,t,k,L,"static/css/65ae906f224cd8ae.css","static/chunks/pages/data-discovery/action-center/datastore/[monitorId]-c51a1e98c45d231a.js"],"/data-discovery/action-center/website":["static/chunks/pages/data-discovery/action-center/website-5b3e0009d442bc3f.js"],"/data-discovery/action-center/website/[monitorId]":[s,t,d,k,M,"static/css/cb417f0587918f85.css","static/chunks/pages/data-discovery/action-center/website/[monitorId]-f66d0655897c4400.js"],"/data-discovery/action-center/website/[monitorId]/[systemId]":[s,y,t,i,k,l,"static/css/f9a2a44d3d34c904.css","static/chunks/pages/data-discovery/action-center/website/[monitorId]/[systemId]-bcfe38eebca30f8c.js"],"/data-discovery/activity":[s,t,d,I,e,"static/chunks/pages/data-discovery/activity-581d6248fcf98d17.js"],"/data-discovery/detection":[s,t,d,I,T,e,"static/chunks/pages/data-discovery/detection-2b48f7e524743b2b.js"],"/data-discovery/detection/[resourceUrn]":[s,t,d,I,T,e,"static/chunks/pages/data-discovery/detection/[resourceUrn]-ddc1c1641e1e9430.js"],"/data-discovery/discovery":[s,t,d,r,P,h,"static/chunks/pages/data-discovery/discovery-0ffec855f5df262c.js"],"/data-discovery/discovery/[resourceUrn]":[s,t,d,r,P,h,"static/chunks/pages/data-discovery/discovery/[resourceUrn]-862b67418600251e.js"],"/datamap":[s,t,n,f,G,e,"static/chunks/pages/datamap-6a030ab8c2e2b0db.js"],"/dataset":[o,n,"static/chunks/pages/dataset-85dee7e81dc4bafb.js"],"/dataset/new":[s,o,t,n,e,"static/chunks/pages/dataset/new-d4ca1f485b6e9e02.js"],"/dataset/[datasetId]":[w,"static/chunks/pages/dataset/[datasetId]-5566edf9a9d1be2d.js"],"/dataset/[datasetId]/[collectionName]":[a,w,H,v,"static/chunks/pages/dataset/[datasetId]/[collectionName]-0b008dad90b00aaa.js"],"/dataset/[datasetId]/[collectionName]/[...subfieldNames]":[a,w,H,v,"static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-6cb66f649b8ca4bf.js"],"/datastore-connection":["static/css/f89607996ad54f4b.css","static/chunks/pages/datastore-connection-f1f0affc18327033.js"],"/datastore-connection/new":[s,a,o,u,t,n,J,e,"static/chunks/pages/datastore-connection/new-912723bc86299b1a.js"],"/datastore-connection/[id]":[s,a,o,t,n,J,e,"static/chunks/pages/datastore-connection/[id]-e905e018a2cab35d.js"],"/fides-js-docs":["static/chunks/2fbcc6de-a6c61724c327e9fa.js","static/chunks/e3251fe7-5777b5d778e6fffa.js",o,"static/chunks/9911-ece086f2230e34f0.js",K,"static/css/0b4b1b65cc874774.css","static/chunks/9195-550bd50d538c5f79.js","static/chunks/pages/fides-js-docs-5235760b3e508d7d.js"],"/integrations":[s,c,a,O,t,g,Q,h,"static/chunks/pages/integrations-adfe6c5ac5b703d0.js"],"/integrations/[id]":[s,c,a,O,t,g,Q,h,"static/chunks/pages/integrations/[id]-1b94e2d769a182b2.js"],"/login":["static/chunks/pages/login-0cb0eb44bf2dd24c.js"],"/login/[provider]":["static/chunks/pages/login/[provider]-c58beef131c3a82d.js"],"/new-privacy-requests":[s,t,x,R,e,"static/chunks/pages/new-privacy-requests-f9be7080ebbb7445.js"],"/notifications":["static/chunks/pages/notifications-4ea28f6b1dd63642.js"],"/notifications/digests":[F,"static/chunks/pages/notifications/digests-6a1ded8cdde836c4.js"],"/notifications/digests/new":[F,V,"static/chunks/pages/notifications/digests/new-9b106b1d2d93985b.js"],"/notifications/digests/[id]":[F,V,"static/chunks/pages/notifications/digests/[id]-caaa8602a1d449b1.js"],"/notifications/providers":[s,t,e,"static/chunks/pages/notifications/providers-a03cbd698a23e5b3.js"],"/notifications/providers/new":[s,c,t,W,e,"static/chunks/pages/notifications/providers/new-5e83220ff1f2a250.js"],"/notifications/providers/[key]":[s,c,t,W,e,"static/chunks/pages/notifications/providers/[key]-f94e3accf9507ebf.js"],"/notifications/templates":["static/chunks/pages/notifications/templates-1621a4b87c432117.js"],"/notifications/templates/add-template":[X,"static/chunks/pages/notifications/templates/add-template-0448bb4ae8536c58.js"],"/notifications/templates/[id]":[X,"static/chunks/pages/notifications/templates/[id]-3cde574b3c8447c0.js"],"/poc/ant-components":["static/chunks/pages/poc/ant-components-e02516d9fd314528.js"],"/poc/form-experiments/AntForm":["static/chunks/pages/poc/form-experiments/AntForm-fec08bea801b4918.js"],"/poc/form-experiments/FormikAntFormItem":["static/chunks/pages/poc/form-experiments/FormikAntFormItem-d911e5fbf5a4a888.js"],"/poc/form-experiments/FormikControlled":["static/chunks/pages/poc/form-experiments/FormikControlled-91b1adcac6a57b2d.js"],"/poc/form-experiments/FormikField":["static/chunks/pages/poc/form-experiments/FormikField-de309d8813b1ebfb.js"],"/poc/form-experiments/FormikSpreadField":[Y,"static/chunks/pages/poc/form-experiments/FormikSpreadField-af097d661f6abcf4.js"],"/poc/forms":[Y,"static/chunks/pages/poc/forms-f2943c1309062284.js"],"/poc/table-migration":[i,b,"static/chunks/pages/poc/table-migration-03eda417711ae909.js"],"/privacy-requests":[s,t,n,x,R,e,"static/chunks/pages/privacy-requests-2c0ec8fed16c20ae.js"],"/privacy-requests/configure":["static/chunks/pages/privacy-requests/configure-bda7b474493e7128.js"],"/privacy-requests/configure/storage":[s,t,e,"static/chunks/pages/privacy-requests/configure/storage-ea6f78fa8b2d3f6c.js"],"/privacy-requests/[id]":[s,t,x,"static/css/05d05fc31d09638b.css","static/chunks/pages/privacy-requests/[id]-1fe486f3af832c80.js"],"/properties":[j,z,"static/chunks/pages/properties-17fd44d98f5bd5b6.js"],"/properties/add-property":[j,Z,"static/chunks/pages/properties/add-property-438084cca0d0f10d.js"],"/properties/[id]":[j,Z,"static/chunks/pages/properties/[id]-30d298a47e85709f.js"],"/reporting/datamap":[s,K,t,f,G,e,"static/chunks/pages/reporting/datamap-baf77d34a3b3bece.js"],"/sandbox/privacy-notices":["static/chunks/pages/sandbox/privacy-notices-8c80391025ca7339.js"],"/settings/about":[$,"static/chunks/pages/settings/about-6c4904c157477285.js"],"/settings/about/alpha":[$,"static/chunks/pages/settings/about/alpha-68eaac2d79133679.js"],"/settings/consent":["static/chunks/pages/settings/consent-ee8820fe0fa14c77.js"],"/settings/consent/[configuration_id]/[purpose_id]":["static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-7c19810858b708cc.js"],"/settings/custom-fields":[s,t,e,"static/chunks/pages/settings/custom-fields-1db425150dcb1b6b.js"],"/settings/custom-fields/new":[ss,"static/chunks/pages/settings/custom-fields/new-37c29ef618e9fe3c.js"],"/settings/custom-fields/[id]":[ss,"static/chunks/pages/settings/custom-fields/[id]-8eb862182f19a6c2.js"],"/settings/domain-records":["static/chunks/pages/settings/domain-records-e334b43fa5c5b1e6.js"],"/settings/domains":["static/chunks/pages/settings/domains-9d18eb5c38d85522.js"],"/settings/email-templates":["static/chunks/pages/settings/email-templates-cb937ed7c4b1e5a8.js"],"/settings/locations":[st,se,"static/chunks/pages/settings/locations-835281251f0785cd.js"],"/settings/organization":["static/chunks/pages/settings/organization-7fd050c92866938c.js"],"/settings/privacy-requests":[s,t,e,"static/chunks/pages/settings/privacy-requests-59ea66130fca0d05.js"],"/settings/regulations":[st,se,"static/chunks/pages/settings/regulations-b0fe1051d908f366.js"],"/systems":[s,t,M,e,"static/chunks/pages/systems-adc13b542e10a37d.js"],"/systems/configure/[id]":[s,a,u,y,t,i,f,g,l,U,"static/css/012b10627a654d5c.css","static/chunks/pages/systems/configure/[id]-0e7c7228d01290ea.js"],"/systems/configure/[id]/test-datasets":[o,n,"static/chunks/pages/systems/configure/[id]/test-datasets-f108bf5015144d2f.js"],"/taxonomy":["static/chunks/678d4732-50255cc09048e643.js",s,c,"static/chunks/1533-84e250d1f26e6d7d.js",t,L,"static/css/3d6582469f7d56e0.css","static/chunks/pages/taxonomy-23dd250da26511c5.js"],"/user-management":[_,"static/chunks/pages/user-management-6b88ca3e02ee67c9.js"],"/user-management/new":[_,sc,"static/chunks/pages/user-management/new-7dce2916cc589c54.js"],"/user-management/profile/[id]":[_,sc,"static/chunks/pages/user-management/profile/[id]-aed30fb22ae7c9ec.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/datastore","/data-discovery/action-center/datastore/[monitorId]","/data-discovery/action-center/website","/data-discovery/action-center/website/[monitorId]","/data-discovery/action-center/website/[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]","/new-privacy-requests","/notifications","/notifications/digests","/notifications/digests/new","/notifications/digests/[id]","/notifications/providers","/notifications/providers/new","/notifications/providers/[key]","/notifications/templates","/notifications/templates/add-template","/notifications/templates/[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/storage","/privacy-requests/[id]","/properties","/properties/add-property","/properties/[id]","/reporting/datamap","/sandbox/privacy-notices","/settings/about","/settings/about/alpha","/settings/consent","/settings/consent/[configuration_id]/[purpose_id]","/settings/custom-fields","/settings/custom-fields/new","/settings/custom-fields/[id]","/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-e01ee730c8ad9ece.js","static/chunks/7245-686665c197b58e68.js","static/css/14ba79c49597d37a.css","static/chunks/3662-f6a1ddca5ee42076.js","static/chunks/454-d5c2c84f1a14e4f1.js","static/chunks/401-fe8db8b5d8f600de.js","static/chunks/1840-5bbe6d878ed73fb4.js","static/chunks/4817-d29f40d4ce729f37.js","static/chunks/6527-0eed08abe252a918.js","static/chunks/6372-a8d0f08dac1ebd0e.js","static/chunks/9682-da69ac5d06f281da.js","static/chunks/5277-e8a036319456127f.js","static/chunks/7218-d297a4a06f924b09.js","static/chunks/8939-4925751c57c51f87.js","static/chunks/3923-44255a63d6d80ff5.js","static/chunks/6084-82e2df433fe5ba85.js","static/chunks/2040-fe1a06d82c0413f1.js","static/chunks/7059-12be23a345a94c1e.js","static/css/a1800714b486e230.css","static/chunks/6344-3e21444374f8059f.js","static/chunks/6780-3db5133c1f4c6f1e.js","static/css/d2d4e9a6923e6730.css","static/chunks/5724-1e40975cefa405f0.js","static/chunks/5487-8dedd1ca94fbba54.js","static/chunks/3655-93ecd09f1cb9dbef.js","static/chunks/8212-b9e8295ca883c9f8.js","static/chunks/7476-a43c046c24de37cc.js","static/chunks/7079-6e6efc3396ff1ebb.js","static/chunks/796-e83ace3c6ab99ac7.js","static/chunks/6853-1adbdf6418ec3d62.js","static/chunks/9014-eeae6f581158e645.js","static/chunks/1817-508b16628e8eb225.js","static/chunks/3615-5e2d062d684b8fa1.js","static/chunks/6954-aa0c60ee1092be8e.js","static/chunks/5783-6055edba275155ca.js","static/chunks/9330-e519adec48222d45.js","static/css/4861ca3e088f2d05.css","static/chunks/9341-bfc0e59bcc56c604.js","static/chunks/9965-56c5e4fc9cd3b3a5.js","static/chunks/2397-40b8db1cb2f23e2a.js","static/chunks/9046-e4daf28840a69fd6.js","static/chunks/5258-4672eae0656430f9.js","static/chunks/549-6e2442db533a711e.js","static/chunks/6362-12e3fd23130ccf15.js","static/chunks/3214-90ce0a366b0f461a.js","static/chunks/9450-b7b7bb1d755ecf57.js","static/chunks/4277-13bcf4516326d474.js","static/chunks/7654-716cf37a020b3d11.js","static/chunks/4496-bed72bd5639075be.js","static/chunks/3377-eb5cd82b3ee6ab0c.js","static/chunks/7630-c654c61ba98d8c74.js","static/chunks/2921-b10bbc3a9104933b.js","static/chunks/5185-b2ac9fecc00b67e7.js","static/chunks/1115-0da062111df309bf.js","static/chunks/5643-55d758444a8d7162.js","static/chunks/9826-657652d55936a8c6.js","static/css/10994e916bc9a00a.css","static/chunks/3696-6db05a35ae806825.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1115],{77213:function(e,n,i){i.d(n,{Z:function(){return f}});var t=i(24246),s=i(98227),r=i(88038),a=i.n(r),o=i(86677);i(27378);var l=i(25980),c=i(90867),g=i(42478),d=i(77830),u=()=>{let e=(0,o.useRouter)();return(0,t.jsx)(s.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,t.jsxs)(s.xuv,{children:[(0,t.jsxs)(s.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,t.jsx)(s.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,t.jsx)(s.wpx,{onClick:()=>{e.push(d.AD)},children:"Configure"})]}),(0,t.jsxs)(s.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},f=e=>{let{children:n,title:i,padded:r=!0,mainProps:d}=e,f=(0,l.hz)(),m=(0,o.useRouter)(),h="/privacy-requests"===m.pathname||"/datastore-connection"===m.pathname,x=!(f.flags.messagingConfiguration&&h),{data:p}=(0,g.JE)(void 0,{skip:x}),{data:y}=(0,c.PW)(void 0,{skip:x}),j=f.flags.messagingConfiguration&&(!p||!y)&&h;return(0,t.jsxs)(s.kCb,{"data-testid":i,direction:"column",h:"100vh",children:[(0,t.jsxs)(a(),{children:[(0,t.jsxs)("title",{children:["Fides Admin UI - ",i]}),(0,t.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,t.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,t.jsxs)(s.kCb,{as:"main",direction:"column",py:r?6:0,px:r?10:0,h:r?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...d,children:[j?(0,t.jsx)(u,{}):null,n]})]})}},58754:function(e,n,i){var t=i(24246),s=i(98227),r=i(70788);n.Z=e=>{let{heading:n,breadcrumbItems:i,isSticky:a=!0,children:o,rightContent:l,style:c,...g}=e;return(0,t.jsxs)("div",{...g,style:a?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...c}:{paddingBottom:"24px",...c},children:[(0,t.jsxs)(s.jqI,{justify:"space-between",children:["string"==typeof n?(0,t.jsx)(s.lQT,{className:i||o?"pb-4":void 0,level:1,"data-testid":"page-heading",children:n}):n,l&&(0,t.jsx)("div",{"data-testid":"page-header-right-content",children:l})]}),!!i&&(0,t.jsx)(r.m,{className:o?"pb-4":void 0,items:i,"data-testid":"page-breadcrumb"}),o]})}},70788:function(e,n,i){i.d(n,{m:function(){return c}});var t=i(24246),s=i(98227),r=i(79894),a=i.n(r),o=i(27378);let{Text:l}=s.AntTypography,c=e=>{let{items:n,...i}=e,r=(0,o.useMemo)(()=>null==n?void 0:n.map((e,i)=>{let r=i===n.length-1,o={...e},c=o.onClick&&!o.href;return("string"==typeof o.title&&(o.title=(0,t.jsx)(l,{style:{color:"inherit",maxWidth:r?void 0:400},ellipsis:!r,id:r?"breadcrumb-current-page":void 0,children:o.title})),c)?o.title=(0,t.jsx)(s.wpx,{type:"text",size:"small",icon:o.icon,onClick:o.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:o.title}):(o.icon&&(o.title=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"anticon align-text-bottom",children:o.icon}),o.title]})),o.href&&o.title&&(o.title=(0,t.jsx)(a(),{href:o.href,className:"ant-breadcrumb-link",children:o.title}),delete o.href)),o}),[n]);return(0,t.jsx)(s.zrq,{items:r,...i})}},42478:function(e,n,i){i.d(n,{FU:function(){return c},JE:function(){return s},Ki:function(){return d},SU:function(){return u},W:function(){return f},h9:function(){return r},jc:function(){return t},qt:function(){return l},sn:function(){return g}});let{useGetEmailInviteStatusQuery:t,useGetActiveMessagingProviderQuery:s,useCreateMessagingConfigurationMutation:r,useCreateMessagingConfigurationSecretsMutation:a,useGetMessagingConfigurationDetailsQuery:o,useGetMessagingConfigurationsQuery:l,useGetMessagingConfigurationByKeyQuery:c,useUpdateMessagingConfigurationByKeyMutation:g,useUpdateMessagingConfigurationSecretsByKeyMutation:d,useCreateTestConnectionMessageMutation:u,useDeleteMessagingConfigurationByKeyMutation:f}=i(78780).u.injectEndpoints({endpoints:e=>({getEmailInviteStatus:e.query({query:()=>({url:"/messaging/email-invite/status"}),providesTags:()=>["Email Invite Status"]}),createMessagingConfiguration:e.mutation({query:e=>({url:"messaging/config",method:"POST",body:e}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getActiveMessagingProvider:e.query({queryFn:async(e,n,i,t)=>{let s=await t({url:"messaging/default/active"});return s.error&&404===s.error.status?{data:null}:s},providesTags:["Messaging Config"]}),createMessagingConfigurationSecrets:e.mutation({query:e=>({url:"messaging/default/".concat(e.service_type,"/secret"),method:"PUT",body:e.details}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getMessagingConfigurationDetails:e.query({query:e=>({url:"messaging/default/".concat(e.type)}),providesTags:["Messaging Config"]}),getMessagingConfigurations:e.query({query:()=>({url:"messaging/config"}),providesTags:["Messaging Config"]}),getMessagingConfigurationByKey:e.query({query:e=>({url:"messaging/config/".concat(e.key)}),providesTags:["Messaging Config"]}),createTestConnectionMessage:e.mutation({query:e=>({url:"messaging/test/".concat(e.service_type),method:"POST",body:e.details}),invalidatesTags:["Messaging Config"]}),updateMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"PATCH",body:e.config}),invalidatesTags:["Messaging Config","Configuration Settings"]}),updateMessagingConfigurationSecretsByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key,"/secret"),method:"PUT",body:e.secrets}),invalidatesTags:["Messaging Config","Configuration Settings"]}),deleteMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"DELETE"}),invalidatesTags:["Messaging Config","Configuration Settings"]})})})},71115:function(e,n,i){i.r(n),i.d(n,{default:function(){return d}});var t=i(24246),s=i(98227),r=i(25980),a=i(62165),o=i(16394);let l=e=>{let{flag:n,value:i,override:r}=e;return"boolean"!=typeof i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.xvT,{fontSize:"sm",children:n}),(0,t.jsx)(s.xvT,{fontSize:"sm",children:i})]}):a.Ky[n].userCannotModify?null:(0,t.jsxs)(s.NIc,{display:"contents",children:[(0,t.jsx)(s.xuv,{justifySelf:"center",children:(0,t.jsx)(s.rAg,{id:"flag-".concat(n),checked:i,onChange:()=>r({flag:n,value:!i})})}),(0,t.jsx)(s.xuv,{children:(0,t.jsx)(s.lXp,{margin:0,fontSize:"sm",htmlFor:"flag-".concat(n),title:n,children:(0,o.Py)(n)})}),(0,t.jsx)(s.xuv,{children:(0,t.jsx)(s.xvT,{fontSize:"sm",children:a.Ky[n].description})})]})};var c=i(77213),g=i(58754),d=e=>{let{showAlphaFeatures:n=!1}=e,i=(0,r.hz)(),{flags:o,override:d,reset:u}=(0,a.Vb)(),f=a.R$.filter(e=>e.startsWith("alpha")),m=a.R$.filter(e=>!e.startsWith("alpha"));return(0,t.jsxs)(c.Z,{title:"About Fides",children:[(0,t.jsx)(g.Z,{heading:"About Fides",children:(0,t.jsxs)(s.kCb,{direction:"column",gap:4,children:[(0,t.jsxs)(s.xuv,{children:[(0,t.jsxs)(s.xvT,{as:"span",fontWeight:"bold",children:["Fides Core Version:"," "]}),(0,t.jsx)(s.xvT,{as:"pre",display:"inline",children:i.version})]}),i.plusVersion?(0,t.jsxs)(s.xuv,{children:[(0,t.jsxs)(s.xvT,{as:"span",fontWeight:"bold",children:["Fides Plus Version:"," "]}),(0,t.jsx)(s.xvT,{as:"pre",display:"inline",children:i.plusVersion})]}):null,(0,t.jsx)(s.izJ,{})]})}),(0,t.jsxs)(s.kCb,{alignItems:"center",gap:4,children:[(0,t.jsx)(s.X6q,{as:"h2",fontSize:"xl",children:"Beta Features"}),(0,t.jsx)(s.wpx,{onClick:u,children:"Reset"})]}),(0,t.jsx)(s.rjZ,{gridTemplateColumns:"1fr 2fr 6fr",gridColumnGap:4,gridRowGap:2,alignItems:"center",className:"py-6",children:m.map(e=>(0,t.jsx)(l,{flag:e,value:o[e],override:d},e))}),n&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.kCb,{alignItems:"center",gap:4,children:[(0,t.jsx)(s.X6q,{as:"h2",fontSize:"xl",children:"Alpha Features"}),(0,t.jsx)(s.wpx,{onClick:u,children:"Reset"})]}),(0,t.jsx)(s.rjZ,{gridTemplateColumns:"1fr 2fr 6fr",gridColumnGap:4,gridRowGap:2,alignItems:"center",className:"py-6",children:f.map(e=>(0,t.jsx)(l,{flag:e,value:o[e],override:d},e))})]}),(0,t.jsxs)(s.xuv,{children:[(0,t.jsxs)(s.xvT,{fontSize:"sm",children:["Please visit"," ",(0,t.jsx)(s.rUS,{color:"complimentary.500",href:"https://docs.ethyca.com",isExternal:!0,children:"docs.ethyca.com"})," ","for more information on these features."]}),(0,t.jsxs)(s.xvT,{fontSize:"sm",children:["For questions and feedback, please join us at"," ",(0,t.jsx)(s.rUS,{color:"complimentary.500",href:"https://fidescommunity.slack.com",isExternal:!0,children:"fidescommunity.slack.com"}),"."]})]})]})}}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1115],{77213:function(e,n,i){i.d(n,{Z:function(){return f}});var t=i(24246),s=i(98227),r=i(88038),a=i.n(r),o=i(86677);i(27378);var l=i(25980),c=i(90867),g=i(42478),d=i(77830),u=()=>{let e=(0,o.useRouter)();return(0,t.jsx)(s.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,t.jsxs)(s.xuv,{children:[(0,t.jsxs)(s.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,t.jsx)(s.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,t.jsx)(s.wpx,{onClick:()=>{e.push(d.AD)},children:"Configure"})]}),(0,t.jsxs)(s.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},f=e=>{let{children:n,title:i,padded:r=!0,mainProps:d}=e,f=(0,l.hz)(),m=(0,o.useRouter)(),h="/privacy-requests"===m.pathname||"/datastore-connection"===m.pathname,x=!(f.flags.messagingConfiguration&&h),{data:p}=(0,g.JE)(void 0,{skip:x}),{data:y}=(0,c.PW)(void 0,{skip:x}),j=f.flags.messagingConfiguration&&(!p||!y)&&h;return(0,t.jsxs)(s.kCb,{"data-testid":i,direction:"column",h:"100vh",children:[(0,t.jsxs)(a(),{children:[(0,t.jsxs)("title",{children:["Fides Admin UI - ",i]}),(0,t.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,t.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,t.jsxs)(s.kCb,{as:"main",direction:"column",py:r?6:0,px:r?10:0,h:r?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...d,children:[j?(0,t.jsx)(u,{}):null,n]})]})}},58754:function(e,n,i){var t=i(24246),s=i(98227),r=i(70788);n.Z=e=>{let{heading:n,breadcrumbItems:i,isSticky:a=!0,children:o,rightContent:l,style:c,...g}=e;return(0,t.jsxs)("div",{...g,style:a?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...c}:{paddingBottom:"24px",...c},children:[(0,t.jsxs)(s.jqI,{justify:"space-between",children:["string"==typeof n?(0,t.jsx)(s.lQT,{className:i||o?"pb-4":void 0,level:1,"data-testid":"page-heading",children:n}):n,l&&(0,t.jsx)("div",{"data-testid":"page-header-right-content",children:l})]}),!!i&&(0,t.jsx)(r.m,{className:o?"pb-4":void 0,items:i,"data-testid":"page-breadcrumb"}),o]})}},70788:function(e,n,i){i.d(n,{m:function(){return c}});var t=i(24246),s=i(98227),r=i(79894),a=i.n(r),o=i(27378);let{Text:l}=s.AntTypography,c=e=>{let{items:n,...i}=e,r=(0,o.useMemo)(()=>null==n?void 0:n.map((e,i)=>{let r=i===n.length-1,o={...e},c=o.onClick&&!o.href;return("string"==typeof o.title&&(o.title=(0,t.jsx)(l,{style:{color:"inherit",maxWidth:r?void 0:400},ellipsis:!r,id:r?"breadcrumb-current-page":void 0,children:o.title})),c)?o.title=(0,t.jsx)(s.wpx,{type:"text",size:"small",icon:o.icon,onClick:o.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:o.title}):(o.icon&&(o.title=(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("span",{className:"anticon align-text-bottom",children:o.icon}),o.title]})),o.href&&o.title&&(o.title=(0,t.jsx)(a(),{href:o.href,className:"ant-breadcrumb-link",children:o.title}),delete o.href)),o}),[n]);return(0,t.jsx)(s.zrq,{items:r,...i})}},42478:function(e,n,i){i.d(n,{FU:function(){return c},JE:function(){return s},Ki:function(){return d},SU:function(){return u},W:function(){return f},h9:function(){return r},jc:function(){return t},qt:function(){return l},sn:function(){return g}});let{useGetEmailInviteStatusQuery:t,useGetActiveMessagingProviderQuery:s,useCreateMessagingConfigurationMutation:r,useCreateMessagingConfigurationSecretsMutation:a,useGetMessagingConfigurationDetailsQuery:o,useGetMessagingConfigurationsQuery:l,useGetMessagingConfigurationByKeyQuery:c,useUpdateMessagingConfigurationByKeyMutation:g,useUpdateMessagingConfigurationSecretsByKeyMutation:d,useCreateTestConnectionMessageMutation:u,useDeleteMessagingConfigurationByKeyMutation:f}=i(78780).u.injectEndpoints({endpoints:e=>({getEmailInviteStatus:e.query({query:()=>({url:"/messaging/email-invite/status"}),providesTags:()=>["Email Invite Status"]}),createMessagingConfiguration:e.mutation({query:e=>({url:"messaging/config",method:"POST",body:e}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getActiveMessagingProvider:e.query({queryFn:async(e,n,i,t)=>{let s=await t({url:"messaging/default/active"});return s.error&&404===s.error.status?{data:null}:s},providesTags:["Messaging Config"]}),createMessagingConfigurationSecrets:e.mutation({query:e=>({url:"messaging/default/".concat(e.service_type,"/secret"),method:"PUT",body:e.details}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getMessagingConfigurationDetails:e.query({query:e=>({url:"messaging/default/".concat(e.type)}),providesTags:["Messaging Config"]}),getMessagingConfigurations:e.query({query:()=>({url:"messaging/config"}),providesTags:["Messaging Config"]}),getMessagingConfigurationByKey:e.query({query:e=>({url:"messaging/config/".concat(e.key)}),providesTags:["Messaging Config"]}),createTestConnectionMessage:e.mutation({query:e=>({url:"messaging/test/".concat(e.service_type),method:"POST",body:e.details}),invalidatesTags:["Messaging Config"]}),updateMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"PATCH",body:e.config}),invalidatesTags:["Messaging Config","Configuration Settings"]}),updateMessagingConfigurationSecretsByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key,"/secret"),method:"PUT",body:e.secrets}),invalidatesTags:["Messaging Config","Configuration Settings"]}),deleteMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"DELETE"}),invalidatesTags:["Messaging Config","Configuration Settings"]})})})},71115:function(e,n,i){i.r(n),i.d(n,{default:function(){return d}});var t=i(24246),s=i(98227),r=i(25980),a=i(62165),o=i(16394);let l=e=>{let{flag:n,value:i,override:r}=e;return"boolean"!=typeof i?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(s.xvT,{fontSize:"sm",children:n}),(0,t.jsx)(s.xvT,{fontSize:"sm",children:i})]}):a.Ky[n].userCannotModify?null:(0,t.jsxs)(s.NIc,{display:"contents",children:[(0,t.jsx)(s.xuv,{justifySelf:"center",children:(0,t.jsx)(s.rAg,{id:"flag-".concat(n),checked:i,onChange:()=>r({flag:n,value:!i})})}),(0,t.jsx)(s.xuv,{children:(0,t.jsx)(s.lXp,{margin:0,fontSize:"sm",htmlFor:"flag-".concat(n),title:n,children:a.Ky[n].label||(0,o.Py)(n)})}),(0,t.jsx)(s.xuv,{children:(0,t.jsx)(s.xvT,{fontSize:"sm",children:a.Ky[n].description})})]})};var c=i(77213),g=i(58754),d=e=>{let{showAlphaFeatures:n=!1}=e,i=(0,r.hz)(),{flags:o,override:d,reset:u}=(0,a.Vb)(),f=a.R$.filter(e=>e.startsWith("alpha")),m=a.R$.filter(e=>!e.startsWith("alpha"));return(0,t.jsxs)(c.Z,{title:"About Fides",children:[(0,t.jsx)(g.Z,{heading:"About Fides",children:(0,t.jsxs)(s.kCb,{direction:"column",gap:4,children:[(0,t.jsxs)(s.xuv,{children:[(0,t.jsxs)(s.xvT,{as:"span",fontWeight:"bold",children:["Fides Core Version:"," "]}),(0,t.jsx)(s.xvT,{as:"pre",display:"inline",children:i.version})]}),i.plusVersion?(0,t.jsxs)(s.xuv,{children:[(0,t.jsxs)(s.xvT,{as:"span",fontWeight:"bold",children:["Fides Plus Version:"," "]}),(0,t.jsx)(s.xvT,{as:"pre",display:"inline",children:i.plusVersion})]}):null,(0,t.jsx)(s.izJ,{})]})}),(0,t.jsxs)(s.kCb,{alignItems:"center",gap:4,children:[(0,t.jsx)(s.X6q,{as:"h2",fontSize:"xl",children:"Beta Features"}),(0,t.jsx)(s.wpx,{onClick:u,children:"Reset"})]}),(0,t.jsx)(s.rjZ,{gridTemplateColumns:"1fr 2fr 6fr",gridColumnGap:4,gridRowGap:2,alignItems:"center",className:"py-6",children:m.map(e=>(0,t.jsx)(l,{flag:e,value:o[e],override:d},e))}),n&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(s.kCb,{alignItems:"center",gap:4,children:[(0,t.jsx)(s.X6q,{as:"h2",fontSize:"xl",children:"Alpha Features"}),(0,t.jsx)(s.wpx,{onClick:u,children:"Reset"})]}),(0,t.jsx)(s.rjZ,{gridTemplateColumns:"1fr 2fr 6fr",gridColumnGap:4,gridRowGap:2,alignItems:"center",className:"py-6",children:f.map(e=>(0,t.jsx)(l,{flag:e,value:o[e],override:d},e))})]}),(0,t.jsxs)(s.xuv,{children:[(0,t.jsxs)(s.xvT,{fontSize:"sm",children:["Please visit"," ",(0,t.jsx)(s.rUS,{color:"complimentary.500",href:"https://docs.ethyca.com",isExternal:!0,children:"docs.ethyca.com"})," ","for more information on these features."]}),(0,t.jsxs)(s.xvT,{fontSize:"sm",children:["For questions and feedback, please join us at"," ",(0,t.jsx)(s.rUS,{color:"complimentary.500",href:"https://fidescommunity.slack.com",isExternal:!0,children:"fidescommunity.slack.com"}),"."]})]})]})}}}]);
|