ethyca-fides 2.64.3b0__py2.py3-none-any.whl → 2.64.5rc1__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.64.3b0.dist-info → ethyca_fides-2.64.5rc1.dist-info}/METADATA +3 -3
- {ethyca_fides-2.64.3b0.dist-info → ethyca_fides-2.64.5rc1.dist-info}/RECORD +245 -237
- fides/_version.py +3 -3
- fides/api/api/v1/api.py +0 -2
- fides/api/db/base.py +3 -6
- fides/api/db/database.py +2 -27
- fides/api/graph/config.py +9 -16
- fides/api/models/attachment.py +3 -15
- fides/api/models/comment.py +5 -23
- fides/api/models/connectionconfig.py +0 -11
- fides/api/models/db_cache.py +1 -1
- fides/api/models/detection_discovery/core.py +15 -15
- fides/api/models/fides_user_respondent_email_verification.py +2 -27
- fides/api/models/manual_tasks/__init__.py +14 -0
- fides/api/models/manual_tasks/manual_task.py +120 -0
- fides/api/models/manual_tasks/manual_task_config.py +136 -0
- fides/api/models/manual_tasks/manual_task_log.py +104 -0
- fides/api/models/tcf_publisher_restrictions.py +4 -16
- fides/api/schemas/manual_tasks/__init__.py +0 -0
- fides/api/schemas/manual_tasks/manual_task_config.py +311 -0
- fides/api/schemas/manual_tasks/manual_task_schemas.py +79 -0
- fides/api/schemas/manual_tasks/manual_task_status.py +151 -0
- fides/api/service/connectors/query_configs/bigquery_query_config.py +22 -44
- fides/api/service/connectors/query_configs/query_config.py +2 -5
- fides/api/util/connection_util.py +2 -25
- fides/common/api/v1/urn_registry.py +0 -4
- fides/service/manual_tasks/__init__.py +0 -0
- fides/service/manual_tasks/manual_task_config_service.py +370 -0
- fides/service/manual_tasks/manual_task_service.py +294 -0
- fides/service/manual_tasks/utils.py +185 -0
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{1040-3def3c62138371bb.js → 1040-c1c1372a7f909aef.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/1100-3fdbdf211c3c2a5b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{1817-a3813209d7a6d28d.js → 1817-96182c1558f80b63.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/2430-b480401d44c55416.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{2921-81a48418f77bc9a7.js → 2921-f5608275555bd7d9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3450-3a1f0e80ead8d1b0.js → 3450-272f26c102f3510d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/3505-192986c86dc47869.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3513-a563133845dc990f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/3670-2abd9b2f17770872.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{3855-b85ad4e52433d519.js → 3855-beb58821d1ddba89.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3872-09f81435f7905d76.js → 3872-82482e55e69b5a93.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3923-565a852f322fdadc.js → 3923-a54c286a2ba0a47a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/3983-17ae9c232bddc413.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{401-c3f586a23a061526.js → 401-d2ce0a5a9120e056.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/4060-3486b45081151b69.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{409-e0d39af1d9ce8ff2.js → 409-86f4f687105917fb.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/4121-f0aecb2abd384945.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{4230-d80ae2430aca784a.js → 4230-63abbdfb9e9016b9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{431-c74dab231c8ac968.js → 431-77d59d43e90058ca.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/4481-d181a9db72984adf.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{5309-0e44dbd914896514.js → 5309-10f68cf805817cfb.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{5574-917c5ff63d222308.js → 5574-b6db9d62362e72d9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/6060-cb1ab5be7067bf7b.js +4 -0
- fides/ui-build/static/admin/_next/static/chunks/6277-ccdb50f676a1b336.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6659-b2088f525bf13c17.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/6662-42940a2b00933e79.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{6853-8d0a099f61c758d1.js → 6853-8a1b8e1c8b249f2f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6882-13d6f8d95b1e404f.js → 6882-6c94583bffe85ba7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/69-943b19d39da339d9.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{6954-882b87698c5ed4fb.js → 6954-dc3540389daf94da.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/7553-e7ae268701f3dcfe.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{79-3f742fe4efd9893f.js → 79-26ccd45dfd6653a7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{796-83a8bbdcdb67f2ba.js → 796-38c0f7e6755ad359.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/8433-1e065c55c8da73b0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9046-6995482a030e323c.js → 9046-bbce3c73af16daf9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{905-ffdbd0b14167e8bd.js → 905-742074a074be1055.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9226-8a3be36ad1a9c1e7.js → 9226-5e0ce31cfdedd5ee.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9392.9a948112de74781b.js → 9392.25024e070026343d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9676.cc515c853b8cf578.js → 9676.e60a53f1f5890847.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/9767-96ed554a043c3c4d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{9951-b5b77bfcc8efb493.js → 9951-d3d5d0fe4c4edb86.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{404-488f8f03fe0ffbc7.js → 404-d41660858638adee.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{_app-030b20295bb61f96.js → _app-6b3539f8d82ce9ae.js} +89 -92
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-1e88ac28bc7a41b6.js → manual-7c5e1e845372c99b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-f2c9451fffaaa529.js → multiple-87e78f52af21c4a9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-68955d8441e60668.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-b17d160147365cf3.js → add-vendors-6374a3a7747df964.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-8e168d78acdf0cfe.js → configure-0512151e2ed0f4c1.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-5ca2467de7986929.js → [id]-09435f4ab2deafd2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{new-06bb3b0bf097fcdb.js → new-a0039f216fb3eb93.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-3c11fecc2797ab68.js → privacy-experience-cd036518b5d4efbe.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-92bc6c7b82a679b4.js → [id]-0e534580abf670be.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-a3da3243526b7ecb.js → new-bb1790eb87b63109.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-b7d82386e7521041.js → privacy-notices-67e9846f877a3f38.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-20a2029b7e7fc895.js → properties-69a92b6ddbc2bae2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{reporting-0ce299131db4c3e5.js → reporting-d07d05f4b898a5ed.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{consent-9f6a7a231bba17b7.js → consent-23e886d692ab6d1a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-11d52f1570759c4d.js → [resourceUrn]-c623d6f1a61c8ea9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-fd705968b357e99a.js → [projectUrn]-6c766c766dc97c5c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-45b585deee0b2371.js → projects-28937a8da3d73145.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-b83afa5565d0c84e.js → [resourceUrn]-57bd5cdf784f059f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{resources-d8db234a44a2ddf4.js → resources-51d99174c8006eb5.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{data-catalog-2810fa2b519a076b.js → data-catalog-627fbf19dce88e81.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/{[systemId]-e861699a8866c64b.js → [systemId]-ed1629b05519a370.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/{[monitorId]-5dd2fbf33e228f9c.js → [monitorId]-ad307bfc5f51fd9d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{action-center-806cae6bc128cd38.js → action-center-07cbd61ede6e18ac.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-487285bd5eca2595.js → activity-6a2aaed8d0e66d82.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-393e20924c83373e.js → [resourceUrn]-06edce289876dea1.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-8733807dad4bc96e.js → detection-faf326a6200637d0.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-14bd7500362ff224.js → [resourceUrn]-64acf269256ee74f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-9e7dfd5a6acc2e8f.js → discovery-8c3e4be6d36da66d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{datamap-c9509d72c538d22b.js → datamap-b576a94b583a7940.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-4e8a436297a055b2.js → [...subfieldNames]-4912858ffde4621a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-6ce02295bb7f5b6d.js → [collectionName]-df21dd7ca0f35718.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-9eaa907437fde063.js → [datasetId]-5ce28a329e8f667f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-5287c76ecf600281.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-b328595abf20ea5d.js → dataset-c6fab547396df6ac.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-81ab412e337d2888.js → [id]-d04c9925d324eee1.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{new-34dfc172165dbb1c.js → new-656abd09ea5ee39a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-23fbec0590c8d192.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{index-de954b741cbca022.js → index-b66687e8194495a2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/{[id]-16dd6eff8f5dcc81.js → [id]-906bc5f05702efb0.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations-024a1facb9be04d0.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{[id]-42edcab11e8b5c3c.js → [id]-b74db8488e2e4b58.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{add-template-333e54ac8c3ad57a.js → add-template-a607018ff097b6c2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{messaging-8e1e6f3782983225.js → messaging-4a1a04c5179d2053.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-1567c9770a5f05aa.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{AntForm-920338760f5a71b5.js → AntForm-4949fe7f1815462b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikAntFormItem-7462fb387a9de3f8.js → FormikAntFormItem-6085f73850302d55.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikControlled-6148fce7a4e2e9ca.js → FormikControlled-a3158e8217c13850.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikField-30efd8c937bf19e4.js → FormikField-8576f1ef5c67d87d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{forms-c44de83e0952d1e0.js → forms-341e67462b5e3352.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-6f0e64f0c52bd68f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-6971c7773dbf9b51.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-303bd2182da03088.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-831572cc7f42615f.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-1d981663e1a84166.js → configure-d24230b890b13762.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-569ff31eff637034.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-b08a69b1c460c7fe.js → [id]-2bedc5013e13ab52.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-a5d1c65ec21df69d.js → add-property-9d68bd70299dd945.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{properties-3a75c6ed8308d126.js → properties-c3116b6bfe2e695e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/{datamap-dda59a7105ee609b.js → datamap-6dfa7091b99d8321.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/{alpha-6773158ba6ccf4b0.js → alpha-9751059905bba190.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{about-2e046d177d52465c.js → about-ad29d77012ec9dba.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-91f2ec72f9654cbd.js → [purpose_id]-32e3190c1ad00b40.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-13a17a4ace7293d1.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{custom-fields-94d97e3eb964c494.js → custom-fields-d2c0aac32f5d2930.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-2c7ecff0a8a74c42.js → domain-records-a10674380f94d014.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-78449b0e02bced88.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-7d299c4cb3199036.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-8d4383584c72eb5a.js → locations-cc7d629433fa6d44.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-a9fa55c40fa570a6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-29892065d99ff113.js → regulations-64a813cb2741683b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-547b0cfe1e49e6d2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-8fa8a2f238e08791.js → [id]-fb3d094e4f4585f6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{systems-acdbdd3dfd21162f.js → systems-c2df5b7b0596a9cb.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-261deb6fb3e51cb3.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/{new-a2524414e968f862.js → new-b124cc24b930c9e1.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-87ed17fa1d9f8f72.js → [id]-fd2ff6b13052c54e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-6b4e0764bb8816b8.js → user-management-fa052b0439920ef6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{webpack-da78c536f3d86d06.js → webpack-e61d457474e00565.js} +1 -1
- fides/ui-build/static/admin/_next/static/css/{1994066ec907b7df.css → c693338e3bc8dcc6.css} +1 -1
- fides/ui-build/static/admin/_next/static/wyqNbL8A-USLbXV5z1vV0/_buildManifest.js +1 -0
- fides/ui-build/static/admin/add-systems/manual.html +1 -1
- fides/ui-build/static/admin/add-systems/multiple.html +1 -1
- fides/ui-build/static/admin/add-systems.html +1 -1
- fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
- fides/ui-build/static/admin/consent/configure.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
- fides/ui-build/static/admin/consent/properties.html +1 -1
- fides/ui-build/static/admin/consent/reporting.html +1 -1
- fides/ui-build/static/admin/consent.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
- fides/ui-build/static/admin/data-catalog.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
- fides/ui-build/static/admin/data-discovery/activity.html +1 -1
- fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/detection.html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
- fides/ui-build/static/admin/datamap.html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
- fides/ui-build/static/admin/dataset/new.html +1 -1
- fides/ui-build/static/admin/dataset.html +1 -1
- fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
- fides/ui-build/static/admin/datastore-connection/new.html +1 -1
- fides/ui-build/static/admin/datastore-connection.html +1 -1
- fides/ui-build/static/admin/index.html +1 -1
- fides/ui-build/static/admin/integrations/[id].html +1 -1
- fides/ui-build/static/admin/integrations.html +1 -1
- fides/ui-build/static/admin/lib/fides-ext-gpp.js +1 -1
- fides/ui-build/static/admin/lib/fides-headless.js +1 -1
- fides/ui-build/static/admin/lib/fides-preview.js +1 -1
- fides/ui-build/static/admin/lib/fides-tcf.js +2 -2
- fides/ui-build/static/admin/lib/fides.js +2 -2
- fides/ui-build/static/admin/login/[provider].html +1 -1
- fides/ui-build/static/admin/login.html +1 -1
- fides/ui-build/static/admin/messaging/[id].html +1 -1
- fides/ui-build/static/admin/messaging/add-template.html +1 -1
- fides/ui-build/static/admin/messaging.html +1 -1
- fides/ui-build/static/admin/poc/ant-components.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
- fides/ui-build/static/admin/poc/forms.html +1 -1
- fides/ui-build/static/admin/poc/table-migration.html +1 -1
- fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
- fides/ui-build/static/admin/privacy-requests.html +1 -1
- fides/ui-build/static/admin/properties/[id].html +1 -1
- fides/ui-build/static/admin/properties/add-property.html +1 -1
- fides/ui-build/static/admin/properties.html +1 -1
- fides/ui-build/static/admin/reporting/datamap.html +1 -1
- fides/ui-build/static/admin/settings/about/alpha.html +1 -1
- fides/ui-build/static/admin/settings/about.html +1 -1
- fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
- fides/ui-build/static/admin/settings/consent.html +1 -1
- fides/ui-build/static/admin/settings/custom-fields.html +1 -1
- fides/ui-build/static/admin/settings/domain-records.html +1 -1
- fides/ui-build/static/admin/settings/domains.html +1 -1
- fides/ui-build/static/admin/settings/email-templates.html +1 -1
- fides/ui-build/static/admin/settings/locations.html +1 -1
- fides/ui-build/static/admin/settings/organization.html +1 -1
- fides/ui-build/static/admin/settings/regulations.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id].html +1 -1
- fides/ui-build/static/admin/systems.html +1 -1
- fides/ui-build/static/admin/taxonomy.html +1 -1
- fides/ui-build/static/admin/user-management/new.html +1 -1
- fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
- fides/ui-build/static/admin/user-management.html +1 -1
- fides/api/alembic/migrations/versions/41a634d8c669_manual_task_restrict_deletes.py +0 -257
- fides/api/alembic/migrations/versions/6a76a1fa4f3f_add_manual_task_instance_table.py +0 -256
- fides/api/alembic/migrations/versions/aadfe83c5644_add_manual_task_to_connectiontype_enum.py +0 -46
- fides/api/api/v1/endpoints/partitioning_endpoints.py +0 -108
- fides/api/models/manual_task.py +0 -965
- fides/api/schemas/partitioning/__init__.py +0 -17
- fides/api/schemas/partitioning/bigquery_time_based_partitioning.py +0 -31
- fides/api/schemas/partitioning/time_based_partitioning.py +0 -1376
- fides/ui-build/static/admin/_next/static/chunks/1169-76bbada4f3d16538.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/1807-3beab149351d5ded.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/3615-5e2d062d684b8fa1.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/4121-de4ca969faf2b9f4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/570-c99f07161bd339cd.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6084-40d5d94561a6093e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/6662-6a915300505fd9c0.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7476-aaf8970dbbbe4864.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7630-c558dc3a199a633d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/787-9c751615f5816094.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/827-c6fe34fb336467ae.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9014-eeae6f581158e645.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9767-1dca308466dce863.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/9826-303b14ef4fc7ab4a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-a8e0bc7b6674f47e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-55243db34cf77b7e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-cdb77886d7fd4f44.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations-40a3cd14264796e2.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/ant-components-3f62dd959a039fe9.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-7852aa60090c8c9a.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-11dd6152bf6607cc.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-c50c2ee7d7d2a585.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-282de19599d67aaf.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-3f962ade5df86380.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-0a87f29768425a37.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-b9e77c75c6b77c88.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-bb60c397a03558d8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-4b835393f5274379.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-9669fa6b20545530.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-c9510a1eb612323d.js +0 -1
- fides/ui-build/static/admin/_next/static/ezJVaZ_Oi_0J2-wPEOvj1/_buildManifest.js +0 -1
- {ethyca_fides-2.64.3b0.dist-info → ethyca_fides-2.64.5rc1.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.64.3b0.dist-info → ethyca_fides-2.64.5rc1.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.64.3b0.dist-info → ethyca_fides-2.64.5rc1.dist-info}/licenses/LICENSE +0 -0
- {ethyca_fides-2.64.3b0.dist-info → ethyca_fides-2.64.5rc1.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{ezJVaZ_Oi_0J2-wPEOvj1 → wyqNbL8A-USLbXV5z1vV0}/_ssgManifest.js +0 -0
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
from datetime import datetime, timezone
|
|
2
|
+
from enum import Enum as EnumType
|
|
3
|
+
from typing import Optional
|
|
4
|
+
|
|
5
|
+
from sqlalchemy.orm import Session
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class StatusTransitionNotAllowed(Exception):
|
|
9
|
+
"""Exception raised when a status transition is not allowed."""
|
|
10
|
+
|
|
11
|
+
def __init__(self, message: str):
|
|
12
|
+
self.message = message
|
|
13
|
+
super().__init__(self.message)
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
class StatusType(str, EnumType):
|
|
17
|
+
"""Enum for manual task status."""
|
|
18
|
+
|
|
19
|
+
pending = "pending"
|
|
20
|
+
in_progress = "in_progress"
|
|
21
|
+
completed = "completed"
|
|
22
|
+
failed = "failed"
|
|
23
|
+
|
|
24
|
+
@classmethod
|
|
25
|
+
def get_valid_transitions(cls, current_status: "StatusType") -> list["StatusType"]:
|
|
26
|
+
"""Get valid transitions from the current status.
|
|
27
|
+
|
|
28
|
+
Args:
|
|
29
|
+
current_status: The current status
|
|
30
|
+
|
|
31
|
+
Returns:
|
|
32
|
+
list[StatusType]: List of valid transitions
|
|
33
|
+
"""
|
|
34
|
+
if current_status == cls.pending:
|
|
35
|
+
return [cls.in_progress, cls.failed, cls.completed]
|
|
36
|
+
if current_status == cls.in_progress:
|
|
37
|
+
return [cls.completed, cls.failed]
|
|
38
|
+
if current_status == cls.completed:
|
|
39
|
+
return []
|
|
40
|
+
if current_status == cls.failed:
|
|
41
|
+
return [cls.pending, cls.in_progress]
|
|
42
|
+
return []
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class StatusTransitionMixin:
|
|
46
|
+
"""Mixin for handling status transitions.
|
|
47
|
+
|
|
48
|
+
This mixin provides methods for managing status transitions and completion tracking.
|
|
49
|
+
It can be used by any model that needs status management.
|
|
50
|
+
"""
|
|
51
|
+
|
|
52
|
+
# These should be overridden by the implementing class
|
|
53
|
+
status: StatusType
|
|
54
|
+
completed_at: Optional[datetime]
|
|
55
|
+
completed_by_id: Optional[str]
|
|
56
|
+
|
|
57
|
+
def _get_valid_transitions(self) -> list[StatusType]:
|
|
58
|
+
"""Get valid transitions from the current status.
|
|
59
|
+
|
|
60
|
+
Returns:
|
|
61
|
+
list[StatusType]: List of valid transitions
|
|
62
|
+
"""
|
|
63
|
+
return StatusType.get_valid_transitions(self.status)
|
|
64
|
+
|
|
65
|
+
def _validate_status_transition(self, new_status: StatusType) -> None:
|
|
66
|
+
"""Validate that a status transition is allowed.
|
|
67
|
+
|
|
68
|
+
Args:
|
|
69
|
+
new_status: The new status to transition to
|
|
70
|
+
|
|
71
|
+
Raises:
|
|
72
|
+
StatusTransitionNotAllowed: If the transition is not allowed
|
|
73
|
+
"""
|
|
74
|
+
# Don't allow transitions to the same status
|
|
75
|
+
if new_status == self.status:
|
|
76
|
+
raise StatusTransitionNotAllowed(
|
|
77
|
+
f"Invalid status transition: already in status {new_status}"
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
# Get valid transitions for current status
|
|
81
|
+
valid_transitions = self._get_valid_transitions()
|
|
82
|
+
if new_status not in valid_transitions:
|
|
83
|
+
raise StatusTransitionNotAllowed(
|
|
84
|
+
f"Invalid status transition from {self.status} to {new_status}. "
|
|
85
|
+
f"Valid transitions are: {valid_transitions}"
|
|
86
|
+
)
|
|
87
|
+
|
|
88
|
+
def update_status(
|
|
89
|
+
self, db: Session, new_status: StatusType, user_id: Optional[str] = None
|
|
90
|
+
) -> None:
|
|
91
|
+
"""Update the status with validation and completion handling.
|
|
92
|
+
|
|
93
|
+
Args:
|
|
94
|
+
db: Database session
|
|
95
|
+
new_status: New status to set
|
|
96
|
+
user_id: Optional user ID who is making the change
|
|
97
|
+
"""
|
|
98
|
+
self._validate_status_transition(new_status)
|
|
99
|
+
|
|
100
|
+
if new_status == StatusType.completed:
|
|
101
|
+
self.completed_at = datetime.now(timezone.utc)
|
|
102
|
+
self.completed_by_id = user_id
|
|
103
|
+
elif new_status == StatusType.pending:
|
|
104
|
+
# Reset completion fields if going back to pending
|
|
105
|
+
self.completed_at = None
|
|
106
|
+
self.completed_by_id = None
|
|
107
|
+
|
|
108
|
+
self.status = new_status
|
|
109
|
+
db.add(self)
|
|
110
|
+
db.commit()
|
|
111
|
+
|
|
112
|
+
def mark_completed(self, db: Session, user_id: str) -> None:
|
|
113
|
+
"""Mark as completed.
|
|
114
|
+
|
|
115
|
+
Args:
|
|
116
|
+
db: Database session
|
|
117
|
+
user_id: user ID who completed the task
|
|
118
|
+
"""
|
|
119
|
+
self.update_status(db, StatusType.completed, user_id)
|
|
120
|
+
|
|
121
|
+
def mark_failed(self, db: Session) -> None:
|
|
122
|
+
"""Mark as failed."""
|
|
123
|
+
self.update_status(db, StatusType.failed)
|
|
124
|
+
|
|
125
|
+
def start_progress(self, db: Session) -> None:
|
|
126
|
+
"""Mark as in progress."""
|
|
127
|
+
self.update_status(db, StatusType.in_progress)
|
|
128
|
+
|
|
129
|
+
def reset_to_pending(self, db: Session) -> None:
|
|
130
|
+
"""Reset to pending status."""
|
|
131
|
+
self.update_status(db, StatusType.pending)
|
|
132
|
+
|
|
133
|
+
@property
|
|
134
|
+
def is_completed(self) -> bool:
|
|
135
|
+
"""Check if completed."""
|
|
136
|
+
return self.status == StatusType.completed
|
|
137
|
+
|
|
138
|
+
@property
|
|
139
|
+
def is_failed(self) -> bool:
|
|
140
|
+
"""Check if failed."""
|
|
141
|
+
return self.status == StatusType.failed
|
|
142
|
+
|
|
143
|
+
@property
|
|
144
|
+
def is_in_progress(self) -> bool:
|
|
145
|
+
"""Check if in progress."""
|
|
146
|
+
return self.status == StatusType.in_progress
|
|
147
|
+
|
|
148
|
+
@property
|
|
149
|
+
def is_pending(self) -> bool:
|
|
150
|
+
"""Check if pending."""
|
|
151
|
+
return self.status == StatusType.pending
|
|
@@ -5,9 +5,8 @@ from fideslang.models import MaskingStrategies
|
|
|
5
5
|
from loguru import logger
|
|
6
6
|
from sqlalchemy import MetaData, Table, text
|
|
7
7
|
from sqlalchemy.engine import Engine
|
|
8
|
-
from sqlalchemy.sql import Delete, Update
|
|
8
|
+
from sqlalchemy.sql import Delete, Update # type: ignore
|
|
9
9
|
from sqlalchemy.sql.elements import ColumnElement, TextClause
|
|
10
|
-
from sqlalchemy_bigquery import BigQueryDialect
|
|
11
10
|
|
|
12
11
|
from fides.api.graph.config import Field, FieldPath
|
|
13
12
|
from fides.api.graph.execution import ExecutionNode
|
|
@@ -16,8 +15,6 @@ from fides.api.models.privacy_request import PrivacyRequest
|
|
|
16
15
|
from fides.api.schemas.namespace_meta.bigquery_namespace_meta import (
|
|
17
16
|
BigQueryNamespaceMeta,
|
|
18
17
|
)
|
|
19
|
-
from fides.api.schemas.partitioning import TIME_BASED_REQUIRED_KEYS, combine_partitions
|
|
20
|
-
from fides.api.schemas.partitioning.time_based_partitioning import TimeBasedPartitioning
|
|
21
18
|
from fides.api.service.connectors.query_configs.query_config import (
|
|
22
19
|
QueryStringWithoutTuplesOverrideQueryConfig,
|
|
23
20
|
)
|
|
@@ -39,59 +36,40 @@ class BigQueryQueryConfig(QueryStringWithoutTuplesOverrideQueryConfig):
|
|
|
39
36
|
namespace_meta_schema = BigQueryNamespaceMeta
|
|
40
37
|
|
|
41
38
|
@property
|
|
42
|
-
def partitioning(
|
|
43
|
-
|
|
44
|
-
) -> Optional[Union[List[TimeBasedPartitioning], Dict[str, Any]]]:
|
|
45
|
-
# Overridden from base implementation to allow for _only_ BQ partitioning, for now
|
|
39
|
+
def partitioning(self) -> Optional[Dict]:
|
|
40
|
+
# Overriden from base implementation to allow for _only_ BQ partitioning, for now
|
|
46
41
|
return self.node.collection.partitioning
|
|
47
42
|
|
|
48
43
|
def get_partition_clauses(
|
|
49
44
|
self,
|
|
50
45
|
) -> List[str]:
|
|
51
46
|
"""
|
|
52
|
-
|
|
53
|
-
configuration.
|
|
47
|
+
Returns the WHERE clauses specified in the partitioning spec
|
|
54
48
|
|
|
55
|
-
|
|
56
|
-
1. `Legacy static` - A list of `where_clauses`.
|
|
57
|
-
2. `Single time-based` - A single time-based partitioning spec
|
|
58
|
-
3. `Multiple time-based` - A list of time-based partitioning specs, with different intervals
|
|
49
|
+
Currently, only where-clause based partitioning is supported.
|
|
59
50
|
|
|
60
|
-
|
|
61
|
-
`ValueError` so that mis-configurations surface early.
|
|
62
|
-
"""
|
|
51
|
+
TODO: derive partitions from a start/end/interval specification
|
|
63
52
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
53
|
+
|
|
54
|
+
NOTE: when we deprecate `where_clause` partitioning in favor of a more proper partitioning DSL,
|
|
55
|
+
we should be sure to still support the existing `where_clause` partition definition on
|
|
56
|
+
any in-progress DSRs so that they can run through to completion.
|
|
57
|
+
"""
|
|
58
|
+
partition_spec = self.partitioning
|
|
67
59
|
if not partition_spec:
|
|
68
|
-
logger.
|
|
69
|
-
|
|
60
|
+
logger.error(
|
|
61
|
+
"Partitioning clauses cannot be retrieved, no partitioning specification found"
|
|
70
62
|
)
|
|
71
63
|
return []
|
|
72
64
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
if any(k in partition_spec for k in TIME_BASED_REQUIRED_KEYS):
|
|
76
|
-
# Mixed mode not allowed
|
|
77
|
-
raise ValueError(
|
|
78
|
-
"Partitioning spec cannot define both `where_clauses` and time-based partitioning."
|
|
79
|
-
)
|
|
80
|
-
where = partition_spec.get("where_clauses") or []
|
|
81
|
-
if not where:
|
|
82
|
-
raise ValueError("`where_clauses` must be a non-empty list.")
|
|
83
|
-
return where
|
|
84
|
-
|
|
85
|
-
# Combine and de-duplicate boundary rows
|
|
86
|
-
combined_expressions = combine_partitions(partition_spec) # type: ignore
|
|
87
|
-
|
|
88
|
-
dialect = BigQueryDialect()
|
|
89
|
-
where_clauses = [
|
|
90
|
-
str(expr.compile(dialect=dialect, compile_kwargs={"literal_binds": True}))
|
|
91
|
-
for expr in combined_expressions
|
|
92
|
-
]
|
|
65
|
+
if where_clauses := partition_spec.get("where_clauses"):
|
|
66
|
+
return where_clauses
|
|
93
67
|
|
|
94
|
-
|
|
68
|
+
# TODO: implement more advanced partitioning support!
|
|
69
|
+
|
|
70
|
+
raise ValueError(
|
|
71
|
+
"`where_clauses` must be specified in partitioning specification!"
|
|
72
|
+
)
|
|
95
73
|
|
|
96
74
|
def _generate_table_name(self) -> str:
|
|
97
75
|
"""
|
|
@@ -169,7 +147,7 @@ class BigQueryQueryConfig(QueryStringWithoutTuplesOverrideQueryConfig):
|
|
|
169
147
|
nested_result = unflatten_dict(merged_dict)
|
|
170
148
|
|
|
171
149
|
# 5. Replace any arrays containing only None values with empty arrays
|
|
172
|
-
nested_result = replace_none_arrays(nested_result)
|
|
150
|
+
nested_result = replace_none_arrays(nested_result) # type: ignore
|
|
173
151
|
|
|
174
152
|
# 6. Only keep top-level keys that are in the update_value_map
|
|
175
153
|
top_level_keys = {key.split(".")[0] for key in update_value_map}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# pylint: disable=too-many-lines
|
|
2
2
|
import re
|
|
3
3
|
from abc import ABC, abstractmethod
|
|
4
|
-
from typing import Any, Dict, Generic, List, Optional, Tuple, Type, TypeVar
|
|
4
|
+
from typing import Any, Dict, Generic, List, Optional, Tuple, Type, TypeVar
|
|
5
5
|
|
|
6
6
|
import pydash
|
|
7
7
|
from loguru import logger
|
|
@@ -22,7 +22,6 @@ from fides.api.graph.execution import ExecutionNode
|
|
|
22
22
|
from fides.api.models.policy import Policy, Rule
|
|
23
23
|
from fides.api.models.privacy_request import PrivacyRequest
|
|
24
24
|
from fides.api.schemas.namespace_meta.namespace_meta import NamespaceMeta
|
|
25
|
-
from fides.api.schemas.partitioning.time_based_partitioning import TimeBasedPartitioning
|
|
26
25
|
from fides.api.schemas.policy import ActionType
|
|
27
26
|
from fides.api.service.masking.strategy.masking_strategy import MaskingStrategy
|
|
28
27
|
from fides.api.service.masking.strategy.masking_strategy_nullify import (
|
|
@@ -47,9 +46,7 @@ class QueryConfig(Generic[T], ABC):
|
|
|
47
46
|
self.node = node
|
|
48
47
|
|
|
49
48
|
@property
|
|
50
|
-
def partitioning( # pylint: disable=
|
|
51
|
-
self,
|
|
52
|
-
) -> Optional[Union[List[TimeBasedPartitioning], Dict[str, Any]]]:
|
|
49
|
+
def partitioning(self) -> Optional[Dict]: # pylint: disable=R1711
|
|
53
50
|
# decided to de-scope partitioning support to only bigquery as this grew more complex,
|
|
54
51
|
# but keeping more generic support stubbed out feels like a reasonable step.
|
|
55
52
|
if self.node.collection.partitioning:
|
|
@@ -25,11 +25,6 @@ from fides.api.models.connectionconfig import (
|
|
|
25
25
|
ConnectionType,
|
|
26
26
|
)
|
|
27
27
|
from fides.api.models.datasetconfig import DatasetConfig
|
|
28
|
-
from fides.api.models.manual_task import (
|
|
29
|
-
ManualTask,
|
|
30
|
-
ManualTaskParentEntityType,
|
|
31
|
-
ManualTaskType,
|
|
32
|
-
)
|
|
33
28
|
from fides.api.models.manual_webhook import AccessManualWebhook
|
|
34
29
|
from fides.api.models.privacy_request import PrivacyRequest
|
|
35
30
|
from fides.api.models.sql_models import Dataset as CtlDataset # type: ignore
|
|
@@ -248,9 +243,7 @@ def patch_connection_configs(
|
|
|
248
243
|
).model_dump(mode="json")
|
|
249
244
|
connection_config.save(db=db)
|
|
250
245
|
created_or_updated.append(
|
|
251
|
-
ConnectionConfigurationResponse.
|
|
252
|
-
connection_config
|
|
253
|
-
)
|
|
246
|
+
ConnectionConfigurationResponse(**connection_config.__dict__)
|
|
254
247
|
)
|
|
255
248
|
continue
|
|
256
249
|
|
|
@@ -275,24 +268,8 @@ def patch_connection_configs(
|
|
|
275
268
|
connection_config = ConnectionConfig.create_or_update(
|
|
276
269
|
db, data=config_dict, check_name=False
|
|
277
270
|
)
|
|
278
|
-
|
|
279
|
-
# Automatically create a ManualTask if this is a connection config of type manual_task
|
|
280
|
-
# and it doesn't already have one
|
|
281
|
-
if (
|
|
282
|
-
connection_config.connection_type == ConnectionType.manual_task
|
|
283
|
-
and not connection_config.manual_task
|
|
284
|
-
):
|
|
285
|
-
ManualTask.create(
|
|
286
|
-
db=db,
|
|
287
|
-
data={
|
|
288
|
-
"task_type": ManualTaskType.privacy_request,
|
|
289
|
-
"parent_entity_id": connection_config.id,
|
|
290
|
-
"parent_entity_type": ManualTaskParentEntityType.connection_config,
|
|
291
|
-
},
|
|
292
|
-
)
|
|
293
|
-
|
|
294
271
|
created_or_updated.append(
|
|
295
|
-
ConnectionConfigurationResponse
|
|
272
|
+
ConnectionConfigurationResponse(**connection_config.__dict__)
|
|
296
273
|
)
|
|
297
274
|
except KeyOrNameAlreadyExists as exc:
|
|
298
275
|
logger.warning(
|
|
@@ -155,10 +155,6 @@ AUTHORIZE = "/connection/{connection_key}/authorize"
|
|
|
155
155
|
ACCESS_MANUAL_WEBHOOKS = "/access_manual_webhook"
|
|
156
156
|
ACCESS_MANUAL_WEBHOOK = CONNECTION_BY_KEY + "/access_manual_webhook"
|
|
157
157
|
|
|
158
|
-
# Manual Tasks
|
|
159
|
-
MANUAL_TASKS = "/manual-tasks"
|
|
160
|
-
MANUAL_TASK = CONNECTION_BY_KEY + "/manual-task"
|
|
161
|
-
|
|
162
158
|
# Collection URLs
|
|
163
159
|
DATASETS = "/dataset"
|
|
164
160
|
DATASET_CONFIG = "/datasetconfig"
|
|
File without changes
|