ethyca-fides 2.60.1rc0__py2.py3-none-any.whl → 2.60.2b0__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 (205) hide show
  1. {ethyca_fides-2.60.1rc0.dist-info → ethyca_fides-2.60.2b0.dist-info}/METADATA +1 -1
  2. {ethyca_fides-2.60.1rc0.dist-info → ethyca_fides-2.60.2b0.dist-info}/RECORD +192 -191
  3. {ethyca_fides-2.60.1rc0.dist-info → ethyca_fides-2.60.2b0.dist-info}/WHEEL +1 -1
  4. fides/_version.py +3 -3
  5. fides/api/api/deps.py +18 -2
  6. fides/api/api/v1/endpoints/admin.py +4 -3
  7. fides/api/app_setup.py +13 -5
  8. fides/api/db/database.py +11 -14
  9. fides/api/db/seed.py +88 -85
  10. fides/api/util/data_category.py +1 -0
  11. fides/api/util/logger.py +6 -0
  12. fides/api/util/sqlalchemy_filter.py +30 -0
  13. fides/ui-build/static/admin/404.html +1 -1
  14. fides/ui-build/static/admin/_next/static/WSibKOvTP1wQ2ioehb_pY/_buildManifest.js +1 -0
  15. fides/ui-build/static/admin/_next/static/chunks/{1100-c3d52c9d7d6d0a39.js → 1100-574adc8f50f9ef3a.js} +1 -1
  16. fides/ui-build/static/admin/_next/static/chunks/{1817-64ec6ac3d4a06930.js → 1817-ee8d8da2ea918cb2.js} +1 -1
  17. fides/ui-build/static/admin/_next/static/chunks/{1904-00404c45e69d3225.js → 1904-3aa43570520790fc.js} +1 -1
  18. fides/ui-build/static/admin/_next/static/chunks/{2479-064aefb3d187d6a2.js → 2479-b91631f5e7ad58fe.js} +1 -1
  19. fides/ui-build/static/admin/_next/static/chunks/{3503-296468f82b067ec4.js → 3503-f8b68879ea28e6ee.js} +1 -1
  20. fides/ui-build/static/admin/_next/static/chunks/3505-a94b641168547225.js +1 -0
  21. fides/ui-build/static/admin/_next/static/chunks/3513-bcef489f2c8e30e1.js +1 -0
  22. fides/ui-build/static/admin/_next/static/chunks/{3702-929a386a64d55f19.js → 3702-95692cf4ec13e698.js} +1 -1
  23. fides/ui-build/static/admin/_next/static/chunks/{3855-3345160a78baa978.js → 3855-cf98ef0345aa9cca.js} +1 -1
  24. fides/ui-build/static/admin/_next/static/chunks/{3872-d7045d15aafffa12.js → 3872-7382a9d55bb94d53.js} +1 -1
  25. fides/ui-build/static/admin/_next/static/chunks/{401-1ba7e037992ac460.js → 401-f18cd4739b98ce74.js} +1 -1
  26. fides/ui-build/static/admin/_next/static/chunks/{4060-dd7b6e0472703a2e.js → 4060-891319185929d1ae.js} +1 -1
  27. fides/ui-build/static/admin/_next/static/chunks/{4121-01c43bbbfc6b8fd1.js → 4121-6d5719d695f696ca.js} +1 -1
  28. fides/ui-build/static/admin/_next/static/chunks/{4481-cd91353711218b86.js → 4481-c587763cfbc603c7.js} +1 -1
  29. fides/ui-build/static/admin/_next/static/chunks/{5487-fd9b930f4246520a.js → 5487-1035279f9f4aaa81.js} +1 -1
  30. fides/ui-build/static/admin/_next/static/chunks/{5826-5f6e7a91e9ff71d1.js → 5826-dbb96ab3cc360ed4.js} +1 -1
  31. fides/ui-build/static/admin/_next/static/chunks/{5973-9199898696748d0c.js → 5973-6bb609a5771dfe2a.js} +1 -1
  32. fides/ui-build/static/admin/_next/static/chunks/{6277-6c465012cef1bd3d.js → 6277-70d615c50ac54e1d.js} +1 -1
  33. fides/ui-build/static/admin/_next/static/chunks/{6372-e35fc0a8874fdecf.js → 6372-a91f7f83fd6d2fd2.js} +1 -1
  34. fides/ui-build/static/admin/_next/static/chunks/{6853-df71f47693b139d3.js → 6853-38e3fd5a7b1bde87.js} +1 -1
  35. fides/ui-build/static/admin/_next/static/chunks/69-5f2103ace46481d6.js +1 -0
  36. fides/ui-build/static/admin/_next/static/chunks/{6954-00d6683243cc75d8.js → 6954-92f362ffea739388.js} +1 -1
  37. fides/ui-build/static/admin/_next/static/chunks/{7751-b3af4819eac0bc9c.js → 7751-b61c0979c4f5ba79.js} +1 -1
  38. fides/ui-build/static/admin/_next/static/chunks/{79-110e5199495a81c7.js → 79-82c500f39db614d1.js} +1 -1
  39. fides/ui-build/static/admin/_next/static/chunks/{8433-2c6947927b1e74f5.js → 8433-8d6487450daa5dcf.js} +1 -1
  40. fides/ui-build/static/admin/_next/static/chunks/{8934-41284e609c329cdd.js → 8934-5e141988ad7c1000.js} +1 -1
  41. fides/ui-build/static/admin/_next/static/chunks/{9327-2be9f27fbce039b0.js → 9327-1b672d64969cfafb.js} +1 -1
  42. fides/ui-build/static/admin/_next/static/chunks/{9392.9178313b7a01d889.js → 9392.bfca299d4f39a9e0.js} +1 -1
  43. fides/ui-build/static/admin/_next/static/chunks/{9572-c3e70eb702e9d879.js → 9572-235d37e0b7db0257.js} +1 -1
  44. fides/ui-build/static/admin/_next/static/chunks/{9676.d1e42fd1d03c4a76.js → 9676.97fdbec9c2a48c68.js} +1 -1
  45. fides/ui-build/static/admin/_next/static/chunks/{9719-8ce33427015f12ae.js → 9719-f411ae7eaf9ca1e8.js} +1 -1
  46. fides/ui-build/static/admin/_next/static/chunks/{9767-e8b0b48d602451d8.js → 9767-8d96e7f8fd72eadc.js} +1 -1
  47. fides/ui-build/static/admin/_next/static/chunks/{9951-d8d1174b00f9dac1.js → 9951-d8d18047e05b1df4.js} +1 -1
  48. fides/ui-build/static/admin/_next/static/chunks/{9965-023779db7a1b4aa2.js → 9965-4149f5bb9ccf2c54.js} +1 -1
  49. fides/ui-build/static/admin/_next/static/chunks/pages/{404-73e79d3760ef2658.js → 404-599d88e7bb11c133.js} +1 -1
  50. fides/ui-build/static/admin/_next/static/chunks/pages/{_app-79807dd0b151eaa4.js → _app-e2f86c400e5d4c5d.js} +9 -9
  51. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-2edda5eb5412ffb2.js → manual-2b39e3d90b16c88d.js} +1 -1
  52. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-27c3bdcc05a1f18e.js → multiple-aed3ff8f334381ad.js} +1 -1
  53. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-72768fa90f31d936.js +1 -0
  54. fides/ui-build/static/admin/_next/static/chunks/pages/{ant-poc-3c256e928748177a.js → ant-poc-4cad8b20c7fa422c.js} +1 -1
  55. fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-b3d62016149e5aa4.js → add-vendors-c3f11050818ddba3.js} +1 -1
  56. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-790c7c61ff9500f1.js → configure-7d3f39e6207c0d4d.js} +1 -1
  57. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-6641f24adf72b00c.js → [id]-df8bbe621a78f0ff.js} +1 -1
  58. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{new-300fd2800c417d0b.js → new-7f38473ce267348a.js} +1 -1
  59. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-f0ba90152c43c742.js → privacy-experience-08bcc477fa5544b6.js} +1 -1
  60. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-669b1039a5f0dcb6.js → [id]-77f44ebc908dfbbc.js} +1 -1
  61. fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-e24975eaeedc7c51.js → new-79c27e52c8c8f621.js} +1 -1
  62. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-90b331a666216e38.js → privacy-notices-22693568fd342608.js} +1 -1
  63. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-b9919fa183e9308a.js → properties-4bce89ef8e17866f.js} +1 -1
  64. fides/ui-build/static/admin/_next/static/chunks/pages/consent/{reporting-1762ed46d98cebad.js → reporting-c71f7e3ef8a3bdd4.js} +1 -1
  65. fides/ui-build/static/admin/_next/static/chunks/pages/{consent-07bc6a18cbad414a.js → consent-49cec8727ba462e1.js} +1 -1
  66. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-864af917f60d8f35.js → [projectUrn]-810bd0acfa7ae444.js} +1 -1
  67. fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-45ac2c54f21a57d5.js → projects-a637d57347ad4bd7.js} +1 -1
  68. fides/ui-build/static/admin/_next/static/chunks/pages/{data-catalog-8e0bc6d01176081a.js → data-catalog-f416c61699380589.js} +1 -1
  69. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/{[systemId]-a1259aa44bf99194.js → [systemId]-d59f6f49d91c4166.js} +1 -1
  70. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/{[monitorId]-a8b44307dfd5c23e.js → [monitorId]-fc99be4f494946cf.js} +1 -1
  71. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{action-center-333964fc8ce20616.js → action-center-36e75ed0154c9d07.js} +1 -1
  72. fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-438ab93c6cd5c2a6.js → activity-aec2dd0d89d11c1f.js} +1 -1
  73. fides/ui-build/static/admin/_next/static/chunks/pages/{datamap-05144da6383ba6a4.js → datamap-359ab1b6513a5329.js} +1 -1
  74. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-a3311bdf11e5bb1b.js → [...subfieldNames]-4ae24f9f954ea59f.js} +1 -1
  75. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-b584029b66084b2a.js → [collectionName]-294442f48f0b1d80.js} +1 -1
  76. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-2ababde59fc9efb4.js → [datasetId]-c73892f2cc94bf64.js} +1 -1
  77. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-274b8cf0932e2741.js +1 -0
  78. fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-5190a42b4bddac7d.js → dataset-9b3ab8de38e343b9.js} +1 -1
  79. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-63af795429688cac.js → [id]-2b2d8474ff4a7ec3.js} +1 -1
  80. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-fc637b767513d3fb.js +1 -0
  81. fides/ui-build/static/admin/_next/static/chunks/pages/{datastore-connection-92dce084869b6a94.js → datastore-connection-3a196ef552fb5352.js} +1 -1
  82. fides/ui-build/static/admin/_next/static/chunks/pages/{index-7220a947bb52c5a8.js → index-e5fa3ad65420815b.js} +1 -1
  83. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/{[id]-5a600a16f2ad5fa0.js → [id]-900e1581de2811c1.js} +1 -1
  84. fides/ui-build/static/admin/_next/static/chunks/pages/{integrations-372906eb228e73b7.js → integrations-750f32b5bd24542a.js} +1 -1
  85. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{[id]-34e5d096311c5aab.js → [id]-d4b136d56734e0b2.js} +1 -1
  86. fides/ui-build/static/admin/_next/static/chunks/pages/messaging/{add-template-722590a322ea866b.js → add-template-bd5d5c3a62e2e6bc.js} +1 -1
  87. fides/ui-build/static/admin/_next/static/chunks/pages/{messaging-77726c8d9ad39a64.js → messaging-226fdc9ccf65bf88.js} +1 -1
  88. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{[id]-12037a323158a7be.js → [id]-f208ea9573f5d16f.js} +1 -1
  89. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{messaging-df490b611f1360fa.js → messaging-9103ff5824f10280.js} +1 -1
  90. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{storage-8575fd1d25457b4d.js → storage-ccc8829fb8e6d889.js} +1 -1
  91. fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-66c6d3725fc1861f.js → configure-f0fcddade8258445.js} +1 -1
  92. fides/ui-build/static/admin/_next/static/chunks/pages/{privacy-requests-ff5856fc531097b2.js → privacy-requests-0cd0024113f958da.js} +1 -1
  93. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-7f8cc582fc11b46d.js → [id]-dd197054dacf6c99.js} +1 -1
  94. fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-b739361d2b5714db.js → add-property-2b204911aadeef3b.js} +1 -1
  95. fides/ui-build/static/admin/_next/static/chunks/pages/{properties-febd16a18011fd1e.js → properties-1cdb0094c4caf07e.js} +1 -1
  96. fides/ui-build/static/admin/_next/static/chunks/pages/reporting/{datamap-6d046c2bf03ce067.js → datamap-4aafe0b82fe05626.js} +1 -1
  97. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{about-95e9953afaad9260.js → about-1b1273e9eb69ac45.js} +1 -1
  98. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-0d593a93ef57dbd7.js → [purpose_id]-e4bee84add8a913b.js} +1 -1
  99. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-60f6d15fa6c6b1af.js +1 -0
  100. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{custom-fields-d6e18187d6412a34.js → custom-fields-298fa77e090bf7cb.js} +1 -1
  101. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-0392d1bc2b8ec616.js → domain-records-3b59fd523eee38fc.js} +1 -1
  102. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-1c1f4f775561e528.js +1 -0
  103. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-ebb37a1ae630931a.js +1 -0
  104. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-38ce7883fd27b61f.js → locations-84f0c04250972998.js} +1 -1
  105. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-2fcbf2b113dce00c.js +1 -0
  106. fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-22d97471513e835d.js → regulations-259d0c058065e14d.js} +1 -1
  107. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-7bf0c1ff8d1d09cf.js +1 -0
  108. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-69e582763772aec9.js → [id]-3a2a18084f89dc04.js} +1 -1
  109. fides/ui-build/static/admin/_next/static/chunks/pages/{systems-d7a63f851cc99583.js → systems-c921992c82514912.js} +1 -1
  110. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-07d26364d187c7c3.js +1 -0
  111. fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-f29f0fbd62e10b6d.js → [id]-7546e00c78835823.js} +1 -1
  112. fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-f2dc8220e4aab9d7.js → user-management-a207e8f745c7e26b.js} +1 -1
  113. fides/ui-build/static/admin/_next/static/chunks/{webpack-32c43a8d709ca5c6.js → webpack-ebb8d3b45b871241.js} +1 -1
  114. fides/ui-build/static/admin/add-systems/manual.html +1 -1
  115. fides/ui-build/static/admin/add-systems/multiple.html +1 -1
  116. fides/ui-build/static/admin/add-systems.html +1 -1
  117. fides/ui-build/static/admin/ant-poc.html +1 -1
  118. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  119. fides/ui-build/static/admin/consent/configure.html +1 -1
  120. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  121. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  122. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  123. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  124. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  125. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  126. fides/ui-build/static/admin/consent/properties.html +1 -1
  127. fides/ui-build/static/admin/consent/reporting.html +1 -1
  128. fides/ui-build/static/admin/consent.html +1 -1
  129. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  130. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  131. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  132. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  133. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  134. fides/ui-build/static/admin/data-catalog.html +1 -1
  135. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
  136. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
  137. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  138. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  139. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  140. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  141. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  142. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  143. fides/ui-build/static/admin/datamap.html +1 -1
  144. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  145. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  146. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  147. fides/ui-build/static/admin/dataset/new.html +1 -1
  148. fides/ui-build/static/admin/dataset.html +1 -1
  149. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  150. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  151. fides/ui-build/static/admin/datastore-connection.html +1 -1
  152. fides/ui-build/static/admin/index.html +1 -1
  153. fides/ui-build/static/admin/integrations/[id].html +1 -1
  154. fides/ui-build/static/admin/integrations.html +1 -1
  155. fides/ui-build/static/admin/lib/fides-preview.js +1 -1
  156. fides/ui-build/static/admin/lib/fides-tcf.js +1 -1
  157. fides/ui-build/static/admin/lib/fides.js +1 -1
  158. fides/ui-build/static/admin/login/[provider].html +1 -1
  159. fides/ui-build/static/admin/login.html +1 -1
  160. fides/ui-build/static/admin/messaging/[id].html +1 -1
  161. fides/ui-build/static/admin/messaging/add-template.html +1 -1
  162. fides/ui-build/static/admin/messaging.html +1 -1
  163. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  164. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
  165. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  166. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  167. fides/ui-build/static/admin/privacy-requests.html +1 -1
  168. fides/ui-build/static/admin/properties/[id].html +1 -1
  169. fides/ui-build/static/admin/properties/add-property.html +1 -1
  170. fides/ui-build/static/admin/properties.html +1 -1
  171. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  172. fides/ui-build/static/admin/settings/about.html +1 -1
  173. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  174. fides/ui-build/static/admin/settings/consent.html +1 -1
  175. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  176. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  177. fides/ui-build/static/admin/settings/domains.html +1 -1
  178. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  179. fides/ui-build/static/admin/settings/locations.html +1 -1
  180. fides/ui-build/static/admin/settings/organization.html +1 -1
  181. fides/ui-build/static/admin/settings/regulations.html +1 -1
  182. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  183. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  184. fides/ui-build/static/admin/systems.html +1 -1
  185. fides/ui-build/static/admin/taxonomy.html +1 -1
  186. fides/ui-build/static/admin/user-management/new.html +1 -1
  187. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  188. fides/ui-build/static/admin/user-management.html +1 -1
  189. fides/ui-build/static/admin/_next/static/chunks/3513-d03549cb201e7938.js +0 -1
  190. fides/ui-build/static/admin/_next/static/chunks/5835-057c2dec5117817c.js +0 -1
  191. fides/ui-build/static/admin/_next/static/chunks/9282-6b14898de61ba6f0.js +0 -1
  192. fides/ui-build/static/admin/_next/static/chunks/pages/add-systems-2c64d0a87784019b.js +0 -1
  193. fides/ui-build/static/admin/_next/static/chunks/pages/dataset/new-60a80195eafe9839.js +0 -1
  194. fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/new-32ff2757c1fb5a00.js +0 -1
  195. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent-41e6213e69789c1b.js +0 -1
  196. fides/ui-build/static/admin/_next/static/chunks/pages/settings/domains-db42cce5ec0ca55b.js +0 -1
  197. fides/ui-build/static/admin/_next/static/chunks/pages/settings/email-templates-297f558258a46f74.js +0 -1
  198. fides/ui-build/static/admin/_next/static/chunks/pages/settings/organization-3dc30591cc0a8881.js +0 -1
  199. fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/test-datasets-f408ebdc01892ff0.js +0 -1
  200. fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-244453d6d5413d6c.js +0 -1
  201. fides/ui-build/static/admin/_next/static/pNwRIyc_W4mC7MPm4ebOC/_buildManifest.js +0 -1
  202. {ethyca_fides-2.60.1rc0.dist-info → ethyca_fides-2.60.2b0.dist-info}/entry_points.txt +0 -0
  203. {ethyca_fides-2.60.1rc0.dist-info → ethyca_fides-2.60.2b0.dist-info}/licenses/LICENSE +0 -0
  204. {ethyca_fides-2.60.1rc0.dist-info → ethyca_fides-2.60.2b0.dist-info}/top_level.txt +0 -0
  205. /fides/ui-build/static/admin/_next/static/{pNwRIyc_W4mC7MPm4ebOC → WSibKOvTP1wQ2ioehb_pY}/_ssgManifest.js +0 -0
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.0.0)
2
+ Generator: setuptools (80.0.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any
fides/_version.py CHANGED
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2025-04-29T17:04:59-0400",
11
+ "date": "2025-04-29T13:17:52-0600",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "6329ae1259afa234d4bb308672fb20cf5295f9c6",
15
- "version": "2.60.1rc0"
14
+ "full-revisionid": "ed1a2dadaf65a3a8ea7f862c82728a938e9d187b",
15
+ "version": "2.60.2b0"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
fides/api/api/deps.py CHANGED
@@ -1,10 +1,12 @@
1
- from contextlib import contextmanager
2
- from typing import Generator
1
+ from contextlib import asynccontextmanager, contextmanager
2
+ from typing import AsyncGenerator, Generator
3
3
 
4
4
  from fastapi import Depends
5
+ from sqlalchemy.ext.asyncio import AsyncSession
5
6
  from sqlalchemy.orm import Session
6
7
 
7
8
  from fides.api.common_exceptions import RedisNotConfigured
9
+ from fides.api.db.ctl_session import async_session
8
10
  from fides.api.db.session import get_db_engine, get_db_session
9
11
  from fides.api.util.cache import get_cache as get_redis_connection
10
12
  from fides.config import CONFIG, FidesConfig
@@ -102,3 +104,17 @@ def get_cache() -> Generator:
102
104
  "Application redis cache required, but it is currently disabled! Please update your application configuration to enable integration with a Redis cache."
103
105
  )
