ethyca-fides 2.63.1b0__py2.py3-none-any.whl → 2.63.1b1__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 (108) hide show
  1. {ethyca_fides-2.63.1b0.dist-info → ethyca_fides-2.63.1b1.dist-info}/METADATA +1 -1
  2. {ethyca_fides-2.63.1b0.dist-info → ethyca_fides-2.63.1b1.dist-info}/RECORD +107 -104
  3. fides/_version.py +3 -3
  4. fides/api/alembic/migrations/versions/bf713b5a021d_staged_resource_ancestor_link_data_.py +20 -11
  5. fides/api/migrations/post_upgrade_index_creation.py +3 -3
  6. fides/api/models/attachment.py +36 -23
  7. fides/api/service/privacy_request/attachment_handling.py +132 -0
  8. fides/api/service/privacy_request/dsr_package/dsr_report_builder.py +264 -46
  9. fides/api/service/privacy_request/dsr_package/templates/attachments_index.html +33 -0
  10. fides/api/service/privacy_request/dsr_package/templates/collection_index.html +34 -9
  11. fides/api/service/privacy_request/dsr_package/templates/main.css +45 -2
  12. fides/api/service/privacy_request/dsr_package/templates/welcome.html +12 -8
  13. fides/api/service/privacy_request/request_runner_service.py +258 -139
  14. fides/api/service/storage/gcs.py +15 -3
  15. fides/api/service/storage/s3.py +28 -14
  16. fides/api/service/storage/util.py +45 -7
  17. fides/api/tasks/csv_utils.py +170 -0
  18. fides/api/tasks/encryption_utils.py +42 -0
  19. fides/api/tasks/storage.py +85 -91
  20. fides/service/messaging/aws_ses_service.py +5 -1
  21. fides/ui-build/static/admin/404.html +1 -1
  22. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  23. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  24. fides/ui-build/static/admin/add-systems.html +1 -1
  25. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  26. fides/ui-build/static/admin/consent/configure.html +1 -1
  27. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  28. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  29. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  30. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  31. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  32. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  33. fides/ui-build/static/admin/consent/properties.html +1 -1
  34. fides/ui-build/static/admin/consent/reporting.html +1 -1
  35. fides/ui-build/static/admin/consent.html +1 -1
  36. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  37. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  38. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  39. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  40. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  41. fides/ui-build/static/admin/data-catalog.html +1 -1
  42. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
  43. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
  44. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  45. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  46. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  47. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  48. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  49. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  50. fides/ui-build/static/admin/datamap.html +1 -1
  51. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  52. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  53. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  54. fides/ui-build/static/admin/dataset/new.html +1 -1
  55. fides/ui-build/static/admin/dataset.html +1 -1
  56. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  57. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  58. fides/ui-build/static/admin/datastore-connection.html +1 -1
  59. fides/ui-build/static/admin/index.html +1 -1
  60. fides/ui-build/static/admin/integrations/[id].html +1 -1
  61. fides/ui-build/static/admin/integrations.html +1 -1
  62. fides/ui-build/static/admin/login/[provider].html +1 -1
  63. fides/ui-build/static/admin/login.html +1 -1
  64. fides/ui-build/static/admin/messaging/[id].html +1 -1
  65. fides/ui-build/static/admin/messaging/add-template.html +1 -1
  66. fides/ui-build/static/admin/messaging.html +1 -1
  67. fides/ui-build/static/admin/poc/ant-components.html +1 -1
  68. fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
  69. fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
  70. fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
  71. fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
  72. fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
  73. fides/ui-build/static/admin/poc/forms.html +1 -1
  74. fides/ui-build/static/admin/poc/table-migration.html +1 -1
  75. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  76. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
  77. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  78. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  79. fides/ui-build/static/admin/privacy-requests.html +1 -1
  80. fides/ui-build/static/admin/properties/[id].html +1 -1
  81. fides/ui-build/static/admin/properties/add-property.html +1 -1
  82. fides/ui-build/static/admin/properties.html +1 -1
  83. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  84. fides/ui-build/static/admin/settings/about/alpha.html +1 -1
  85. fides/ui-build/static/admin/settings/about.html +1 -1
  86. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  87. fides/ui-build/static/admin/settings/consent.html +1 -1
  88. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  89. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  90. fides/ui-build/static/admin/settings/domains.html +1 -1
  91. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  92. fides/ui-build/static/admin/settings/locations.html +1 -1
  93. fides/ui-build/static/admin/settings/organization.html +1 -1
  94. fides/ui-build/static/admin/settings/regulations.html +1 -1
  95. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  96. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  97. fides/ui-build/static/admin/systems.html +1 -1
  98. fides/ui-build/static/admin/taxonomy.html +1 -1
  99. fides/ui-build/static/admin/user-management/new.html +1 -1
  100. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  101. fides/ui-build/static/admin/user-management.html +1 -1
  102. fides/api/service/privacy_request/dsr_package/templates/item.html +0 -37
  103. {ethyca_fides-2.63.1b0.dist-info → ethyca_fides-2.63.1b1.dist-info}/WHEEL +0 -0
  104. {ethyca_fides-2.63.1b0.dist-info → ethyca_fides-2.63.1b1.dist-info}/entry_points.txt +0 -0
  105. {ethyca_fides-2.63.1b0.dist-info → ethyca_fides-2.63.1b1.dist-info}/licenses/LICENSE +0 -0
  106. {ethyca_fides-2.63.1b0.dist-info → ethyca_fides-2.63.1b1.dist-info}/top_level.txt +0 -0
  107. /fides/ui-build/static/admin/_next/static/{j0v5qPG9TaezfK2WMkHhI → 74KgkHM2cEVIXGgJPlTZ3}/_buildManifest.js +0 -0
  108. /fides/ui-build/static/admin/_next/static/{j0v5qPG9TaezfK2WMkHhI → 74KgkHM2cEVIXGgJPlTZ3}/_ssgManifest.js +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ethyca_fides
3
- Version: 2.63.1b0
3
+ Version: 2.63.1b1
4
4
  Summary: Open-source ecosystem for data privacy as code.
5
5
  Home-page: https://github.com/ethyca/fides
6
6
  Author: Ethyca, Inc.
@@ -1,6 +1,6 @@
1
- ethyca_fides-2.63.1b0.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
1
+ ethyca_fides-2.63.1b1.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
2
2
  fides/__init__.py,sha256=tE3qqipY9eynYXYpQeksYGHP5NfeXyq-L9mBtpFIxl8,139
3
- fides/_version.py,sha256=6BYnPbpm7hPHp1HtiW91vJPuKgMpi1lP0ChNF1SbYdc,500
3
+ fides/_version.py,sha256=81xPAcceikQ26rx2zlSK7_N1ZiFnZZF-Rze1rPDn_Qs,500
4
4
  fides/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
5
  fides/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
6
6
  fides/api/analytics.py,sha256=vgwja9DB7gPsQSE3KQi0F3r6yWmnW66wBRC9FpawfRI,1910
@@ -216,7 +216,7 @@ fides/api/alembic/migrations/versions/bab75915670a_add_finished_audit_log.py,sha
216
216
  fides/api/alembic/migrations/versions/bd875a8b5d96_add_attachments_and_.py,sha256=Cp0KB2eTp_AFYHetU2mEG3aYTXhg7qXJSKp3z6AUBDA,2956
217
217
  fides/api/alembic/migrations/versions/bde646a6f51e_add_execution_timeframe.py,sha256=X4GjvXKHIUeLivnDcLLljNZbrQZjPSCTK14E0DbQHBI,702
218
218
  fides/api/alembic/migrations/versions/be432bd23596_add_fidesctl_meta_field_to_dataset.py,sha256=ZubSk8BbeEUTtf9TMUDdKI2jHzQ_WoqJRVDy7PAt_s8,688
219
- fides/api/alembic/migrations/versions/bf713b5a021d_staged_resource_ancestor_link_data_.py,sha256=Om6H0WaXHA-bOQ-KybM1Uc07oEOcfaz3NBqFlBZS4mw,8582
219
+ fides/api/alembic/migrations/versions/bf713b5a021d_staged_resource_ancestor_link_data_.py,sha256=2DAg2uNwocsXvHQNBAwY0AVnwpmM7Fp089vYuJrXEDI,9070
220
220
  fides/api/alembic/migrations/versions/c1885270b3cc_add_html_format_for_storageconfig.py,sha256=dqGfoOjMotgkK7P-TpWZ0FNelrzKslKELDI8-GvV1mY,1476
221
221
  fides/api/alembic/migrations/versions/c2f7a29c4780_email_connection_config.py,sha256=3bcto_EkphzC6o6dTNxb_-N7HZNbCZBhnLeJB-_QteM,1342
