ethyca-fides 2.64.5rc1__py2.py3-none-any.whl → 2.64.6b0__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.
Files changed (286) hide show
  1. {ethyca_fides-2.64.5rc1.dist-info → ethyca_fides-2.64.6b0.dist-info}/METADATA +3 -3
  2. {ethyca_fides-2.64.5rc1.dist-info → ethyca_fides-2.64.6b0.dist-info}/RECORD +237 -246
  3. fides/_version.py +3 -3
  4. fides/api/alembic/migrations/versions/41a634d8c669_manual_task_restrict_deletes.py +257 -0
  5. fides/api/alembic/migrations/versions/6a76a1fa4f3f_add_manual_task_instance_table.py +256 -0
  6. fides/api/alembic/migrations/versions/aadfe83c5644_add_manual_task_to_connectiontype_enum.py +46 -0
  7. fides/api/api/v1/api.py +2 -0
  8. fides/api/api/v1/endpoints/partitioning_endpoints.py +108 -0
  9. fides/api/db/base.py +6 -3
  10. fides/api/db/database.py +27 -2
  11. fides/api/graph/config.py +16 -9
  12. fides/api/models/attachment.py +15 -3
  13. fides/api/models/comment.py +23 -5
  14. fides/api/models/connectionconfig.py +11 -0
  15. fides/api/models/db_cache.py +1 -1
  16. fides/api/models/detection_discovery/core.py +15 -15
  17. fides/api/models/fides_user_respondent_email_verification.py +27 -2
  18. fides/api/models/manual_task.py +965 -0
  19. fides/api/models/tcf_publisher_restrictions.py +16 -4
  20. fides/api/schemas/partitioning/__init__.py +17 -0
  21. fides/api/schemas/partitioning/bigquery_time_based_partitioning.py +31 -0
  22. fides/api/schemas/partitioning/time_based_partitioning.py +1376 -0
  23. fides/api/service/connectors/query_configs/bigquery_query_config.py +44 -22
  24. fides/api/service/connectors/query_configs/query_config.py +5 -2
  25. fides/api/util/connection_util.py +25 -2
  26. fides/common/api/v1/urn_registry.py +4 -0
  27. fides/ui-build/static/admin/404.html +1 -1
  28. fides/ui-build/static/admin/_next/static/7-nocO64klVotMrKmugnq/_buildManifest.js +1 -0
  29. fides/ui-build/static/admin/_next/static/chunks/{1040-c1c1372a7f909aef.js → 1040-d246ed641088a416.js} +1 -1
  30. fides/ui-build/static/admin/_next/static/chunks/1169-ae67fde0c6d69abc.js +1 -0
  31. fides/ui-build/static/admin/_next/static/chunks/1807-3beab149351d5ded.js +1 -0
  32. fides/ui-build/static/admin/_next/static/chunks/{1817-96182c1558f80b63.js → 1817-60f08a3619b9139c.js} +1 -1
  33. fides/ui-build/static/admin/_next/static/chunks/{2921-f5608275555bd7d9.js → 2921-85515257dd94ef4d.js} +1 -1
  34. fides/ui-build/static/admin/_next/static/chunks/{3450-272f26c102f3510d.js → 3450-4e472b9e2754fa47.js} +1 -1
  35. fides/ui-build/static/admin/_next/static/chunks/3615-5e2d062d684b8fa1.js +1 -0
  36. fides/ui-build/static/admin/_next/static/chunks/{3855-beb58821d1ddba89.js → 3855-2d045674fbf72a3c.js} +1 -1
  37. fides/ui-build/static/admin/_next/static/chunks/{3872-82482e55e69b5a93.js → 3872-056ddf3ed9d10b51.js} +1 -1
  38. fides/ui-build/static/admin/_next/static/chunks/{3923-a54c286a2ba0a47a.js → 3923-257df982a95371b5.js} +1 -1
  39. fides/ui-build/static/admin/_next/static/chunks/{401-d2ce0a5a9120e056.js → 401-3f2160e3910d075b.js} +1 -1
  40. fides/ui-build/static/admin/_next/static/chunks/{409-86f4f687105917fb.js → 409-3e2248a63dd60e58.js} +1 -1
  41. fides/ui-build/static/admin/_next/static/chunks/4121-10bfa009892586fa.js +1 -0
  42. fides/ui-build/static/admin/_next/static/chunks/{4230-63abbdfb9e9016b9.js → 4230-38c6e446801a8729.js} +1 -1
  43. fides/ui-build/static/admin/_next/static/chunks/{431-77d59d43e90058ca.js → 431-13b0ef67d5a3df2f.js} +1 -1
  44. fides/ui-build/static/admin/_next/static/chunks/{5309-10f68cf805817cfb.js → 5309-fd8cd5aedd45f7c1.js} +1 -1
  45. fides/ui-build/static/admin/_next/static/chunks/{5574-b6db9d62362e72d9.js → 5574-028ef28c3cf16995.js} +1 -1
  46. fides/ui-build/static/admin/_next/static/chunks/570-c99f07161bd339cd.js +1 -0
  47. fides/ui-build/static/admin/_next/static/chunks/6084-fa1c82d03f6c256a.js +1 -0
  48. fides/ui-build/static/admin/_next/static/chunks/6662-d8ae12f69d325004.js +1 -0
  49. fides/ui-build/static/admin/_next/static/chunks/{6853-8a1b8e1c8b249f2f.js → 6853-2644f28976b46c25.js} +1 -1
  50. fides/ui-build/static/admin/_next/static/chunks/{6882-6c94583bffe85ba7.js → 6882-ea071425d25dd2b0.js} +1 -1
  51. fides/ui-build/static/admin/_next/static/chunks/{6954-dc3540389daf94da.js → 6954-bb360fb60aac9440.js} +1 -1
  52. fides/ui-build/static/admin/_next/static/chunks/7476-7073ec015f84a3e0.js +1 -0
  53. fides/ui-build/static/admin/_next/static/chunks/7630-302a13c63f9bfb45.js +1 -0
  54. fides/ui-build/static/admin/_next/static/chunks/787-b393c03ade9d93dc.js +1 -0
  55. fides/ui-build/static/admin/_next/static/chunks/{79-26ccd45dfd6653a7.js → 79-b67ba449b0f2cc9c.js} +1 -1
  56. fides/ui-build/static/admin/_next/static/chunks/{796-38c0f7e6755ad359.js → 796-b7608f09607288b8.js} +1 -1
  57. fides/ui-build/static/admin/_next/static/chunks/827-c6fe34fb336467ae.js +1 -0
  58. fides/ui-build/static/admin/_next/static/chunks/9014-eeae6f581158e645.js +1 -0
  59. fides/ui-build/static/admin/_next/static/chunks/{9046-bbce3c73af16daf9.js → 9046-ece5efe762b810cb.js} +1 -1
  60. fides/ui-build/static/admin/_next/static/chunks/{905-742074a074be1055.js → 905-ffdbd0b14167e8bd.js} +1 -1
  61. fides/ui-build/static/admin/_next/static/chunks/{9226-5e0ce31cfdedd5ee.js → 9226-c9111590692341b1.js} +1 -1
  62. fides/ui-build/static/admin/_next/static/chunks/{9392.25024e070026343d.js → 9392.9a948112de74781b.js} +1 -1
  63. fides/ui-build/static/admin/_next/static/chunks/{9676.e60a53f1f5890847.js → 9676.cc515c853b8cf578.js} +1 -1
  64. fides/ui-build/static/admin/_next/static/chunks/9767-277a0229aae7662a.js +1 -0
  65. fides/ui-build/static/admin/_next/static/chunks/9826-82c473dcaf892d00.js +1 -0
  66. fides/ui-build/static/admin/_next/static/chunks/{9951-d3d5d0fe4c4edb86.js → 9951-dbd76d7f3a7f1b9a.js} +1 -1
  67. fides/ui-build/static/admin/_next/static/chunks/pages/{404-d41660858638adee.js → 404-ef01376efb8427e1.js} +1 -1
  68. fides/ui-build/static/admin/_next/static/chunks/pages/{_app-6b3539f8d82ce9ae.js → _app-1650bbc3cb8c2299.js} +92 -89
  69. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-7c5e1e845372c99b.js → manual-4057c399f58d331e.js} +1 -1
  70. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-87e78f52af21c4a9.js → multiple-2726ca51f0327347.js} +1 -1
  71. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-a2457d5da25aa854.js +1 -0
  72. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-6374a3a7747df964.js → add-vendors-9fe46ed10a7e7a1a.js} +1 -1
  73. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-0512151e2ed0f4c1.js → configure-095828301f22cdaa.js} +1 -1
  74. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-09435f4ab2deafd2.js → [id]-de60a5b74f6b20ff.js} +1 -1
  75. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{new-a0039f216fb3eb93.js → new-06bb3b0bf097fcdb.js} +1 -1
  76. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-cd036518b5d4efbe.js → privacy-experience-1ee05fd0bc012ec6.js} +1 -1
  77. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-0e534580abf670be.js → [id]-5a2e61c7d88bdda1.js} +1 -1
  78. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-bb1790eb87b63109.js → new-1bc69669215fa55c.js} +1 -1
  79. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-67e9846f877a3f38.js → privacy-notices-fa8394d2e1072aba.js} +1 -1
  80. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-69a92b6ddbc2bae2.js → properties-213c5405e9e4219c.js} +1 -1
  81. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{reporting-d07d05f4b898a5ed.js → reporting-44aa77149d71a6fe.js} +1 -1
  82. fides/ui-build/static/admin/_next/static/chunks/pages/{consent-23e886d692ab6d1a.js → consent-23ab7bd613a0ad53.js} +1 -1
  83. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-c623d6f1a61c8ea9.js → [resourceUrn]-11d52f1570759c4d.js} +1 -1
  84. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-6c766c766dc97c5c.js → [projectUrn]-dae11464a091537f.js} +1 -1
  85. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-28937a8da3d73145.js → projects-7442023478422295.js} +1 -1
  86. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-57bd5cdf784f059f.js → [resourceUrn]-b83afa5565d0c84e.js} +1 -1
  87. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{resources-51d99174c8006eb5.js → resources-d8db234a44a2ddf4.js} +1 -1
  88. fides/ui-build/static/admin/_next/static/chunks/pages/{data-catalog-627fbf19dce88e81.js → data-catalog-5597d2e691313bb0.js} +1 -1
  89. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/{[systemId]-ed1629b05519a370.js → [systemId]-da06d05d255d0cd0.js} +1 -1
  90. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/{[monitorId]-ad307bfc5f51fd9d.js → [monitorId]-895591fe32af0f4c.js} +1 -1
  91. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{action-center-07cbd61ede6e18ac.js → action-center-a932a39e29ac3489.js} +1 -1
  92. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-6a2aaed8d0e66d82.js → activity-2cfdf4d55a7594ba.js} +1 -1
  93. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-06edce289876dea1.js → [resourceUrn]-393e20924c83373e.js} +1 -1
  94. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-faf326a6200637d0.js → detection-8733807dad4bc96e.js} +1 -1
  95. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-64acf269256ee74f.js → [resourceUrn]-14bd7500362ff224.js} +1 -1
  96. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-8c3e4be6d36da66d.js → discovery-9e7dfd5a6acc2e8f.js} +1 -1
  97. fides/ui-build/static/admin/_next/static/chunks/pages/{datamap-b576a94b583a7940.js → datamap-07881d1a5fc03d41.js} +1 -1
  98. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-4912858ffde4621a.js → [...subfieldNames]-57be9d40c67b0acb.js} +1 -1
  99. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-df21dd7ca0f35718.js → [collectionName]-bd78d6c6264e2467.js} +1 -1
  100. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-5ce28a329e8f667f.js → [datasetId]-3c9103487b55e76f.js} +1 -1
  101. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-e30a546a8cfb6658.js +1 -0
  102. fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-c6fab547396df6ac.js → dataset-500610c0b60f9e7e.js} +1 -1
  103. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-d04c9925d324eee1.js → [id]-34958fe8183d9479.js} +1 -1
  104. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{new-656abd09ea5ee39a.js → new-761294dbaf59bbe1.js} +1 -1
  105. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-59abd36059863e05.js +1 -0
  106. fides/ui-build/static/admin/_next/static/chunks/pages/{index-b66687e8194495a2.js → index-ae100a873eb66d59.js} +1 -1
  107. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-8eee4d0314c83e50.js +1 -0
  108. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-bf3b87b0dd702551.js +1 -0
  109. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{[id]-b74db8488e2e4b58.js → [id]-2aada2c7b9156053.js} +1 -1
  110. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{add-template-a607018ff097b6c2.js → add-template-fbb7b0c43dedf072.js} +1 -1
  111. fides/ui-build/static/admin/_next/static/chunks/pages/{messaging-4a1a04c5179d2053.js → messaging-7230d7ee21368cef.js} +1 -1
  112. fides/ui-build/static/admin/_next/static/chunks/pages/poc/{ant-components-1567c9770a5f05aa.js → ant-components-7c234412502f8102.js} +1 -1
  113. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{AntForm-4949fe7f1815462b.js → AntForm-72791aab60f3a4bf.js} +1 -1
  114. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikAntFormItem-6085f73850302d55.js → FormikAntFormItem-da7d11d6146fa746.js} +1 -1
  115. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikControlled-a3158e8217c13850.js → FormikControlled-3045d24344e99017.js} +1 -1
  116. fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikField-8576f1ef5c67d87d.js → FormikField-5b5b165d3f41a1de.js} +1 -1
  117. fides/ui-build/static/admin/_next/static/chunks/pages/poc/{forms-341e67462b5e3352.js → forms-3afd8b6ba6234366.js} +1 -1
  118. fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-52d50286216bcb8c.js +1 -0
  119. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-ee8d27e2f17563a0.js +1 -0
  120. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-535b6e5003d892eb.js +1 -0
  121. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-7ded688a1e832c63.js +1 -0
  122. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-d24230b890b13762.js → configure-08e0863d432b3348.js} +1 -1
  123. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-7d625b170911a072.js +1 -0
  124. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-2bedc5013e13ab52.js → [id]-b8dcb1f5213521ef.js} +1 -1
  125. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-9d68bd70299dd945.js → add-property-7d8418bb7cb9e1fd.js} +1 -1
  126. fides/ui-build/static/admin/_next/static/chunks/pages/{properties-c3116b6bfe2e695e.js → properties-537003822f360ae7.js} +1 -1
  127. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/{datamap-6dfa7091b99d8321.js → datamap-ac25749935da453b.js} +1 -1
  128. fides/ui-build/static/admin/_next/static/chunks/pages/settings/about/{alpha-9751059905bba190.js → alpha-647d59bb0aa060bf.js} +1 -1
  129. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{about-ad29d77012ec9dba.js → about-73adc03fe0182e3f.js} +1 -1
  130. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-32e3190c1ad00b40.js → [purpose_id]-ffa9e9e79ad75828.js} +1 -1
  131. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-4fb6c8c4bd9cdb3f.js +1 -0
  132. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{custom-fields-d2c0aac32f5d2930.js → custom-fields-94c1b7bfc6cec4d2.js} +1 -1
  133. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-a10674380f94d014.js → domain-records-e9838b8e49e64e57.js} +1 -1
  134. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-0de16778ad2f8865.js +1 -0
  135. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-aac71677024210ad.js +1 -0
  136. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-cc7d629433fa6d44.js → locations-f43e238571b21643.js} +1 -1
  137. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-f5e0a34f6ae473ad.js +1 -0
  138. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-64a813cb2741683b.js → regulations-05d3c86ca3ca4d5d.js} +1 -1
  139. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-31fcf7b52d8028b0.js +1 -0
  140. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-fb3d094e4f4585f6.js → [id]-6db01a1afe2f82d5.js} +1 -1
  141. fides/ui-build/static/admin/_next/static/chunks/pages/{systems-c2df5b7b0596a9cb.js → systems-8ec7472a7032301f.js} +1 -1
  142. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-84caae0fc02f8ae1.js +1 -0
  143. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/{new-b124cc24b930c9e1.js → new-a2524414e968f862.js} +1 -1
  144. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-fd2ff6b13052c54e.js → [id]-e452541827698b1f.js} +1 -1
  145. fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-fa052b0439920ef6.js → user-management-530be849391d2425.js} +1 -1
  146. fides/ui-build/static/admin/_next/static/chunks/{webpack-e61d457474e00565.js → webpack-e25ccaae1ef867a2.js} +1 -1
  147. fides/ui-build/static/admin/_next/static/css/23391a3311f80cfe.css +1 -0
  148. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  149. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  150. fides/ui-build/static/admin/add-systems.html +1 -1
  151. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  152. fides/ui-build/static/admin/consent/configure.html +1 -1
  153. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  154. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  155. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  156. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  157. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  158. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  159. fides/ui-build/static/admin/consent/properties.html +1 -1
  160. fides/ui-build/static/admin/consent/reporting.html +1 -1
  161. fides/ui-build/static/admin/consent.html +1 -1
  162. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  163. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  164. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  165. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  166. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  167. fides/ui-build/static/admin/data-catalog.html +1 -1
  168. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
  169. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
  170. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  171. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  172. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  173. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  174. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  175. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  176. fides/ui-build/static/admin/datamap.html +1 -1
  177. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  178. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  179. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  180. fides/ui-build/static/admin/dataset/new.html +1 -1
  181. fides/ui-build/static/admin/dataset.html +1 -1
  182. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  183. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  184. fides/ui-build/static/admin/datastore-connection.html +1 -1
  185. fides/ui-build/static/admin/index.html +1 -1
  186. fides/ui-build/static/admin/integrations/[id].html +1 -1
  187. fides/ui-build/static/admin/integrations.html +1 -1
  188. fides/ui-build/static/admin/lib/fides-ext-gpp.js +1 -1
  189. fides/ui-build/static/admin/lib/fides-headless.js +1 -1
  190. fides/ui-build/static/admin/lib/fides-preview.js +1 -1
  191. fides/ui-build/static/admin/lib/fides-tcf.js +2 -2
  192. fides/ui-build/static/admin/lib/fides.js +2 -2
  193. fides/ui-build/static/admin/login/[provider].html +1 -1
  194. fides/ui-build/static/admin/login.html +1 -1
  195. fides/ui-build/static/admin/messaging/[id].html +1 -1
  196. fides/ui-build/static/admin/messaging/add-template.html +1 -1
  197. fides/ui-build/static/admin/messaging.html +1 -1
  198. fides/ui-build/static/admin/poc/ant-components.html +1 -1
  199. fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
  200. fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
  201. fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
  202. fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
  203. fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
  204. fides/ui-build/static/admin/poc/forms.html +1 -1
  205. fides/ui-build/static/admin/poc/table-migration.html +1 -1
  206. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  207. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
  208. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  209. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  210. fides/ui-build/static/admin/privacy-requests.html +1 -1
  211. fides/ui-build/static/admin/properties/[id].html +1 -1
  212. fides/ui-build/static/admin/properties/add-property.html +1 -1
  213. fides/ui-build/static/admin/properties.html +1 -1
  214. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  215. fides/ui-build/static/admin/settings/about/alpha.html +1 -1
  216. fides/ui-build/static/admin/settings/about.html +1 -1
  217. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  218. fides/ui-build/static/admin/settings/consent.html +1 -1
  219. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  220. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  221. fides/ui-build/static/admin/settings/domains.html +1 -1
  222. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  223. fides/ui-build/static/admin/settings/locations.html +1 -1
  224. fides/ui-build/static/admin/settings/organization.html +1 -1
  225. fides/ui-build/static/admin/settings/regulations.html +1 -1
  226. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  227. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  228. fides/ui-build/static/admin/systems.html +1 -1
  229. fides/ui-build/static/admin/taxonomy.html +1 -1
  230. fides/ui-build/static/admin/user-management/new.html +1 -1
  231. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  232. fides/ui-build/static/admin/user-management.html +1 -1
  233. fides/api/models/manual_tasks/__init__.py +0 -14
  234. fides/api/models/manual_tasks/manual_task.py +0 -120
  235. fides/api/models/manual_tasks/manual_task_config.py +0 -136
  236. fides/api/models/manual_tasks/manual_task_log.py +0 -104
  237. fides/api/schemas/manual_tasks/__init__.py +0 -0
  238. fides/api/schemas/manual_tasks/manual_task_config.py +0 -311
  239. fides/api/schemas/manual_tasks/manual_task_schemas.py +0 -79
  240. fides/api/schemas/manual_tasks/manual_task_status.py +0 -151
  241. fides/service/manual_tasks/__init__.py +0 -0
  242. fides/service/manual_tasks/manual_task_config_service.py +0 -370
  243. fides/service/manual_tasks/manual_task_service.py +0 -294
  244. fides/service/manual_tasks/utils.py +0 -185
  245. fides/ui-build/static/admin/_next/static/chunks/1100-3fdbdf211c3c2a5b.js +0 -1
  246. fides/ui-build/static/admin/_next/static/chunks/2430-b480401d44c55416.js +0 -1
  247. fides/ui-build/static/admin/_next/static/chunks/3505-192986c86dc47869.js +0 -1
  248. fides/ui-build/static/admin/_next/static/chunks/3513-a563133845dc990f.js +0 -1
  249. fides/ui-build/static/admin/_next/static/chunks/3670-2abd9b2f17770872.js +0 -1
  250. fides/ui-build/static/admin/_next/static/chunks/3983-17ae9c232bddc413.js +0 -1
  251. fides/ui-build/static/admin/_next/static/chunks/4060-3486b45081151b69.js +0 -1
  252. fides/ui-build/static/admin/_next/static/chunks/4121-f0aecb2abd384945.js +0 -1
  253. fides/ui-build/static/admin/_next/static/chunks/4481-d181a9db72984adf.js +0 -1
  254. fides/ui-build/static/admin/_next/static/chunks/6060-cb1ab5be7067bf7b.js +0 -4
  255. fides/ui-build/static/admin/_next/static/chunks/6277-ccdb50f676a1b336.js +0 -1
  256. fides/ui-build/static/admin/_next/static/chunks/6659-b2088f525bf13c17.js +0 -1
  257. fides/ui-build/static/admin/_next/static/chunks/6662-42940a2b00933e79.js +0 -1
  258. fides/ui-build/static/admin/_next/static/chunks/69-943b19d39da339d9.js +0 -1
  259. fides/ui-build/static/admin/_next/static/chunks/7553-e7ae268701f3dcfe.js +0 -1
  260. fides/ui-build/static/admin/_next/static/chunks/8433-1e065c55c8da73b0.js +0 -1
  261. fides/ui-build/static/admin/_next/static/chunks/9767-96ed554a043c3c4d.js +0 -1
  262. fides/ui-build/static/admin/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js +0 -1
  263. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-68955d8441e60668.js +0 -1
  264. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-5287c76ecf600281.js +0 -1
  265. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection-23fbec0590c8d192.js +0 -1
  266. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-906bc5f05702efb0.js +0 -1
  267. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-024a1facb9be04d0.js +0 -1
  268. fides/ui-build/static/admin/_next/static/chunks/pages/poc/table-migration-6f0e64f0c52bd68f.js +0 -1
  269. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-6971c7773dbf9b51.js +0 -1
  270. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/messaging-303bd2182da03088.js +0 -1
  271. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/storage-831572cc7f42615f.js +0 -1
  272. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests-569ff31eff637034.js +0 -1
  273. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-13a17a4ace7293d1.js +0 -1
  274. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-78449b0e02bced88.js +0 -1
  275. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-7d299c4cb3199036.js +0 -1
  276. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-a9fa55c40fa570a6.js +0 -1
  277. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-547b0cfe1e49e6d2.js +0 -1
  278. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-261deb6fb3e51cb3.js +0 -1
  279. fides/ui-build/static/admin/_next/static/css/c693338e3bc8dcc6.css +0 -1
  280. fides/ui-build/static/admin/_next/static/css/e458b5f1afdbb7fc.css +0 -1
  281. fides/ui-build/static/admin/_next/static/wyqNbL8A-USLbXV5z1vV0/_buildManifest.js +0 -1
  282. {ethyca_fides-2.64.5rc1.dist-info → ethyca_fides-2.64.6b0.dist-info}/WHEEL +0 -0
  283. {ethyca_fides-2.64.5rc1.dist-info → ethyca_fides-2.64.6b0.dist-info}/entry_points.txt +0 -0
  284. {ethyca_fides-2.64.5rc1.dist-info → ethyca_fides-2.64.6b0.dist-info}/licenses/LICENSE +0 -0
  285. {ethyca_fides-2.64.5rc1.dist-info → ethyca_fides-2.64.6b0.dist-info}/top_level.txt +0 -0
  286. /fides/ui-build/static/admin/_next/static/{wyqNbL8A-USLbXV5z1vV0 → 7-nocO64klVotMrKmugnq}/_ssgManifest.js +0 -0