104
106
  yield get_redis_connection()
107
+
108
+
109
+ @asynccontextmanager
110
+ async def get_async_autoclose_db_session() -> AsyncGenerator[AsyncSession, None]:
111
+ """
112
+ Return an async database session as an async context manager that automatically closes when the context exits.
113
+
114
+ Use this when you need manual control over the async session lifecycle outside of API endpoints.
115
+ """
116
+ session = async_session()
117
+ try:
118
+ yield session
119
+ finally:
120
+ await session.close()
@@ -16,6 +16,7 @@ ADMIN_ROUTER = APIRouter(prefix=API_PREFIX, tags=["Admin"])
16
16
 
17
17
  class DBActions(str, Enum):
18
18
  "The available path parameters for the `/admin/db/{action}` endpoint."
19
+
19
20
  upgrade = "upgrade"
20
21
  reset = "reset"
21
22
  downgrade = "downgrade"
@@ -29,7 +30,7 @@ class DBActions(str, Enum):
29
30
  ],
30
31
  status_code=status.HTTP_200_OK,
31
32
  )
32
- async def db_action(action: DBActions, revision: Optional[str] = "head") -> Dict:
33
+ def db_action(action: DBActions, revision: Optional[str] = "head") -> Dict:
33
34
  """
34
35
  Initiate one of the enumerated DBActions.
35
36
 
@@ -40,7 +41,7 @@ async def db_action(action: DBActions, revision: Optional[str] = "head") -> Dict
40
41
 
41
42
  if action == DBActions.downgrade:
42
43
  try:
43
- await migrate_db(database_url=CONFIG.database.sync_database_uri, revision=revision, downgrade=True) # type: ignore[arg-type]
44
+ migrate_db(database_url=CONFIG.database.sync_database_uri, revision=revision, downgrade=True) # type: ignore[arg-type]
44
45
  action_text = "downgrade"
45
46
  except Exception as e:
46
47
  logger.exception("Database downgrade failed")
@@ -68,7 +69,7 @@ async def db_action(action: DBActions, revision: Optional[str] = "head") -> Dict
68
69
 
69
70
  try:
70
71
  logger.info("Database being configured...")
71
- await configure_db(CONFIG.database.sync_database_uri, revision=revision)
72
+ configure_db(CONFIG.database.sync_database_uri, revision=revision)
72
73
  except Exception as e:
73
74
  logger.exception("Database configuration failed: {e}")
74
75
  raise HTTPException(
fides/api/app_setup.py CHANGED
@@ -16,7 +16,11 @@ from slowapi.extension import _rate_limit_exceeded_handler # type: ignore
16
16
  from slowapi.middleware import SlowAPIMiddleware # type: ignore
17
17
 
18
18
  import fides
19
- from fides.api.api.deps import get_api_session
19
+ from fides.api.api.deps import (
20
+ get_api_session,
21
+ get_async_autoclose_db_session,
22
+ get_autoclose_db_session,
23
+ )
20
24
  from fides.api.api.v1 import CTL_ROUTER
21
25
  from fides.api.api.v1.api import api_router
22
26
  from fides.api.api.v1.endpoints.admin import ADMIN_ROUTER
@@ -24,7 +28,8 @@ from fides.api.api.v1.endpoints.generic_overrides import GENERIC_OVERRIDES_ROUTE
24
28
  from fides.api.api.v1.endpoints.health import HEALTH_ROUTER
25
29
  from fides.api.api.v1.exception_handlers import ExceptionHandlers
26
30
  from fides.api.common_exceptions import RedisConnectionError, RedisNotConfigured
27
- from fides.api.db.database import configure_db
31
+ from fides.api.db import seed
32
+ from fides.api.db.database import configure_db, seed_db
28
33
  from fides.api.db.seed import create_or_update_parent_user
29
34
  from fides.api.models.application_config import ApplicationConfig
30
35
  from fides.api.oauth.system_manager_oauth_util import (
@@ -165,9 +170,12 @@ async def run_database_startup(app: FastAPI) -> None:
165
170
 
166
171
  if CONFIG.database.automigrate:
167
172
  try:
168
- await configure_db(
169
- CONFIG.database.sync_database_uri, samples=CONFIG.database.load_samples
170
- )
173
+ configure_db(CONFIG.database.sync_database_uri)
174
+ with get_autoclose_db_session() as session:
175
+ seed_db(session)
176
+ if CONFIG.database.load_samples:
177
+ async with get_async_autoclose_db_session() as async_session:
178
+ await seed.load_samples(async_session)
171
179
  except Exception as e:
172
180
  logger.error("Error occurred during database configuration: {}", str(e))
173
181
  else:
fides/api/db/database.py CHANGED
@@ -14,8 +14,7 @@ from sqlalchemy_utils.functions import create_database, database_exists
14
14
  from sqlalchemy_utils.types.encrypted.encrypted_type import InvalidCiphertextError
15
15
 
16
16
  from fides.api.db.base import Base # type: ignore[attr-defined]
17
- from fides.api.db.ctl_session import async_session
18
- from fides.api.db.seed import load_default_resources, load_samples
17
+ from fides.api.db.seed import load_default_resources
19
18
  from fides.api.util.errors import get_full_exception_name
20
19
  from fides.core.utils import get_db_engine
21
20
 
@@ -48,9 +47,8 @@ def downgrade_db(alembic_config: Config, revision: str = "head") -> None:
48
47
  command.downgrade(alembic_config, revision)
49
48
 
50
49
 
51
- async def migrate_db(
50
+ def migrate_db(
52
51
  database_url: str,
53
- samples: bool = False,
54
52
  revision: str = "head",
55
53
  downgrade: bool = False,
56
54
  ) -> None:
@@ -66,11 +64,6 @@ async def migrate_db(
66
64
  else:
67
65
  upgrade_db(alembic_config, revision)
68
66
 
69
- async with async_session() as session:
70
- await load_default_resources(session)
71
- if samples:
72
- await load_samples(session)
73
-
74
67
 
75
68
  def create_db_if_not_exists(database_url: str) -> None:
76
69
  """