222
222
  fides/api/alembic/migrations/versions/c3472d75c80e_connectionconfig_disabled.py,sha256=gfn0lp8GvkQeM7wCO3HGDXqm_coovwhPbndRW4HCx0I,1270
@@ -365,11 +365,11 @@ fides/api/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hS
365
365
  fides/api/migrations/hash_migration_job.py,sha256=N5fCvR5mKlrZ98YDPxITxuJABXsGxI_y5uVUvn6fP1g,3223
366
366
  fides/api/migrations/hash_migration_mixin.py,sha256=tVs5YqZGVfpqdWp-cFo2Y9lRqe6VEdbOMZ15le8dAmk,2823
367
367
  fides/api/migrations/hash_migration_tracker.py,sha256=d7-7gCSTAhx5mmvrLsAM8QunKnN7uXDjmJZLe_tNwdI,766
368
- fides/api/migrations/post_upgrade_index_creation.py,sha256=LjYPItQaaKJ3J4G9-wZK9Y6Lp-AgdEqrLtsU60oxYfY,11987
368
+ fides/api/migrations/post_upgrade_index_creation.py,sha256=Iym40goWcHM-E6Sz_uRsV0kCs_vVRxSySJoc1YWnLsM,11968
369
369
  fides/api/models/__init__.py,sha256=2bRCL2hY-a2APbUK2NnXCM6R-HukTZzd4AMiUQjY3Po,1987
370
370
  fides/api/models/application_config.py,sha256=BTRtVWFUHuos5ixoJxKKSdqxMRyPvGtVi05sv9xq4D4,8813
371
371
  fides/api/models/asset.py,sha256=7uxQvaOE2bcuc1hq8SKqOb7bZt_Qk1HFt7Sknqwp8Sg,6035
372
- fides/api/models/attachment.py,sha256=OLBNAOI8DzrhUn7gZFPWhEZjesTgo97mW_nzxCDZfWQ,14794
372
+ fides/api/models/attachment.py,sha256=IRbCsvEIXWiDgm-b61u9xfFxTDaItteaNeVnu7ZnYQo,15116
373
373
  fides/api/models/audit_log.py,sha256=qG2UZH35IsfJL5Qupn6jcPNOpMbUomxeAy7Pkfc0C0s,804
374
374
  fides/api/models/authentication_request.py,sha256=aZuO38BiZWGriSVGleVnPP9vVhRSD1jjb1bEul5Ge48,1230
375
375
  fides/api/models/client.py,sha256=Qv21ftOeJrm8Ty3vbOhRhUjQqOxKMWNWZPOMrg0Xqfc,6073
@@ -611,17 +611,18 @@ fides/api/service/pagination/pagination_strategy_factory.py,sha256=iMpudZ2j-Hr8S
611
611
  fides/api/service/pagination/pagination_strategy_link.py,sha256=NaDgI1zWJS2dZkUDjFrsz-OPeVIw63PiriCJe6VBqy8,2665
612
612
  fides/api/service/pagination/pagination_strategy_offset.py,sha256=6uJu3wBaGl9_ubHaCceX2wW-AHyp4WsiOssRSdUSXOk,3536
613
613
  fides/api/service/privacy_request/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
614
+ fides/api/service/privacy_request/attachment_handling.py,sha256=DTvr5M6EgazrQrNQ7sLTrcN0Ujzw9ZjKKtrYlwT306E,4648
614
615
  fides/api/service/privacy_request/email_batch_service.py,sha256=pPRc7EwFVoQPRkd0djfICiS3Gdi3BNcMJZXYqmuuK64,5708
615
- fides/api/service/privacy_request/request_runner_service.py,sha256=NvCwrvxqAK7ouvziGcBD2KHm2wnsZ68eKy6Lc3yrCp0,36572
616
+ fides/api/service/privacy_request/request_runner_service.py,sha256=sShJja0tZg2mvM9YrDbEabxm_T8FwxGIvWyowITmh64,41001
616
617
  fides/api/service/privacy_request/request_service.py,sha256=d3Pe09EOzfS4QhTI14UZCM8UhcYg_1C3p_cb0jNg_30,20873
617
618
  fides/api/service/privacy_request/dsr_package/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
618
- fides/api/service/privacy_request/dsr_package/dsr_report_builder.py,sha256=T3K3jQx4V7ES0Z5CriXAmX0uVuPeF2L4Fh6lDw_UKvI,7433
619
+ fides/api/service/privacy_request/dsr_package/dsr_report_builder.py,sha256=uDgaIxKvJqW_26nupq5TSqkvYtZeSlv28Mg_2IWRw10,15111
619
620
  fides/api/service/privacy_request/dsr_package/assets/back.svg,sha256=Jxx_oWLHnd84oM4z-fPKfTGfqXnARJI_M00iq0mMw_Y,243
620
- fides/api/service/privacy_request/dsr_package/templates/collection_index.html,sha256=u0U5-C_NKHOL_k5aLNCVLDRkUVpGfH9k2G54dpGaJ0I,1006
621
+ fides/api/service/privacy_request/dsr_package/templates/attachments_index.html,sha256=X2cwZUiOtStRLFki8dWZ6EIR_vLJ2-o3s0Vk9VRKjCE,1347
622
+ fides/api/service/privacy_request/dsr_package/templates/collection_index.html,sha256=R_57gbx9N45h2IUt784Qwqk2mBVwM5i49UrIwtTi1fQ,2543
621
623
  fides/api/service/privacy_request/dsr_package/templates/dataset_index.html,sha256=I2XzsQENPr97NUOZS3FKJFSb_lntz5BaJ4lLZYgLfoA,1059
622
- fides/api/service/privacy_request/dsr_package/templates/item.html,sha256=zKP9Q6BggUymkcD3w6i5xzxlJ_-sfyZtVzHThEL9Kbc,1061
623
- fides/api/service/privacy_request/dsr_package/templates/main.css,sha256=2ocJ7SEFy-ai7H18C402i5U5nA22SPz-M60QY3EUkpM,3155
624
- fides/api/service/privacy_request/dsr_package/templates/welcome.html,sha256=gc1-XTIgCuw0bGwMlpSg6FcxyZxmgOXtGaCbwsoLFv8,2087
624
+ fides/api/service/privacy_request/dsr_package/templates/main.css,sha256=c2ZrSsjpxcvUpSNu8rGCIzRreD1v9dDvbED5FRgDQlc,3875
625
+ fides/api/service/privacy_request/dsr_package/templates/welcome.html,sha256=T5uhF-4N3zRxuwU5Cd20a1NEsN2AySb-RrOYtrJx3Rk,2336
625
626
  fides/api/service/processors/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
626
627
  fides/api/service/processors/post_processor_strategy/__init__.py,sha256=YRz2AWO50VftVc9bgIWlyiCYhyHN-IWo4CwqNf0-3kw,141
627
628
  fides/api/service/processors/post_processor_strategy/post_processor_strategy.py,sha256=DpcAZmWLukVlDAvLRByaLY0gG6NGnVEvXSYsjLMsk0w,584
@@ -633,11 +634,11 @@ fides/api/service/saas_request/saas_request_override_factory.py,sha256=56bVpshUC
633
634
  fides/api/service/saas_request/override_implementations/__init__.py,sha256=Hvr-Mc2bLucm8RfwoU5OUOfvZBx5IaQk1G6AI5gdNlI,438
634
635
  fides/api/service/saas_request/override_implementations/interruptible_request.py,sha256=QYRgQ2H9pOI8nIisU2cbI18IiHYCCXruUq61gGIZjMM,1027
635
636
  fides/api/service/storage/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
636
- fides/api/service/storage/gcs.py,sha256=KUAMqOUth79TWhMZMwVx9wzktOpvvL0CnT5jS1dTgLI,1201
637
- fides/api/service/storage/s3.py,sha256=pbGlpR2VGrm7utmbg3XS2wKNmqkkQBizdIAxZvkEF0Q,7152
637
+ fides/api/service/storage/gcs.py,sha256=xKIkd0yQDToUSuyAa0267zYU91QHxRjl4Q6kVo59Mdw,1588
638
+ fides/api/service/storage/s3.py,sha256=wP8rpojBWy9QxAbsv-KQs7WSdzhyO2Vop9A1C83b3jo,7802
638
639
  fides/api/service/storage/storage_authenticator_service.py,sha256=T7fJdJH8TQPIyIJ94vM4TaGlnDuLshhR-qNlM-2ybj0,2318
639
640
  fides/api/service/storage/storage_uploader_service.py,sha256=57xX8z42kET26jfdE6EnyInVeONehUmQu1Fey3WLshM,4500
640
- fides/api/service/storage/util.py,sha256=GyKAKw8fpAqHn2DrKl0Mpy8Al-mKdchEgPGCg2y9WDs,1553
641
+ fides/api/service/storage/util.py,sha256=Ip2iRYBBLCs3YpnPpYPKdFs9r_Ytl4OmIhBGsvHDrP8,2916
641
642
  fides/api/service/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