@@ -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/c693338e3bc8dcc6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c693338e3bc8dcc6.css" data-n-g=""/><link rel="preload" href="/_next/static/css/92fc10cc7ed1aba3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/92fc10cc7ed1aba3.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-e61d457474e00565.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-6b3539f8d82ce9ae.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/2858-0b44609b6be7850b.js" defer=""></script><script src="/_next/static/chunks/2866-a73888c17a195cbe.js" defer=""></script><script src="/_next/static/chunks/9278-9b1b5970f0702668.js" defer=""></script><script src="/_next/static/chunks/699-8ca44b0de9fa20f0.js" defer=""></script><script src="/_next/static/chunks/5277-e8a036319456127f.js" defer=""></script><script src="/_next/static/chunks/7553-e7ae268701f3dcfe.js" defer=""></script><script src="/_next/static/chunks/4481-d181a9db72984adf.js" defer=""></script><script src="/_next/static/chunks/409-86f4f687105917fb.js" defer=""></script><script src="/_next/static/chunks/401-d2ce0a5a9120e056.js" defer=""></script><script src="/_next/static/chunks/9951-d3d5d0fe4c4edb86.js" defer=""></script><script src="/_next/static/chunks/1040-c1c1372a7f909aef.js" defer=""></script><script src="/_next/static/chunks/3450-272f26c102f3510d.js" defer=""></script><script src="/_next/static/chunks/pages/systems/configure/%5Bid%5D-fb3d094e4f4585f6.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_buildManifest.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_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":"/systems/configure/[id]","query":{},"buildId":"wyqNbL8A-USLbXV5z1vV0","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
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/23391a3311f80cfe.css" as="style"/><link rel="stylesheet" href="/_next/static/css/23391a3311f80cfe.css" data-n-g=""/><link rel="preload" href="/_next/static/css/92fc10cc7ed1aba3.css" as="style"/><link rel="stylesheet" href="/_next/static/css/92fc10cc7ed1aba3.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-e25ccaae1ef867a2.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-1650bbc3cb8c2299.js" defer=""></script><script src="/_next/static/chunks/2858-0b44609b6be7850b.js" defer=""></script><script src="/_next/static/chunks/2866-a73888c17a195cbe.js" defer=""></script><script src="/_next/static/chunks/9278-9b1b5970f0702668.js" defer=""></script><script src="/_next/static/chunks/699-8ca44b0de9fa20f0.js" defer=""></script><script src="/_next/static/chunks/5277-e8a036319456127f.js" defer=""></script><script src="/_next/static/chunks/409-3e2248a63dd60e58.js" defer=""></script><script src="/_next/static/chunks/401-3f2160e3910d075b.js" defer=""></script><script src="/_next/static/chunks/9951-dbd76d7f3a7f1b9a.js" defer=""></script><script src="/_next/static/chunks/1040-d246ed641088a416.js" defer=""></script><script src="/_next/static/chunks/3450-4e472b9e2754fa47.js" defer=""></script><script src="/_next/static/chunks/pages/systems/configure/%5Bid%5D-6db01a1afe2f82d5.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_buildManifest.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_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":"/systems/configure/[id]","query":{},"buildId":"7-nocO64klVotMrKmugnq","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -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/c693338e3bc8dcc6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c693338e3bc8dcc6.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-e61d457474e00565.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-6b3539f8d82ce9ae.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/7553-e7ae268701f3dcfe.js" defer=""></script><script src="/_next/static/chunks/4481-d181a9db72984adf.js" defer=""></script><script src="/_next/static/chunks/pages/systems-c2df5b7b0596a9cb.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_buildManifest.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_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":"/systems","query":{},"buildId":"wyqNbL8A-USLbXV5z1vV0","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
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/23391a3311f80cfe.css" as="style"/><link rel="stylesheet" href="/_next/static/css/23391a3311f80cfe.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-e25ccaae1ef867a2.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-1650bbc3cb8c2299.js" defer=""></script><script src="/_next/static/chunks/pages/systems-8ec7472a7032301f.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_buildManifest.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_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":"/systems","query":{},"buildId":"7-nocO64klVotMrKmugnq","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -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/c693338e3bc8dcc6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c693338e3bc8dcc6.css" data-n-g=""/><link rel="preload" href="/_next/static/css/34a7eb08b86ddb57.css" as="style"/><link rel="stylesheet" href="/_next/static/css/34a7eb08b86ddb57.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-e61d457474e00565.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-6b3539f8d82ce9ae.js" defer=""></script><script src="/_next/static/chunks/678d4732-50255cc09048e643.js" defer=""></script><script src="/_next/static/chunks/2858-0b44609b6be7850b.js" defer=""></script><script src="/_next/static/chunks/2866-a73888c17a195cbe.js" defer=""></script><script src="/_next/static/chunks/9278-9b1b5970f0702668.js" defer=""></script><script src="/_next/static/chunks/3662-f6a1ddca5ee42076.js" defer=""></script><script src="/_next/static/chunks/3983-17ae9c232bddc413.js" defer=""></script><script src="/_next/static/chunks/pages/taxonomy-261deb6fb3e51cb3.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_buildManifest.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_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":"/taxonomy","query":{},"buildId":"wyqNbL8A-USLbXV5z1vV0","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
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/23391a3311f80cfe.css" as="style"/><link rel="stylesheet" href="/_next/static/css/23391a3311f80cfe.css" data-n-g=""/><link rel="preload" href="/_next/static/css/34a7eb08b86ddb57.css" as="style"/><link rel="stylesheet" href="/_next/static/css/34a7eb08b86ddb57.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-e25ccaae1ef867a2.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-1650bbc3cb8c2299.js" defer=""></script><script src="/_next/static/chunks/678d4732-50255cc09048e643.js" defer=""></script><script src="/_next/static/chunks/2858-0b44609b6be7850b.js" defer=""></script><script src="/_next/static/chunks/2866-a73888c17a195cbe.js" defer=""></script><script src="/_next/static/chunks/9278-9b1b5970f0702668.js" defer=""></script><script src="/_next/static/chunks/3662-f6a1ddca5ee42076.js" defer=""></script><script src="/_next/static/chunks/570-c99f07161bd339cd.js" defer=""></script><script src="/_next/static/chunks/pages/taxonomy-84caae0fc02f8ae1.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_buildManifest.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_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":"/taxonomy","query":{},"buildId":"7-nocO64klVotMrKmugnq","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -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/c693338e3bc8dcc6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c693338e3bc8dcc6.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-e61d457474e00565.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-6b3539f8d82ce9ae.js" defer=""></script><script src="/_next/static/chunks/3513-a563133845dc990f.js" defer=""></script><script src="/_next/static/chunks/4121-f0aecb2abd384945.js" defer=""></script><script src="/_next/static/chunks/pages/user-management/new-b124cc24b930c9e1.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_buildManifest.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_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":"/user-management/new","query":{},"buildId":"wyqNbL8A-USLbXV5z1vV0","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
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/23391a3311f80cfe.css" as="style"/><link rel="stylesheet" href="/_next/static/css/23391a3311f80cfe.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-e25ccaae1ef867a2.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-1650bbc3cb8c2299.js" defer=""></script><script src="/_next/static/chunks/7476-7073ec015f84a3e0.js" defer=""></script><script src="/_next/static/chunks/4121-10bfa009892586fa.js" defer=""></script><script src="/_next/static/chunks/pages/user-management/new-a2524414e968f862.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_buildManifest.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_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":"/user-management/new","query":{},"buildId":"7-nocO64klVotMrKmugnq","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -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/c693338e3bc8dcc6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c693338e3bc8dcc6.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-e61d457474e00565.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-6b3539f8d82ce9ae.js" defer=""></script><script src="/_next/static/chunks/3513-a563133845dc990f.js" defer=""></script><script src="/_next/static/chunks/4121-f0aecb2abd384945.js" defer=""></script><script src="/_next/static/chunks/pages/user-management/profile/%5Bid%5D-fd2ff6b13052c54e.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_buildManifest.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_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":"/user-management/profile/[id]","query":{},"buildId":"wyqNbL8A-USLbXV5z1vV0","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
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/23391a3311f80cfe.css" as="style"/><link rel="stylesheet" href="/_next/static/css/23391a3311f80cfe.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-e25ccaae1ef867a2.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-1650bbc3cb8c2299.js" defer=""></script><script src="/_next/static/chunks/7476-7073ec015f84a3e0.js" defer=""></script><script src="/_next/static/chunks/4121-10bfa009892586fa.js" defer=""></script><script src="/_next/static/chunks/pages/user-management/profile/%5Bid%5D-e452541827698b1f.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_buildManifest.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_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":"/user-management/profile/[id]","query":{},"buildId":"7-nocO64klVotMrKmugnq","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -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/c693338e3bc8dcc6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/c693338e3bc8dcc6.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-e61d457474e00565.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-6b3539f8d82ce9ae.js" defer=""></script><script src="/_next/static/chunks/3513-a563133845dc990f.js" defer=""></script><script src="/_next/static/chunks/pages/user-management-fa052b0439920ef6.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_buildManifest.js" defer=""></script><script src="/_next/static/wyqNbL8A-USLbXV5z1vV0/_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":"/user-management","query":{},"buildId":"wyqNbL8A-USLbXV5z1vV0","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
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/23391a3311f80cfe.css" as="style"/><link rel="stylesheet" href="/_next/static/css/23391a3311f80cfe.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-e25ccaae1ef867a2.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-1650bbc3cb8c2299.js" defer=""></script><script src="/_next/static/chunks/7476-7073ec015f84a3e0.js" defer=""></script><script src="/_next/static/chunks/pages/user-management-530be849391d2425.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_buildManifest.js" defer=""></script><script src="/_next/static/7-nocO64klVotMrKmugnq/_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":"/user-management","query":{},"buildId":"7-nocO64klVotMrKmugnq","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1,14 +0,0 @@
1
- from fides.api.models.manual_tasks.manual_task import ManualTask, ManualTaskReference
2
- from fides.api.models.manual_tasks.manual_task_config import (
3
- ManualTaskConfig,
4
- ManualTaskConfigField,
5
- )
6
- from fides.api.models.manual_tasks.manual_task_log import ManualTaskLog
7
-
8
- __all__ = [
9
- "ManualTask",
10
- "ManualTaskConfig",
11
- "ManualTaskConfigField",
12
- "ManualTaskReference",
13
- "ManualTaskLog",
14
- ]
@@ -1,120 +0,0 @@
1
- from typing import TYPE_CHECKING, Any
2
-
3
- from sqlalchemy import Column, DateTime, ForeignKey, String
4
- from sqlalchemy.ext.declarative import declared_attr
5
- from sqlalchemy.orm import Session, relationship
6
-
7
- from fides.api.db.base_class import Base
8
- from fides.api.db.util import EnumColumn
9
- from fides.api.models.manual_tasks.manual_task_log import ManualTaskLog
10
- from fides.api.schemas.manual_tasks.manual_task_schemas import (
11
- ManualTaskLogStatus,
12
- ManualTaskParentEntityType,
13
- ManualTaskReferenceType,
14
- ManualTaskType,
15
- )
16
-
17
- if TYPE_CHECKING: # pragma: no cover
18
- from fides.api.models.manual_tasks.manual_task_config import ( # pragma: no cover
19
- ManualTaskConfig,
20
- )
21
-
22
-
23
- class ManualTask(Base):
24
- """Model for storing manual tasks.
25
-
26
- This model can be used for both privacy request tasks and general tasks.
27
- For privacy requests, it replaces the functionality of manual webhooks.
28
- For other use cases, it provides a flexible task management system.
29
-
30
- There can only be one ManualTask per parent entity.
31
- You can create multiple Configs for the same ManualTask.
32
- """
33
-
34
- @declared_attr
35
- def __tablename__(cls) -> str:
36
- """Overriding base class method to set the table name."""
37
- return "manual_task"
38
-
39
- # Database columns
40
- task_type = Column(
41
- EnumColumn(ManualTaskType),
42
- nullable=False,
43
- default=ManualTaskType.privacy_request,
44
- )
45
- parent_entity_id = Column(String, nullable=False)
46
- parent_entity_type = Column(
47
- EnumColumn(ManualTaskParentEntityType),
48
- nullable=False,
49
- default=ManualTaskParentEntityType.connection_config,
50
- )
51
- due_date = Column(DateTime, nullable=True)
52
-
53
- # Relationships
54
- references = relationship(
55
- "ManualTaskReference",
56
- back_populates="task",
57
- uselist=True,
58
- cascade="all, delete-orphan",
59
- )
60
- logs = relationship(
61
- "ManualTaskLog",
62
- back_populates="task",
63
- primaryjoin="and_(ManualTask.id == ManualTaskLog.task_id)",
64
- viewonly=True,
65
- order_by="ManualTaskLog.created_at",
66
- )
67
- configs = relationship(
68
- "ManualTaskConfig",
69
- back_populates="task",
70
- cascade="all, delete-orphan",
71
- )
72
-
73
- # Properties
74
- @property
75
- def assigned_users(self) -> list[str]:
76
- """Get all users assigned to this task."""
77
- if not self.references:
78
- return []
79
- return [
80
- ref.reference_id
81
- for ref in self.references
82
- if ref.reference_type == ManualTaskReferenceType.assigned_user
83
- ]
84
-
85
- # CRUD Operations
86
- @classmethod
87
- def create(
88
- cls, db: Session, *, data: dict[str, Any], check_name: bool = True
89
- ) -> "ManualTask":
90
- """Create a new manual task."""
91
- task = super().create(db=db, data=data, check_name=check_name)
92
- ManualTaskLog.create_log(
93
- db=db,
94
- task_id=task.id,
95
- status=ManualTaskLogStatus.created,
96
- message=f"Created manual task for {data['task_type']}",
97
- )
98
- return task
99
-
100
-
101
- class ManualTaskReference(Base):
102
- """Join table to associate manual tasks with multiple references.
103
-
104
- A single task may have many references including privacy requests, configurations, and assigned users.
105
- """
106
-
107
- @declared_attr
108
- def __tablename__(cls) -> str:
109
- """Overriding base class method to set the table name."""
110
- return "manual_task_reference"
111
-
112
- # Database columns
113
- task_id = Column(
114
- String, ForeignKey("manual_task.id", ondelete="CASCADE"), nullable=False
115
- )
116
- reference_id = Column(String, nullable=False)
117
- reference_type = Column(EnumColumn(ManualTaskReferenceType), nullable=False)
118
-
119
- # Relationships
120
- task = relationship("ManualTask", back_populates="references")
@@ -1,136 +0,0 @@
1
- from typing import TYPE_CHECKING, Any, Optional
2
-
3
- from sqlalchemy import Boolean, Column, ForeignKey, Integer, String
4
- from sqlalchemy.dialects.postgresql import JSONB
5
- from sqlalchemy.ext.declarative import declared_attr
6
- from sqlalchemy.orm import Session, relationship
7
-
8
- from fides.api.db.base_class import Base
9
- from fides.api.db.util import EnumColumn
10
- from fides.api.models.manual_tasks.manual_task_log import ManualTaskLog
11
- from fides.api.schemas.manual_tasks.manual_task_config import (
12
- ManualTaskConfigurationType,
13
- ManualTaskFieldMetadata,
14
- ManualTaskFieldType,
15
- )
16
- from fides.api.schemas.manual_tasks.manual_task_schemas import ManualTaskLogStatus
17
-
18
- if TYPE_CHECKING: # pragma: no cover
19
- from fides.api.models.manual_tasks.manual_task import ManualTask # pragma: no cover
20
-
21
-
22
- class ManualTaskConfig(Base):
23
- """Model for storing manual task configurations.
24
- A single configuration may have many fields of different types.
25
- """
26
-
27
- @declared_attr
28
- def __tablename__(cls) -> str:
29
- return "manual_task_config"
30
-
31
- task_id = Column(String, ForeignKey("manual_task.id"), nullable=False)
32
- config_type = Column(EnumColumn(ManualTaskConfigurationType), nullable=False)
33
- version = Column(Integer, nullable=False, default=1)
34
- is_current = Column(Boolean, nullable=False, default=True)
35
-
36
- # Relationships
37
- task = relationship("ManualTask", back_populates="configs")
38
- field_definitions = relationship(
39
- "ManualTaskConfigField",
40
- back_populates="config",
41
- cascade="all, delete-orphan",
42
- uselist=True,
43
- )
44
- logs = relationship(
45
- "ManualTaskLog",
46
- back_populates="config",
47
- primaryjoin="ManualTaskConfig.id == ManualTaskLog.config_id",
48
- viewonly=True,
49
- )
50
-
51
- @classmethod
52
- def create(
53
- cls, db: Session, *, data: dict[str, Any], check_name: bool = True
54
- ) -> "ManualTaskConfig":
55
- """Create a new manual task configuration."""
56
- # Validate config_type
57
- try:
58
- ManualTaskConfigurationType(data["config_type"])
59
- except ValueError:
60
- raise ValueError(f"Invalid config type: {data['config_type']}")
61
-
62
- config = super().create(db=db, data=data, check_name=check_name)
63
-
64
- # Log the config creation as a task-level log
65
- ManualTaskLog.create_log(
66
- db=db,
67
- task_id=data["task_id"],
68
- config_id=config.id,
69
- status=ManualTaskLogStatus.created,
70
- message=f"Created manual task configuration for {data['config_type']}",
71
- details={
72
- "config_type": data["config_type"],
73
- },
74
- )
75
- return config
76
-
77
- def get_field(self, field_key: str) -> Optional["ManualTaskConfigField"]:
78
- """Get a field by its key."""
79
- for field in self.field_definitions:
80
- if field.field_key == field_key:
81
- return field
82
- return None
83
-
84
-
85
- class ManualTaskConfigField(Base):
86
- """Model for storing fields associated with each config."""
87
-
88
- @declared_attr
89
- def __tablename__(cls) -> str:
90
- return "manual_task_config_field"
91
-
92
- task_id = Column(String, ForeignKey("manual_task.id"), nullable=False)
93
- config_id = Column(String, ForeignKey("manual_task_config.id"), nullable=False)
94
- field_key = Column(String, nullable=False)
95
- field_type = Column(
96
- EnumColumn(ManualTaskFieldType), nullable=False
97
- ) # Using ManualTaskFieldType
98
- field_metadata = Column(JSONB, nullable=False, default={})
99
-
100
- # Relationships
101
- config = relationship("ManualTaskConfig", back_populates="field_definitions")
102
-
103
- @property
104
- def field_metadata_model(self) -> ManualTaskFieldMetadata:
105
- """Get the field metadata as a Pydantic model."""
106
- return ManualTaskFieldMetadata.model_validate(self.field_metadata)
107
-
108
- @classmethod
109
- def create(
110
- cls, db: Session, *, data: dict[str, Any], check_name: bool = True
111
- ) -> "ManualTaskConfigField":
112
- """Create a new manual task config field."""
113
- # Get the config to access its task_id and check if it exists
114
- try:
115
- config = (
116
- db.query(ManualTaskConfig)
117
- .filter(ManualTaskConfig.id == data["config_id"])
118
- .first()
119
- )
120
- if not config:
121
- raise ValueError(f"Config with id {data['config_id']} not found")
122
- except Exception as e:
123
- raise ValueError(f"Config with id {data['config_id']} not found: {e}")
124
-
125
- # Create the field and let SQLAlchemy complex type validation handled in service.
126
- field = super().create(db=db, data=data, check_name=check_name)
127
-
128
- # Create a log entry
129
- ManualTaskLog.create_log(
130
- db=db,
131
- task_id=config.task_id,
132
- config_id=data["config_id"],
133
- status=ManualTaskLogStatus.created,
134
- message=f"Created manual task config field for {data['field_key']}",
135
- )
136
- return field
@@ -1,104 +0,0 @@
1
- from typing import TYPE_CHECKING, Any, Optional
2
-
3
- from sqlalchemy import Column, ForeignKey, String
4
- from sqlalchemy.dialects.postgresql import JSONB
5
- from sqlalchemy.ext.declarative import declared_attr
6
- from sqlalchemy.orm import Session, relationship
7
-
8
- from fides.api.db.base_class import Base
9
- from fides.api.schemas.manual_tasks.manual_task_schemas import ManualTaskLogStatus
10
-
11
- if TYPE_CHECKING: # pragma: no cover
12
- from fides.api.models.manual_tasks.manual_task import ManualTask # pragma: no cover
13
- from fides.api.models.manual_tasks.manual_task_config import (
14
- ManualTaskConfig, # pragma: no cover
15
- )
16
-
17
-
18
- class ManualTaskLog(Base):
19
- """Model for storing manual task execution logs."""
20
-
21
- @declared_attr
22
- def __tablename__(cls) -> str:
23
- """Overriding base class method to set the table name."""
24
- return "manual_task_log"
25
-
26
- task_id = Column(
27
- String, ForeignKey("manual_task.id", ondelete="CASCADE"), nullable=False
28
- )
29
- config_id = Column(String, ForeignKey("manual_task_config.id"), nullable=True)
30
- instance_id = Column(String, nullable=True)
31
- status = Column(String, nullable=False)
32
- message = Column(String, nullable=False)
33
- details = Column(JSONB, nullable=True)
34
-
35
- # Relationships - using string references to avoid circular imports
36
- task = relationship("ManualTask", back_populates="logs", foreign_keys=[task_id])
37
- config = relationship(
38
- "ManualTaskConfig", back_populates="logs", foreign_keys=[config_id]
39
- )
40
- # TODO: Add instance relationship when it is implemented
41
- # instance = relationship("ManualTaskInstance", back_populates="logs")
42
-
43
- @classmethod
44
- def create_log(
45
- cls,
46
- db: Session,
47
- task_id: str,
48
- status: ManualTaskLogStatus,
49
- message: str,
50
- config_id: Optional[str] = None,
51
- instance_id: Optional[str] = None,
52
- details: Optional[dict[str, Any]] = None,
53
- ) -> "ManualTaskLog":
54
- """Create a new task log entry.
55
-
56
- Args:
57
- db: Database session
58
- task_id: ID of the task
59
- status: Status of the log entry
60
- message: Optional message describing the event
61
- details: Optional additional details about the event
62
- """
63
- data = {
64
- "task_id": task_id,
65
- "config_id": config_id,
66
- "instance_id": instance_id,
67
- "status": status,
68
- "message": message,
69
- "details": details,
70
- }
71
- return cls.create(db=db, data=data)
72
-
73
- @classmethod
74
- def create_error_log(
75
- cls,
76
- db: Session,
77
- task_id: str,
78
- message: str,
79
- config_id: Optional[str] = None,
80
- instance_id: Optional[str] = None,
81
- details: Optional[dict[str, Any]] = None,
82
- ) -> "ManualTaskLog":
83
- """Create a new error log entry.
84
-
85
- Args:
86
- db: Database session
87
- task_id: ID of the task
88
- message: Error message describing what went wrong
89
- config_id: Optional ID of the configuration
90
- instance_id: Optional ID of the instance
91
- details: Optional additional details about the error
92
-
93
- Returns:
94
- The created error log entry
95
- """
96
- return cls.create_log(
97
- db=db,
98
- status=ManualTaskLogStatus.error,
99
- task_id=task_id,
100
- config_id=config_id,
101
- instance_id=instance_id,
102
- message=message,
103
- details=details,
104
- )
File without changes