ethyca-fides 2.59.2b1__py2.py3-none-any.whl → 2.59.2b3__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.
- {ethyca_fides-2.59.2b1.dist-info → ethyca_fides-2.59.2b3.dist-info}/METADATA +1 -1
- {ethyca_fides-2.59.2b1.dist-info → ethyca_fides-2.59.2b3.dist-info}/RECORD +199 -200
- fides/_version.py +3 -3
- fides/api/api/v1/endpoints/storage_endpoints.py +2 -2
- fides/api/schemas/connection_configuration/connection_secrets_mysql.py +12 -0
- fides/api/schemas/consentable_item.py +5 -8
- fides/api/schemas/storage/storage.py +6 -4
- fides/api/service/connectors/mysql_connector.py +13 -1
- fides/api/service/connectors/saas_connector.py +18 -13
- fides/api/service/saas_request/saas_request_override_factory.py +3 -3
- fides/api/service/storage/storage_authenticator_service.py +10 -15
- fides/api/task/graph_task.py +2 -3
- fides/api/tasks/storage.py +5 -1
- fides/api/util/aws_util.py +28 -17
- fides/api/util/consent_util.py +10 -4
- fides/api/worker/__init__.py +1 -1
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/WiKelYdZvuyhqjL7rLRaz/_buildManifest.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1100-0046887f49e9e7c7.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{1817-11bb237f57d9ad27.js → 1817-90e54de7c706b571.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{1904-3c40738cb0fd2a7c.js → 1904-e1034674c6eef004.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{2479-50f431c0e2c0de3c.js → 2479-b4f7654c27a15c05.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/3503-2e773a38d4a79c2d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3513-2ee2ff13c15af241.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{3702-31d37a0217f82615.js → 3702-8a6360b2deef2a87.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/3855-7a43acdb1f8de2f5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3872-53b86dcc7ee3ddec.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/401-a15fcc78cc272c09.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4060-93514991b84ca46c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4121-01e2b9f905b8ca29.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4481-c19a0c5e273a3ec7.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5487-b6957c5ba835167b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{5826-226c8843e715b6ad.js → 5826-8a035114917033bb.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/5835-2e2aa29b4a8bf4e6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5973-4b83cf367b6d82a2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6277-2f2d89b83a19ee67.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{6372-0ca1b9521b5489fd.js → 6372-3d6d19a89e1d7a37.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6853-7d7eb22f19d3806c.js → 6853-45e8c48ad0fdf1db.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/6954-6de30beefefac64a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/7751-f83e9877478aafcf.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/79-576004c5ee5116f6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/8433-234a6feeb457cbb8.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/8934-e357867355f1f924.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9282-c7f853a8175266bc.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9327-0bc418b9b16cc2c5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9392.da35a8e778812d91.js → 9392.9178313b7a01d889.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/9572-c34e18bd40467909.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9676.f297a1347ac09c56.js → 9676.d1e42fd1d03c4a76.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/9719-d3de30714871f267.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9767-ee5b0af0e65d3802.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9951-8ceba69296972ce9.js → 9951-a0ba5bccbbbd5f33.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/9965-8880affd11242777.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{404-a3c57a06ff67cf1f.js → 404-b482dd9e6ba3397d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{_app-fc9e922ec354be47.js → _app-dc66d9fb6547cb04.js} +17 -17
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-e16fcedb2215db13.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-93907c53f342831f.js → multiple-892fc00510cddef8.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-cb85a0014fad7c58.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/ant-poc-2bade915860dd327.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-5e83ee7792c0f75f.js → add-vendors-cc58c1e18966fcfd.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-ea7b2c628260c84c.js → configure-422f4d002822a5ce.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-7122d8a8c20e7cd2.js → [id]-cd8bb60adf783c4a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-85ddbe3ae50c7527.js → privacy-experience-046051bb82ec1c53.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-5a9269aa00a16596.js → [id]-72dd15bfd87616c9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-78808c75ba86c0be.js → new-8bbccdd747f4100c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-1f402b7525f78140.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-893753088b9729a3.js → properties-55cc394ebc428e59.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-de9118ec446ce994.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{consent-7e5adfec9134a268.js → consent-ec420ff6cfb82abd.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-4b2c10ff79e46e50.js → [projectUrn]-b0b976e8dd5e4cd6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-05bbb01e37766b80.js → projects-4ea56a1c3010ba99.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-7efbc1558febf026.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-cdd23dc94e1fbf89.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-94308fff1468b5e6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-920ed6df7e0aa3a5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-7e25ddfe45048b35.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-1bcaa606739ea1c5.js → [resourceUrn]-10f789d4ab2b8927.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-22f55dc12354b4c6.js → detection-f473b2ee1c67be3c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-86111c25dc30ef2b.js → [resourceUrn]-2569551ae75ea5a2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-853be75f08b9ab5c.js → discovery-ad077f30849fdc0a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{datamap-6c63a6295668ed4e.js → datamap-4b12c6b141f6cda3.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-7a99a6c5c2fc2abe.js → [...subfieldNames]-da407b63cd3f5276.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-39aab1de4df0660d.js → [collectionName]-76205fa5ddc5c3ae.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-2cf04998a7521a7d.js → [datasetId]-ab7c88da427b6396.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{new-f3a6dd67f012b005.js → new-8dba366b1d55a15c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-3b703775de1ca75e.js → dataset-ee98d1a24a68f13b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-b905c75f68786c2f.js → [id]-e39d66c8dfdc4c6f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{new-abd92bec98bdbb66.js → new-8f2cfc79022cb6d0.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-340e311fa02584dc.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/index-259c1f1281f9b634.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-0fc3ffd11ba163f9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{integrations-2ce76b506ba8404a.js → integrations-d584110d81e5b395.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{[id]-8950b4aff799099c.js → [id]-1d18e28fa55a149b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{add-template-4cad85d5b6d52734.js → add-template-11bdab1b292c6f89.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging-de5efa1ff6d0e9ea.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{[id]-2fc14bda8d314449.js → [id]-96350050e842bde5.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-e8e9ae8d58acceb2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-a76f1d1a19e61fe8.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-6b9a46fef5031a0b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-630db544f2a27167.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-6cca2c8ebbff78aa.js → [id]-835b7c4dd2240d16.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-f09f98007725fa51.js → add-property-984851804558be53.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{properties-9034bab3d7200d9b.js → properties-d2b95b0ebae06804.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/{datamap-a36cf070c98a6cbd.js → datamap-5d1aededc7523146.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-44f96bcf57cd4cbf.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-0ba66c149139737a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-943dfe977678edb5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-39d098cbcb33d4f5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-368a4183139ea5e0.js → domain-records-87df4b6493ca8162.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-45a8a86266308028.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-272eb2c0b7ffd290.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-18f56b6b76abb71d.js → locations-a8cd013bdd3aef75.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-aaa200f916ba79d8.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-0350314337abff11.js → regulations-5abb227df116c9c4.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-da1b2dd3ec61a08e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-022910a52efbad76.js → [id]-693c726f22ae11c5.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems-5eccb5fe50f7aaa9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-0611d707ce426ec7.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/{new-082c3156175f9267.js → new-65ef1bdebb679666.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-32ec340d4b390d07.js → [id]-28abb07c95f2c7c2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management-4eb69d5c6af8581b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/webpack-cf42f5a0e9af0ace.js +1 -0
- fides/ui-build/static/admin/_next/static/css/{72caf4a266697967.css → e728309361a9758b.css} +1 -1
- 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/ant-poc.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/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/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.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/4ZsbAUsCLedx18AUPZCUU/_buildManifest.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1100-22c375e757f23150.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/146-106021bf1ae6e912.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3086-ffd15c92ea81b3d6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3244-4b76482dcc5d576f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3855-da54ef27afd56c46.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3872-68b4ceba8f632bc0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/401-49cdd118a89cc343.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4060-bad5f07013c7bb49.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4121-4914fb77e60d31f4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4481-7a992683e9191bc9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5102-3acf312a8f0d7720.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5480-d177a83facd21738.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5487-22de631f1d186527.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5973-1020589bef6dd253.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6277-c46c9eb59177b850.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6395-04041b53946664b1.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6954-981a8a444780bedb.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7751-09c6424d673d8aa4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/79-7ca48fb1a0b52f96.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8433-dd6d8dae02275d66.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8934-6881185f0c5c0f6d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9282-23b38e03f897722f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9327-fb7ef941b5176077.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9572-8f5947db1a6da260.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9767-162b0f8524990149.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-c4c0c42bbe0f5548.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-a8c51c7bdbb405e2.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/ant-poc-8fcf312148606e7e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-047c409bc5e12d1a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-01d1371e690ae190.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-d08a38d4f198691a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-cc5431e4fbd6d39e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-f073ddcfb916988e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-cf48ed7dc04c3af2.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-73025c2ac5a00347.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-52c3f076edb49944.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/index-1bccf315f995267a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-afcf73fd0337dde0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging-57c7aa44af163623.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-3219ddeb37d46398.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-8e17802ab6b2d3fd.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-d8d23d06ce1d9dae.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-9d71495b42f34038.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-92dada8329e89092.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-7986cf3b36456353.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-f6d6e3d9d556387c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-e6c477f2ac098e0b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-255655d6c367faad.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-e4498b6310074705.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-c01d24583e9485f0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-d5f777510ab8dfd2.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems-e9a111ef0c32161e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-517419b35435604a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management-c8ca51efbeccf39b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/webpack-01277b766c8eb076.js +0 -1
- {ethyca_fides-2.59.2b1.dist-info → ethyca_fides-2.59.2b3.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.59.2b1.dist-info → ethyca_fides-2.59.2b3.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.59.2b1.dist-info → ethyca_fides-2.59.2b3.dist-info}/licenses/LICENSE +0 -0
- {ethyca_fides-2.59.2b1.dist-info → ethyca_fides-2.59.2b3.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{4ZsbAUsCLedx18AUPZCUU → WiKelYdZvuyhqjL7rLRaz}/_ssgManifest.js +0 -0
fides/_version.py
CHANGED
@@ -8,11 +8,11 @@ import json
|
|
8
8
|
|
9
9
|
version_json = '''
|
10
10
|
{
|
11
|
-
"date": "2025-04-
|
11
|
+
"date": "2025-04-18T13:02:59-0700",
|
12
12
|
"dirty": false,
|
13
13
|
"error": null,
|
14
|
-
"full-revisionid": "
|
15
|
-
"version": "2.59.
|
14
|
+
"full-revisionid": "a519c45aafb62a2f424457ed2d702ef4be4af781",
|
15
|
+
"version": "2.59.2b3"
|
16
16
|
}
|
17
17
|
''' # END VERSION_JSON
|
18
18
|
|
@@ -220,7 +220,7 @@ def put_config_secrets(
|
|
220
220
|
|
221
221
|
msg = f"Secrets updated for StorageConfig with key: {config_key}."
|
222
222
|
if verify:
|
223
|
-
status = secrets_are_valid(secrets_schema, storage_config
|
223
|
+
status = secrets_are_valid(secrets_schema, storage_config)
|
224
224
|
if status:
|
225
225
|
logger.info(
|
226
226
|
"Storage secrets are valid for config with key '{}'", config_key
|
@@ -534,7 +534,7 @@ def put_default_config_secrets(
|
|
534
534
|
|
535
535
|
msg = f"Secrets updated for default config of storage type: {storage_type.value}."
|
536
536
|
if verify:
|
537
|
-
status = secrets_are_valid(secrets_schema, storage_config
|
537
|
+
status = secrets_are_valid(secrets_schema, storage_config)
|
538
538
|
if status:
|
539
539
|
logger.info(
|
540
540
|
"Storage secrets are valid for default config of storage type '{}'",
|
@@ -1,3 +1,4 @@
|
|
1
|
+
from enum import Enum
|
1
2
|
from typing import ClassVar, List, Optional
|
2
3
|
|
3
4
|
from pydantic import Field
|
@@ -8,6 +9,12 @@ from fides.api.schemas.connection_configuration.connection_secrets import (
|
|
8
9
|
)
|
9
10
|
|
10
11
|
|
12
|
+
class MySQLSSLMode(str, Enum):
|
13
|
+
preferred = "preferred"
|
14
|
+
required = "required"
|
15
|
+
disabled = "disabled"
|
16
|
+
|
17
|
+
|
11
18
|
class MySQLSchema(ConnectionConfigSecretsSchema):
|
12
19
|
"""Schema to validate the secrets needed to connect to a MySQL Database"""
|
13
20
|
|
@@ -40,6 +47,11 @@ class MySQLSchema(ConnectionConfigSecretsSchema):
|
|
40
47
|
title="SSH required",
|
41
48
|
description="Indicates whether an SSH tunnel is required for the connection. Enable this option if your MySQL server is behind a firewall and requires SSH tunneling for remote connections.",
|
42
49
|
)
|
50
|
+
ssl_mode: Optional[MySQLSSLMode] = Field(
|
51
|
+
None, # TODO: support for verify-ca and verify-full
|
52
|
+
title="SSL Mode",
|
53
|
+
description="The SSL mode to use for the connection. Valid values are 'required', 'preferred', and 'disabled'.",
|
54
|
+
)
|
43
55
|
|
44
56
|
_required_components: ClassVar[List[str]] = ["host", "dbname"]
|
45
57
|
|
@@ -3,7 +3,6 @@ from typing import Dict, List, Literal, Optional
|
|
3
3
|
from pydantic import BaseModel, Field
|
4
4
|
|
5
5
|
from fides.api.models.consent_automation import ConsentableItem as ConsentableItemModel
|
6
|
-
from fides.api.models.privacy_notice import UserConsentPreference
|
7
6
|
from fides.api.schemas.base_class import FidesSchema
|
8
7
|
|
9
8
|
|
@@ -85,10 +84,8 @@ class ConsentWebhookResult(BaseModel):
|
|
85
84
|
|
86
85
|
identity_map: Dict[
|
87
86
|
Literal["email", "phone_number", "fides_user_device", "external_id"], str
|
88
|
-
] =
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
"""Returns true if both the identity map and notice map are not empty."""
|
94
|
-
return bool(self.identity_map) and bool(self.notice_map)
|
87
|
+
] = Field(default_factory=dict, description="The identity of the user.")
|
88
|
+
notice_id_map: Dict[str, str] = Field(
|
89
|
+
default_factory=dict,
|
90
|
+
description="A map of privacy notice IDs to user consent preferences.",
|
91
|
+
)
|
@@ -85,6 +85,8 @@ class StorageSecrets(Enum):
|
|
85
85
|
# s3-specific
|
86
86
|
AWS_ACCESS_KEY_ID = "aws_access_key_id"
|
87
87
|
AWS_SECRET_ACCESS_KEY = "aws_secret_access_key"
|
88
|
+
REGION_NAME = "region_name"
|
89
|
+
AWS_ASSUME_ROLE = "assume_role_arn"
|
88
90
|
|
89
91
|
|
90
92
|
class StorageSecretsLocal(BaseModel):
|
@@ -94,10 +96,10 @@ class StorageSecretsLocal(BaseModel):
|
|
94
96
|
|
95
97
|
|
96
98
|
class StorageSecretsS3(BaseModel):
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
99
|
+
aws_access_key_id: Optional[str] = None
|
100
|
+
aws_secret_access_key: Optional[str] = None
|
101
|
+
region_name: Optional[str] = None
|
102
|
+
assume_role_arn: Optional[str] = None
|
101
103
|
model_config = ConfigDict(extra="forbid")
|
102
104
|
|
103
105
|
|
@@ -1,10 +1,11 @@
|
|
1
|
-
from typing import List
|
1
|
+
from typing import Dict, List
|
2
2
|
|
3
3
|
from sqlalchemy.engine import Engine, LegacyCursorResult, create_engine # type: ignore
|
4
4
|
|
5
5
|
from fides.api.graph.execution import ExecutionNode
|
6
6
|
from fides.api.schemas.connection_configuration.connection_secrets_mysql import (
|
7
7
|
MySQLSchema,
|
8
|
+
MySQLSSLMode,
|
8
9
|
)
|
9
10
|
from fides.api.service.connectors.query_configs.mysql_query_config import (
|
10
11
|
MySQLQueryConfig,
|
@@ -69,16 +70,27 @@ class MySQLConnector(SQLConnector):
|
|
69
70
|
uri = self.build_ssh_uri(local_address=self.ssh_server.local_bind_address)
|
70
71
|
else:
|
71
72
|
uri = (self.configuration.secrets or {}).get("url") or self.build_uri()
|
73
|
+
connect_args = self.get_connect_args()
|
72
74
|
return create_engine(
|
73
75
|
uri,
|
74
76
|
hide_parameters=self.hide_parameters,
|
75
77
|
echo=not self.hide_parameters,
|
78
|
+
connect_args=connect_args,
|
76
79
|
)
|
77
80
|
|
78
81
|
def query_config(self, node: ExecutionNode) -> SQLQueryConfig:
|
79
82
|
"""Query wrapper corresponding to the input execution_node."""
|
80
83
|
return MySQLQueryConfig(node)
|
81
84
|
|
85
|
+
def get_connect_args(self) -> Dict[str, Dict[str, MySQLSSLMode]]:
|
86
|
+
"""Get connection arguments for the engine"""
|
87
|
+
ssl_mode = self.configuration.secrets.get("ssl_mode", MySQLSSLMode.preferred)
|
88
|
+
return {
|
89
|
+
"ssl": {
|
90
|
+
"mode": ssl_mode,
|
91
|
+
}
|
92
|
+
}
|
93
|
+
|
82
94
|
@staticmethod
|
83
95
|
def cursor_result_to_rows(results: LegacyCursorResult) -> List[Row]:
|
84
96
|
"""
|
@@ -4,6 +4,7 @@ from json import JSONDecodeError
|
|
4
4
|
from typing import Any, Dict, List, Optional, Tuple, Union, cast
|
5
5
|
|
6
6
|
import pydash
|
7
|
+
from fideslang.validation import FidesKey
|
7
8
|
from loguru import logger
|
8
9
|
from requests import Response
|
9
10
|
from sqlalchemy.orm import Session
|
@@ -18,7 +19,6 @@ from fides.api.common_exceptions import (
|
|
18
19
|
from fides.api.graph.execution import ExecutionNode
|
19
20
|
from fides.api.models.connectionconfig import ConnectionConfig, ConnectionTestStatus
|
20
21
|
from fides.api.models.policy import Policy
|
21
|
-
from fides.api.models.privacy_notice import UserConsentPreference
|
22
22
|
from fides.api.models.privacy_request import PrivacyRequest, RequestTask
|
23
23
|
from fides.api.schemas.consentable_item import (
|
24
24
|
ConsentableItem,
|
@@ -687,15 +687,16 @@ class SaaSConnector(BaseConnector[AuthenticatedClient], Contextualizable):
|
|
687
687
|
|
688
688
|
if notice_based_override_function:
|
689
689
|
# follow the notice-based SaaS consent flow
|
690
|
-
|
691
|
-
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
690
|
+
(
|
691
|
+
notice_preference_map,
|
692
|
+
filtered_preferences,
|
693
|
+
) = build_user_consent_and_filtered_preferences_for_service(
|
694
|
+
self.configuration.system,
|
695
|
+
privacy_request,
|
696
|
+
session,
|
697
|
+
True,
|
697
698
|
)
|
698
|
-
if not
|
699
|
+
if not notice_preference_map:
|
699
700
|
logger.info(
|
700
701
|
"Skipping consent requests on node {}: No actionable consent preferences to propagate",
|
701
702
|
node.address.value,
|
@@ -723,12 +724,13 @@ class SaaSConnector(BaseConnector[AuthenticatedClient], Contextualizable):
|
|
723
724
|
)
|
724
725
|
consent_propagation_status = self._invoke_consent_request_override(
|
725
726
|
notice_based_override_function,
|
727
|
+
self.configuration.key,
|
726
728
|
self.create_client(),
|
727
729
|
policy,
|
728
730
|
privacy_request,
|
729
731
|
self.secrets,
|
730
732
|
identity_data,
|
731
|
-
|
733
|
+
notice_preference_map, # type: ignore[arg-type]
|
732
734
|
notice_based_consentable_item_hierarchy,
|
733
735
|
)
|
734
736
|
if consent_propagation_status == ConsentPropagationStatus.no_update_needed:
|
@@ -800,6 +802,7 @@ class SaaSConnector(BaseConnector[AuthenticatedClient], Contextualizable):
|
|
800
802
|
)
|
801
803
|
consent_propagation_status = self._invoke_consent_request_override(
|
802
804
|
override_function,
|
805
|
+
self.configuration.key,
|
803
806
|
self.create_client(),
|
804
807
|
policy,
|
805
808
|
privacy_request,
|
@@ -997,12 +1000,13 @@ class SaaSConnector(BaseConnector[AuthenticatedClient], Contextualizable):
|
|
997
1000
|
@staticmethod
|
998
1001
|
def _invoke_consent_request_override(
|
999
1002
|
override_function: RequestOverrideFunction,
|
1003
|
+
connection_key: FidesKey,
|
1000
1004
|
client: AuthenticatedClient,
|
1001
1005
|
policy: Policy,
|
1002
1006
|
privacy_request: PrivacyRequest,
|
1003
1007
|
secrets: Any,
|
1004
1008
|
identity_data: Optional[Dict[str, Any]] = None,
|
1005
|
-
|
1009
|
+
notice_preference_map: Optional[Dict[str, Dict[str, Any]]] = None,
|
1006
1010
|
consentable_items_hierarchy: Optional[List[ConsentableItem]] = None,
|
1007
1011
|
) -> ConsentPropagationStatus:
|
1008
1012
|
"""
|
@@ -1011,13 +1015,14 @@ class SaaSConnector(BaseConnector[AuthenticatedClient], Contextualizable):
|
|
1011
1015
|
"""
|
1012
1016
|
try:
|
1013
1017
|
logger.info("Invoking consent request override function...")
|
1014
|
-
if
|
1018
|
+
if notice_preference_map:
|
1015
1019
|
# At this point, we've already validated the override function signature to take these params
|
1016
1020
|
return override_function(
|
1021
|
+
connection_key,
|
1017
1022
|
client,
|
1018
1023
|
secrets,
|
1019
1024
|
identity_data,
|
1020
|
-
|
1025
|
+
notice_preference_map,
|
1021
1026
|
consentable_items_hierarchy,
|
1022
1027
|
) # type: ignore
|
1023
1028
|
return override_function(
|
@@ -248,7 +248,7 @@ def validate_update_consent_function(f: Callable) -> None:
|
|
248
248
|
)
|
249
249
|
if len(sig.parameters) < 5:
|
250
250
|
raise InvalidSaaSRequestOverrideException(
|
251
|
-
"Provided SaaS update consent function must declare at least
|
251
|
+
"Provided SaaS update consent function must declare at least 5 parameters"
|
252
252
|
)
|
253
253
|
|
254
254
|
|
@@ -258,9 +258,9 @@ def validate_process_consent_webhook_function(f: Callable) -> None:
|
|
258
258
|
raise InvalidSaaSRequestOverrideException(
|
259
259
|
"Provided SaaS process consent webhook function must return a ConsentWebhookResult"
|
260
260
|
)
|
261
|
-
if len(sig.parameters) <
|
261
|
+
if len(sig.parameters) < 4:
|
262
262
|
raise InvalidSaaSRequestOverrideException(
|
263
|
-
"Provided SaaS process consent webhook function must declare at least
|
263
|
+
"Provided SaaS process consent webhook function must declare at least 4 parameters"
|
264
264
|
)
|
265
265
|
|
266
266
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
from typing import Any
|
1
|
+
from typing import Any
|
2
2
|
|
3
3
|
from botocore.exceptions import ClientError
|
4
4
|
from google.auth.exceptions import GoogleAuthError
|
@@ -6,6 +6,7 @@ from google.auth.transport.requests import Request
|
|
6
6
|
from google.oauth2 import service_account
|
7
7
|
from loguru import logger
|
8
8
|
|
9
|
+
from fides.api.models.storage import StorageConfig
|
9
10
|
from fides.api.schemas.storage.storage import (
|
10
11
|
SUPPORTED_STORAGE_SECRETS,
|
11
12
|
AWSAuthMethod,
|
@@ -17,31 +18,25 @@ from fides.api.util.aws_util import get_aws_session
|
|
17
18
|
|
18
19
|
def secrets_are_valid(
|
19
20
|
secrets: SUPPORTED_STORAGE_SECRETS,
|
20
|
-
|
21
|
+
storage_config: StorageConfig,
|
21
22
|
) -> bool:
|
22
23
|
"""Authenticates upload destination with appropriate upload method"""
|
23
|
-
|
24
|
-
|
25
|
-
try:
|
26
|
-
storage_type = StorageType[storage_type]
|
27
|
-
except KeyError:
|
28
|
-
raise ValueError(
|
29
|
-
"storage_type argument must be a valid StorageType enum member."
|
30
|
-
)
|
31
|
-
uploader: Any = _get_authenticator_from_config(storage_type)
|
32
|
-
return uploader(secrets)
|
24
|
+
uploader: Any = _get_authenticator_from_config(storage_config.type) # type: ignore
|
25
|
+
return uploader(storage_config, secrets)
|
33
26
|
|
34
27
|
|
35
|
-
def _s3_authenticator(
|
28
|
+
def _s3_authenticator(
|
29
|
+
config: StorageConfig, secrets: dict[StorageSecrets, Any]
|
30
|
+
) -> bool:
|
36
31
|
"""Authenticates secrets for s3, returns true if secrets are valid"""
|
37
32
|
try:
|
38
|
-
get_aws_session(AWSAuthMethod.SECRET_KEYS.value, secrets.model_dump(mode="json")) # type: ignore
|
33
|
+
get_aws_session(config.details["auth_method"] or AWSAuthMethod.SECRET_KEYS.value, secrets.model_dump(mode="json")) # type: ignore
|
39
34
|
return True
|
40
35
|
except ClientError:
|
41
36
|
return False
|
42
37
|
|
43
38
|
|
44
|
-
def _gcs_authenticator(secrets:
|
39
|
+
def _gcs_authenticator(storage_config: StorageConfig, secrets: dict) -> bool:
|
45
40
|
"""Autenticates secrets for Google Cloud Storage, returns true if secrets are valid"""
|
46
41
|
try:
|
47
42
|
credentials = service_account.Credentials.from_service_account_info(
|
fides/api/task/graph_task.py
CHANGED
@@ -125,16 +125,15 @@ def retry(
|
|
125
125
|
ActionDisabled,
|
126
126
|
NotSupportedForCollection,
|
127
127
|
) as exc:
|
128
|
-
traceback.print_exc()
|
129
128
|
logger.warning(
|
130
|
-
"Skipping collection {} for privacy_request: {}",
|
129
|
+
"{} - Skipping collection {} for privacy_request: {}",
|
130
|
+
exc.__class__.__name__,
|
131
131
|
self.execution_node.address,
|
132
132
|
self.resources.request.id,
|
133
133
|
)
|
134
134
|
self.log_skipped(action_type, exc)
|
135
135
|
return default_return
|
136
136
|
except SkippingConsentPropagation as exc:
|
137
|
-
traceback.print_exc()
|
138
137
|
logger.warning(
|
139
138
|
"Skipping consent propagation on collection {} for privacy_request: {}",
|
140
139
|
self.execution_node.address,
|
fides/api/tasks/storage.py
CHANGED
@@ -131,7 +131,11 @@ def upload_to_s3( # pylint: disable=R0913
|
|
131
131
|
raise ValueError("Privacy request must be provided")
|
132
132
|
|
133
133
|
try:
|
134
|
-
s3_client = get_s3_client(
|
134
|
+
s3_client = get_s3_client(
|
135
|
+
auth_method,
|
136
|
+
storage_secrets,
|
137
|
+
assume_role_arn=CONFIG.credentials["storage"].get("aws_s3_assume_role_arn"),
|
138
|
+
)
|
135
139
|
|
136
140
|
# handles file chunking
|
137
141
|
try:
|
fides/api/util/aws_util.py
CHANGED
@@ -22,6 +22,10 @@ def get_aws_session(
|
|
22
22
|
if storage_secrets is None:
|
23
23
|
# set to an empty dict to allow for more dynamic code downstream
|
24
24
|
storage_secrets = {}
|
25
|
+
|
26
|
+
stored_region_name = storage_secrets.get("region_name") # type: ignore
|
27
|
+
stored_assume_role_arn: Optional[str] = storage_secrets.get("assume_role_arn") # type: ignore
|
28
|
+
|
25
29
|
if auth_method == AWSAuthMethod.SECRET_KEYS.value:
|
26
30
|
if not storage_secrets:
|
27
31
|
err_msg = "Storage secrets not found for S3 storage."
|
@@ -33,12 +37,10 @@ def get_aws_session(
|
|
33
37
|
aws_secret_access_key=storage_secrets[
|
34
38
|
StorageSecrets.AWS_SECRET_ACCESS_KEY.value # type: ignore
|
35
39
|
],
|
36
|
-
region_name=
|
40
|
+
region_name=stored_region_name,
|
37
41
|
)
|
38
42
|
elif auth_method == AWSAuthMethod.AUTOMATIC.value:
|
39
|
-
session = Session(
|
40
|
-
region_name=storage_secrets.get("region_name"), # type: ignore
|
41
|
-
)
|
43
|
+
session = Session(region_name=stored_region_name)
|
42
44
|
logger.info("Successfully created automatic session")
|
43
45
|
else:
|
44
46
|
logger.error("AWS auth method not supported: {}", auth_method)
|
@@ -48,20 +50,13 @@ def get_aws_session(
|
|
48
50
|
sts_client = session.client("sts")
|
49
51
|
sts_client.get_caller_identity()
|
50
52
|
|
51
|
-
|
53
|
+
target_assume_role_arn = assume_role_arn or stored_assume_role_arn
|
54
|
+
if target_assume_role_arn:
|
52
55
|
try:
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
logger.info(
|
58
|
-
f"Assumed role {assume_role_arn} and got temporary credentials."
|
59
|
-
)
|
60
|
-
return Session(
|
61
|
-
aws_access_key_id=temp_credentials["AccessKeyId"],
|
62
|
-
aws_secret_access_key=temp_credentials["SecretAccessKey"],
|
63
|
-
aws_session_token=temp_credentials["SessionToken"],
|
64
|
-
region_name=storage_secrets.get("region_name"), # type: ignore
|
56
|
+
return get_assumed_role_session(
|
57
|
+
target_assume_role_arn,
|
58
|
+
sts_client,
|
59
|
+
stored_region_name,
|
65
60
|
)
|
66
61
|
except ClientError as error:
|
67
62
|
logger.exception(
|
@@ -72,6 +67,22 @@ def get_aws_session(
|
|
72
67
|
return session
|
73
68
|
|
74
69
|
|
70
|
+
def get_assumed_role_session(
|
71
|
+
assume_role_arn: str, sts_client: Any, region_name: Optional[str] = None
|
72
|
+
) -> Session:
|
73
|
+
response = sts_client.assume_role(
|
74
|
+
RoleArn=assume_role_arn, RoleSessionName="FidesAssumeRoleSession"
|
75
|
+
)
|
76
|
+
temp_credentials = response["Credentials"]
|
77
|
+
logger.info(f"Assumed role {assume_role_arn} and got temporary credentials.")
|
78
|
+
return Session(
|
79
|
+
aws_access_key_id=temp_credentials["AccessKeyId"],
|
80
|
+
aws_secret_access_key=temp_credentials["SecretAccessKey"],
|
81
|
+
aws_session_token=temp_credentials["SessionToken"],
|
82
|
+
region_name=region_name,
|
83
|
+
)
|
84
|
+
|
85
|
+
|
75
86
|
def get_s3_client(
|
76
87
|
auth_method: str,
|
77
88
|
storage_secrets: Optional[Dict[StorageSecrets, Any]],
|
fides/api/util/consent_util.py
CHANGED
@@ -64,7 +64,7 @@ def build_user_consent_and_filtered_preferences_for_service(
|
|
64
64
|
session: Session,
|
65
65
|
is_notice_based: bool = False,
|
66
66
|
) -> Tuple[
|
67
|
-
Optional[Union[bool, Dict[str,
|
67
|
+
Optional[Union[bool, Dict[str, Dict[str, Any]]]],
|
68
68
|
List[PrivacyPreferenceHistory],
|
69
69
|
]:
|
70
70
|
"""
|
@@ -109,7 +109,7 @@ def build_user_consent_and_filtered_preferences_for_service(
|
|
109
109
|
|
110
110
|
# 1. NOTICE-BASED WORKFLOW
|
111
111
|
if is_notice_based:
|
112
|
-
|
112
|
+
notice_preference_map: Dict[str, Dict[str, Any]] = {}
|
113
113
|
# retrieve notices from the DB if they are associated with a relevant preference
|
114
114
|
notices_with_preference: Query = session.query(PrivacyNotice).filter(
|
115
115
|
PrivacyNotice.notice_key.in_(
|
@@ -125,10 +125,16 @@ def build_user_consent_and_filtered_preferences_for_service(
|
|
125
125
|
]
|
126
126
|
# we only expect max 1 preference in this list
|
127
127
|
if preference and preference[0]:
|
128
|
-
|
128
|
+
notice_preference_map[notice.id] = {
|
129
|
+
"preference": preference[0].preference,
|
130
|
+
"notice_key": notice.notice_key,
|
131
|
+
}
|
129
132
|
filtered_preferences.append(preference[0])
|
130
133
|
|
131
|
-
return
|
134
|
+
return (
|
135
|
+
notice_preference_map,
|
136
|
+
filtered_preferences,
|
137
|
+
)
|
132
138
|
|
133
139
|
# 2. GLOBAL (OPT-IN/OUT) WORKFLOW
|
134
140
|
preference_to_propagate: UserConsentPreference = (
|
fides/api/worker/__init__.py
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
import json
|
2
1
|
from typing import Any, List, Optional
|
3
2
|
|
4
3
|
from celery import VERSION_BANNER
|
@@ -6,6 +5,7 @@ from celery.apps.worker import Worker
|
|
6
5
|
from celery.signals import celeryd_after_setup
|
7
6
|
from loguru import logger
|
8
7
|
|
8
|
+
from fides.api.db.base import Base # type: ignore
|
9
9
|
from fides.api.service.saas_request.override_implementations import *
|
10
10
|
from fides.api.tasks import (
|
11
11
|
DSR_QUEUE_NAME,
|
@@ -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/e728309361a9758b.css" as="style"/><link rel="stylesheet" href="/_next/static/css/e728309361a9758b.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-cf42f5a0e9af0ace.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-dc66d9fb6547cb04.js" defer=""></script><script src="/_next/static/chunks/pages/404-b482dd9e6ba3397d.js" defer=""></script><script src="/_next/static/WiKelYdZvuyhqjL7rLRaz/_buildManifest.js" defer=""></script><script src="/_next/static/WiKelYdZvuyhqjL7rLRaz/_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":"WiKelYdZvuyhqjL7rLRaz","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,u,g,p,f,b,j,k,h,m,y,l,v,I,_,U,w,q,x,N,B,F,z,A,D,E,L,M,S,T,C,P,G,H,J,K,O){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[U,"static/chunks/pages/index-259c1f1281f9b634.js"],"/404":["static/chunks/pages/404-b482dd9e6ba3397d.js"],"/_error":["static/chunks/pages/_error-bede3a8288930dcf.js"],"/add-systems":[U,"static/chunks/pages/add-systems-cb85a0014fad7c58.js"],"/add-systems/manual":[s,e,a,c,n,b,t,r,j,m,w,i,"static/chunks/pages/add-systems/manual-e16fcedb2215db13.js"],"/add-systems/multiple":[s,e,t,r,y,q,"static/chunks/pages/add-systems/multiple-892fc00510cddef8.js"],"/ant-poc":["static/chunks/pages/ant-poc-2bade915860dd327.js"],"/consent":["static/chunks/pages/consent-ec420ff6cfb82abd.js"],"/consent/configure":[s,e,t,r,y,"static/chunks/pages/consent/configure-422f4d002822a5ce.js"],"/consent/configure/add-vendors":[s,e,t,r,y,q,"static/chunks/pages/consent/configure/add-vendors-cc58c1e18966fcfd.js"],"/consent/privacy-experience":[s,e,b,t,x,"static/chunks/pages/consent/privacy-experience-046051bb82ec1c53.js"],"/consent/privacy-experience/new":[a,c,g,N,d,k,B,"static/chunks/pages/consent/privacy-experience/new-300fd2800c417d0b.js"],"/consent/privacy-experience/[id]":[a,c,g,N,d,k,B,"static/chunks/pages/consent/privacy-experience/[id]-cd8bb60adf783c4a.js"],"/consent/privacy-notices":[s,e,t,x,"static/chunks/pages/consent/privacy-notices-1f402b7525f78140.js"],"/consent/privacy-notices/new":[a,c,g,F,d,k,z,"static/chunks/pages/consent/privacy-notices/new-8bbccdd747f4100c.js"],"/consent/privacy-notices/[id]":[a,c,g,F,d,k,z,"static/chunks/pages/consent/privacy-notices/[id]-72dd15bfd87616c9.js"],"/consent/properties":[s,e,t,A,"static/chunks/pages/consent/properties-55cc394ebc428e59.js"],"/consent/reporting":[s,e,a,t,"static/chunks/pages/consent/reporting-de9118ec446ce994.js"],"/data-catalog":[s,e,a,c,n,t,"static/css/95ac327e5d70148d.css","static/chunks/pages/data-catalog-7efbc1558febf026.js"],"/data-catalog/[systemId]/projects":[s,e,a,c,n,t,p,l,i,"static/chunks/pages/data-catalog/[systemId]/projects-4ea56a1c3010ba99.js"],"/data-catalog/[systemId]/projects/[projectUrn]":[s,e,t,D,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-b0b976e8dd5e4cd6.js"],"/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]":[s,e,a,c,n,t,p,l,E,i,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-ac033a16f043e6f9.js"],"/data-catalog/[systemId]/resources":[s,e,t,D,"static/chunks/pages/data-catalog/[systemId]/resources-305555b74c357bf2.js"],"/data-catalog/[systemId]/resources/[resourceUrn]":[s,e,a,c,n,t,p,l,E,i,"static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-71e26d262afcaea5.js"],"/data-discovery/action-center":[s,e,t,"static/chunks/pages/data-discovery/action-center-920ed6df7e0aa3a5.js"],"/data-discovery/action-center/[monitorId]":[s,e,a,c,n,t,o,"static/chunks/pages/data-discovery/action-center/[monitorId]-94308fff1468b5e6.js"],"/data-discovery/action-center/[monitorId]/[systemId]":[s,e,a,c,n,t,o,r,m,i,"static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-cdd23dc94e1fbf89.js"],"/data-discovery/activity":[s,e,t,"static/chunks/pages/data-discovery/activity-7e25ddfe45048b35.js"],"/data-discovery/detection":[s,e,t,o,h,L,"static/chunks/pages/data-discovery/detection-f473b2ee1c67be3c.js"],"/data-discovery/detection/[resourceUrn]":[s,e,t,o,h,L,"static/chunks/pages/data-discovery/detection/[resourceUrn]-10f789d4ab2b8927.js"],"/data-discovery/discovery":[s,e,a,c,n,t,o,p,h,M,i,"static/chunks/pages/data-discovery/discovery-ad077f30849fdc0a.js"],"/data-discovery/discovery/[resourceUrn]":[s,e,a,c,n,t,o,p,h,M,i,"static/chunks/pages/data-discovery/discovery/[resourceUrn]-2569551ae75ea5a2.js"],"/datamap":[s,e,"static/chunks/255-7db55b0e3a0f9dea.js",t,j,S,"static/chunks/pages/datamap-4b12c6b141f6cda3.js"],"/dataset":[s,e,u,t,f,"static/chunks/pages/dataset-ee98d1a24a68f13b.js"],"/dataset/new":[u,f,"static/chunks/pages/dataset/new-8dba366b1d55a15c.js"],"/dataset/[datasetId]":[s,e,"static/chunks/9729-fcf6ff4e3534e4a8.js",t,v,"static/chunks/pages/dataset/[datasetId]-ab7c88da427b6396.js"],"/dataset/[datasetId]/[collectionName]":[s,e,a,c,n,I,t,v,i,"static/chunks/pages/dataset/[datasetId]/[collectionName]-76205fa5ddc5c3ae.js"],"/dataset/[datasetId]/[collectionName]/[...subfieldNames]":[s,e,a,c,n,I,t,v,i,"static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-da407b63cd3f5276.js"],"/datastore-connection":["static/css/5f393dea1c0d031c.css","static/chunks/pages/datastore-connection-340e311fa02584dc.js"],"/datastore-connection/new":[u,b,f,T,"static/chunks/pages/datastore-connection/new-8f2cfc79022cb6d0.js"],"/datastore-connection/[id]":[u,f,T,"static/chunks/pages/datastore-connection/[id]-e39d66c8dfdc4c6f.js"],"/fides-js-docs":["static/chunks/2fbcc6de-a6c61724c327e9fa.js","static/chunks/e3251fe7-5777b5d778e6fffa.js",a,c,n,u,I,C,"static/css/ab65b8cc3144bfc8.css","static/chunks/905-8ab919e7b274ed50.js","static/chunks/pages/fides-js-docs-80b241bf6cddb72e.js"],"/integrations":[a,c,n,"static/chunks/6834-dcda0a8ed484775e.js",P,"static/chunks/pages/integrations-d584110d81e5b395.js"],"/integrations/[id]":[s,e,a,c,n,t,P,"static/css/92c81f666644c594.css","static/chunks/pages/integrations/[id]-0fc3ffd11ba163f9.js"],"/login":["static/chunks/pages/login-0cb0eb44bf2dd24c.js"],"/login/[provider]":["static/chunks/pages/login/[provider]-c58beef131c3a82d.js"],"/messaging":[s,e,a,c,n,t,"static/chunks/pages/messaging-de5efa1ff6d0e9ea.js"],"/messaging/add-template":[d,G,"static/chunks/pages/messaging/add-template-11bdab1b292c6f89.js"],"/messaging/[id]":[d,G,"static/chunks/pages/messaging/[id]-1d18e28fa55a149b.js"],"/privacy-requests":[s,e,t,H,"static/chunks/pages/privacy-requests-630db544f2a27167.js"],"/privacy-requests/configure":["static/chunks/pages/privacy-requests/configure-6b9a46fef5031a0b.js"],"/privacy-requests/configure/messaging":["static/chunks/pages/privacy-requests/configure/messaging-e8e9ae8d58acceb2.js"],"/privacy-requests/configure/storage":["static/chunks/pages/privacy-requests/configure/storage-a76f1d1a19e61fe8.js"],"/privacy-requests/[id]":[a,c,n,H,"static/css/b89fc4b36b501cf6.css","static/chunks/pages/privacy-requests/[id]-96350050e842bde5.js"],"/properties":[s,e,t,A,"static/chunks/pages/properties-d2b95b0ebae06804.js"],"/properties/add-property":[d,J,"static/chunks/pages/properties/add-property-984851804558be53.js"],"/properties/[id]":[d,J,"static/chunks/pages/properties/[id]-835b7c4dd2240d16.js"],"/reporting/datamap":[s,e,a,c,n,C,t,j,S,"static/chunks/pages/reporting/datamap-5d1aededc7523146.js"],"/settings/about":["static/chunks/pages/settings/about-44f96bcf57cd4cbf.js"],"/settings/consent":["static/chunks/pages/settings/consent-943dfe977678edb5.js"],"/settings/consent/[configuration_id]/[purpose_id]":[s,e,t,"static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-0ba66c149139737a.js"],"/settings/custom-fields":[s,e,t,"static/chunks/pages/settings/custom-fields-39d098cbcb33d4f5.js"],"/settings/domain-records":[s,e,t,"static/chunks/pages/settings/domain-records-87df4b6493ca8162.js"],"/settings/domains":["static/chunks/pages/settings/domains-45a8a86266308028.js"],"/settings/email-templates":["static/chunks/pages/settings/email-templates-272eb2c0b7ffd290.js"],"/settings/locations":[s,K,"static/chunks/pages/settings/locations-a8cd013bdd3aef75.js"],"/settings/organization":["static/chunks/pages/settings/organization-aaa200f916ba79d8.js"],"/settings/regulations":[s,K,"static/chunks/pages/settings/regulations-5abb227df116c9c4.js"],"/systems":[s,e,t,"static/chunks/pages/systems-5eccb5fe50f7aaa9.js"],"/systems/configure/[id]":[s,e,a,c,n,b,t,o,r,j,m,w,i,"static/chunks/pages/systems/configure/[id]-693c726f22ae11c5.js"],"/systems/configure/[id]/test-datasets":[u,f,"static/chunks/pages/systems/configure/[id]/test-datasets-da1b2dd3ec61a08e.js"],"/taxonomy":["static/chunks/678d4732-50255cc09048e643.js",a,c,n,g,"static/chunks/570-c99f07161bd339cd.js","static/css/34a7eb08b86ddb57.css","static/chunks/pages/taxonomy-0611d707ce426ec7.js"],"/user-management":[_,"static/chunks/pages/user-management-4eb69d5c6af8581b.js"],"/user-management/new":[_,O,"static/chunks/pages/user-management/new-65ef1bdebb679666.js"],"/user-management/profile/[id]":[_,O,"static/chunks/pages/user-management/profile/[id]-28abb07c95f2c7c2.js"],sortedPages:["/","/404","/_app","/_error","/add-systems","/add-systems/manual","/add-systems/multiple","/ant-poc","/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]","/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/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/c78d26b1-88a3e1bacb2a03c2.js","static/chunks/6060-cb1ab5be7067bf7b.js","static/chunks/4481-c19a0c5e273a3ec7.js","static/chunks/2858-0b44609b6be7850b.js","static/chunks/2866-a73888c17a195cbe.js","static/chunks/9278-9b1b5970f0702668.js","static/css/d2d4e9a6923e6730.css","static/chunks/9282-c7f853a8175266bc.js","static/chunks/9719-d3de30714871f267.js","static/chunks/401-a15fcc78cc272c09.js","static/chunks/6527-0eed08abe252a918.js","static/chunks/4294-5b3aa9d605217915.js","static/chunks/6372-3d6d19a89e1d7a37.js","static/chunks/9327-0bc418b9b16cc2c5.js","static/chunks/5277-e8a036319456127f.js","static/chunks/9951-a0ba5bccbbbd5f33.js","static/chunks/6277-2f2d89b83a19ee67.js","static/chunks/3702-8a6360b2deef2a87.js","static/chunks/3503-2e773a38d4a79c2d.js","static/chunks/8934-e357867355f1f924.js","static/chunks/7751-f83e9877478aafcf.js","static/chunks/5487-b6957c5ba835167b.js","static/chunks/8702-d1c8296f9f6afc10.js","static/chunks/3513-2ee2ff13c15af241.js","static/css/972dc7eef106ee7c.css","static/chunks/9965-8880affd11242777.js","static/chunks/5826-8a035114917033bb.js","static/chunks/6853-45e8c48ad0fdf1db.js","static/chunks/9014-eeae6f581158e645.js","static/chunks/1817-90e54de7c706b571.js","static/chunks/3615-5e2d062d684b8fa1.js","static/chunks/6954-6de30beefefac64a.js","static/chunks/79-576004c5ee5116f6.js","static/chunks/3872-53b86dcc7ee3ddec.js","static/chunks/3855-7a43acdb1f8de2f5.js","static/chunks/2479-b4f7654c27a15c05.js","static/chunks/1904-e1034674c6eef004.js","static/chunks/9572-c34e18bd40467909.js","static/chunks/9767-ee5b0af0e65d3802.js","static/chunks/9187-851756440f79cd75.js","static/chunks/5973-4b83cf367b6d82a2.js","static/chunks/1100-0046887f49e9e7c7.js","static/chunks/8433-234a6feeb457cbb8.js","static/chunks/4060-93514991b84ca46c.js","static/chunks/5835-2e2aa29b4a8bf4e6.js","static/chunks/4121-01e2b9f905b8ca29.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1100],{58754:function(e,t,n){var r=n(24246),i=n(91922),s=n(70788);t.Z=e=>{let{heading:t,breadcrumbItems:n,isSticky:a=!0,children:l,rightContent:o,style:u,...c}=e;return(0,r.jsxs)("div",{...c,style:a?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...u}:{paddingBottom:"24px",...u},children:[(0,r.jsxs)(i.jqI,{justify:"space-between",children:["string"==typeof t?(0,r.jsx)(i.lQT,{className:n||l?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,o&&(0,r.jsx)("div",{"data-testid":"page-header-right-content",children:o})]}),!!n&&(0,r.jsx)(s.m,{className:l?"pb-4":void 0,items:n,"data-testid":"page-breadcrumb"}),l]})}},10342:function(e,t,n){var r=n(24246),i=n(91922),s=n(46238);t.Z=e=>{let{title:t,tooltip:n,children:a,...l}=e;return(0,r.jsxs)(i.xuv,{borderRadius:"md",border:"1px solid",borderColor:"gray.200",...l,children:[(0,r.jsxs)(i.X6q,{as:"h3",fontSize:"sm",fontWeight:"semibold",color:"gray.700",py:4,px:6,backgroundColor:"gray.50",borderRadius:"md",textAlign:"left",children:[t,n?(0,r.jsx)(i.xvT,{as:"span",mx:1,children:(0,r.jsx)(s.b,{label:n})}):void 0]}),(0,r.jsx)(i.Kqy,{p:6,spacing:6,children:a})]})}},70788:function(e,t,n){n.d(t,{m:function(){return u}});var r=n(24246),i=n(91922),s=n(79894),a=n.n(s),l=n(27378);let{Text:o}=i.AntTypography,u=e=>{let{items:t,...n}=e,s=(0,l.useMemo)(()=>null==t?void 0:t.map((e,n)=>{let s=n===t.length-1,l={...e},u=l.onClick&&!l.href;return("string"==typeof l.title&&(l.title=(0,r.jsx)(o,{style:{color:"inherit",maxWidth:s?void 0:400},ellipsis:!s,children:l.title})),u)?l.title=(0,r.jsx)(i.wpx,{type:"text",size:"small",icon:l.icon,onClick:l.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:l.title}):(l.icon&&(l.title=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"anticon align-text-bottom",children:l.icon}),l.title]})),l.href&&l.title&&(l.title=(0,r.jsx)(a(),{href:l.href,className:"ant-breadcrumb-link",children:l.title}),delete l.href)),l}),[t]);return(0,r.jsx)(i.zrq,{items:s,...n})}},67810:function(e,t,n){n.d(t,{Z:function(){return s}}),(r=i||(i={})).PRIVACY_REQUEST_REVIEW_APPROVE="privacy_request_review_approve",r.PRIVACY_REQUEST_REVIEW_DENY="privacy_request_review_deny",r.PRIVACY_REQUEST_RECEIPT="privacy_request_receipt",r.PRIVACY_REQUEST_COMPLETE_ACCESS="privacy_request_complete_access",r.PRIVACY_REQUEST_COMPLETE_DELETION="privacy_request_complete_deletion",r.SUBJECT_IDENTITY_VERIFICATION="subject_identity_verification";var r,i,s={[i.PRIVACY_REQUEST_COMPLETE_ACCESS]:"Access request completed",[i.PRIVACY_REQUEST_COMPLETE_DELETION]:"Erasure request completed",[i.PRIVACY_REQUEST_RECEIPT]:"Privacy request received",[i.PRIVACY_REQUEST_REVIEW_APPROVE]:"Privacy request approved",[i.PRIVACY_REQUEST_REVIEW_DENY]:"Privacy request denied",[i.SUBJECT_IDENTITY_VERIFICATION]:"Subject identity verification"}},20149:function(e,t,n){var r=n(24246),i=n(77830),s=n(91922),a=n(34090),l=n(86677),o=n(16134),u=n(10342),c=n(40324),d=n(51472),p=n(67810),m=n(64826);let g=()=>{var e;let t=(0,o.C)(m.Zp),n=(0,o.C)(m.G1);(0,m.gz)({page:t,size:n});let i=(0,o.C)(m.YO),{values:s,setFieldValue:l}=(0,a.u6)();return(0,r.jsx)(d.Z,{label:"Associated properties",addButtonLabel:"Add property",idField:"id",nameField:"name",allItems:i.map(e=>({id:e.id,name:e.name})),values:null!==(e=s.properties)&&void 0!==e?e:[],setValues:e=>l("properties",e),draggable:!0,maxHeight:100,baseTestId:"property"})};t.Z=e=>{let{template:t,handleSubmit:n,handleDelete:o}=e,d=(0,l.useRouter)(),m=()=>{d.push(i.q)},f={type:t.type,content:t.content,properties:t.properties||[],is_enabled:t.is_enabled,id:t.id||""};return(0,r.jsx)(a.J9,{enableReinitialize:!0,initialValues:f,onSubmit:n,children:e=>{let{dirty:t,isValid:n,isSubmitting:i}=e;return(0,r.jsxs)(a.l0,{style:{paddingTop:"12px",paddingBottom:"12px"},children:[(0,r.jsx)(s.xuv,{py:3,children:(0,r.jsxs)(u.Z,{title:"".concat(p.Z[f.type]),children:[(0,r.jsx)(c.j0,{isRequired:!0,label:"Email subject",name:"content.subject",variant:"stacked"}),(0,r.jsx)(c.Ks,{isRequired:!0,label:"Message body",name:"content.body",value:"test",variant:"stacked",resize:!0}),(0,r.jsx)(s.xuv,{py:3,children:(0,r.jsx)(g,{})}),(0,r.jsx)(c.w8,{name:"is_enabled",label:"Enable message",variant:"switchFirst"})]})}),(0,r.jsxs)(s.kCb,{justifyContent:"space-between",width:"100%",paddingTop:2,children:[f.id&&o&&(0,r.jsx)(s.wpx,{"data-testid":"delete-template-button",loading:!1,className:"mr-3",onClick:o,children:"Delete"}),(0,r.jsxs)(s.kCb,{justifyContent:"right",width:"100%",paddingTop:2,children:[(0,r.jsx)(s.wpx,{loading:!1,className:"mr-3",onClick:m,children:"Cancel"}),(0,r.jsx)(s.wpx,{htmlType:"submit",type:"primary",disabled:i||!t||!n,loading:i,"data-testid":"submit-btn",children:"Save"})]})]})]})}})}},5058:function(e,t,n){n.d(t,{Vw:function(){return s},ms:function(){return r},pS:function(){return i},vm:function(){return a}});let{useGetSummaryMessagingTemplatesQuery:r,usePutMessagingTemplateByIdMutation:i,useCreateMessagingTemplateByTypeMutation:s,usePatchMessagingTemplateByIdMutation:a}=n(78780).u.injectEndpoints({endpoints:e=>({getSummaryMessagingTemplates:e.query({query:e=>({method:"GET",url:"plus/messaging/templates/summary",params:e}),providesTags:()=>["Property-Specific Messaging Templates"]}),putMessagingTemplateById:e.mutation({query:e=>{let{templateId:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"PUT",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]}),patchMessagingTemplateById:e.mutation({query:e=>{let{templateId:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"PATCH",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]}),createMessagingTemplateByType:e.mutation({query:e=>{let{templateType:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"POST",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]})})})},47466:function(e,t,n){n.d(t,{KC:function(){return a},ew:function(){return l},gQ:function(){return s},jM:function(){return r},lE:function(){return i}});let{useGetMessagingTemplatesQuery:r,useUpdateMessagingTemplatesMutation:i,useGetMessagingTemplateByIdQuery:s,useGetMessagingTemplateDefaultQuery:a,useDeleteMessagingTemplateByIdMutation:l}=n(78780).u.injectEndpoints({endpoints:e=>({getMessagingTemplates:e.query({query:()=>({url:"messaging/templates"}),providesTags:()=>["Messaging Templates"]}),updateMessagingTemplates:e.mutation({query:e=>({url:"messaging/templates",method:"PUT",body:e}),invalidatesTags:()=>["Messaging Templates"]}),getMessagingTemplateById:e.query({query:e=>({url:"/messaging/templates/".concat(e)}),providesTags:()=>["Property-Specific Messaging Templates"]}),getMessagingTemplateDefault:e.query({query:e=>({url:"/messaging/templates/default/".concat(e)})}),deleteMessagingTemplateById:e.mutation({query:e=>({url:"/messaging/templates/".concat(e),method:"DELETE"}),invalidatesTags:()=>["Property-Specific Messaging Templates"]})})})},31883:function(e,t,n){n.d(t,{Bw:function(){return r.Bw},D4:function(){return r.D4}});var r=n(19043)},11055:function(e,t,n){n.d(t,{M:function(){return d}});var r=n(24246),i=n(29427),s=n(27378),a=n(40976),l=n(18397),o=n(42308),u=n(25431),c=n(39556);let d=(0,s.forwardRef)(function({children:e,as:t="ul",axis:n="y",onReorder:d,values:g,...f},y){let h=(0,o.h)(()=>l.E[t]),x=[],E=(0,s.useRef)(!1);return(0,i.k)(!!g,"Reorder.Group must be provided a values prop"),(0,s.useEffect)(()=>{E.current=!1}),(0,r.jsx)(h,{...f,ref:y,ignoreStrict:!0,children:(0,r.jsx)(a.Y.Provider,{value:{axis:n,registerItem:(e,t)=>{let r=x.findIndex(t=>e===t.value);-1!==r?x[r].layout=t[n]:x.push({value:e,layout:t[n]}),x.sort(m)},updateOrder:(e,t,n)=>{if(E.current)return;let r=function(e,t,n,r){if(!r)return e;let i=e.findIndex(e=>e.value===t);if(-1===i)return e;let s=r>0?1:-1,a=e[i+s];if(!a)return e;let l=e[i],o=a.layout,d=(0,c.t)(o.min,o.max,.5);return 1===s&&l.layout.max+n>d||-1===s&&l.layout.min+n<d?(0,u.uo)(e,i,i+s):e}(x,e,t,n);x!==r&&(E.current=!0,d(r.map(p).filter(e=>-1!==g.indexOf(e))))}},children:e})})});function p(e){return e.value}function m(e,t){return e.layout.min-t.layout.min}},7078:function(e,t,n){n.d(t,{e:function(){return T}});var r=n(24246),i=n(29427),s=n(27378),a=n(40976),l=n(18397),o=n(42308),u=n(69222),c=n(67412);function d(e){let t=(0,o.h)(()=>(0,u.BX)(e)),{isStatic:n}=(0,s.useContext)(c._);if(n){let[,n]=(0,s.useState)(e);(0,s.useEffect)(()=>t.on("change",n),[])}return t}var p=n(13998);let m=e=>e&&"object"==typeof e&&e.mix,g=e=>m(e)?e.mix:void 0;var f=n(64306),y=n(95984);function h(e,t){let n=d(t()),r=()=>n.set(t());return r(),(0,f.L)(()=>{let t=()=>y.Wi.preRender(r,!1,!0),n=e.map(e=>e.on("change",t));return()=>{n.forEach(e=>e()),(0,y.Pn)(r)}}),n}function x(e,t){let n=(0,o.h)(()=>[]);return h(e,()=>{n.length=0;let r=e.length;for(let t=0;t<r;t++)n[t]=e[t].get();return t(n)})}var E=n(3522);function v(e,t=0){return(0,E.i)(e)?e:d(t)}let T=(0,s.forwardRef)(function({children:e,style:t={},value:n,as:c="li",onDrag:d,layout:m=!0,...f},y){let E=(0,o.h)(()=>l.E[c]),T=(0,s.useContext)(a.Y),b={x:v(t.x),y:v(t.y)},_=function(e,t,n,r){if("function"==typeof e)return function(e){u.S1.current=[],e();let t=h(u.S1.current,e);return u.S1.current=void 0,t}(e);let i="function"==typeof t?t:function(...e){let t=!Array.isArray(e[0]),n=t?0:-1,r=e[0+n],i=e[1+n],s=e[2+n],a=e[3+n],l=(0,p.s)(i,s,{mixer:g(s[0]),...a});return t?l(r):l}(t,void 0,void 0);return Array.isArray(e)?x(e,i):x([e],([e])=>i(e))}([b.x,b.y],([e,t])=>e||t?1:"unset");(0,i.k)(!!T,"Reorder.Item must be a child of Reorder.Group");let{axis:C,registerItem:j,updateOrder:R}=T;return(0,r.jsx)(E,{drag:C,...f,dragSnapToOrigin:!0,style:{...t,x:b.x,y:b.y,zIndex:_},layout:m,onDrag:(e,t)=>{let{velocity:r}=t;r[C]&&R(n,b[C].get(),r[C]),d&&d(e,t)},onLayoutMeasure:e=>j(n,e),ref:y,ignoreStrict:!0,children:e})})},40976:function(e,t,n){n.d(t,{Y:function(){return r}});let r=(0,n(27378).createContext)(null)},47397:function(e,t,n){n.d(t,{o:function(){return a}});var r=n(42308);class i{constructor(){this.componentControls=new Set}subscribe(e){return this.componentControls.add(e),()=>this.componentControls.delete(e)}start(e,t){this.componentControls.forEach(n=>{n.start(e.nativeEvent||e,t)})}}let s=()=>new i;function a(){return(0,r.h)(s)}},76649:function(e,t,n){n.d(t,{Ln:function(){return r}});let r=(e,t)=>s(e,t),i=Symbol("SOME"),s=(e,t)=>"string"==typeof e?e===typeof t:Array.isArray(e)?i in e?e.some(e=>s(e,t)):!!Array.isArray(t)&&(0===e.length||t.every(t=>e.some(e=>s(e,t)))):"object"==typeof t&&null!==t&&Object.entries(e).every(([e,n])=>s(n,t[e]));class a{static narrow(e){return new a(t=>r(e,t))}constructor(e){this.NF=void 0,this.NF=e}satisfied(e){return this.NF(e)}build(e){return e}and(e){let t=this.NF,n=e instanceof a?e.NF:e instanceof Function?e:t=>r(e,t);return new a(e=>t(e)&&n(e))}}new a(e=>!0)}}]);
|