642
643
  fides/api/task/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
643
644
  fides/api/task/consolidate_query_matches.py,sha256=8q24tSDYShnoLD7Z8X7vRpYVK9lhvrWZyYl8hLCJqEk,1472
@@ -651,7 +652,9 @@ fides/api/task/graph_task.py,sha256=2_7Lr4KLY1FpOkibAGR25P-z-ghDGWZZudfeUeIrAw4,
651
652
  fides/api/task/refine_target_path.py,sha256=3pJ0m3T_ez3bl1cQj2-gnSHCt7LN7Y9yNmhozIRHmzo,7657
652
653
  fides/api/task/task_resources.py,sha256=2nJdxhEn3S9gVhpsQKeYPNG-XE2JFbc8C0IAmIK43C4,8972
653
654
  fides/api/tasks/__init__.py,sha256=3JQBUwgAebSc3vZO9evCVoYVRD-rK0r0a5fDeroIy4o,5108
654
- fides/api/tasks/storage.py,sha256=c8MxR8vanHujPReLD_Tt_4VttMl438-_vP8kPJe-Dpw,7821
655
+ fides/api/tasks/csv_utils.py,sha256=ltI3s0SFO_aEbbp2O_Zj2PDCNcqMzdkf9RvUUPgRW3s,5079
656
+ fides/api/tasks/encryption_utils.py,sha256=B-NvjhzPmm28K1vsMGUflVrkStvtrqbrCNTHj92i1CQ,1435
657
+ fides/api/tasks/storage.py,sha256=5C4LGDLKtQnF0oJOC1RQj6HF7F_1H9u--oFkKj8_QJA,7434
655
658
  fides/api/tasks/scheduled/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
656
659
  fides/api/tasks/scheduled/scheduler.py,sha256=9YCmyfSWYL0eWQNy8o2MhGcJDWl8mjfz6I09ztSQ2sM,198
657
660
  fides/api/util/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -783,32 +786,34 @@ fides/service/dataset/validation_steps/namespace_meta.py,sha256=rRYFK25JYsl5jmHH
783
786
  fides/service/dataset/validation_steps/saas.py,sha256=Y_B6rSD6Vq037h7wyj4VwHnGjnUSgqMLh9ops3QTN2Q,1881
784
787
  fides/service/dataset/validation_steps/traversal.py,sha256=AEg1Uq7zurZWyoduees_hluPL8F16tyt7Plq1r9_wvY,1874
785
788
  fides/service/messaging/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
786
- fides/service/messaging/aws_ses_service.py,sha256=RtIFSpyR5oUDr66DjgOqjv5_KoxJ5gUN7PgOhfdNZ7E,6353
789
+ fides/service/messaging/aws_ses_service.py,sha256=9smpMptHErNeCw9MrarG4dD-dBc7aVy01s5lkNftLMc,6547
787
790
  fides/service/messaging/messaging_service.py,sha256=_3iObiVslfJzuzCukCDw2gbQXrOPpMZs3LqG1Dbmirw,11710
788
791
  fides/service/privacy_request/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
789
792
  fides/service/privacy_request/privacy_request_service.py,sha256=n751XgEPW4PN7HnodgZCzV6cQ9Jt_5h5Who6TFr7BSo,26854
790
793
  fides/service/user/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
791
794
  fides/service/user/user_service.py,sha256=sUsvP_pULLG6oMQlNNF4ZrQJwAtZcaF5h8IqZgGRZg4,5369
792
- fides/ui-build/static/admin/404.html,sha256=hXq9-_YmQ9vxCpdgrQIxqG2x0OPQeOwVL66TPTc2cTE,1466
793
- fides/ui-build/static/admin/add-systems.html,sha256=lENWcGqVsPp7-HQtcTFZsAzSfXTX08DH0D5sbs4UVTg,1720
794
- fides/ui-build/static/admin/consent.html,sha256=obDYntRpZ2T1KeSo2fOcm6k77b_vahlYHbj07kkvIqE,1474
795
- fides/ui-build/static/admin/data-catalog.html,sha256=vDsSc1PJwC9ETxBF-3GaliH62HLF7rU9ik9y0QydlU8,2194
796
- fides/ui-build/static/admin/datamap.html,sha256=ESJplWlHSSt9XyF2jSrCZbNWNMnVusIvTbbaOB2xU5k,2101
797
- fides/ui-build/static/admin/dataset.html,sha256=gUYj97RkYZ1iXv0ip9rb_qk0rWVHKqEHGzeW0oQRcos,1946
798
- fides/ui-build/static/admin/datastore-connection.html,sha256=_KFOy8XVMV3A4kd9foQwddNpWPyYWVqtFKvdaoau7hg,1660
795
+ fides/ui-build/static/admin/404.html,sha256=vtXod5cAntngonHExeO7wvKLJVMMHF08ITm34_-JVV8,1466
796
+ fides/ui-build/static/admin/add-systems.html,sha256=dSBLvo_e_e9VrcDY7a5NHDh6moQ2bKv8jo3mt4Mgn5o,1720
797
+ fides/ui-build/static/admin/consent.html,sha256=tr195_Dt_hIWanpxNUNAyepXIaFw6xuEsuxXOSloLq8,1474
798
+ fides/ui-build/static/admin/data-catalog.html,sha256=tGEz9E1RLWbWTgUch34OMJD6dmOzyg7x9z2bS_YtUvk,2194
799
+ fides/ui-build/static/admin/datamap.html,sha256=_uM7GA9UFb2vNncY1NUZbv9z5kllGpQJLEPjgd6L9JA,2101
800
+ fides/ui-build/static/admin/dataset.html,sha256=xf8NaikUQ6ULO1aYcN9kUtUT6e63i2iU8V0YL6uuqXc,1946
801
+ fides/ui-build/static/admin/datastore-connection.html,sha256=Ji-xr11U65vvxt5Vmj5G6700-FMxk6LhpD4q1xCeMKM,1660
799
802
  fides/ui-build/static/admin/favicon.ico,sha256=xxtarycoqCOznVZCG0z5Wej6EfYvMYwyz6EUwaVwhEw,4286
800
- fides/ui-build/static/admin/index.html,sha256=y2g3P3OAos2POZh4MDaW4rR2vSb24nTKelSyguAzueg,1625
801
- fides/ui-build/static/admin/integrations.html,sha256=bhCkj7_0QM6jRw6suSTHXMjjZykeSPIO2REI3kIuxtU,2505
802
- fides/ui-build/static/admin/login.html,sha256=Y0SMVYo_jXX5Q46SO8hwGw_rdki3MeZNtJQxaT_RcNY,1470
803
+ fides/ui-build/static/admin/index.html,sha256=WPRMe-Sz2Qf1sH5ksJBXrHI1GzaEN4VX-FDJC5Xw5GY,1625
804
+ fides/ui-build/static/admin/integrations.html,sha256=zPAzTFKoUzQhb6jP12qLcUOkyxdQNxahgpjR0IyHqUI,2505
805
+ fides/ui-build/static/admin/login.html,sha256=CY4lCWtaBuRhQVVaWH-f9_w3u6iUckLL0tTcsIZuMYY,1470
803
806
  fides/ui-build/static/admin/logo-icon.svg,sha256=LTpApcJnb73kye_gPF3KG8qNe6S3HJJKeebdl6aJ8fI,147
804
807
  fides/ui-build/static/admin/logo-white.svg,sha256=u12SVA-WPW0GAhJ1wXM4oi2aqKXKmteo6yEvGDgz5jM,2101
805
808
  fides/ui-build/static/admin/logo.svg,sha256=bCostWyEaAVHBbKwGhzAAGJ0ZNgxBGgzhwKsAXS47bg,2100
