ethyca-fides 2.68.1b3__py2.py3-none-any.whl → 2.69.0rc0__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.68.1b3.dist-info → ethyca_fides-2.69.0rc0.dist-info}/METADATA +1 -1
- {ethyca_fides-2.68.1b3.dist-info → ethyca_fides-2.69.0rc0.dist-info}/RECORD +231 -225
- fides/_version.py +3 -3
- fides/api/alembic/migrations/versions/b1a2c3d4e5f6_add_location_to_privacy_request.py +26 -0
- fides/api/api/v1/api.py +2 -0
- fides/api/api/v1/endpoints/dsr_package_link.py +167 -0
- fides/api/api/v1/endpoints/privacy_request_endpoints.py +32 -1
- fides/api/api/v1/endpoints/user_endpoints.py +4 -0
- fides/api/models/privacy_request/privacy_request.py +1 -0
- fides/api/models/privacy_request/webhook.py +33 -1
- fides/api/oauth/utils.py +122 -57
- fides/api/schemas/application_config.py +7 -0
- fides/api/schemas/connection_configuration/connection_type_system_map.py +6 -0
- fides/api/schemas/enums/__init__.py +0 -0
- fides/api/schemas/enums/connection_category.py +20 -0
- fides/api/schemas/enums/integration_feature.py +26 -0
- fides/api/schemas/external_https.py +9 -0
- fides/api/schemas/privacy_request.py +16 -0
- fides/api/schemas/saas/display_info.py +19 -0
- fides/api/schemas/saas/saas_config.py +2 -0
- fides/api/schemas/storage/storage.py +2 -0
- fides/api/service/privacy_request/request_runner_service.py +44 -4
- fides/api/util/connection_type.py +20 -0
- fides/api/util/text.py +51 -0
- fides/common/api/v1/urn_registry.py +3 -0
- fides/service/privacy_request/privacy_request_service.py +83 -0
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/0uUBOyZCwjdyYdhNzpRkz/_buildManifest.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1099-db533dd22b80bca6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{1345-ab756811e19ff4fc.js → 1345-6986414ab6ad3389.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{1817-fd21f1f5ef0faffa.js → 1817-fcb2fd28034d5070.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{1975.16126463309143e3.js → 1975.78e719130cfe3fd6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{2921-0e5cc63a82e31830.js → 2921-8a63ec72fa8e1bc0.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3620-6cceae71bae5b531.js → 3620-1fba74849114e70f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/3729-79255d8b0d22922d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3847-a868f83c065f54fb.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{3855-64541570e2f838fb.js → 3855-3154d56888ac46ed.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3872-7a18d18a5e287e4e.js → 3872-25eec062abd0f847.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3923-5c87b3d7f1626678.js → 3923-3be9b867f33e524c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{401-3902e3e98790d401.js → 401-029e2ff644cae40c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{4121-64ef70ef906bbdd0.js → 4121-bbce1026a2ffe962.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{4608-70521532195124de.js → 4608-99e453c666a7b89a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/4786-289c505d7d835feb.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4808-5b799757d4564807.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{4844-351f99b6644b654e.js → 4844-a1784e2823ccd0ee.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{5258-c6f96dc740eb5fb1.js → 5258-45ec38e6c3780f24.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{5487-338800277d36b8d7.js → 5487-aad0e8a240a1979b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/549-81279a1a816487a7.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{6084-da63f20d9416a982.js → 6084-3379ca3c1fc77aa9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6853-1d947b75eb07188c.js → 6853-04b15a7b02b1fc19.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6954-24f9a4f27d67b732.js → 6954-0f5d6c1757013eb7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{7476-a0dd03bfccf60d0c.js → 7476-2227e21f574bee70.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{7630-9fbe06cfb98266fe.js → 7630-267de03b93bbae8d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/768-24269f30db223720.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{787-3dd31844cf7fec55.js → 787-0aa4d9802c976f92.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{79-dcd20e8b09501c17.js → 79-0102f2711b8455cd.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{796-8773e04b64ce2260.js → 796-53f0ea567d1da2b9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/8002-98ecd56535cdefa3.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9046-57eab238570b8bf4.js → 9046-a349c22448593f94.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9676.bf0a8a6ff6dfd2af.js → 9676.b7d5d1d90b9da224.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9826-756c958aecab59a2.js → 9826-f4755a75d00c1c8c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9951-cdf73904a3adb27b.js → 9951-07989276d153c848.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{404-dd625a559ada46ca.js → 404-fde1f56225d1ef4f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{_app-b6b09b2878b77b21.js → _app-36bec04369a1a7c4.js} +11 -11
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-92cf5e313be1f9e2.js → manual-aff671eda846719f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-d6c525ee731a2993.js → multiple-04894ddffc2a66fc.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{add-systems-5664a3ea796e5ffb.js → add-systems-e98c4154535bf37d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-78f13de90111fd80.js → add-vendors-b2f80cdb75183bfa.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-0fc678f3d6d2fcec.js → configure-207cabf1b5c453fc.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-126db59dc25ca326.js → [id]-b3db5610ae7e94fb.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-289605267d6cce7e.js → privacy-experience-3009481bdd479fd7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-e9fd9b28ac9705af.js → [id]-72e3cd6740c5c5de.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-28c003b6043bd16c.js → new-2aa4d13fb26b59ca.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-c643eff04525298e.js → privacy-notices-6b0885a8c871804f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-3ef5d01779a26455.js → properties-20bc3cf67727dfd3.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{reporting-baa4a2f8f08ac224.js → reporting-77b491108663a2de.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{consent-8d4be9e7ec7d2a35.js → consent-b3c8efbd960f4e34.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-f27ec4578c674181.js → [resourceUrn]-adc500a03e239857.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-27b6c255bd9e73b6.js → [projectUrn]-fe5f6fb33e34baa7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-0f66dac32040519c.js → projects-3584c90cf3670146.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-3b938562df81c4b0.js → [resourceUrn]-c8b3d090e4ba60d3.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-a6cecf48e4e27645.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-844abdb5ea7d78af.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-215d6e2fefc9a5e1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-7721508cc2a9ab3a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-21c141279e66237a.js → activity-6169e49c3787a9bf.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-3bc6a207693fd175.js → [resourceUrn]-22eec362dfbb1d2a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-da16e73df395ad1d.js → detection-4decce5ef996e563.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-04b242632a114405.js → [resourceUrn]-01acdd1ad492fd89.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-900fe50183a40d72.js → discovery-85fdbf4cde60d910.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{datamap-4f1f7c3a9531a8f4.js → datamap-e17dd4ffcaa4836d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-343294dcb10d9532.js → [...subfieldNames]-4af946dc8c6c967f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-1c097a0809fa5b6f.js → [collectionName]-a65a8ea3872800e7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-b47fa2498b534719.js → [datasetId]-ccc844caef652a7e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{new-a31f881cab25704a.js → new-3b65c6e9af65ea2e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-858c59c9e67e318d.js → dataset-0566189a0236078d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-16c28d272225afb6.js → [id]-38a7b8826e0abb01.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-c8d2599814eefd35.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-00ba79f6b47bd161.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{index-fec557d99211f577.js → index-053db342725dc127.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-3db44d6839e8dbd9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations-5f34de3c24e67368.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{[id]-4a08ca7762a19700.js → [id]-707b72e959233112.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{add-template-343a965dcdb3d11e.js → add-template-c68b413f3c9cf318.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{messaging-3ade4c54b1c8a11e.js → messaging-d95588f3ef137030.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{ant-components-9103bfb854f71410.js → ant-components-36cac6f4379587ea.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{AntForm-3b97029bd4d3c3ea.js → AntForm-d44606c0cf203b47.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikAntFormItem-9d9beb8f0d8a278c.js → FormikAntFormItem-341b571fd8da4142.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikControlled-84a4d8fc60f839ed.js → FormikControlled-2e99b5eb12982aeb.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikField-1fccf542ab2e33bf.js → FormikField-c7d62113680196dd.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{forms-aa75263ae1ba67bb.js → forms-89a24591c3d9e7a8.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{table-migration-db334a1cbb102255.js → table-migration-c54bcfb6b0de8a71.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{[id]-11c1e4545c8f528c.js → [id]-7e3f8b6eb83c5142.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{messaging-192a986f61c23268.js → messaging-4c8e1a7e407d3c7f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{storage-9216ac993d71387e.js → storage-faf42d1a9cd6a861.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-e55ec84d5380401d.js → configure-3823ee301161be4f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-c9c1c02d7e68c4f8.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-a74b51b704b80cb2.js → [id]-8973618b9ba28a50.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-8d23f0c55ff6510a.js → add-property-b449da44de56fd3f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{properties-77acceac4f99e7af.js → properties-5bb059b7057b5583.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-6b26740aeb247bc8.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/{alpha-6aad3f563ed03b3f.js → alpha-98c1492dca52f4f8.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{about-c1b8f3606d160bb1.js → about-d176ec152b70f82d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-d9f7f78810d58d08.js → [purpose_id]-ea5077aca3d01dfb.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{consent-ee2c7dde99b1dafb.js → consent-68b812269e38c8c3.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-79cdee37ceb8665f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-31c270d228e00581.js → domain-records-056f36a8a0509006.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domains-996b3f250dd3ea1f.js → domains-fea15607939cab70.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{email-templates-ee94981326ddcbf4.js → email-templates-cce73ddc0012b089.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-0b831c58966782b8.js → locations-8b0a408ed7e3ff28.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{organization-94271ba4a224a353.js → organization-a01838a53677d69e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-41b8136e50320fd3.js → regulations-43e9cafaeb869069.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/{test-datasets-52b45569cbc82e60.js → test-datasets-ea1e2483ddf6af6c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-36d74e93e54aabaf.js → [id]-7856e694b009ded3.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{systems-24dfc8e2279ced2e.js → systems-2c6dca19bf0a4f0c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{taxonomy-d9675cf5e6083b27.js → taxonomy-ede8ddce10d7d055.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-866826d7959df487.js → [id]-af9bf43612c9676c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-e63b61a8f99ccd57.js → user-management-3b7fea8781dc18b5.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{webpack-6d0a487039bcf30c.js → webpack-aa7ff73977a15cb3.js} +1 -1
- fides/ui-build/static/admin/_next/static/css/{dbcf63488933a4d5.css → 98fab0b3e6aa43ed.css} +1 -1
- fides/ui-build/static/admin/_next/static/css/abf2e162b1cd0e61.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/[monitorId]/[systemId].html +1 -1
- 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-ext-gpp.js +1 -1
- fides/ui-build/static/admin/lib/fides-headless.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/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/messaging.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.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/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/_BLI2ArqQzY5XnXbrcxa2/_buildManifest.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1099-7b2085a3931da9e4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1138-0d846ffef62c580f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3729-7d2d52400f1f7413.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4786-53ef1662f2d0d98c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4808-8713433c84a62efe.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/549-e6453a3526023e85.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/602-80d113e801d7407d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8002-dcd02da6e5649a1c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-ebf5e7fa4e2ffb49.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-b27c660039d951c9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-8ce5d24af470888e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-8e35e33928abbcdc.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-68f502d8b0b5792c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-1eb9acb17b133fd1.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-e613543818d6cbd2.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations-8069f7c33695fd45.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-48f447b31c786b80.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-e60d398e255f4e00.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-a4dad8ca9de2d07b.js +0 -1
- fides/ui-build/static/admin/_next/static/css/92441453b27e9c34.css +0 -1
- {ethyca_fides-2.68.1b3.dist-info → ethyca_fides-2.69.0rc0.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.68.1b3.dist-info → ethyca_fides-2.69.0rc0.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.68.1b3.dist-info → ethyca_fides-2.69.0rc0.dist-info}/licenses/LICENSE +0 -0
- {ethyca_fides-2.68.1b3.dist-info → ethyca_fides-2.69.0rc0.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{_BLI2ArqQzY5XnXbrcxa2 → 0uUBOyZCwjdyYdhNzpRkz}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
from enum import Enum
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
class IntegrationFeature(str, Enum):
|
|
5
|
+
"""
|
|
6
|
+
Features that can be enabled for different integration types.
|
|
7
|
+
These control which tabs and functionality are available in the integration detail view.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
# Enables data discovery and monitoring functionality - shows "Data discovery" tab
|
|
11
|
+
DATA_DISCOVERY = "DATA_DISCOVERY"
|
|
12
|
+
|
|
13
|
+
# Enables data synchronization to external systems - shows "Data sync" tab
|
|
14
|
+
DATA_SYNC = "DATA_SYNC"
|
|
15
|
+
|
|
16
|
+
# Enables task/workflow management for manual processes - shows "Tasks" tab
|
|
17
|
+
TASKS = "TASKS"
|
|
18
|
+
|
|
19
|
+
# Indicates integration doesn't require connection testing - shows "Details" tab instead of "Connection" tab
|
|
20
|
+
WITHOUT_CONNECTION = "WITHOUT_CONNECTION"
|
|
21
|
+
|
|
22
|
+
# Enables Data Subject Request automation for SAAS integrations
|
|
23
|
+
DSR_AUTOMATION = "DSR_AUTOMATION"
|
|
24
|
+
|
|
25
|
+
# Enables conditions configuration for manual task creation - shows "Conditions" tab
|
|
26
|
+
CONDITIONS = "CONDITIONS"
|
|
@@ -39,3 +39,12 @@ class RequestTaskJWE(BaseModel):
|
|
|
39
39
|
request_task_id: str
|
|
40
40
|
scopes: List[str]
|
|
41
41
|
iat: str
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
class DownloadTokenJWE(BaseModel):
|
|
45
|
+
"""Describes JWE that is given to users to access their privacy request download package"""
|
|
46
|
+
|
|
47
|
+
privacy_request_id: str
|
|
48
|
+
scopes: List[str]
|
|
49
|
+
iat: str
|
|
50
|
+
exp: str
|
|
@@ -18,6 +18,7 @@ from fides.api.schemas.user import PrivacyRequestReviewer
|
|
|
18
18
|
from fides.api.util.collection_util import Row
|
|
19
19
|
from fides.api.util.encryption.aes_gcm_encryption_scheme import verify_encryption_key
|
|
20
20
|
from fides.api.util.enums import ColumnSort
|
|
21
|
+
from fides.api.util.text import normalize_location_code
|
|
21
22
|
from fides.config import CONFIG
|
|
22
23
|
|
|
23
24
|
|
|
@@ -103,6 +104,7 @@ class PrivacyRequestCreate(FidesSchema):
|
|
|
103
104
|
property_id: Optional[str] = None
|
|
104
105
|
consent_preferences: Optional[List[Consent]] = None # TODO Slated for deprecation
|
|
105
106
|
source: Optional[PrivacyRequestSource] = None
|
|
107
|
+
location: Optional[str] = None
|
|
106
108
|
|
|
107
109
|
@field_validator("encryption_key")
|
|
108
110
|
@classmethod
|
|
@@ -114,6 +116,18 @@ class PrivacyRequestCreate(FidesSchema):
|
|
|
114
116
|
verify_encryption_key(value.encode(CONFIG.security.encoding))
|
|
115
117
|
return value
|
|
116
118
|
|
|
119
|
+
@field_validator("location")
|
|
120
|
+
@classmethod
|
|
121
|
+
def validate_location(
|
|
122
|
+
cls: Type["PrivacyRequestCreate"], value: Optional[str] = None
|
|
123
|
+
) -> Optional[str]:
|
|
124
|
+
"""Validate and normalize location to ISO 3166 format"""
|
|
125
|
+
if value is None:
|
|
126
|
+
return None
|
|
127
|
+
|
|
128
|
+
# nuance here is the validator will coalesce values from the less strict format to ISO 3166 (i.e. "us_ca" -> "US-CA")
|
|
129
|
+
return normalize_location_code(value)
|
|
130
|
+
|
|
117
131
|
|
|
118
132
|
class PrivacyRequestResubmit(PrivacyRequestCreate):
|
|
119
133
|
"""Schema used to copy a privacy request for resubmission"""
|
|
@@ -321,6 +335,7 @@ class PrivacyRequestResponse(FidesSchema):
|
|
|
321
335
|
custom_privacy_request_fields_approved_by: Optional[str] = None
|
|
322
336
|
custom_privacy_request_fields_approved_at: Optional[datetime] = None
|
|
323
337
|
source: Optional[PrivacyRequestSource] = None
|
|
338
|
+
location: Optional[str] = None
|
|
324
339
|
deleted_at: Optional[datetime] = None
|
|
325
340
|
deleted_by: Optional[str] = None
|
|
326
341
|
finalized_at: Optional[datetime] = None
|
|
@@ -437,6 +452,7 @@ class PrivacyRequestFilter(FidesSchema):
|
|
|
437
452
|
errored_lt: Optional[datetime] = None
|
|
438
453
|
errored_gt: Optional[datetime] = None
|
|
439
454
|
external_id: Optional[str] = None
|
|
455
|
+
location: Optional[str] = None
|
|
440
456
|
action_type: Optional[ActionType] = None
|
|
441
457
|
verbose: Optional[bool] = False
|
|
442
458
|
include_identities: Optional[bool] = False
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
from typing import List, Optional
|
|
2
|
+
|
|
3
|
+
from pydantic import BaseModel, ConfigDict
|
|
4
|
+
|
|
5
|
+
from fides.api.schemas.enums.connection_category import ConnectionCategory
|
|
6
|
+
from fides.api.schemas.enums.integration_feature import IntegrationFeature
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class SaaSDisplayInfo(BaseModel):
|
|
10
|
+
"""
|
|
11
|
+
Optional display information for SAAS integrations to enhance frontend presentation.
|
|
12
|
+
When not provided, smart defaults will be inferred based on the integration type.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
category: Optional[ConnectionCategory] = None
|
|
16
|
+
tags: Optional[List[str]] = None
|
|
17
|
+
enabled_features: Optional[List[IntegrationFeature]] = None
|
|
18
|
+
|
|
19
|
+
model_config = ConfigDict(use_enum_values=True)
|
|
@@ -17,6 +17,7 @@ from fides.api.graph.config import (
|
|
|
17
17
|
from fides.api.schemas.base_class import FidesSchema
|
|
18
18
|
from fides.api.schemas.limiter.rate_limit_config import RateLimitConfig
|
|
19
19
|
from fides.api.schemas.policy import ActionType
|
|
20
|
+
from fides.api.schemas.saas.display_info import SaaSDisplayInfo
|
|
20
21
|
from fides.api.schemas.saas.shared_schemas import HTTPMethod
|
|
21
22
|
from fides.api.service.saas_request.saas_request_override_factory import (
|
|
22
23
|
SaaSRequestOverrideFactory,
|
|
@@ -428,6 +429,7 @@ class SaaSConfig(SaaSConfigBase):
|
|
|
428
429
|
rate_limit_config: Optional[RateLimitConfig] = None
|
|
429
430
|
consent_requests: Optional[ConsentRequestMap] = None
|
|
430
431
|
user_guide: Optional[str] = None
|
|
432
|
+
display_info: Optional[SaaSDisplayInfo] = None
|
|
431
433
|
|
|
432
434
|
@property
|
|
433
435
|
def top_level_endpoint_dict(self) -> Dict[str, Endpoint]:
|
|
@@ -38,6 +38,7 @@ class StorageDetails(Enum):
|
|
|
38
38
|
MAX_RETRIES = "max_retries"
|
|
39
39
|
AUTH_METHOD = "auth_method"
|
|
40
40
|
ENABLE_STREAMING = "enable_streaming"
|
|
41
|
+
ENABLE_ACCESS_PACKAGE_REDIRECT = "enable_access_package_redirect"
|
|
41
42
|
model_config = ConfigDict(extra="forbid")
|
|
42
43
|
|
|
43
44
|
|
|
@@ -60,6 +61,7 @@ class StorageDetailsS3(FileBasedStorageDetails):
|
|
|
60
61
|
bucket: str
|
|
61
62
|
max_retries: Optional[int] = 0
|
|
62
63
|
enable_streaming: Optional[bool] = False
|
|
64
|
+
enable_access_package_redirect: Optional[bool] = False
|
|
63
65
|
model_config = ConfigDict(use_enum_values=True)
|
|
64
66
|
|
|
65
67
|
|
|
@@ -41,6 +41,9 @@ from fides.api.models.privacy_request import (
|
|
|
41
41
|
ProvidedIdentityType,
|
|
42
42
|
can_run_checkpoint,
|
|
43
43
|
)
|
|
44
|
+
from fides.api.models.privacy_request.webhook import (
|
|
45
|
+
generate_privacy_request_download_token,
|
|
46
|
+
)
|
|
44
47
|
from fides.api.schemas.base_class import FidesSchema
|
|
45
48
|
from fides.api.schemas.messaging.messaging import (
|
|
46
49
|
AccessRequestCompleteBodyParams,
|
|
@@ -49,6 +52,7 @@ from fides.api.schemas.messaging.messaging import (
|
|
|
49
52
|
from fides.api.schemas.policy import ActionType, CurrentStep
|
|
50
53
|
from fides.api.schemas.privacy_request import PrivacyRequestStatus
|
|
51
54
|
from fides.api.schemas.redis_cache import Identity
|
|
55
|
+
from fides.api.schemas.storage.storage import StorageType
|
|
52
56
|
from fides.api.service.connectors import FidesConnector, get_connector
|
|
53
57
|
from fides.api.service.connectors.consent_email_connector import (
|
|
54
58
|
CONSENT_EMAIL_CONNECTOR_TYPES,
|
|
@@ -82,6 +86,7 @@ from fides.api.util.logger import Pii, _log_exception, _log_warning
|
|
|
82
86
|
from fides.api.util.logger_context_utils import LoggerContextKeys, log_context
|
|
83
87
|
from fides.api.util.memory_watchdog import memory_limiter
|
|
84
88
|
from fides.common.api.v1.urn_registry import (
|
|
89
|
+
PRIVACY_CENTER_DSR_PACKAGE,
|
|
85
90
|
PRIVACY_REQUEST_TRANSFER_TO_PARENT,
|
|
86
91
|
V1_URL_PREFIX,
|
|
87
92
|
)
|
|
@@ -609,6 +614,9 @@ def run_privacy_request(
|
|
|
609
614
|
# The access, consent, and erasure runners for DSR 3.0 throw this exception after its
|
|
610
615
|
# Request Tasks have been built. The Privacy Request will be requeued from
|
|
611
616
|
# the appropriate checkpoint when all the Request Tasks have run.
|
|
617
|
+
logger.info(
|
|
618
|
+
"Privacy Request exited awaiting sub task processing (Request Tasks)"
|
|
619
|
+
)
|
|
612
620
|
return
|
|
613
621
|
|
|
614
622
|
except ValidationError as exc:
|
|
@@ -740,14 +748,17 @@ def run_privacy_request(
|
|
|
740
748
|
else MessagingActionType.PRIVACY_REQUEST_COMPLETE_DELETION
|
|
741
749
|
)
|
|
742
750
|
|
|
743
|
-
|
|
751
|
+
message_send_result = message_send_enabled(
|
|
744
752
|
session,
|
|
745
753
|
privacy_request.property_id,
|
|
746
754
|
action_type,
|
|
747
755
|
legacy_request_completion_enabled,
|
|
748
|
-
)
|
|
756
|
+
)
|
|
757
|
+
has_consent_rules = policy.get_rules_for_action(
|
|
749
758
|
action_type=ActionType.consent
|
|
750
|
-
)
|
|
759
|
+
)
|
|
760
|
+
|
|
761
|
+
if message_send_result and not has_consent_rules:
|
|
751
762
|
if not access_result_urls:
|
|
752
763
|
# For DSR 3.0, if the request had both access and erasure rules, this needs to be fetched
|
|
753
764
|
# from the database because the Privacy Request would have exited
|
|
@@ -763,6 +774,7 @@ def run_privacy_request(
|
|
|
763
774
|
access_result_urls,
|
|
764
775
|
identity_data,
|
|
765
776
|
privacy_request.property_id,
|
|
777
|
+
privacy_request.id,
|
|
766
778
|
)
|
|
767
779
|
except (
|
|
768
780
|
IdentityNotFoundException,
|
|
@@ -780,6 +792,7 @@ def initiate_privacy_request_completion_email(
|
|
|
780
792
|
access_result_urls: list[str],
|
|
781
793
|
identity_data: dict[str, Any],
|
|
782
794
|
property_id: Optional[str],
|
|
795
|
+
privacy_request_id: str,
|
|
783
796
|
) -> None:
|
|
784
797
|
"""
|
|
785
798
|
:param session: SQLAlchemy Session
|
|
@@ -787,6 +800,7 @@ def initiate_privacy_request_completion_email(
|
|
|
787
800
|
:param access_result_urls: list of urls generated by access request upload
|
|
788
801
|
:param identity_data: Dict of identity data
|
|
789
802
|
:param property_id: Property id associated with the privacy request
|
|
803
|
+
:param privacy_request_id: ID of the privacy request for generating DSR package links
|
|
790
804
|
"""
|
|
791
805
|
config_proxy = ConfigProxy(session)
|
|
792
806
|
if not (
|
|
@@ -801,6 +815,32 @@ def initiate_privacy_request_completion_email(
|
|
|
801
815
|
phone_number=identity_data.get(ProvidedIdentityType.phone_number.value),
|
|
802
816
|
)
|
|
803
817
|
if policy.get_rules_for_action(action_type=ActionType.access):
|
|
818
|
+
# Check if any rule has enable_access_package_redirect=True and enable_streaming=True in storage config
|
|
819
|
+
# This can be extended to other storage types and non streaming access results in the future
|
|
820
|
+
use_dsr_package_links = False
|
|
821
|
+
for rule in policy.get_rules_for_action(action_type=ActionType.access):
|
|
822
|
+
storage_destination = rule.get_storage_destination(session)
|
|
823
|
+
if (
|
|
824
|
+
storage_destination.type == StorageType.s3
|
|
825
|
+
and storage_destination.details.get("enable_access_package_redirect")
|
|
826
|
+
and storage_destination.details.get("enable_streaming")
|
|
827
|
+
):
|
|
828
|
+
use_dsr_package_links = True
|
|
829
|
+
break
|
|
830
|
+
|
|
831
|
+
# Generate appropriate URLs based on streaming configuration
|
|
832
|
+
if use_dsr_package_links and config_proxy.privacy_center.url:
|
|
833
|
+
# Use DSR package links instead of direct storage URLs
|
|
834
|
+
# Generate the download token for security
|
|
835
|
+
download_token = generate_privacy_request_download_token(privacy_request_id)
|
|
836
|
+
|
|
837
|
+
# Generate DSR package URLs for the messaging template system
|
|
838
|
+
dsr_package_url = f"{config_proxy.privacy_center.url}/api{PRIVACY_CENTER_DSR_PACKAGE.format(privacy_request_id=privacy_request_id)}?token={download_token}"
|
|
839
|
+
download_links = [dsr_package_url]
|
|
840
|
+
else:
|
|
841
|
+
# Use original direct storage URLs
|
|
842
|
+
download_links = access_result_urls
|
|
843
|
+
|
|
804
844
|
# synchronous for now since failure to send complete emails is fatal to request
|
|
805
845
|
dispatch_message(
|
|
806
846
|
db=session,
|
|
@@ -808,7 +848,7 @@ def initiate_privacy_request_completion_email(
|
|
|
808
848
|
to_identity=to_identity,
|
|
809
849
|
service_type=config_proxy.notifications.notification_service_type,
|
|
810
850
|
message_body_params=AccessRequestCompleteBodyParams(
|
|
811
|
-
download_links=
|
|
851
|
+
download_links=download_links,
|
|
812
852
|
subject_request_download_time_in_days=CONFIG.security.subject_request_download_link_ttl_seconds
|
|
813
853
|
/ 86400,
|
|
814
854
|
),
|
|
@@ -230,6 +230,23 @@ def get_saas_connection_types(
|
|
|
230
230
|
for item in saas_types:
|
|
231
231
|
connector_template = ConnectorRegistry.get_connector_template(item)
|
|
232
232
|
if connector_template is not None:
|
|
233
|
+
# Read display info from SAAS config if available
|
|
234
|
+
category = None
|
|
235
|
+
tags = None
|
|
236
|
+
enabled_features = None
|
|
237
|
+
|
|
238
|
+
try:
|
|
239
|
+
saas_config = SaaSConfig(
|
|
240
|
+
**load_config_from_string(connector_template.config)
|
|
241
|
+
)
|
|
242
|
+
if saas_config.display_info:
|
|
243
|
+
category = saas_config.display_info.category
|
|
244
|
+
tags = saas_config.display_info.tags
|
|
245
|
+
enabled_features = saas_config.display_info.enabled_features
|
|
246
|
+
except Exception:
|
|
247
|
+
# If config parsing fails, leave display info as None
|
|
248
|
+
pass
|
|
249
|
+
|
|
233
250
|
saas_connection_types.append(
|
|
234
251
|
ConnectionSystemTypeMap(
|
|
235
252
|
identifier=item,
|
|
@@ -239,6 +256,9 @@ def get_saas_connection_types(
|
|
|
239
256
|
authorization_required=connector_template.authorization_required,
|
|
240
257
|
user_guide=connector_template.user_guide,
|
|
241
258
|
supported_actions=connector_template.supported_actions,
|
|
259
|
+
category=category,
|
|
260
|
+
tags=tags,
|
|
261
|
+
enabled_features=enabled_features,
|
|
242
262
|
)
|
|
243
263
|
)
|
|
244
264
|
|
fides/api/util/text.py
CHANGED
|
@@ -2,6 +2,57 @@ import re
|
|
|
2
2
|
|
|
3
3
|
from anyascii import anyascii # type: ignore
|
|
4
4
|
|
|
5
|
+
# Regex to validate a ISO 3166-2 code:
|
|
6
|
+
# 1. Starts with a 2 letter country code (e.g. "US", "GB") (see ISO 3166-1 alpha-2)
|
|
7
|
+
# 2. (Optional) Ends with a 1-3 alphanumeric character region code (e.g. "CA", "123", "X") (see ISO 3166-2)
|
|
8
|
+
# 3. Country & region codes must be separated by a hyphen (e.g. "US-CA")
|
|
9
|
+
#
|
|
10
|
+
# Fides also supports a special `EEA` geolocation code to denote the European
|
|
11
|
+
# Economic Area; this is not part of ISO 3166-2, but is supported for convenience.
|
|
12
|
+
VALID_ISO_3166_LOCATION_REGEX = re.compile(
|
|
13
|
+
r"^(?:([a-z]{2})(-[a-z0-9]{1,3})?|(eea))$", re.IGNORECASE
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
def normalize_location_code(location: str) -> str:
|
|
18
|
+
"""
|
|
19
|
+
Normalize a location code to ISO 3166-2 format.
|
|
20
|
+
|
|
21
|
+
Converts location codes to the idiomatic format:
|
|
22
|
+
- Uppercase (e.g., "us-ca" -> "US-CA")
|
|
23
|
+
- Hyphens instead of underscores (e.g., "US_CA" -> "US-CA")
|
|
24
|
+
- Supports special codes like "EEA"
|
|
25
|
+
|
|
26
|
+
Args:
|
|
27
|
+
location: Input location code (e.g., "us-ca", "US_NY", "gb", "eea")
|
|
28
|
+
|
|
29
|
+
Returns:
|
|
30
|
+
Normalized location code (e.g., "US-CA", "US-NY", "GB", "EEA")
|
|
31
|
+
|
|
32
|
+
Raises:
|
|
33
|
+
ValueError: If the normalized location doesn't match ISO 3166-2 format
|
|
34
|
+
|
|
35
|
+
Examples:
|
|
36
|
+
normalize_location_code("us-ca") -> "US-CA"
|
|
37
|
+
normalize_location_code("US_NY") -> "US-NY"
|
|
38
|
+
normalize_location_code("gb") -> "GB"
|
|
39
|
+
normalize_location_code("eea") -> "EEA"
|
|
40
|
+
"""
|
|
41
|
+
if not location:
|
|
42
|
+
raise ValueError("Location code cannot be empty")
|
|
43
|
+
|
|
44
|
+
# Convert to uppercase and replace underscores with hyphens
|
|
45
|
+
normalized = location.upper().replace("_", "-")
|
|
46
|
+
|
|
47
|
+
# Validate against ISO 3166-2 format
|
|
48
|
+
if not VALID_ISO_3166_LOCATION_REGEX.match(normalized):
|
|
49
|
+
raise ValueError(
|
|
50
|
+
f"Invalid location format '{location}'. Must follow ISO 3166 format "
|
|
51
|
+
"(e.g., 'US', 'US-CA', 'GB', 'CA-ON', 'EEA')"
|
|
52
|
+
)
|
|
53
|
+
|
|
54
|
+
return normalized
|
|
55
|
+
|
|
5
56
|
|
|
6
57
|
def to_snake_case(text: str) -> str:
|
|
7
58
|
"""
|
|
@@ -73,6 +73,9 @@ MESSAGING_EMAIL_INVITE_STATUS = "/messaging/email-invite/status"
|
|
|
73
73
|
POLICY_LIST = "/dsr/policy"
|
|
74
74
|
POLICY_DETAIL = "/dsr/policy/{policy_key}"
|
|
75
75
|
|
|
76
|
+
# Privacy Center URLs
|
|
77
|
+
PRIVACY_CENTER_DSR_PACKAGE = "/privacy-request/{privacy_request_id}/access-package"
|
|
78
|
+
|
|
76
79
|
# Privacy request URLs
|
|
77
80
|
PRIVACY_REQUESTS = "/privacy-request"
|
|
78
81
|
PRIVACY_REQUEST_APPROVE = "/privacy-request/administrate/approve"
|
|
@@ -13,6 +13,9 @@ from fides.api.common_exceptions import (
|
|
|
13
13
|
from fides.api.models.audit_log import AuditLog, AuditLogAction
|
|
14
14
|
from fides.api.models.policy import Policy
|
|
15
15
|
from fides.api.models.pre_approval_webhook import PreApprovalWebhook
|
|
16
|
+
from fides.api.models.privacy_center_config import (
|
|
17
|
+
PrivacyCenterConfig as PrivacyCenterConfigModel,
|
|
18
|
+
)
|
|
16
19
|
from fides.api.models.privacy_preference import PrivacyPreferenceHistory
|
|
17
20
|
from fides.api.models.privacy_request import (
|
|
18
21
|
ConsentRequest,
|
|
@@ -25,6 +28,10 @@ from fides.api.models.worker_task import ExecutionLogStatus
|
|
|
25
28
|
from fides.api.schemas.api import BulkUpdateFailed
|
|
26
29
|
from fides.api.schemas.messaging.messaging import MessagingActionType
|
|
27
30
|
from fides.api.schemas.policy import ActionType, CurrentStep
|
|
31
|
+
from fides.api.schemas.privacy_center_config import LocationCustomPrivacyRequestField
|
|
32
|
+
from fides.api.schemas.privacy_center_config import (
|
|
33
|
+
PrivacyCenterConfig as PrivacyCenterConfigSchema,
|
|
34
|
+
)
|
|
28
35
|
from fides.api.schemas.privacy_request import (
|
|
29
36
|
BulkPostPrivacyRequests,
|
|
30
37
|
BulkReviewResponse,
|
|
@@ -71,6 +78,78 @@ class PrivacyRequestService:
|
|
|
71
78
|
logger.info(f"Privacy request with ID {privacy_request_id} was not found.")
|
|
72
79
|
return privacy_request
|
|
73
80
|
|
|
81
|
+
def _validate_required_location_fields(
|
|
82
|
+
self, privacy_request_data: PrivacyRequestCreate
|
|
83
|
+
) -> None:
|
|
84
|
+
"""Validate that location is provided for required location fields.
|
|
85
|
+
|
|
86
|
+
Looks up the actual Privacy Center configuration to check if any location
|
|
87
|
+
fields are marked as required for the specified policy.
|
|
88
|
+
"""
|
|
89
|
+
# If location is already provided, no validation needed
|
|
90
|
+
if privacy_request_data.location:
|
|
91
|
+
return
|
|
92
|
+
|
|
93
|
+
# Get the Privacy Center configuration from the database
|
|
94
|
+
privacy_center_config_record = PrivacyCenterConfigModel.filter(
|
|
95
|
+
db=self.db, conditions=PrivacyCenterConfigModel.single_row # type: ignore[arg-type]
|
|
96
|
+
).first()
|
|
97
|
+
|
|
98
|
+
if not privacy_center_config_record:
|
|
99
|
+
# No Privacy Center config found, skip validation
|
|
100
|
+
return
|
|
101
|
+
|
|
102
|
+
try:
|
|
103
|
+
# Parse the config using the Pydantic schema
|
|
104
|
+
privacy_center_config = PrivacyCenterConfigSchema.model_validate(
|
|
105
|
+
privacy_center_config_record.config
|
|
106
|
+
)
|
|
107
|
+
except Exception as exc:
|
|
108
|
+
logger.warning(
|
|
109
|
+
f"Could not parse Privacy Center config for location validation: {exc}"
|
|
110
|
+
)
|
|
111
|
+
return
|
|
112
|
+
|
|
113
|
+
# Find the action that matches the policy key
|
|
114
|
+
matching_action = None
|
|
115
|
+
for action in privacy_center_config.actions:
|
|
116
|
+
if action.policy_key == privacy_request_data.policy_key:
|
|
117
|
+
matching_action = action
|
|
118
|
+
break
|
|
119
|
+
|
|
120
|
+
if not matching_action or not matching_action.custom_privacy_request_fields:
|
|
121
|
+
# No matching action or no custom fields defined
|
|
122
|
+
return
|
|
123
|
+
|
|
124
|
+
# Check if any location fields are required
|
|
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
|
+
)
|
|
152
|
+
|
|
74
153
|
# pylint: disable=too-many-branches
|
|
75
154
|
def create_privacy_request(
|
|
76
155
|
self,
|
|
@@ -111,6 +190,9 @@ class PrivacyRequestService:
|
|
|
111
190
|
privacy_request_data.model_dump(mode="json"),
|
|
112
191
|
)
|
|
113
192
|
|
|
193
|
+
# Validate location is provided for required location fields
|
|
194
|
+
self._validate_required_location_fields(privacy_request_data)
|
|
195
|
+
|
|
114
196
|
policy = Policy.get_by(
|
|
115
197
|
db=self.db,
|
|
116
198
|
field="key",
|
|
@@ -151,6 +233,7 @@ class PrivacyRequestService:
|
|
|
151
233
|
"consent_preferences",
|
|
152
234
|
"property_id",
|
|
153
235
|
"source",
|
|
236
|
+
"location",
|
|
154
237
|
]
|
|
155
238
|
|
|
156
239
|
for field in OPTIONAL_FIELDS:
|
|
@@ -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/abf2e162b1cd0e61.css" as="style"/><link rel="stylesheet" href="/_next/static/css/abf2e162b1cd0e61.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-aa7ff73977a15cb3.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-36bec04369a1a7c4.js" defer=""></script><script src="/_next/static/chunks/pages/404-fde1f56225d1ef4f.js" defer=""></script><script src="/_next/static/0uUBOyZCwjdyYdhNzpRkz/_buildManifest.js" defer=""></script><script src="/_next/static/0uUBOyZCwjdyYdhNzpRkz/_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":"0uUBOyZCwjdyYdhNzpRkz","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,e,t,a,c,n,i,d,o,r,p,u,g,f,m,j,b,k,h,y,l,v,I,F,x,_,U,w,q,N,A,S,B,C,z,D,E,L,M,T,P,G,H,J,K,O,Q,R){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[F,"static/chunks/pages/index-053db342725dc127.js"],"/404":["static/chunks/pages/404-fde1f56225d1ef4f.js"],"/_error":["static/chunks/pages/_error-bede3a8288930dcf.js"],"/add-systems":[s,e,F,"static/chunks/pages/add-systems-e98c4154535bf37d.js"],"/add-systems/manual":[t,s,a,c,n,g,e,d,f,m,h,x,_,"static/chunks/pages/add-systems/manual-aff671eda846719f.js"],"/add-systems/multiple":[d,j,U,"static/chunks/pages/add-systems/multiple-04894ddffc2a66fc.js"],"/consent":["static/chunks/pages/consent-b3c8efbd960f4e34.js"],"/consent/configure":[d,j,"static/chunks/pages/consent/configure-207cabf1b5c453fc.js"],"/consent/configure/add-vendors":[d,j,U,"static/chunks/pages/consent/configure/add-vendors-b2f80cdb75183bfa.js"],"/consent/privacy-experience":[g,w,"static/chunks/pages/consent/privacy-experience-3009481bdd479fd7.js"],"/consent/privacy-experience/new":[t,o,b,k,q,"static/chunks/pages/consent/privacy-experience/new-e74cb5ea87f15b40.js"],"/consent/privacy-experience/[id]":[t,o,b,k,q,"static/chunks/pages/consent/privacy-experience/[id]-b3db5610ae7e94fb.js"],"/consent/privacy-notices":[w,"static/chunks/pages/consent/privacy-notices-6b0885a8c871804f.js"],"/consent/privacy-notices/new":[t,o,b,k,N,"static/chunks/pages/consent/privacy-notices/new-2aa4d13fb26b59ca.js"],"/consent/privacy-notices/[id]":[t,o,b,k,N,"static/chunks/pages/consent/privacy-notices/[id]-72e3cd6740c5c5de.js"],"/consent/properties":[A,"static/chunks/pages/consent/properties-20bc3cf67727dfd3.js"],"/consent/reporting":["static/chunks/2150-930ffaf2c4718edc.js","static/chunks/pages/consent/reporting-77b491108663a2de.js"],"/data-catalog":[t,a,c,"static/css/95ac327e5d70148d.css","static/chunks/pages/data-catalog-a6cecf48e4e27645.js"],"/data-catalog/[systemId]/projects":[t,a,c,p,y,i,"static/chunks/pages/data-catalog/[systemId]/projects-3584c90cf3670146.js"],"/data-catalog/[systemId]/projects/[projectUrn]":[S,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-fe5f6fb33e34baa7.js"],"/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]":[t,s,a,c,e,p,y,B,i,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-adc500a03e239857.js"],"/data-catalog/[systemId]/resources":[S,"static/chunks/pages/data-catalog/[systemId]/resources-6c3714ee97a718c1.js"],"/data-catalog/[systemId]/resources/[resourceUrn]":[t,s,a,c,e,p,y,B,i,"static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-c8b3d090e4ba60d3.js"],"/data-discovery/action-center":["static/chunks/pages/data-discovery/action-center-7721508cc2a9ab3a.js"],"/data-discovery/action-center/[monitorId]":[t,s,a,c,e,C,l,"static/chunks/pages/data-discovery/action-center/[monitorId]-215d6e2fefc9a5e1.js"],"/data-discovery/action-center/[monitorId]/[systemId]":[t,s,a,c,e,d,h,C,"static/css/23cf870196941c9a.css","static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-844abdb5ea7d78af.js"],"/data-discovery/activity":[s,e,u,"static/chunks/pages/data-discovery/activity-6169e49c3787a9bf.js"],"/data-discovery/detection":[s,e,u,z,"static/chunks/pages/data-discovery/detection-4decce5ef996e563.js"],"/data-discovery/detection/[resourceUrn]":[s,e,u,z,"static/chunks/pages/data-discovery/detection/[resourceUrn]-22eec362dfbb1d2a.js"],"/data-discovery/discovery":[t,s,a,c,e,u,p,D,i,"static/chunks/pages/data-discovery/discovery-85fdbf4cde60d910.js"],"/data-discovery/discovery/[resourceUrn]":[t,s,a,c,e,u,p,D,i,"static/chunks/pages/data-discovery/discovery/[resourceUrn]-01acdd1ad492fd89.js"],"/datamap":[s,c,"static/chunks/255-1bc0cbef7a59cdc6.js",e,f,E,"static/chunks/pages/datamap-e17dd4ffcaa4836d.js"],"/dataset":[r,"static/chunks/pages/dataset-0566189a0236078d.js"],"/dataset/new":[s,r,e,"static/chunks/pages/dataset/new-3b65c6e9af65ea2e.js"],"/dataset/[datasetId]":["static/chunks/9729-fcf6ff4e3534e4a8.js",v,"static/chunks/pages/dataset/[datasetId]-ccc844caef652a7e.js"],"/dataset/[datasetId]/[collectionName]":[t,a,c,n,v,L,i,"static/chunks/pages/dataset/[datasetId]/[collectionName]-a65a8ea3872800e7.js"],"/dataset/[datasetId]/[collectionName]/[...subfieldNames]":[t,a,c,n,v,L,i,"static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-4af946dc8c6c967f.js"],"/datastore-connection":["static/css/5f393dea1c0d031c.css","static/chunks/pages/datastore-connection-00ba79f6b47bd161.js"],"/datastore-connection/new":[t,s,n,r,g,M,e,T,"static/chunks/pages/datastore-connection/new-c8d2599814eefd35.js"],"/datastore-connection/[id]":[t,s,n,r,M,e,T,"static/chunks/pages/datastore-connection/[id]-38a7b8826e0abb01.js"],"/fides-js-docs":["static/chunks/2fbcc6de-a6c61724c327e9fa.js","static/chunks/e3251fe7-5777b5d778e6fffa.js",t,a,c,n,r,"static/chunks/5619-9b50cec521203989.js",P,"static/css/0b4b1b65cc874774.css","static/chunks/5596-bb601cbf40e47a0f.js","static/chunks/pages/fides-js-docs-1f4335dca5c09860.js"],"/integrations":[t,s,a,c,n,o,G,e,m,H,i,"static/chunks/pages/integrations-5f34de3c24e67368.js"],"/integrations/[id]":[t,s,a,c,n,o,G,e,m,H,i,"static/chunks/pages/integrations/[id]-3db44d6839e8dbd9.js"],"/login":["static/chunks/pages/login-0cb0eb44bf2dd24c.js"],"/login/[provider]":["static/chunks/pages/login/[provider]-c58beef131c3a82d.js"],"/messaging":[t,a,"static/chunks/346-aa3b88efb85f2e28.js","static/chunks/pages/messaging-d95588f3ef137030.js"],"/messaging/add-template":[J,"static/chunks/pages/messaging/add-template-c68b413f3c9cf318.js"],"/messaging/[id]":[J,"static/chunks/pages/messaging/[id]-707b72e959233112.js"],"/poc/ant-components":["static/chunks/pages/poc/ant-components-36cac6f4379587ea.js"],"/poc/form-experiments/AntForm":["static/chunks/pages/poc/form-experiments/AntForm-d44606c0cf203b47.js"],"/poc/form-experiments/FormikAntFormItem":["static/chunks/pages/poc/form-experiments/FormikAntFormItem-341b571fd8da4142.js"],"/poc/form-experiments/FormikControlled":["static/chunks/pages/poc/form-experiments/FormikControlled-2e99b5eb12982aeb.js"],"/poc/form-experiments/FormikField":["static/chunks/pages/poc/form-experiments/FormikField-c7d62113680196dd.js"],"/poc/form-experiments/FormikSpreadField":[K,"static/chunks/pages/poc/form-experiments/FormikSpreadField-af097d661f6abcf4.js"],"/poc/forms":[K,"static/chunks/pages/poc/forms-89a24591c3d9e7a8.js"],"/poc/table-migration":[d,j,"static/chunks/pages/poc/table-migration-c54bcfb6b0de8a71.js"],"/privacy-requests":[t,s,"static/chunks/3550-d04125c828d591a1.js",e,"static/chunks/pages/privacy-requests-c9c1c02d7e68c4f8.js"],"/privacy-requests/configure":["static/chunks/pages/privacy-requests/configure-3823ee301161be4f.js"],"/privacy-requests/configure/messaging":[s,e,"static/chunks/pages/privacy-requests/configure/messaging-4c8e1a7e407d3c7f.js"],"/privacy-requests/configure/storage":[s,e,"static/chunks/pages/privacy-requests/configure/storage-faf42d1a9cd6a861.js"],"/privacy-requests/[id]":[s,e,"static/css/073713cd1eddda79.css","static/chunks/pages/privacy-requests/[id]-7e3f8b6eb83c5142.js"],"/properties":[A,"static/chunks/pages/properties-5bb059b7057b5583.js"],"/properties/add-property":[O,"static/chunks/pages/properties/add-property-b449da44de56fd3f.js"],"/properties/[id]":[O,"static/chunks/pages/properties/[id]-8973618b9ba28a50.js"],"/reporting/datamap":[t,s,a,c,P,e,f,E,"static/chunks/pages/reporting/datamap-6b26740aeb247bc8.js"],"/settings/about":["static/chunks/pages/settings/about-d176ec152b70f82d.js"],"/settings/about/alpha":["static/chunks/pages/settings/about/alpha-98c1492dca52f4f8.js"],"/settings/consent":["static/chunks/pages/settings/consent-68b812269e38c8c3.js"],"/settings/consent/[configuration_id]/[purpose_id]":["static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-ea5077aca3d01dfb.js"],"/settings/custom-fields":[s,e,"static/chunks/pages/settings/custom-fields-79cdee37ceb8665f.js"],"/settings/domain-records":["static/chunks/pages/settings/domain-records-056f36a8a0509006.js"],"/settings/domains":["static/chunks/pages/settings/domains-fea15607939cab70.js"],"/settings/email-templates":["static/chunks/pages/settings/email-templates-cce73ddc0012b089.js"],"/settings/locations":[Q,l,"static/chunks/pages/settings/locations-8b0a408ed7e3ff28.js"],"/settings/organization":["static/chunks/pages/settings/organization-a01838a53677d69e.js"],"/settings/regulations":[Q,l,"static/chunks/pages/settings/regulations-43e9cafaeb869069.js"],"/systems":["static/chunks/pages/systems-2c6dca19bf0a4f0c.js"],"/systems/configure/[id]":[t,s,a,c,n,g,e,d,f,m,h,x,_,"static/chunks/pages/systems/configure/[id]-7856e694b009ded3.js"],"/systems/configure/[id]/test-datasets":[r,"static/chunks/pages/systems/configure/[id]/test-datasets-ea1e2483ddf6af6c.js"],"/taxonomy":["static/chunks/678d4732-50255cc09048e643.js",t,s,a,o,"static/chunks/6148-59a59d5c5925344f.js",e,"static/css/34a7eb08b86ddb57.css","static/chunks/pages/taxonomy-ede8ddce10d7d055.js"],"/user-management":[I,"static/chunks/pages/user-management-3b7fea8781dc18b5.js"],"/user-management/new":[I,R,"static/chunks/pages/user-management/new-de8cb3739ab99c09.js"],"/user-management/profile/[id]":[I,R,"static/chunks/pages/user-management/profile/[id]-af9bf43612c9676c.js"],sortedPages:["/","/404","/_app","/_error","/add-systems","/add-systems/manual","/add-systems/multiple","/consent","/consent/configure","/consent/configure/add-vendors","/consent/privacy-experience","/consent/privacy-experience/new","/consent/privacy-experience/[id]","/consent/privacy-notices","/consent/privacy-notices/new","/consent/privacy-notices/[id]","/consent/properties","/consent/reporting","/data-catalog","/data-catalog/[systemId]/projects","/data-catalog/[systemId]/projects/[projectUrn]","/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]","/data-catalog/[systemId]/resources","/data-catalog/[systemId]/resources/[resourceUrn]","/data-discovery/action-center","/data-discovery/action-center/[monitorId]","/data-discovery/action-center/[monitorId]/[systemId]","/data-discovery/activity","/data-discovery/detection","/data-discovery/detection/[resourceUrn]","/data-discovery/discovery","/data-discovery/discovery/[resourceUrn]","/datamap","/dataset","/dataset/new","/dataset/[datasetId]","/dataset/[datasetId]/[collectionName]","/dataset/[datasetId]/[collectionName]/[...subfieldNames]","/datastore-connection","/datastore-connection/new","/datastore-connection/[id]","/fides-js-docs","/integrations","/integrations/[id]","/login","/login/[provider]","/messaging","/messaging/add-template","/messaging/[id]","/poc/ant-components","/poc/form-experiments/AntForm","/poc/form-experiments/FormikAntFormItem","/poc/form-experiments/FormikControlled","/poc/form-experiments/FormikField","/poc/form-experiments/FormikSpreadField","/poc/forms","/poc/table-migration","/privacy-requests","/privacy-requests/configure","/privacy-requests/configure/messaging","/privacy-requests/configure/storage","/privacy-requests/[id]","/properties","/properties/add-property","/properties/[id]","/reporting/datamap","/settings/about","/settings/about/alpha","/settings/consent","/settings/consent/[configuration_id]/[purpose_id]","/settings/custom-fields","/settings/domain-records","/settings/domains","/settings/email-templates","/settings/locations","/settings/organization","/settings/regulations","/systems","/systems/configure/[id]","/systems/configure/[id]/test-datasets","/taxonomy","/user-management","/user-management/new","/user-management/profile/[id]"]}}("static/chunks/431-86ad2beeb93c95c9.js","static/chunks/768-24269f30db223720.js","static/chunks/8765-f622a35b40a7ec63.js","static/chunks/9278-08cc704317fe535e.js","static/chunks/5163-e682273cd76a7d07.js","static/chunks/699-8ca44b0de9fa20f0.js","static/css/d2d4e9a6923e6730.css","static/chunks/401-029e2ff644cae40c.js","static/chunks/3662-f6a1ddca5ee42076.js","static/chunks/6527-0eed08abe252a918.js","static/chunks/1099-db533dd22b80bca6.js","static/chunks/8002-98ecd56535cdefa3.js","static/chunks/5277-e8a036319456127f.js","static/chunks/9951-07989276d153c848.js","static/chunks/4808-5b799757d4564807.js","static/chunks/3923-3be9b867f33e524c.js","static/chunks/6419-d0c00d661b01f8fa.js","static/chunks/6084-3379ca3c1fc77aa9.js","static/chunks/4844-a1784e2823ccd0ee.js","static/chunks/3620-1fba74849114e70f.js","static/css/10994e916bc9a00a.css","static/chunks/5487-aad0e8a240a1979b.js","static/chunks/7476-2227e21f574bee70.js","static/css/972dc7eef106ee7c.css","static/chunks/4786-289c505d7d835feb.js","static/css/304c6f148886a8d4.css","static/chunks/796-53f0ea567d1da2b9.js","static/chunks/6853-04b15a7b02b1fc19.js","static/chunks/1817-fcb2fd28034d5070.js","static/chunks/6954-0f5d6c1757013eb7.js","static/chunks/79-0102f2711b8455cd.js","static/chunks/3872-25eec062abd0f847.js","static/chunks/3855-3154d56888ac46ed.js","static/chunks/3847-a868f83c065f54fb.js","static/chunks/1345-6986414ab6ad3389.js","static/chunks/9046-a349c22448593f94.js","static/chunks/5258-45ec38e6c3780f24.js","static/chunks/549-81279a1a816487a7.js","static/chunks/1467-8808ec8836e033f9.js","static/chunks/4608-99e453c666a7b89a.js","static/chunks/9187-7438242f0d380bb0.js","static/chunks/1316-2606e19807c08aa5.js","static/chunks/3729-79255d8b0d22922d.js","static/chunks/7630-267de03b93bbae8d.js","static/chunks/2921-8a63ec72fa8e1bc0.js","static/chunks/787-0aa4d9802c976f92.js","static/chunks/9826-f4755a75d00c1c8c.js","static/chunks/4121-bbce1026a2ffe962.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1099],{56632:function(e,t,n){var a=n(89278),i=n(80068),o=n(50098);e.exports=function(e){return function(t,n,r){var s=Object(t);if(!i(t)){var l=a(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 a=n(56632)(n(66259));e.exports=a},66259:function(e,t,n){var a=n(95372),i=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)),a(e,i(t,3),l)}},94919:function(e,t,n){var a=n(91936),i=1/0;e.exports=function(e){return e?(e=a(e))===i||e===-i?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},47991:function(e,t,n){var a=n(94919);e.exports=function(e){var t=a(e),n=t%1;return t==t?n?t-n:t:0}},12627:function(e,t,n){"use strict";var a=n(24246),i=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,a.jsx)(i.l,{options:c,...r})}},79283:function(e,t,n){"use strict";n.d(t,{l:function(){return l}});var a=n(24246),i=n(96306),o=n(72707),r=n.n(o);let s=e=>{let{data:{formattedTitle:t,description:n,name:o,primaryName:r}}=e;return(0,a.jsxs)(i.jqI,{gap:12,title:"".concat(t," - ").concat(n),children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:r||o}),r&&": ".concat(o)]}),(0,a.jsx)("em",{children:n})]})},l=e=>{let{options:t,...n}=e,o=null==t?void 0:t.map(e=>({...e,className:r().option,formattedTitle:[e.primaryName,e.name].filter(e=>e).join(": ")}));return(0,a.jsx)(i.WPr,{options:o,filterOption:(e,t)=>(null==t?void 0:t.formattedTitle.toLowerCase().includes(e.toLowerCase()))||(null==t?void 0:t.value.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 a=n(24246),i=n(64925),o=n.n(i),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)(),a=(0,s.C)(d.qb),{isLoading:i}=(0,l.te)();return{dataUses:t,dataSubjects:(0,s.C)(l.ZL),dataCategories:a,isLoading:e||n||i}};t.Z=()=>{let{dataUses:e,dataCategories:t,dataSubjects:n,isLoading:i}=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,a=t(e);if(!a)return{};let i=t(s(e,n)),o=!!a.parent_key;return{name:a.name||void 0,primaryName:o&&(null==i?void 0:i.name)!==a.name&&(null==i?void 0:i.name)||void 0}},c=function(e,t){let n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,{name:i,primaryName:o}=l(e,t,n);return i?o?(0,a.jsxs)(r.Fragment,{children:[(0,a.jsxs)("strong",{children:[o,":"]})," ",i]},e):(0,a.jsx)("strong",{children:i},e):e},d=t=>o()(e,{fides_key:t}),f=e=>o()(t,{fides_key:e}),g=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:g,getDataSubjectDisplayName:e=>{let t=g(e);return t?t.name:e},getPrimaryKey:s,isLoading:i}}},61099:function(e,t,n){"use strict";var a=n(24246),i=n(96306),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,g]=(0,o.useState)(!1),{getDataCategoryDisplayName:v}=(0,s.Z)(),[p]=(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=>{p({staged_resource_urn:u.urn,monitor_config_id:u.monitor_config_id,user_assigned_data_categories:[...x,e]})},y=e=>{var t;p({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,a.jsxs)(l.Z,{"data-testid":"edit-category-cell",children:[h&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.j8w,{"data-testid":"no-classifications",color:"white",children:"None"}),!_&&(0,a.jsx)(i.j8w,{onClick:()=>g(!0),addable:!0,"data-testid":"taxonomy-add-btn","aria-label":"Add category"})]}),b&&(0,a.jsxs)(a.Fragment,{children:[x.map(e=>(0,a.jsx)(i.j8w,{"data-testid":"user-classification-".concat(e),color:"white",closable:!0,onClose:()=>y(e),closeButtonLabel:"Remove category",children:v(e)},e)),(0,a.jsx)(i.j8w,{onClick:()=>g(!0),addable:!0,"data-testid":"taxonomy-add-btn","aria-label":"Add category"})]}),w&&(0,a.jsxs)(i.j8w,{onClick:()=>g(!0),color:"white","data-testid":"classification-".concat(m),hasSparkle:!0,children:[v(m),(0,a.jsx)(i.PJP.I8b,{size:10})]}),f&&(0,a.jsx)(i.xuv,{className:"select-wrapper",position:"absolute",zIndex:10,top:"0",left:"0",width:"100%",height:"max",bgColor:"#fff",children:(0,a.jsx)(r.Z,{selectedTaxonomies:x,onChange:e=>{g(!1),j(e)},onBlur:()=>g(!1),open:!0})})]})}},26183:function(e,t,n){"use strict";var a=n(24246);n(27378),t.Z=e=>{let{children:t,className:n,...i}=e;return(0,a.jsx)("div",{className:"relative flex w-full flex-wrap items-center gap-2 overflow-x-auto py-2 ".concat(n||""),...i,children:t})}},72707:function(e){e.exports={option:"TaxonomySelect_option__vY6v2"}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1345],{11611:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},55193:function(e,t,i){var a=i(99736),r=i(92360);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==a(e)}},14908:function(e,t,i){"use strict";var a=i(86677),r=i(27378);let s=e=>e.startsWith("#")?e.slice(1):e;t.Z=e=>{let{tabKeys:t,initialTab:i}=e,l=(0,a.useRouter)(),o=l.asPath.split("#")[1]||t[0],[n,c]=(0,r.useState)(o);return(0,r.useEffect)(()=>{i&&t.includes(i)&&c(i)},[i,t,l.isReady]),{activeTab:n,onTabChange:(0,r.useCallback)(async e=>{if(!t.includes(e)){await l.replace({pathname:l.pathname,query:l.query,hash:void 0}),c(t[0]);return}l.isReady&&(await l.replace({pathname:l.pathname,query:l.query,hash:s(e)},void 0,{shallow:!0}),c(e))},[l,t])}}},69828:function(e,t,i){"use strict";i.d(t,{Y:function(){return l}});var a=i(24246),r=i(39941),s=i(70788);let l=[(0,a.jsx)(r.PJP.S9g,{},"layers"),(0,a.jsx)(r.PJP.ehp,{},"dataset"),(0,a.jsx)(r.PJP.iA_,{},"table"),(0,a.jsx)(r.PJP.$4y,{style:{transform:"rotate(-90deg)"}},"field")];t.Z=e=>{let{resourceUrn:t,parentLink:i,onPathClick:r=()=>{}}=e,o=[];if(t||o.push({title:"All activity"}),t){o.push({title:"All activity",href:i});let e=t.split(".");e.forEach((t,i)=>{0!==i&&o.push({title:t,icon:l[i-1],onClick:t=>{t.preventDefault(),r(e.slice(0,i+1).join("."))}})})}return(0,a.jsx)(s.m,{"data-testid":"results-breadcrumb",items:o})}},1039:function(e,t,i){"use strict";i.d(t,{Z:function(){return I}});var a,r,s=i(24246),l=i(59003),o=i(92222),n=i(39941),c=i(27378),d=i(47935),u=i(70675),h=i(72625),m=i(54409),g=i(79947),x=i(87667),j=i(50169),v=i(28278),L=i(54682),p=i(74241),f=e=>{let{resourceType:t,changeTypeOverride:i}=e,a=(0,o.Cl)(),r=[];return t?t===L.D$.SCHEMA?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Name",...e}),size:300}),a.accessor(e=>e.urn,{id:"project",cell:e=>(0,s.jsx)(d.G3,{value:(0,p.Z)(e.getValue())}),header:e=>(0,s.jsx)(d.Rr,{value:"Project",...e})}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.system,{id:"system",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"System",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{ignoreChildActions:i===v.E.MONITORED||i===v.E.MUTED,resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.TABLE?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Table name",...e}),size:300}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.FIELD?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Field name",...e}),size:300}),a.accessor(e=>e.source_data_type,{id:"data-type",cell:e=>(0,s.jsx)(g.Z,{type:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Data type",...e})}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.ENDPOINT?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Object",...e}),size:300}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:{columns:r}:{columns:r}},y=i(14908);(a=r||(r={})).ACTION_REQUIRED="action-required",a.MONITORED="monitored",a.UNMONITORED="unmonitored";let D={"action-required":{label:"Action Required",key:"action-required",filters:[L.LL.ADDITION,L.LL.REMOVAL],childFilters:[L.LL.ADDITION,L.LL.REMOVAL]},monitored:{label:"Monitored",key:"monitored",filters:[L.LL.MONITORED],childFilters:[],changeTypeOverride:v.E.MONITORED},unmonitored:{label:"Unmonitored",key:"unmonitored",filters:[L.LL.MUTED],childFilters:[],changeTypeOverride:v.E.MUTED}};var R=()=>{var e,t,i;let{activeTab:a,onTabChange:s}=(0,y.Z)({tabKeys:Object.values(r)});return{filterTabs:Object.values(D),activeTabKey:a,onTabChange:s,activeDiffFilters:null===(e=D[a])||void 0===e?void 0:e.filters,activeChildDiffFilters:null===(t=D[a])||void 0===t?void 0:t.childFilters,activeChangeTypeOverride:null===(i=D[a])||void 0===i?void 0:i.changeTypeOverride}},b=i(47182),_=i(38347),T=i(7940),w=i(80285),C=i(36168),O=i(30952);let H={items:[],total:0,page:1,size:50,pages:1},M=()=>(0,s.jsx)(n.gCW,{mt:6,p:10,spacing:4,borderRadius:"base",maxW:"70%","data-testid":"empty-state",alignSelf:"center",margin:"auto",children:(0,s.jsxs)(n.gCW,{children:[(0,s.jsx)(n.xvT,{fontSize:"md",fontWeight:"600",children:"No activity found"}),(0,s.jsx)(n.xvT,{fontSize:"sm",children:"You're up to date!"})]})});var I=e=>{let{resourceUrn:t}=e,[i,a]=(0,c.useState)(""),{filterTabs:r,activeTabKey:h,onTabChange:m,activeDiffFilters:g,activeChildDiffFilters:x,activeChangeTypeOverride:j}=R(),{PAGE_SIZES:v,pageSize:p,setPageSize:y,onPreviousPageClick:D,isPreviousPageDisabled:I,onNextPageClick:Z,isNextPageDisabled:E,startRange:k,endRange:A,pageIndex:N,setTotalPages:P,resetPageIndexToDefault:V}=(0,d.oi)();(0,c.useEffect)(()=>{V()},[t,i,V,g,x]);let{isFetching:S,isLoading:F,data:z}=(0,u.z8)({staged_resource_urn:t,page:N,size:p,child_diff_status:x,diff_status:g,search:i}),U=(0,T.G)(null==z?void 0:z.items[0]),{columns:$}=f({resourceType:U,changeTypeOverride:j}),{items:G,total:q,pages:W}=(0,c.useMemo)(()=>null!=z?z:H,[z]);(0,c.useEffect)(()=>{P(W)},[W,P]);let B=(0,c.useMemo)(()=>$,[$]),{navigateToDetectionResults:J}=(0,b.Z)(),K=(0,l.b7)({getCoreRowModel:(0,o.sC)(),getGroupedRowModel:(0,o.qe)(),getExpandedRowModel:(0,o.rV)(),getRowId:w.Z,columns:B,manualPagination:!0,data:G,columnResizeMode:"onChange"});return F?(0,s.jsx)(d.I4,{rowHeight:36,numRows:36}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.A5g,{items:r.map(e=>({key:e.key,label:e.label})),activeKey:h,onChange:e=>m(e)}),(0,s.jsx)(d.Q$,{children:(0,s.jsx)(n.kCb,{direction:"row",alignItems:"center",justifyContent:"space-between",width:"full",children:(0,s.jsxs)(n.kCb,{gap:6,align:"center",children:[(0,s.jsx)(n.xuv,{flexShrink:0,children:(0,s.jsx)(O.f,{value:i,onChange:a})}),(0,s.jsx)(_.Z,{})]})})}),(0,s.jsx)(d.ZK,{tableInstance:K,onRowClick:e=>J({resourceUrn:e.urn,filterTab:h}),getRowIsClickable:e=>U!==L.D$.FIELD||(0,C.Z)(e),emptyTableNotice:(0,s.jsx)(M,{})}),(0,s.jsx)(d.s8,{totalRows:q||0,pageSizes:v,setPageSize:y,onPreviousPageClick:D,isPreviousPageDisabled:I||S,onNextPageClick:Z,isNextPageDisabled:E||S,startRange:k,endRange:A})]})}},54409:function(e,t,i){"use strict";i.d(t,{Z:function(){return g}});var a=i(24246),r=i(39941),s=i(812),l=i(25010),o=i(54682),n=i(31883);let c=(0,r.IUT)({displayName:"MonitorOffIcon",viewBox:"0 0 12 12",path:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.47125 1H5.85H6.15H6.51188L6.58875 1.36914L7.52062 5.83268L6.42408 4.98635L6.03375 3.11719L5.8038 4.50761L4.99323 3.882L5.40562 1.38867L5.47125 1ZM4.80795 5.0022L4.67675 5.79545L5.48735 6.42109L5.61854 5.62783L4.80795 5.0022ZM6.73856 6.49227L6.96125 7.55866L8.42407 8.6877L8.69498 8.00228L7.94864 7.42624L7.88625 7.58398L7.83501 7.33853L6.73856 6.49227ZM8.33138 6.45844L9.07755 7.03434L9.30188 6.4668H11.55H12V5.5293H11.55H9H8.69812L8.58375 5.82031L8.33138 6.45844ZM7.27551 9.06443L7.35399 9.125H7.28813L7.27551 9.06443ZM4.49147 6.91566L5.30209 7.54131L4.79437 10.6113L4.72875 11H4.35H4.05H3.69563L3.61313 10.6406L2.64563 6.46875H0.45H0V5.53125H0.45H2.69777L3.49646 6.1477L4.15125 8.97266L4.49147 6.91566Z",fill:"currentColor"}),(0,a.jsx)("g",{clipPath:"url(#clip0_341_3102)",children:(0,a.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.6755 10.4168L0.164222 2.304L0.775218 1.51237L11.2865 9.62517L10.6755 10.4168Z",fill:"currentColor"})}),(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip0_341_3102",children:(0,a.jsx)("rect",{width:"11.5",height:"9",fill:"white",transform:"translate(0 1.5)"})})})]})}),d=(0,r.IUT)({displayName:"MonitorOnIcon",viewBox:"0 0 12 10",path:(0,a.jsx)("path",{d:"M5.47125 0H5.85H6.15H6.51188L6.58875 0.369141L7.88625 6.58398L8.58375 4.82031L8.69812 4.5293H9H11.55H12V5.4668H11.55H9.30188L8.36625 7.83398L8.25188 8.125H7.95H7.65H7.28813L7.21125 7.75586L6.03375 2.11719L4.79437 9.61133L4.72875 10H4.35H4.05H3.69563L3.61313 9.64062L2.64563 5.46875H0.45H0V4.53125H0.45H3H3.35438L3.43688 4.89062L4.15125 7.97266L5.40562 0.388672L5.47125 0Z",fill:"currentColor"})});var u=i(79494),h=i(70675),m=i(7940),g=e=>{let{resource:t,ignoreChildActions:i=!1}=e,g=(0,m.G)(t),[x,{isLoading:j}]=(0,h.v8)(),[v,{isLoading:L}]=(0,h.vi)(),[p,{isLoading:f}]=(0,h.Tl)(),{successAlert:y,errorAlert:D}=(0,l.VY)(),R=async()=>{let e=await x({staged_resource_urn:t.urn,monitor_config_id:t.monitor_config_id});(0,n.D4)(e)?D((0,s.e$)(e.error,"Failed to confirm resource")):y("Data discovery has started. The results may take some time to appear in the “Data discovery“ tab.","".concat(t.name||"The resource"," is now being monitored."))},b=async()=>{let e=await p({staged_resource_urn:t.urn});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to un-mute resource"):y("".concat(t.name||"The resource"," has been un-muted and is now being monitored."))},_=async()=>{let e=await x({staged_resource_urn:t.urn,monitor_config_id:t.monitor_config_id,unmute_children:!0,classify_monitored_resources:!0});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to un-mute resource"):y("Data discovery has started. The results may take some time to appear in the “Data discovery“ tab.","".concat(t.name||"The resource"," is now being monitored."))},T=async()=>{let e=await v({staged_resource_urn:t.urn});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to mute resource"):y("Ignored data will not be monitored for changes or added to Fides datasets.","".concat(t.name||"Resource"," ignored"))},w=j||L||f,{diff_status:C,child_diff_statuses:O}=t,H=g===o.D$.SCHEMA,M=g===o.D$.FIELD,I=O&&(O[o.LL.CLASSIFICATION_ADDITION]||O[o.LL.CLASSIFICATION_UPDATE]),Z=H&&void 0===C||!M&&C===o.LL.ADDITION||I,E=C!==o.LL.MUTED,k=C===o.LL.MUTED&&!M,A=C===o.LL.MUTED&&M,N=O&&(O[o.LL.ADDITION]||O[o.LL.REMOVAL]),P=C===o.LL.MONITORED&&!i&&N&&!I;return(0,a.jsxs)(r.Ugi,{children:[(Z||P)&&(0,a.jsx)(u.Z,{title:"Monitor",icon:(0,a.jsx)(d,{}),onClick:R,disabled:w,loading:j}),A&&(0,a.jsx)(u.Z,{title:"Un-Mute",icon:(0,a.jsx)(d,{}),onClick:b,disabled:w,loading:j}),k&&(0,a.jsx)(u.Z,{title:"Monitor",icon:(0,a.jsx)(d,{}),onClick:_,disabled:w,loading:j}),E&&(0,a.jsx)(u.Z,{title:"Ignore",icon:(0,a.jsx)(c,{}),onClick:T,disabled:w,loading:L})]})}},79947:function(e,t,i){"use strict";var a=i(24246),r=i(39941);t.Z=e=>{let{type:t}=e;return(0,a.jsx)(r.kCb,{align:"center",h:"full",children:!!t&&(0,a.jsx)(r.j8w,{children:t})})}},31883:function(e,t,i){"use strict";i.d(t,{Bw:function(){return a.Bw},D4:function(){return a.D4}});var a=i(19043)}}]);
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1345],{11611:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},55193:function(e,t,i){var a=i(99736),r=i(92360);e.exports=function(e){return"symbol"==typeof e||r(e)&&"[object Symbol]"==a(e)}},14908:function(e,t,i){"use strict";var a=i(86677),r=i(27378);let s=e=>e.startsWith("#")?e.slice(1):e;t.Z=e=>{let{tabKeys:t,initialTab:i}=e,l=(0,a.useRouter)(),o=l.asPath.split("#")[1]||t[0],[n,c]=(0,r.useState)(o);return(0,r.useEffect)(()=>{i&&t.includes(i)&&c(i)},[i,t,l.isReady]),{activeTab:n,onTabChange:(0,r.useCallback)(async e=>{if(!t.includes(e)){await l.replace({pathname:l.pathname,query:l.query,hash:void 0}),c(t[0]);return}l.isReady&&(await l.replace({pathname:l.pathname,query:l.query,hash:s(e)},void 0,{shallow:!0}),c(e))},[l,t])}}},69828:function(e,t,i){"use strict";i.d(t,{Y:function(){return l}});var a=i(24246),r=i(96306),s=i(70788);let l=[(0,a.jsx)(r.PJP.S9g,{},"layers"),(0,a.jsx)(r.PJP.ehp,{},"dataset"),(0,a.jsx)(r.PJP.iA_,{},"table"),(0,a.jsx)(r.PJP.$4y,{style:{transform:"rotate(-90deg)"}},"field")];t.Z=e=>{let{resourceUrn:t,parentLink:i,onPathClick:r=()=>{}}=e,o=[];if(t||o.push({title:"All activity"}),t){o.push({title:"All activity",href:i});let e=t.split(".");e.forEach((t,i)=>{0!==i&&o.push({title:t,icon:l[i-1],onClick:t=>{t.preventDefault(),r(e.slice(0,i+1).join("."))}})})}return(0,a.jsx)(s.m,{"data-testid":"results-breadcrumb",items:o})}},1039:function(e,t,i){"use strict";i.d(t,{Z:function(){return I}});var a,r,s=i(24246),l=i(59003),o=i(92222),n=i(96306),c=i(27378),d=i(47935),u=i(70675),h=i(72625),m=i(54409),g=i(79947),x=i(87667),j=i(50169),v=i(28278),L=i(54682),p=i(74241),f=e=>{let{resourceType:t,changeTypeOverride:i}=e,a=(0,o.Cl)(),r=[];return t?t===L.D$.SCHEMA?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Name",...e}),size:300}),a.accessor(e=>e.urn,{id:"project",cell:e=>(0,s.jsx)(d.G3,{value:(0,p.Z)(e.getValue())}),header:e=>(0,s.jsx)(d.Rr,{value:"Project",...e})}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.system,{id:"system",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"System",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{ignoreChildActions:i===v.E.MONITORED||i===v.E.MUTED,resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.TABLE?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Table name",...e}),size:300}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.FIELD?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Field name",...e}),size:300}),a.accessor(e=>e.source_data_type,{id:"data-type",cell:e=>(0,s.jsx)(g.Z,{type:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Data type",...e})}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:t===L.D$.ENDPOINT?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,s.jsx)(x.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Object",...e}),size:300}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,s.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,s.jsx)(j.Z,{changeTypeOverride:i,result:e.row.original}),header:e=>(0,s.jsx)(d.Rr,{value:"Status",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,s.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,s.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,s.jsx)(d.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,s.jsx)(m.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:{columns:r}:{columns:r}},y=i(14908);(a=r||(r={})).ACTION_REQUIRED="action-required",a.MONITORED="monitored",a.UNMONITORED="unmonitored";let D={"action-required":{label:"Action Required",key:"action-required",filters:[L.LL.ADDITION,L.LL.REMOVAL],childFilters:[L.LL.ADDITION,L.LL.REMOVAL]},monitored:{label:"Monitored",key:"monitored",filters:[L.LL.MONITORED],childFilters:[],changeTypeOverride:v.E.MONITORED},unmonitored:{label:"Unmonitored",key:"unmonitored",filters:[L.LL.MUTED],childFilters:[],changeTypeOverride:v.E.MUTED}};var R=()=>{var e,t,i;let{activeTab:a,onTabChange:s}=(0,y.Z)({tabKeys:Object.values(r)});return{filterTabs:Object.values(D),activeTabKey:a,onTabChange:s,activeDiffFilters:null===(e=D[a])||void 0===e?void 0:e.filters,activeChildDiffFilters:null===(t=D[a])||void 0===t?void 0:t.childFilters,activeChangeTypeOverride:null===(i=D[a])||void 0===i?void 0:i.changeTypeOverride}},b=i(47182),_=i(38347),T=i(7940),w=i(80285),C=i(36168),O=i(30952);let H={items:[],total:0,page:1,size:50,pages:1},M=()=>(0,s.jsx)(n.gCW,{mt:6,p:10,spacing:4,borderRadius:"base",maxW:"70%","data-testid":"empty-state",alignSelf:"center",margin:"auto",children:(0,s.jsxs)(n.gCW,{children:[(0,s.jsx)(n.xvT,{fontSize:"md",fontWeight:"600",children:"No activity found"}),(0,s.jsx)(n.xvT,{fontSize:"sm",children:"You're up to date!"})]})});var I=e=>{let{resourceUrn:t}=e,[i,a]=(0,c.useState)(""),{filterTabs:r,activeTabKey:h,onTabChange:m,activeDiffFilters:g,activeChildDiffFilters:x,activeChangeTypeOverride:j}=R(),{PAGE_SIZES:v,pageSize:p,setPageSize:y,onPreviousPageClick:D,isPreviousPageDisabled:I,onNextPageClick:E,isNextPageDisabled:Z,startRange:k,endRange:A,pageIndex:N,setTotalPages:P,resetPageIndexToDefault:V}=(0,d.oi)();(0,c.useEffect)(()=>{V()},[t,i,V,g,x]);let{isFetching:S,isLoading:F,data:z}=(0,u.z8)({staged_resource_urn:t,page:N,size:p,child_diff_status:x,diff_status:g,search:i}),U=(0,T.G)(null==z?void 0:z.items[0]),{columns:$}=f({resourceType:U,changeTypeOverride:j}),{items:G,total:q,pages:W}=(0,c.useMemo)(()=>null!=z?z:H,[z]);(0,c.useEffect)(()=>{P(W)},[W,P]);let B=(0,c.useMemo)(()=>$,[$]),{navigateToDetectionResults:J}=(0,b.Z)(),K=(0,l.b7)({getCoreRowModel:(0,o.sC)(),getGroupedRowModel:(0,o.qe)(),getExpandedRowModel:(0,o.rV)(),getRowId:w.Z,columns:B,manualPagination:!0,data:G,columnResizeMode:"onChange"});return F?(0,s.jsx)(d.I4,{rowHeight:36,numRows:36}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.A5g,{items:r.map(e=>({key:e.key,label:e.label})),activeKey:h,onChange:e=>m(e)}),(0,s.jsx)(d.Q$,{children:(0,s.jsx)(n.kCb,{direction:"row",alignItems:"center",justifyContent:"space-between",width:"full",children:(0,s.jsxs)(n.kCb,{gap:6,align:"center",children:[(0,s.jsx)(n.xuv,{flexShrink:0,children:(0,s.jsx)(O.f,{value:i,onChange:a})}),(0,s.jsx)(_.a,{})]})})}),(0,s.jsx)(d.ZK,{tableInstance:K,onRowClick:e=>J({resourceUrn:e.urn,filterTab:h}),getRowIsClickable:e=>U!==L.D$.FIELD||(0,C.Z)(e),emptyTableNotice:(0,s.jsx)(M,{})}),(0,s.jsx)(d.s8,{totalRows:q||0,pageSizes:v,setPageSize:y,onPreviousPageClick:D,isPreviousPageDisabled:I||S,onNextPageClick:E,isNextPageDisabled:Z||S,startRange:k,endRange:A})]})}},54409:function(e,t,i){"use strict";i.d(t,{Z:function(){return g}});var a=i(24246),r=i(96306),s=i(812),l=i(75573),o=i(54682),n=i(31883);let c=(0,r.IUT)({displayName:"MonitorOffIcon",viewBox:"0 0 12 12",path:(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M5.47125 1H5.85H6.15H6.51188L6.58875 1.36914L7.52062 5.83268L6.42408 4.98635L6.03375 3.11719L5.8038 4.50761L4.99323 3.882L5.40562 1.38867L5.47125 1ZM4.80795 5.0022L4.67675 5.79545L5.48735 6.42109L5.61854 5.62783L4.80795 5.0022ZM6.73856 6.49227L6.96125 7.55866L8.42407 8.6877L8.69498 8.00228L7.94864 7.42624L7.88625 7.58398L7.83501 7.33853L6.73856 6.49227ZM8.33138 6.45844L9.07755 7.03434L9.30188 6.4668H11.55H12V5.5293H11.55H9H8.69812L8.58375 5.82031L8.33138 6.45844ZM7.27551 9.06443L7.35399 9.125H7.28813L7.27551 9.06443ZM4.49147 6.91566L5.30209 7.54131L4.79437 10.6113L4.72875 11H4.35H4.05H3.69563L3.61313 10.6406L2.64563 6.46875H0.45H0V5.53125H0.45H2.69777L3.49646 6.1477L4.15125 8.97266L4.49147 6.91566Z",fill:"currentColor"}),(0,a.jsx)("g",{clipPath:"url(#clip0_341_3102)",children:(0,a.jsx)("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M10.6755 10.4168L0.164222 2.304L0.775218 1.51237L11.2865 9.62517L10.6755 10.4168Z",fill:"currentColor"})}),(0,a.jsx)("defs",{children:(0,a.jsx)("clipPath",{id:"clip0_341_3102",children:(0,a.jsx)("rect",{width:"11.5",height:"9",fill:"white",transform:"translate(0 1.5)"})})})]})}),d=(0,r.IUT)({displayName:"MonitorOnIcon",viewBox:"0 0 12 10",path:(0,a.jsx)("path",{d:"M5.47125 0H5.85H6.15H6.51188L6.58875 0.369141L7.88625 6.58398L8.58375 4.82031L8.69812 4.5293H9H11.55H12V5.4668H11.55H9.30188L8.36625 7.83398L8.25188 8.125H7.95H7.65H7.28813L7.21125 7.75586L6.03375 2.11719L4.79437 9.61133L4.72875 10H4.35H4.05H3.69563L3.61313 9.64062L2.64563 5.46875H0.45H0V4.53125H0.45H3H3.35438L3.43688 4.89062L4.15125 7.97266L5.40562 0.388672L5.47125 0Z",fill:"currentColor"})});var u=i(79494),h=i(70675),m=i(7940),g=e=>{let{resource:t,ignoreChildActions:i=!1}=e,g=(0,m.G)(t),[x,{isLoading:j}]=(0,h.v8)(),[v,{isLoading:L}]=(0,h.vi)(),[p,{isLoading:f}]=(0,h.Tl)(),{successAlert:y,errorAlert:D}=(0,l.VY)(),R=async()=>{let e=await x({staged_resource_urn:t.urn,monitor_config_id:t.monitor_config_id});(0,n.D4)(e)?D((0,s.e$)(e.error,"Failed to confirm resource")):y("Data discovery has started. The results may take some time to appear in the “Data discovery“ tab.","".concat(t.name||"The resource"," is now being monitored."))},b=async()=>{let e=await p({staged_resource_urn:t.urn});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to un-mute resource"):y("".concat(t.name||"The resource"," has been un-muted and is now being monitored."))},_=async()=>{let e=await x({staged_resource_urn:t.urn,monitor_config_id:t.monitor_config_id,unmute_children:!0,classify_monitored_resources:!0});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to un-mute resource"):y("Data discovery has started. The results may take some time to appear in the “Data discovery“ tab.","".concat(t.name||"The resource"," is now being monitored."))},T=async()=>{let e=await v({staged_resource_urn:t.urn});(0,n.D4)(e)?D((0,s.e$)(e.error),"Failed to mute resource"):y("Ignored data will not be monitored for changes or added to Fides datasets.","".concat(t.name||"Resource"," ignored"))},w=j||L||f,{diff_status:C,child_diff_statuses:O}=t,H=g===o.D$.SCHEMA,M=g===o.D$.FIELD,I=O&&(O[o.LL.CLASSIFICATION_ADDITION]||O[o.LL.CLASSIFICATION_UPDATE]),E=H&&void 0===C||!M&&C===o.LL.ADDITION||I,Z=C!==o.LL.MUTED,k=C===o.LL.MUTED&&!M,A=C===o.LL.MUTED&&M,N=O&&(O[o.LL.ADDITION]||O[o.LL.REMOVAL]),P=C===o.LL.MONITORED&&!i&&N&&!I;return(0,a.jsxs)(r.Ugi,{children:[(E||P)&&(0,a.jsx)(u.Z,{title:"Monitor",icon:(0,a.jsx)(d,{}),onClick:R,disabled:w,loading:j}),A&&(0,a.jsx)(u.Z,{title:"Un-Mute",icon:(0,a.jsx)(d,{}),onClick:b,disabled:w,loading:j}),k&&(0,a.jsx)(u.Z,{title:"Monitor",icon:(0,a.jsx)(d,{}),onClick:_,disabled:w,loading:j}),Z&&(0,a.jsx)(u.Z,{title:"Ignore",icon:(0,a.jsx)(c,{}),onClick:T,disabled:w,loading:L})]})}},79947:function(e,t,i){"use strict";var a=i(24246),r=i(96306);t.Z=e=>{let{type:t}=e;return(0,a.jsx)(r.kCb,{align:"center",h:"full",children:!!t&&(0,a.jsx)(r.j8w,{children:t})})}},31883:function(e,t,i){"use strict";i.d(t,{Bw:function(){return a.Bw},D4:function(){return a.D4}});var a=i(19043)}}]);
|