ethyca-fides 2.66.2rc0__py2.py3-none-any.whl → 2.67.0rc0__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ethyca-fides might be problematic. Click here for more details.
- {ethyca_fides-2.66.2rc0.dist-info → ethyca_fides-2.67.0rc0.dist-info}/METADATA +1 -1
- {ethyca_fides-2.66.2rc0.dist-info → ethyca_fides-2.67.0rc0.dist-info}/RECORD +292 -279
- fides/_version.py +3 -3
- fides/api/alembic/migrations/versions/7e9a2b52f498_adding_masking_secrets.py +60 -0
- fides/api/alembic/migrations/versions/a7065df4dcf1_add_finalized_fields_to_privacy_request.py +65 -0
- fides/api/alembic/migrations/versions/d0031087eacb_create_manualtaskconditionaldependency_.py +106 -0
- fides/api/api/v1/endpoints/dataset_config_endpoints.py +13 -5
- fides/api/api/v1/endpoints/drp_endpoints.py +7 -1
- fides/api/api/v1/endpoints/privacy_request_endpoints.py +44 -1
- fides/api/api/v1/endpoints/user_endpoints.py +83 -7
- fides/api/app_setup.py +3 -2
- fides/api/common_exceptions.py +4 -0
- fides/api/db/base.py +1 -0
- fides/api/db/database.py +1 -1
- fides/api/graph/execution.py +30 -0
- fides/api/graph/graph.py +13 -2
- fides/api/graph/traversal.py +126 -39
- fides/api/models/manual_task/__init__.py +2 -0
- fides/api/models/manual_task/conditional_dependency.py +144 -0
- fides/api/models/{manual_task.py → manual_task/manual_task.py} +10 -0
- fides/api/models/masking_secret.py +72 -0
- fides/api/models/policy.py +23 -0
- fides/api/models/privacy_request/execution_log.py +1 -0
- fides/api/models/privacy_request/privacy_request.py +31 -13
- fides/api/oauth/roles.py +2 -0
- fides/api/schemas/application_config.py +11 -1
- fides/api/schemas/masking/masking_secrets.py +1 -1
- fides/api/schemas/policy.py +1 -0
- fides/api/schemas/privacy_request.py +5 -0
- fides/api/service/connectors/base_connector.py +1 -0
- fides/api/service/connectors/bigquery_connector.py +67 -19
- fides/api/service/connectors/dynamodb_connector.py +2 -1
- fides/api/service/connectors/fides_connector.py +1 -0
- fides/api/service/connectors/http_connector.py +1 -0
- fides/api/service/connectors/manual_task_connector.py +1 -0
- fides/api/service/connectors/manual_webhook_connector.py +2 -1
- fides/api/service/connectors/mongodb_connector.py +1 -0
- fides/api/service/connectors/okta_connector.py +1 -0
- fides/api/service/connectors/query_configs/bigquery_query_config.py +91 -32
- fides/api/service/connectors/rds_mysql_connector.py +1 -0
- fides/api/service/connectors/rds_postgres_connector.py +1 -0
- fides/api/service/connectors/s3_connector.py +1 -0
- fides/api/service/connectors/saas_connector.py +1 -0
- fides/api/service/connectors/scylla_connector.py +1 -0
- fides/api/service/connectors/sql_connector.py +36 -4
- fides/api/service/connectors/website_connector.py +1 -0
- fides/api/service/privacy_request/dsr_package/templates/welcome.html +2 -2
- fides/api/service/privacy_request/request_runner_service.py +142 -53
- fides/api/service/privacy_request/request_service.py +1 -22
- fides/api/task/conditional_dependencies/__init__.py +0 -0
- fides/api/task/conditional_dependencies/evaluator.py +109 -0
- fides/api/task/conditional_dependencies/schemas.py +54 -0
- fides/api/task/create_request_tasks.py +1 -1
- fides/api/task/deprecated_graph_task.py +24 -6
- fides/api/task/execute_request_tasks.py +89 -12
- fides/api/task/filter_results.py +1 -1
- fides/api/task/graph_task.py +38 -3
- fides/api/task/manual/manual_task_address.py +46 -0
- fides/api/task/manual/manual_task_graph_task.py +118 -126
- fides/api/task/manual/manual_task_utils.py +52 -105
- fides/api/util/aws_util.py +5 -1
- fides/api/util/cache.py +5 -0
- fides/api/util/encryption/secrets_util.py +48 -18
- fides/common/api/scope_registry.py +3 -0
- fides/common/api/v1/urn_registry.py +1 -1
- fides/config/execution_settings.py +4 -0
- fides/config/utils.py +1 -0
- fides/service/privacy_request/privacy_request_service.py +6 -1
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/GKmhMPa_1gMto8JZO8ENy/_buildManifest.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1316-2606e19807c08aa5.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1467-8808ec8836e033f9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1817-b78b58ae3b75d75a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/1975.7d4634a0e823a02b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{203-5a663f465ba26bb4.js → 203-cd78ea279cecba60.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/2150-930ffaf2c4718edc.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/255-1bc0cbef7a59cdc6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{3450-0ba194991d0cca88.js → 3450-ca4ba70da999f264.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/346-aa3b88efb85f2e28.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3550-d04125c828d591a1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{3855-e172870d3e21b0dd.js → 3855-509ca7ac99b5eada.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3872-46cebf7ec1b31a2b.js → 3872-0a0f0032ca39a93f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/409-ea70638a59296659.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{4121-2bc09fc4ddbfe5cb.js → 4121-877e19d3fa078c7b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{4230-60100f7ef3ddcde1.js → 4230-114e31621c19ea69.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/4259.d1507e0db19cbed7.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/431-1db919f6569a4021.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{4608-bbb7bf511a05c3c2.js → 4608-43acf39319177bee.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/5163-e682273cd76a7d07.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{5309-b2c4803370634ff8.js → 5309-ce5702b9faeaff55.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{905-ffdbd0b14167e8bd.js → 5596-4378b2927dae65b2.js} +3 -3
- fides/ui-build/static/admin/_next/static/chunks/5619-9b50cec521203989.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{6084-7178ff6ea6822475.js → 6084-ddbad3149364725d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/6148-59a59d5c5925344f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6419-d0c00d661b01f8fa.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{6662-507be5d46e5b719b.js → 6662-4392ba1e4c254ef7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/6780-fc7d9ddb1a03e7b3.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{6853-2ad3e08fe6f9f5f2.js → 6853-d0190d2cca9dbde2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6882-6af16fef26c21e06.js → 6882-59ea739e3616ce83.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/6954-9c4912fbce87c4df.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{7476-281ee9a8286556f3.js → 7476-cc0d9a94ed7aad53.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{787-fb41002f797eb2df.js → 787-c57185ad89c4e288.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{79-7e87aff851423d4a.js → 79-2aab56be75e16187.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{796-329a5f823ec258a5.js → 796-3bdda2a7868464af.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/8237-841439bef6682177.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/8765-f622a35b40a7ec63.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9046-5c4c22c375de25b1.js → 9046-04a8c092fef1cd83.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/9187-7438242f0d380bb0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9226-746771d47dff6266.js → 9226-2dcac54ab3fb94be.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/9278-08cc704317fe535e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9951-9b753ad7c3f51bdf.js → 9951-7c6639e5d062779e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{_app-39ccb07327c2c5d5.js → _app-4b5bff46158a19a3.js} +56 -56
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-98777246bec9dc2a.js → manual-2a655ff3a97f2492.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{add-systems-a71c0aff4e0e6535.js → add-systems-0902f0bb4080643e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-1edf582ba3cd3bbb.js → [id]-f22ddd9b48a5c418.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{new-06bb3b0bf097fcdb.js → new-e74cb5ea87f15b40.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-685771e5f7196d87.js → privacy-experience-21f997c69fc3b4c2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-6ccedc70dc447089.js → [id]-da4124b7600a2a1d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-944bca1cc57985b5.js → new-a57d251c88ce68ae.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-84f4bd14ce8673bc.js → privacy-notices-ad105181bc91209b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-b0c4235fe6d0b0c8.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-11d52f1570759c4d.js → [resourceUrn]-aad6047a4604b945.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-32eac8bbd217615a.js → projects-29784a11fe0fbd0a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-b83afa5565d0c84e.js → [resourceUrn]-b6b98cea25dd94fa.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{data-catalog-6f630d42ac9fb6b4.js → data-catalog-d5b01abcb76792ce.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-7caea7bb58c1f153.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-a9a70856f7be1542.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{action-center-9ddb52ebb7ac4c71.js → action-center-1f0ea5c92ae9a2b4.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-9aa744d56cdacb0d.js → activity-ad6a84a6276f914c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-14bd7500362ff224.js → [resourceUrn]-f98dd251babb7e28.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-9e7dfd5a6acc2e8f.js → discovery-56eb4c014f0d96a3.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datamap-d23b3ae139f0428b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-c0d2bfd465df20e0.js → [...subfieldNames]-15301bd6bf7cf718.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-28280a8a39a6e37c.js → [collectionName]-0fa72873e464f581.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{new-82fb246d87e58ebd.js → new-0d50084fbdf9b84c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-20165c31ab1bc7cf.js → dataset-f3348d0a92543bab.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-b4a6bcc87d126840.js → [id]-7d6027570d05c57f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{new-f95d7b0bbfc58f5a.js → new-8446418c7ad28f77.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{fides-js-docs-5d8fd1af75f19e2f.js → fides-js-docs-1f4335dca5c09860.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{index-1919aab9e5834b51.js → index-fbf9b845bb901238.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/{[id]-0a58aee2d1e7fa01.js → [id]-f53fe1f2cbebda7c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{integrations-e2d5d7e2a5265e68.js → integrations-142abe3e3e3e5bf7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging-1bae386d8c190348.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{table-migration-69ad86b7a8a9a115.js → table-migration-05616e2ae20ff4f8.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-1b6b0d703cf59389.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-f1d818242d8550f8.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-d40a26bddb126c5c.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-ccd8d9e06cf2d278.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-fd1a67892056830a.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-fc201657f4a782c7.js → [purpose_id]-e891d01ece59669e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{consent-c2d39cba8396ef3a.js → consent-f61b87e79367865b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{custom-fields-d992103cc55901ae.js → custom-fields-f8eea5d508c60c64.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-023e1895552817de.js → locations-ed6a140b362c5baa.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{organization-ac403c0886b20e20.js → organization-ff9a34264d48c35f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/{test-datasets-7a3396ac819c7904.js → test-datasets-a4b6d41ca679298b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-8314a819837f5b2a.js → [id]-c8f5fbaa83dd9945.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{systems-21f423a7c417aa9d.js → systems-c05b49ddec1a1b4f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-df0d88716578e295.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/[id]-da68efc31998dc66.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-173ac3a1ed2b05a6.js → user-management-e98dfc7d4f2a4e16.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/webpack-90e8ec1fc5c6455b.js +1 -0
- fides/ui-build/static/admin/_next/static/css/{5bfb2473e5701527.css → 23cf870196941c9a.css} +1 -1
- fides/ui-build/static/admin/_next/static/css/{94965f224bc991e9.css → 8bc1833f1fa53ff0.css} +1 -1
- fides/ui-build/static/admin/_next/static/css/d9924caa849931b3.css +1 -0
- fides/ui-build/static/admin/_next/static/css/dbcf63488933a4d5.css +29 -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 +3 -3
- fides/ui-build/static/admin/lib/fides.js +3 -3
- fides/ui-build/static/admin/login/[provider].html +1 -1
- fides/ui-build/static/admin/login.html +1 -1
- fides/ui-build/static/admin/messaging/[id].html +1 -1
- fides/ui-build/static/admin/messaging/add-template.html +1 -1
- fides/ui-build/static/admin/messaging.html +1 -1
- fides/ui-build/static/admin/poc/ant-components.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
- fides/ui-build/static/admin/poc/forms.html +1 -1
- fides/ui-build/static/admin/poc/table-migration.html +1 -1
- fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
- fides/ui-build/static/admin/privacy-requests.html +1 -1
- fides/ui-build/static/admin/properties/[id].html +1 -1
- fides/ui-build/static/admin/properties/add-property.html +1 -1
- fides/ui-build/static/admin/properties.html +1 -1
- fides/ui-build/static/admin/reporting/datamap.html +1 -1
- fides/ui-build/static/admin/settings/about/alpha.html +1 -1
- fides/ui-build/static/admin/settings/about.html +1 -1
- fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
- fides/ui-build/static/admin/settings/consent.html +1 -1
- fides/ui-build/static/admin/settings/custom-fields.html +1 -1
- fides/ui-build/static/admin/settings/domain-records.html +1 -1
- fides/ui-build/static/admin/settings/domains.html +1 -1
- fides/ui-build/static/admin/settings/email-templates.html +1 -1
- fides/ui-build/static/admin/settings/locations.html +1 -1
- fides/ui-build/static/admin/settings/organization.html +1 -1
- fides/ui-build/static/admin/settings/regulations.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id].html +1 -1
- fides/ui-build/static/admin/systems.html +1 -1
- fides/ui-build/static/admin/taxonomy.html +1 -1
- fides/ui-build/static/admin/user-management/new.html +1 -1
- fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
- fides/ui-build/static/admin/user-management.html +1 -1
- fides/ui-build/static/admin/_next/static/8108ANFxs99VY7KZ_Xev2/_buildManifest.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1316-6cc72a45ebf7ff81.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1807-3beab149351d5ded.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1817-e601e737e3cc7a0e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/255-7db55b0e3a0f9dea.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/2599-6c4d22e75028d8b6.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/2858-0b44609b6be7850b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/2866-a73888c17a195cbe.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3615-5e2d062d684b8fa1.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/409-a257e14acebcd73b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/431-34f0b91c26f8d9ab.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/570-c99f07161bd339cd.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6780-e3d40aa17a4bf2e9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6954-bb875d9ac89f6030.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7062.fda15dcb7df85675.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7c79804f.7a7112aece470725.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9014-eeae6f581158e645.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9278-9b1b5970f0702668.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9392.f4520f66206d347d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/ea076c0a.84423f606aef37cd.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/reporting-afdbd4665657cfa1.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-2265ecb899d45fbc.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]-5d522637871ac6c8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datamap-7674b97d655c193b.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging-5094ffea13f32ed9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-32600543eb7b584f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-10ce53ea356f8bad.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-5501bbb129fee9c4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-cbe4c8f9096b6543.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-e130c0197362e8f3.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-6387fcc8cce872eb.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/[id]-ff5738706da07801.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/webpack-ff0cd6bff75588da.js +0 -1
- fides/ui-build/static/admin/_next/static/css/2cadb5f62dcd7c2b.css +0 -1
- {ethyca_fides-2.66.2rc0.dist-info → ethyca_fides-2.67.0rc0.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.66.2rc0.dist-info → ethyca_fides-2.67.0rc0.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.66.2rc0.dist-info → ethyca_fides-2.67.0rc0.dist-info}/licenses/LICENSE +0 -0
- {ethyca_fides-2.66.2rc0.dist-info → ethyca_fides-2.67.0rc0.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{8108ANFxs99VY7KZ_Xev2 → GKmhMPa_1gMto8JZO8ENy}/_ssgManifest.js +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{2921-455e6357b74d2f76.js → 2921-86f1547ac40a5cdf.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{3923-6cc911dafccc5f63.js → 3923-13a6b4da2d51bf8f.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{401-1b529d5800aa1f3a.js → 401-3cc1fee61494e3bd.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{5574-b13021775a15bfd2.js → 5574-9312f97b637d9ee2.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{7630-9aac73191ed5ed13.js → 7630-b1c93688013ef013.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/{9826-111aaee8bd8dbd09.js → 9826-3c578665c6d3b21d.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/{404-aece2c920ea14514.js → 404-2d803dab6a00f353.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-dc75dc6e37e52f05.js → multiple-8ff7f37913ad736a.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-24d226b5a8de5c74.js → add-vendors-d00c9034cdeb0236.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-6a8ef51138ac926a.js → configure-0e1ca0f4c8e7f4da.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-6f86ab63a08a6528.js → properties-057cad65e7414a44.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/{consent-73d3cbf68f7c3a31.js → consent-e17c56eec8d91371.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-6ba9e160dae64695.js → [projectUrn]-80a6cc8e8573514a.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{resources-7648bbd4f6711e4d.js → resources-6c3714ee97a718c1.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-393e20924c83373e.js → [resourceUrn]-31e6c54794a9883e.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-8733807dad4bc96e.js → detection-2822a423a7ad0550.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-006b695e5af5ef24.js → [datasetId]-a8e8b5f4ee7af86c.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/{datastore-connection-c391c6fad56eec48.js → datastore-connection-0f29b47402292070.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{[id]-53fecfb9dd6a1e0c.js → [id]-5627d0d0668077f9.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{add-template-76b01cec5fde10a9.js → add-template-feca66ad5c5fe54a.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{ant-components-5c08e8447c45ce44.js → ant-components-64a322d01aae5ca7.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{AntForm-06ad5f34585480aa.js → AntForm-8bca16a7726e7eb2.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikAntFormItem-6f071c2bc9446cb0.js → FormikAntFormItem-b0f246fc3b67ebf7.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikControlled-efcc38c58991ac9e.js → FormikControlled-1a0852b090bfc392.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikField-430ba5c979abfb7c.js → FormikField-11f3de1b45e36583.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/poc/{forms-5c561880bf131afb.js → forms-1b73a1c2b6c6285f.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-d888a69a3bbe040e.js → configure-e551a860ec727802.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-d3d8e3d7583ec635.js → [id]-dd99183f93763ae4.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-1af10ed303815d46.js → add-property-0bdbc1fcbf553b8f.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/{properties-cebc0dc186be499a.js → properties-e959378bb32b6b73.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/{alpha-5e1322de868d615e.js → alpha-8f98a4895e74725e.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{about-241f95e372b65d0f.js → about-8155a35a62fdb5ae.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-41242f805599feda.js → domain-records-51333dbd21cb37c8.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domains-2e885f74c92f669c.js → domains-bde86e5f6c09da5a.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{email-templates-ff112655ad5f41e5.js → email-templates-4f9a5cc8bea7725b.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-86062a18e081a52a.js → regulations-102efd9199e87124.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/user-management/{new-a2524414e968f862.js → new-bc4eb541906781e6.js} +0 -0
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
from typing import TYPE_CHECKING, List
|
|
2
|
-
|
|
3
1
|
from sqlalchemy.orm import Session
|
|
4
2
|
|
|
5
3
|
from fides.api.graph.config import (
|
|
@@ -10,6 +8,7 @@ from fides.api.graph.config import (
|
|
|
10
8
|
ScalarField,
|
|
11
9
|
)
|
|
12
10
|
from fides.api.graph.graph import Node
|
|
11
|
+
from fides.api.graph.traversal import TraversalNode
|
|
13
12
|
from fides.api.models.connectionconfig import ConnectionConfig
|
|
14
13
|
|
|
15
14
|
# Import application models
|
|
@@ -22,51 +21,10 @@ from fides.api.models.manual_task import (
|
|
|
22
21
|
)
|
|
23
22
|
from fides.api.models.privacy_request import PrivacyRequest
|
|
24
23
|
from fides.api.schemas.policy import ActionType
|
|
24
|
+
from fides.api.task.manual.manual_task_address import ManualTaskAddress
|
|
25
25
|
|
|
26
|
-
# TYPE_CHECKING import placed after all runtime imports to avoid lint issues
|
|
27
|
-
if TYPE_CHECKING: # pragma: no cover
|
|
28
|
-
from fides.api.graph.traversal import TraversalNode # noqa: F401
|
|
29
|
-
from fides.api.models.policy import Policy # noqa: F401
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
class ManualTaskAddress:
|
|
33
|
-
"""Utility class for creating and parsing manual task addresses"""
|
|
34
|
-
|
|
35
|
-
MANUAL_DATA_COLLECTION = "manual_data"
|
|
36
|
-
|
|
37
|
-
@staticmethod
|
|
38
|
-
def create(connection_config_key: str) -> CollectionAddress:
|
|
39
|
-
"""Create a CollectionAddress for manual data: {connection_key}:manual_data"""
|
|
40
|
-
return CollectionAddress(
|
|
41
|
-
dataset=connection_config_key,
|
|
42
|
-
collection=ManualTaskAddress.MANUAL_DATA_COLLECTION,
|
|
43
|
-
)
|
|
44
|
-
|
|
45
|
-
@staticmethod
|
|
46
|
-
def is_manual_task_address(address: CollectionAddress) -> bool:
|
|
47
|
-
"""Check if address represents manual task data"""
|
|
48
|
-
if isinstance(address, str):
|
|
49
|
-
# Handle string format "connection_key:collection_name"
|
|
50
|
-
return address.endswith(f":{ManualTaskAddress.MANUAL_DATA_COLLECTION}")
|
|
51
|
-
|
|
52
|
-
# Handle CollectionAddress object
|
|
53
|
-
return address.collection == ManualTaskAddress.MANUAL_DATA_COLLECTION
|
|
54
|
-
|
|
55
|
-
@staticmethod
|
|
56
|
-
def get_connection_key(address: CollectionAddress) -> str:
|
|
57
|
-
"""Extract connection config key from manual task address"""
|
|
58
|
-
if not ManualTaskAddress.is_manual_task_address(address):
|
|
59
|
-
raise ValueError(f"Not a manual task address: {address}")
|
|
60
|
-
|
|
61
|
-
if isinstance(address, str):
|
|
62
|
-
# Handle string format "connection_key:collection_name"
|
|
63
|
-
return address.split(":")[0]
|
|
64
|
-
|
|
65
|
-
# Handle CollectionAddress object
|
|
66
|
-
return address.dataset
|
|
67
26
|
|
|
68
|
-
|
|
69
|
-
def get_connection_configs_with_manual_tasks(db: Session) -> List[ConnectionConfig]:
|
|
27
|
+
def get_connection_configs_with_manual_tasks(db: Session) -> list[ConnectionConfig]:
|
|
70
28
|
"""
|
|
71
29
|
Get all connection configs that have manual tasks.
|
|
72
30
|
"""
|
|
@@ -79,7 +37,7 @@ def get_connection_configs_with_manual_tasks(db: Session) -> List[ConnectionConf
|
|
|
79
37
|
)
|
|
80
38
|
|
|
81
39
|
|
|
82
|
-
def get_manual_task_addresses(db: Session) ->
|
|
40
|
+
def get_manual_task_addresses(db: Session) -> list[CollectionAddress]:
|
|
83
41
|
"""
|
|
84
42
|
Get manual task addresses for all connection configs that have manual tasks.
|
|
85
43
|
|
|
@@ -98,26 +56,20 @@ def get_manual_task_addresses(db: Session) -> List[CollectionAddress]:
|
|
|
98
56
|
return manual_task_addresses
|
|
99
57
|
|
|
100
58
|
|
|
101
|
-
def
|
|
59
|
+
def get_manual_task_for_connection_config(
|
|
102
60
|
db: Session, connection_config_key: str
|
|
103
|
-
) ->
|
|
104
|
-
"""Get
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
.filter(ConnectionConfig.key == connection_config_key)
|
|
108
|
-
.first()
|
|
109
|
-
)
|
|
110
|
-
|
|
111
|
-
if not connection_config:
|
|
112
|
-
return []
|
|
113
|
-
|
|
61
|
+
) -> ManualTask:
|
|
62
|
+
"""Get the ManualTask for a specific connection config,
|
|
63
|
+
the manual task/connection config relationship is 1:1.
|
|
64
|
+
"""
|
|
114
65
|
return (
|
|
115
66
|
db.query(ManualTask)
|
|
67
|
+
.join(ConnectionConfig, ManualTask.parent_entity_id == ConnectionConfig.id)
|
|
116
68
|
.filter(
|
|
117
|
-
|
|
69
|
+
ConnectionConfig.key == connection_config_key,
|
|
118
70
|
ManualTask.parent_entity_type == "connection_config",
|
|
119
71
|
)
|
|
120
|
-
.
|
|
72
|
+
.one_or_none()
|
|
121
73
|
)
|
|
122
74
|
|
|
123
75
|
|
|
@@ -130,24 +82,23 @@ def create_manual_data_traversal_node(
|
|
|
130
82
|
connection_key = address.dataset
|
|
131
83
|
|
|
132
84
|
# Get manual tasks for this connection to determine fields
|
|
133
|
-
|
|
85
|
+
manual_task = get_manual_task_for_connection_config(db, connection_key)
|
|
134
86
|
|
|
135
87
|
# Create fields based on ManualTaskConfigFields
|
|
136
|
-
fields:
|
|
137
|
-
for
|
|
138
|
-
for
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
fields.append(scalar_field)
|
|
88
|
+
fields: list[Field] = []
|
|
89
|
+
for config in manual_task.configs:
|
|
90
|
+
for field in config.field_definitions:
|
|
91
|
+
# Create a scalar field for each manual task field
|
|
92
|
+
# Extract data categories from field metadata if available
|
|
93
|
+
field_metadata = field.field_metadata or {}
|
|
94
|
+
data_categories = field_metadata.get("data_categories", [])
|
|
95
|
+
|
|
96
|
+
scalar_field = ScalarField(
|
|
97
|
+
name=field.field_key,
|
|
98
|
+
data_categories=data_categories,
|
|
99
|
+
# Manual task fields don't have complex relationships
|
|
100
|
+
)
|
|
101
|
+
fields.append(scalar_field)
|
|
151
102
|
|
|
152
103
|
# Create a synthetic Collection
|
|
153
104
|
collection = Collection(
|
|
@@ -165,9 +116,6 @@ def create_manual_data_traversal_node(
|
|
|
165
116
|
after=set(),
|
|
166
117
|
)
|
|
167
118
|
|
|
168
|
-
# Create Node and TraversalNode (import locally to avoid cyclic import)
|
|
169
|
-
from fides.api.graph.traversal import TraversalNode # local import
|
|
170
|
-
|
|
171
119
|
node = Node(dataset, collection)
|
|
172
120
|
traversal_node = TraversalNode(node)
|
|
173
121
|
|
|
@@ -176,7 +124,7 @@ def create_manual_data_traversal_node(
|
|
|
176
124
|
|
|
177
125
|
def create_manual_task_instances_for_privacy_request(
|
|
178
126
|
db: Session, privacy_request: PrivacyRequest
|
|
179
|
-
) ->
|
|
127
|
+
) -> list[ManualTaskInstance]:
|
|
180
128
|
"""Create ManualTaskInstance entries for all active manual tasks relevant to a privacy request."""
|
|
181
129
|
instances = []
|
|
182
130
|
|
|
@@ -272,7 +220,7 @@ def create_manual_task_instances_for_privacy_request(
|
|
|
272
220
|
|
|
273
221
|
def get_manual_task_instances_for_privacy_request(
|
|
274
222
|
db: Session, privacy_request: PrivacyRequest
|
|
275
|
-
) ->
|
|
223
|
+
) -> list[ManualTaskInstance]:
|
|
276
224
|
"""Get all manual task instances for a privacy request."""
|
|
277
225
|
return (
|
|
278
226
|
db.query(ManualTaskInstance)
|
|
@@ -286,7 +234,7 @@ def get_manual_task_instances_for_privacy_request(
|
|
|
286
234
|
|
|
287
235
|
def create_manual_task_artificial_graphs(
|
|
288
236
|
db: Session,
|
|
289
|
-
) ->
|
|
237
|
+
) -> list:
|
|
290
238
|
"""
|
|
291
239
|
Create artificial GraphDataset objects for manual tasks that can be included
|
|
292
240
|
in the main dataset graph during the dataset configuration phase.
|
|
@@ -313,34 +261,33 @@ def create_manual_task_artificial_graphs(
|
|
|
313
261
|
connection_key = address.dataset
|
|
314
262
|
|
|
315
263
|
# Get manual tasks for this connection to determine fields
|
|
316
|
-
|
|
264
|
+
manual_task = get_manual_task_for_connection_config(db, connection_key)
|
|
317
265
|
|
|
318
266
|
# Create fields based only on ManualTaskConfigFields
|
|
319
|
-
fields:
|
|
267
|
+
fields: list = []
|
|
320
268
|
|
|
321
269
|
# Manual task collections act as root nodes - they don't need identity dependencies
|
|
322
270
|
# since they provide manually-entered data rather than consuming identity data.
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
fields.append(scalar_field)
|
|
271
|
+
current_configs = [
|
|
272
|
+
config for config in manual_task.configs if config.is_current
|
|
273
|
+
]
|
|
274
|
+
for config in current_configs:
|
|
275
|
+
if config.config_type not in [
|
|
276
|
+
ManualTaskConfigurationType.access_privacy_request,
|
|
277
|
+
ManualTaskConfigurationType.erasure_privacy_request,
|
|
278
|
+
]:
|
|
279
|
+
continue
|
|
280
|
+
|
|
281
|
+
for field in config.field_definitions:
|
|
282
|
+
# Create a scalar field for each manual task field
|
|
283
|
+
field_metadata = field.field_metadata or {}
|
|
284
|
+
data_categories = field_metadata.get("data_categories", [])
|
|
285
|
+
|
|
286
|
+
scalar_field = ScalarField(
|
|
287
|
+
name=field.field_key,
|
|
288
|
+
data_categories=data_categories,
|
|
289
|
+
)
|
|
290
|
+
fields.append(scalar_field)
|
|
344
291
|
|
|
345
292
|
if fields: # Only create graph if there are fields
|
|
346
293
|
# Create a synthetic Collection
|
fides/api/util/aws_util.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
from typing import Any, Dict, Optional
|
|
2
2
|
|
|
3
3
|
from boto3 import Session
|
|
4
|
+
from botocore.config import Config
|
|
4
5
|
from botocore.exceptions import ClientError
|
|
5
6
|
from loguru import logger
|
|
6
7
|
|
|
@@ -99,4 +100,7 @@ def get_s3_client(
|
|
|
99
100
|
storage_secrets=storage_secrets,
|
|
100
101
|
assume_role_arn=assume_role_arn,
|
|
101
102
|
)
|
|
102
|
-
|
|
103
|
+
|
|
104
|
+
# Configure S3 client to use signature version 4 for KMS compatibility
|
|
105
|
+
s3_config = Config(signature_version="s3v4")
|
|
106
|
+
return session.client("s3", config=s3_config)
|
fides/api/util/cache.py
CHANGED
|
@@ -387,3 +387,8 @@ def get_queue_counts() -> Dict[str, int]:
|
|
|
387
387
|
logger.critical(exception)
|
|
388
388
|
queue_counts = {}
|
|
389
389
|
return queue_counts
|
|
390
|
+
|
|
391
|
+
|
|
392
|
+
def get_all_masking_secret_keys(privacy_request_id: str) -> List[str]:
|
|
393
|
+
cache: FidesopsRedis = get_cache()
|
|
394
|
+
return cache.keys(f"id-{privacy_request_id}-masking-secret-*")
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
import secrets
|
|
2
|
-
from typing import Dict, List, Optional, TypeVar
|
|
2
|
+
from typing import Any, Dict, List, Optional, TypeVar
|
|
3
3
|
|
|
4
4
|
from loguru import logger
|
|
5
5
|
|
|
6
|
+
from fides.api.db.session import get_db_session
|
|
7
|
+
from fides.api.models.masking_secret import MaskingSecret
|
|
6
8
|
from fides.api.schemas.masking.masking_secrets import (
|
|
7
9
|
MaskingSecretCache,
|
|
8
10
|
MaskingSecretMeta,
|
|
9
11
|
SecretType,
|
|
10
12
|
)
|
|
11
13
|
from fides.api.util.cache import get_cache, get_masking_secret_cache_key
|
|
14
|
+
from fides.config import CONFIG
|
|
12
15
|
|
|
13
16
|
T = TypeVar("T")
|
|
14
17
|
|
|
@@ -21,12 +24,14 @@ class SecretsUtil:
|
|
|
21
24
|
masking_secret_meta: MaskingSecretMeta[T],
|
|
22
25
|
) -> Optional[T]:
|
|
23
26
|
if privacy_request_id is not None:
|
|
24
|
-
secret = SecretsUtil.
|
|
25
|
-
privacy_request_id,
|
|
27
|
+
secret = SecretsUtil.get_masking_secret(
|
|
28
|
+
privacy_request_id=privacy_request_id,
|
|
29
|
+
masking_strategy=masking_secret_meta.masking_strategy,
|
|
30
|
+
secret_type=secret_type,
|
|
26
31
|
)
|
|
27
32
|
if not secret:
|
|
28
33
|
logger.warning(
|
|
29
|
-
"Secret type {} expected
|
|
34
|
+
"Secret type {} expected but was not present for masking strategy {}",
|
|
30
35
|
secret_type,
|
|
31
36
|
masking_secret_meta.masking_strategy,
|
|
32
37
|
)
|
|
@@ -37,20 +42,6 @@ class SecretsUtil:
|
|
|
37
42
|
masking_secret_meta.secret_length
|
|
38
43
|
)
|
|
39
44
|
|
|
40
|
-
@staticmethod
|
|
41
|
-
def _get_secret_from_cache(
|
|
42
|
-
privacy_request_id: str,
|
|
43
|
-
secret_type: SecretType,
|
|
44
|
-
masking_secret_meta: MaskingSecretMeta[T],
|
|
45
|
-
) -> Optional[T]:
|
|
46
|
-
cache = get_cache()
|
|
47
|
-
masking_secret_cache_key: str = get_masking_secret_cache_key(
|
|
48
|
-
privacy_request_id=privacy_request_id,
|
|
49
|
-
masking_strategy=masking_secret_meta.masking_strategy,
|
|
50
|
-
secret_type=secret_type,
|
|
51
|
-
)
|
|
52
|
-
return cache.get_encoded_by_key(masking_secret_cache_key)
|
|
53
|
-
|
|
54
45
|
@staticmethod
|
|
55
46
|
def generate_secret_string(length: int) -> str:
|
|
56
47
|
return secrets.token_urlsafe(length)
|
|
@@ -75,3 +66,42 @@ class SecretsUtil:
|
|
|
75
66
|
)
|
|
76
67
|
)
|
|
77
68
|
return masking_secrets
|
|
69
|
+
|
|
70
|
+
@staticmethod
|
|
71
|
+
def get_masking_secret(
|
|
72
|
+
privacy_request_id: str,
|
|
73
|
+
masking_strategy: str,
|
|
74
|
+
secret_type: SecretType,
|
|
75
|
+
) -> Optional[Any]:
|
|
76
|
+
"""
|
|
77
|
+
Attempts to retrieve masking secret from cache first, then falls back to DB.
|
|
78
|
+
"""
|
|
79
|
+
# TODO: get rid of the cache check after a few releases
|
|
80
|
+
# Try cache first
|
|
81
|
+
cache = get_cache()
|
|
82
|
+
cache_key = get_masking_secret_cache_key(
|
|
83
|
+
privacy_request_id=privacy_request_id,
|
|
84
|
+
masking_strategy=masking_strategy,
|
|
85
|
+
secret_type=secret_type,
|
|
86
|
+
)
|
|
87
|
+
secret = cache.get_encoded_by_key(cache_key)
|
|
88
|
+
if secret is not None:
|
|
89
|
+
return secret
|
|
90
|
+
|
|
91
|
+
# Cache miss - try database
|
|
92
|
+
session_local = get_db_session(CONFIG)
|
|
93
|
+
with session_local() as session:
|
|
94
|
+
masking_secret: MaskingSecret = (
|
|
95
|
+
session.query(MaskingSecret)
|
|
96
|
+
.filter(
|
|
97
|
+
MaskingSecret.privacy_request_id == privacy_request_id,
|
|
98
|
+
MaskingSecret.masking_strategy == masking_strategy,
|
|
99
|
+
MaskingSecret.secret_type == secret_type,
|
|
100
|
+
)
|
|
101
|
+
.first()
|
|
102
|
+
)
|
|
103
|
+
|
|
104
|
+
if not masking_secret:
|
|
105
|
+
return None
|
|
106
|
+
|
|
107
|
+
return masking_secret.get_secret()
|
|
@@ -51,6 +51,7 @@ PRIVACY_REQUEST_ACCESS_RESULTS = "privacy-request-access-results"
|
|
|
51
51
|
PRIVACY_REQUEST_EMAIL_INTEGRATIONS = "privacy-request-email-integrations"
|
|
52
52
|
PRIVACY_REQUEST_NOTIFICATIONS = "privacy-request-notifications"
|
|
53
53
|
READ = "read"
|
|
54
|
+
READ_OWN = "read-own"
|
|
54
55
|
REGISTER = "register"
|
|
55
56
|
RESET = "reset"
|
|
56
57
|
RESPOND = "respond"
|
|
@@ -226,6 +227,7 @@ TAXONOMY_DELETE = f"{TAXONOMY}:{DELETE}"
|
|
|
226
227
|
USER_CREATE = f"{USER}:{CREATE}"
|
|
227
228
|
USER_DELETE = f"{USER}:{DELETE}"
|
|
228
229
|
USER_READ = f"{USER}:{READ}"
|
|
230
|
+
USER_READ_OWN = f"{USER}:{READ_OWN}"
|
|
229
231
|
USER_UPDATE = f"{USER}:{UPDATE}"
|
|
230
232
|
USER_PASSWORD_RESET = f"{USER}:{PASSWORD_RESET}"
|
|
231
233
|
|
|
@@ -354,6 +356,7 @@ SCOPE_DOCS = {
|
|
|
354
356
|
USER_UPDATE: "Update users",
|
|
355
357
|
USER_DELETE: "Remove users",
|
|
356
358
|
USER_READ: "View users",
|
|
359
|
+
USER_READ_OWN: "View own user",
|
|
357
360
|
USER_PASSWORD_RESET: "Reset another user's password",
|
|
358
361
|
USER_PERMISSION_CREATE: "Create user permissions",
|
|
359
362
|
USER_PERMISSION_UPDATE: "Update user permissions",
|
|
@@ -93,7 +93,7 @@ PRIVACY_REQUEST_ACCESS_RESULTS = "/privacy-request/{privacy_request_id}/access-r
|
|
|
93
93
|
PRIVACY_REQUEST_FILTERED_RESULTS = (
|
|
94
94
|
"/privacy-request/{privacy_request_id}/filtered-results"
|
|
95
95
|
)
|
|
96
|
-
|
|
96
|
+
PRIVACY_REQUEST_FINALIZE = "/privacy-request/{privacy_request_id}/finalize"
|
|
97
97
|
PRIVACY_REQUEST_VERIFY_IDENTITY = "/privacy-request/{privacy_request_id}/verify"
|
|
98
98
|
PRIVACY_REQUEST_RESUME = "/privacy-request/{privacy_request_id}/resume"
|
|
99
99
|
PRIVACY_REQUEST_NOTIFICATIONS = "/privacy-request/notification"
|
|
@@ -61,6 +61,10 @@ class ExecutionSettings(FidesSettings):
|
|
|
61
61
|
default=False,
|
|
62
62
|
description="Temporary flag to switch to using DSR 3.0 to process your tasks.",
|
|
63
63
|
)
|
|
64
|
+
erasure_request_finalization_required: bool = Field(
|
|
65
|
+
default=False,
|
|
66
|
+
description="Whether erasure requests require an additional finalization step after all collections have been executed.",
|
|
67
|
+
)
|
|
64
68
|
fuzzy_search_enabled: bool = Field(
|
|
65
69
|
default=True,
|
|
66
70
|
description="Whether fuzzy search is enabled for privacy request lookups.",
|
fides/config/utils.py
CHANGED
|
@@ -193,13 +193,18 @@ class PrivacyRequestService:
|
|
|
193
193
|
|
|
194
194
|
cache_data(
|
|
195
195
|
privacy_request,
|
|
196
|
-
policy,
|
|
197
196
|
privacy_request_data.identity,
|
|
198
197
|
privacy_request_data.encryption_key,
|
|
199
198
|
None,
|
|
200
199
|
privacy_request_data.custom_privacy_request_fields,
|
|
201
200
|
)
|
|
202
201
|
|
|
202
|
+
if masking_secrets := policy.generate_masking_secrets():
|
|
203
|
+
logger.info(
|
|
204
|
+
"Caching masking secrets for privacy request {}", privacy_request.id
|
|
205
|
+
)
|
|
206
|
+
privacy_request.persist_masking_secrets(masking_secrets)
|
|
207
|
+
|
|
203
208
|
check_and_dispatch_error_notifications(db=self.db)
|
|
204
209
|
|
|
205
210
|
_handle_notifications_and_processing(
|
|
@@ -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/d9924caa849931b3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d9924caa849931b3.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-90e8ec1fc5c6455b.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-4b5bff46158a19a3.js" defer=""></script><script src="/_next/static/chunks/pages/404-2d803dab6a00f353.js" defer=""></script><script src="/_next/static/GKmhMPa_1gMto8JZO8ENy/_buildManifest.js" defer=""></script><script src="/_next/static/GKmhMPa_1gMto8JZO8ENy/_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":"GKmhMPa_1gMto8JZO8ENy","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
self.__BUILD_MANIFEST=function(s,e,t,a,c,n,i,d,o,r,p,u,g,f,m,b,j,k,h,y,l,v,I,F,x,_,U,w,q,N,A,S,B,C,z,D,E,L,M,T,P,G,H,J,K,O){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[v,"static/chunks/pages/index-fbf9b845bb901238.js"],"/404":["static/chunks/pages/404-2d803dab6a00f353.js"],"/_error":["static/chunks/pages/_error-bede3a8288930dcf.js"],"/add-systems":[v,"static/chunks/pages/add-systems-0902f0bb4080643e.js"],"/add-systems/manual":[s,e,t,c,p,a,i,u,j,I,F,"static/chunks/pages/add-systems/manual-2a655ff3a97f2492.js"],"/add-systems/multiple":[i,g,x,"static/chunks/pages/add-systems/multiple-8ff7f37913ad736a.js"],"/consent":["static/chunks/pages/consent-e17c56eec8d91371.js"],"/consent/configure":[i,g,"static/chunks/pages/consent/configure-0e1ca0f4c8e7f4da.js"],"/consent/configure/add-vendors":[i,g,x,"static/chunks/pages/consent/configure/add-vendors-d00c9034cdeb0236.js"],"/consent/privacy-experience":[p,_,"static/chunks/pages/consent/privacy-experience-21f997c69fc3b4c2.js"],"/consent/privacy-experience/new":[s,d,f,m,U,"static/chunks/pages/consent/privacy-experience/new-e74cb5ea87f15b40.js"],"/consent/privacy-experience/[id]":[s,d,f,m,U,"static/chunks/pages/consent/privacy-experience/[id]-f22ddd9b48a5c418.js"],"/consent/privacy-notices":[_,"static/chunks/pages/consent/privacy-notices-ad105181bc91209b.js"],"/consent/privacy-notices/new":[s,d,f,m,w,"static/chunks/pages/consent/privacy-notices/new-a57d251c88ce68ae.js"],"/consent/privacy-notices/[id]":[s,d,f,m,w,"static/chunks/pages/consent/privacy-notices/[id]-da4124b7600a2a1d.js"],"/consent/properties":[q,"static/chunks/pages/consent/properties-057cad65e7414a44.js"],"/consent/reporting":["static/chunks/2150-930ffaf2c4718edc.js","static/chunks/pages/consent/reporting-b0c4235fe6d0b0c8.js"],"/data-catalog":[s,e,t,a,"static/css/95ac327e5d70148d.css","static/chunks/pages/data-catalog-d5b01abcb76792ce.js"],"/data-catalog/[systemId]/projects":[s,e,t,a,k,n,"static/chunks/pages/data-catalog/[systemId]/projects-29784a11fe0fbd0a.js"],"/data-catalog/[systemId]/projects/[projectUrn]":[N,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-80a6cc8e8573514a.js"],"/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]":[s,e,t,a,k,A,n,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-aad6047a4604b945.js"],"/data-catalog/[systemId]/resources":[N,"static/chunks/pages/data-catalog/[systemId]/resources-6c3714ee97a718c1.js"],"/data-catalog/[systemId]/resources/[resourceUrn]":[s,e,t,a,k,A,n,"static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-b6b98cea25dd94fa.js"],"/data-discovery/action-center":["static/chunks/pages/data-discovery/action-center-1f0ea5c92ae9a2b4.js"],"/data-discovery/action-center/[monitorId]":[s,e,t,S,h,"static/chunks/pages/data-discovery/action-center/[monitorId]-a9a70856f7be1542.js"],"/data-discovery/action-center/[monitorId]/[systemId]":[s,e,t,i,j,S,"static/css/23cf870196941c9a.css","static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-7caea7bb58c1f153.js"],"/data-discovery/activity":[r,"static/chunks/pages/data-discovery/activity-ad6a84a6276f914c.js"],"/data-discovery/detection":[r,B,"static/chunks/pages/data-discovery/detection-2822a423a7ad0550.js"],"/data-discovery/detection/[resourceUrn]":[r,B,"static/chunks/pages/data-discovery/detection/[resourceUrn]-31e6c54794a9883e.js"],"/data-discovery/discovery":[s,e,t,a,r,C,n,"static/chunks/pages/data-discovery/discovery-56eb4c014f0d96a3.js"],"/data-discovery/discovery/[resourceUrn]":[s,e,t,a,r,C,n,"static/chunks/pages/data-discovery/discovery/[resourceUrn]-f98dd251babb7e28.js"],"/datamap":[t,"static/chunks/255-1bc0cbef7a59cdc6.js",u,z,"static/chunks/pages/datamap-d23b3ae139f0428b.js"],"/dataset":[o,b,"static/chunks/pages/dataset-f3348d0a92543bab.js"],"/dataset/new":[o,b,"static/chunks/pages/dataset/new-0d50084fbdf9b84c.js"],"/dataset/[datasetId]":["static/chunks/9729-fcf6ff4e3534e4a8.js",y,"static/chunks/pages/dataset/[datasetId]-a8e8b5f4ee7af86c.js"],"/dataset/[datasetId]/[collectionName]":[s,e,t,c,a,y,n,"static/chunks/pages/dataset/[datasetId]/[collectionName]-0fa72873e464f581.js"],"/dataset/[datasetId]/[collectionName]/[...subfieldNames]":[s,e,t,c,a,y,n,"static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-15301bd6bf7cf718.js"],"/datastore-connection":["static/css/5f393dea1c0d031c.css","static/chunks/pages/datastore-connection-0f29b47402292070.js"],"/datastore-connection/new":[s,c,o,p,D,b,E,"static/chunks/pages/datastore-connection/new-8446418c7ad28f77.js"],"/datastore-connection/[id]":[s,c,o,D,b,E,"static/chunks/pages/datastore-connection/[id]-7d6027570d05c57f.js"],"/fides-js-docs":["static/chunks/2fbcc6de-a6c61724c327e9fa.js","static/chunks/e3251fe7-5777b5d778e6fffa.js",s,e,t,c,o,"static/chunks/5619-9b50cec521203989.js",L,"static/css/ab65b8cc3144bfc8.css","static/chunks/5596-4378b2927dae65b2.js","static/chunks/pages/fides-js-docs-1f4335dca5c09860.js"],"/integrations":[s,e,t,c,d,M,T,n,"static/chunks/pages/integrations-142abe3e3e3e5bf7.js"],"/integrations/[id]":[s,e,t,c,d,M,T,n,"static/chunks/pages/integrations/[id]-f53fe1f2cbebda7c.js"],"/login":["static/chunks/pages/login-0cb0eb44bf2dd24c.js"],"/login/[provider]":["static/chunks/pages/login/[provider]-c58beef131c3a82d.js"],"/messaging":[s,e,"static/chunks/346-aa3b88efb85f2e28.js","static/chunks/pages/messaging-1bae386d8c190348.js"],"/messaging/add-template":[P,"static/chunks/pages/messaging/add-template-feca66ad5c5fe54a.js"],"/messaging/[id]":[P,"static/chunks/pages/messaging/[id]-5627d0d0668077f9.js"],"/poc/ant-components":["static/chunks/pages/poc/ant-components-64a322d01aae5ca7.js"],"/poc/form-experiments/AntForm":["static/chunks/pages/poc/form-experiments/AntForm-8bca16a7726e7eb2.js"],"/poc/form-experiments/FormikAntFormItem":["static/chunks/pages/poc/form-experiments/FormikAntFormItem-b0f246fc3b67ebf7.js"],"/poc/form-experiments/FormikControlled":["static/chunks/pages/poc/form-experiments/FormikControlled-1a0852b090bfc392.js"],"/poc/form-experiments/FormikField":["static/chunks/pages/poc/form-experiments/FormikField-11f3de1b45e36583.js"],"/poc/form-experiments/FormikSpreadField":[G,"static/chunks/pages/poc/form-experiments/FormikSpreadField-af097d661f6abcf4.js"],"/poc/forms":[G,"static/chunks/pages/poc/forms-1b73a1c2b6c6285f.js"],"/poc/table-migration":[i,g,"static/chunks/pages/poc/table-migration-05616e2ae20ff4f8.js"],"/privacy-requests":[s,"static/chunks/3550-d04125c828d591a1.js",H,"static/chunks/pages/privacy-requests-ccd8d9e06cf2d278.js"],"/privacy-requests/configure":["static/chunks/pages/privacy-requests/configure-e551a860ec727802.js"],"/privacy-requests/configure/messaging":["static/chunks/pages/privacy-requests/configure/messaging-f1d818242d8550f8.js"],"/privacy-requests/configure/storage":["static/chunks/pages/privacy-requests/configure/storage-d40a26bddb126c5c.js"],"/privacy-requests/[id]":[H,"static/css/8bc1833f1fa53ff0.css","static/chunks/pages/privacy-requests/[id]-1b6b0d703cf59389.js"],"/properties":[q,"static/chunks/pages/properties-e959378bb32b6b73.js"],"/properties/add-property":[J,"static/chunks/pages/properties/add-property-0bdbc1fcbf553b8f.js"],"/properties/[id]":[J,"static/chunks/pages/properties/[id]-dd99183f93763ae4.js"],"/reporting/datamap":[s,e,t,L,u,z,"static/chunks/pages/reporting/datamap-fd1a67892056830a.js"],"/settings/about":["static/chunks/pages/settings/about-8155a35a62fdb5ae.js"],"/settings/about/alpha":["static/chunks/pages/settings/about/alpha-8f98a4895e74725e.js"],"/settings/consent":["static/chunks/pages/settings/consent-f61b87e79367865b.js"],"/settings/consent/[configuration_id]/[purpose_id]":["static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-e891d01ece59669e.js"],"/settings/custom-fields":["static/chunks/pages/settings/custom-fields-f8eea5d508c60c64.js"],"/settings/domain-records":["static/chunks/pages/settings/domain-records-51333dbd21cb37c8.js"],"/settings/domains":["static/chunks/pages/settings/domains-bde86e5f6c09da5a.js"],"/settings/email-templates":["static/chunks/pages/settings/email-templates-4f9a5cc8bea7725b.js"],"/settings/locations":[K,h,"static/chunks/pages/settings/locations-ed6a140b362c5baa.js"],"/settings/organization":["static/chunks/pages/settings/organization-ff9a34264d48c35f.js"],"/settings/regulations":[K,h,"static/chunks/pages/settings/regulations-102efd9199e87124.js"],"/systems":["static/chunks/pages/systems-c05b49ddec1a1b4f.js"],"/systems/configure/[id]":[s,e,t,c,p,a,i,u,j,I,F,"static/chunks/pages/systems/configure/[id]-c8f5fbaa83dd9945.js"],"/systems/configure/[id]/test-datasets":[o,"static/chunks/pages/systems/configure/[id]/test-datasets-a4b6d41ca679298b.js"],"/taxonomy":["static/chunks/678d4732-50255cc09048e643.js",s,e,d,"static/chunks/6148-59a59d5c5925344f.js","static/css/34a7eb08b86ddb57.css","static/chunks/pages/taxonomy-df0d88716578e295.js"],"/user-management":[l,"static/chunks/pages/user-management-e98dfc7d4f2a4e16.js"],"/user-management/new":[l,O,"static/chunks/pages/user-management/new-bc4eb541906781e6.js"],"/user-management/profile/[id]":[l,O,"static/chunks/pages/user-management/profile/[id]-da68efc31998dc66.js"],sortedPages:["/","/404","/_app","/_error","/add-systems","/add-systems/manual","/add-systems/multiple","/consent","/consent/configure","/consent/configure/add-vendors","/consent/privacy-experience","/consent/privacy-experience/new","/consent/privacy-experience/[id]","/consent/privacy-notices","/consent/privacy-notices/new","/consent/privacy-notices/[id]","/consent/properties","/consent/reporting","/data-catalog","/data-catalog/[systemId]/projects","/data-catalog/[systemId]/projects/[projectUrn]","/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]","/data-catalog/[systemId]/resources","/data-catalog/[systemId]/resources/[resourceUrn]","/data-discovery/action-center","/data-discovery/action-center/[monitorId]","/data-discovery/action-center/[monitorId]/[systemId]","/data-discovery/activity","/data-discovery/detection","/data-discovery/detection/[resourceUrn]","/data-discovery/discovery","/data-discovery/discovery/[resourceUrn]","/datamap","/dataset","/dataset/new","/dataset/[datasetId]","/dataset/[datasetId]/[collectionName]","/dataset/[datasetId]/[collectionName]/[...subfieldNames]","/datastore-connection","/datastore-connection/new","/datastore-connection/[id]","/fides-js-docs","/integrations","/integrations/[id]","/login","/login/[provider]","/messaging","/messaging/add-template","/messaging/[id]","/poc/ant-components","/poc/form-experiments/AntForm","/poc/form-experiments/FormikAntFormItem","/poc/form-experiments/FormikControlled","/poc/form-experiments/FormikField","/poc/form-experiments/FormikSpreadField","/poc/forms","/poc/table-migration","/privacy-requests","/privacy-requests/configure","/privacy-requests/configure/messaging","/privacy-requests/configure/storage","/privacy-requests/[id]","/properties","/properties/add-property","/properties/[id]","/reporting/datamap","/settings/about","/settings/about/alpha","/settings/consent","/settings/consent/[configuration_id]/[purpose_id]","/settings/custom-fields","/settings/domain-records","/settings/domains","/settings/email-templates","/settings/locations","/settings/organization","/settings/regulations","/systems","/systems/configure/[id]","/systems/configure/[id]/test-datasets","/taxonomy","/user-management","/user-management/new","/user-management/profile/[id]"]}}("static/chunks/8765-f622a35b40a7ec63.js","static/chunks/9278-08cc704317fe535e.js","static/chunks/5163-e682273cd76a7d07.js","static/chunks/409-ea70638a59296659.js","static/chunks/699-8ca44b0de9fa20f0.js","static/css/d2d4e9a6923e6730.css","static/chunks/401-3cc1fee61494e3bd.js","static/chunks/3662-f6a1ddca5ee42076.js","static/chunks/6527-0eed08abe252a918.js","static/chunks/431-1db919f6569a4021.js","static/chunks/5277-e8a036319456127f.js","static/chunks/9951-7c6639e5d062779e.js","static/chunks/3923-13a6b4da2d51bf8f.js","static/chunks/6419-d0c00d661b01f8fa.js","static/chunks/6084-ddbad3149364725d.js","static/chunks/5574-9312f97b637d9ee2.js","static/chunks/6780-fc7d9ddb1a03e7b3.js","static/chunks/6882-59ea739e3616ce83.js","static/css/10994e916bc9a00a.css","static/chunks/9226-2dcac54ab3fb94be.js","static/chunks/7476-cc0d9a94ed7aad53.js","static/css/972dc7eef106ee7c.css","static/chunks/3450-ca4ba70da999f264.js","static/css/304c6f148886a8d4.css","static/chunks/796-3bdda2a7868464af.js","static/chunks/6853-d0190d2cca9dbde2.js","static/chunks/1817-b78b58ae3b75d75a.js","static/chunks/6954-9c4912fbce87c4df.js","static/chunks/79-2aab56be75e16187.js","static/chunks/3872-0a0f0032ca39a93f.js","static/chunks/3855-509ca7ac99b5eada.js","static/chunks/8237-841439bef6682177.js","static/chunks/5309-ce5702b9faeaff55.js","static/chunks/9046-04a8c092fef1cd83.js","static/chunks/4230-114e31621c19ea69.js","static/chunks/1467-8808ec8836e033f9.js","static/chunks/4608-43acf39319177bee.js","static/chunks/9187-7438242f0d380bb0.js","static/chunks/1316-2606e19807c08aa5.js","static/chunks/6662-4392ba1e4c254ef7.js","static/chunks/7630-b1c93688013ef013.js","static/chunks/2921-86f1547ac40a5cdf.js","static/chunks/203-cd78ea279cecba60.js","static/chunks/787-c57185ad89c4e288.js","static/chunks/9826-3c578665c6d3b21d.js","static/chunks/4121-877e19d3fa078c7b.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1316],{49819:function(e,t,r){var n=r(18911)();e.exports=n},26194:function(e,t,r){var n=r(49819),i=r(50098);e.exports=function(e,t){return e&&n(e,t,i)}},10228:function(e,t,r){var n=r(79867),i=r(78859),s=r(76747);e.exports=function(e,t,r){for(var a=-1,o=t.length,u={};++a<o;){var h=t[a],f=n(e,h);r(f,h)&&i(u,s(h,e),f)}return u}},78859:function(e,t,r){var n=r(71928),i=r(76747),s=r(42383),a=r(11611),o=r(37948);e.exports=function(e,t,r,u){if(!a(e))return e;t=i(t,e);for(var h=-1,f=t.length,l=f-1,c=e;null!=c&&++h<f;){var d=o(t[h]),p=r;if("__proto__"===d||"constructor"===d||"prototype"===d)break;if(h!=l){var g=c[d];void 0===(p=u?u(g,d,c):void 0)&&(p=a(g)?g:s(t[h+1])?[]:{})}n(c,d,p),c=c[d]}return e}},74833:function(e,t,r){var n=r(56127),i=/^\s+/;e.exports=function(e){return e?e.slice(0,n(e)+1).replace(i,""):e}},18911:function(e){e.exports=function(e){return function(t,r,n){for(var i=-1,s=Object(t),a=n(t),o=a.length;o--;){var u=a[e?o:++i];if(!1===r(s[u],u,s))break}return t}}},56632:function(e,t,r){var n=r(89278),i=r(80068),s=r(50098);e.exports=function(e){return function(t,r,a){var o=Object(t);if(!i(t)){var u=n(r,3);t=s(t),r=function(e){return u(o[e],e,o)}}var h=e(t,r,a);return h>-1?o[u?t[h]:h]:void 0}}},56127:function(e){var t=/\s/;e.exports=function(e){for(var r=e.length;r--&&t.test(e.charAt(r)););return r}},30454:function(e,t,r){var n=r(40699);e.exports=function(e){return n(e,5)}},64925:function(e,t,r){var n=r(56632)(r(66259));e.exports=n},66259:function(e,t,r){var n=r(95372),i=r(89278),s=r(47991),a=Math.max;e.exports=function(e,t,r){var o=null==e?0:e.length;if(!o)return -1;var u=null==r?0:s(r);return u<0&&(u=a(o+u,0)),n(e,i(t,3),u)}},90104:function(e,t,r){var n=r(20186),i=r(3533),s=r(2900),a=r(19785),o=r(80068),u=r(43854),h=r(56016),f=r(48519),l=Object.prototype.hasOwnProperty;e.exports=function(e){if(null==e)return!0;if(o(e)&&(a(e)||"string"==typeof e||"function"==typeof e.splice||u(e)||f(e)||s(e)))return!e.length;var t=i(e);if("[object Map]"==t||"[object Set]"==t)return!e.size;if(h(e))return!n(e).length;for(var r in e)if(l.call(e,r))return!1;return!0}},92465:function(e){e.exports=function(e){return void 0===e}},25389:function(e,t,r){var n=r(88799),i=r(26194),s=r(89278);e.exports=function(e,t){var r={};return t=s(t,3),i(e,function(e,i,s){n(r,i,t(e,i,s))}),r}},9799:function(e){e.exports=function(e){if("function"!=typeof e)throw TypeError("Expected a function");return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}},15539:function(e,t,r){var n=r(89278),i=r(9799),s=r(71975);e.exports=function(e,t){return s(e,i(n(t)))}},71975:function(e,t,r){var n=r(66070),i=r(89278),s=r(10228),a=r(39759);e.exports=function(e,t){if(null==e)return{};var r=n(a(e),function(e){return[e]});return t=i(t),s(e,r,function(e,r){return t(e,r[0])})}},94919:function(e,t,r){var n=r(91936),i=1/0;e.exports=function(e){return e?(e=n(e))===i||e===-i?(e<0?-1:1)*17976931348623157e292:e==e?e:0:0===e?e:0}},47991:function(e,t,r){var n=r(94919);e.exports=function(e){var t=n(e),r=t%1;return t==t?r?t-r:t:0}},91936:function(e,t,r){var n=r(74833),i=r(11611),s=r(55193),a=0/0,o=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,h=/^0o[0-7]+$/i,f=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(s(e))return a;if(i(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=i(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=n(e);var r=u.test(e);return r||h.test(e)?f(e.slice(2),r?2:8):o.test(e)?a:+e}},46381:function(e,t){var r,n,i;n=[],void 0!==(i="function"==typeof(r=function e(){var t,r="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==r?r:{},n=!r.document&&!!r.postMessage,i=r.IS_PAPA_WORKER||!1,s={},a=0,o={};function u(e){this._handle=null,this._finished=!1,this._completed=!1,this._halted=!1,this._input=null,this._baseIndex=0,this._partialLine="",this._rowCount=0,this._start=0,this._nextChunk=null,this.isFirstChunk=!0,this._completeResults={data:[],errors:[],meta:{}},(function(e){var t=v(e);t.chunkSize=parseInt(t.chunkSize),e.step||e.chunk||(t.chunkSize=null),this._handle=new d(t),(this._handle.streamer=this)._config=t}).call(this,e),this.parseChunk=function(e,t){var n=parseInt(this._config.skipFirstNLines)||0;if(this.isFirstChunk&&0<n){let t=this._config.newline;t||(s=this._config.quoteChar||'"',t=this._handle.guessLineEndings(e,s)),e=[...e.split(t).slice(n)].join(t)}this.isFirstChunk&&b(this._config.beforeFirstChunk)&&void 0!==(s=this._config.beforeFirstChunk(e))&&(e=s),this.isFirstChunk=!1,this._halted=!1;var n=this._partialLine+e,s=(this._partialLine="",this._handle.parse(n,this._baseIndex,!this._finished));if(!this._handle.paused()&&!this._handle.aborted()){if(e=s.meta.cursor,this._finished||(this._partialLine=n.substring(e-this._baseIndex),this._baseIndex=e),s&&s.data&&(this._rowCount+=s.data.length),n=this._finished||this._config.preview&&this._rowCount>=this._config.preview,i)r.postMessage({results:s,workerId:o.WORKER_ID,finished:n});else if(b(this._config.chunk)&&!t){if(this._config.chunk(s,this._handle),this._handle.paused()||this._handle.aborted())return void(this._halted=!0);this._completeResults=s=void 0}return this._config.step||this._config.chunk||(this._completeResults.data=this._completeResults.data.concat(s.data),this._completeResults.errors=this._completeResults.errors.concat(s.errors),this._completeResults.meta=s.meta),this._completed||!n||!b(this._config.complete)||s&&s.meta.aborted||(this._config.complete(this._completeResults,this._input),this._completed=!0),n||s&&s.meta.paused||this._nextChunk(),s}this._halted=!0},this._sendError=function(e){b(this._config.error)?this._config.error(e):i&&this._config.error&&r.postMessage({workerId:o.WORKER_ID,error:e,finished:!1})}}function h(e){var t;(e=e||{}).chunkSize||(e.chunkSize=o.RemoteChunkSize),u.call(this,e),this._nextChunk=n?function(){this._readChunk(),this._chunkLoaded()}:function(){this._readChunk()},this.stream=function(e){this._input=e,this._nextChunk()},this._readChunk=function(){if(this._finished)this._chunkLoaded();else{if(t=new XMLHttpRequest,this._config.withCredentials&&(t.withCredentials=this._config.withCredentials),n||(t.onload=k(this._chunkLoaded,this),t.onerror=k(this._chunkError,this)),t.open(this._config.downloadRequestBody?"POST":"GET",this._input,!n),this._config.downloadRequestHeaders){var e,r,i=this._config.downloadRequestHeaders;for(r in i)t.setRequestHeader(r,i[r])}this._config.chunkSize&&(e=this._start+this._config.chunkSize-1,t.setRequestHeader("Range","bytes="+this._start+"-"+e));try{t.send(this._config.downloadRequestBody)}catch(e){this._chunkError(e.message)}n&&0===t.status&&this._chunkError()}},this._chunkLoaded=function(){let e;4===t.readyState&&(t.status<200||400<=t.status?this._chunkError():(this._start+=this._config.chunkSize||t.responseText.length,this._finished=!this._config.chunkSize||this._start>=(null!==(e=(e=t).getResponseHeader("Content-Range"))?parseInt(e.substring(e.lastIndexOf("/")+1)):-1),this.parseChunk(t.responseText)))},this._chunkError=function(e){e=t.statusText||e,this._sendError(Error(e))}}function f(e){(e=e||{}).chunkSize||(e.chunkSize=o.LocalChunkSize),u.call(this,e);var t,r,n="undefined"!=typeof FileReader;this.stream=function(e){this._input=e,r=e.slice||e.webkitSlice||e.mozSlice,n?((t=new FileReader).onload=k(this._chunkLoaded,this),t.onerror=k(this._chunkError,this)):t=new FileReaderSync,this._nextChunk()},this._nextChunk=function(){this._finished||this._config.preview&&!(this._rowCount<this._config.preview)||this._readChunk()},this._readChunk=function(){var e=this._input,i=(this._config.chunkSize&&(i=Math.min(this._start+this._config.chunkSize,this._input.size),e=r.call(e,this._start,i)),t.readAsText(e,this._config.encoding));n||this._chunkLoaded({target:{result:i}})},this._chunkLoaded=function(e){this._start+=this._config.chunkSize,this._finished=!this._config.chunkSize||this._start>=this._input.size,this.parseChunk(e.target.result)},this._chunkError=function(){this._sendError(t.error)}}function l(e){var t;u.call(this,e=e||{}),this.stream=function(e){return t=e,this._nextChunk()},this._nextChunk=function(){var e,r;if(!this._finished)return t=(e=this._config.chunkSize)?(r=t.substring(0,e),t.substring(e)):(r=t,""),this._finished=!t,this.parseChunk(r)}}function c(e){u.call(this,e=e||{});var t=[],r=!0,n=!1;this.pause=function(){u.prototype.pause.apply(this,arguments),this._input.pause()},this.resume=function(){u.prototype.resume.apply(this,arguments),this._input.resume()},this.stream=function(e){this._input=e,this._input.on("data",this._streamData),this._input.on("end",this._streamEnd),this._input.on("error",this._streamError)},this._checkIsFinished=function(){n&&1===t.length&&(this._finished=!0)},this._nextChunk=function(){this._checkIsFinished(),t.length?this.parseChunk(t.shift()):r=!0},this._streamData=k(function(e){try{t.push("string"==typeof e?e:e.toString(this._config.encoding)),r&&(r=!1,this._checkIsFinished(),this.parseChunk(t.shift()))}catch(e){this._streamError(e)}},this),this._streamError=k(function(e){this._streamCleanUp(),this._sendError(e)},this),this._streamEnd=k(function(){this._streamCleanUp(),n=!0,this._streamData("")},this),this._streamCleanUp=k(function(){this._input.removeListener("data",this._streamData),this._input.removeListener("end",this._streamEnd),this._input.removeListener("error",this._streamError)},this)}function d(e){var t,r,n,i,s=/^\s*-?(\d+\.?|\.\d+|\d+\.\d+)([eE][-+]?\d+)?\s*$/,a=/^((\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z))|(\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d([+-][0-2]\d:[0-5]\d|Z)))$/,u=this,h=0,f=0,l=!1,c=!1,d=[],_={data:[],errors:[],meta:{}};function m(t){return"greedy"===e.skipEmptyLines?""===t.join("").trim():1===t.length&&0===t[0].length}function y(){if(_&&n&&(E("Delimiter","UndetectableDelimiter","Unable to auto-detect delimiting character; defaulted to '"+o.DefaultDelimiter+"'"),n=!1),e.skipEmptyLines&&(_.data=_.data.filter(function(e){return!m(e)})),k()){if(_){if(Array.isArray(_.data[0])){for(var t,r=0;k()&&r<_.data.length;r++)_.data[r].forEach(i);_.data.splice(0,1)}else _.data.forEach(i)}function i(t,r){b(e.transformHeader)&&(t=e.transformHeader(t,r)),d.push(t)}}function u(t,r){for(var n=e.header?{}:[],i=0;i<t.length;i++){let r,h;var o=i,u=t[i],u=(r=o=e.header?i>=d.length?"__parsed_extra":d[i]:o,h=u=e.transform?e.transform(u,o):u,(e.dynamicTypingFunction&&void 0===e.dynamicTyping[r]&&(e.dynamicTyping[r]=e.dynamicTypingFunction(r)),!0===(e.dynamicTyping[r]||e.dynamicTyping))?"true"===h||"TRUE"===h||"false"!==h&&"FALSE"!==h&&((e=>{if(s.test(e)&&-9007199254740992<(e=parseFloat(e))&&e<9007199254740992)return 1})(h)?parseFloat(h):a.test(h)?new Date(h):""===h?null:h):h);"__parsed_extra"===o?(n[o]=n[o]||[],n[o].push(u)):n[o]=u}return e.header&&(i>d.length?E("FieldMismatch","TooManyFields","Too many fields: expected "+d.length+" fields but parsed "+i,f+r):i<d.length&&E("FieldMismatch","TooFewFields","Too few fields: expected "+d.length+" fields but parsed "+i,f+r)),n}_&&(e.header||e.dynamicTyping||e.transform)&&(t=1,!_.data.length||Array.isArray(_.data[0])?(_.data=_.data.map(u),t=_.data.length):_.data=u(_.data,0),e.header&&_.meta&&(_.meta.fields=d),f+=t)}function k(){return e.header&&0===d.length}function E(e,t,r,n){e={type:e,code:t,message:r},void 0!==n&&(e.row=n),_.errors.push(e)}b(e.step)&&(i=e.step,e.step=function(t){_=t,k()?y():(y(),0!==_.data.length&&(h+=t.data.length,e.preview&&h>e.preview?r.abort():(_.data=_.data[0],i(_,u))))}),this.parse=function(i,s,a){var u=e.quoteChar||'"',u=(e.newline||(e.newline=this.guessLineEndings(i,u)),n=!1,e.delimiter?b(e.delimiter)&&(e.delimiter=e.delimiter(i),_.meta.delimiter=e.delimiter):((u=((t,r,n,i,s)=>{var a,u,h,f;s=s||[","," ","|",";",o.RECORD_SEP,o.UNIT_SEP];for(var l=0;l<s.length;l++){for(var c,d=s[l],p=0,_=0,y=0,v=(h=void 0,new g({comments:i,delimiter:d,newline:r,preview:10}).parse(t)),k=0;k<v.data.length;k++)n&&m(v.data[k])?y++:(_+=c=v.data[k].length,void 0===h?h=c:0<c&&(p+=Math.abs(c-h),h=c));0<v.data.length&&(_/=v.data.length-y),(void 0===u||p<=u)&&(void 0===f||f<_)&&1.99<_&&(u=p,a=d,f=_)}return{successful:!!(e.delimiter=a),bestDelimiter:a}})(i,e.newline,e.skipEmptyLines,e.comments,e.delimitersToGuess)).successful?e.delimiter=u.bestDelimiter:(n=!0,e.delimiter=o.DefaultDelimiter),_.meta.delimiter=e.delimiter),v(e));return e.preview&&e.header&&u.preview++,t=i,_=(r=new g(u)).parse(t,s,a),y(),l?{meta:{paused:!0}}:_||{meta:{paused:!1}}},this.paused=function(){return l},this.pause=function(){l=!0,r.abort(),t=b(e.chunk)?"":t.substring(r.getCharIndex())},this.resume=function(){u.streamer._halted?(l=!1,u.streamer.parseChunk(t,!0)):setTimeout(u.resume,3)},this.aborted=function(){return c},this.abort=function(){c=!0,r.abort(),_.meta.aborted=!0,b(e.complete)&&e.complete(_),t=""},this.guessLineEndings=function(e,t){e=e.substring(0,1048576);var t=RegExp(p(t)+"([^]*?)"+p(t),"gm"),r=(e=e.replace(t,"")).split("\r"),t=e.split("\n"),e=1<t.length&&t[0].length<r[0].length;if(1===r.length||e)return"\n";for(var n=0,i=0;i<r.length;i++)"\n"===r[i][0]&&n++;return n>=r.length/2?"\r\n":"\r"}}function p(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function g(e){var t=(e=e||{}).delimiter,r=e.newline,n=e.comments,i=e.step,s=e.preview,a=e.fastMode,u=null,h=!1,f=null==e.quoteChar?'"':e.quoteChar,l=f;if(void 0!==e.escapeChar&&(l=e.escapeChar),("string"!=typeof t||-1<o.BAD_DELIMITERS.indexOf(t))&&(t=","),n===t)throw Error("Comment character same as delimiter");!0===n?n="#":("string"!=typeof n||-1<o.BAD_DELIMITERS.indexOf(n))&&(n=!1),"\n"!==r&&"\r"!==r&&"\r\n"!==r&&(r="\n");var c=0,d=!1;this.parse=function(o,g,_){if("string"!=typeof o)throw Error("Input must be a string");var m=o.length,y=t.length,v=r.length,k=n.length,E=b(i),w=[],x=[],R=[],C=c=0;if(!o)return P();if(a||!1!==a&&-1===o.indexOf(f)){for(var O=o.split(r),S=0;S<O.length;S++){if(R=O[S],c+=R.length,S!==O.length-1)c+=r.length;else if(_)break;if(!n||R.substring(0,k)!==n){if(E){if(w=[],F(R.split(t)),U(),d)return P()}else F(R.split(t));if(s&&s<=S)return w=w.slice(0,s),P(!0)}}return P()}for(var I=o.indexOf(t,c),A=o.indexOf(r,c),T=RegExp(p(l)+p(f),"g"),D=o.indexOf(f,c);;)if(o[c]===f)for(D=c,c++;;){if(-1===(D=o.indexOf(f,D+1)))return _||x.push({type:"Quotes",code:"MissingQuotes",message:"Quoted field unterminated",row:w.length,index:c}),z();if(D===m-1)return z(o.substring(c,D).replace(T,f));if(f===l&&o[D+1]===l)D++;else if(f===l||0===D||o[D-1]!==l){-1!==I&&I<D+1&&(I=o.indexOf(t,D+1));var L=j(-1===(A=-1!==A&&A<D+1?o.indexOf(r,D+1):A)?I:Math.min(I,A));if(o.substr(D+1+L,y)===t){R.push(o.substring(c,D).replace(T,f)),o[c=D+1+L+y]!==f&&(D=o.indexOf(f,c)),I=o.indexOf(t,c),A=o.indexOf(r,c);break}if(L=j(A),o.substring(D+1+L,D+1+L+v)===r){if(R.push(o.substring(c,D).replace(T,f)),M(D+1+L+v),I=o.indexOf(t,c),D=o.indexOf(f,c),E&&(U(),d))return P();if(s&&w.length>=s)return P(!0);break}x.push({type:"Quotes",code:"InvalidQuotes",message:"Trailing quote on quoted field is malformed",row:w.length,index:c}),D++}}else if(n&&0===R.length&&o.substring(c,c+k)===n){if(-1===A)return P();c=A+v,A=o.indexOf(r,c),I=o.indexOf(t,c)}else if(-1!==I&&(I<A||-1===A))R.push(o.substring(c,I)),c=I+y,I=o.indexOf(t,c);else{if(-1===A)break;if(R.push(o.substring(c,A)),M(A+v),E&&(U(),d))return P();if(s&&w.length>=s)return P(!0)}return z();function F(e){w.push(e),C=c}function j(e){return -1!==e&&(e=o.substring(D+1,e))&&""===e.trim()?e.length:0}function z(e){return _||(void 0===e&&(e=o.substring(c)),R.push(e),c=m,F(R),E&&U()),P()}function M(e){c=e,F(R),R=[],A=o.indexOf(r,c)}function P(n){if(e.header&&!g&&w.length&&!h){var i=w[0],s=Object.create(null),a=new Set(i);let t=!1;for(let r=0;r<i.length;r++){let n=i[r];if(s[n=b(e.transformHeader)?e.transformHeader(n,r):n]){let e,o=s[n];for(;e=n+"_"+o,o++,a.has(e););a.add(e),i[r]=e,s[n]++,t=!0,(u=null===u?{}:u)[e]=n}else s[n]=1,i[r]=n;a.add(n)}t&&console.warn("Duplicate headers found and renamed."),h=!0}return{data:w,errors:x,meta:{delimiter:t,linebreak:r,aborted:d,truncated:!!n,cursor:C+(g||0),renamedHeaders:u}}}function U(){i(P()),w=[],x=[]}},this.abort=function(){d=!0},this.getCharIndex=function(){return c}}function _(e){var t=e.data,r=s[t.workerId],n=!1;if(t.error)r.userError(t.error,t.file);else if(t.results&&t.results.data){var i={abort:function(){n=!0,m(t.workerId,{data:[],errors:[],meta:{aborted:!0}})},pause:y,resume:y};if(b(r.userStep)){for(var a=0;a<t.results.data.length&&(r.userStep({data:t.results.data[a],errors:t.results.errors,meta:t.results.meta},i),!n);a++);delete t.results}else b(r.userChunk)&&(r.userChunk(t.results,i,t.file),delete t.results)}t.finished&&!n&&m(t.workerId,t.results)}function m(e,t){var r=s[e];b(r.userComplete)&&r.userComplete(t),r.terminate(),delete s[e]}function y(){throw Error("Not implemented.")}function v(e){if("object"!=typeof e||null===e)return e;var t,r=Array.isArray(e)?[]:{};for(t in e)r[t]=v(e[t]);return r}function k(e,t){return function(){e.apply(t,arguments)}}function b(e){return"function"==typeof e}return o.parse=function(t,n){var i,u,d,p=(n=n||{}).dynamicTyping||!1;if(b(p)&&(n.dynamicTypingFunction=p,p={}),n.dynamicTyping=p,n.transform=!!b(n.transform)&&n.transform,!n.worker||!o.WORKERS_SUPPORTED){let e;return p=null,o.NODE_STREAM_INPUT,"string"==typeof t?(t=65279!==(e=t).charCodeAt(0)?e:e.slice(1),p=new(n.download?h:l)(n)):!0===t.readable&&b(t.read)&&b(t.on)?p=new c(n):(r.File&&t instanceof File||t instanceof Object)&&(p=new f(n)),p.stream(t)}(p=!!o.WORKERS_SUPPORTED&&(u=r.URL||r.webkitURL||null,d=e.toString(),i=o.BLOB_URL||(o.BLOB_URL=u.createObjectURL(new Blob(["var global = (function() { if (typeof self !== 'undefined') { return self; } if (typeof window !== 'undefined') { return window; } if (typeof global !== 'undefined') { return global; } return {}; })(); global.IS_PAPA_WORKER=true; ","(",d,")();"],{type:"text/javascript"}))),(i=new r.Worker(i)).onmessage=_,i.id=a++,s[i.id]=i)).userStep=n.step,p.userChunk=n.chunk,p.userComplete=n.complete,p.userError=n.error,n.step=b(n.step),n.chunk=b(n.chunk),n.complete=b(n.complete),n.error=b(n.error),delete n.worker,p.postMessage({input:t,config:n,workerId:p.id})},o.unparse=function(e,t){var r=!1,n=!0,i=",",s="\r\n",a='"',u=a+a,h=!1,f=null,l=!1,c=((()=>{if("object"==typeof t){if("string"!=typeof t.delimiter||o.BAD_DELIMITERS.filter(function(e){return -1!==t.delimiter.indexOf(e)}).length||(i=t.delimiter),("boolean"==typeof t.quotes||"function"==typeof t.quotes||Array.isArray(t.quotes))&&(r=t.quotes),"boolean"!=typeof t.skipEmptyLines&&"string"!=typeof t.skipEmptyLines||(h=t.skipEmptyLines),"string"==typeof t.newline&&(s=t.newline),"string"==typeof t.quoteChar&&(a=t.quoteChar),"boolean"==typeof t.header&&(n=t.header),Array.isArray(t.columns)){if(0===t.columns.length)throw Error("Option columns is empty");f=t.columns}void 0!==t.escapeChar&&(u=t.escapeChar+a),t.escapeFormulae instanceof RegExp?l=t.escapeFormulae:"boolean"==typeof t.escapeFormulae&&t.escapeFormulae&&(l=/^[=+\-@\t\r].*$/)}})(),RegExp(p(a),"g"));if("string"==typeof e&&(e=JSON.parse(e)),Array.isArray(e)){if(!e.length||Array.isArray(e[0]))return d(null,e,h);if("object"==typeof e[0])return d(f||Object.keys(e[0]),e,h)}else if("object"==typeof e)return"string"==typeof e.data&&(e.data=JSON.parse(e.data)),Array.isArray(e.data)&&(e.fields||(e.fields=e.meta&&e.meta.fields||f),e.fields||(e.fields=Array.isArray(e.data[0])?e.fields:"object"==typeof e.data[0]?Object.keys(e.data[0]):[]),Array.isArray(e.data[0])||"object"==typeof e.data[0]||(e.data=[e.data])),d(e.fields||[],e.data||[],h);throw Error("Unable to serialize unrecognized input");function d(e,t,r){var a="",o=("string"==typeof e&&(e=JSON.parse(e)),"string"==typeof t&&(t=JSON.parse(t)),Array.isArray(e)&&0<e.length),u=!Array.isArray(t[0]);if(o&&n){for(var h=0;h<e.length;h++)0<h&&(a+=i),a+=g(e[h],h);0<t.length&&(a+=s)}for(var f=0;f<t.length;f++){var l=(o?e:t[f]).length,c=!1,d=o?0===Object.keys(t[f]).length:0===t[f].length;if(r&&!o&&(c="greedy"===r?""===t[f].join("").trim():1===t[f].length&&0===t[f][0].length),"greedy"===r&&o){for(var p=[],_=0;_<l;_++){var m=u?e[_]:_;p.push(t[f][m])}c=""===p.join("").trim()}if(!c){for(var y=0;y<l;y++){0<y&&!d&&(a+=i);var v=o&&u?e[y]:y;a+=g(t[f][v],y)}f<t.length-1&&(!r||0<l&&!d)&&(a+=s)}}return a}function g(e,t){var n,s;return null==e?"":e.constructor===Date?JSON.stringify(e).slice(1,25):(s=!1,l&&"string"==typeof e&&l.test(e)&&(e="'"+e,s=!0),n=e.toString().replace(c,u),(s=s||!0===r||"function"==typeof r&&r(e,t)||Array.isArray(r)&&r[t]||((e,t)=>{for(var r=0;r<t.length;r++)if(-1<e.indexOf(t[r]))return!0;return!1})(n,o.BAD_DELIMITERS)||-1<n.indexOf(i)||" "===n.charAt(0)||" "===n.charAt(n.length-1))?a+n+a:n)}},o.RECORD_SEP="\x1e",o.UNIT_SEP="\x1f",o.BYTE_ORDER_MARK="\uFEFF",o.BAD_DELIMITERS=["\r","\n",'"',o.BYTE_ORDER_MARK],o.WORKERS_SUPPORTED=!n&&!!r.Worker,o.NODE_STREAM_INPUT=1,o.LocalChunkSize=10485760,o.RemoteChunkSize=5242880,o.DefaultDelimiter=",",o.Parser=g,o.ParserHandle=d,o.NetworkStreamer=h,o.FileStreamer=f,o.StringStreamer=l,o.ReadableStreamStreamer=c,r.jQuery&&((t=r.jQuery).fn.parse=function(e){var n=e.config||{},i=[];return this.each(function(e){if(!("INPUT"===t(this).prop("tagName").toUpperCase()&&"file"===t(this).attr("type").toLowerCase()&&r.FileReader)||!this.files||0===this.files.length)return!0;for(var s=0;s<this.files.length;s++)i.push({file:this.files[s],inputElem:this,instanceConfig:t.extend({},n)})}),s(),this;function s(){if(0===i.length)b(e.complete)&&e.complete();else{var r,n,s,u,h=i[0];if(b(e.before)){var f=e.before(h.file,h.inputElem);if("object"==typeof f){if("abort"===f.action)return r="AbortError",n=h.file,s=h.inputElem,u=f.reason,void(b(e.error)&&e.error({name:r},n,s,u));if("skip"===f.action)return void a();"object"==typeof f.config&&(h.instanceConfig=t.extend(h.instanceConfig,f.config))}else if("skip"===f)return void a()}var l=h.instanceConfig.complete;h.instanceConfig.complete=function(e){b(l)&&l(e,h.file,h.inputElem),a()},o.parse(h.file,h.instanceConfig)}}function a(){i.splice(0,1),s()}}),i&&(r.onmessage=function(e){e=e.data,void 0===o.WORKER_ID&&e&&(o.WORKER_ID=e.workerId),"string"==typeof e.input?r.postMessage({workerId:o.WORKER_ID,results:o.parse(e.input,e.config),finished:!0}):(r.File&&e.input instanceof File||e.input instanceof Object)&&(e=o.parse(e.input,e.config))&&r.postMessage({workerId:o.WORKER_ID,results:e,finished:!0})}),(h.prototype=Object.create(u.prototype)).constructor=h,(f.prototype=Object.create(u.prototype)).constructor=f,(l.prototype=Object.create(l.prototype)).constructor=l,(c.prototype=Object.create(u.prototype)).constructor=c,o})?r.apply(t,n):r)&&(e.exports=i)}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1467],{96586:function(t,e,r){var n=r(57753),o=r(82452),i=r(22115),a=r(38256),u=r(67426);function s(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}s.prototype.clear=n,s.prototype.delete=o,s.prototype.get=i,s.prototype.has=a,s.prototype.set=u,t.exports=s},36301:function(t,e,r){var n=r(69417),o=r(72470),i=r(66165),a=r(71873),u=r(52556);function s(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}s.prototype.clear=n,s.prototype.delete=o,s.prototype.get=i,s.prototype.has=a,s.prototype.set=u,t.exports=s},44538:function(t,e,r){var n=r(81822)(r(77400),"Map");t.exports=n},74554:function(t,e,r){var n=r(39448),o=r(7738),i=r(66575),a=r(7238),u=r(38738);function s(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}s.prototype.clear=n,s.prototype.delete=o,s.prototype.get=i,s.prototype.has=a,s.prototype.set=u,t.exports=s},46151:function(t,e,r){var n=r(81822)(r(77400),"Set");t.exports=n},93382:function(t,e,r){var n=r(85638);t.exports=function(t,e){for(var r=t.length;r--;)if(n(t[r][0],e))return r;return -1}},46729:function(t,e,r){var n=r(28338),o=r(99678),i=r(11611),a=r(76532),u=/^\[object .+?Constructor\]$/,s=Object.prototype,l=Function.prototype.toString,c=s.hasOwnProperty,d=RegExp("^"+l.call(c).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");t.exports=function(t){return!(!i(t)||o(t))&&(n(t)?d:u).test(a(t))}},64937:function(t,e,r){var n=r(77400)["__core-js_shared__"];t.exports=n},95899:function(t,e,r){var n=r(54479);t.exports=function(t,e){var r=t.__data__;return n(e)?r["string"==typeof e?"string":"hash"]:r.map}},81822:function(t,e,r){var n=r(46729),o=r(15371);t.exports=function(t,e){var r=o(t,e);return n(r)?r:void 0}},15371:function(t){t.exports=function(t,e){return null==t?void 0:t[e]}},57753:function(t,e,r){var n=r(35718);t.exports=function(){this.__data__=n?n(null):{},this.size=0}},82452:function(t){t.exports=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e}},22115:function(t,e,r){var n=r(35718),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;if(n){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return o.call(e,t)?e[t]:void 0}},38256:function(t,e,r){var n=r(35718),o=Object.prototype.hasOwnProperty;t.exports=function(t){var e=this.__data__;return n?void 0!==e[t]:o.call(e,t)}},67426:function(t,e,r){var n=r(35718);t.exports=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=n&&void 0===e?"__lodash_hash_undefined__":e,this}},54479:function(t){t.exports=function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}},99678:function(t,e,r){var n,o=r(64937),i=(n=/[^.]+$/.exec(o&&o.keys&&o.keys.IE_PROTO||""))?"Symbol(src)_1."+n:"";t.exports=function(t){return!!i&&i in t}},69417:function(t){t.exports=function(){this.__data__=[],this.size=0}},72470:function(t,e,r){var n=r(93382),o=Array.prototype.splice;t.exports=function(t){var e=this.__data__,r=n(e,t);return!(r<0)&&(r==e.length-1?e.pop():o.call(e,r,1),--this.size,!0)}},66165:function(t,e,r){var n=r(93382);t.exports=function(t){var e=this.__data__,r=n(e,t);return r<0?void 0:e[r][1]}},71873:function(t,e,r){var n=r(93382);t.exports=function(t){return n(this.__data__,t)>-1}},52556:function(t,e,r){var n=r(93382);t.exports=function(t,e){var r=this.__data__,o=n(r,t);return o<0?(++this.size,r.push([t,e])):r[o][1]=e,this}},39448:function(t,e,r){var n=r(96586),o=r(36301),i=r(44538);t.exports=function(){this.size=0,this.__data__={hash:new n,map:new(i||o),string:new n}}},7738:function(t,e,r){var n=r(95899);t.exports=function(t){var e=n(this,t).delete(t);return this.size-=e?1:0,e}},66575:function(t,e,r){var n=r(95899);t.exports=function(t){return n(this,t).get(t)}},7238:function(t,e,r){var n=r(95899);t.exports=function(t){return n(this,t).has(t)}},38738:function(t,e,r){var n=r(95899);t.exports=function(t,e){var r=n(this,t),o=r.size;return r.set(t,e),this.size+=r.size==o?0:1,this}},35718:function(t,e,r){var n=r(81822)(Object,"create");t.exports=n},76532:function(t){var e=Function.prototype.toString;t.exports=function(t){if(null!=t){try{return e.call(t)}catch(t){}try{return t+""}catch(t){}}return""}},30454:function(t,e,r){var n=r(40699);t.exports=function(t){return n(t,5)}},85638:function(t){t.exports=function(t,e){return t===e||t!=t&&e!=e}},28338:function(t,e,r){var n=r(99736),o=r(11611);t.exports=function(t){if(!o(t))return!1;var e=n(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}},11611:function(t){t.exports=function(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}},76737:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),function(t,e){for(var r in e)Object.defineProperty(t,r,{enumerable:!0,get:e[r]})}(e,{default:function(){return u},noSSR:function(){return a}});let n=r(51538);r(24246),r(27378);let o=n._(r(21887));function i(t){return{default:(null==t?void 0:t.default)||t}}function a(t,e){return delete e.webpack,delete e.modules,t(e)}function u(t,e){let r=o.default,n={loading:t=>{let{error:e,isLoading:r,pastDelay:n}=t;return null}};t instanceof Promise?n.loader=()=>t:"function"==typeof t?n.loader=t:"object"==typeof t&&(n={...n,...t});let u=(n={...n,...e}).loader;return(n.loadableGenerated&&(n={...n,...n.loadableGenerated},delete n.loadableGenerated),"boolean"!=typeof n.ssr||n.ssr)?r({...n,loader:()=>null!=u?u().then(i):Promise.resolve(i(()=>null))}):(delete n.webpack,delete n.modules,a(r,n))}("function"==typeof e.default||"object"==typeof e.default&&null!==e.default)&&void 0===e.default.__esModule&&(Object.defineProperty(e.default,"__esModule",{value:!0}),Object.assign(e.default,e),t.exports=e.default)},28438:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"LoadableContext",{enumerable:!0,get:function(){return n}});let n=r(51538)._(r(27378)).default.createContext(null)},21887:function(t,e,r){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return f}});let n=r(51538)._(r(27378)),o=r(28438),i=[],a=[],u=!1;function s(t){let e=t(),r={loading:!0,loaded:null,error:null};return r.promise=e.then(t=>(r.loading=!1,r.loaded=t,t)).catch(t=>{throw r.loading=!1,r.error=t,t}),r}class l{promise(){return this._res.promise}retry(){this._clearTimeouts(),this._res=this._loadFn(this._opts.loader),this._state={pastDelay:!1,timedOut:!1};let{_res:t,_opts:e}=this;t.loading&&("number"==typeof e.delay&&(0===e.delay?this._state.pastDelay=!0:this._delay=setTimeout(()=>{this._update({pastDelay:!0})},e.delay)),"number"==typeof e.timeout&&(this._timeout=setTimeout(()=>{this._update({timedOut:!0})},e.timeout))),this._res.promise.then(()=>{this._update({}),this._clearTimeouts()}).catch(t=>{this._update({}),this._clearTimeouts()}),this._update({})}_update(t){this._state={...this._state,error:this._res.error,loaded:this._res.loaded,loading:this._res.loading,...t},this._callbacks.forEach(t=>t())}_clearTimeouts(){clearTimeout(this._delay),clearTimeout(this._timeout)}getCurrentValue(){return this._state}subscribe(t){return this._callbacks.add(t),()=>{this._callbacks.delete(t)}}constructor(t,e){this._loadFn=t,this._opts=e,this._callbacks=new Set,this._delay=null,this._timeout=null,this.retry()}}function c(t){return function(t,e){let r=Object.assign({loader:null,loading:null,delay:200,timeout:null,webpack:null,modules:null},e),i=null;function s(){if(!i){let e=new l(t,r);i={getCurrentValue:e.getCurrentValue.bind(e),subscribe:e.subscribe.bind(e),retry:e.retry.bind(e),promise:e.promise.bind(e)}}return i.promise()}if(!u){let t=r.webpack?r.webpack():r.modules;t&&a.push(e=>{for(let r of t)if(e.includes(r))return s()})}function c(t,e){!function(){s();let t=n.default.useContext(o.LoadableContext);t&&Array.isArray(r.modules)&&r.modules.forEach(e=>{t(e)})}();let a=n.default.useSyncExternalStore(i.subscribe,i.getCurrentValue,i.getCurrentValue);return n.default.useImperativeHandle(e,()=>({retry:i.retry}),[]),n.default.useMemo(()=>{var e;return a.loading||a.error?n.default.createElement(r.loading,{isLoading:a.loading,pastDelay:a.pastDelay,timedOut:a.timedOut,error:a.error,retry:i.retry}):a.loaded?n.default.createElement((e=a.loaded)&&e.default?e.default:e,t):null},[t,a])}return c.preload=()=>s(),c.displayName="LoadableComponent",n.default.forwardRef(c)}(s,t)}function d(t,e){let r=[];for(;t.length;){let n=t.pop();r.push(n(e))}return Promise.all(r).then(()=>{if(t.length)return d(t,e)})}c.preloadAll=()=>new Promise((t,e)=>{d(i).then(t,e)}),c.preloadReady=t=>(void 0===t&&(t=[]),new Promise(e=>{let r=()=>(u=!0,e());d(a,t).then(r,r)})),window.__NEXT_PRELOADREADY=c.preloadReady;let f=c},65218:function(t,e,r){t.exports=r(76737)}}]);
|