806
- fides/ui-build/static/admin/messaging.html,sha256=Bmy3hfOgC9x0Z5eENsikVbPDC9SoJFuVkcBhcb5qqCQ,2028
807
- fides/ui-build/static/admin/privacy-requests.html,sha256=AtMH1kOosaG2vtEZSYztvobIsC1wFkfoZpjrvzqeAYQ,1886
808
- fides/ui-build/static/admin/properties.html,sha256=2bs5eRwXMLrIT2Knsmab-MI1pDw5qaTPbdeYH_fm25I,1872
809
- fides/ui-build/static/admin/systems.html,sha256=EHUikFuL4FZlXk8tRQwnFr5R5JwMU2c85ex-S-9ib3A,1790
810
- fides/ui-build/static/admin/taxonomy.html,sha256=ejFOhhW1D9RNnqoUcmfZSdRR1Nysb-s1ISXncZAEJog,2186
811
- fides/ui-build/static/admin/user-management.html,sha256=QlcphzdQjJKNvJYWYE8bjYTTkN9jphrUxK1IzesrleI,1568
809
+ fides/ui-build/static/admin/messaging.html,sha256=T8ebXbgjP0LuaETdtm13D0u09cXVzXSlMr7VNIsNiaM,2028
810
+ fides/ui-build/static/admin/privacy-requests.html,sha256=62immd4-NOp8wWXOrJ-iFVJ0LjK4dncq3-ixvnNIjEM,1886
811
+ fides/ui-build/static/admin/properties.html,sha256=KNHCjE1i7Zjqy8tdG-fg7RvbdizB_DCeY1NG95oWfbc,1872
812
+ fides/ui-build/static/admin/systems.html,sha256=0zCGbCqbVOH3A78wRWTbClGgWDOzUNEGyuTaI-hH_ok,1790
813
+ fides/ui-build/static/admin/taxonomy.html,sha256=H1GtB6ixyobIlTLbW1VljSwugflGB70c3fCEcd3JxLU,2186
814
+ fides/ui-build/static/admin/user-management.html,sha256=tILD2kSk9N_8sNKVcm6xYF47Z0CxQpalFX9mo-RsPP4,1568
815
+ fides/ui-build/static/admin/_next/static/74KgkHM2cEVIXGgJPlTZ3/_buildManifest.js,sha256=iW8Vtfaq-gRLO5KTsbAAtH2WpQLyAuaYJPowDHYtKTA,13825
816
+ fides/ui-build/static/admin/_next/static/74KgkHM2cEVIXGgJPlTZ3/_ssgManifest.js,sha256=-D2RVaEwulH2ck-9Y_5QwX6x5lnaSkDOhosw4jeAt-M,101
812
817
  fides/ui-build/static/admin/_next/static/chunks/1099-667e84655846e78c.js,sha256=q1m7RPiV_IGDP-oE4_Khm8hlAZOYL4N4Fnf_abSzwDg,5685
813
818
  fides/ui-build/static/admin/_next/static/chunks/1100-0b01f500b1eaf60d.js,sha256=YJPihoOXyzfcs8-wSqh4aRk5C_iiWENiJDOql5p79hg,11035
814
819
  fides/ui-build/static/admin/_next/static/chunks/1817-951f58ddd5d46081.js,sha256=hH--laKTLAPL1X2wbDvxZygMe9TuuksUgJPMrghfHYw,16948
@@ -973,8 +978,6 @@ fides/ui-build/static/admin/_next/static/css/ab65b8cc3144bfc8.css,sha256=j408i0-
973
978
  fides/ui-build/static/admin/_next/static/css/d2d4e9a6923e6730.css,sha256=OdhQ-4KEwBzOslEnnl_MXdGuTan6ZAKKJ_YUuGFWUxY,221
974
979
  fides/ui-build/static/admin/_next/static/css/e458b5f1afdbb7fc.css,sha256=fgS2tbBuMMcHbS5zKxCr2zlei8G9IpxJqnGTiVLNxHo,464
975
980
  fides/ui-build/static/admin/_next/static/css/eb46b504bb5d980d.css,sha256=T0xYSXLTLjXQZ5DhcLUyBrE2Lod5H8TEL18IAAt8wPA,123
976
- fides/ui-build/static/admin/_next/static/j0v5qPG9TaezfK2WMkHhI/_buildManifest.js,sha256=iW8Vtfaq-gRLO5KTsbAAtH2WpQLyAuaYJPowDHYtKTA,13825
977
- fides/ui-build/static/admin/_next/static/j0v5qPG9TaezfK2WMkHhI/_ssgManifest.js,sha256=-D2RVaEwulH2ck-9Y_5QwX6x5lnaSkDOhosw4jeAt-M,101
978
981
  fides/ui-build/static/admin/_next/static/media/inter-all-400-normal.2ae8ed37.woff,sha256=-CQCm8S8JXgvY4e9UwL-yfaPYT67i37QnBGzcP6PdKo,129252
979
982
  fides/ui-build/static/admin/_next/static/media/inter-all-500-normal.56c3d87b.woff,sha256=lOCK2G05xJDgb6tdtbbGtg9w869HcqMzCM1u3luUlh8,138892
980
983
  fides/ui-build/static/admin/_next/static/media/inter-all-600-normal.d9666969.woff,sha256=uinAVzvh4KrOFkgOiHIp-M6g_mTxcZZv9ilgyUz8HgE,140048
@@ -1008,37 +1011,37 @@ fides/ui-build/static/admin/_next/static/media/inter-vietnamese-500-normal.7b524
1008
1011
  fides/ui-build/static/admin/_next/static/media/inter-vietnamese-600-normal.eb82de1d.woff2,sha256=ZKjcMjaLlHAKJJyTcujqJwFDooKWcq8qQSuKZVfXZRA,3876
1009
1012
  fides/ui-build/static/admin/_next/static/media/inter-vietnamese-700-normal.00e401a9.woff2,sha256=92gZYPHyPg3OZ_u0f78u6ZZNdc53OvVkqhoTelycCqw,3888
1010
1013
  fides/ui-build/static/admin/_next/static/media/logo-white.c9bf4196.svg,sha256=u12SVA-WPW0GAhJ1wXM4oi2aqKXKmteo6yEvGDgz5jM,2101
