ethyca-fides 2.63.3b0__py2.py3-none-any.whl → 2.63.3rc0__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.63.3b0.dist-info → ethyca_fides-2.63.3rc0.dist-info}/METADATA +1 -1
- {ethyca_fides-2.63.3b0.dist-info → ethyca_fides-2.63.3rc0.dist-info}/RECORD +222 -226
- fides/_version.py +3 -3
- fides/api/api/v1/endpoints/connection_endpoints.py +3 -16
- fides/api/api/v1/endpoints/oauth_endpoints.py +2 -8
- fides/api/models/attachment.py +23 -36
- fides/api/schemas/connection_configuration/connection_config.py +4 -19
- fides/api/service/connectors/query_configs/saas_query_config.py +0 -15
- fides/api/service/privacy_request/dsr_package/dsr_report_builder.py +46 -264
- fides/api/service/privacy_request/dsr_package/templates/collection_index.html +9 -34
- fides/api/service/privacy_request/dsr_package/templates/item.html +37 -0
- fides/api/service/privacy_request/dsr_package/templates/main.css +2 -45
- fides/api/service/privacy_request/dsr_package/templates/welcome.html +8 -12
- fides/api/service/privacy_request/request_runner_service.py +139 -258
- fides/api/service/storage/gcs.py +3 -15
- fides/api/service/storage/s3.py +14 -28
- fides/api/service/storage/util.py +7 -45
- fides/api/tasks/storage.py +91 -85
- fides/api/util/saas_util.py +0 -1
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/chunks/1099-667e84655846e78c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1100-0b01f500b1eaf60d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1817-951f58ddd5d46081.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1904-964f8eb328dc2715.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/2310-744354001d01f366.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/2921-49af55ad7c631c93.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3119-e36ae5071c8f27a5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3505-113f9c95d34b7aae.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3513-5c2d412a84a78971.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3872-45cc725e241211f0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3923-b4f701ada3ef0ee0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/401-7e800aed05537126.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4060-90a52a9afc655bfc.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4121-66b0e00d5e7ae817.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4132-9b1731bfec6ee537.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/4481-7f6710c928bb0cb0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5258-2079138c8cc34f6c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5404-2694509cf5fa96da.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5487-2cbd8d2169eb2a65.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/5683-37137111b3e769fb.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6202-081545c7822d09af.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6277-459e054b2702c60e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6853-688df0b88fe65fd5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/69-00cba94689b9e740.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6954-4e313b4599b8763d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/7553-08bc3d9f66695111.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/79-fc548561beed136f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/796-d6586308ed44334b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/7980-736f9fd1e749ddd2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/8032-74d94f7bd5b81c89.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/8433-51870336908fb253.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/8499-1fd392d0be9e8ee4.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9033-fdd87182c15b91e2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{905-5fe5124abfb5c542.js → 905-8ab919e7b274ed50.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/9327-6a53461c9764b16f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9392.25024e070026343d.js → 9392.81edc11e3a175275.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/9494-1ffb888b95289891.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9676.61cf5f6d6a083175.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/9767-afd674014a1d1152.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/404-ec04f826f3dd79ea.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{_app-0e0fdbcc0ec1c76b.js → _app-f70bffa5a7903c46.js} +10 -10
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-1bec086d567aacff.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/multiple-f68bf100e4e60e88.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-effde5cfe49de55f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/add-vendors-ec95ed8cb0712828.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure-4cc195e15e0c3cc8.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/[id]-be8972c79fb39705.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience-ccf96207de3b74ea.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/[id]-b9823cc008372cee.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/new-373f5772ab41bc93.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-b9beeee1bde5ca79.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/properties-6ab3a5baafebd199.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-8562790ae07f17c9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent-42d4d2d6e0253671.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-9d1df6d890671b0c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-7eb08af333baaa8e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-bb57eed84f59a932.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-47eb34aef3e31ac6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-76cefefc53e84c7f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-9d8e84a8b4bf568d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-f208fef5e72dafd6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datamap-db45aa864e9dda8a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-d5cfdebc74654337.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]-618b89228f83435e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-12fc86f15a4c764e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-c23d18a9b56c2e3c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset-e3b2d8e3980ab093.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-6e27257eccf65f01.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-bbac1f624424282d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-84eb56f5a07bdf4f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/index-773182b5e35d0045.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-eb28c927da5bd653.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations-781808bca01f8048.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/[id]-b51bee8680d66b20.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/add-template-1de479533f733fbd.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging-7dc295b3ed3d2224.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-f64dac3392f5ded7.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/AntForm-eb020bfac4bee532.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikAntFormItem-0bd62e28b539e114.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikControlled-936877004113c2a6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikField-6416f01524482af9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/forms-3f4e1313d1f2969b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-1db7a54437db7db0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-64236fd0141414fd.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-8cab04871908cfeb.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-150d40428245ee0c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-b6c876dceb16ad1b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-20cdb2c8a03deae1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/[id]-54bcc875592d1fb9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/add-property-644dc669b508a79a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/properties-9a88220d03e7e02f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-70dc1081df37ea69.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/alpha-3c71b4dbcb6fd6c9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-7cb16e0000dd16c9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-a18d8f12ee8dcf5d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-dc220e116ad5c09e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-55ddc5f25b86f28e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domain-records-5ca7decded228bc8.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-a6fafa1be2834c40.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-e633750d2b45ddd6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/locations-3948686cbd372969.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-04ece499c22d23f4.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/regulations-7752305084280cca.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-9e5f9066be6f218d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]-86de9e6d72098e45.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/systems-cac52e6c3abf6a15.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-60d5930b6855679b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/[id]-b0f4c34752d32c73.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management-7dee83dd6d9292aa.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{webpack-abfd03ce7f1e55ac.js → webpack-8457bad7859c44f0.js} +1 -1
- fides/ui-build/static/admin/_next/static/css/1fdf5c593349dbc6.css +1 -0
- fides/ui-build/static/admin/_next/static/f_8LkSZkhtDM14f8gbC0b/_buildManifest.js +1 -0
- fides/ui-build/static/admin/add-systems/manual.html +1 -1
- fides/ui-build/static/admin/add-systems/multiple.html +1 -1
- fides/ui-build/static/admin/add-systems.html +1 -1
- fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
- fides/ui-build/static/admin/consent/configure.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
- fides/ui-build/static/admin/consent/properties.html +1 -1
- fides/ui-build/static/admin/consent/reporting.html +1 -1
- fides/ui-build/static/admin/consent.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
- fides/ui-build/static/admin/data-catalog.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId].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/api/service/privacy_request/attachment_handling.py +0 -132
- fides/api/service/privacy_request/dsr_package/templates/attachments_index.html +0 -33
- fides/api/tasks/csv_utils.py +0 -170
- fides/api/tasks/encryption_utils.py +0 -42
- fides/ui-build/static/admin/_next/static/0S8UTwc7FKVdi3Eb4LgFK/_buildManifest.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1099-f2199d5b88dd98b4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1100-d617215143d70d3d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/155-8ad794121fef6281.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1817-ddfdd6ed9529bba6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1904-e33cb75edb93d3d3.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/2310-efaa2a52fc487db4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/2921-19664dd93e2bf1ea.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3119-9be74ade1504a7e7.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3505-f6d55694ca5c9816.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3513-656df06b45fedba3.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3872-09df90521f7db611.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3923-3d80020d02819c33.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/401-710009c2a7408818.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4060-4e196835f56cc326.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4121-80ac9bcd08f9cd7a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4132-76ca1bcf79bf1d77.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4481-be144b50994f5135.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5258-8a1f7feddee7a960.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5404-a8a82985736363f4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5487-483a111405f678e0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/5683-7144f557d701406c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6202-86a62d94744e2c18.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6277-0b1e3d23e97f5e19.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6853-d9c6c55d8562bc9b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/69-a4d64cabe750b286.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6954-8ed05ffdbf2ec086.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7553-77c9715868d6ad13.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/79-6c977013b6bedc23.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/796-1d77aa88b776ee4e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7980-3da0fe6938b0b758.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8032-4b8bda7166eff954.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8433-88fd946149dd1f27.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/8499-a65187ae77b7307b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9327-eb3b84680abcc660.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9494-04a0483ed0ddad7c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9676.e60a53f1f5890847.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9767-a3ed98edff04e6ed.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/404-c50dccc133b332a9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/manual-3065022f370ec055.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/multiple-357ef3b269c576bb.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-e8ae218a9d124ba7.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/add-vendors-488507bb244cce9d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure-6f0b46ac2b112bfe.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/[id]-5024b4ab40ba024c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience-2b62e5facfc51808.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/[id]-71791459da78e35d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/new-26a7d52615b1ebb8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices-25836dd5142f37e8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/properties-3a9021850242c78f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-9a5d3cc5cbb4ef27.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent-9e21184279f8e126.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-64cea013d41e348a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects-b02050eb3b7113d4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog-ff211c7a968bda47.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-7f7435f28861ee78.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-ec4b981fd9cff542.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-18c144223277bc2e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/activity-e18f14b8d598e942.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datamap-9af01b6cf4cbe8af.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-1987ef0d3c687aaa.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]-979828f48148b37c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]-e85c3537d3aade4a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-6d44abbe7d454435.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset-42f276660c107e1c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/[id]-18ff06fc09c22c33.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-979eff6888e42b6b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-343a3830b2d4cf22.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/index-737b0c430bf2f7a0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-63361d914d70d647.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations-fd73f276dad7a06c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/[id]-91e865a65a88d1a4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/add-template-529c7e09b073edd2.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging-6226faba9595da71.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-0f7d4390e01f4ffb.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/AntForm-a4e470f75a5553f8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikAntFormItem-d814c1c56b4b04d8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikControlled-0f68f2be09df2c76.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/FormikField-6b63d5c992466891.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/forms-88eb9b98e8e4b426.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-a3da91fd04eec8f5.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-b2ea863afce1d7f0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-0831dfaa65ce0d50.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-709676f00a491bca.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure-0eac9951504b46a7.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-88e20023c30113df.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/[id]-3acc3107e9a21260.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/add-property-2bf13ee02d8d5ab9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties-822eac07220f55f8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-f85f92726a61a668.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/alpha-88999260f855b448.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about-928b0b69e05fd430.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-e090903a572cba68.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-f0c8e4eced9f5cc5.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields-f7a271ee53cb4e51.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domain-records-611980eee1ce9c8a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-382cb6df12684bf8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-5d664f2a0f11b626.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/locations-ba569d22e1e3f6df.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-dd903f6e03c4ee4e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/regulations-fae8ecf7878bad2d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-493dc9b4595c9fb4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]-2b540203a2d7b59d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems-a278608ba0ddc66c.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-6d790458dd21dde7.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/[id]-eb30c9230a9ce9cc.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management-381146aa81e3ffea.js +0 -1
- fides/ui-build/static/admin/_next/static/css/c3377f99bf988d68.css +0 -1
- fides/ui-build/static/admin/images/connector-logos/salesforce.svg +0 -41
- {ethyca_fides-2.63.3b0.dist-info → ethyca_fides-2.63.3rc0.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.63.3b0.dist-info → ethyca_fides-2.63.3rc0.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.63.3b0.dist-info → ethyca_fides-2.63.3rc0.dist-info}/licenses/LICENSE +0 -0
- {ethyca_fides-2.63.3b0.dist-info → ethyca_fides-2.63.3rc0.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{0S8UTwc7FKVdi3Eb4LgFK → f_8LkSZkhtDM14f8gbC0b}/_ssgManifest.js +0 -0
fides/api/service/storage/s3.py
CHANGED
@@ -1,7 +1,6 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
-
from
|
4
|
-
from typing import IO, Any, Dict, Optional, Tuple, Union
|
3
|
+
from typing import IO, Any, Dict, Tuple, Union
|
5
4
|
|
6
5
|
from boto3.s3.transfer import TransferConfig
|
7
6
|
from botocore.exceptions import ClientError, ParamValidationError
|
@@ -35,7 +34,7 @@ def maybe_get_s3_client(
|
|
35
34
|
|
36
35
|
|
37
36
|
def create_presigned_url_for_s3(
|
38
|
-
s3_client: Any, bucket_name: str, file_key: str
|
37
|
+
s3_client: Any, bucket_name: str, file_key: str
|
39
38
|
) -> AnyHttpUrlString:
|
40
39
|
"""
|
41
40
|
Generates a presigned URL to share an S3 object
|
@@ -46,16 +45,10 @@ def create_presigned_url_for_s3(
|
|
46
45
|
:return: Presigned URL as string.
|
47
46
|
"""
|
48
47
|
params = {"Bucket": bucket_name, "Key": file_key}
|
49
|
-
if ttl_seconds:
|
50
|
-
if ttl_seconds > 604800:
|
51
|
-
raise ValueError("TTL must be less than 7 days")
|
52
|
-
expires_in = ttl_seconds
|
53
|
-
else:
|
54
|
-
expires_in = CONFIG.security.subject_request_download_link_ttl_seconds
|
55
48
|
response = s3_client.generate_presigned_url(
|
56
49
|
"get_object",
|
57
50
|
Params=params,
|
58
|
-
ExpiresIn=
|
51
|
+
ExpiresIn=CONFIG.security.subject_request_download_link_ttl_seconds,
|
59
52
|
)
|
60
53
|
|
61
54
|
# The response contains the presigned URL
|
@@ -75,7 +68,7 @@ def generic_upload_to_s3( # pylint: disable=R0913
|
|
75
68
|
file_key: str,
|
76
69
|
auth_method: str,
|
77
70
|
document: IO[bytes],
|
78
|
-
size_threshold: int = LARGE_FILE_THRESHOLD, #
|
71
|
+
size_threshold: int = LARGE_FILE_THRESHOLD, # 5 MB threshold
|
79
72
|
) -> Tuple[int, AnyHttpUrlString]:
|
80
73
|
"""
|
81
74
|
Uploads file like objects to S3.
|
@@ -137,8 +130,7 @@ def generic_retrieve_from_s3(
|
|
137
130
|
file_key: str,
|
138
131
|
auth_method: str,
|
139
132
|
get_content: bool = False,
|
140
|
-
|
141
|
-
) -> Tuple[int, Union[str, IO[bytes]]]:
|
133
|
+
) -> Tuple[int, Union[str, bytes]]:
|
142
134
|
"""
|
143
135
|
Retrieves a file from S3 and returns its size and either a presigned URL or the actual content.
|
144
136
|
|
@@ -156,23 +148,17 @@ def generic_retrieve_from_s3(
|
|
156
148
|
s3_client = get_s3_client(auth_method, storage_secrets)
|
157
149
|
|
158
150
|
try:
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
file_obj = BytesIO()
|
165
|
-
s3_client.download_fileobj(
|
166
|
-
Bucket=bucket_name, Key=file_key, Fileobj=file_obj
|
167
|
-
)
|
168
|
-
file_obj.seek(0) # Reset file pointer to beginning
|
169
|
-
return int(size_response["ContentLength"]), file_obj
|
151
|
+
if get_content:
|
152
|
+
# Get the actual content
|
153
|
+
response = s3_client.get_object(Bucket=bucket_name, Key=file_key)
|
154
|
+
content = response["Body"].read()
|
155
|
+
return response["ContentLength"], content
|
170
156
|
|
171
157
|
# Get presigned URL
|
172
|
-
presigned_url = create_presigned_url_for_s3(
|
173
|
-
|
174
|
-
)
|
175
|
-
return int(
|
158
|
+
presigned_url = create_presigned_url_for_s3(s3_client, bucket_name, file_key)
|
159
|
+
# Get file size
|
160
|
+
response = s3_client.head_object(Bucket=bucket_name, Key=file_key)
|
161
|
+
return int(response["ContentLength"]), str(presigned_url)
|
176
162
|
except ClientError as e:
|
177
163
|
logger.error(f"Error retrieving file from S3: {e}")
|
178
164
|
raise e
|
@@ -3,10 +3,6 @@ from enum import Enum as EnumType
|
|
3
3
|
|
4
4
|
from loguru import logger
|
5
5
|
|
6
|
-
# This is the max file size for downloading the content of an attachment.
|
7
|
-
# This is an industry standard used by companies like Google and Microsoft.
|
8
|
-
LARGE_FILE_THRESHOLD = 25 * 1024 * 1024 # 25 MB
|
9
|
-
|
10
6
|
|
11
7
|
class AllowedFileType(EnumType):
|
12
8
|
"""
|
@@ -28,49 +24,15 @@ class AllowedFileType(EnumType):
|
|
28
24
|
|
29
25
|
LOCAL_FIDES_UPLOAD_DIRECTORY = "fides_uploads"
|
30
26
|
|
27
|
+
# Default to 10MB if not specified in environment
|
28
|
+
LARGE_FILE_THRESHOLD = 10 * 1024 * 1024 # 10 MB threshold
|
31
29
|
|
32
|
-
def get_local_filename(file_key: str) -> str:
|
33
|
-
"""Verifies that the local storage directory exists and returns the local filepath.
|
34
|
-
|
35
|
-
This extra security checks are to prevent directory traversal attacks and "complete business and technical destruction".
|
36
|
-
Thanks Claude.
|
37
|
-
|
38
|
-
Args:
|
39
|
-
file_key: The key/path for the file
|
40
|
-
|
41
|
-
Returns:
|
42
|
-
The full local filepath
|
43
|
-
|
44
|
-
Raises:
|
45
|
-
ValueError: If the file_key is invalid or would result in a path outside the upload directory
|
46
|
-
"""
|
47
|
-
# Basic validation
|
48
|
-
if not file_key:
|
49
|
-
raise ValueError("File key cannot be empty")
|
50
|
-
|
51
|
-
# Security checks before normalization
|
52
|
-
if file_key.startswith("/"):
|
53
|
-
raise ValueError("Invalid file key: cannot start with '/'")
|
54
|
-
|
55
|
-
# Normalize the path to handle any path separators consistently
|
56
|
-
# First normalize using os.path.normpath to handle any redundant separators
|
57
|
-
normalized_key = os.path.normpath(file_key)
|
58
|
-
# Then convert all separators to forward slashes for consistency
|
59
|
-
normalized_key = normalized_key.replace("\\", "/")
|
60
30
|
|
61
|
-
|
62
|
-
|
63
|
-
if not os.path.
|
64
|
-
os.
|
65
|
-
|
66
|
-
raise ValueError(
|
67
|
-
"Invalid file key: would result in path outside upload directory"
|
68
|
-
)
|
69
|
-
|
70
|
-
# Create all necessary directories
|
71
|
-
os.makedirs(os.path.dirname(final_path), exist_ok=True)
|
72
|
-
|
73
|
-
return final_path
|
31
|
+
def get_local_filename(file_key: str) -> str:
|
32
|
+
"""Verifies that the local storage directory exists and returns the local filepath"""
|
33
|
+
if not os.path.exists(LOCAL_FIDES_UPLOAD_DIRECTORY):
|
34
|
+
os.makedirs(LOCAL_FIDES_UPLOAD_DIRECTORY)
|
35
|
+
return f"{LOCAL_FIDES_UPLOAD_DIRECTORY}/{file_key}"
|
74
36
|
|
75
37
|
|
76
38
|
def get_allowed_file_type_or_raise(file_key: str) -> str:
|
fides/api/tasks/storage.py
CHANGED
@@ -1,20 +1,23 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
3
|
import json
|
4
|
+
import secrets
|
4
5
|
import zipfile
|
5
6
|
from io import BytesIO
|
6
|
-
from typing import TYPE_CHECKING, Any, Optional
|
7
|
+
from typing import TYPE_CHECKING, Any, Dict, Optional, Union
|
7
8
|
|
9
|
+
import pandas as pd
|
8
10
|
from botocore.exceptions import ClientError, ParamValidationError
|
9
11
|
from fideslang.validation import AnyHttpUrlString
|
10
12
|
from loguru import logger
|
11
13
|
|
12
14
|
from fides.api.common_exceptions import StorageUploadError
|
15
|
+
from fides.api.cryptography.cryptographic_util import bytes_to_b64_str
|
13
16
|
from fides.api.schemas.storage.storage import ResponseFormat, StorageSecrets
|
14
17
|
from fides.api.service.privacy_request.dsr_package.dsr_report_builder import (
|
15
18
|
DsrReportBuilder,
|
16
19
|
)
|
17
|
-
from fides.api.service.storage.gcs import
|
20
|
+
from fides.api.service.storage.gcs import get_gcs_client
|
18
21
|
from fides.api.service.storage.s3 import (
|
19
22
|
create_presigned_url_for_s3,
|
20
23
|
generic_upload_to_s3,
|
@@ -23,9 +26,11 @@ from fides.api.service.storage.util import (
|
|
23
26
|
LOCAL_FIDES_UPLOAD_DIRECTORY,
|
24
27
|
get_local_filename,
|
25
28
|
)
|
26
|
-
from fides.api.tasks.csv_utils import write_csv_to_zip
|
27
|
-
from fides.api.tasks.encryption_utils import encrypt_access_request_results
|
28
29
|
from fides.api.util.aws_util import get_s3_client
|
30
|
+
from fides.api.util.cache import get_cache, get_encryption_cache_key
|
31
|
+
from fides.api.util.encryption.aes_gcm_encryption_scheme import (
|
32
|
+
encrypt_to_bytes_verify_secrets_length,
|
33
|
+
)
|
29
34
|
from fides.api.util.storage_util import StorageJSONEncoder
|
30
35
|
from fides.config import CONFIG
|
31
36
|
|
@@ -33,8 +38,33 @@ if TYPE_CHECKING:
|
|
33
38
|
from fides.api.models.privacy_request import PrivacyRequest
|
34
39
|
|
35
40
|
|
41
|
+
def encrypt_access_request_results(data: Union[str, bytes], request_id: str) -> str:
|
42
|
+
"""Encrypt data with encryption key if provided, otherwise return unencrypted data"""
|
43
|
+
cache = get_cache()
|
44
|
+
encryption_cache_key = get_encryption_cache_key(
|
45
|
+
privacy_request_id=request_id,
|
46
|
+
encryption_attr="key",
|
47
|
+
)
|
48
|
+
if isinstance(data, bytes):
|
49
|
+
data = data.decode(CONFIG.security.encoding)
|
50
|
+
|
51
|
+
encryption_key: str | None = cache.get(encryption_cache_key)
|
52
|
+
if not encryption_key:
|
53
|
+
return data
|
54
|
+
|
55
|
+
bytes_encryption_key: bytes = encryption_key.encode(
|
56
|
+
encoding=CONFIG.security.encoding
|
57
|
+
)
|
58
|
+
nonce: bytes = secrets.token_bytes(CONFIG.security.aes_gcm_nonce_length)
|
59
|
+
# b64encode the entire nonce and the encrypted message together
|
60
|
+
return bytes_to_b64_str(
|
61
|
+
nonce
|
62
|
+
+ encrypt_to_bytes_verify_secrets_length(data, bytes_encryption_key, nonce)
|
63
|
+
)
|
64
|
+
|
65
|
+
|
36
66
|
def write_to_in_memory_buffer(
|
37
|
-
resp_format: str, data:
|
67
|
+
resp_format: str, data: Dict[str, Any], privacy_request: PrivacyRequest
|
38
68
|
) -> BytesIO:
|
39
69
|
"""Write JSON/CSV data to in-memory file-like object to be passed to S3 or GCS. Encrypt data if encryption key/nonce
|
40
70
|
has been cached for the given privacy request id
|
@@ -43,62 +73,46 @@ def write_to_in_memory_buffer(
|
|
43
73
|
:param data: Dict
|
44
74
|
:param request_id: str, The privacy request id
|
45
75
|
"""
|
46
|
-
|
47
76
|
logger.debug("Writing data to in-memory buffer")
|
48
|
-
try:
|
49
|
-
if resp_format == ResponseFormat.html.value:
|
50
|
-
return DsrReportBuilder(
|
51
|
-
privacy_request=privacy_request,
|
52
|
-
dsr_data=data,
|
53
|
-
).generate()
|
54
|
-
|
55
|
-
if resp_format == ResponseFormat.json.value:
|
56
|
-
return convert_dict_to_encrypted_json(data, privacy_request.id)
|
57
|
-
|
58
|
-
if resp_format == ResponseFormat.csv.value:
|
59
|
-
zipped_csvs = BytesIO()
|
60
|
-
with zipfile.ZipFile(zipped_csvs, "w") as f:
|
61
|
-
write_csv_to_zip(f, data, privacy_request.id)
|
62
|
-
zipped_csvs.seek(0)
|
63
|
-
return zipped_csvs
|
64
|
-
except Exception as e:
|
65
|
-
logger.error(f"Error writing data to in-memory buffer: {str(e)}")
|
66
|
-
raise e
|
67
|
-
|
68
|
-
raise NotImplementedError(f"No handling for response format {resp_format}.")
|
69
|
-
|
70
|
-
|
71
|
-
def convert_dict_to_encrypted_json(
|
72
|
-
data: dict[str, Any], privacy_request_id: str
|
73
|
-
) -> BytesIO:
|
74
|
-
"""Convert data to JSON and encrypt it.
|
75
|
-
|
76
|
-
Args:
|
77
|
-
data: The data to convert and encrypt
|
78
|
-
privacy_request_id: The ID of the privacy request for encryption
|
79
77
|
|
80
|
-
|
81
|
-
BytesIO: A file-like object containing the encrypted JSON data
|
82
|
-
|
83
|
-
Raises:
|
84
|
-
Exception: If JSON conversion fails
|
85
|
-
"""
|
86
|
-
try:
|
78
|
+
if resp_format == ResponseFormat.json.value:
|
87
79
|
json_str = json.dumps(data, indent=2, default=StorageJSONEncoder().default)
|
88
80
|
return BytesIO(
|
89
|
-
encrypt_access_request_results(json_str,
|
81
|
+
encrypt_access_request_results(json_str, privacy_request.id).encode(
|
90
82
|
CONFIG.security.encoding
|
91
83
|
)
|
92
84
|
)
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
85
|
+
|
86
|
+
if resp_format == ResponseFormat.csv.value:
|
87
|
+
zipped_csvs = BytesIO()
|
88
|
+
with zipfile.ZipFile(zipped_csvs, "w") as f:
|
89
|
+
for key in data:
|
90
|
+
df = pd.json_normalize(data[key])
|
91
|
+
buffer = BytesIO()
|
92
|
+
df.to_csv(buffer, index=False, encoding=CONFIG.security.encoding)
|
93
|
+
buffer.seek(0)
|
94
|
+
f.writestr(
|
95
|
+
f"{key}.csv",
|
96
|
+
encrypt_access_request_results(
|
97
|
+
buffer.getvalue(), privacy_request.id
|
98
|
+
),
|
99
|
+
)
|
100
|
+
|
101
|
+
zipped_csvs.seek(0)
|
102
|
+
return zipped_csvs
|
103
|
+
|
104
|
+
if resp_format == ResponseFormat.html.value:
|
105
|
+
return DsrReportBuilder(
|
106
|
+
privacy_request=privacy_request,
|
107
|
+
dsr_data=data,
|
108
|
+
).generate()
|
109
|
+
|
110
|
+
raise NotImplementedError(f"No handling for response format {resp_format}.")
|
97
111
|
|
98
112
|
|
99
113
|
def upload_to_s3( # pylint: disable=R0913
|
100
|
-
storage_secrets:
|
101
|
-
data:
|
114
|
+
storage_secrets: Dict[StorageSecrets, Any],
|
115
|
+
data: Dict,
|
102
116
|
bucket_name: str,
|
103
117
|
file_key: str,
|
104
118
|
resp_format: str,
|
@@ -126,22 +140,18 @@ def upload_to_s3( # pylint: disable=R0913
|
|
126
140
|
"storage", {}
|
127
141
|
).get("aws_s3_assume_role_arn"),
|
128
142
|
)
|
129
|
-
except (ClientError, ParamValidationError) as e:
|
130
|
-
logger.error(f"Error getting s3 client: {str(e)}")
|
131
|
-
raise StorageUploadError(f"Error getting s3 client: {str(e)}")
|
132
143
|
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
144
|
+
# handles file chunking
|
145
|
+
try:
|
146
|
+
s3_client.upload_fileobj(
|
147
|
+
Fileobj=write_to_in_memory_buffer(resp_format, data, privacy_request),
|
148
|
+
Bucket=bucket_name,
|
149
|
+
Key=file_key,
|
150
|
+
)
|
151
|
+
except Exception as e:
|
152
|
+
logger.error("Encountered error while uploading s3 object: {}", e)
|
153
|
+
raise e
|
143
154
|
|
144
|
-
try:
|
145
155
|
presigned_url: AnyHttpUrlString = create_presigned_url_for_s3(
|
146
156
|
s3_client, bucket_name, file_key
|
147
157
|
)
|
@@ -152,11 +162,13 @@ def upload_to_s3( # pylint: disable=R0913
|
|
152
162
|
"Encountered error while uploading and generating link for s3 object: {}", e
|
153
163
|
)
|
154
164
|
raise StorageUploadError(f"Error uploading to S3: {e}")
|
165
|
+
except ParamValidationError as e:
|
166
|
+
raise StorageUploadError(f"The parameters you provided are incorrect: {e}")
|
155
167
|
|
156
168
|
|
157
169
|
def upload_to_gcs(
|
158
|
-
storage_secrets:
|
159
|
-
data:
|
170
|
+
storage_secrets: Dict,
|
171
|
+
data: Dict,
|
160
172
|
bucket_name: str,
|
161
173
|
file_key: str,
|
162
174
|
resp_format: str,
|
@@ -165,30 +177,24 @@ def upload_to_gcs(
|
|
165
177
|
) -> str:
|
166
178
|
"""Uploads access request data to a Google Cloud Storage bucket"""
|
167
179
|
logger.info("Starting Google Cloud Storage upload of {}", file_key)
|
168
|
-
content_type = {
|
169
|
-
ResponseFormat.json.value: "application/json",
|
170
|
-
ResponseFormat.csv.value: "application/zip",
|
171
|
-
ResponseFormat.html.value: "application/zip",
|
172
|
-
}
|
173
|
-
|
174
|
-
blob = get_gcs_blob(auth_method, storage_secrets, bucket_name, file_key)
|
175
|
-
in_memory_file = write_to_in_memory_buffer(resp_format, data, privacy_request)
|
176
180
|
|
177
181
|
try:
|
182
|
+
storage_client = get_gcs_client(auth_method, storage_secrets)
|
183
|
+
bucket = storage_client.bucket(bucket_name)
|
184
|
+
|
185
|
+
blob = bucket.blob(file_key)
|
186
|
+
in_memory_file = write_to_in_memory_buffer(resp_format, data, privacy_request)
|
187
|
+
content_type = {
|
188
|
+
ResponseFormat.json.value: "application/json",
|
189
|
+
ResponseFormat.csv.value: "application/zip",
|
190
|
+
ResponseFormat.html.value: "application/zip",
|
191
|
+
}
|
178
192
|
blob.upload_from_string(
|
179
193
|
in_memory_file.getvalue(), content_type=content_type[resp_format]
|
180
194
|
)
|
181
|
-
except Exception as e:
|
182
|
-
logger.error("Error uploading to GCS: {}", str(e))
|
183
|
-
logger.error(
|
184
|
-
"Encountered error while uploading and generating link for Google Cloud Storage object: {}",
|
185
|
-
e,
|
186
|
-
)
|
187
|
-
raise
|
188
195
|
|
189
|
-
|
196
|
+
logger.info("File {} uploaded to {}", file_key, blob.public_url)
|
190
197
|
|
191
|
-
try:
|
192
198
|
presigned_url = blob.generate_signed_url(
|
193
199
|
version="v4",
|
194
200
|
expiration=CONFIG.security.subject_request_download_link_ttl_seconds,
|
@@ -204,7 +210,7 @@ def upload_to_gcs(
|
|
204
210
|
|
205
211
|
|
206
212
|
def upload_to_local(
|
207
|
-
data:
|
213
|
+
data: Dict,
|
208
214
|
file_key: str,
|
209
215
|
privacy_request: PrivacyRequest,
|
210
216
|
resp_format: str = ResponseFormat.json.value,
|
fides/api/util/saas_util.py
CHANGED
@@ -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/1fdf5c593349dbc6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/1fdf5c593349dbc6.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-8457bad7859c44f0.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-f70bffa5a7903c46.js" defer=""></script><script src="/_next/static/chunks/pages/404-ec04f826f3dd79ea.js" defer=""></script><script src="/_next/static/f_8LkSZkhtDM14f8gbC0b/_buildManifest.js" defer=""></script><script src="/_next/static/f_8LkSZkhtDM14f8gbC0b/_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":"f_8LkSZkhtDM14f8gbC0b","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -0,0 +1 @@
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1099],{95372:function(e){e.exports=function(e,t,n,a){for(var i=e.length,r=n+(a?1:-1);a?r--:++r<i;)if(t(e[r],r,e))return r;return -1}},56632:function(e,t,n){var a=n(89278),i=n(80068),r=n(50098);e.exports=function(e){return function(t,n,o){var s=Object(t);if(!i(t)){var l=a(n,3);t=r(t),n=function(e){return l(s[e],e,s)}}var c=e(t,n,o);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),r=n(47991),o=Math.max;e.exports=function(e,t,n){var s=null==e?0:e.length;if(!s)return -1;var l=null==n?0:r(n);return l<0&&(l=o(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),r=n(34929);t.Z=e=>{let{selectedTaxonomies:t,showDisabled:n=!1,...o}=e,{getDataCategoryDisplayNameProps:s,getDataCategories:l}=(0,r.Z)(),c=(n?l():l().filter(e=>e.active)).filter(e=>!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,...o})}},79283:function(e,t,n){"use strict";n.d(t,{l:function(){return l}});var a=n(24246),i=n(4454),r=n(72707),o=n.n(r);let s=e=>{let{data:t}=e;return(0,a.jsxs)(i.jqI,{gap:12,title:"".concat(t.primaryName||"").concat(t.primaryName?": ":"").concat(t.name," - ").concat(t.description),children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("strong",{children:t.primaryName||t.name}),t.primaryName&&": ".concat(t.name)]}),(0,a.jsx)("em",{children:t.description})]})},l=e=>{let{options:t,...n}=e,r=null==t?void 0:t.map(e=>({...e,className:o().option}));return(0,a.jsx)(i.WPr,{options:r,autoFocus:!0,variant:"borderless",optionRender:s,dropdownStyle:{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),r=n.n(i),o=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)),r=!!a.parent_key;return{name:a.name||void 0,primaryName:r&&(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:r}=l(e,t,n);return i?r?(0,a.jsxs)(o.Fragment,{children:[(0,a.jsxs)("strong",{children:[r,":"]})," ",i]},e):(0,a.jsx)("strong",{children:i},e):e},d=t=>r()(e,{fides_key:t}),f=e=>r()(t,{fides_key:e}),g=e=>r()(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(4454),r=n(27378),o=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,r.useState)(!1),{getDataCategoryDisplayName:p}=(0,s.Z)(),[m]=(0,c.NA)(),v=(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=!v&&!(null==x?void 0:x.length),_=null===(n=u.sub_field_urns)||void 0===n?void 0:n.length,j=e=>{m({staged_resource_urn:u.urn,monitor_config_id:u.monitor_config_id,user_assigned_data_categories:[...x,e]})},y=e=>{var t;m({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,N=!f&&!!v&&!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:p(e)},e)),(0,a.jsx)(i.j8w,{onClick:()=>g(!0),addable:!0,"data-testid":"taxonomy-add-btn","aria-label":"Add category"})]}),N&&(0,a.jsxs)(i.j8w,{onClick:()=>g(!0),color:"white","data-testid":"classification-".concat(v),hasSparkle:!0,children:[p(v),(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)(o.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"}}}]);
|
@@ -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(4454),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(4454),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(4454),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(4454),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)}}]);
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1817],{11817:function(e,n,i){i.d(n,{Z:function(){return U}});var t=i(24246),o=i(4454),a=i(34090),l=i(86677),r=i(27378),s=i(55484),d=i(16134),c=i(812);let p=(0,o.IUT)({displayName:"DesktopIcon",viewBox:"0 0 24 24",path:(0,t.jsx)("path",{fill:"currentColor",d:"M20.5556 4.05556H3.44444C3.10833 4.05556 2.83333 4.33056 2.83333 4.66667V12H21.1667V4.66667C21.1667 4.33056 20.8917 4.05556 20.5556 4.05556ZM23 12V13.8333V15.6667C23 17.0149 21.9038 18.1111 20.5556 18.1111H14.9142L15.2198 19.9445H17.1944C17.7024 19.9445 18.1111 20.3531 18.1111 20.8611C18.1111 21.3691 17.7024 21.7778 17.1944 21.7778H14.4444H9.55556H6.80556C6.29757 21.7778 5.88889 21.3691 5.88889 20.8611C5.88889 20.3531 6.29757 19.9445 6.80556 19.9445H8.78021L9.08576 18.1111H3.44444C2.09618 18.1111 1 17.0149 1 15.6667V13.8333V12V4.66667C1 3.31841 2.09618 2.22223 3.44444 2.22223H20.5556C21.9038 2.22223 23 3.31841 23 4.66667V12ZM2.83333 13.8333V15.6667C2.83333 16.0028 3.10833 16.2778 3.44444 16.2778H10.1476C10.159 16.2778 10.1705 16.2778 10.1781 16.2778H13.8142C13.8257 16.2778 13.8372 16.2778 13.8448 16.2778H20.5556C20.8917 16.2778 21.1667 16.0028 21.1667 15.6667V13.8333H2.83333ZM10.6365 19.9445H13.3597L13.0542 18.1111H10.942L10.6365 19.9445Z"})}),u=(0,o.IUT)({displayName:"MobileIcon",viewBox:"0 0 24 24",path:(0,t.jsx)("path",{fill:"currentColor",d:"M6.5 20.25C6.5 20.6281 6.80938 20.9375 7.1875 20.9375H16.8125C17.1906 20.9375 17.5 20.6281 17.5 20.25V16.8125H6.5V20.25ZM6.5 14.75H17.5V3.75C17.5 3.37188 17.1906 3.0625 16.8125 3.0625H7.1875C6.80938 3.0625 6.5 3.37188 6.5 3.75V14.75ZM4.4375 3.75C4.4375 2.2332 5.6707 1 7.1875 1H16.8125C18.3293 1 19.5625 2.2332 19.5625 3.75V20.25C19.5625 21.7668 18.3293 23 16.8125 23H7.1875C5.6707 23 4.4375 21.7668 4.4375 20.25V3.75ZM12 17.8438C12.2735 17.8438 12.5358 17.9524 12.7292 18.1458C12.9226 18.3392 13.0312 18.6015 13.0312 18.875C13.0312 19.1485 12.9226 19.4108 12.7292 19.6042C12.5358 19.7976 12.2735 19.9062 12 19.9062C11.7265 19.9062 11.4642 19.7976 11.2708 19.6042C11.0774 19.4108 10.9688 19.1485 10.9688 18.875C10.9688 18.6015 11.0774 18.3392 11.2708 18.1458C11.4642 17.9524 11.7265 17.8438 12 17.8438Z"})});var v=i(77830),m=i(46628),_=i(7426),f=i(60325);let b={language:{label:"Language",validation:s.Z_()},title:{label:"Title",validation:s.Z_()},description:{label:"Description",validation:s.Z_()},accept_button_label:{label:"Accept button label",validation:s.Z_()},reject_button_label:{label:"Reject button label",validation:s.Z_()},save_button_label:{label:"Save button label",validation:s.Z_()},acknowledge_button_label:{label:"Acknowledge button label",validation:s.Z_()},privacy_policy_url:{label:"Privacy policy URL",validation:s.Z_().url()},privacy_preferences_link_label:{label:"Privacy preferences link label",validation:s.Z_()},banner_title:{label:"Banner title",validation:s.Z_()},banner_description:{label:"Banner description",validation:s.Z_()},purpose_header:{label:"Purpose header",validation:s.Z_()},privacy_policy_link_label:{label:"Privacy policy link label",validation:s.Z_()},modal_link_label:{label:"Modal link label",validation:s.Z_()},is_default:{label:"Default language",validation:s.O7()}};var g=i(34334),y=i(13083),x=i.n(y),h=i(43218),w=i.n(h),C=i(52253),j=i(32885),V=i(61317);let k={language:V.eU.EN,accept_button_label:"Accept",acknowledge_button_label:"OK",banner_description:"",banner_title:"",purpose_header:"",description:"Description",privacy_policy_link_label:"",privacy_policy_url:"",modal_link_label:"",privacy_preferences_link_label:"Privacy preferences",reject_button_label:"Reject All",save_button_label:"Save",title:"Manage your consent preferences",is_default:!0},A=e=>({...k,...e.translations?e.translations[0]:{}}),O=(e,n)=>{var i,t,o,a;let l={options:{allowHTMLDescription:!0,base64Cookie:!1,debug:!1,fidesApiUrl:"http://localhost:8080/api/v1",fidesClearCookie:!0,fidesDisableSaveApi:!0,fidesDisableNoticesServedApi:!0,fidesJsBaseUrl:"",fidesLocale:null===(t=e.translations)||void 0===t?void 0:null===(i=t[0])||void 0===i?void 0:i.language,fidesString:null,geolocationApiUrl:"",isGeolocationEnabled:!1,isOverlayEnabled:!0,isPrefetchEnabled:!1,modalLinkId:null,overlayParentId:C.Vk,preventDismissal:null!==(a=e.dismissable)&&void 0!==a&&a,privacyCenterUrl:"http://localhost:3000",showFidesBrandLink:!0},experience:{available_locales:null===(o=e.translations)||void 0===o?void 0:o.map(e=>e.language),component:e.component,experience_config:{allow_language_selection:!0,auto_detect_language:!0,auto_subdomain_cookie_deletion:!0,component:e.component,disabled:!1,dismissable:e.dismissable,id:"pri_222",is_default:!0,language:"en",layer1_button_options:V.Of.OPT_IN_OPT_OUT,properties:[],regions:["us_ca"],show_layer1_notices:!1,translations:[A(e)]},id:"pri_111",privacy_notices:n,region:"us_ca"},geolocation:{country:"US",location:"US-CA",region:"CA"}};return e.component===V.re.TCF_OVERLAY&&(l.options.fidesTcfGdprApplies=!0,l.options.tcf_enabled=!0,l.geolocation={location:"eea",country:"eea"},l.experience.experience_config.regions=["eea"],l.experience={...l.experience,region:"eea",minimal_tcf:!0,gvl:{vendors:{}},tcf_purpose_names:["Store and/or access information on a device","Use limited data to select advertising","Create profiles for personalised advertising","Use profiles to select personalised advertising","Create profiles to personalise content","Use profiles to select personalised content","Measure advertising performance","Measure content performance","Understand audiences through statistics or combinations of data from different sources","Develop and improve services","Use limited data to select content"]},l.options.apiOptions={getPrivacyExperienceFn:async()=>l.experience}),l},E=e=>{let{language:n,is_default:i,...t}=k,o=Object.keys(t).map(n=>{let i=e[n];return{[n]:void 0!==i?i:k[n]}}).reduce((e,n)=>({...e,...n}),{});return{language:e.language,is_default:e.is_default,...o}},T=(e,n,i)=>e?e.map(e=>i.find(n=>(null==n?void 0:n.id)===e)).map(e=>n===V.re.TCF_OVERLAY&&void 0!==e?{...e,translations:[{language:"en",text:null==e?void 0:e.name}]}:e).filter(e=>void 0!==e):[];var L=i(74022),Z=i(32222);let N=e=>{let{title:n,description:i}=e;return(0,t.jsx)(o.jqI,{className:"h-full items-center justify-center",children:(0,t.jsxs)(o.jqI,{className:"items-center gap-2 rounded-md p-6",style:{backgroundColor:L.Z.colors.white,boxShadow:L.Z.shadows.md,maxWidth:512},vertical:!0,"data-testid":"no-preview-notice",children:[(0,t.jsx)(o.xvT,{fontSize:"lg",fontWeight:"500",align:"center",children:n}),(0,t.jsx)(o.xvT,{color:"gray.500",align:"center",children:i})]})})};var P=e=>{var n,i;let{allPrivacyNotices:s,initialValues:d,translation:c,isMobilePreview:p}=e,u=(0,l.useRouter)().pathname.includes("/new"),{values:v}=(0,a.u6)(),[m,_]=(0,r.useState)([]),[f,b]=(0,r.useState)(!1),[g,y]=(0,r.useState)(),h=[V.re.BANNER_AND_MODAL,V.re.MODAL,V.re.TCF_OVERLAY].includes(v.component),{data:k}=(0,j.de)({pageIndex:1,pageSize:1}),A=(0,r.useMemo)(()=>(null==k?void 0:k.total)||0,[null==k?void 0:k.total]);(0,r.useEffect)(()=>{var e,n;return h&&f&&window.FidesPreview&&v.component&&((null===(e=v.privacy_notice_ids)||void 0===e?void 0:e.length)||v.component===V.re.TCF_OVERLAY)?v.component===V.re.TCF_OVERLAY?(window.FidesPreview("tcf"),y("tcf")):(window.FidesPreview("standard"),y("standard")):window.FidesPreview&&(null===(n=window.FidesPreview)||void 0===n||n.cleanup()),()=>{var e;null===(e=window.FidesPreview)||void 0===e||e.cleanup()}},[v.component,f,h,null===(n=v.privacy_notice_ids)||void 0===n?void 0:n.length,u]),(0,r.useEffect)(()=>{d&&v.component&&s&&(v.privacy_notice_ids?_(T(v.privacy_notice_ids,v.component,s)):_([]))},[v.privacy_notice_ids,s,v.component,d]);let L=(0,r.useMemo)(()=>v.component?O({...d,component:v.component},m):null,[d,m,v.component]);(0,r.useEffect)(()=>{var e,n,i,t;if(!h||!f||!window.FidesPreview||!window.Fides||!(null===(e=v.privacy_notice_ids)||void 0===e?void 0:e.length)&&v.component!==V.re.TCF_OVERLAY)return;v.component===V.re.MODAL&&(L.experience.experience_config.component=V.re.MODAL);let o=null===(n=v.translations)||void 0===n?void 0:n.find(e=>e.language===(null==c?void 0:c.language));(null===(i=v.translations)||void 0===i?void 0:i.length)&&(o?(L.experience.available_locales=[...L.experience.available_locales||[],o.language],L.experience.experience_config.translations[0]=E(o),L.options.fidesLocale=o.language):v.translations&&(L.experience.experience_config.translations[0]=E(v.translations[0]),L.options.fidesLocale=v.translations[0].language)),L.experience.experience_config.show_layer1_notices=!!(null===(t=v.privacy_notice_ids)||void 0===t?void 0:t.length)&&!!v.show_layer1_notices,L.experience.experience_config.layer1_button_options=(v.component===V.re.BANNER_AND_MODAL||v.component===V.re.TCF_OVERLAY)&&v.layer1_button_options?v.layer1_button_options:V.Of.OPT_IN_OPT_OUT,L.options.preventDismissal=!v.dismissable,L.experience.vendor_count=A,L.experience.experience_config.component=v.component,window.Fides.init(L)},[c,L,s,h,A,f,g,v.privacy_notice_ids,v.component,v.translations,v.show_layer1_notices,v.layer1_button_options,v.dismissable,d,m]);let P=document.getElementById("fides-modal");return(P&&P.removeAttribute("tabindex"),v.component)?h?(null===(i=v.privacy_notice_ids)||void 0===i?void 0:i.length)||v.component===V.re.TCF_OVERLAY?(0,t.jsxs)(o.jqI,{className:"size-full items-center justify-center overflow-scroll",children:[(0,t.jsx)(x(),{id:"4b2ec2183c5a567e",dynamic:[C.Vk,v.component!==V.re.TCF_OVERLAY?"padding-bottom: 45px;":""],children:"div#fides-overlay{z-index:5000!important}div#".concat(C.Vk,"{width:100%;padding-top:45px;").concat(v.component!==V.re.TCF_OVERLAY?"padding-bottom: 45px;":""," margin: auto;pointer-events:none}div#fides-banner-container{position:static!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important;-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}div#fides-banner-container.fides-banner-hidden{display:none}.fides-modal-container{background-color:unset!important;position:static!important;display:none!important}.fides-modal-overlay{background-color:inherit!important;position:static!important;display:none!important}div.fides-modal-content{position:relative!important;-webkit-transform:none!important;-moz-transform:none!important;-ms-transform:none!important;-o-transform:none!important;transform:none!important;left:initial!important;top:initial!important}div.fides-modal-footer{width:unset}")}),h?(0,t.jsx)("style",{children:"div#fides-modal {\n display: flex !important;\n justify-content: center;\n background-color: unset;\n ".concat(v.component===V.re.BANNER_AND_MODAL||v.component===V.re.TCF_OVERLAY?"padding-bottom: 3rem;":"","\n }")}):null,p?(0,t.jsx)("style",{children:"\n div#fides-overlay-wrapper {\n max-width: 400px;\n margin: auto;\n }\n div.fides-modal-button-group {\n flex-direction: column !important;\n }\n div#fides-banner {\n padding: 24px;\n width: 100%;\n }\n\n div#fides-banner-description {\n margin-bottom: 0px;\n }\n\n div#fides-banner-inner div#fides-button-group {\n flex-direction: column;\n align-items: flex-start;\n gap: 12px;\n padding-top: 24px;\n }\n\n .fides-banner-button-group {\n flex-direction: column;\n width: 100%;\n }\n\n button.fides-banner-button {\n margin: 0px;\n width: 100%;\n }\n\n div#fides-banner-inner-container {\n display: flex;\n flex-direction: column;\n max-height: 50vh;\n overflow-y: auto;\n scrollbar-gutter: stable;\n }\n\n div#fides-privacy-policy-link {\n order: 1;\n width: 100%;\n }\n .fides-modal-footer {\n max-width: 100%;\n }\n .fides-banner-secondary-actions {\n flex-direction: column-reverse;\n gap: 12px;\n }\n "}):(0,t.jsx)("style",{children:"\n div#fides-banner {\n width: 60%;\n }\n @media (min-width: 768px) {\n div#fides-banner {\n width: 100%;\n }\n }\n @media (min-width: 1155px) {\n div#fides-banner {\n width: 90%;\n }\n }\n @media (min-width: 1440px) {\n div#fides-banner {\n width: 60%;\n }\n }\n "}),(0,t.jsx)(w(),{id:"fides-js-script",src:"/lib/fides-preview.js",onReady:()=>{b(!0)}}),(0,t.jsx)("div",{id:C.Vk,className:x().dynamic([["4b2ec2183c5a567e",[C.Vk,v.component!==V.re.TCF_OVERLAY?"padding-bottom: 45px;":""]]])},v.component)]}):(0,t.jsx)(N,{title:"No privacy notices added",description:'To view a preview of this experience, add a privacy notice under "Privacy Notices" to the left.'}):(0,t.jsx)(N,{title:"".concat(Z.J.get(v.component)," preview not available"),description:"There is no preview available for ".concat(Z.J.get(v.component),". You can edit the available settings\n and languages to the left.")}):(0,t.jsx)(N,{title:"No privacy experience type selected",description:"Please select a privacy experience type to preview."})},D=i(94315),M=i(5331),R=i(16277),F=i(71922),H=i(31883);let S=e=>{let n=(0,f.y3)(e),i={};return Object.entries(n).forEach(e=>{let[n,t]=e;if(t.included){let e=b[n];i[n]=t.required?e.validation.required().label(e.label):e.validation.nullable().label(e.label)}}),s.Ry().shape(i)},B=e=>{let{componentType:n}=e;return S(n)},I=s.Ry().shape({name:s.Z_().required().label("Experience name"),component:s.Z_().required().label("Experience type"),translations:s.IX().when("component",(e,n)=>{let[i]=e;return n.of(B({componentType:i}))})});var U=e=>{var n;let{passedInExperience:i,passedInTranslations:s}=e,[b]=(0,D.mJ)(),[y]=(0,D.$d)(),x=(0,o.pmc)(),[h,w]=(0,r.useState)(!1),C=(0,l.useRouter)(),{data:j}=(0,_.tB)({api_set:!1}),V=null==j?void 0:null===(n=j.plus_consent_settings)||void 0===n?void 0:n.enable_translations,k=(0,d.C)(g.Zp),A=(0,d.C)(g.G1);(0,g.Ah)({page:k,size:A});let O=(0,d.C)(g.fJ),E=(0,d.C)(F.sX),T=i?{...f.DD,...(0,f.Uv)(i)}:f.DD,L=async e=>{var n,t;let o;e.privacy_notice_ids=null===(n=e.privacy_notice_ids)||void 0===n?void 0:n.filter(e=>"tcf_purposes_placeholder"!==e),T.tcf_configuration_id&&!e.tcf_configuration_id&&(e.tcf_configuration_id=null);let a={...e,disabled:null===(t=null==i?void 0:i.disabled)||void 0===t||t,allow_language_selection:e.translations&&e.translations.length>1};if(i){let{component:e,...n}=a;o=await y({...n,id:i.id})}else o=await b(a);(0,H.D4)(o)?x((0,m.Vo)((0,c.e$)(o.error))):(x((0,m.t5)("Privacy experience successfully ".concat(i?"updated":"created"))),C.push(v.w0))},[Z,N]=(0,r.useState)(void 0),[S,B]=(0,r.useState)(!1);return(0,t.jsx)(a.J9,{initialValues:T,enableReinitialize:!0,onSubmit:L,validationSchema:I,children:(0,t.jsx)(a.l0,{style:{height:"100vh"},children:(0,t.jsxs)(o.jqI,{className:"size-full","data-testid":"privacy-experience-detail-page",children:[Z?(0,t.jsx)(R.Z,{translation:Z,translationsEnabled:V,isOOB:S,onReturnToMainForm:()=>{N(void 0),B(!1)}}):(0,t.jsx)(M.d0,{allPrivacyNotices:E,translationsEnabled:V,onSelectTranslation:e=>{N({...e,name:(0,f.Go)(e,O)})},onCreateTranslation:e=>{let n=null==s?void 0:s.find(n=>n.language===e);return n&&B(!0),null!=n?n:{language:e,is_default:!1}}}),(0,t.jsxs)(o.jqI,{vertical:!0,className:"w-full overflow-y-hidden",style:{backgroundColor:o.rSc.colors.gray[50]},children:[(0,t.jsxs)(o.jqI,{className:"flex-row items-center p-4",style:{backgroundColor:o.rSc.colors.white,borderBottom:"1px solid ".concat(o.rSc.colors.gray[100])},children:[(0,t.jsx)(o.xvT,{fontSize:"md",fontWeight:"semibold",children:"PREVIEW"}),(0,t.jsx)(o.LZC,{}),(0,t.jsxs)(o.y02.Group,{onChange:e=>w(e.target.value),defaultValue:!1,children:[(0,t.jsx)(o.y02.Button,{value:!0,title:"View mobile preview",children:(0,t.jsx)(u,{})}),(0,t.jsx)(o.y02.Button,{value:!1,title:"View desktop preview",children:(0,t.jsx)(p,{})})]})]}),(0,t.jsx)(P,{allPrivacyNotices:E,initialValues:T,translation:Z,isMobilePreview:h})]})]})})})}},32222:function(e,n,i){i.d(n,{J:function(){return t}});let t=new Map([["overlay","Overlay"],["privacy_center","Privacy center"],["tcf_overlay","TCF overlay"],["modal","Modal"],["banner_and_modal","Banner and modal"],["headless","Headless"]])},31883:function(e,n,i){i.d(n,{Bw:function(){return t.Bw},D4:function(){return t.D4}});var t=i(19043)}}]);
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1904],{11904:function(e,s,a){a.d(s,{Z:function(){return O}});var i,t,l=a(24246),r=a(59003),n=a(92222),o=a(4454),d=a(86677),c=a(27378),u=a(14481),g=a(45896),x=a(70675),I=a(72625),j=a(79947),m=a(50169),h=a(28278),C=a(74241),L=a(61317),f=a(91761),p=a(61099),S=a(87667),v=e=>{let{resourceType:s}=e,a=(0,n.Cl)();return s===L.D$.SCHEMA?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,l.jsx)(S.Z,{result:e.row.original,changeTypeOverride:h.E.CLASSIFICATION}),header:e=>(0,l.jsx)(u.Rr,{value:"Name",...e}),size:300}),a.accessor(e=>e.urn,{id:"project",cell:e=>(0,l.jsx)(u.G3,{value:(0,C.Z)(e.getValue())}),header:e=>(0,l.jsx)(u.Rr,{value:"Project",...e})}),a.display({id:"status",cell:e=>(0,l.jsx)(m.Z,{result:e.row.original}),header:e=>(0,l.jsx)(u.Rr,{value:"Status",...e})}),a.accessor(e=>e.system,{id:"system",cell:e=>(0,l.jsx)(u.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(u.Rr,{value:"System",...e})}),a.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,l.jsx)(u.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(u.Rr,{value:"Detected by",...e})}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,l.jsx)(I.Cy,{time:e.getValue()}),header:e=>(0,l.jsx)(u.Rr,{value:"When",...e})}),a.display({id:"action",cell:e=>e.row.original.diff_status!==L.LL.MUTED?(0,l.jsx)(f.Z,{resource:e.row.original}):(0,l.jsx)(u.G3,{value:"--"}),header:"Actions",size:235,meta:{disableRowClick:!0}})]}:s===L.D$.TABLE?{columns:[a.display({id:"select",cell:e=>{var s;let{row:a}=e;return(0,l.jsx)(I.k,{isChecked:a.getIsSelected(),onChange:a.getToggleSelectedHandler(),dataTestId:"select-".concat(null!==(s=a.original.name)&&void 0!==s?s:a.id)})},header:e=>{let{table:s}=e;return(0,l.jsx)(I.k,{isChecked:s.getIsAllPageRowsSelected(),isIndeterminate:s.getIsSomeRowsSelected(),onChange:s.getToggleAllRowsSelectedHandler(),dataTestId:"select-all-rows"})},maxSize:40}),a.accessor(e=>e.name,{id:"tables",cell:e=>(0,l.jsx)(S.Z,{result:e.row.original}),header:e=>(0,l.jsx)(u.Rr,{value:"Table name",...e}),size:300}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,l.jsx)(u.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,l.jsx)(u.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,l.jsx)(m.Z,{result:e.row.original}),header:e=>(0,l.jsx)(u.Rr,{value:"Status",...e})}),a.display({id:"type",cell:()=>(0,l.jsx)(u.G3,{value:"Table"}),header:"Type"}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,l.jsx)(I.Cy,{time:e.getValue()}),header:"Time"}),a.display({id:"actions",cell:e=>(0,l.jsx)(f.Z,{resource:e.row.original}),header:"Actions",size:235,meta:{disableRowClick:!0}})]}:s===L.D$.FIELD?{columns:[a.accessor(e=>e.name,{id:"name",cell:e=>(0,l.jsx)(S.Z,{result:e.row.original}),header:e=>(0,l.jsx)(u.Rr,{value:"Field name",...e}),size:300}),a.accessor(e=>e.source_data_type,{id:"data-type",cell:e=>(0,l.jsx)(j.Z,{type:e.getValue()}),header:e=>(0,l.jsx)(u.Rr,{value:"Data type",...e})}),a.accessor(e=>e.description,{id:"description",cell:e=>(0,l.jsx)(u.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,l.jsx)(u.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),a.display({id:"status",cell:e=>(0,l.jsx)(m.Z,{result:e.row.original}),header:e=>(0,l.jsx)(u.Rr,{value:"Status",...e})}),a.display({id:"type",cell:()=>(0,l.jsx)(u.G3,{value:"Field"}),header:"Type"}),a.display({id:"classifications",cell:e=>{let{row:s}=e;return(0,l.jsx)(p.Z,{resource:s.original})},meta:{overflow:"visible",disableRowClick:!0},header:"Data category",minSize:280}),a.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,l.jsx)(I.Cy,{time:e.getValue()}),header:e=>(0,l.jsx)(u.Rr,{value:"When",...e})}),a.display({id:"actions",cell:e=>(0,l.jsx)(f.Z,{resource:e.row.original}),header:"Actions",size:235,meta:{disableRowClick:!0}})]}:{columns:[]}};(i=t||(t={}))[i.ACTION_REQUIRED=0]="ACTION_REQUIRED",i[i.UNMONITORED=1]="UNMONITORED";var _=e=>{let{initialFilterTabIndex:s=0}=e,[a,i]=(0,c.useState)(s),t=(0,c.useMemo)(()=>[{label:"Action Required",filters:[L.LL.CLASSIFICATION_ADDITION,L.LL.CLASSIFICATION_UPDATE],childFilters:[L.LL.CLASSIFICATION_ADDITION,L.LL.CLASSIFICATION_UPDATE]},{label:"In progress",filters:[L.LL.CLASSIFYING,L.LL.CLASSIFICATION_QUEUED],childFilters:[L.LL.CLASSIFYING,L.LL.CLASSIFICATION_QUEUED]},{label:"Unmonitored",filters:[L.LL.MUTED],childFilters:[]}],[]);return{filterTabs:t,filterTabIndex:a,setFilterTabIndex:i,activeDiffFilters:t[a].filters,activeChildDiffFilters:t[a].childFilters}},T=a(47182),y=a(38347),A=a(79494),D=e=>{let{resourceUrn:s}=e,[a,{isLoading:i}]=(0,x.Hf)(),[t,{isLoading:r}]=(0,x.zV)(),n=i||r,d=async e=>{await t({staged_resource_urns:e})},c=async e=>{await a({staged_resource_urns:e})};return(0,l.jsx)(o.jqI,{"data-testid":"bulk-actions-menu",children:(0,l.jsxs)("div",{className:"flex gap-2",children:[(0,l.jsx)(A.Z,{title:"Confirm all",icon:(0,l.jsx)(o.nQG,{}),onClick:()=>c([s]),disabled:n,loading:i,type:"primary",size:"middle"}),(0,l.jsx)(A.Z,{title:"Ignore all",icon:(0,l.jsx)(o.tpL,{}),onClick:()=>d([s]),disabled:n,loading:r,size:"middle"})]})})},R=e=>{let{selectedUrns:s}=e,[a,{isLoading:i}]=(0,x.Hf)(),[t,{isLoading:r}]=(0,x.zV)(),n=i||r,d=async e=>{await a({staged_resource_urns:e})},c=async e=>{await t({staged_resource_urns:e})};return s.length?(0,l.jsxs)(o.jqI,{className:"items-center","data-testid":"bulk-actions-menu",children:[(0,l.jsx)(o.xvT,{fontSize:"xs",fontWeight:"semibold",minW:16,mr:4,children:"".concat(s.length," selected")}),(0,l.jsxs)(o.jqI,{className:"gap-2",children:[(0,l.jsx)(A.Z,{title:"Confirm",icon:(0,l.jsx)(o.nQG,{}),onClick:()=>d(s),disabled:n,loading:i,type:"primary",size:"middle"}),(0,l.jsx)(A.Z,{title:"Ignore",icon:(0,l.jsx)(o.tpL,{}),disabled:n,loading:r,onClick:()=>c(s),size:"middle"})]})]}):null},b=a(7940),w=a(80285),N=a(36168),F=a(30952);let E={items:[],total:0,page:1,size:50,pages:1},k=()=>(0,l.jsx)(o.gCW,{mt:6,p:10,spacing:4,borderRadius:"base",maxW:"70%","data-testid":"empty-state",alignSelf:"center",margin:"auto",children:(0,l.jsxs)(o.gCW,{children:[(0,l.jsx)(o.xvT,{fontSize:"md",fontWeight:"600",children:"No activity found"}),(0,l.jsx)(o.xvT,{fontSize:"sm",children:"You're up to date!"})]})});var O=e=>{var s,a;let{resourceUrn:i}=e,I=(0,d.useRouter)(),[j,m]=(0,c.useState)(""),{filterTabs:h,setFilterTabIndex:C,filterTabIndex:f,activeDiffFilters:p,activeChildDiffFilters:S}=_({initialFilterTabIndex:(null===(s=I.query)||void 0===s?void 0:s.filterTabIndex)?Number(null===(a=I.query)||void 0===a?void 0:a.filterTabIndex):void 0}),[A,O]=(0,c.useState)({}),{PAGE_SIZES:Z,pageSize:z,setPageSize:U,onPreviousPageClick:P,isPreviousPageDisabled:G,onNextPageClick:M,isNextPageDisabled:V,startRange:$,endRange:q,pageIndex:Q,setTotalPages:H,resetPageIndexToDefault:W}=(0,u.oi)();(0,c.useEffect)(()=>{W()},[i,j,W,p,S]);let{isFetching:Y,isLoading:B,data:K}=(0,x.z8)({staged_resource_urn:i,page:Q,size:z,child_diff_status:S,diff_status:p,search:j}),X=(0,b.G)(null==K?void 0:K.items[0]),{items:J,total:ee,pages:es}=(0,c.useMemo)(()=>null!=K?K:E,[K]);(0,c.useEffect)(()=>{H(es)},[es,H]);let{columns:ea}=v({resourceType:X}),ei=(0,c.useMemo)(()=>ea,[ea]),{navigateToDiscoveryResults:et}=(0,T.Z)(),el=(0,r.b7)({getCoreRowModel:(0,n.sC)(),getGroupedRowModel:(0,n.qe)(),getExpandedRowModel:(0,n.rV)(),columns:ei,manualPagination:!0,onRowSelectionChange:O,state:{rowSelection:A},getRowId:w.Z,data:J,columnResizeMode:"onChange"}),er=Object.keys(A).filter(e=>A[e]);return B?(0,l.jsx)(u.I4,{rowHeight:36,numRows:36}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(g.Z,{filterTabs:h,filterTabIndex:f,onChange:C}),(0,l.jsxs)(u.Q$,{children:[(0,l.jsxs)(o.kCb,{gap:6,align:"center",children:[(0,l.jsx)(o.xuv,{flexShrink:0,children:(0,l.jsx)(F.f,{value:j,onChange:m})}),(0,l.jsx)(y.Z,{})]}),X===L.D$.TABLE&&!!er.length&&(0,l.jsx)(R,{selectedUrns:er}),X===L.D$.FIELD&&f!==t.UNMONITORED&&(0,l.jsx)(D,{resourceUrn:i})]}),(0,l.jsx)(u.ZK,{tableInstance:el,onRowClick:e=>et({resourceUrn:e.urn,filterTabIndex:f}),getRowIsClickable:e=>X!==L.D$.FIELD||(0,N.Z)(e),emptyTableNotice:(0,l.jsx)(k,{})}),(0,l.jsx)(u.s8,{totalRows:ee||0,pageSizes:Z,setPageSize:U,onPreviousPageClick:P,isPreviousPageDisabled:G||Y,onNextPageClick:M,isNextPageDisabled:V||Y,startRange:$,endRange:q})]})}},91761:function(e,s,a){var i=a(24246),t=a(4454),l=a(812),r=a(14047),n=a(7940),o=a(98559),d=a(61317),c=a(79494),u=a(70675);s.Z=e=>{let{resource:s}=e,[a,{isLoading:g}]=(0,u.v8)(),[x,{isLoading:I}]=(0,u.cM)(),[j,{isLoading:m}]=(0,u.vi)(),h=I||m||g,{diff_status:C,child_diff_statuses:L,top_level_field_name:f}=s,{successAlert:p,errorAlert:S}=(0,r.V)(),v=C===d.LL.CLASSIFICATION_ADDITION||C===d.LL.CLASSIFICATION_UPDATE,_=L&&(L[d.LL.CLASSIFICATION_ADDITION]||L[d.LL.CLASSIFICATION_UPDATE]),T=(v||_)&&!f,y=v||_,A=(0,n.G)(s)!==d.D$.FIELD,D=T&&y&&A,R=async()=>{let e=await x({staged_resource_urn:s.urn});(0,l.D4)(e)?S((0,l.e$)(e.error),"Failed to promote resource"):p('These changes have been added to a Fides dataset. To view, navigate to "Manage datasets".',"Table changes confirmed")},b=async()=>{let e=await j({staged_resource_urn:s.urn});(0,l.D4)(e)?S((0,l.e$)(e.error),"Failed to mute resource"):p("Ignored changes will not be added to a Fides dataset.","".concat(s.name||"Changes"," ignored"))},w=async()=>{let e=await a({staged_resource_urn:s.urn,monitor_config_id:s.monitor_config_id,start_classification:!0,diff_statuses_to_classify:[d.LL.CLASSIFICATION_ADDITION,d.LL.CLASSIFICATION_UPDATE,d.LL.CLASSIFYING,d.LL.CLASSIFICATION_QUEUED]});(0,l.D4)(e)?S((0,l.e$)(e.error),"Failed to reclassify resource"):p("Reclassification of ".concat((0,o.Z)(s)||"the resource"," has begun. The results may take some time to appear in the “Data discovery“ tab."),"Reclassification started")};return(0,i.jsxs)(t.Ugi,{gap:2,children:[T&&(0,i.jsx)(c.Z,{title:"Confirm",icon:(0,i.jsx)(t.nQG,{}),onClick:R,disabled:h,loading:I}),y&&(0,i.jsx)(c.Z,{title:"Ignore",icon:(0,i.jsx)(t.tpL,{}),onClick:b,disabled:h,loading:m}),A&&!D&&(0,i.jsx)(c.Z,{title:"Reclassify",icon:(0,i.jsx)(t.nyI,{}),onClick:w,disabled:h,loading:g}),D&&(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.LZC,{}),(0,i.jsxs)(t.v2r,{children:[(0,i.jsx)(t.j2t,{as:t.wpx,size:"small",type:"text",icon:(0,i.jsx)(t.nXP,{transform:"rotate(90deg)"}),className:"w-6 gap-0","data-testid":"actions-overflow-btn"}),(0,i.jsx)(t.qyq,{children:(0,i.jsx)(t.sNh,{onClick:w,icon:(0,i.jsx)(t.nyI,{}),"data-testid":"action-reclassify",children:"Reclassify"})})]})]})]})}}}]);
|
@@ -0,0 +1 @@
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2310],{74833:function(t,e,i){var n=i(56127),r=/^\s+/;t.exports=function(t){return t?t.slice(0,n(t)+1).replace(r,""):t}},56127:function(t){var e=/\s/;t.exports=function(t){for(var i=t.length;i--&&e.test(t.charAt(i)););return i}},66726:function(t,e,i){var n=i(11611),r=i(82846),s=i(91936),l=Math.max,o=Math.min;t.exports=function(t,e,i){var a,u,c,d,f,p,v=0,h=!1,x=!1,m=!0;if("function"!=typeof t)throw TypeError("Expected a function");function g(e){var i=a,n=u;return a=u=void 0,v=e,d=t.apply(n,i)}function j(t){var i=t-p,n=t-v;return void 0===p||i>=e||i<0||x&&n>=c}function b(){var t,i,n,s=r();if(j(s))return y(s);f=setTimeout(b,(t=s-p,i=s-v,n=e-t,x?o(n,c-i):n))}function y(t){return(f=void 0,m&&a)?g(t):(a=u=void 0,d)}function C(){var t,i=r(),n=j(i);if(a=arguments,u=this,p=i,n){if(void 0===f)return v=t=p,f=setTimeout(b,e),h?g(t):d;if(x)return clearTimeout(f),f=setTimeout(b,e),g(p)}return void 0===f&&(f=setTimeout(b,e)),d}return e=s(e)||0,n(i)&&(h=!!i.leading,c=(x="maxWait"in i)?l(s(i.maxWait)||0,e):c,m="trailing"in i?!!i.trailing:m),C.cancel=function(){void 0!==f&&clearTimeout(f),v=0,a=p=u=f=void 0},C.flush=function(){return void 0===f?d:y(r())},C}},82846:function(t,e,i){var n=i(77400);t.exports=function(){return n.Date.now()}},91936:function(t,e,i){var n=i(74833),r=i(11611),s=i(55193),l=0/0,o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,u=/^0o[0-7]+$/i,c=parseInt;t.exports=function(t){if("number"==typeof t)return t;if(s(t))return l;if(r(t)){var e="function"==typeof t.valueOf?t.valueOf():t;t=r(e)?e+"":e}if("string"!=typeof t)return 0===t?t:+t;t=n(t);var i=a.test(t);return i||u.test(t)?c(t.slice(2),i?2:8):o.test(t)?l:+t}},30952:function(t,e,i){"use strict";i.d(e,{f:function(){return a}});var n=i(24246),r=i(66726),s=i.n(r),l=i(27378),o=i(26917);let a=t=>{let{value:e,onChange:i,placeholder:r,...a}=t,[u,c]=(0,l.useState)(e),d=s()(i,500),f=(0,l.useCallback)(t=>{c(t),d(t)},[]);return(0,n.jsx)(o.Z,{value:u,onChange:f,onClear:()=>{c(""),i("")},placeholder:r,...a})}},58754:function(t,e,i){"use strict";var n=i(24246),r=i(4454),s=i(70788);e.Z=t=>{let{heading:e,breadcrumbItems:i,isSticky:l=!0,children:o,rightContent:a,style:u,...c}=t;return(0,n.jsxs)("div",{...c,style:l?{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,n.jsxs)(r.jqI,{justify:"space-between",children:["string"==typeof e?(0,n.jsx)(r.lQT,{className:i||o?"pb-4":void 0,level:1,"data-testid":"page-heading",children:e}):e,a&&(0,n.jsx)("div",{"data-testid":"page-header-right-content",children:a})]}),!!i&&(0,n.jsx)(s.m,{className:o?"pb-4":void 0,items:i,"data-testid":"page-breadcrumb"}),o]})}},14047:function(t,e,i){"use strict";i.d(e,{H:function(){return s},V:function(){return n.V}});var n=i(84306),r=i(812);let s=()=>{let{errorAlert:t}=(0,n.V)();return{handleError:e=>{let i="An unexpected error occurred. Please try again.";(0,r.Ot)(e)?i=e.data.detail:(0,r.tB)(e)&&(i=e.data.detail[0].msg),t(i)}}}},84306:function(t,e,i){"use strict";i.d(e,{V:function(){return s}});var n=i(24246),r=i(4454);let s=()=>{let t=(0,r.pmc)();return{errorAlert:(e,i,s)=>{let l={...s,position:(null==s?void 0:s.position)||"top",render:t=>{let{onClose:s}=t;return(0,n.jsxs)(r.bZj,{alignItems:"normal",status:"error","data-testid":"error-alert",children:[(0,n.jsx)(r.zMQ,{}),(0,n.jsxs)(r.xuv,{children:[i&&(0,n.jsx)(r.CdC,{children:i}),(0,n.jsx)(r.XaZ,{children:e})]}),(0,n.jsx)(r.PZ7,{onClick:s,position:"relative",right:0,size:"sm",top:-1})]})}};(null==s?void 0:s.id)&&t.isActive(s.id)?t.update(s.id,l):t(l)},successAlert:(e,i,s)=>{let l={...s,position:(null==s?void 0:s.position)||"top",render:t=>{let{onClose:s}=t;return(0,n.jsxs)(r.bZj,{alignItems:"normal",status:"success",variant:"subtle","data-testid":"success-alert",children:[(0,n.jsx)(r.zMQ,{}),(0,n.jsxs)(r.xuv,{children:[i&&(0,n.jsx)(r.CdC,{children:i}),(0,n.jsx)(r.XaZ,{children:e})]}),(0,n.jsx)(r.PZ7,{onClick:s,position:"relative",right:0,size:"sm",top:-1})]})}};(null==s?void 0:s.id)&&t.isActive(s.id)?t.update(s.id,l):t(l)}}}},70788:function(t,e,i){"use strict";i.d(e,{m:function(){return u}});var n=i(24246),r=i(4454),s=i(79894),l=i.n(s),o=i(27378);let{Text:a}=r.AntTypography,u=t=>{let{items:e,...i}=t,s=(0,o.useMemo)(()=>null==e?void 0:e.map((t,i)=>{let s=i===e.length-1,o={...t},u=o.onClick&&!o.href;return("string"==typeof o.title&&(o.title=(0,n.jsx)(a,{style:{color:"inherit",maxWidth:s?void 0:400},ellipsis:!s,children:o.title})),u)?o.title=(0,n.jsx)(r.wpx,{type:"text",size:"small",icon:o.icon,onClick:o.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:o.title}):(o.icon&&(o.title=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"anticon align-text-bottom",children:o.icon}),o.title]})),o.href&&o.title&&(o.title=(0,n.jsx)(l(),{href:o.href,className:"ant-breadcrumb-link",children:o.title}),delete o.href)),o}),[e]);return(0,n.jsx)(r.zrq,{items:s,...i})}},79947:function(t,e,i){"use strict";var n=i(24246),r=i(4454);e.Z=t=>{let{type:e}=t;return(0,n.jsx)(r.kCb,{align:"center",h:"full",children:!!e&&(0,n.jsx)(r.j8w,{children:e})})}},7940:function(t,e,i){"use strict";i.d(e,{G:function(){return r}});var n=i(61317);let r=t=>{var e,i,r;return t?t.resource_type?t.resource_type:(null===(e=t.schemas)||void 0===e?void 0:e.length)?n.D$.DATABASE:(null===(i=t.tables)||void 0===i?void 0:i.length)?n.D$.SCHEMA:(null===(r=t.fields)||void 0===r?void 0:r.length)?n.D$.TABLE:n.D$.FIELD:void 0}},98559:function(t,e){"use strict";e.Z=t=>{let{name:e,urn:i,monitor_config_id:n,database_name:r,schema_name:s,table_name:l,top_level_field_name:o,top_level_field_urn:a}=t;if(!o)return e;let u=i.split(".");return a?i.replace("".concat(a).concat("."),""):([n,r,s,l,o].forEach(t=>{if(t){let e=u.indexOf(t);e>-1&&u.splice(e,1)}}),u.join("."))}},36168:function(t,e){"use strict";e.Z=t=>{var e;return!!t.parent_table_urn&&null!==(e=t.sub_field_urns)&&void 0!==e&&!!e.length&&!t.top_level_field_name}},80356:function(t,e,i){"use strict";var n=i(7940),r=i(36168),s=i(61317);e.Z=t=>(0,n.G)(t)!==s.D$.FIELD||(0,r.Z)(t)}}]);
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2921],{95813:function(e,l,r){r.d(l,{S:function(){return t}});let t={input:"default text",radio:"2",checkbox:!0,switch:!0,select:"2",multiselect:["2"],tags:["1"],date:"",number:12}},12921:function(e,l,r){r.r(l),r.d(l,{FormikSpreadFieldPOC:function(){return u}});var t=r(24246),n=r(4454),i=r(3124),s=r.n(i),d=r(34090),c=r(95813);let{Text:o,Title:a}=n.AntTypography,u=()=>(0,t.jsx)(d.J9,{initialValues:{...c.S},onSubmit:console.log,children:e=>{let{values:l}=e;return(0,t.jsxs)(n.bue,{children:[(0,t.jsxs)(n.JGx,{span:12,children:[(0,t.jsx)(a,{level:2,children:"<Formik> + <Form> + {...field}"}),(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)(n.j8w,{color:"red",children:"non functional"}),(0,t.jsx)(n.j8w,{color:"red",children:"high effort"})]}),(0,t.jsx)(d.l0,{children:(0,t.jsxs)(n.jqI,{vertical:!0,gap:16,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"input",children:"Input"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"input",children:e=>{let{field:l}=e;return(0,t.jsx)(n.uFc,{...l,id:"input",type:"text"})}})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"radio",children:e=>{let{field:l}=e;return(0,t.jsxs)(n.y02.Group,{...l,children:[(0,t.jsx)(n.y02,{value:"1",children:"Radio 1"}),(0,t.jsx)(n.y02,{value:"2",children:"Radio 2"})]})}})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.gN,{name:"checkbox",children:e=>{let{field:r}=e;return(0,t.jsx)(n.E_O,{...r,defaultChecked:l.checkbox,children:"Checkbox"})}}),(0,t.jsx)(o,{type:"warning",children:"Requires additional logic to handle default state"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"switch",children:"Switch"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"switch",children:e=>{let{field:l}=e;return(0,t.jsx)(n.rAg,{id:"switch",...l})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Switch's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"select",children:"Select"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"select",children:e=>{let{field:r}=e;return(0,t.jsx)(n.WPr,{allowClear:!0,id:"select",className:"w-full",defaultValue:l.select,status:"error",...r,options:[{value:"1",label:"Option 1"},{value:"2",label:"Option 2"}]})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Select's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"multiselect",children:"Multiselect"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"multiselect",children:e=>{let{field:r}=e;return(0,t.jsx)(n.WPr,{mode:"multiple",allowClear:!0,id:"multiselect",className:"w-full",defaultValue:l.multiselect,status:"error",...r,options:[{value:"1",label:"Option 1"},{value:"2",label:"Option 2"}]})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Select's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"tags",children:"Tags"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"tags",children:e=>{let{field:r}=e;return(0,t.jsx)(n.WPr,{mode:"tags",allowClear:!0,id:"tags",className:"w-full",defaultValue:l.tags,status:"error",...r,options:[{value:"1",label:"Option 1"},{value:"2",label:"Option 2"}]})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Select's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"date",children:"Date"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"date",children:e=>{let{field:l}=e;return(0,t.jsx)(n.cv2,{id:"date",status:"error",...l})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant DatePicker's onChange is different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"number",children:"Number"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"number",children:e=>{let{field:r}=e;return(0,t.jsx)(n.W7D,{id:"number",defaultValue:l.number,status:"error",...r})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant InputNumber's onChange is different from Formik, requires to be fully controlled."})]})]})})]}),(0,t.jsxs)(n.JGx,{span:8,offset:4,children:[(0,t.jsx)(a,{level:4,children:"Controlled Values"}),(0,t.jsx)(n.V4A,{style:{backgroundColor:s().FIDESUI_MINOS,color:s().FIDESUI_CORINTH},children:(0,t.jsx)("pre",{children:(0,t.jsxs)("code",{children:["{\n",Object.keys(l).map(e=>" ".concat(e,": ").concat(l[e],"\n")),"}"]})})})]})]})}});l.default=u}}]);
|
@@ -0,0 +1 @@
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3119],{18225:function(e,t,i){var r=i(24246),s=i(4454);t.Z=e=>{let{alignment:t="center",...i}=e;return(0,r.jsx)(s.kCb,{boxSize:"full",align:"center",justify:t,children:(0,r.jsx)(s.$jN,{color:"primary",...i})})}},77213:function(e,t,i){i.d(t,{Z:function(){return f}});var r=i(24246),s=i(4454),n=i(88038),a=i.n(n),l=i(86677);i(27378);var o=i(25980),c=i(90867),d=i(77830),u=()=>{let e=(0,l.useRouter)();return(0,r.jsx)(s.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,r.jsxs)(s.xuv,{children:[(0,r.jsxs)(s.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,r.jsx)(s.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,r.jsx)(s.wpx,{onClick:()=>{e.push(d.fz)},children:"Configure"})]}),(0,r.jsxs)(s.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},f=e=>{let{children:t,title:i,padded:n=!0,mainProps:d}=e,f=(0,o.hz)(),x=(0,l.useRouter)(),h="/privacy-requests"===x.pathname||"/datastore-connection"===x.pathname,p=!(f.flags.privacyRequestsConfiguration&&h),{data:j}=(0,c.JE)(void 0,{skip:p}),{data:g}=(0,c.PW)(void 0,{skip:p}),m=f.flags.privacyRequestsConfiguration&&(!j||!g)&&h;return(0,r.jsxs)(s.kCb,{"data-testid":i,direction:"column",h:"100vh",children:[(0,r.jsxs)(a(),{children:[(0,r.jsxs)("title",{children:["Fides Admin UI - ",i]}),(0,r.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,r.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,r.jsxs)(s.kCb,{as:"main",direction:"column",py:n?6:0,px:n?10:0,h:n?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...d,children:[m?(0,r.jsx)(u,{}):null,t]})]})}},79789:function(e,t,i){i.d(t,{Hn:function(){return l},XU:function(){return a},Z5:function(){return o},aG:function(){return u},cB:function(){return n},hX:function(){return d},vQ:function(){return c}});var r=i(24246),s=i(4454);let n=e=>{let{text:t,...i}=e;return(0,r.jsx)(s.X6q,{fontSize:"sm",mt:4,mb:1,...i,children:t})},a=e=>{let{children:t}=e;return(0,r.jsx)(s.xvT,{fontSize:"14px",mb:4,children:t})},l=e=>{let{children:t,href:i}=e;return(0,r.jsx)(s.rUS,{href:i,textDecoration:"underline",isExternal:!0,children:t})},o=e=>{let{children:t}=e;return(0,r.jsx)(s.QI$,{fontSize:"14px",mb:4,children:t})},c=e=>{let{children:t}=e;return(0,r.jsx)(s.GSI,{fontSize:"14px",mb:4,ml:6,children:t})},d=e=>{let{children:t}=e;return(0,r.jsx)(s.EKh,{display:"block",whiteSpace:"pre",p:4,mb:4,overflowX:"scroll",children:t})},u=e=>{let{data:t}=e;return(0,r.jsxs)(s.iA_,{fontSize:"14px",children:[(0,r.jsx)(s.hrZ,{children:(0,r.jsxs)(s.Tr,{children:[(0,r.jsx)(s.Th,{children:"Permission"}),(0,r.jsx)(s.Th,{children:"Description"})]})}),(0,r.jsx)(s.p3B,{children:t.map(e=>(0,r.jsxs)(s.Tr,{children:[(0,r.jsx)(s.Td,{children:(0,r.jsx)(s.Vp9,{children:e.permission})}),(0,r.jsx)(s.Td,{children:e.description})]},e.permission))})]})}},89200:function(e,t,i){var r=i(24246),s=i(14481),n=i(98559),a=i(80356);t.Z=e=>{let{resource:t}=e;return(0,r.jsx)(s.G3,{value:(0,n.Z)(t),fontWeight:(0,a.Z)(t)?"semibold":"normal"})}},5945:function(e,t,i){var r=i(24246),s=i(14481),n=i(8151);let a={[n.e.ATTENTION_REQUIRED]:"error",[n.e.APPROVED]:"success",[n.e.IN_REVIEW]:"warning",[n.e.CLASSIFYING]:"info",[n.e.NONE]:"marble"};t.Z=e=>{let{status:t}=e;return(0,r.jsx)(s.A4,{color:a[t],value:t})}},81406:function(e,t,i){var r=i(24246),s=i(4454);t.Z=()=>(0,r.jsxs)(s.gCW,{mt:6,p:10,spacing:4,borderRadius:"base",maxW:"70%","data-testid":"empty-state",alignSelf:"center",margin:"auto",children:[(0,r.jsx)(s.xvT,{fontSize:"md",fontWeight:"600",children:"No resources found"}),(0,r.jsx)(s.xvT,{fontSize:"sm",children:"You're up to date!"})]})},99763:function(e,t,i){var r=i(24246),s=i(4454),n=i(79789),a=i(8151),l=i(61099),o=i(7940),c=i(61317);t.Z=e=>{var t;let{resource:i,onClose:d}=e,u=(0,o.G)(i),f=(0,a.u)(i),x=(u===c.D$.FIELD||u===c.D$.TABLE)&&f===a.e.IN_REVIEW;return(0,r.jsxs)(s.dys,{isOpen:!!i,onClose:d,size:"md",children:[(0,r.jsx)(s.P1B,{}),(0,r.jsxs)(s.scA,{"data-testid":"resource-details",children:[(0,r.jsx)(s.OXI,{children:(null==i?void 0:i.name)||(null==i?void 0:i.urn)}),(0,r.jsx)(s.cCv,{}),(0,r.jsxs)(s.Ng0,{children:[(0,r.jsx)(n.cB,{text:"Title",mt:0}),(0,r.jsx)(n.XU,{children:null!==(t=null==i?void 0:i.name)&&void 0!==t?t:null==i?void 0:i.urn}),(null==i?void 0:i.description)&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.cB,{text:"Description"}),(0,r.jsx)(n.XU,{children:null==i?void 0:i.description})]}),x&&(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(n.cB,{text:"Data categories"}),(0,r.jsx)(l.Z,{resource:i})]})]})]})]})}},28976:function(e,t,i){var r=i(24246),s=i(4454);t.Z=e=>{let{onHideClick:t,onDetailClick:i}=e;return(0,r.jsxs)(s.v2r,{children:[(0,r.jsx)(s.j2t,{as:s.wpx,size:"small",type:"text",icon:(0,r.jsx)(s.nXP,{transform:"rotate(90deg)"}),className:"w-6 gap-0","data-testid":"actions-menu"}),(0,r.jsxs)(s.qyq,{children:[i&&(0,r.jsx)(s.sNh,{onClick:i,"data-testid":"view-resource-details",children:"View details"}),t&&(0,r.jsx)(s.sNh,{onClick:t,"data-testid":"hide-resource",children:"Hide"})]})]})}},25077:function(e,t,i){i.d(t,{Z:function(){return T}});var r=i(24246),s=i(59003),n=i(92222),a=i(4454),l=i(27378),o=i(30952),c=i(14481),d=i(81406),u=i(99763),f=i(72625),x=i(14047),h=i(28976),p=i(8151),j=i(70675),g=e=>{let{resource:t,onDetailClick:i}=e,{successAlert:s}=(0,x.V)(),n=(0,p.u)(t),[l,{isLoading:o}]=(0,j.v8)(),[c,{isLoading:d}]=(0,j.cM)(),[u,{isLoading:f}]=(0,j.vi)(),g=async()=>{var e;await l({staged_resource_urn:t.urn,monitor_config_id:t.monitor_config_id,unmute_children:!0,classify_monitored_resources:!0}),s("Started classification on ".concat(null!==(e=t.name)&&void 0!==e?e:"this resource"))},m=async()=>{var e;await c({staged_resource_urn:t.urn}),s("Approved ".concat(null!==(e=t.name)&&void 0!==e?e:" resource"))},I=async()=>{var e;await u({staged_resource_urn:t.urn}),s("Hid ".concat(null!==(e=t.name)&&void 0!==e?e:" resource"))},v=o||d||f;return(0,r.jsxs)(a.kCb,{gap:2,justify:"space-between",children:[n===p.e.ATTENTION_REQUIRED&&(0,r.jsx)(a.wpx,{size:"small",onClick:g,loading:o,disabled:v,"data-testid":"classify-btn",children:"Classify"}),n===p.e.IN_REVIEW&&(0,r.jsx)(a.wpx,{size:"small",onClick:m,loading:d,disabled:v,"data-testid":"approve-btn",children:"Approve"}),(0,r.jsx)(a.LZC,{}),(0,r.jsx)(h.Z,{onHideClick:I,onDetailClick:i})]})},m=i(89200),I=i(5945),v=i(61099),C=i(79947),L=i(61317);let _=(0,n.Cl)();var A=(e,t)=>{let i=[];return e?e===L.D$.TABLE?[_.display({id:"name",cell:e=>{let{row:t}=e;return(0,r.jsx)(m.Z,{resource:t.original})},header:"Table"}),_.display({id:"status",cell:e=>{let{row:t}=e;return(0,r.jsx)(I.Z,{status:(0,p.u)(t.original)})},header:"Status"}),_.display({id:"category",cell:e=>{let{row:t}=e;return(0,r.jsx)(v.Z,{resource:t.original})},header:"Data categories",minSize:280,meta:{disableRowClick:!0}}),_.accessor(e=>e.description,{id:"description",cell:e=>(0,r.jsx)(c.G3,{value:e.getValue()}),header:"Description"}),_.accessor(e=>e.updated_at,{id:"lastUpdated",cell:e=>(0,r.jsx)(f.Cy,{time:e.getValue()}),header:"Updated"}),_.display({id:"actions",cell:e=>{let{row:i}=e;return(0,r.jsx)(g,{resource:i.original,onDetailClick:()=>t(i.original)})},header:"Actions",meta:{disableRowClick:!0}})]:e===L.D$.FIELD?[_.display({id:"name",cell:e=>{let{row:t}=e;return(0,r.jsx)(m.Z,{resource:t.original})},header:"Field"}),_.display({id:"status",cell:e=>{let{row:t}=e;return(0,r.jsx)(I.Z,{status:(0,p.u)(t.original)})},header:"Status"}),_.accessor(e=>e.data_type,{id:"dataType",cell:e=>(0,r.jsx)(C.Z,{type:e.getValue()}),header:"Data type"}),_.display({id:"category",cell:e=>{let{row:t}=e;return(0,r.jsx)(v.Z,{resource:t.original})},header:"Data categories",minSize:280,meta:{disableRowClick:!0}}),_.accessor(e=>e.description,{id:"description",cell:e=>(0,r.jsx)(c.G3,{value:e.getValue()}),header:"Description"}),_.accessor(e=>e.updated_at,{id:"lastUpdated",cell:e=>(0,r.jsx)(f.Cy,{time:e.getValue()}),header:"Updated"}),_.display({id:"actions",cell:e=>{let{row:i}=e;return(0,r.jsx)(g,{resource:i.original,onDetailClick:()=>t(i.original)})},header:"Actions",meta:{disableRowClick:!0}})]:i:i},S=i(7940),N=i(80356);let y=[L.LL.ADDITION,L.LL.CLASSIFYING,L.LL.CLASSIFICATION_ADDITION,L.LL.CLASSIFICATION_QUEUED,L.LL.CLASSIFICATION_UPDATE,L.LL.MONITORED,L.LL.PROMOTING,L.LL.REMOVAL,L.LL.REMOVING],E={items:[],total:0,page:1,size:50,pages:1};var T=e=>{let{resourceUrn:t,onRowClick:i}=e,{PAGE_SIZES:f,pageSize:x,setPageSize:h,onPreviousPageClick:p,isPreviousPageDisabled:g,onNextPageClick:m,isNextPageDisabled:I,startRange:v,endRange:C,pageIndex:L,setTotalPages:_,resetPageIndexToDefault:T}=(0,c.oi)(),[b,D]=(0,l.useState)("");(0,l.useEffect)(()=>{T()},[t,T]);let{isFetching:R,isLoading:w,data:O}=(0,j.z8)({staged_resource_urn:t,page:L,size:x,diff_status:y,search:b}),{items:P,total:k,pages:Z}=(0,l.useMemo)(()=>null!=O?O:E,[O]);(0,l.useEffect)(()=>{_(Z)},[Z,_]);let[z,F]=(0,l.useState)(void 0),U=A((0,S.G)(P[0]),F),V=(0,s.b7)({getCoreRowModel:(0,n.sC)(),getGroupedRowModel:(0,n.qe)(),getExpandedRowModel:(0,n.rV)(),columns:U,manualPagination:!0,data:P,columnResizeMode:"onChange",getRowId:e=>e.urn});return w||R?(0,r.jsx)(c.I4,{rowHeight:36,numRows:36}):(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(c.Q$,{children:(0,r.jsx)(a.kCb,{gap:6,align:"center",children:(0,r.jsx)(a.xuv,{flexShrink:0,children:(0,r.jsx)(o.f,{value:b,onChange:D})})})}),(0,r.jsx)(c.ZK,{tableInstance:V,emptyTableNotice:(0,r.jsx)(d.Z,{}),getRowIsClickable:e=>(0,N.Z)(e),onRowClick:i}),(0,r.jsx)(c.s8,{totalRows:k||0,pageSizes:f,setPageSize:h,onPreviousPageClick:p,isPreviousPageDisabled:g,onNextPageClick:m,isNextPageDisabled:I,startRange:v,endRange:C}),(0,r.jsx)(u.Z,{resource:z,onClose:()=>F(void 0)})]})}},8151:function(e,t,i){i.d(t,{e:function(){return s},u:function(){return a}});var r,s,n=i(61317);(r=s||(s={})).ATTENTION_REQUIRED="Attention required",r.IN_REVIEW="In review",r.APPROVED="Approved",r.CLASSIFYING="Classifying",r.NONE="None";let a=e=>{if(!e)return"Approved";let t=e.diff_status===n.LL.ADDITION||e.diff_status===n.LL.REMOVAL,i=e.child_diff_statuses&&(e.child_diff_statuses[n.LL.ADDITION]||e.child_diff_statuses[n.LL.REMOVAL]);if(t||i)return"Attention required";let r=e.diff_status===n.LL.CLASSIFICATION_QUEUED||e.diff_status===n.LL.CLASSIFYING,s=e.child_diff_statuses&&(e.child_diff_statuses[n.LL.CLASSIFICATION_QUEUED]||e.child_diff_statuses[n.LL.CLASSIFYING]);if(r||s)return"Classifying";let a=e.diff_status===n.LL.CLASSIFICATION_ADDITION||e.diff_status===n.LL.CLASSIFICATION_UPDATE,l=e.child_diff_statuses&&(e.child_diff_statuses[n.LL.CLASSIFICATION_ADDITION]||e.child_diff_statuses[n.LL.CLASSIFICATION_UPDATE]);return a||l?"In review":"Approved"}},94780:function(e,t,i){i.d(t,{X5:function(){return l},pN:function(){return o},sv:function(){return n}});var r=i(24246),s=i(4454);let n=e=>e.split(".")[1],a=[(0,r.jsx)(s.PJP.S9g,{},"layers"),(0,r.jsx)(s.PJP.iA_,{},"table"),(0,r.jsx)(s.PJP.$4y,{style:{transform:"rotate(-90deg)"}},"field")],l=(e,t)=>{if(!e)return[];let i=e.split(".");if(i.length<2)return[];let l=i.splice(0,2).join("."),o=[];return i.reduce((e,r,s)=>{let n=s===i.length-1,c="".concat(e).concat(".").concat(r);return o.push({title:r,href:n?void 0:"".concat(t,"/").concat(l,"/").concat(c),icon:a[s]}),c},l),[{title:n(l),href:"".concat(t,"/").concat(l),icon:(0,r.jsx)(s.PJP.ehp,{})},...o]},o=(e,t)=>{if(!e)return[];let i=e.split(".");if(i.length<2)return[];let r=i.shift(),s=[];return i.reduce((e,r,n)=>{let l=n===i.length-1,o="".concat(e).concat(".").concat(r);return s.push({title:r,href:l?void 0:"".concat(t,"/").concat(o),icon:a[n]}),o},r),s}}}]);
|