@@ -121,13 +114,17 @@ def get_db_health(
121
114
  return ("unhealthy", None)
122
115
 
123
116
 
124
- async def configure_db(
125
- database_url: str, samples: bool = False, revision: Optional[str] = "head"
126
- ) -> None:
127
- """Set up the db to be used by the app."""
117
+ def seed_db(session: Session) -> None:
118
+ """Load default resources into the database, and optionally load samples."""
119
+ load_default_resources(session)
120
+
121
+
122
+ def configure_db(database_url: str, revision: Optional[str] = "head") -> None:
123
+ """Set up the db to be used by the app. Creates db if needed and runs migrations."""
128
124
  try:
129
125
  create_db_if_not_exists(database_url)
130
- await migrate_db(database_url, samples=samples, revision=revision) # type: ignore[arg-type]
126
+ migrate_db(database_url, revision=revision) # type: ignore[arg-type]
127
+
131
128
  except InvalidCiphertextError as cipher_error:
132
129
  log.error(
133
130
  "Unable to configure database due to a decryption error! Check to ensure your `app_encryption_key` has not changed."
fides/api/db/seed.py CHANGED
@@ -25,6 +25,7 @@ from fides.api.models.fides_user_permissions import FidesUserPermissions
25
25
  from fides.api.models.policy import Policy, Rule, RuleTarget
26
26
  from fides.api.models.sql_models import ( # type: ignore[attr-defined]
27
27
  Dataset,
28
+ Organization,
28
29
  System,
29
30
  sql_model_map,
30
31
  )
@@ -44,7 +45,7 @@ from fides.api.util.text import to_snake_case
44
45
  from fides.config import CONFIG
45
46
  from fides.service.dataset.dataset_config_service import DatasetConfigService
46
47
 
47
- from .crud import create_resource, get_resource, list_resource, upsert_resources
48
+ from .crud import upsert_resources
48
49
  from .samples import (
49
50
  load_sample_connections_from_project,
50
51
  load_sample_resources_from_project,
@@ -282,106 +283,41 @@ def load_default_erasure_policy(
282
283
  )
283
284
 
284
285
 
285
- def load_default_dsr_policies() -> None:
286
+ def load_default_dsr_policies(session: Session) -> None:
286
287
  """
287
288
  Checks whether DSR execution policies exist in the database, and
288
289
  inserts them to target a default set of data categories if not.
289
290
  """
290
- with sync_session() as db_session: # type: ignore[attr-defined]
291
- client_id = get_client_id(db_session)
291
+ client_id = get_client_id(session)
292
292
 
293
- # By default, include all categories *except* those related to a user's
294
- # financial, payment, and credentials data. These are typically not
295
- # included in access and erasure requests as they are covered by other
296
- # compliance programs (e.g. legal, tax, security) and most
297
- # organizations need to be extra careful about how these are used -
298
- # especially for erasure! Therefore, a safe default for "out of the
299
- # box" behaviour is to exclude these
293
+ # By default, include all categories *except* those related to a user's
294
+ # financial, payment, and credentials data. These are typically not
295
+ # included in access and erasure requests as they are covered by other
296
+ # compliance programs (e.g. legal, tax, security) and most
297
+ # organizations need to be extra careful about how these are used -
298
+ # especially for erasure! Therefore, a safe default for "out of the
299
+ # box" behaviour is to exclude these
300
300
 
301
- default_data_categories = get_user_data_categories()
301
+ default_data_categories = get_user_data_categories()
302
302
 
303
- log.debug(
304
- f"Preparing to create default rules for the following Data Categories: {default_data_categories} if they do not already exist"
305
- )
306
-
307
- load_default_access_policy(db_session, client_id, default_data_categories)
308
- load_default_erasure_policy(db_session, client_id, default_data_categories)
309
-
310
- log.info("All default policies & rules created")
311
-
312
-
313
- async def load_default_organization(async_session: AsyncSession) -> None:
314
- """
315
- Seed the database with a default organization unless
316
- one with a matching name already exists.
317
- """
318
-
319
- log.info("Loading the default organization...")
320
- organizations: List[Dict] = list(
321
- map(dict, DEFAULT_TAXONOMY.model_dump(mode="json")["organization"])
303
+ log.debug(
304
+ f"Preparing to create default rules for the following Data Categories: {default_data_categories} if they do not already exist"
322
305
  )
323
306
 
324
- inserted = 0
325
- for org in organizations:
326
- try:
327
- existing = await get_resource(
328
- sql_model_map["organization"],
329
- org["fides_key"],
330
- async_session,
331
- raise_not_found=False,
332
- )
333
- if not existing:
334
- await create_resource(sql_model_map["organization"], org, async_session)
335
- inserted += 1
336
- except AlreadyExistsError:
337
- pass
307
+ load_default_access_policy(session, client_id, default_data_categories)
308
+ load_default_erasure_policy(session, client_id, default_data_categories)
338
309
 
339
- log.debug(f"INSERTED {inserted} organization resource(s)")
340
- log.debug(f"SKIPPED {len(organizations)-inserted} organization resource(s)")
341
-
342
-
343
- async def load_default_taxonomy(async_session: AsyncSession) -> None:
344
- """Seed the database with the default taxonomy resources."""
345
-
346
- upsert_resource_types = list(DEFAULT_TAXONOMY.model_fields_set)
347
- upsert_resource_types.remove("organization")
348
-
349
- log.info("Loading the default fideslang taxonomy resources...")
350
- for resource_type in upsert_resource_types:
351
- log.debug(f"Processing {resource_type} resources...")
352
- default_resources = DEFAULT_TAXONOMY.model_dump(mode="json")[resource_type]
353
- existing_resources = await list_resource(
354
- sql_model_map[resource_type], async_session
355
- )
356
- existing_keys = [item.fides_key for item in existing_resources]
357
- resources = [
358
- resource
359
- for resource in default_resources
360
- if resource["fides_key"] not in existing_keys
361
- ]
362
-
363
- if len(resources) == 0:
364
- log.debug(f"No new {resource_type} resources to add from default taxonomy.")
365
- continue
366
-
367
- try:
368
- await upsert_resources(
369
- sql_model_map[resource_type], resources, async_session
370
- )
371
- except QueryError: # pragma: no cover
372
- pass # The create_resource function will log the error
373
- else:
374
- log.debug(f"UPSERTED {len(resources)} {resource_type} resource(s)")
310
+ log.info("All default policies & rules created")
375
311
 
376
312
 
377
- async def load_default_resources(async_session: AsyncSession) -> None:
313
+ def load_default_resources(session: Session) -> None:
378
314
  """
379
315
  Seed the database with default resources that the application
380
316
  expects to be available.
381
317
  """
382
- await load_default_organization(async_session)
383
- await load_default_taxonomy(async_session)
384
- load_default_dsr_policies()
318
+ load_default_organization(session)
319
+ load_default_taxonomy(session)
320
+ load_default_dsr_policies(session)
385
321
 
386
322
 
387
323
  async def load_samples(async_session: AsyncSession) -> None:
@@ -549,3 +485,70 @@ async def load_samples(async_session: AsyncSession) -> None:
549
485
 
550
486
  except QueryError: # pragma: no cover
551
487
  pass # The upsert_resources function will log any error
488
+
489
+
490
+ def load_default_organization(db: Session) -> None:
491
+ """
492
+ Seed the database with a default organization unless
493
+ one with a matching name already exists.
494
+ """
495
+ log.info("Loading the default organization...")
496
+ organizations: List[Dict] = list(
497
+ map(dict, DEFAULT_TAXONOMY.model_dump(mode="json")["organization"])
498
+ )
499
+
500
+ inserted = 0
501
+ for org in organizations:
502
+ try:
503
+ existing = Organization.get_by(
504
+ db=db, field="fides_key", value=org["fides_key"]
505
+ )
506
+ if not existing:
507
+ Organization.create(db=db, data=org, check_name=False)
508
+ inserted += 1
509
+ except AlreadyExistsError:
510
+ pass
511
+
512
+ log.debug(f"INSERTED {inserted} organization resource(s)")
513
+ log.debug(f"SKIPPED {len(organizations)-inserted} organization resource(s)")
514
+
515
+
516
+ def load_default_taxonomy(db: Session) -> None:
517
+ """Synchronous version: Seed the database with the default taxonomy resources."""
518
+ upsert_resource_types = list(DEFAULT_TAXONOMY.model_fields_set)
519
+ upsert_resource_types.remove("organization")
520
+
521
+ log.info("Loading the default fideslang taxonomy resources...")
522
+ for resource_type in upsert_resource_types:
523
+ sql_model = sql_model_map[resource_type]
524
+ log.debug(f"Processing {resource_type} resources...")
525
+ default_resources = DEFAULT_TAXONOMY.model_dump(mode="json")[resource_type]
526
+
527
+ try:
528
+ # Fetch existing keys first
529
+ existing_keys = {item[0] for item in db.query(sql_model.fides_key).all()}
530
+ except Exception as exc:
531
+ log.error(f"Error fetching existing keys for {resource_type}: {exc}")
532
+ continue # Skip this resource type if we can't get existing keys
533
+
534
+ # Filter for resources that don't exist
535
+ resources_to_create = [
536
+ resource
537
+ for resource in default_resources
538
+ if resource["fides_key"] not in existing_keys
539
+ ]
540
+
541
+ if not resources_to_create:
542
+ log.debug(f"No new {resource_type} resources to add from default taxonomy.")
543
+ continue
544
+
545
+ created_count = 0
546
+ for resource_data in resources_to_create:
547
+ try:
548
+ sql_model.create_or_update(db=db, data=resource_data)
549
+ created_count += 1
550
+ except Exception:
551
+ pass
552
+
553
+ if created_count > 0:
554
+ log.debug(f"UPSERTED {created_count} {resource_type} resource(s)")
@@ -26,6 +26,7 @@ def generate_fides_data_categories() -> Type[EnumType]:
26
26
  return FidesDataCategory
27
27
 
28
28
 
29
+ # TODO: Move away from using this, it conflicts with the DataCategory model
29
30
  DataCategory = generate_fides_data_categories()
30
31
 
31
32
 
fides/api/util/logger.py CHANGED
@@ -15,6 +15,7 @@ from loguru import logger
15
15
  from loguru._handler import Message
16
16
 
17
17
  from fides.api.schemas.privacy_request import LogEntry, PrivacyRequestSource
18
+ from fides.api.util.sqlalchemy_filter import SQLAlchemyGeneratedFilter
18
19
  from fides.config import CONFIG, FidesConfig
19
20
 
20
21
  if TYPE_CHECKING:
@@ -160,6 +161,11 @@ def setup(config: FidesConfig) -> None:
160
161
  logging.getLogger(name).handlers = []
161
162
  logging.getLogger(name).propagate = True
162
163
 
164
+ # Apply filter to remove generated timing logs
165
+ sqlalchemy_generated_filter = SQLAlchemyGeneratedFilter()
166
+ sqlalchemy_engine_logger = logging.getLogger("sqlalchemy.engine.Engine")
167
+ sqlalchemy_engine_logger.addFilter(sqlalchemy_generated_filter)
168
+
163
169
  handlers = []
164
170
 
165
171
  # Configure main sink from config
@@ -0,0 +1,30 @@
1
+ import logging
2
+
3
+
4
+ class SQLAlchemyGeneratedFilter(logging.Filter):
5
+ """
6
+ Logging filter that removes SQLAlchemy engine logs containing timing information.
7
+
8
+ This filter specifically targets logs containing error messages from sqlalchemy.engine.Engine
9
+ which typically come from sqlalchemy.engine.Engine when executing cached queries.
10
+ """
11
+
12
+ def __init__(self) -> None:
13
+ super().__init__()
14
+ # List of substrings to filter out
15
+ self.patterns = [
16
+ "cached since",
17
+ "caching disabled",
18
+ "does not support caching",
19
+ ]
20
+
21
+ def filter(self, record: logging.LogRecord) -> bool:
22
+ # Only filter records from sqlalchemy.engine.Engine
23
+ if record.name == "sqlalchemy.engine.Engine":
24
+ message = record.getMessage()
25
+ # Check if any of the patterns exist in the message
26
+ for pattern in self.patterns:
27
+ if pattern in message:
28
+ return False # Filter out the log entry
29
+
30
+ return True # Keep all other log entries
@@ -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/a063d3d67fe688f6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/a063d3d67fe688f6.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-32c43a8d709ca5c6.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-79807dd0b151eaa4.js" defer=""></script><script src="/_next/static/chunks/pages/404-73e79d3760ef2658.js" defer=""></script><script src="/_next/static/pNwRIyc_W4mC7MPm4ebOC/_buildManifest.js" defer=""></script><script src="/_next/static/pNwRIyc_W4mC7MPm4ebOC/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"pNwRIyc_W4mC7MPm4ebOC","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/a063d3d67fe688f6.css" as="style"/><link rel="stylesheet" href="/_next/static/css/a063d3d67fe688f6.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-ebb8d3b45b871241.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-e2f86c400e5d4c5d.js" defer=""></script><script src="/_next/static/chunks/pages/404-599d88e7bb11c133.js" defer=""></script><script src="/_next/static/WSibKOvTP1wQ2ioehb_pY/_buildManifest.js" defer=""></script><script src="/_next/static/WSibKOvTP1wQ2ioehb_pY/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/404","query":{},"buildId":"WSibKOvTP1wQ2ioehb_pY","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -0,0 +1 @@
1
+ self.__BUILD_MANIFEST=function(s,e,t,a,c,n,i,d,o,r,u,f,g,p,j,b,k,h,m,y,l,v,I,_,U,w,q,x,N,B,F,z,A,D,E,L,M,S,T,C,P,G,H,J,K,O){return{__rewrites:{afterFiles:[],beforeFiles:[],fallback:[]},"/":[U,"static/chunks/pages/index-e5fa3ad65420815b.js"],"/404":["static/chunks/pages/404-599d88e7bb11c133.js"],"/_error":["static/chunks/pages/_error-bede3a8288930dcf.js"],"/add-systems":[U,"static/chunks/pages/add-systems-72768fa90f31d936.js"],"/add-systems/manual":[s,e,a,c,n,j,t,r,b,m,w,i,"static/chunks/pages/add-systems/manual-2b39e3d90b16c88d.js"],"/add-systems/multiple":[s,e,t,r,y,q,"static/chunks/pages/add-systems/multiple-aed3ff8f334381ad.js"],"/ant-poc":["static/chunks/pages/ant-poc-4cad8b20c7fa422c.js"],"/consent":["static/chunks/pages/consent-49cec8727ba462e1.js"],"/consent/configure":[s,e,t,r,y,"static/chunks/pages/consent/configure-7d3f39e6207c0d4d.js"],"/consent/configure/add-vendors":[s,e,t,r,y,q,"static/chunks/pages/consent/configure/add-vendors-c3f11050818ddba3.js"],"/consent/privacy-experience":[s,e,j,t,x,"static/chunks/pages/consent/privacy-experience-08bcc477fa5544b6.js"],"/consent/privacy-experience/new":[a,c,f,N,d,k,B,"static/chunks/pages/consent/privacy-experience/new-7f38473ce267348a.js"],"/consent/privacy-experience/[id]":[a,c,f,N,d,k,B,"static/chunks/pages/consent/privacy-experience/[id]-df8bbe621a78f0ff.js"],"/consent/privacy-notices":[s,e,t,x,"static/chunks/pages/consent/privacy-notices-22693568fd342608.js"],"/consent/privacy-notices/new":[a,c,f,F,d,k,z,"static/chunks/pages/consent/privacy-notices/new-79c27e52c8c8f621.js"],"/consent/privacy-notices/[id]":[a,c,f,F,d,k,z,"static/chunks/pages/consent/privacy-notices/[id]-77f44ebc908dfbbc.js"],"/consent/properties":[s,e,t,A,"static/chunks/pages/consent/properties-4bce89ef8e17866f.js"],"/consent/reporting":[s,e,a,t,"static/chunks/pages/consent/reporting-c71f7e3ef8a3bdd4.js"],"/data-catalog":[s,e,a,c,n,t,"static/css/95ac327e5d70148d.css","static/chunks/pages/data-catalog-f416c61699380589.js"],"/data-catalog/[systemId]/projects":[s,e,a,c,n,t,g,l,i,"static/chunks/pages/data-catalog/[systemId]/projects-a637d57347ad4bd7.js"],"/data-catalog/[systemId]/projects/[projectUrn]":[s,e,t,D,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]-810bd0acfa7ae444.js"],"/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]":[s,e,a,c,n,t,g,l,E,i,"static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]-ac033a16f043e6f9.js"],"/data-catalog/[systemId]/resources":[s,e,t,D,"static/chunks/pages/data-catalog/[systemId]/resources-305555b74c357bf2.js"],"/data-catalog/[systemId]/resources/[resourceUrn]":[s,e,a,c,n,t,g,l,E,i,"static/chunks/pages/data-catalog/[systemId]/resources/[resourceUrn]-71e26d262afcaea5.js"],"/data-discovery/action-center":[s,e,t,"static/chunks/pages/data-discovery/action-center-36e75ed0154c9d07.js"],"/data-discovery/action-center/[monitorId]":[s,e,a,c,n,t,o,"static/chunks/pages/data-discovery/action-center/[monitorId]-fc99be4f494946cf.js"],"/data-discovery/action-center/[monitorId]/[systemId]":[s,e,a,c,n,t,o,r,m,i,"static/chunks/pages/data-discovery/action-center/[monitorId]/[systemId]-d59f6f49d91c4166.js"],"/data-discovery/activity":[s,e,t,"static/chunks/pages/data-discovery/activity-aec2dd0d89d11c1f.js"],"/data-discovery/detection":[s,e,t,o,h,L,"static/chunks/pages/data-discovery/detection-f473b2ee1c67be3c.js"],"/data-discovery/detection/[resourceUrn]":[s,e,t,o,h,L,"static/chunks/pages/data-discovery/detection/[resourceUrn]-10f789d4ab2b8927.js"],"/data-discovery/discovery":[s,e,a,c,n,t,o,g,h,M,i,"static/chunks/pages/data-discovery/discovery-ad077f30849fdc0a.js"],"/data-discovery/discovery/[resourceUrn]":[s,e,a,c,n,t,o,g,h,M,i,"static/chunks/pages/data-discovery/discovery/[resourceUrn]-2569551ae75ea5a2.js"],"/datamap":[s,e,"static/chunks/255-7db55b0e3a0f9dea.js",t,b,S,"static/chunks/pages/datamap-359ab1b6513a5329.js"],"/dataset":[s,e,u,t,p,"static/chunks/pages/dataset-9b3ab8de38e343b9.js"],"/dataset/new":[u,p,"static/chunks/pages/dataset/new-274b8cf0932e2741.js"],"/dataset/[datasetId]":[s,e,"static/chunks/9729-fcf6ff4e3534e4a8.js",t,v,"static/chunks/pages/dataset/[datasetId]-c73892f2cc94bf64.js"],"/dataset/[datasetId]/[collectionName]":[s,e,a,c,n,I,t,v,i,"static/chunks/pages/dataset/[datasetId]/[collectionName]-294442f48f0b1d80.js"],"/dataset/[datasetId]/[collectionName]/[...subfieldNames]":[s,e,a,c,n,I,t,v,i,"static/chunks/pages/dataset/[datasetId]/[collectionName]/[...subfieldNames]-4ae24f9f954ea59f.js"],"/datastore-connection":["static/css/5f393dea1c0d031c.css","static/chunks/pages/datastore-connection-3a196ef552fb5352.js"],"/datastore-connection/new":[u,j,p,T,"static/chunks/pages/datastore-connection/new-fc637b767513d3fb.js"],"/datastore-connection/[id]":[u,p,T,"static/chunks/pages/datastore-connection/[id]-2b2d8474ff4a7ec3.js"],"/fides-js-docs":["static/chunks/2fbcc6de-a6c61724c327e9fa.js","static/chunks/e3251fe7-5777b5d778e6fffa.js",a,c,n,u,I,C,"static/css/ab65b8cc3144bfc8.css","static/chunks/905-8ab919e7b274ed50.js","static/chunks/pages/fides-js-docs-80b241bf6cddb72e.js"],"/integrations":[a,c,n,"static/chunks/6834-dcda0a8ed484775e.js",P,"static/chunks/pages/integrations-750f32b5bd24542a.js"],"/integrations/[id]":[s,e,a,c,n,t,P,"static/css/92c81f666644c594.css","static/chunks/pages/integrations/[id]-900e1581de2811c1.js"],"/login":["static/chunks/pages/login-0cb0eb44bf2dd24c.js"],"/login/[provider]":["static/chunks/pages/login/[provider]-c58beef131c3a82d.js"],"/messaging":[s,e,a,c,n,t,"static/chunks/pages/messaging-226fdc9ccf65bf88.js"],"/messaging/add-template":[d,G,"static/chunks/pages/messaging/add-template-bd5d5c3a62e2e6bc.js"],"/messaging/[id]":[d,G,"static/chunks/pages/messaging/[id]-d4b136d56734e0b2.js"],"/privacy-requests":[s,e,t,H,"static/chunks/pages/privacy-requests-0cd0024113f958da.js"],"/privacy-requests/configure":["static/chunks/pages/privacy-requests/configure-f0fcddade8258445.js"],"/privacy-requests/configure/messaging":["static/chunks/pages/privacy-requests/configure/messaging-9103ff5824f10280.js"],"/privacy-requests/configure/storage":["static/chunks/pages/privacy-requests/configure/storage-ccc8829fb8e6d889.js"],"/privacy-requests/[id]":[a,c,n,H,"static/css/b89fc4b36b501cf6.css","static/chunks/pages/privacy-requests/[id]-f208ea9573f5d16f.js"],"/properties":[s,e,t,A,"static/chunks/pages/properties-1cdb0094c4caf07e.js"],"/properties/add-property":[d,J,"static/chunks/pages/properties/add-property-2b204911aadeef3b.js"],"/properties/[id]":[d,J,"static/chunks/pages/properties/[id]-dd197054dacf6c99.js"],"/reporting/datamap":[s,e,a,c,n,C,t,b,S,"static/chunks/pages/reporting/datamap-4aafe0b82fe05626.js"],"/settings/about":["static/chunks/pages/settings/about-1b1273e9eb69ac45.js"],"/settings/consent":["static/chunks/pages/settings/consent-60f6d15fa6c6b1af.js"],"/settings/consent/[configuration_id]/[purpose_id]":[s,e,t,"static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-e4bee84add8a913b.js"],"/settings/custom-fields":[s,e,t,"static/chunks/pages/settings/custom-fields-298fa77e090bf7cb.js"],"/settings/domain-records":[s,e,t,"static/chunks/pages/settings/domain-records-3b59fd523eee38fc.js"],"/settings/domains":["static/chunks/pages/settings/domains-1c1f4f775561e528.js"],"/settings/email-templates":["static/chunks/pages/settings/email-templates-ebb37a1ae630931a.js"],"/settings/locations":[s,K,"static/chunks/pages/settings/locations-84f0c04250972998.js"],"/settings/organization":["static/chunks/pages/settings/organization-2fcbf2b113dce00c.js"],"/settings/regulations":[s,K,"static/chunks/pages/settings/regulations-259d0c058065e14d.js"],"/systems":[s,e,t,"static/chunks/pages/systems-c921992c82514912.js"],"/systems/configure/[id]":[s,e,a,c,n,j,t,o,r,b,m,w,i,"static/chunks/pages/systems/configure/[id]-3a2a18084f89dc04.js"],"/systems/configure/[id]/test-datasets":[u,p,"static/chunks/pages/systems/configure/[id]/test-datasets-7bf0c1ff8d1d09cf.js"],"/taxonomy":["static/chunks/678d4732-50255cc09048e643.js",a,c,n,f,"static/chunks/570-c99f07161bd339cd.js","static/css/34a7eb08b86ddb57.css","static/chunks/pages/taxonomy-07d26364d187c7c3.js"],"/user-management":[_,"static/chunks/pages/user-management-a207e8f745c7e26b.js"],"/user-management/new":[_,O,"static/chunks/pages/user-management/new-65ef1bdebb679666.js"],"/user-management/profile/[id]":[_,O,"static/chunks/pages/user-management/profile/[id]-7546e00c78835823.js"],sortedPages:["/","/404","/_app","/_error","/add-systems","/add-systems/manual","/add-systems/multiple","/ant-poc","/consent","/consent/configure","/consent/configure/add-vendors","/consent/privacy-experience","/consent/privacy-experience/new","/consent/privacy-experience/[id]","/consent/privacy-notices","/consent/privacy-notices/new","/consent/privacy-notices/[id]","/consent/properties","/consent/reporting","/data-catalog","/data-catalog/[systemId]/projects","/data-catalog/[systemId]/projects/[projectUrn]","/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn]","/data-catalog/[systemId]/resources","/data-catalog/[systemId]/resources/[resourceUrn]","/data-discovery/action-center","/data-discovery/action-center/[monitorId]","/data-discovery/action-center/[monitorId]/[systemId]","/data-discovery/activity","/data-discovery/detection","/data-discovery/detection/[resourceUrn]","/data-discovery/discovery","/data-discovery/discovery/[resourceUrn]","/datamap","/dataset","/dataset/new","/dataset/[datasetId]","/dataset/[datasetId]/[collectionName]","/dataset/[datasetId]/[collectionName]/[...subfieldNames]","/datastore-connection","/datastore-connection/new","/datastore-connection/[id]","/fides-js-docs","/integrations","/integrations/[id]","/login","/login/[provider]","/messaging","/messaging/add-template","/messaging/[id]","/privacy-requests","/privacy-requests/configure","/privacy-requests/configure/messaging","/privacy-requests/configure/storage","/privacy-requests/[id]","/properties","/properties/add-property","/properties/[id]","/reporting/datamap","/settings/about","/settings/consent","/settings/consent/[configuration_id]/[purpose_id]","/settings/custom-fields","/settings/domain-records","/settings/domains","/settings/email-templates","/settings/locations","/settings/organization","/settings/regulations","/systems","/systems/configure/[id]","/systems/configure/[id]/test-datasets","/taxonomy","/user-management","/user-management/new","/user-management/profile/[id]"]}}("static/chunks/c78d26b1-88a3e1bacb2a03c2.js","static/chunks/6060-cb1ab5be7067bf7b.js","static/chunks/4481-c587763cfbc603c7.js","static/chunks/2858-0b44609b6be7850b.js","static/chunks/2866-a73888c17a195cbe.js","static/chunks/9278-9b1b5970f0702668.js","static/css/d2d4e9a6923e6730.css","static/chunks/69-5f2103ace46481d6.js","static/chunks/9719-f411ae7eaf9ca1e8.js","static/chunks/401-f18cd4739b98ce74.js","static/chunks/6527-0eed08abe252a918.js","static/chunks/4294-5b3aa9d605217915.js","static/chunks/6372-a91f7f83fd6d2fd2.js","static/chunks/9327-1b672d64969cfafb.js","static/chunks/5277-e8a036319456127f.js","static/chunks/9951-d8d18047e05b1df4.js","static/chunks/6277-70d615c50ac54e1d.js","static/chunks/3702-95692cf4ec13e698.js","static/chunks/3503-f8b68879ea28e6ee.js","static/chunks/8934-5e141988ad7c1000.js","static/chunks/7751-b61c0979c4f5ba79.js","static/chunks/5487-1035279f9f4aaa81.js","static/chunks/8702-d1c8296f9f6afc10.js","static/chunks/3513-bcef489f2c8e30e1.js","static/css/972dc7eef106ee7c.css","static/chunks/9965-4149f5bb9ccf2c54.js","static/chunks/5826-dbb96ab3cc360ed4.js","static/chunks/6853-38e3fd5a7b1bde87.js","static/chunks/9014-eeae6f581158e645.js","static/chunks/1817-ee8d8da2ea918cb2.js","static/chunks/3615-5e2d062d684b8fa1.js","static/chunks/6954-92f362ffea739388.js","static/chunks/79-82c500f39db614d1.js","static/chunks/3872-7382a9d55bb94d53.js","static/chunks/3855-cf98ef0345aa9cca.js","static/chunks/2479-b91631f5e7ad58fe.js","static/chunks/1904-3aa43570520790fc.js","static/chunks/9572-235d37e0b7db0257.js","static/chunks/9767-8d96e7f8fd72eadc.js","static/chunks/9187-851756440f79cd75.js","static/chunks/5973-6bb609a5771dfe2a.js","static/chunks/1100-574adc8f50f9ef3a.js","static/chunks/8433-8d6487450daa5dcf.js","static/chunks/4060-891319185929d1ae.js","static/chunks/3505-a94b641168547225.js","static/chunks/4121-6d5719d695f696ca.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -1 +1 @@
1
- "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1100],{58754:function(e,t,n){var r=n(24246),i=n(91922),s=n(70788);t.Z=e=>{let{heading:t,breadcrumbItems:n,isSticky:a=!0,children:l,rightContent:o,style:u,...c}=e;return(0,r.jsxs)("div",{...c,style:a?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...u}:{paddingBottom:"24px",...u},children:[(0,r.jsxs)(i.jqI,{justify:"space-between",children:["string"==typeof t?(0,r.jsx)(i.lQT,{className:n||l?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,o&&(0,r.jsx)("div",{"data-testid":"page-header-right-content",children:o})]}),!!n&&(0,r.jsx)(s.m,{className:l?"pb-4":void 0,items:n,"data-testid":"page-breadcrumb"}),l]})}},10342:function(e,t,n){var r=n(24246),i=n(91922),s=n(46238);t.Z=e=>{let{title:t,tooltip:n,children:a,...l}=e;return(0,r.jsxs)(i.xuv,{borderRadius:"md",border:"1px solid",borderColor:"gray.200",...l,children:[(0,r.jsxs)(i.X6q,{as:"h3",fontSize:"sm",fontWeight:"semibold",color:"gray.700",py:4,px:6,backgroundColor:"gray.50",borderRadius:"md",textAlign:"left",children:[t,n?(0,r.jsx)(i.xvT,{as:"span",mx:1,children:(0,r.jsx)(s.b,{label:n})}):void 0]}),(0,r.jsx)(i.Kqy,{p:6,spacing:6,children:a})]})}},70788:function(e,t,n){n.d(t,{m:function(){return u}});var r=n(24246),i=n(91922),s=n(79894),a=n.n(s),l=n(27378);let{Text:o}=i.AntTypography,u=e=>{let{items:t,...n}=e,s=(0,l.useMemo)(()=>null==t?void 0:t.map((e,n)=>{let s=n===t.length-1,l={...e},u=l.onClick&&!l.href;return("string"==typeof l.title&&(l.title=(0,r.jsx)(o,{style:{color:"inherit",maxWidth:s?void 0:400},ellipsis:!s,children:l.title})),u)?l.title=(0,r.jsx)(i.wpx,{type:"text",size:"small",icon:l.icon,onClick:l.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:l.title}):(l.icon&&(l.title=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"anticon align-text-bottom",children:l.icon}),l.title]})),l.href&&l.title&&(l.title=(0,r.jsx)(a(),{href:l.href,className:"ant-breadcrumb-link",children:l.title}),delete l.href)),l}),[t]);return(0,r.jsx)(i.zrq,{items:s,...n})}},67810:function(e,t,n){n.d(t,{Z:function(){return s}}),(r=i||(i={})).PRIVACY_REQUEST_REVIEW_APPROVE="privacy_request_review_approve",r.PRIVACY_REQUEST_REVIEW_DENY="privacy_request_review_deny",r.PRIVACY_REQUEST_RECEIPT="privacy_request_receipt",r.PRIVACY_REQUEST_COMPLETE_ACCESS="privacy_request_complete_access",r.PRIVACY_REQUEST_COMPLETE_DELETION="privacy_request_complete_deletion",r.SUBJECT_IDENTITY_VERIFICATION="subject_identity_verification";var r,i,s={[i.PRIVACY_REQUEST_COMPLETE_ACCESS]:"Access request completed",[i.PRIVACY_REQUEST_COMPLETE_DELETION]:"Erasure request completed",[i.PRIVACY_REQUEST_RECEIPT]:"Privacy request received",[i.PRIVACY_REQUEST_REVIEW_APPROVE]:"Privacy request approved",[i.PRIVACY_REQUEST_REVIEW_DENY]:"Privacy request denied",[i.SUBJECT_IDENTITY_VERIFICATION]:"Subject identity verification"}},20149:function(e,t,n){var r=n(24246),i=n(77830),s=n(91922),a=n(34090),l=n(86677),o=n(16134),u=n(10342),c=n(40324),d=n(51472),p=n(67810),m=n(64826);let g=()=>{var e;let t=(0,o.C)(m.Zp),n=(0,o.C)(m.G1);(0,m.gz)({page:t,size:n});let i=(0,o.C)(m.YO),{values:s,setFieldValue:l}=(0,a.u6)();return(0,r.jsx)(d.Z,{label:"Associated properties",addButtonLabel:"Add property",idField:"id",nameField:"name",allItems:i.map(e=>({id:e.id,name:e.name})),values:null!==(e=s.properties)&&void 0!==e?e:[],setValues:e=>l("properties",e),draggable:!0,maxHeight:100,baseTestId:"property"})};t.Z=e=>{let{template:t,handleSubmit:n,handleDelete:o}=e,d=(0,l.useRouter)(),m=()=>{d.push(i.q)},f={type:t.type,content:t.content,properties:t.properties||[],is_enabled:t.is_enabled,id:t.id||""};return(0,r.jsx)(a.J9,{enableReinitialize:!0,initialValues:f,onSubmit:n,children:e=>{let{dirty:t,isValid:n,isSubmitting:i}=e;return(0,r.jsxs)(a.l0,{style:{paddingTop:"12px",paddingBottom:"12px"},children:[(0,r.jsx)(s.xuv,{py:3,children:(0,r.jsxs)(u.Z,{title:"".concat(p.Z[f.type]),children:[(0,r.jsx)(c.j0,{isRequired:!0,label:"Email subject",name:"content.subject",variant:"stacked"}),(0,r.jsx)(c.Ks,{isRequired:!0,label:"Message body",name:"content.body",value:"test",variant:"stacked",resize:!0}),(0,r.jsx)(s.xuv,{py:3,children:(0,r.jsx)(g,{})}),(0,r.jsx)(c.w8,{name:"is_enabled",label:"Enable message",variant:"switchFirst"})]})}),(0,r.jsxs)(s.kCb,{justifyContent:"space-between",width:"100%",paddingTop:2,children:[f.id&&o&&(0,r.jsx)(s.wpx,{"data-testid":"delete-template-button",loading:!1,className:"mr-3",onClick:o,children:"Delete"}),(0,r.jsxs)(s.kCb,{justifyContent:"right",width:"100%",paddingTop:2,children:[(0,r.jsx)(s.wpx,{loading:!1,className:"mr-3",onClick:m,children:"Cancel"}),(0,r.jsx)(s.wpx,{htmlType:"submit",type:"primary",disabled:i||!t||!n,loading:i,"data-testid":"submit-btn",children:"Save"})]})]})]})}})}},5058:function(e,t,n){n.d(t,{Vw:function(){return s},ms:function(){return r},pS:function(){return i},vm:function(){return a}});let{useGetSummaryMessagingTemplatesQuery:r,usePutMessagingTemplateByIdMutation:i,useCreateMessagingTemplateByTypeMutation:s,usePatchMessagingTemplateByIdMutation:a}=n(78780).u.injectEndpoints({endpoints:e=>({getSummaryMessagingTemplates:e.query({query:e=>({method:"GET",url:"plus/messaging/templates/summary",params:e}),providesTags:()=>["Property-Specific Messaging Templates"]}),putMessagingTemplateById:e.mutation({query:e=>{let{templateId:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"PUT",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]}),patchMessagingTemplateById:e.mutation({query:e=>{let{templateId:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"PATCH",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]}),createMessagingTemplateByType:e.mutation({query:e=>{let{templateType:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"POST",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]})})})},47466:function(e,t,n){n.d(t,{KC:function(){return a},ew:function(){return l},gQ:function(){return s},jM:function(){return r},lE:function(){return i}});let{useGetMessagingTemplatesQuery:r,useUpdateMessagingTemplatesMutation:i,useGetMessagingTemplateByIdQuery:s,useGetMessagingTemplateDefaultQuery:a,useDeleteMessagingTemplateByIdMutation:l}=n(78780).u.injectEndpoints({endpoints:e=>({getMessagingTemplates:e.query({query:()=>({url:"messaging/templates"}),providesTags:()=>["Messaging Templates"]}),updateMessagingTemplates:e.mutation({query:e=>({url:"messaging/templates",method:"PUT",body:e}),invalidatesTags:()=>["Messaging Templates"]}),getMessagingTemplateById:e.query({query:e=>({url:"/messaging/templates/".concat(e)}),providesTags:()=>["Property-Specific Messaging Templates"]}),getMessagingTemplateDefault:e.query({query:e=>({url:"/messaging/templates/default/".concat(e)})}),deleteMessagingTemplateById:e.mutation({query:e=>({url:"/messaging/templates/".concat(e),method:"DELETE"}),invalidatesTags:()=>["Property-Specific Messaging Templates"]})})})},31883:function(e,t,n){n.d(t,{Bw:function(){return r.Bw},D4:function(){return r.D4}});var r=n(19043)},11055:function(e,t,n){n.d(t,{M:function(){return d}});var r=n(24246),i=n(29427),s=n(27378),a=n(40976),l=n(18397),o=n(42308),u=n(25431),c=n(39556);let d=(0,s.forwardRef)(function({children:e,as:t="ul",axis:n="y",onReorder:d,values:g,...f},y){let h=(0,o.h)(()=>l.E[t]),x=[],E=(0,s.useRef)(!1);return(0,i.k)(!!g,"Reorder.Group must be provided a values prop"),(0,s.useEffect)(()=>{E.current=!1}),(0,r.jsx)(h,{...f,ref:y,ignoreStrict:!0,children:(0,r.jsx)(a.Y.Provider,{value:{axis:n,registerItem:(e,t)=>{let r=x.findIndex(t=>e===t.value);-1!==r?x[r].layout=t[n]:x.push({value:e,layout:t[n]}),x.sort(m)},updateOrder:(e,t,n)=>{if(E.current)return;let r=function(e,t,n,r){if(!r)return e;let i=e.findIndex(e=>e.value===t);if(-1===i)return e;let s=r>0?1:-1,a=e[i+s];if(!a)return e;let l=e[i],o=a.layout,d=(0,c.t)(o.min,o.max,.5);return 1===s&&l.layout.max+n>d||-1===s&&l.layout.min+n<d?(0,u.uo)(e,i,i+s):e}(x,e,t,n);x!==r&&(E.current=!0,d(r.map(p).filter(e=>-1!==g.indexOf(e))))}},children:e})})});function p(e){return e.value}function m(e,t){return e.layout.min-t.layout.min}},7078:function(e,t,n){n.d(t,{e:function(){return T}});var r=n(24246),i=n(29427),s=n(27378),a=n(40976),l=n(18397),o=n(42308),u=n(69222),c=n(67412);function d(e){let t=(0,o.h)(()=>(0,u.BX)(e)),{isStatic:n}=(0,s.useContext)(c._);if(n){let[,n]=(0,s.useState)(e);(0,s.useEffect)(()=>t.on("change",n),[])}return t}var p=n(13998);let m=e=>e&&"object"==typeof e&&e.mix,g=e=>m(e)?e.mix:void 0;var f=n(64306),y=n(95984);function h(e,t){let n=d(t()),r=()=>n.set(t());return r(),(0,f.L)(()=>{let t=()=>y.Wi.preRender(r,!1,!0),n=e.map(e=>e.on("change",t));return()=>{n.forEach(e=>e()),(0,y.Pn)(r)}}),n}function x(e,t){let n=(0,o.h)(()=>[]);return h(e,()=>{n.length=0;let r=e.length;for(let t=0;t<r;t++)n[t]=e[t].get();return t(n)})}var E=n(3522);function v(e,t=0){return(0,E.i)(e)?e:d(t)}let T=(0,s.forwardRef)(function({children:e,style:t={},value:n,as:c="li",onDrag:d,layout:m=!0,...f},y){let E=(0,o.h)(()=>l.E[c]),T=(0,s.useContext)(a.Y),b={x:v(t.x),y:v(t.y)},_=function(e,t,n,r){if("function"==typeof e)return function(e){u.S1.current=[],e();let t=h(u.S1.current,e);return u.S1.current=void 0,t}(e);let i="function"==typeof t?t:function(...e){let t=!Array.isArray(e[0]),n=t?0:-1,r=e[0+n],i=e[1+n],s=e[2+n],a=e[3+n],l=(0,p.s)(i,s,{mixer:g(s[0]),...a});return t?l(r):l}(t,void 0,void 0);return Array.isArray(e)?x(e,i):x([e],([e])=>i(e))}([b.x,b.y],([e,t])=>e||t?1:"unset");(0,i.k)(!!T,"Reorder.Item must be a child of Reorder.Group");let{axis:C,registerItem:j,updateOrder:R}=T;return(0,r.jsx)(E,{drag:C,...f,dragSnapToOrigin:!0,style:{...t,x:b.x,y:b.y,zIndex:_},layout:m,onDrag:(e,t)=>{let{velocity:r}=t;r[C]&&R(n,b[C].get(),r[C]),d&&d(e,t)},onLayoutMeasure:e=>j(n,e),ref:y,ignoreStrict:!0,children:e})})},40976:function(e,t,n){n.d(t,{Y:function(){return r}});let r=(0,n(27378).createContext)(null)},47397:function(e,t,n){n.d(t,{o:function(){return a}});var r=n(42308);class i{constructor(){this.componentControls=new Set}subscribe(e){return this.componentControls.add(e),()=>this.componentControls.delete(e)}start(e,t){this.componentControls.forEach(n=>{n.start(e.nativeEvent||e,t)})}}let s=()=>new i;function a(){return(0,r.h)(s)}},76649:function(e,t,n){n.d(t,{Ln:function(){return r}});let r=(e,t)=>s(e,t),i=Symbol("SOME"),s=(e,t)=>"string"==typeof e?e===typeof t:Array.isArray(e)?i in e?e.some(e=>s(e,t)):!!Array.isArray(t)&&(0===e.length||t.every(t=>e.some(e=>s(e,t)))):"object"==typeof t&&null!==t&&Object.entries(e).every(([e,n])=>s(n,t[e]));class a{static narrow(e){return new a(t=>r(e,t))}constructor(e){this.NF=void 0,this.NF=e}satisfied(e){return this.NF(e)}build(e){return e}and(e){let t=this.NF,n=e instanceof a?e.NF:e instanceof Function?e:t=>r(e,t);return new a(e=>t(e)&&n(e))}}new a(e=>!0)}}]);
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1100],{58754:function(e,t,n){var r=n(24246),i=n(91942),s=n(70788);t.Z=e=>{let{heading:t,breadcrumbItems:n,isSticky:a=!0,children:l,rightContent:o,style:u,...c}=e;return(0,r.jsxs)("div",{...c,style:a?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...u}:{paddingBottom:"24px",...u},children:[(0,r.jsxs)(i.jqI,{justify:"space-between",children:["string"==typeof t?(0,r.jsx)(i.lQT,{className:n||l?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,o&&(0,r.jsx)("div",{"data-testid":"page-header-right-content",children:o})]}),!!n&&(0,r.jsx)(s.m,{className:l?"pb-4":void 0,items:n,"data-testid":"page-breadcrumb"}),l]})}},10342:function(e,t,n){var r=n(24246),i=n(91942),s=n(46238);t.Z=e=>{let{title:t,tooltip:n,children:a,...l}=e;return(0,r.jsxs)(i.xuv,{borderRadius:"md",border:"1px solid",borderColor:"gray.200",...l,children:[(0,r.jsxs)(i.X6q,{as:"h3",fontSize:"sm",fontWeight:"semibold",color:"gray.700",py:4,px:6,backgroundColor:"gray.50",borderRadius:"md",textAlign:"left",children:[t,n?(0,r.jsx)(i.xvT,{as:"span",mx:1,children:(0,r.jsx)(s.b,{label:n})}):void 0]}),(0,r.jsx)(i.Kqy,{p:6,spacing:6,children:a})]})}},70788:function(e,t,n){n.d(t,{m:function(){return u}});var r=n(24246),i=n(91942),s=n(79894),a=n.n(s),l=n(27378);let{Text:o}=i.AntTypography,u=e=>{let{items:t,...n}=e,s=(0,l.useMemo)(()=>null==t?void 0:t.map((e,n)=>{let s=n===t.length-1,l={...e},u=l.onClick&&!l.href;return("string"==typeof l.title&&(l.title=(0,r.jsx)(o,{style:{color:"inherit",maxWidth:s?void 0:400},ellipsis:!s,children:l.title})),u)?l.title=(0,r.jsx)(i.wpx,{type:"text",size:"small",icon:l.icon,onClick:l.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:l.title}):(l.icon&&(l.title=(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)("span",{className:"anticon align-text-bottom",children:l.icon}),l.title]})),l.href&&l.title&&(l.title=(0,r.jsx)(a(),{href:l.href,className:"ant-breadcrumb-link",children:l.title}),delete l.href)),l}),[t]);return(0,r.jsx)(i.zrq,{items:s,...n})}},67810:function(e,t,n){n.d(t,{Z:function(){return s}}),(r=i||(i={})).PRIVACY_REQUEST_REVIEW_APPROVE="privacy_request_review_approve",r.PRIVACY_REQUEST_REVIEW_DENY="privacy_request_review_deny",r.PRIVACY_REQUEST_RECEIPT="privacy_request_receipt",r.PRIVACY_REQUEST_COMPLETE_ACCESS="privacy_request_complete_access",r.PRIVACY_REQUEST_COMPLETE_DELETION="privacy_request_complete_deletion",r.SUBJECT_IDENTITY_VERIFICATION="subject_identity_verification";var r,i,s={[i.PRIVACY_REQUEST_COMPLETE_ACCESS]:"Access request completed",[i.PRIVACY_REQUEST_COMPLETE_DELETION]:"Erasure request completed",[i.PRIVACY_REQUEST_RECEIPT]:"Privacy request received",[i.PRIVACY_REQUEST_REVIEW_APPROVE]:"Privacy request approved",[i.PRIVACY_REQUEST_REVIEW_DENY]:"Privacy request denied",[i.SUBJECT_IDENTITY_VERIFICATION]:"Subject identity verification"}},20149:function(e,t,n){var r=n(24246),i=n(77830),s=n(91942),a=n(34090),l=n(86677),o=n(16134),u=n(10342),c=n(40324),d=n(51472),p=n(67810),m=n(64826);let g=()=>{var e;let t=(0,o.C)(m.Zp),n=(0,o.C)(m.G1);(0,m.gz)({page:t,size:n});let i=(0,o.C)(m.YO),{values:s,setFieldValue:l}=(0,a.u6)();return(0,r.jsx)(d.Z,{label:"Associated properties",addButtonLabel:"Add property",idField:"id",nameField:"name",allItems:i.map(e=>({id:e.id,name:e.name})),values:null!==(e=s.properties)&&void 0!==e?e:[],setValues:e=>l("properties",e),draggable:!0,maxHeight:100,baseTestId:"property"})};t.Z=e=>{let{template:t,handleSubmit:n,handleDelete:o}=e,d=(0,l.useRouter)(),m=()=>{d.push(i.q)},f={type:t.type,content:t.content,properties:t.properties||[],is_enabled:t.is_enabled,id:t.id||""};return(0,r.jsx)(a.J9,{enableReinitialize:!0,initialValues:f,onSubmit:n,children:e=>{let{dirty:t,isValid:n,isSubmitting:i}=e;return(0,r.jsxs)(a.l0,{style:{paddingTop:"12px",paddingBottom:"12px"},children:[(0,r.jsx)(s.xuv,{py:3,children:(0,r.jsxs)(u.Z,{title:"".concat(p.Z[f.type]),children:[(0,r.jsx)(c.j0,{isRequired:!0,label:"Email subject",name:"content.subject",variant:"stacked"}),(0,r.jsx)(c.Ks,{isRequired:!0,label:"Message body",name:"content.body",value:"test",variant:"stacked",resize:!0}),(0,r.jsx)(s.xuv,{py:3,children:(0,r.jsx)(g,{})}),(0,r.jsx)(c.w8,{name:"is_enabled",label:"Enable message",variant:"switchFirst"})]})}),(0,r.jsxs)(s.kCb,{justifyContent:"space-between",width:"100%",paddingTop:2,children:[f.id&&o&&(0,r.jsx)(s.wpx,{"data-testid":"delete-template-button",loading:!1,className:"mr-3",onClick:o,children:"Delete"}),(0,r.jsxs)(s.kCb,{justifyContent:"right",width:"100%",paddingTop:2,children:[(0,r.jsx)(s.wpx,{loading:!1,className:"mr-3",onClick:m,children:"Cancel"}),(0,r.jsx)(s.wpx,{htmlType:"submit",type:"primary",disabled:i||!t||!n,loading:i,"data-testid":"submit-btn",children:"Save"})]})]})]})}})}},5058:function(e,t,n){n.d(t,{Vw:function(){return s},ms:function(){return r},pS:function(){return i},vm:function(){return a}});let{useGetSummaryMessagingTemplatesQuery:r,usePutMessagingTemplateByIdMutation:i,useCreateMessagingTemplateByTypeMutation:s,usePatchMessagingTemplateByIdMutation:a}=n(78780).u.injectEndpoints({endpoints:e=>({getSummaryMessagingTemplates:e.query({query:e=>({method:"GET",url:"plus/messaging/templates/summary",params:e}),providesTags:()=>["Property-Specific Messaging Templates"]}),putMessagingTemplateById:e.mutation({query:e=>{let{templateId:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"PUT",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]}),patchMessagingTemplateById:e.mutation({query:e=>{let{templateId:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"PATCH",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]}),createMessagingTemplateByType:e.mutation({query:e=>{let{templateType:t,template:n}=e;return{url:"plus/messaging/templates/".concat(t),method:"POST",body:n}},invalidatesTags:()=>["Property-Specific Messaging Templates"]})})})},47466:function(e,t,n){n.d(t,{KC:function(){return a},ew:function(){return l},gQ:function(){return s},jM:function(){return r},lE:function(){return i}});let{useGetMessagingTemplatesQuery:r,useUpdateMessagingTemplatesMutation:i,useGetMessagingTemplateByIdQuery:s,useGetMessagingTemplateDefaultQuery:a,useDeleteMessagingTemplateByIdMutation:l}=n(78780).u.injectEndpoints({endpoints:e=>({getMessagingTemplates:e.query({query:()=>({url:"messaging/templates"}),providesTags:()=>["Messaging Templates"]}),updateMessagingTemplates:e.mutation({query:e=>({url:"messaging/templates",method:"PUT",body:e}),invalidatesTags:()=>["Messaging Templates"]}),getMessagingTemplateById:e.query({query:e=>({url:"/messaging/templates/".concat(e)}),providesTags:()=>["Property-Specific Messaging Templates"]}),getMessagingTemplateDefault:e.query({query:e=>({url:"/messaging/templates/default/".concat(e)})}),deleteMessagingTemplateById:e.mutation({query:e=>({url:"/messaging/templates/".concat(e),method:"DELETE"}),invalidatesTags:()=>["Property-Specific Messaging Templates"]})})})},31883:function(e,t,n){n.d(t,{Bw:function(){return r.Bw},D4:function(){return r.D4}});var r=n(19043)},11055:function(e,t,n){n.d(t,{M:function(){return d}});var r=n(24246),i=n(29427),s=n(27378),a=n(40976),l=n(18397),o=n(42308),u=n(25431),c=n(39556);let d=(0,s.forwardRef)(function({children:e,as:t="ul",axis:n="y",onReorder:d,values:g,...f},y){let h=(0,o.h)(()=>l.E[t]),x=[],E=(0,s.useRef)(!1);return(0,i.k)(!!g,"Reorder.Group must be provided a values prop"),(0,s.useEffect)(()=>{E.current=!1}),(0,r.jsx)(h,{...f,ref:y,ignoreStrict:!0,children:(0,r.jsx)(a.Y.Provider,{value:{axis:n,registerItem:(e,t)=>{let r=x.findIndex(t=>e===t.value);-1!==r?x[r].layout=t[n]:x.push({value:e,layout:t[n]}),x.sort(m)},updateOrder:(e,t,n)=>{if(E.current)return;let r=function(e,t,n,r){if(!r)return e;let i=e.findIndex(e=>e.value===t);if(-1===i)return e;let s=r>0?1:-1,a=e[i+s];if(!a)return e;let l=e[i],o=a.layout,d=(0,c.t)(o.min,o.max,.5);return 1===s&&l.layout.max+n>d||-1===s&&l.layout.min+n<d?(0,u.uo)(e,i,i+s):e}(x,e,t,n);x!==r&&(E.current=!0,d(r.map(p).filter(e=>-1!==g.indexOf(e))))}},children:e})})});function p(e){return e.value}function m(e,t){return e.layout.min-t.layout.min}},7078:function(e,t,n){n.d(t,{e:function(){return T}});var r=n(24246),i=n(29427),s=n(27378),a=n(40976),l=n(18397),o=n(42308),u=n(69222),c=n(67412);function d(e){let t=(0,o.h)(()=>(0,u.BX)(e)),{isStatic:n}=(0,s.useContext)(c._);if(n){let[,n]=(0,s.useState)(e);(0,s.useEffect)(()=>t.on("change",n),[])}return t}var p=n(13998);let m=e=>e&&"object"==typeof e&&e.mix,g=e=>m(e)?e.mix:void 0;var f=n(64306),y=n(95984);function h(e,t){let n=d(t()),r=()=>n.set(t());return r(),(0,f.L)(()=>{let t=()=>y.Wi.preRender(r,!1,!0),n=e.map(e=>e.on("change",t));return()=>{n.forEach(e=>e()),(0,y.Pn)(r)}}),n}function x(e,t){let n=(0,o.h)(()=>[]);return h(e,()=>{n.length=0;let r=e.length;for(let t=0;t<r;t++)n[t]=e[t].get();return t(n)})}var E=n(3522);function v(e,t=0){return(0,E.i)(e)?e:d(t)}let T=(0,s.forwardRef)(function({children:e,style:t={},value:n,as:c="li",onDrag:d,layout:m=!0,...f},y){let E=(0,o.h)(()=>l.E[c]),T=(0,s.useContext)(a.Y),b={x:v(t.x),y:v(t.y)},_=function(e,t,n,r){if("function"==typeof e)return function(e){u.S1.current=[],e();let t=h(u.S1.current,e);return u.S1.current=void 0,t}(e);let i="function"==typeof t?t:function(...e){let t=!Array.isArray(e[0]),n=t?0:-1,r=e[0+n],i=e[1+n],s=e[2+n],a=e[3+n],l=(0,p.s)(i,s,{mixer:g(s[0]),...a});return t?l(r):l}(t,void 0,void 0);return Array.isArray(e)?x(e,i):x([e],([e])=>i(e))}([b.x,b.y],([e,t])=>e||t?1:"unset");(0,i.k)(!!T,"Reorder.Item must be a child of Reorder.Group");let{axis:C,registerItem:j,updateOrder:R}=T;return(0,r.jsx)(E,{drag:C,...f,dragSnapToOrigin:!0,style:{...t,x:b.x,y:b.y,zIndex:_},layout:m,onDrag:(e,t)=>{let{velocity:r}=t;r[C]&&R(n,b[C].get(),r[C]),d&&d(e,t)},onLayoutMeasure:e=>j(n,e),ref:y,ignoreStrict:!0,children:e})})},40976:function(e,t,n){n.d(t,{Y:function(){return r}});let r=(0,n(27378).createContext)(null)},47397:function(e,t,n){n.d(t,{o:function(){return a}});var r=n(42308);class i{constructor(){this.componentControls=new Set}subscribe(e){return this.componentControls.add(e),()=>this.componentControls.delete(e)}start(e,t){this.componentControls.forEach(n=>{n.start(e.nativeEvent||e,t)})}}let s=()=>new i;function a(){return(0,r.h)(s)}},76649:function(e,t,n){n.d(t,{Ln:function(){return r}});let r=(e,t)=>s(e,t),i=Symbol("SOME"),s=(e,t)=>"string"==typeof e?e===typeof t:Array.isArray(e)?i in e?e.some(e=>s(e,t)):!!Array.isArray(t)&&(0===e.length||t.every(t=>e.some(e=>s(e,t)))):"object"==typeof t&&null!==t&&Object.entries(e).every(([e,n])=>s(n,t[e]));class a{static narrow(e){return new a(t=>r(e,t))}constructor(e){this.NF=void 0,this.NF=e}satisfied(e){return this.NF(e)}build(e){return e}and(e){let t=this.NF,n=e instanceof a?e.NF:e instanceof Function?e:t=>r(e,t);return new a(e=>t(e)&&n(e))}}new a(e=>!0)}}]);