1011
- fides/ui-build/static/admin/add-systems/manual.html,sha256=PBJzVLp8s2II61u3WaZ4TMWtFy7QfJPLn-1Fa9Vd6gw,2751
1012
- fides/ui-build/static/admin/add-systems/multiple.html,sha256=wPOhZ1KOS05GQsf4PwwHl6GMTCPGbVPf6I6kaHyBfQw,2048
1013
- fides/ui-build/static/admin/consent/configure.html,sha256=0wFdMoJlGNlLIVU1KlIiTnKsAFl2hgVSFwWUmQmjQEc,1965
1014
- fides/ui-build/static/admin/consent/privacy-experience.html,sha256=mP3YMhbGwEI5MBqMVPRFlbE6tu6X_-pLNKu7uXDZdkw,1984
1015
- fides/ui-build/static/admin/consent/privacy-notices.html,sha256=NBdn5R7zVK6jlhgM9Fyy1Vah20fvjdd1oLywnLfgneU,1900
1016
- fides/ui-build/static/admin/consent/properties.html,sha256=HCMnKj9Kh-Lu5mFLisD10xHMJw_pXGZSBY015yo-mT8,1888
1017
- fides/ui-build/static/admin/consent/reporting.html,sha256=cLF7ea3DOTnWsvPcHTtcnSbIChFhLg1Uhih_p25Ysiw,1888
1018
- fides/ui-build/static/admin/consent/configure/add-vendors.html,sha256=HC7daChtS5u2JLukfVrMLOYjN0uZHwFWb71unTQV-I4,2066
1019
- fides/ui-build/static/admin/consent/privacy-experience/[id].html,sha256=rHQfbgKQ8b8tVz-FI9hyK0MQdy2YQ0LADQopHIT4Bho,2070
1020
- fides/ui-build/static/admin/consent/privacy-experience/new.html,sha256=UOB5issxF2BVIY5dGrwAee1W5svS-lOwiz4AQ6HUpcI,2064
1021
- fides/ui-build/static/admin/consent/privacy-notices/[id].html,sha256=_TRkbAVnkYlSFpIVs2_mlIRjUCOoLq_pMoJvxsfwtXU,2064
1022
- fides/ui-build/static/admin/consent/privacy-notices/new.html,sha256=A7wD250QmhoY82x7tI-TQXiDDUVoPdRlVtm_Ahy9qFY,2058
1023
- fides/ui-build/static/admin/data-catalog/[systemId]/projects.html,sha256=rfR6Y3_Cum6QhCX6_DgReshRu0tczXdmvYKi9yfII_k,2316
1024
- fides/ui-build/static/admin/data-catalog/[systemId]/resources.html,sha256=Yd9M1Y9ktTdB73Y-g1q1Y6OvzcXQSW2jOwYjQMr1R54,1924
1025
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html,sha256=oO5_-l-7FSravqxLi62i1I65NoQJBW34r5VKlUTqNaQ,1952
1026
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html,sha256=sqVZs-qOLLIOGtd5nRbUGLx_DN6ICw9m_GaJFrsxhik,2534
1027
- fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html,sha256=pG9PTE1elCLvbCNhtKEDtcWl97C-f-iCXpyohmZ1lww,2506
1028
- fides/ui-build/static/admin/data-discovery/action-center.html,sha256=6g9yHtPh_bYcMRSJlmFXzAspockDXGYYshUf0h-UlqI,1832
1029
- fides/ui-build/static/admin/data-discovery/activity.html,sha256=Adoshokg-47C71JKK9e8GC61BKZSlmCPZcvmKuzKU_M,1822
1030
- fides/ui-build/static/admin/data-discovery/detection.html,sha256=dWhCpVfqazGFqJNflo8j9jlafgVF_WUuBGf3exPRum4,2058
1031
- fides/ui-build/static/admin/data-discovery/discovery.html,sha256=uIiJfLsjvHPzvcOsn0SAHZEbssFLTByOr634GGUKEbA,2530
1032
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html,sha256=aAQY9QPWRMMgS9Qr-N9b2rA0jqAxodBAnaKAeSWpOnQ,2332
1033
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html,sha256=YO9EOTU1WIPds0h8qGmu6tAXEPyw0kFh0o_q_hz91bs,2513
1034
- fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html,sha256=YWhonDjdBOLSVwXGE8FG0JnVtrDYYQ01oQ8N_9JMWCk,2090
1035
- fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html,sha256=Ea0ef3JapWVUce28UIyja7_lHh5OltJ4KzUfANSkNIw,2562
1036
- fides/ui-build/static/admin/dataset/[datasetId].html,sha256=ZddSVhTObcnG1unJ3w_hEj3B1ldR_M9bC6uE8RFb8N0,1974
1037
- fides/ui-build/static/admin/dataset/new.html,sha256=GQxI6yZH9Ofk2SdbAC30QpH6e7d0_F0to8O9fMLKyDs,1638
1038
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html,sha256=B30IyR3cyLZsGzY54XVc_p13rrDQe1cHYwBrlcwxI_M,2406
1039
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html,sha256=HhPbaegFZu1sIv-THyKDfarK3RI91MgQMZcyfZLJhJI,2448
1040
- fides/ui-build/static/admin/datastore-connection/[id].html,sha256=2S7P3Uqj2WPcJ4Ch-hJPQnR3ak0QF9g_OCLx3mqTDbY,1748
1041
- fides/ui-build/static/admin/datastore-connection/new.html,sha256=aW7F2-LmOUxT5FPFmPl3JgNAzNCEtJRGhjpi_8rrdsM,1820
1014
+ fides/ui-build/static/admin/add-systems/manual.html,sha256=2ARLczNegOkpzlhoACCJN53IMU6rffuQ1q2ILVoGP5o,2751
1015
+ fides/ui-build/static/admin/add-systems/multiple.html,sha256=qooZxqcfDP-UaP2k1rdXJUcmCVHQXVApokXB-vf07s8,2048
1016
+ fides/ui-build/static/admin/consent/configure.html,sha256=Vlt4W08UwevM4fMTFOQ0qTNcY4QtMJqFFjhz0MuCUhg,1965
1017
+ fides/ui-build/static/admin/consent/privacy-experience.html,sha256=KLi1lPfPg9dsDjBARf35pr__CdRrjKZJGPVSZn2RyTM,1984
1018
+ fides/ui-build/static/admin/consent/privacy-notices.html,sha256=PsQcoM31xpoO4ABiQdqdA3Lpu3Q4xbyfRzw3VMnzljA,1900
1019
+ fides/ui-build/static/admin/consent/properties.html,sha256=qpfPcS7oiZ-yLVDlEoFGzf81PKRrnDeDCodOmDkSC8g,1888
1020
+ fides/ui-build/static/admin/consent/reporting.html,sha256=nZQo-HGZDjk8zpxgVQbZd0fTq3kDiyWwnxSgpKp1fV8,1888
1021
+ fides/ui-build/static/admin/consent/configure/add-vendors.html,sha256=uz42y_hPMScLS-BlR0_XKZUlojDDn7tckP57AY9qjbQ,2066
1022
+ fides/ui-build/static/admin/consent/privacy-experience/[id].html,sha256=sbU_UmLOujQ5J5ZdNImUX_5FiV8gZhwnZ7ECwwDLNII,2070
1023
+ fides/ui-build/static/admin/consent/privacy-experience/new.html,sha256=EASMUjQPC1fDbSuOSH6EMvntlG1SfXgWYtu37ii-dq0,2064
1024
+ fides/ui-build/static/admin/consent/privacy-notices/[id].html,sha256=uhrWYjoczZh2Q3wlYHnrcK1zXM0kz43TQHycaQB-hOE,2064
1025
+ fides/ui-build/static/admin/consent/privacy-notices/new.html,sha256=vj9pqX-oV9TceTTES_kfu1LlGJvmmvaMqS0pFnESQVU,2058
1026
+ fides/ui-build/static/admin/data-catalog/[systemId]/projects.html,sha256=1J_UFRvu2U3wmF6KPHVrU2JpHQkRjNT9xyXirBBVcPU,2316
1027
+ fides/ui-build/static/admin/data-catalog/[systemId]/resources.html,sha256=TvBdFp57vU8vZQWEgJJfo1Qe8IGXrqZl5i-hDFqgZCY,1924
1028
+ fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html,sha256=OIVTS0ESp30c_XCeCAbnvGAVipeukT4O62qzqORXaNs,1952
1029
+ fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html,sha256=64gGCI7v4RVdS0r_-J-N1zBDX65p0aOHld2Qrc7LshA,2534
1030
+ fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html,sha256=nvH9garslR4qISn4Gb1dCyBfG0nXfHiC3QWQJ-9WWlU,2506
1031
+ fides/ui-build/static/admin/data-discovery/action-center.html,sha256=zdO1aN4Oup5vtymNzh5fQCD-ttTcKFTXXFTe6qzAic4,1832
1032
+ fides/ui-build/static/admin/data-discovery/activity.html,sha256=PyObtSuT6cpw08F3MWipmOJeIUQPNvCUdQL5IC1UTkM,1822
1033
+ fides/ui-build/static/admin/data-discovery/detection.html,sha256=hKd_tIejBurT3_DTAYeu8KFUNkTVXQ8Q1NlLKE2JodA,2058
1034
+ fides/ui-build/static/admin/data-discovery/discovery.html,sha256=pvmFdeDVyWXIkSkXYUSx2MKXEZM40Plho_uU_tjG7cU,2530
1035
+ fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html,sha256=bMvgDlY7FXEWjGBTcxpP2pVcDnUjrP_bJriv7zKqClA,2332
1036
+ fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html,sha256=AtDKu1b-iPmVFeYNVZTlh1g1YIBGH8f3yvynpp7AuDQ,2513
1037
+ fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html,sha256=FJDCaPup1WJcxAlstOJUzKlBqMt7NIT_RX27p1laOZI,2090
1038
+ fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html,sha256=U-qHkfw8GtPK1t9PYTeKOHmOue_PNZ8m54R84g3qmjY,2562
1039
+ fides/ui-build/static/admin/dataset/[datasetId].html,sha256=MZH9wZVm3HwwZsm5Chc2ntTOR2EqHJC3-6MtFl2VJwU,1974
1040
+ fides/ui-build/static/admin/dataset/new.html,sha256=vNPSdPQsctvs-PRb_q_n2xByUA9dAcae9mYP0C0MO7U,1638
1041
+ fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html,sha256=M6lfz6iQM_EArwN6j5v_T30Zwue8kT4OWCetufP9mEo,2406
1042
+ fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html,sha256=iUwhihoCIXmmL2x4mpvOLLtxB5jccf9XClthakQ74xY,2448
1043
+ fides/ui-build/static/admin/datastore-connection/[id].html,sha256=acklaQoIhIsgATST7RZeVa2K64tPWzwAqyMudigrvd0,1748
1044
+ fides/ui-build/static/admin/datastore-connection/new.html,sha256=whNmkoz-ZiF3wMUQi3MLSmMs7wAwAV65KlXrY4--hP4,1820
1042
1045
  fides/ui-build/static/admin/images/DatabaseIcon.svg,sha256=gwl8_3APg_6J4ZwWgovOjxgk5AEPyvq3-qGjkF7R4og,8198
1043
1046
  fides/ui-build/static/admin/images/SelectedDatabaseIcon.svg,sha256=L6YBuL-LiKzBXyt9gHZhtqpo2QopXdC7-oEvEWbvSNE,8198
1044
1047
  fides/ui-build/static/admin/images/config_splash.svg,sha256=IH56T1jrG1y4FIKQZXMaePYESYZGot_4jkTaFvmwHl0,176040
@@ -1068,47 +1071,47 @@ fides/ui-build/static/admin/images/oauth-login/custom.svg,sha256=SW1i3Mez8XVMVGR
1068
1071
  fides/ui-build/static/admin/images/oauth-login/github.svg,sha256=eg3RHjc4MKUaVl3p_tSphXB8Z8zTkPmuSUahUjA-pnY,963
1069
1072
  fides/ui-build/static/admin/images/oauth-login/google.svg,sha256=oRdvveXEbNFZ4_xD6u-DxqNIPJh12o3XU2tITX6ghQU,988
