ethyca-fides 2.71.1rc0__py2.py3-none-any.whl → 2.71.2b0__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.71.1rc0.dist-info → ethyca_fides-2.71.2b0.dist-info}/METADATA +2 -2
- {ethyca_fides-2.71.1rc0.dist-info → ethyca_fides-2.71.2b0.dist-info}/RECORD +233 -230
- fides/_version.py +3 -3
- fides/api/api/v1/endpoints/generic_overrides.py +9 -3
- fides/api/models/privacy_notice.py +8 -0
- fides/api/models/privacy_request/privacy_request.py +1 -1
- fides/api/service/connectors/query_configs/saas_query_config.py +16 -0
- fides/api/service/connectors/saas_connector.py +9 -1
- fides/api/util/saas_util.py +1 -0
- fides/data/language/languages.yml +2 -0
- fides/service/dataset/dataset_service.py +39 -0
- fides/service/privacy_request/privacy_request_service.py +103 -48
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/chunks/1099-27b2d4e59a569b38.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{1115-90baef2a89f361ad.js → 1115-8fb5000847f73ec7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/1437-fb699e9d69c3e325.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/155-3d03f101c662c054.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{1817-1ad037b7d6d2f6d2.js → 1817-10b392e1dd9c4673.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{1975.78e719130cfe3fd6.js → 1975.50599b6774562644.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{2040-fdecc41a18e40bdc.js → 2040-01d5edb1802d3482.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/2397-40506a386a3a469a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{2921-66f65496c3a09316.js → 2921-edfdffa353a611e4.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/3377-4c129258b4c4ea28.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{3696-90c8b336bbc46782.js → 3696-259be222ea12392a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/3700-42976bfaad3b91c9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3772-aa7beafe5df5e656.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{3923-98bea73b618292aa.js → 3923-fa1d71afc7dc9e6e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{401-ffe4e8436e1eceb9.js → 401-5270e3e23b08ab2b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/431-e01ee730c8ad9ece.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4817-5f9b9c9bafe888f1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{5185-51eaa78e3ed6bfb7.js → 5185-325e5435a0c7dcb7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/5258-2d28b2c64acf5de3.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{5279-12c9cbdc67ad7b14.js → 5279-21929b12c927b022.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/549-c3b4c51f45a84a52.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{5643-10a36584c399526c.js → 5643-7583c1f8dbd83273.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{5783-d119cb132abd8a91.js → 5783-55c0387508e50f3e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6277-182efc294d413f64.js → 6277-ca31d48a33202761.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/6315-2d4e86a32fc40458.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6344-ca66a6e10d128179.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{6853-7004a8c420b1ca02.js → 6853-cb15625a713b3ef9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6954-4b24e1731c1cc3b3.js → 6954-08b59d28d7a2a43b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/7245-895bb7c6a6c797bc.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{7476-d055aa931da47ac0.js → 7476-f25fce73eeb1f9c6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/7488-df17b592fbeaa1eb.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{7630-d0d3a0fe3f95e971.js → 7630-71582de0e818e28f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/7773-98d34d188ae0a694.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{796-02086581996a0548.js → 796-7944f684f8945506.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/8011-56031d82d5428981.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/8373-7f940f5ac9c38b1f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9046-31b16a7e872c22be.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9070-13f237db78da586d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9330-cea1bf40f5d27e53.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9676.b86ecbcfe5afd25d.js → 9676.1ea49d4b6e0541f2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/9682-2754256aeae141bb.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9826-ccedc28e978ca9e1.js → 9826-e71887e2c4283249.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/9899-15530c468d5656a1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9965-54037b6c8f36d14b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{404-2eb8aed4939f1142.js → 404-2014144a1a0fa64f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{_app-a7c02dd2ff07f9e1.js → _app-9e869a44215709ed.js} +9 -9
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-4f3ba02774f27795.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-2ca59996860a33c5.js → multiple-1c9cef80deccb15d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-4adeec3bcec05f7b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-7a258b7ecd6da4b8.js → add-vendors-f7bdc2da53137ffd.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-fb5017ff5fa54fcc.js → configure-a27b220fe76bdc8e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-e1e2fd704ac2d71d.js → [id]-542fd4a4322122f1.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-92182be6603c2842.js → privacy-experience-4254abef7bb52edd.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-5fc78b78a51c239c.js → [id]-d31d1c233e94dc1f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-b79bcb93b5f4c734.js → new-2ea057e6217993f9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-ab54b19609bff325.js → privacy-notices-8e76cbfaf71fdcb9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-069f4e3ee96ebf77.js → properties-eb557180eded0abd.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-93730a4316c0d980.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{consent-d2bf72508c3cad55.js → consent-c64589e53338e59a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-2fa4b3a58f75f81d.js → [resourceUrn]-d3d1841bc8105e56.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-8cd4d1d6ba000333.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-69b429a9d30ebaf1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-5b31e3d7727b917a.js → [resourceUrn]-791c522ad1d9a2ce.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources-8c7103ebf01d6e6a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-a53ef0161235ee47.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-f85f4f8fcf1bfbdb.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/data-explorer-3619e454763dba09.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-ace848575e688200.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-53ca31c50c43007f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-f87e4a0f664f4cde.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-844a8de0d1b506e2.js → [resourceUrn]-699762cb8a66237e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-11b07cf2d91b17ef.js → detection-d970d0b82db36c88.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-5525cf287d4ab493.js → [resourceUrn]-a6343038a447699c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-ed4723e1b67d890e.js → discovery-ce82ba79f9bf825c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datamap-ae7a4c1c4eabc0d4.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-179e5d09ccff50c1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]-59466e5e238c59d0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-36d90c8c39fb0d1c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-db54d01fd8f6df50.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset-55d312af5228e098.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-488beba62e832660.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-4aad5495f9bf81ce.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-496ec7ecca8259dc.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{index-b74d1e8608ae5b5d.js → index-8a2ba955d92d52ee.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-4580f70eb41b6a7d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations-f69b04d3b4cf43b1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{[id]-e8d2140787045acd.js → [id]-d6eed2dc5d27f625.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{add-template-e3f93462a08251bf.js → add-template-c7b43fa365f4be10.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{messaging-b5f7d6afdecd013d.js → messaging-c7ba755c2e0e2377.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{ant-components-248ad9f65a872442.js → ant-components-f14bfd5890a0e939.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{AntForm-aedb66a62042b10a.js → AntForm-e4274a4d5d23eea9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikAntFormItem-018df38b7cd77fdb.js → FormikAntFormItem-f5bce1ceb0502f04.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikControlled-6ca9099d03aab817.js → FormikControlled-90b4ea9f9deca6e2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikField-0f2c90786ea005a4.js → FormikField-d6043ae8dae6ef7d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{forms-200b51a725f8b2d1.js → forms-520ba5ae02f47bda.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{table-migration-29fb7b39f8962650.js → table-migration-b46f432b51421fae.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{[id]-febf156d2977f3ac.js → [id]-fe4ed3ad75151e36.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-de681c2d022c9e0d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-8f577df28ebca869.js → configure-04ebf2fb6fc4358a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-cd8ba2eef9085377.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-57a75c7e9659271a.js → [id]-f75a407d78857ab3.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-8964c2300206bc89.js → add-property-975ff605e1dbc09c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{properties-08472b2a6bf1d392.js → properties-e7fdf3a9a3e8c267.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-764b6ce8e030d4a1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-f3e6e74e0efb005c.js → [purpose_id]-da78452b3c41b29e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{consent-4d658222ec800511.js → consent-6442e761ecb5c65a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-ea9baf24de35d3b1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-744f669431b84f71.js → domain-records-44d06e280990854d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domains-a3275554ffe8e640.js → domains-6f61d886aa6f5ce7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{email-templates-604790638c656fbd.js → email-templates-11148b182370fd83.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-be2a885150adc133.js → locations-33448bf0a1d53870.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/messaging-providers/{[key]-77239269acc2d31a.js → [key]-4a18d8135c0dbf2a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/messaging-providers/{new-8bf1821722b082e9.js → new-41957281b8ec26b1.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/messaging-providers-776258bad0941a7d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{organization-3c86162afe9759df.js → organization-3c315036f1fc9f90.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/privacy-requests-00917525c9245a90.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-4fe3b90747d885e5.js → regulations-5d924b2f1f926b88.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/{test-datasets-2deb6becece69d46.js → test-datasets-8067e12227210f48.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-4d470bbf199a2f9c.js → [id]-1a902922759cae76.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems-277ea1f34c3714cf.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-cecea5832cb1f3b0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-98f737e735eaa0f0.js → [id]-726fbc0a34ffba1f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-562624e5461083ec.js → user-management-df9b75ab01c1a2ea.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{webpack-2766492c5dbceb0a.js → webpack-118fb4723d13c14f.js} +1 -1
- fides/ui-build/static/admin/_next/static/css/372d6a236c84613f.css +1 -0
- fides/ui-build/static/admin/_next/static/zmEQMSpOBih8kmA1t-EWO/_buildManifest.js +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/[monitorId]/[systemId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/data-explorer.html +1 -0
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId].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-preview.js +1 -1
- fides/ui-build/static/admin/lib/fides-tcf.js +2 -2
- fides/ui-build/static/admin/lib/fides.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/messaging/[id].html +1 -1
- fides/ui-build/static/admin/messaging/add-template.html +1 -1
- fides/ui-build/static/admin/messaging.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/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/messaging-providers/[key].html +1 -1
- fides/ui-build/static/admin/settings/messaging-providers/new.html +1 -1
- fides/ui-build/static/admin/settings/messaging-providers.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/155-c1ae010c664e2245.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3585-efd5d41f08e180c4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3855-12ee1dfbbe47fd28.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3872-04d3afbfa41a7782.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/409-c1256ecda1b15db6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/431-78bf05f35d7eec4f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4558-de5ced790b3380dc.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4608-a9941d0c236ebca1.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4718-6585c97c26647e65.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/502-d3ecae97b67befbd.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/504-88caa30c03374e9b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5309-3b6cf0cc9d0c6a83.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5574-c31ea831371610d5.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6882-10296485ec326e6b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7045-f15044a4d4525946.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7079-bbc7b856802a4834.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7158-04745cc8d684b2e7.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7218-e2983b96b95e33b4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7725-f2a7be705b75dcc3.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7929-0fd0d4948bc8d70e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8002-ed832921ad190832.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9046-2a332fe338535c84.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9226-4a7027057f55ca2a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-4ec03eed67572861.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-58920afe2b67f952.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-ae4909cad9b67822.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-4a1af12d2d7cd660.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-99573a1ee3ef8f4c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources-6e429b7511028d60.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-56fd0f3e465e52b6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-29c1fb777bd464e0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-0d512528b498d75c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-040813022f0890c9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-2635ef588bf06145.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datamap-15616bea02397ef4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-d4031e438c363fff.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]-9463af37079762d0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-60a4a9eb4aab4c11.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-ea198c4a7869f402.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset-0e3a6ac4797ffbbb.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-816e02b6cbe4a684.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-b6838162200141b3.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-223c2d1ded51bfb1.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-153eb88ab4e7dc6d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations-f682b1def859931e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-648d775d0fce49dc.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-7af00f72cf694077.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-f7753e9effae3816.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-5edfec10a945ca43.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/messaging-providers-8d92be437793c96f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/privacy-requests-8cbdfd08e0fa88fb.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems-0f1d833282f09684.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-a8cfa7de4948b374.js +0 -1
- fides/ui-build/static/admin/_next/static/css/64fac6fb884435c2.css +0 -1
- fides/ui-build/static/admin/_next/static/vSOB67a-1uIVzRUKBYMSo/_buildManifest.js +0 -1
- {ethyca_fides-2.71.1rc0.dist-info → ethyca_fides-2.71.2b0.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.71.1rc0.dist-info → ethyca_fides-2.71.2b0.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.71.1rc0.dist-info → ethyca_fides-2.71.2b0.dist-info}/licenses/LICENSE +0 -0
- {ethyca_fides-2.71.1rc0.dist-info → ethyca_fides-2.71.2b0.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{vSOB67a-1uIVzRUKBYMSo → zmEQMSpOBih8kmA1t-EWO}/_ssgManifest.js +0 -0
fides/_version.py
CHANGED
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "2025-10-
|
|
11
|
+
"date": "2025-10-03T09:34:20-0700",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "2.71.
|
|
14
|
+
"full-revisionid": "521a48a9c7dbc813d08cf2053f318328912e86b6",
|
|
15
|
+
"version": "2.71.2b0"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -54,6 +54,7 @@ from fides.common.api.v1.urn_registry import DATASETS_CLEAN, V1_URL_PREFIX
|
|
|
54
54
|
from fides.service.dataset.dataset_service import (
|
|
55
55
|
DatasetNotFoundException,
|
|
56
56
|
DatasetService,
|
|
57
|
+
LinkedDatasetException,
|
|
57
58
|
)
|
|
58
59
|
from fides.service.taxonomy.taxonomy_service import TaxonomyService
|
|
59
60
|
|
|
@@ -126,7 +127,7 @@ async def update_dataset(
|
|
|
126
127
|
except DatasetNotFoundException as e:
|
|
127
128
|
raise HTTPException(
|
|
128
129
|
status_code=HTTP_404_NOT_FOUND,
|
|
129
|
-
detail=
|
|
130
|
+
detail=str(e),
|
|
130
131
|
)
|
|
131
132
|
|
|
132
133
|
|
|
@@ -248,7 +249,7 @@ async def get_dataset(
|
|
|
248
249
|
except DatasetNotFoundException as e:
|
|
249
250
|
raise HTTPException(
|
|
250
251
|
status_code=HTTP_404_NOT_FOUND,
|
|
251
|
-
detail=
|
|
252
|
+
detail=str(e),
|
|
252
253
|
)
|
|
253
254
|
|
|
254
255
|
|
|
@@ -275,7 +276,12 @@ async def delete_dataset(
|
|
|
275
276
|
except DatasetNotFoundException as e:
|
|
276
277
|
raise HTTPException(
|
|
277
278
|
status_code=HTTP_404_NOT_FOUND,
|
|
278
|
-
detail=
|
|
279
|
+
detail=str(e),
|
|
280
|
+
)
|
|
281
|
+
except LinkedDatasetException as e:
|
|
282
|
+
raise HTTPException(
|
|
283
|
+
status_code=HTTP_400_BAD_REQUEST,
|
|
284
|
+
detail=str(e),
|
|
279
285
|
)
|
|
280
286
|
|
|
281
287
|
|
|
@@ -530,6 +530,10 @@ class PrivacyNotice(PrivacyNoticeBase, Base):
|
|
|
530
530
|
# to prevent the dry update from being added to Session.new
|
|
531
531
|
updated_attributes.pop("translations", [])
|
|
532
532
|
updated_attributes.pop("children", [])
|
|
533
|
+
# The source PrivacyNotice may have cached/computed attributes (e.g., @cached_property)
|
|
534
|
+
# stored on the instance dict. These should not be included in historical payloads.
|
|
535
|
+
# For example, 'cookies' is cached on the PrivacyNotice instance when accessed.
|
|
536
|
+
updated_attributes.pop("cookies", None)
|
|
533
537
|
|
|
534
538
|
# create a new object with the updated attribute data to keep this
|
|
535
539
|
# ORM object (i.e., `self`) pristine
|
|
@@ -676,6 +680,10 @@ def create_historical_record_for_notice_and_translation(
|
|
|
676
680
|
history_data: dict = create_historical_data_from_record(privacy_notice)
|
|
677
681
|
history_data.pop("translations", None)
|
|
678
682
|
history_data.pop("parent_id", None)
|
|
683
|
+
# The source PrivacyNotice may have cached/computed attributes (e.g., @cached_property)
|
|
684
|
+
# stored on the instance dict. These should not be included in historical payloads.
|
|
685
|
+
# For example, 'cookies' is cached on the PrivacyNotice instance when accessed.
|
|
686
|
+
history_data.pop("cookies", None)
|
|
679
687
|
|
|
680
688
|
updated_translation_data: dict = create_historical_data_from_record(
|
|
681
689
|
notice_translation
|
|
@@ -369,7 +369,7 @@ class PrivacyRequest(
|
|
|
369
369
|
return {
|
|
370
370
|
"id": self.id,
|
|
371
371
|
"external_id": self.external_id,
|
|
372
|
-
"status": self.status.value,
|
|
372
|
+
"status": self.status.value if self.status is not None else None,
|
|
373
373
|
"requested_at": (
|
|
374
374
|
self.requested_at.isoformat() if self.requested_at else None
|
|
375
375
|
),
|
|
@@ -46,6 +46,7 @@ from fides.api.util.saas_util import (
|
|
|
46
46
|
ISO_8601_DATETIME,
|
|
47
47
|
MASKED_OBJECT_FIELDS,
|
|
48
48
|
PRIVACY_REQUEST_ID,
|
|
49
|
+
PRIVACY_REQUEST_OBJECT,
|
|
49
50
|
REPLY_TO,
|
|
50
51
|
REPLY_TO_TOKEN,
|
|
51
52
|
UUID,
|
|
@@ -211,6 +212,7 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
|
|
|
211
212
|
input_data: Dict[str, List[Any]],
|
|
212
213
|
policy: Optional[Policy],
|
|
213
214
|
read_request: SaaSRequest,
|
|
215
|
+
privacy_request: Optional[PrivacyRequest] = None,
|
|
214
216
|
) -> List[Tuple[SaaSRequestParams, Dict[str, Any]]]:
|
|
215
217
|
"""
|
|
216
218
|
Takes the identity and reference values from input_data and combines them
|
|
@@ -223,6 +225,10 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
|
|
|
223
225
|
self.current_request = read_request
|
|
224
226
|
|
|
225
227
|
request_params = []
|
|
228
|
+
|
|
229
|
+
if privacy_request:
|
|
230
|
+
input_data[PRIVACY_REQUEST_OBJECT] = [privacy_request.to_safe_dict()]
|
|
231
|
+
|
|
226
232
|
param_value_maps = self.generate_param_value_maps(input_data, read_request)
|
|
227
233
|
|
|
228
234
|
for param_value_map in param_value_maps:
|
|
@@ -342,6 +348,14 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
|
|
|
342
348
|
if self.privacy_request:
|
|
343
349
|
param_values[PRIVACY_REQUEST_ID] = self.privacy_request.id
|
|
344
350
|
|
|
351
|
+
privacy_request_object = input_data.get(PRIVACY_REQUEST_OBJECT)
|
|
352
|
+
if (
|
|
353
|
+
isinstance(privacy_request_object, list)
|
|
354
|
+
and len(privacy_request_object) > 0
|
|
355
|
+
and isinstance(privacy_request_object[0], dict)
|
|
356
|
+
):
|
|
357
|
+
param_values[PRIVACY_REQUEST_OBJECT] = privacy_request_object[0]
|
|
358
|
+
|
|
345
359
|
custom_privacy_request_fields = input_data.get(CUSTOM_PRIVACY_REQUEST_FIELDS)
|
|
346
360
|
if (
|
|
347
361
|
isinstance(custom_privacy_request_fields, list)
|
|
@@ -462,6 +476,8 @@ class SaaSQueryConfig(QueryConfig[SaaSRequestParams]):
|
|
|
462
476
|
if self.privacy_request:
|
|
463
477
|
param_values[PRIVACY_REQUEST_ID] = self.privacy_request.id
|
|
464
478
|
|
|
479
|
+
param_values[PRIVACY_REQUEST_OBJECT] = privacy_request.to_safe_dict()
|
|
480
|
+
|
|
465
481
|
param_values[CUSTOM_PRIVACY_REQUEST_FIELDS] = custom_privacy_request_fields
|
|
466
482
|
param_values[UUID] = str(uuid4())
|
|
467
483
|
param_values[ISO_8601_DATETIME] = datetime.now().strftime("%Y-%m-%dT%H:%M:%SZ")
|
|
@@ -67,6 +67,7 @@ from fides.api.util.logger_context_utils import (
|
|
|
67
67
|
from fides.api.util.saas_util import (
|
|
68
68
|
ALL_OBJECT_FIELDS,
|
|
69
69
|
CUSTOM_PRIVACY_REQUEST_FIELDS,
|
|
70
|
+
PRIVACY_REQUEST_OBJECT,
|
|
70
71
|
assign_placeholders,
|
|
71
72
|
map_param_values,
|
|
72
73
|
)
|
|
@@ -276,6 +277,8 @@ class SaaSConnector(BaseConnector[AuthenticatedClient], Contextualizable):
|
|
|
276
277
|
if custom_privacy_request_fields:
|
|
277
278
|
input_data[CUSTOM_PRIVACY_REQUEST_FIELDS] = [custom_privacy_request_fields]
|
|
278
279
|
|
|
280
|
+
input_data[PRIVACY_REQUEST_OBJECT] = [privacy_request.to_safe_dict()]
|
|
281
|
+
|
|
279
282
|
rows: List[Row] = []
|
|
280
283
|
for read_request in read_requests:
|
|
281
284
|
self.set_saas_request_state(read_request)
|
|
@@ -300,7 +303,12 @@ class SaaSConnector(BaseConnector[AuthenticatedClient], Contextualizable):
|
|
|
300
303
|
# if a path is provided, it means we want to generate HTTP requests from the config
|
|
301
304
|
if read_request.path:
|
|
302
305
|
prepared_requests: List[Tuple[SaaSRequestParams, Dict[str, Any]]] = (
|
|
303
|
-
query_config.generate_requests(
|
|
306
|
+
query_config.generate_requests(
|
|
307
|
+
input_data,
|
|
308
|
+
policy,
|
|
309
|
+
read_request,
|
|
310
|
+
privacy_request=privacy_request,
|
|
311
|
+
)
|
|
304
312
|
)
|
|
305
313
|
|
|
306
314
|
# Iterates through initial list of prepared requests and through subsequent
|
fides/api/util/saas_util.py
CHANGED
|
@@ -26,6 +26,7 @@ PRIVACY_REQUEST_ID = "privacy_request_id"
|
|
|
26
26
|
MASKED_OBJECT_FIELDS = "masked_object_fields"
|
|
27
27
|
ALL_OBJECT_FIELDS = "all_object_fields"
|
|
28
28
|
CUSTOM_PRIVACY_REQUEST_FIELDS = "custom_privacy_request_fields"
|
|
29
|
+
PRIVACY_REQUEST_OBJECT = "privacy_request"
|
|
29
30
|
UUID = "uuid"
|
|
30
31
|
ISO_8601_DATETIME = "iso_8601_datetime"
|
|
31
32
|
FIELD_LIST = "field_list"
|
|
@@ -6,6 +6,7 @@ from loguru import logger
|
|
|
6
6
|
from sqlalchemy import select
|
|
7
7
|
from sqlalchemy.orm import Session
|
|
8
8
|
|
|
9
|
+
from fides.api.models.datasetconfig import DatasetConfig # type: ignore[attr-defined]
|
|
9
10
|
from fides.api.schemas.dataset import ValidateDatasetResponse
|
|
10
11
|
from fides.service.dataset.dataset_validator import DatasetValidator
|
|
11
12
|
|
|
@@ -26,6 +27,10 @@ class DatasetNotFoundException(DatasetError):
|
|
|
26
27
|
"""Raised when a dataset is not found"""
|
|
27
28
|
|
|
28
29
|
|
|
30
|
+
class LinkedDatasetException(DatasetError):
|
|
31
|
+
"""Raised when attempting to delete a dataset that's associated to a DatasetConfig"""
|
|
32
|
+
|
|
33
|
+
|
|
29
34
|
class DatasetService:
|
|
30
35
|
def __init__(self, db: Session):
|
|
31
36
|
self.db = db
|
|
@@ -68,6 +73,40 @@ class DatasetService:
|
|
|
68
73
|
def delete_dataset(self, fides_key: str) -> CtlDataset:
|
|
69
74
|
"""Delete a dataset by fides key"""
|
|
70
75
|
dataset = self.get_dataset(fides_key)
|
|
76
|
+
|
|
77
|
+
# Check if dataset is associated with any DatasetConfigs
|
|
78
|
+
associated_configs = (
|
|
79
|
+
self.db.query(DatasetConfig)
|
|
80
|
+
.filter(DatasetConfig.ctl_dataset_id == dataset.id)
|
|
81
|
+
.all()
|
|
82
|
+
)
|
|
83
|
+
|
|
84
|
+
if associated_configs:
|
|
85
|
+
# Create detailed error message
|
|
86
|
+
integration_details = []
|
|
87
|
+
for config in associated_configs:
|
|
88
|
+
connection_name = (
|
|
89
|
+
config.connection_config.name or config.connection_config.key
|
|
90
|
+
)
|
|
91
|
+
detail = f"'{connection_name}' ({config.connection_config.connection_type.value})" # type: ignore[attr-defined]
|
|
92
|
+
|
|
93
|
+
# Add system information if available
|
|
94
|
+
if config.connection_config.system_id:
|
|
95
|
+
system = config.connection_config.system
|
|
96
|
+
if system:
|
|
97
|
+
system_name = system.name or system.fides_key
|
|
98
|
+
detail += f" in system '{system_name}'"
|
|
99
|
+
|
|
100
|
+
integration_details.append(detail)
|
|
101
|
+
|
|
102
|
+
message = (
|
|
103
|
+
f"Cannot delete dataset '{fides_key}' because it is associated with "
|
|
104
|
+
f"the following integration(s): {', '.join(integration_details)}. "
|
|
105
|
+
f"Remove the dataset from these integrations before deleting."
|
|
106
|
+
)
|
|
107
|
+
|
|
108
|
+
raise LinkedDatasetException(message)
|
|
109
|
+
|
|
71
110
|
dataset.delete(self.db)
|
|
72
111
|
return dataset
|
|
73
112
|
|
|
@@ -90,65 +90,120 @@ class PrivacyRequestService:
|
|
|
90
90
|
if privacy_request_data.location:
|
|
91
91
|
return
|
|
92
92
|
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
93
|
+
config_dict = self._resolve_privacy_center_config_dict(
|
|
94
|
+
privacy_request_data.property_id
|
|
95
|
+
)
|
|
96
|
+
if not config_dict:
|
|
97
|
+
return
|
|
97
98
|
|
|
98
|
-
|
|
99
|
-
|
|
99
|
+
privacy_center_config = self._parse_privacy_center_config(config_dict)
|
|
100
|
+
if not privacy_center_config:
|
|
100
101
|
return
|
|
101
102
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
action = self._get_matching_action(
|
|
104
|
+
privacy_center_config, privacy_request_data.policy_key
|
|
105
|
+
)
|
|
106
|
+
if not action or not action.custom_privacy_request_fields:
|
|
107
|
+
return
|
|
108
|
+
|
|
109
|
+
missing_required = self._is_required_location_missing(
|
|
110
|
+
action, privacy_request_data
|
|
111
|
+
)
|
|
112
|
+
if missing_required:
|
|
113
|
+
# Find the first location field name to reference in the error for clarity
|
|
114
|
+
first_location_field = next(
|
|
115
|
+
(
|
|
116
|
+
name
|
|
117
|
+
for name, cfg in action.custom_privacy_request_fields.items()
|
|
118
|
+
if isinstance(cfg, LocationCustomPrivacyRequestField)
|
|
119
|
+
and getattr(cfg, "required", False)
|
|
120
|
+
),
|
|
121
|
+
"location",
|
|
106
122
|
)
|
|
107
|
-
|
|
123
|
+
raise PrivacyRequestError(
|
|
124
|
+
f"Location is required for field '{first_location_field}' but was not provided",
|
|
125
|
+
privacy_request_data.model_dump(mode="json"),
|
|
126
|
+
)
|
|
127
|
+
|
|
128
|
+
def _resolve_privacy_center_config_dict(
|
|
129
|
+
self, property_id: Optional[str]
|
|
130
|
+
) -> Optional[Dict[str, Any]]:
|
|
131
|
+
"""Return the applicable Privacy Center config as a dict using precedence.
|
|
132
|
+
|
|
133
|
+
Precedence:
|
|
134
|
+
1) The request's property config (if provided)
|
|
135
|
+
2) The default property's config (if available)
|
|
136
|
+
3) The single-row Privacy Center config table (legacy/global)
|
|
137
|
+
"""
|
|
138
|
+
# 1) Request's property config
|
|
139
|
+
if property_id:
|
|
140
|
+
prop = Property.get_by(self.db, field="id", value=property_id)
|
|
141
|
+
if prop and getattr(prop, "privacy_center_config", None):
|
|
142
|
+
return prop.privacy_center_config # type: ignore[return-value]
|
|
143
|
+
|
|
144
|
+
# 2) Default property config
|
|
145
|
+
default_prop = Property.get_by(self.db, field="is_default", value=True)
|
|
146
|
+
if default_prop and getattr(default_prop, "privacy_center_config", None):
|
|
147
|
+
return default_prop.privacy_center_config # type: ignore[return-value]
|
|
148
|
+
|
|
149
|
+
# 3) Single-row global config
|
|
150
|
+
privacy_center_config_record = PrivacyCenterConfigModel.filter(
|
|
151
|
+
db=self.db, conditions=PrivacyCenterConfigModel.single_row # type: ignore[arg-type]
|
|
152
|
+
).first()
|
|
153
|
+
if privacy_center_config_record:
|
|
154
|
+
return privacy_center_config_record.config # type: ignore[return-value]
|
|
155
|
+
return None
|
|
156
|
+
|
|
157
|
+
def _parse_privacy_center_config(
|
|
158
|
+
self, config_dict: Dict[str, Any]
|
|
159
|
+
) -> Optional[PrivacyCenterConfigSchema]:
|
|
160
|
+
"""Parse a config dict into a schema instance, logging and skipping on error."""
|
|
161
|
+
try:
|
|
162
|
+
return PrivacyCenterConfigSchema.model_validate(config_dict)
|
|
163
|
+
except Exception as exc: # pylint: disable=broad-except
|
|
108
164
|
logger.warning(
|
|
109
165
|
f"Could not parse Privacy Center config for location validation: {exc}"
|
|
110
166
|
)
|
|
111
|
-
return
|
|
167
|
+
return None
|
|
112
168
|
|
|
113
|
-
|
|
114
|
-
|
|
169
|
+
@staticmethod
|
|
170
|
+
def _get_matching_action(
|
|
171
|
+
privacy_center_config: PrivacyCenterConfigSchema, policy_key: str
|
|
172
|
+
) -> Optional[Any]:
|
|
173
|
+
"""Return the action entry matching the given policy key, if any."""
|
|
115
174
|
for action in privacy_center_config.actions:
|
|
116
|
-
if action.policy_key ==
|
|
117
|
-
|
|
118
|
-
|
|
175
|
+
if action.policy_key == policy_key:
|
|
176
|
+
return action
|
|
177
|
+
return None
|
|
178
|
+
|
|
179
|
+
@staticmethod
|
|
180
|
+
def _is_required_location_missing(
|
|
181
|
+
action: Any, privacy_request_data: PrivacyRequestCreate
|
|
182
|
+
) -> bool:
|
|
183
|
+
"""Check if any required location fields exist without values in the request."""
|
|
184
|
+
if not getattr(action, "custom_privacy_request_fields", None):
|
|
185
|
+
return False
|
|
186
|
+
|
|
187
|
+
custom_fields = action.custom_privacy_request_fields
|
|
188
|
+
for field_name, field_config in custom_fields.items():
|
|
189
|
+
if not isinstance(field_config, LocationCustomPrivacyRequestField):
|
|
190
|
+
continue
|
|
191
|
+
if not getattr(field_config, "required", False):
|
|
192
|
+
continue
|
|
119
193
|
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
194
|
+
# Check if this location field has a value in the request custom fields
|
|
195
|
+
field_has_value = False
|
|
196
|
+
if privacy_request_data.custom_privacy_request_fields:
|
|
197
|
+
field_data = privacy_request_data.custom_privacy_request_fields.get(
|
|
198
|
+
field_name
|
|
199
|
+
)
|
|
200
|
+
if field_data and getattr(field_data, "value", None):
|
|
201
|
+
field_has_value = True
|
|
202
|
+
|
|
203
|
+
if not field_has_value:
|
|
204
|
+
return True
|
|
123
205
|
|
|
124
|
-
|
|
125
|
-
for (
|
|
126
|
-
field_name,
|
|
127
|
-
field_config,
|
|
128
|
-
) in matching_action.custom_privacy_request_fields.items():
|
|
129
|
-
if isinstance(field_config, LocationCustomPrivacyRequestField):
|
|
130
|
-
# This is a location field - check if it's required
|
|
131
|
-
if field_config.required:
|
|
132
|
-
# Check if this field has a value in the request
|
|
133
|
-
field_has_value = False
|
|
134
|
-
if privacy_request_data.custom_privacy_request_fields:
|
|
135
|
-
field_data = (
|
|
136
|
-
privacy_request_data.custom_privacy_request_fields.get(
|
|
137
|
-
field_name
|
|
138
|
-
)
|
|
139
|
-
)
|
|
140
|
-
if (
|
|
141
|
-
field_data
|
|
142
|
-
and hasattr(field_data, "value")
|
|
143
|
-
and field_data.value
|
|
144
|
-
):
|
|
145
|
-
field_has_value = True
|
|
146
|
-
|
|
147
|
-
if not field_has_value:
|
|
148
|
-
raise PrivacyRequestError(
|
|
149
|
-
f"Location is required for field '{field_name}' but was not provided",
|
|
150
|
-
privacy_request_data.model_dump(mode="json"),
|
|
151
|
-
)
|
|
206
|
+
return False
|
|
152
207
|
|
|
153
208
|
# pylint: disable=too-many-branches
|
|
154
209
|
def create_privacy_request(
|
|
@@ -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/372d6a236c84613f.css" as="style"/><link rel="stylesheet" href="/_next/static/css/372d6a236c84613f.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-118fb4723d13c14f.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-9e869a44215709ed.js" defer=""></script><script src="/_next/static/chunks/pages/404-2014144a1a0fa64f.js" defer=""></script><script src="/_next/static/zmEQMSpOBih8kmA1t-EWO/_buildManifest.js" defer=""></script><script src="/_next/static/zmEQMSpOBih8kmA1t-EWO/_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":"zmEQMSpOBih8kmA1t-EWO","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1099],{56632:function(e,t,n){var i=n(89278),a=n(80068),o=n(50098);e.exports=function(e){return function(t,n,r){var s=Object(t);if(!a(t)){var l=i(n,3);t=o(t),n=function(e){return l(s[e],e,s)}}var c=e(t,n,r);return c>-1?s[l?t[c]:c]:void 0}}},64925:function(e,t,n){var i=n(56632)(n(66259));e.exports=i},66259:function(e,t,n){var i=n(95372),a=n(89278),o=n(47991),r=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return -1;var l=null==n?0:o(n);return l<0&&(l=r(s+l,0)),i(e,a(t,3),l)}},94919:function(e,t,n){var i=n(91936),a=1/0;e.exports=function(e){return e?(e=i(e))===a||e===-a?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},47991:function(e,t,n){var i=n(94919);e.exports=function(e){var t=i(e),n=t%1;return t==t?n?t-n:t:0}},12627:function(e,t,n){"use strict";var i=n(24246),a=n(79283),o=n(34929);t.Z=e=>{let{selectedTaxonomies:t,showDisabled:n=!1,...r}=e,{getDataCategoryDisplayNameProps:s,getDataCategories:l}=(0,o.Z)(),c=(n?l():l().filter(e=>e.active)).filter(e=>!(null==t?void 0:t.includes(e.fides_key))).map(e=>{let{name:t,primaryName:n}=s(e.fides_key);return{value:e.fides_key,name:t,primaryName:n,description:e.description||""}});return(0,i.jsx)(a.l,{options:c,...r})}},79283:function(e,t,n){"use strict";n.d(t,{l:function(){return d}});var i=n(24246),a=n(20595),o=n(72707),r=n.n(o);let s=e=>{let{data:{formattedTitle:t,description:n,name:o,primaryName:r}}=e;return(0,i.jsxs)(a.jqI,{gap:12,title:"".concat(t," - ").concat(n),children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{children:r||o}),r&&": ".concat(o)]}),(0,i.jsx)("em",{children:n})]})},l=e=>"options"in e&&Array.isArray(e.options),c=e=>({...e,className:r().option,formattedTitle:e.formattedTitle||[e.primaryName,e.name].filter(e=>e).join(": ")}),d=e=>{let{options:t,...n}=e,o=null==t?void 0:t.map(e=>l(e)?{...e,options:e.options.map(c)}:c(e));return(0,i.jsx)(a.WPr,{options:o,filterOption:(e,t)=>{var n,i;return(null==t?void 0:null===(n=t.formattedTitle)||void 0===n?void 0:n.toLowerCase().includes(e.toLowerCase()))||(null==t?void 0:null===(i=t.value)||void 0===i?void 0:i.toLowerCase().includes(e.toLowerCase()))||!1},optionFilterProp:"label",autoFocus:!0,variant:"borderless",optionRender:s,styles:{popup:{root:{minWidth:"500px"}}},className:"w-full p-0","data-testid":"taxonomy-select",...n})}},34929:function(e,t,n){"use strict";var i=n(24246),a=n(64925),o=n.n(a),r=n(27378),s=n(16134),l=n(30002),c=n(28079),d=n(57072);let u=()=>{let{isLoading:e}=(0,c.fd)(),t=(0,s.C)(c.U3),{isLoading:n}=(0,d.MO)(),i=(0,s.C)(d.qb),{isLoading:a}=(0,l.te)();return{dataUses:t,dataSubjects:(0,s.C)(l.ZL),dataCategories:i,isLoading:e||n||a}};t.Z=()=>{let{dataUses:e,dataCategories:t,dataSubjects:n,isLoading:a}=u(),s=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.split(".").slice(0,t).join(".")},l=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=t(e);if(!i)return{};let a=t(s(e,n)),o=!!i.parent_key;return{name:i.name||void 0,primaryName:o&&(null==a?void 0:a.name)!==i.name&&(null==a?void 0:a.name)||void 0}},c=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,{name:a,primaryName:o}=l(e,t,n);return a?o?(0,i.jsxs)(r.Fragment,{children:[(0,i.jsxs)("strong",{children:[o,":"]})," ",a]},e):(0,i.jsx)("strong",{children:a},e):e},d=t=>o()(e,{fides_key:t}),f=e=>o()(t,{fides_key:e}),v=e=>o()(n,{fides_key:e});return{getDataUses:()=>e,getDataUseByKey:d,getDataUseDisplayName:e=>c(e,d,1),getDataUseDisplayNameProps:e=>l(e,d,1),getDataCategories:()=>t,getDataCategoryByKey:f,getDataCategoryDisplayName:e=>c(e,f,2),getDataCategoryDisplayNameProps:e=>l(e,f,2),getDataSubjects:()=>n,getDataSubjectByKey:v,getDataSubjectDisplayName:e=>{let t=v(e);return t?t.name:e},getPrimaryKey:s,isLoading:a}}},61099:function(e,t,n){"use strict";var i=n(24246),a=n(20595),o=n(27378),r=n(12627),s=n(34929),l=n(26183),c=n(70675);t.Z=e=>{var t,n,d;let{resource:u}=e,[f,v]=(0,o.useState)(!1),{getDataCategoryDisplayName:p}=(0,s.Z)(),[g]=(0,c.NA)(),m=(null===(t=u.classifications)||void 0===t?void 0:t.length)?u.classifications[0].label:null,x=null!==(d=u.user_assigned_data_categories)&&void 0!==d?d:[],h=!m&&!(null==x?void 0:x.length),_=null===(n=u.sub_field_urns)||void 0===n?void 0:n.length,j=e=>{g({staged_resource_urn:u.urn,monitor_config_id:u.monitor_config_id,user_assigned_data_categories:[...x,e]})},y=e=>{var t;g({staged_resource_urn:u.urn,monitor_config_id:u.monitor_config_id,user_assigned_data_categories:null!==(t=null==x?void 0:x.filter(t=>t!==e))&&void 0!==t?t:[]})},b=!f&&!!x.length,w=!f&&!!m&&!x.length;return(0,i.jsxs)(l.Z,{"data-testid":"edit-category-cell",children:[h&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(a.j8w,{"data-testid":"no-classifications",color:"white",children:"None"}),!_&&(0,i.jsx)(a.j8w,{onClick:()=>v(!0),addable:!0,"data-testid":"taxonomy-add-btn","aria-label":"Add category"})]}),b&&(0,i.jsxs)(i.Fragment,{children:[x.map(e=>(0,i.jsx)(a.j8w,{"data-testid":"user-classification-".concat(e),color:"white",closable:!0,onClose:()=>y(e),closeButtonLabel:"Remove category",children:p(e)},e)),(0,i.jsx)(a.j8w,{onClick:()=>v(!0),addable:!0,"data-testid":"taxonomy-add-btn","aria-label":"Add category"})]}),w&&(0,i.jsxs)(a.j8w,{onClick:()=>v(!0),color:"white","data-testid":"classification-".concat(m),hasSparkle:!0,children:[p(m),(0,i.jsx)(a.PJP.I8b,{size:10})]}),f&&(0,i.jsx)(a.xuv,{className:"select-wrapper",position:"absolute",zIndex:10,top:"0",left:"0",width:"100%",height:"max",bgColor:"#fff",children:(0,i.jsx)(r.Z,{selectedTaxonomies:x,onChange:e=>{v(!1),j(e)},onBlur:()=>v(!1),open:!0})})]})}},26183:function(e,t,n){"use strict";var i=n(24246);n(27378),t.Z=e=>{let{children:t,className:n,...a}=e;return(0,i.jsx)("div",{className:"relative flex w-full flex-wrap items-center gap-2 overflow-x-auto py-2 ".concat(n||""),...a,children:t})}},57072:function(e,t,n){"use strict";n.d(t,{Bd:function(){return i.Bd},L5:function(){return i.L5},MO:function(){return i.MO},qb:function(){return i.qb}});var i=n(5785)},72707:function(e){e.exports={option:"TaxonomySelect_option__vY6v2"}}}]);
|
|
@@ -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(
|
|
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(20595),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(20595),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(20595),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(20595),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"}),"."]})]})]})}}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1437],{30952:function(e,a,n){"use strict";n.d(a,{f:function(){return l}});var i=n(24246),t=n(66726),s=n.n(t),r=n(27378),o=n(26917);let l=e=>{let{value:a,onChange:n,placeholder:t,...l}=e,[_,F]=(0,r.useState)(a);(0,r.useEffect)(()=>{F(a||"")},[a]);let d=s()(n,500),u=(0,r.useCallback)(e=>{F(e),d(e)},[]);return(0,i.jsx)(o.Z,{value:_,onChange:u,onClear:()=>{F(""),n("")},placeholder:t,...l})}},26089:function(e,a,n){"use strict";var i=n(24246),t=n(20595),s=n(99830),r=n.n(s);a.Z=e=>{let{onClick:a,children:n}=e;return(0,i.jsx)(t.wpx,{onClick:a,type:"link",role:"link",size:"small",className:r().toastLink,children:n})}},29850:function(e,a,n){"use strict";n.d(a,{R:function(){return F}});var i=n(24246),t=n(20595),s=n(27378),r=n(65450);let o=e=>{let{children:a,className:n,style:s,...r}=e;return(0,i.jsx)(t.wpx,{...r,type:"text",className:"w-full justify-start ".concat(n),style:{fontWeight:600,padding:"var(--ant-select-option-padding)",backgroundColor:"var(--ant-select-option-selected-bg)",...s},children:a})};var l=n(16394);let _=(e,a)=>(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o,{onClick:a,"data-testid":"add-new-system",id:"add-new-system",children:"Add new system +"}),e]}),F=e=>{var a;let{onAddSystem:n,...o}=e,[F,d]=(0,s.useState)(),{data:u,isFetching:c}=(0,r.xF)({page:1,size:25,search:F||void 0}),m=null==u?void 0:null===(a=u.items)||void 0===a?void 0:a.map(e=>({value:e.fides_key,label:e.name})),h=(0,s.useCallback)(e=>{(null==e?void 0:e.length)>1&&d(e),(null==e?void 0:e.length)===0&&d(void 0)},[d]),S=(0,s.useMemo)(()=>(0,l.Ds)(h,300),[h]);return(0,i.jsx)(t.WPr,{placeholder:"Search...","aria-label":"Search for a system to select",popupRender:n?e=>_(e,n):void 0,"data-testid":"system-select",...o,styles:{popup:{root:{minWidth:"500px"}},...o.styles},filterOption:!1,options:m,onSearch:S,loading:o.loading||c})}},79283:function(e,a,n){"use strict";n.d(a,{l:function(){return F}});var i=n(24246),t=n(20595),s=n(72707),r=n.n(s);let o=e=>{let{data:{formattedTitle:a,description:n,name:s,primaryName:r}}=e;return(0,i.jsxs)(t.jqI,{gap:12,title:"".concat(a," - ").concat(n),children:[(0,i.jsxs)("div",{children:[(0,i.jsx)("strong",{children:r||s}),r&&": ".concat(s)]}),(0,i.jsx)("em",{children:n})]})},l=e=>"options"in e&&Array.isArray(e.options),_=e=>({...e,className:r().option,formattedTitle:e.formattedTitle||[e.primaryName,e.name].filter(e=>e).join(": ")}),F=e=>{let{options:a,...n}=e,s=null==a?void 0:a.map(e=>l(e)?{...e,options:e.options.map(_)}:_(e));return(0,i.jsx)(t.WPr,{options:s,filterOption:(e,a)=>{var n,i;return(null==a?void 0:null===(n=a.formattedTitle)||void 0===n?void 0:n.toLowerCase().includes(e.toLowerCase()))||(null==a?void 0:null===(i=a.value)||void 0===i?void 0:i.toLowerCase().includes(e.toLowerCase()))||!1},optionFilterProp:"label",autoFocus:!0,variant:"borderless",optionRender:o,styles:{popup:{root:{minWidth:"500px"}}},className:"w-full p-0","data-testid":"taxonomy-select",...n})}},34929:function(e,a,n){"use strict";var i=n(24246),t=n(64925),s=n.n(t),r=n(27378),o=n(16134),l=n(30002),_=n(28079),F=n(57072);let d=()=>{let{isLoading:e}=(0,_.fd)(),a=(0,o.C)(_.U3),{isLoading:n}=(0,F.MO)(),i=(0,o.C)(F.qb),{isLoading:t}=(0,l.te)();return{dataUses:a,dataSubjects:(0,o.C)(l.ZL),dataCategories:i,isLoading:e||n||t}};a.Z=()=>{let{dataUses:e,dataCategories:a,dataSubjects:n,isLoading:t}=d(),o=function(e){let a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return e.split(".").slice(0,a).join(".")},l=function(e,a){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=a(e);if(!i)return{};let t=a(o(e,n)),s=!!i.parent_key;return{name:i.name||void 0,primaryName:s&&(null==t?void 0:t.name)!==i.name&&(null==t?void 0:t.name)||void 0}},_=function(e,a){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,{name:t,primaryName:s}=l(e,a,n);return t?s?(0,i.jsxs)(r.Fragment,{children:[(0,i.jsxs)("strong",{children:[s,":"]})," ",t]},e):(0,i.jsx)("strong",{children:t},e):e},F=a=>s()(e,{fides_key:a}),u=e=>s()(a,{fides_key:e}),c=e=>s()(n,{fides_key:e});return{getDataUses:()=>e,getDataUseByKey:F,getDataUseDisplayName:e=>_(e,F,1),getDataUseDisplayNameProps:e=>l(e,F,1),getDataCategories:()=>a,getDataCategoryByKey:u,getDataCategoryDisplayName:e=>_(e,u,2),getDataCategoryDisplayNameProps:e=>l(e,u,2),getDataSubjects:()=>n,getDataSubjectByKey:c,getDataSubjectDisplayName:e=>{let a=c(e);return a?a.name:e},getPrimaryKey:o,isLoading:t}}},8411:function(e,a,n){"use strict";n.d(a,{NA:function(){return s},Z8:function(){return t}});var i=n(85054);let t={[i._F.ER]:"Eritrea",[i._F.DJ]:"Djibouti",[i._F.MR]:"Mauritania",[i._F.NA]:"Namibia",[i._F.GH]:"Ghana",[i._F.SS]:"South Sudan",[i._F.SC]:"Seychelles",[i._F.IO]:"British Indian Ocean Territory",[i._F.GQ]:"Equatorial Guinea",[i._F.AO]:"Angola",[i._F.CG]:"Republic of the Congo",[i._F.BW]:"Botswana",[i._F.BI]:"Burundi",[i._F.DZ]:"Algeria",[i._F.TD]:"Chad",[i._F.NG]:"Nigeria",[i._F.TZ]:"Tanzania",[i._F.EH]:"Western Sahara",[i._F.SN]:"Senegal",[i._F.LR]:"Liberia",[i._F.ZA]:"South Africa",[i._F.CV]:"Cape Verde",[i._F.GM]:"Gambia",[i._F.SD]:"Sudan",[i._F.KM]:"Comoros",[i._F.SZ]:"Eswatini",[i._F.UG]:"Uganda",[i._F.MG]:"Madagascar",[i._F.RW]:"Rwanda",[i._F.CD]:"DR Congo",[i._F.CM]:"Cameroon",[i._F.SH]:"Saint Helena, Ascension and Tristan da Cunha",[i._F.TG]:"Togo",[i._F.MU]:"Mauritius",[i._F.NE]:"Niger",[i._F.BJ]:"Benin",[i._F.EG]:"Egypt",[i._F.LS]:"Lesotho",[i._F.ET]:"Ethiopia",[i._F.MA]:"Morocco",[i._F.YT]:"Mayotte",[i._F.BF]:"Burkina Faso",[i._F.RE]:"R\xe9union",[i._F.ST]:"S\xe3o Tom\xe9 and Pr\xedncipe",[i._F.CF]:"Central African Republic",[i._F.MZ]:"Mozambique",[i._F.MW]:"Malawi",[i._F.ML]:"Mali",[i._F.ZM]:"Zambia",[i._F.LY]:"Libya",[i._F.GW]:"Guinea-Bissau",[i._F.SO]:"Somalia",[i._F.KE]:"Kenya",[i._F.GN]:"Guinea",[i._F.ZW]:"Zimbabwe",[i._F.TN]:"Tunisia",[i._F.SL]:"Sierra Leone",[i._F.GA]:"Gabon",[i._F.CI]:"Ivory Coast",[i._F.JO]:"Jordan",[i._F.PK]:"Pakistan",[i._F.KP]:"North Korea",[i._F.MO]:"Macau",[i._F.AM]:"Armenia",[i._F.SY]:"Syria",[i._F.TJ]:"Tajikistan",[i._F.SA]:"Saudi Arabia",[i._F.KR]:"South Korea",[i._F.NP]:"Nepal",[i._F.PH]:"Philippines",[i._F.IQ]:"Iraq",[i._F.LB]:"Lebanon",[i._F.MN]:"Mongolia",[i._F.PS]:"Palestine",[i._F.YE]:"Yemen",[i._F.JP]:"Japan",[i._F.KZ]:"Kazakhstan",[i._F.LK]:"Sri Lanka",[i._F.MM]:"Myanmar",[i._F.KG]:"Kyrgyzstan",[i._F.CN]:"China",[i._F.AF]:"Afghanistan",[i._F.OM]:"Oman",[i._F.IN]:"India",[i._F.LA]:"Laos",[i._F.UZ]:"Uzbekistan",[i._F.MV]:"Maldives",[i._F.ID]:"Indonesia",[i._F.VN]:"Vietnam",[i._F.MY]:"Malaysia",[i._F.TW]:"Taiwan",[i._F.KH]:"Cambodia",[i._F.AE]:"United Arab Emirates",[i._F.HK]:"Hong Kong",[i._F.GE]:"Georgia (Country)",[i._F.BD]:"Bangladesh",[i._F.KW]:"Kuwait",[i._F.TM]:"Turkmenistan",[i._F.QA]:"Qatar",[i._F.BH]:"Bahrain",[i._F.BN]:"Brunei",[i._F.TH]:"Thailand",[i._F.BT]:"Bhutan",[i._F.SG]:"Singapore",[i._F.IL]:"Israel",[i._F.AZ]:"Azerbaijan",[i._F.TL]:"Timor-Leste",[i._F.IR]:"Iran",[i._F.TR]:"Turkey",[i._F.MK]:"North Macedonia",[i._F.IE]:"Ireland",[i._F.DK]:"Denmark",[i._F.SK]:"Slovakia",[i._F.MD]:"Moldova",[i._F.AX]:"\xc5land Islands",[i._F.PL]:"Poland",[i._F.BA]:"Bosnia and Herzegovina",[i._F.SM]:"San Marino",[i._F.CZ]:"Czechia",[i._F.EE]:"Estonia",[i._F.XK]:"Kosovo",[i._F.FO]:"Faroe Islands",[i._F.SJ]:"Svalbard and Jan Mayen",[i._F.GG]:"Guernsey",[i._F.FR]:"France",[i._F.NL]:"Netherlands",[i._F.FI]:"Finland",[i._F.PT]:"Portugal",[i._F.DE]:"Germany",[i._F.MT]:"Malta",[i._F.JE]:"Jersey",[i._F.IS]:"Iceland",[i._F.ES]:"Spain",[i._F.GI]:"Gibraltar",[i._F.NO]:"Norway",[i._F.CY]:"Cyprus",[i._F.RS]:"Serbia",[i._F.LT]:"Lithuania",[i._F.MC]:"Monaco",[i._F.LU]:"Luxembourg",[i._F.UA]:"Ukraine",[i._F.IM]:"Isle of Man",[i._F.RO]:"Romania",[i._F.BE]:"Belgium",[i._F.SE]:"Sweden",[i._F.ME]:"Montenegro",[i._F.LV]:"Latvia",[i._F.VA]:"Vatican City",[i._F.AT]:"Austria",[i._F.AL]:"Albania",[i._F.LI]:"Liechtenstein",[i._F.GR]:"Greece",[i._F.IT]:"Italy",[i._F.AD]:"Andorra",[i._F.GB]:"United Kingdom",[i._F.RU]:"Russia",[i._F.SI]:"Slovenia",[i._F.BY]:"Belarus",[i._F.CH]:"Switzerland",[i._F.HU]:"Hungary",[i._F.BG]:"Bulgaria",[i._F.HR]:"Croatia",[i._F.TC]:"Turks and Caicos Islands",[i._F.CW]:"Cura\xe7ao",[i._F.GP]:"Guadeloupe",[i._F.UM]:"United States Minor Outlying Islands",[i._F.GT]:"Guatemala",[i._F.PM]:"Saint Pierre and Miquelon",[i._F.BQ]:"Caribbean Netherlands",[i._F.GL]:"Greenland",[i._F.SX]:"Sint Maarten",[i._F.PA]:"Panama",[i._F.AW]:"Aruba",[i._F.MQ]:"Martinique",[i._F.AG]:"Antigua and Barbuda",[i._F.BM]:"Bermuda",[i._F.CU]:"Cuba",[i._F.GD]:"Grenada",[i._F.NI]:"Nicaragua",[i._F.LC]:"Saint Lucia",[i._F.KN]:"Saint Kitts and Nevis",[i._F.DO]:"Dominican Republic",[i._F.VC]:"Saint Vincent and the Grenadines",[i._F.BZ]:"Belize",[i._F.HT]:"Haiti",[i._F.JM]:"Jamaica",[i._F.BS]:"Bahamas",[i._F.MX]:"Mexico",[i._F.MF]:"Saint Martin",[i._F.SV]:"El Salvador",[i._F.BL]:"Saint Barth\xe9lemy",[i._F.AI]:"Anguilla",[i._F.MS]:"Montserrat",[i._F.VG]:"British Virgin Islands",[i._F.BB]:"Barbados",[i._F.HN]:"Honduras",[i._F.KY]:"Cayman Islands",[i._F.DM]:"Dominica",[i._F.TT]:"Trinidad and Tobago",[i._F.CR]:"Costa Rica",[i._F.SR]:"Suriname",[i._F.CX]:"Christmas Island",[i._F.WS]:"Samoa",[i._F.PF]:"French Polynesia",[i._F.AS]:"American Samoa",[i._F.NC]:"New Caledonia",[i._F.TK]:"Tokelau",[i._F.PW]:"Palau",[i._F.KI]:"Kiribati",[i._F.VU]:"Vanuatu",[i._F.PN]:"Pitcairn Islands",[i._F.CK]:"Cook Islands",[i._F.FJ]:"Fiji",[i._F.PG]:"Papua New Guinea",[i._F.MP]:"Northern Mariana Islands",[i._F.NU]:"Niue",[i._F.TV]:"Tuvalu",[i._F.NF]:"Norfolk Island",[i._F.TO]:"Tonga",[i._F.FM]:"Micronesia",[i._F.SB]:"Solomon Islands",[i._F.NR]:"Nauru",[i._F.WF]:"Wallis and Futuna",[i._F.GU]:"Guam",[i._F.AU]:"Australia",[i._F.NZ]:"New Zealand",[i._F.MH]:"Marshall Islands",[i._F.CC]:"Cocos (Keeling) Islands",[i._F.VE]:"Venezuela",[i._F.PY]:"Paraguay",[i._F.BR]:"Brazil",[i._F.CO]:"Colombia",[i._F.PE]:"Peru",[i._F.CL]:"Chile",[i._F.UY]:"Uruguay",[i._F.AR]:"Argentina",[i._F.GY]:"Guyana",[i._F.BO]:"Bolivia",[i._F.GF]:"French Guiana",[i._F.EC]:"Ecuador",[i._F.FK]:"Falkland Islands",[i._F.US_AL]:"Alabama",[i._F.US_AK]:"Alaska",[i._F.US_AZ]:"Arizona",[i._F.US_AR]:"Arkansas",[i._F.US_CA]:"California",[i._F.US_CO]:"Colorado",[i._F.US_CT]:"Connecticut",[i._F.US_DE]:"Delaware",[i._F.US_DC]:"District of Columbia (DC)",[i._F.US_FL]:"Florida",[i._F.US_GA]:"Georgia",[i._F.US_HI]:"Hawaii",[i._F.US_ID]:"Idaho",[i._F.US_IL]:"Illinois",[i._F.US_IN]:"Indiana",[i._F.US_IA]:"Iowa",[i._F.US_KS]:"Kansas",[i._F.US_KY]:"Kentucky",[i._F.US_LA]:"Louisiana",[i._F.US_ME]:"Maine",[i._F.US_MD]:"Maryland",[i._F.US_MA]:"Massachusetts",[i._F.US_MI]:"Michigan",[i._F.US_MN]:"Minnesota",[i._F.US_MS]:"Mississippi",[i._F.US_MO]:"Missouri",[i._F.US_MT]:"Montana",[i._F.US_NE]:"Nebraska",[i._F.US_NV]:"Nevada",[i._F.US_NH]:"New Hampshire",[i._F.US_NJ]:"New Jersey",[i._F.US_NM]:"New Mexico",[i._F.US_NY]:"New York",[i._F.US_NC]:"North Carolina",[i._F.US_ND]:"North Dakota",[i._F.US_OH]:"Ohio",[i._F.US_OK]:"Oklahoma",[i._F.US_OR]:"Oregon",[i._F.US_PA]:"Pennsylvania",[i._F.US_PR]:"Puerto Rico",[i._F.US_RI]:"Rhode Island",[i._F.US_SC]:"South Carolina",[i._F.US_SD]:"South Dakota",[i._F.US_TN]:"Tennessee",[i._F.US_TX]:"Texas",[i._F.US_UT]:"Utah",[i._F.US_VA]:"Virginia",[i._F.US_VI]:"United States Virgin Islands",[i._F.US_VT]:"Vermont",[i._F.US_WA]:"Washington",[i._F.US_WV]:"West Virginia",[i._F.US_WI]:"Wisconsin",[i._F.US_WY]:"Wyoming",[i._F.CA_AB]:"Alberta",[i._F.CA_BC]:"British Columbia",[i._F.CA_MB]:"Manitoba",[i._F.CA_NB]:"New Brunswick",[i._F.CA_NL]:"Newfoundland and Labrador",[i._F.CA_NS]:"Nova Scotia",[i._F.CA_ON]:"Ontario",[i._F.CA_PE]:"Prince Edward Island",[i._F.CA_QC]:"Quebec",[i._F.CA_SK]:"Saskatchewan",[i._F.CA_NT]:"Northwest Territories",[i._F.CA_NU]:"Nunavut",[i._F.CA_YT]:"Yukon",[i._F.CA]:"Canada",[i._F.US]:"United States",[i._F.MEXICO_CENTRAL_AMERICA]:"Mexico and Central America",[i._F.CARIBBEAN]:"Caribbean",[i._F.EEA]:"European Economic Area (EEA)",[i._F.NON_EEA]:"Non European Economic Area",[i._F.GLOBAL]:"Global"},s=new Map(Object.entries(t));Object.entries(t).map(e=>({value:e[0],label:e[1]}))},14908:function(e,a,n){"use strict";var i=n(86677),t=n(27378);let s=e=>e.startsWith("#")?e.slice(1):e;a.Z=e=>{let{tabKeys:a,initialTab:n}=e,r=(0,i.useRouter)(),o=r.asPath.split("#")[1]||a[0],[l,_]=(0,t.useState)(o);return(0,t.useEffect)(()=>{n&&a.includes(n)&&_(n)},[n,a,r.isReady]),{activeTab:l,onTabChange:(0,t.useCallback)(async e=>{if(!a.includes(e)){await r.replace({pathname:r.pathname,query:r.query,hash:void 0}),_(a[0]);return}r.isReady&&(await r.replace({pathname:r.pathname,query:r.query,hash:s(e)},void 0,{shallow:!0}),_(e))},[r,a]),setActiveTab:_}}},77685:function(e,a,n){"use strict";n.d(a,{i:function(){return N}});var i=n(24246),t=n(20595),s=n(34090),r=n(27378),o=n(55484),l=n(16134),_=n(25980),F=n(97181),d=n(40324),u=n(812),c=n(17245),m=n(45938),h=n(8133),S=n(33335),p=n(32885),g=n(57865),y=n(93237),C=n(65450),v=n(36345);let{Text:f}=t.AntTypography,b={name:"",vendor_id:void 0,description:"",tags:[]},N=e=>{let{onSuccessfulSubmit:a,toastOnSuccess:n,...N}=e,[A,M]=(0,r.useState)(!1),U=(0,l.T)(),{tcf:x,dictionaryService:I}=(0,_.hz)(),{isLoading:j}=(0,p.Rd)(void 0,{skip:!I}),w=(0,l.C)(p.o),T=(0,l.C)(g.gU),[B]=(0,C.in)(),[k]=(0,p.Qk)(),[L]=(0,C.f7)(),{successAlert:E,errorAlert:G}=(0,c.VY)(),{setSuggestions:R,setLockedForGVL:D}=g.dictSuggestionsSlice.actions,P=(0,r.useRef)(null),K=(0,r.useMemo)(()=>o.Ry().shape({name:o.Z_().required().label("System name").test("is-unique","",async(e,a)=>{let{data:n}=await B({page:1,size:10,search:e});return!((null==n?void 0:n.items)||[]).filter(a=>a.name===e).some(a=>a.name===e)||a.createError({message:'You already have a system called "'.concat(e,'". Please specify a unique name for this system.')})})}),[B]),O=e=>{if(I){if(!e){U(R("hiding")),U(D(!1));return}U(R("showing")),x&&(0,u.cj)(e)===u.c6.GVL?U(D(!0)):U(D(!1))}},W=()=>{N.onClose(),U(R("initial")),U(D(!1))},V=async e=>{if(M(!0),e.vendor_id){let i=await k([e.vendor_id]);if((0,u.D4)(i))G((0,u.e$)(i.error));else{let{data:e}=i,t=e.systems[0];null==a||a(t.fides_key,t.name),n&&E("".concat(e.name," has been added to your system inventory.")),W()}}else{let i={...e,fides_key:(0,S.E)(e.name),system_type:"",body:"",privacy_declarations:[]},t=await L(i);if((0,u.D4)(t))G((0,u.e$)(t.error));else{let{fides_key:i,name:s}=t.data;null==a||a(i,s),n&&E("".concat(e.name," has been added to your system inventory."))}W()}M(!1)};return(0,i.jsx)(h.Z,{title:"Add New System",...N,onClose:W,children:(0,i.jsx)(s.J9,{initialValues:b,onSubmit:V,validationSchema:K,innerRef:P,children:e=>{let{dirty:a,isValid:n}=e;return(0,i.jsxs)(s.l0,{children:[(0,i.jsx)(m.Gt,{id:"new-system-modal",name:"Add New System"}),(0,i.jsxs)(t.jqI,{vertical:!0,gap:20,className:"pb-6 pt-4",children:[(0,i.jsx)(f,{children:"Fides will add this system to your inventory and configure it for consent using the categories of consent listed below. Optionally, you can check if this system is listed within the Fides compass library by selecting the compass icon below."}),I?(0,i.jsx)(v.Z,{label:"System name",options:w,onVendorSelected:O,isCreate:!0,lockedForGVL:T,isLoading:j}):(0,i.jsx)(d.j0,{id:"name",name:"name",label:"System name",tooltip:"Give the system a unique, and relevant name for reporting purposes. e.g. “Email Data Warehouse”",variant:"stacked",isRequired:!0}),(0,i.jsx)(y.Sv,{id:"description",name:"description",label:"Description",tooltip:"What services does this system perform?",disabled:T}),(0,i.jsx)(F.d,{mode:"tags",id:"tags",name:"tags",label:"System Tags",options:[],layout:"stacked",tooltip:"Are there any tags to associate with this system?",disabled:T})]}),(0,i.jsxs)(t.jqI,{justify:"space-between",children:[(0,i.jsx)(t.wpx,{htmlType:"reset",onClick:W,"data-testid":"cancel-btn",children:"Cancel"}),(0,i.jsx)(t.wpx,{htmlType:"submit",type:"primary",disabled:j||!a||!n,loading:A,"data-testid":"save-btn",children:"Save"})]})]})}})})}},93237:function(e,a,n){"use strict";n.d(a,{Sv:function(){return m},Yb:function(){return c},dQ:function(){return h},lm:function(){return S}});var i=n(24246),t=n(20595),s=n(34090),r=n(27378),o=n(16134),l=n(40324),_=n(46238),F=n(32885),d=n(57865);let u=(e,a,n)=>{var i,t;let[l,_,{setValue:u,setTouched:c}]=(0,s.U$)({name:e,type:n||void 0}),m=!!(_.touched&&_.error),{error:h}=_,S={...l,value:null!==(i=l.value)&&void 0!==i?i:""},[p,g]=(0,r.useState)(null!==(t=S.value)&&void 0!==t?t:""),{values:y}=(0,s.u6)(),{vendor_id:C}=y,v=(0,o.C)((0,F.$e)(C||"")),f=(0,o.C)(d.bN),b=(0,r.useRef)();return(0,r.useEffect)(()=>{"showing"===f&&g(S.value)},[f,g]),(0,r.useEffect)(()=>{if("showing"===f&&v){let n=a?a(v):v[e];S.value!==n&&(u(n),setTimeout(()=>{var e;c(!0),null===(e=b.current)||void 0===e||e.blur()},300))}},[f,u,v,b.current]),(0,r.useEffect)(()=>{"hiding"===f&&u(p)},[f,u,p]),{field:S,isInvalid:m,isShowingSuggestions:f,error:h,inputRef:b}},c=e=>{let{label:a,tooltip:n,disabled:s,isRequired:r=!1,dictField:o,name:F,placeholder:d,id:c}=e,{field:m,isInvalid:h,isShowingSuggestions:S,error:p,inputRef:g}=u(F,o);return(0,i.jsx)(t.NIc,{isInvalid:h,isRequired:r,children:(0,i.jsxs)(t.gCW,{alignItems:"start",children:[(0,i.jsxs)(t.kCb,{alignItems:"center",children:[(0,i.jsx)(l.__,{htmlFor:c||F,fontSize:"xs",my:0,mr:1,children:a}),(0,i.jsx)(_.b,{label:n})]}),(0,i.jsx)(l.oi,{...m,ref:g,isRequired:r,isDisabled:s,"data-testid":"input-".concat(m.name),placeholder:d,isPassword:!1,color:"showing"===S?"complimentary.500":"gray.800"}),(0,i.jsx)(l.Bc,{isInvalid:h,message:p,fieldName:m.name})]})})},m=e=>{let{label:a,tooltip:n,disabled:s,isRequired:r=!1,dictField:o,name:F,id:d}=e,{field:c,isInvalid:m,isShowingSuggestions:h,error:S}=u(F,o);return(0,i.jsx)(t.NIc,{isInvalid:m,isRequired:r,children:(0,i.jsxs)(t.gCW,{alignItems:"start",children:[(0,i.jsxs)(t.kCb,{alignItems:"center",children:[(0,i.jsx)(l.__,{htmlFor:d||F,fontSize:"xs",my:0,mr:1,children:a}),(0,i.jsx)(_.b,{label:n})]}),(0,i.jsx)(t.gxH,{...c,size:"sm","data-testid":"input-".concat(c.name),focusBorderColor:"primary.600",color:"showing"===h?"complimentary.500":"gray.800",isDisabled:s}),(0,i.jsx)(l.Bc,{isInvalid:m,message:S,fieldName:c.name})]})})},h=e=>{let{label:a,tooltip:n,dictField:r,name:o,id:F,disabled:d}=e,{field:c,isInvalid:m,error:h}=u(o,r,"checkbox");return(0,i.jsxs)(t.NIc,{isInvalid:m,width:"full",children:[(0,i.jsxs)(t.xuv,{display:"flex",alignItems:"center",justifyContent:"space-between",children:[(0,i.jsxs)(t.Ugi,{spacing:1,children:[(0,i.jsx)(l.__,{htmlFor:F||o,fontSize:"xs",my:0,mr:0,children:a}),(0,i.jsx)(_.b,{label:n})]}),(0,i.jsx)(t.Ugi,{children:(0,i.jsx)(s.gN,{name:c.name,children:e=>{let{form:{setFieldValue:a}}=e;return(0,i.jsx)(t.rAg,{checked:c.checked,onChange:e=>{a(c.name,e)},disabled:d,className:"mr-2","data-testid":"input-".concat(c.name),size:"small"})}})})]}),(0,i.jsx)(l.Bc,{isInvalid:m,message:h,fieldName:c.name})]})},S=e=>{let{label:a,tooltip:n,dictField:r,name:o,id:F,disabled:d}=e,{field:c,isInvalid:m,error:h,isShowingSuggestions:S}=u(o,r,"numeric"),{setFieldValue:p}=(0,s.u6)();return(0,i.jsxs)(t.NIc,{isInvalid:m,width:"full",children:[(0,i.jsxs)(t.xuv,{display:"flex",alignItems:"center",justifyContent:"space-between",children:[(0,i.jsxs)(t.Ugi,{spacing:1,children:[(0,i.jsx)(l.__,{htmlFor:F||o,fontSize:"xs",my:0,mr:0,children:a}),(0,i.jsx)(_.b,{label:n})]}),(0,i.jsx)(t.Ugi,{children:(0,i.jsxs)(t.Y2U,{value:c.value,name:c.name,size:"xs",onBlur:c.onBlur,onChange:e=>{p(c.name,e)},w:"100%",colorScheme:"terracotta",inputMode:"numeric","data-testid":"input-".concat(c.name),color:"showing"===S?"complimentary.500":"gray.800",focusBorderColor:"primary.600",isDisabled:d,children:[(0,i.jsx)(t.zuI,{}),(0,i.jsxs)(t.FiK,{children:[(0,i.jsx)(t.WQu,{}),(0,i.jsx)(t.Y_d,{})]})]})})]}),(0,i.jsx)(l.Bc,{isInvalid:m,message:h,fieldName:c.name})]})}},99830:function(e){e.exports={toastLink:"ToastLink_toastLink__OLSeq"}},72707:function(e){e.exports={option:"TaxonomySelect_option__vY6v2"}}}]);
|