1070
1073
  fides/ui-build/static/admin/images/oauth-login/okta.svg,sha256=ymR7Rqk7syL52284jlure_i06-nVKwZbJwB6JXfdNwo,8076
1071
- fides/ui-build/static/admin/integrations/[id].html,sha256=-_moBiTBc--R6oTKZqJZjdUhejDe5_kAoUEvMGse2G0,2519
1074
+ fides/ui-build/static/admin/integrations/[id].html,sha256=Ytk78boGgvRxjjaFhy8idplGzq5G3VkSBe3xtV315Gk,2519
1072
1075
  fides/ui-build/static/admin/lib/fides-ext-gpp.js,sha256=WVzxGM8ed7kK1CwWJx3AtO7StULJDWwgMWVsoAlWdAs,205243
1073
1076
  fides/ui-build/static/admin/lib/fides-headless.js,sha256=A_Chn9GNB9b81APu-ixPK5SkX2EZ5Q2TUuxzao9eIMU,77183
1074
1077
  fides/ui-build/static/admin/lib/fides-preview.js,sha256=VG0hdW4u34B8Lg__GfJ8NIiri89_KmHzcUel9IkBP8Q,536704
1075
1078
  fides/ui-build/static/admin/lib/fides-tcf.js,sha256=nsr7le2fZQWOE3vJK0Xxc8zWW5zDYplV9JQts1jGpMU,368338
1076
1079
  fides/ui-build/static/admin/lib/fides.js,sha256=zZHUkJ3GPlzGE0EJCn6-B31N7HlcrohnEhAd9Eeqd9g,153558
1077
- fides/ui-build/static/admin/login/[provider].html,sha256=YHV9Oam6y38CpKS07AqURcIAi331OoQjzJttUR9kLhM,1496
1078
- fides/ui-build/static/admin/messaging/[id].html,sha256=weOQfhr5qMH01Hm7EG1Wo7jV5XER4b9ZOGEQKhVi02g,1646
1079
- fides/ui-build/static/admin/messaging/add-template.html,sha256=ZzEA2wOUyv3qv1NJin6Yac1rtcRv66mSY5fX4OtXKMc,1658
1080
- fides/ui-build/static/admin/poc/ant-components.html,sha256=MIKv1Wk9damgR1qVoWIPkfLoxn-gcNYL1pgty5AytMc,1496
1081
- fides/ui-build/static/admin/poc/forms.html,sha256=ZqngIVQ_sP0eaOYldXB5woDHl4FH12tPzPYjTeVCaQk,1556
1082
- fides/ui-build/static/admin/poc/table-migration.html,sha256=zdRvgZFlM4slphg1EpTmEyFgbyXQviMwf8bNII1-9KY,1653
1083
- fides/ui-build/static/admin/poc/form-experiments/AntForm.html,sha256=GKxsNkli6-MpbWNeMUo8YX7jU6d38sHFaZSv9oInszw,1516
1084
- fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html,sha256=wjD_4AHbp-olxCmxa2MSQIGq8IHOH_b41VneWJJyeho,1536
1085
- fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html,sha256=8rZdxHO186mThToVk65bSkGml7gVBEFXpBQKEMX5v3s,1534
1086
- fides/ui-build/static/admin/poc/form-experiments/FormikField.html,sha256=vWhBkCsmO1yOBl3CYNDEu7kocRbaN3LfW4BF9iOpIlo,1524
1087
- fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html,sha256=LMDMSLw-uQEZ3VIIYh-GglMTGhgmR1YISYvOa9U42vM,1614
1088
- fides/ui-build/static/admin/privacy-requests/[id].html,sha256=mbaju2W1ZdLC-o3ACir9GSfe92Ncfeg6Upi2TQ8IXhU,1744
1089
- fides/ui-build/static/admin/privacy-requests/configure.html,sha256=hFA_F6lrLUgQsZUltlsSHLohF1QBy44MVUMlOpe0e4c,1512
1090
- fides/ui-build/static/admin/privacy-requests/configure/messaging.html,sha256=j_xLQHhdHSiTwV6jLNTJ6sIEE2e8Xhdj7MpF8uu0f0g,1532
1091
- fides/ui-build/static/admin/privacy-requests/configure/storage.html,sha256=Q69IXCpGVRbd7oyBpOz03RIiUKBdG2qpUHxo5VFyoaI,1528
1092
- fides/ui-build/static/admin/properties/[id].html,sha256=rVYuUBVUOroFG-ron28djqhKA1i87feHa0oQQbZF3ag,1648
1093
- fides/ui-build/static/admin/properties/add-property.html,sha256=OnXx_BoecxWj3R7MEsb3U3InivmJYTWvCxS8bYVPJX4,1660
1094
- fides/ui-build/static/admin/reporting/datamap.html,sha256=9LsXlJNbd6fXtjZs4Cfyh4sx1w1VpSmzfCbiGUJ5r9o,2356
1095
- fides/ui-build/static/admin/settings/about.html,sha256=BThHhs1VnZr6rnQkq5V3_X9umDlM9d7RuJbYn7FCEzs,1488
1096
- fides/ui-build/static/admin/settings/consent.html,sha256=C1lwvSEnLINIJRwJoAIxK1IPYcY4YCl9C4KbWk1dw6Y,1492
1097
- fides/ui-build/static/admin/settings/custom-fields.html,sha256=VMi2O2uoKkHzK_cGmgScB6LtAN_lkXCNzt61z1OieWs,1898
1098
- fides/ui-build/static/admin/settings/domain-records.html,sha256=psJhNz077_F_Z7K-ghTHzopyuYycTtzvCuN7HjQDTsU,1822
1099
- fides/ui-build/static/admin/settings/domains.html,sha256=Rs6qSmJCXfY4zCONwNSd3iRpfH4zY0whTXO1S9-cuwU,1492
1100
- fides/ui-build/static/admin/settings/email-templates.html,sha256=LaSXa40nLDumvOrpxKDgGKPlR-LvnBu2buFCNySs-x4,1508
1101
- fides/ui-build/static/admin/settings/locations.html,sha256=DqaeYar5wEYvoJYEkDnukmLyz51saSXIok8QKgInN3I,1816
1102
- fides/ui-build/static/admin/settings/organization.html,sha256=pReXZ9k3zjZolAhq-De044DJMzMUmJeIlU-c8FzwFO0,1502
1103
- fides/ui-build/static/admin/settings/regulations.html,sha256=7oWe2AnJtAetUbZ69bWTtXAJ5yQC2NSAI9GpIvNX7Es,1820
1104
- fides/ui-build/static/admin/settings/about/alpha.html,sha256=VsRRWGkXp1z-eCB99xV4RB9N5yTd7YCpMPcX_gPeo3M,1500
1105
- fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html,sha256=mq5EbW9km3lldWQHKNbpIQjmrsMPnZHivjil-HGposo,1880
1106
- fides/ui-build/static/admin/systems/configure/[id].html,sha256=nE4EaoVjMgZmvZEl7_YueMi-dSqt3fQKNKSus4-v-VU,2763
1107
- fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html,sha256=jNrFhWgx0iSQZ-QrCb-fnxhUq2jD1acy-FXf6-L-fPQ,1692
1108
- fides/ui-build/static/admin/user-management/new.html,sha256=p1fu8ufF58dxn7WBxzMsXtbd25s5SRdMVwpjOXTPGJw,1654
1109
- fides/ui-build/static/admin/user-management/profile/[id].html,sha256=l5IywyVS5Fg6vJ8IHNcJKkYjCHKehkU5jwiRrdykjUs,1676
1110
- ethyca_fides-2.63.1b0.dist-info/METADATA,sha256=dKspFOuYXW-1JyUjFxC4Ylc0ZrrR1NKkSqoF7aFmgnw,11664
1111
- ethyca_fides-2.63.1b0.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
1112
- ethyca_fides-2.63.1b0.dist-info/entry_points.txt,sha256=edi4zfmx5sMDogB5GR5gdtOIwP3L1O--rmWb-QunSLE,40
1113
- ethyca_fides-2.63.1b0.dist-info/top_level.txt,sha256=vHQkcSYYOh4ECEGL1JSGUAxFWpwO05QGPV0M2aPxqNQ,6
1114
- ethyca_fides-2.63.1b0.dist-info/RECORD,,
1080
+ fides/ui-build/static/admin/login/[provider].html,sha256=w9bdiaavia8gwujN5rKkxr8I7zS9VitBVni07rorHOY,1496
1081
+ fides/ui-build/static/admin/messaging/[id].html,sha256=C1c0ckKcg2wiPxZdJPoPWkk_ZW8AwEk01gOmylLO48g,1646
1082
+ fides/ui-build/static/admin/messaging/add-template.html,sha256=r4D2ELAYUrlo8U4n4a5tqNM37wEAzEiKaIZP2PTtou4,1658
1083
+ fides/ui-build/static/admin/poc/ant-components.html,sha256=1N1Iy22vpEwLKCuiB6Qt1pxrpbNfEwPzmy-iQpfC-lU,1496
1084
+ fides/ui-build/static/admin/poc/forms.html,sha256=MITSNBHk77cfZPGJUCKWEBfsVe_dtqNcbaa5z2KTNsw,1556
1085
+ fides/ui-build/static/admin/poc/table-migration.html,sha256=nQbIhCejgJch3ZIRt30UsPriFevAroK0laAKFEImVw0,1653
1086
+ fides/ui-build/static/admin/poc/form-experiments/AntForm.html,sha256=l6EC93Rj6-1HBh5M5kdeC6MYFoS3hjp_lSXIZLMCfUI,1516
1087
+ fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html,sha256=4cGt_h8xgyhOSYAvVlJQkm4jVFO82CLJChjnx-rqhmo,1536
1088
+ fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html,sha256=dp93uF4uKDsFs-E5-z1E8KQVs3qmTxQZx7baJCKZClA,1534
1089
+ fides/ui-build/static/admin/poc/form-experiments/FormikField.html,sha256=hRwCpMH-FRwXzskvyQv-zMxp5q8oVH6a98PggfhBuQo,1524
1090
+ fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html,sha256=hKPzX2hgBWEvWkTQIBp4civdOOft1h9tXlSctp5_aoE,1614
1091
+ fides/ui-build/static/admin/privacy-requests/[id].html,sha256=k47Ij9Ax6Gld6P5oIsLt1GDxUxl4ZIQW6e3UzmMFVDI,1744
1092
+ fides/ui-build/static/admin/privacy-requests/configure.html,sha256=X_d_x9m4ZIpn4i7sZQFWgawv08LB-oliz8uBwkGFRxE,1512
1093
+ fides/ui-build/static/admin/privacy-requests/configure/messaging.html,sha256=aZQYFOojWlg7Rz8GqklhqTXCXDysS6SJ1PhXBASKrAA,1532
1094
+ fides/ui-build/static/admin/privacy-requests/configure/storage.html,sha256=tZlELRKJLCg75iYJ9Y955WeuybDFRk0KRpM5R8bjfxo,1528
1095
+ fides/ui-build/static/admin/properties/[id].html,sha256=LyBWnPsD_GpLcQFU2tSgav4Tuf2NGOfaVL1Ni6kbn44,1648
1096
+ fides/ui-build/static/admin/properties/add-property.html,sha256=N91sNDNbq-o5l0TgoO3XxqPsYjvp3kw9FQ1PGaogTao,1660
1097
+ fides/ui-build/static/admin/reporting/datamap.html,sha256=7uFAGu7miz0H4fQoaa1K8m3-uUCqTNugc0qQgguVV8g,2356
1098
+ fides/ui-build/static/admin/settings/about.html,sha256=1qzBRUHQyYs9KgV4XS9jbhOUAI6VvhYHohtn7fRFpEY,1488
1099
+ fides/ui-build/static/admin/settings/consent.html,sha256=VH0Hxav1vgAna1UzKtRdzBM1LaS2LxzOcz4YySjlOkA,1492
1100
+ fides/ui-build/static/admin/settings/custom-fields.html,sha256=MnaueZUdWS10LcKk8VXpD0aN8acSrxXu0K5iKznfRgA,1898
1101
+ fides/ui-build/static/admin/settings/domain-records.html,sha256=ERn-ve9XLKzzIwPoyp28QCn8L7oFkY3-dFei-EOcjyI,1822
1102
+ fides/ui-build/static/admin/settings/domains.html,sha256=KeJzVFcOOCDeHKSHkR3JBKQ8Pogy0bth-elK-D_cObo,1492
1103
+ fides/ui-build/static/admin/settings/email-templates.html,sha256=hYBtV9EiJTbCqTUqXdeocsoCSXy_-V7Dl7G_rqyZLfI,1508
1104
+ fides/ui-build/static/admin/settings/locations.html,sha256=sGX-kZRofYJWdOApOdWDdyBM3IRd-NhYTZWRaRTMlI0,1816
1105
+ fides/ui-build/static/admin/settings/organization.html,sha256=IHa4zqkL_9OE6YVMrUa5HgAl3sDwXIdVrwhqVtftKCw,1502
1106
+ fides/ui-build/static/admin/settings/regulations.html,sha256=RgcFyYmuPhrVRvn5h6vX3tTm6cKbSgoBPaXE_VQxQVI,1820
1107
+ fides/ui-build/static/admin/settings/about/alpha.html,sha256=TkSHlonRCbklkQBJO-9jD0Wsbx_Xl7kmp-hjliETdJg,1500
1108
+ fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html,sha256=RWAyGjC7dqKqy309qiCeuYaOK5xD3Orp8w_fgs7yVFw,1880
1109
+ fides/ui-build/static/admin/systems/configure/[id].html,sha256=lckbP6BNR8WhIpLCeFU1akfn3OymnwnCLT_w4yWDMiY,2763
1110
+ fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html,sha256=WZt-ZqQsFjuJWMCvtN0s_AxdFdhrfNsSFM6rjM5u4TE,1692
1111
+ fides/ui-build/static/admin/user-management/new.html,sha256=pkdYACgD-VcuSxjxQtxQ-cTexDvh9Z0unsYtH6Vq9Fk,1654
1112
+ fides/ui-build/static/admin/user-management/profile/[id].html,sha256=sV3Oo612R4dP6erw0aF48TbUOfoBVpa9sMjDYL0Wfs8,1676
1113
+ ethyca_fides-2.63.1b1.dist-info/METADATA,sha256=nGyEIUHppGewuZtBh_nh9mI4pz6-blrmx0o-y5WgmEk,11664
1114
+ ethyca_fides-2.63.1b1.dist-info/WHEEL,sha256=JNWh1Fm1UdwIQV075glCn4MVuCRs0sotJIq-J6rbxCU,109
1115
+ ethyca_fides-2.63.1b1.dist-info/entry_points.txt,sha256=edi4zfmx5sMDogB5GR5gdtOIwP3L1O--rmWb-QunSLE,40
1116
+ ethyca_fides-2.63.1b1.dist-info/top_level.txt,sha256=vHQkcSYYOh4ECEGL1JSGUAxFWpwO05QGPV0M2aPxqNQ,6
1117
+ ethyca_fides-2.63.1b1.dist-info/RECORD,,
fides/_version.py CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2025-06-06T15:23:03-0400",
11
+ "date": "2025-06-09T15:18:50-0400",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "b43cc283abf5f561e6346db6b0c0995c12133749",
15
- "version": "2.63.1b0"
14
+ "full-revisionid": "015433003992aa2bacc15f1730dc22591866809b",
15
+ "version": "2.63.1b1"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -74,6 +74,11 @@ def upgrade():
74
74
  children = result.children
75
75
  if children:
76
76
  resource_children[urn] = children
77
+ else:
78
+ # even if no children, we still add the resource to the map
79
+ # so that we maintain a record of all resources and can
80
+ # check for orphaned descendant records later
81
+ resource_children[urn] = []
77
82
 
78
83
  # Build list of ancestor-descendant pairs
79
84
  ancestor_links = []
@@ -86,17 +91,21 @@ def upgrade():
86
91
  for child_urn in children:
87
92
  if child_urn not in visited:
88
93
  visited.add(child_urn)
89
- # Add direct ancestor link
90
- ancestor_links.append(
91
- {
92
- "id": f"srl_{uuid.uuid4()}",
93
- "ancestor_urn": ancestor_urn,
94
- "descendant_urn": child_urn,
95
- }
96
- )
97
-
98
- # Recursively process this child's children
99
- if child_urn in resource_children:
94
+ if child_urn not in resource_children:
95
+ logger.warning(
96
+ f"Found orphaned descendant URN: {child_urn}, not adding ancestor link"
97
+ )
98
+ else:
99
+ # Add direct ancestor link
100
+ ancestor_links.append(
101
+ {
102
+ "id": f"srl_{uuid.uuid4()}",
103
+ "ancestor_urn": ancestor_urn,
104
+ "descendant_urn": child_urn,
105
+ }
106
+ )
107
+
108
+ # Recursively process this child's children
100
109
  process_children(
101
110
  ancestor_urn, resource_children[child_urn], visited
102
111
  )
@@ -182,7 +182,7 @@ def create_object(db: Session, object_statement: str, object_name: str) -> None:
182
182
  def check_and_create_objects(
183
183
  db: Session, table_object_map: Dict[str, List[Dict[str, str]]], lock: Lock
184
184
  ) -> Dict[str, str]:
185
- """Returns a dictionary of any indices or constraints that are in the process of being created."""
185
+ """Returns a dictionary of any indices or constraints that were created."""
186
186
  object_info: Dict[str, str] = {}
187
187
  for _, objects in table_object_map.items():
188
188
  for object_data in objects:
@@ -203,7 +203,7 @@ def check_and_create_objects(
203
203
  continue
204
204
 
205
205
  create_object(db, object_statement, object_name)
206
- object_info[object_name] = "in progress"
206
+ object_info[object_name] = "created"
207
207
  else:
208
208
  logger.debug(
209
209
  f"Object {object_name} already exists, skipping index/constraint creation"
@@ -248,7 +248,7 @@ def post_upgrade_index_creation_task() -> None:
248
248
  f"Post upgrade index creation output: {json.dumps(object_info)}"
249
249
  )
250
250
  else:
251
- logger.debug("All indices and constraints created")
251
+ logger.debug("All indices and constraints already created")
252
252
 
253
253
 
254
254
  def initiate_post_upgrade_index_creation() -> None:
@@ -1,5 +1,6 @@
1
1
  import os
2
2
  from enum import Enum as EnumType
3
+ from io import BytesIO
3
4
  from typing import IO, TYPE_CHECKING, Any, Tuple
4
5
 
5
6
  from fideslang.validation import AnyHttpUrlString
@@ -19,7 +20,6 @@ from fides.api.service.storage.s3 import (
19
20
  generic_upload_to_s3,
20
21
  )
21
22
  from fides.api.service.storage.util import AllowedFileType, get_local_filename
22
- from fides.config import CONFIG
23
23
 
24
24
  if TYPE_CHECKING:
25
25
  from fides.api.models.comment import Comment
@@ -28,6 +28,11 @@ if TYPE_CHECKING:
28
28
  from fides.api.models.storage import StorageConfig
29
29
 
30
30
 
31
+ # This is 7 days in seconds and is currently the max allowed
32
+ # configurable expiration time for presigned URLs for both s3 and gcs.
33
+ MAX_TTL_SECONDS = 604800
34
+
35
+
31
36
  class AttachmentType(str, EnumType):
32
37
  """
33
38
  Enum for attachment types. Indicates attachment usage.
@@ -122,6 +127,11 @@ class Attachment(Base):
122
127
  """Returns the content type of the attachment."""
123
128
  return AllowedFileType[self.file_name.split(".")[-1]].value
124
129
 
130
+ @property
131
+ def file_key(self) -> str:
132
+ """Returns the file key of the attachment."""
133
+ return f"{self.id}/{self.file_name}"
134
+
125
135
  def upload(self, attachment: IO[bytes]) -> None:
126
136
  """Uploads an attachment to S3, GCS, or local storage."""
127
137
  if self.config.type == StorageType.s3:
@@ -130,7 +140,7 @@ class Attachment(Base):
130
140
  generic_upload_to_s3(
131
141
  storage_secrets=self.config.secrets,
132
142
  bucket_name=bucket_name,
133
- file_key=f"{self.id}/{self.file_name}",
143
+ file_key=self.file_key,
134
144
  document=attachment,
135
145
  auth_method=auth_method,
136
146
  )
@@ -142,7 +152,7 @@ class Attachment(Base):
142
152
  auth_method = self.config.details[StorageDetails.AUTH_METHOD.value]
143
153
  storage_client = get_gcs_client(auth_method, self.config.secrets)
144
154
  bucket = storage_client.bucket(bucket_name)
145
- blob = bucket.blob(f"{self.id}/{self.file_name}")
155
+ blob = bucket.blob(self.file_key)
146
156
 
147
157
  # Reset the file pointer to the beginning
148
158
  try:
@@ -155,7 +165,7 @@ class Attachment(Base):
155
165
  return
156
166
 
157
167
  if self.config.type == StorageType.local:
158
- filename = get_local_filename(f"{self.id}/{self.file_name}")
168
+ filename = get_local_filename(self.file_key)
159
169
 
160
170
  # Validate that attachment is a file-like object
161
171
  if not hasattr(attachment, "read"):
@@ -205,9 +215,10 @@ class Attachment(Base):
205
215
  size, url = generic_retrieve_from_s3(
206
216
  storage_secrets=self.config.secrets,
207
217
  bucket_name=bucket_name,
208
- file_key=f"{self.id}/{self.file_name}",
218
+ file_key=self.file_key,
209
219
  auth_method=auth_method,
210
220
  get_content=False,
221
+ ttl_seconds=MAX_TTL_SECONDS,
211
222
  )
212
223
  return size, url
213
224
 
@@ -216,19 +227,20 @@ class Attachment(Base):
216
227
  auth_method = self.config.details[StorageDetails.AUTH_METHOD.value]
217
228
  storage_client = get_gcs_client(auth_method, self.config.secrets)
218
229
  bucket = storage_client.bucket(bucket_name)
219
- blob = bucket.blob(f"{self.id}/{self.file_name}")
230
+ blob = bucket.blob(self.file_key)
220
231
 
221
232
  # Ensure we have the blob metadata
222
233
  blob.reload()
234
+ # Expiration is set to 7 days
223
235
  url = blob.generate_signed_url(
224
236
  version="v4",
225
- expiration=CONFIG.security.subject_request_download_link_ttl_seconds,
237
+ expiration=MAX_TTL_SECONDS,
226
238
  method="GET",
227
239
  )
228
240
  return blob.size, url
229
241
 
230
242
  if self.config.type == StorageType.local:
231
- filename = get_local_filename(f"{self.id}/{self.file_name}")
243
+ filename = get_local_filename(self.file_key)
232
244
  size = os.path.getsize(filename)
233
245
  return size, filename
234
246
 
@@ -236,7 +248,7 @@ class Attachment(Base):
236
248
 
237
249
  def retrieve_attachment_content(
238
250
  self,
239
- ) -> Tuple[int, bytes]:
251
+ ) -> Tuple[int, IO[bytes]]:
240
252
  """
241
253
  Retrieves the size of the attachment and its actual content.
242
254
  - For s3:
@@ -252,30 +264,33 @@ class Attachment(Base):
252
264
  if self.config.type == StorageType.s3:
253
265
  bucket_name = f"{self.config.details[StorageDetails.BUCKET.value]}"
254
266
  auth_method = self.config.details[StorageDetails.AUTH_METHOD.value]
255
- size, content = generic_retrieve_from_s3(
267
+ size, fileobj = generic_retrieve_from_s3(
256
268
  storage_secrets=self.config.secrets,
257
269
  bucket_name=bucket_name,
258
- file_key=f"{self.id}/{self.file_name}",
270
+ file_key=self.file_key,
259
271
  auth_method=auth_method,
260
272
  get_content=True,
261
273
  )
262
- return size, content
274
+ return size, fileobj
263
275
 
264
276
  if self.config.type == StorageType.gcs:
265
277
  bucket_name = f"{self.config.details[StorageDetails.BUCKET.value]}"
266
278
  auth_method = self.config.details[StorageDetails.AUTH_METHOD.value]
267
279
  storage_client = get_gcs_client(auth_method, self.config.secrets)
268
280
  bucket = storage_client.bucket(bucket_name)
269
- blob = bucket.blob(f"{self.id}/{self.file_name}")
281
+ blob = bucket.blob(self.file_key)
270
282
 
271
- content = blob.download_as_bytes()
272
- return len(content), content
283
+ fileobj = BytesIO()
284
+ blob.download_to_file(fileobj)
285
+ fileobj.seek(0) # Reset pointer to beginning after download
286
+ return blob.size, fileobj
273
287
 
274
288
  if self.config.type == StorageType.local:
275
- filename = get_local_filename(f"{self.id}/{self.file_name}")
276
- with open(filename, "rb") as file:
277
- content = file.read()
278
- size = len(content)
289
+ filename = get_local_filename(self.file_key)
290
+ size = os.path.getsize(filename)
291
+ with open(filename, "rb") as fileobj:
292
+ content = BytesIO(fileobj.read())
293
+ content.seek(0) # Reset pointer to beginning
279
294
  return size, content
280
295
 
281
296
  raise ValueError(f"Unsupported storage type: {self.config.type}")
@@ -288,7 +303,7 @@ class Attachment(Base):
288
303
  generic_delete_from_s3(
289
304
  storage_secrets=self.config.secrets,
290
305
  bucket_name=bucket_name,
291
- file_key=f"{self.id}/{self.file_name}",
306
+ file_key=self.file_key,
292
307
  auth_method=auth_method,
293
308
  )
294
309
  return
@@ -307,9 +322,7 @@ class Attachment(Base):
307
322
  return
308
323
 
309
324
  if self.config.type == StorageType.local:
310
- folder_path = os.path.dirname(
311
- get_local_filename(f"{self.id}/{self.file_name}")
312
- )
325
+ folder_path = os.path.dirname(get_local_filename(self.file_key))
313
326
  if os.path.exists(folder_path):
314
327
  import shutil
315
328