ethyca-fides 2.60.2b0__py2.py3-none-any.whl → 2.60.2b1__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 (168) hide show
  1. {ethyca_fides-2.60.2b0.dist-info → ethyca_fides-2.60.2b1.dist-info}/METADATA +1 -1
  2. {ethyca_fides-2.60.2b0.dist-info → ethyca_fides-2.60.2b1.dist-info}/RECORD +165 -161
  3. {ethyca_fides-2.60.2b0.dist-info → ethyca_fides-2.60.2b1.dist-info}/WHEEL +1 -1
  4. fides/_version.py +3 -3
  5. fides/api/alembic/migrations/versions/d0cbfec0b2dd_add_okta_to_connection_types.py +61 -0
  6. fides/api/models/connectionconfig.py +3 -0
  7. fides/api/schemas/connection_configuration/__init__.py +9 -1
  8. fides/api/schemas/connection_configuration/connection_secrets_okta.py +28 -0
  9. fides/api/schemas/connection_configuration/enums/system_type.py +1 -0
  10. fides/api/service/connectors/__init__.py +2 -0
  11. fides/api/service/connectors/okta_connector.py +82 -0
  12. fides/api/service/connectors/website_connector.py +3 -0
  13. fides/api/task/task_resources.py +3 -0
  14. fides/ui-build/static/admin/404.html +1 -1
  15. fides/ui-build/static/admin/_next/static/{WSibKOvTP1wQ2ioehb_pY → 41G5DqvxaeevMKeDa2GHI}/_buildManifest.js +1 -1
  16. fides/ui-build/static/admin/_next/static/chunks/4481-07b76ecbabb5b27c.js +1 -0
  17. fides/ui-build/static/admin/_next/static/chunks/5973-3cd839e76636a62e.js +1 -0
  18. fides/ui-build/static/admin/_next/static/chunks/pages/{_app-e2f86c400e5d4c5d.js → _app-e72a874012ab832d.js} +1 -1
  19. fides/ui-build/static/admin/_next/static/chunks/pages/integrations/{[id]-900e1581de2811c1.js → [id]-edfa3f23be117915.js} +1 -1
  20. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-225715668d4cf4c4.js +1 -0
  21. fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-e4bee84add8a913b.js → [purpose_id]-37b2b8def129b56e.js} +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/ant-poc.html +1 -1
  26. fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
  27. fides/ui-build/static/admin/consent/configure.html +1 -1
  28. fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
  29. fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
  30. fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
  31. fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
  32. fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
  33. fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
  34. fides/ui-build/static/admin/consent/properties.html +1 -1
  35. fides/ui-build/static/admin/consent/reporting.html +1 -1
  36. fides/ui-build/static/admin/consent.html +1 -1
  37. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
  38. fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
  39. fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
  40. fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
  41. fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
  42. fides/ui-build/static/admin/data-catalog.html +1 -1
  43. fides/ui-build/static/admin/data-discovery/action-center/[monitorId]/[systemId].html +1 -1
  44. fides/ui-build/static/admin/data-discovery/action-center/[monitorId].html +1 -1
  45. fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
  46. fides/ui-build/static/admin/data-discovery/activity.html +1 -1
  47. fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
  48. fides/ui-build/static/admin/data-discovery/detection.html +1 -1
  49. fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
  50. fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
  51. fides/ui-build/static/admin/datamap.html +1 -1
  52. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
  53. fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
  54. fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
  55. fides/ui-build/static/admin/dataset/new.html +1 -1
  56. fides/ui-build/static/admin/dataset.html +1 -1
  57. fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
  58. fides/ui-build/static/admin/datastore-connection/new.html +1 -1
  59. fides/ui-build/static/admin/datastore-connection.html +1 -1
  60. fides/ui-build/static/admin/images/connector-logos/okta.svg +7 -0
  61. fides/ui-build/static/admin/index.html +1 -1
  62. fides/ui-build/static/admin/integrations/[id].html +1 -1
  63. fides/ui-build/static/admin/integrations.html +1 -1
  64. fides/ui-build/static/admin/lib/fides-ext-gpp.js +1 -1
  65. fides/ui-build/static/admin/lib/fides-headless.js +1 -1
  66. fides/ui-build/static/admin/lib/fides-preview.js +1 -1
  67. fides/ui-build/static/admin/lib/fides-tcf.js +3 -3
  68. fides/ui-build/static/admin/lib/fides.js +2 -2
  69. fides/ui-build/static/admin/login/[provider].html +1 -1
  70. fides/ui-build/static/admin/login.html +1 -1
  71. fides/ui-build/static/admin/messaging/[id].html +1 -1
  72. fides/ui-build/static/admin/messaging/add-template.html +1 -1
  73. fides/ui-build/static/admin/messaging.html +1 -1
  74. fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
  75. fides/ui-build/static/admin/privacy-requests/configure/messaging.html +1 -1
  76. fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
  77. fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
  78. fides/ui-build/static/admin/privacy-requests.html +1 -1
  79. fides/ui-build/static/admin/properties/[id].html +1 -1
  80. fides/ui-build/static/admin/properties/add-property.html +1 -1
  81. fides/ui-build/static/admin/properties.html +1 -1
  82. fides/ui-build/static/admin/reporting/datamap.html +1 -1
  83. fides/ui-build/static/admin/settings/about.html +1 -1
  84. fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
  85. fides/ui-build/static/admin/settings/consent.html +1 -1
  86. fides/ui-build/static/admin/settings/custom-fields.html +1 -1
  87. fides/ui-build/static/admin/settings/domain-records.html +1 -1
  88. fides/ui-build/static/admin/settings/domains.html +1 -1
  89. fides/ui-build/static/admin/settings/email-templates.html +1 -1
  90. fides/ui-build/static/admin/settings/locations.html +1 -1
  91. fides/ui-build/static/admin/settings/organization.html +1 -1
  92. fides/ui-build/static/admin/settings/regulations.html +1 -1
  93. fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
  94. fides/ui-build/static/admin/systems/configure/[id].html +1 -1
  95. fides/ui-build/static/admin/systems.html +1 -1
  96. fides/ui-build/static/admin/taxonomy.html +1 -1
  97. fides/ui-build/static/admin/user-management/new.html +1 -1
  98. fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
  99. fides/ui-build/static/admin/user-management.html +1 -1
  100. fides/ui-build/static/admin/_next/static/chunks/4481-c587763cfbc603c7.js +0 -1
  101. fides/ui-build/static/admin/_next/static/chunks/5973-6bb609a5771dfe2a.js +0 -1
  102. fides/ui-build/static/admin/_next/static/chunks/pages/integrations-750f32b5bd24542a.js +0 -1
  103. {ethyca_fides-2.60.2b0.dist-info → ethyca_fides-2.60.2b1.dist-info}/entry_points.txt +0 -0
  104. {ethyca_fides-2.60.2b0.dist-info → ethyca_fides-2.60.2b1.dist-info}/licenses/LICENSE +0 -0
  105. {ethyca_fides-2.60.2b0.dist-info → ethyca_fides-2.60.2b1.dist-info}/top_level.txt +0 -0
  106. /fides/ui-build/static/admin/_next/static/{WSibKOvTP1wQ2ioehb_pY → 41G5DqvxaeevMKeDa2GHI}/_ssgManifest.js +0 -0
  107. /fides/ui-build/static/admin/_next/static/chunks/{1100-574adc8f50f9ef3a.js → 1100-2cf394cd4471259e.js} +0 -0
  108. /fides/ui-build/static/admin/_next/static/chunks/{1904-3aa43570520790fc.js → 1904-f87496dea2581dc8.js} +0 -0
  109. /fides/ui-build/static/admin/_next/static/chunks/{2479-b91631f5e7ad58fe.js → 2479-d6501f8b9bca3d8b.js} +0 -0
  110. /fides/ui-build/static/admin/_next/static/chunks/{3503-f8b68879ea28e6ee.js → 3503-9cc9334d3a68f43e.js} +0 -0
  111. /fides/ui-build/static/admin/_next/static/chunks/{3505-a94b641168547225.js → 3505-be2b4bf19fc92dd1.js} +0 -0
  112. /fides/ui-build/static/admin/_next/static/chunks/{3513-bcef489f2c8e30e1.js → 3513-a67cbaea856db18b.js} +0 -0
  113. /fides/ui-build/static/admin/_next/static/chunks/{3855-cf98ef0345aa9cca.js → 3855-d3f97721e4660f01.js} +0 -0
  114. /fides/ui-build/static/admin/_next/static/chunks/{3872-7382a9d55bb94d53.js → 3872-df1ba49f1a04d709.js} +0 -0
  115. /fides/ui-build/static/admin/_next/static/chunks/{401-f18cd4739b98ce74.js → 401-54d252182b3e2ea7.js} +0 -0
  116. /fides/ui-build/static/admin/_next/static/chunks/{4060-891319185929d1ae.js → 4060-59e9be4a1470e956.js} +0 -0
  117. /fides/ui-build/static/admin/_next/static/chunks/{4121-6d5719d695f696ca.js → 4121-86ddc6a0c73b7287.js} +0 -0
  118. /fides/ui-build/static/admin/_next/static/chunks/{5487-1035279f9f4aaa81.js → 5487-4883ba29c664eb59.js} +0 -0
  119. /fides/ui-build/static/admin/_next/static/chunks/{5826-dbb96ab3cc360ed4.js → 5826-933b8ee2bb1f2127.js} +0 -0
  120. /fides/ui-build/static/admin/_next/static/chunks/{6277-70d615c50ac54e1d.js → 6277-4c913be9a3224d85.js} +0 -0
  121. /fides/ui-build/static/admin/_next/static/chunks/{6853-38e3fd5a7b1bde87.js → 6853-69b4ed278f795088.js} +0 -0
  122. /fides/ui-build/static/admin/_next/static/chunks/{69-5f2103ace46481d6.js → 69-1c5ef5d9bd62c647.js} +0 -0
  123. /fides/ui-build/static/admin/_next/static/chunks/{6954-92f362ffea739388.js → 6954-20fef944516137e9.js} +0 -0
  124. /fides/ui-build/static/admin/_next/static/chunks/{7751-b61c0979c4f5ba79.js → 7751-b18457156beb526c.js} +0 -0
  125. /fides/ui-build/static/admin/_next/static/chunks/{79-82c500f39db614d1.js → 79-2bfc1edf2768a8ca.js} +0 -0
  126. /fides/ui-build/static/admin/_next/static/chunks/{8934-5e141988ad7c1000.js → 8934-d721b469d866804f.js} +0 -0
  127. /fides/ui-build/static/admin/_next/static/chunks/{9327-1b672d64969cfafb.js → 9327-ff3bcfb81f5b13ff.js} +0 -0
  128. /fides/ui-build/static/admin/_next/static/chunks/{9572-235d37e0b7db0257.js → 9572-0d0f7ec92668289c.js} +0 -0
  129. /fides/ui-build/static/admin/_next/static/chunks/{9767-8d96e7f8fd72eadc.js → 9767-ef56c202c0aed26e.js} +0 -0
  130. /fides/ui-build/static/admin/_next/static/chunks/{9951-d8d18047e05b1df4.js → 9951-6858d7c48b6af193.js} +0 -0
  131. /fides/ui-build/static/admin/_next/static/chunks/{9965-4149f5bb9ccf2c54.js → 9965-5458a5e440196293.js} +0 -0
  132. /fides/ui-build/static/admin/_next/static/chunks/pages/{add-systems-72768fa90f31d936.js → add-systems-05ece3100a0c3419.js} +0 -0
  133. /fides/ui-build/static/admin/_next/static/chunks/pages/{ant-poc-4cad8b20c7fa422c.js → ant-poc-3a07457432d08020.js} +0 -0
  134. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-7d3f39e6207c0d4d.js → configure-07b20c42253721ed.js} +0 -0
  135. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-08bcc477fa5544b6.js → privacy-experience-0bede0bfe68670e8.js} +0 -0
  136. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-22693568fd342608.js → privacy-notices-71028bda4ba9bcf9.js} +0 -0
  137. /fides/ui-build/static/admin/_next/static/chunks/pages/consent/{reporting-c71f7e3ef8a3bdd4.js → reporting-bddf1524caf1eb17.js} +0 -0
  138. /fides/ui-build/static/admin/_next/static/chunks/pages/{consent-49cec8727ba462e1.js → consent-b2ccaff7cb5a7110.js} +0 -0
  139. /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-a637d57347ad4bd7.js → projects-e249f80191e95778.js} +0 -0
  140. /fides/ui-build/static/admin/_next/static/chunks/pages/{data-catalog-f416c61699380589.js → data-catalog-ce3633a6b06e55a9.js} +0 -0
  141. /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/[monitorId]/{[systemId]-d59f6f49d91c4166.js → [systemId]-e133a36e8a84f1eb.js} +0 -0
  142. /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/{[monitorId]-fc99be4f494946cf.js → [monitorId]-b13d724f5c018dbc.js} +0 -0
  143. /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{action-center-36e75ed0154c9d07.js → action-center-84842f32dfe1a457.js} +0 -0
  144. /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-aec2dd0d89d11c1f.js → activity-675069b1fc87e064.js} +0 -0
  145. /fides/ui-build/static/admin/_next/static/chunks/pages/{datamap-359ab1b6513a5329.js → datamap-b1b8a9c527c81aa2.js} +0 -0
  146. /fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{new-274b8cf0932e2741.js → new-0ab5d223bb086360.js} +0 -0
  147. /fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-9b3ab8de38e343b9.js → dataset-32a74faa36cd0e41.js} +0 -0
  148. /fides/ui-build/static/admin/_next/static/chunks/pages/{datastore-connection-3a196ef552fb5352.js → datastore-connection-d13440427c446de5.js} +0 -0
  149. /fides/ui-build/static/admin/_next/static/chunks/pages/{index-e5fa3ad65420815b.js → index-d996683a6be4989d.js} +0 -0
  150. /fides/ui-build/static/admin/_next/static/chunks/pages/{messaging-226fdc9ccf65bf88.js → messaging-ad70e91809840341.js} +0 -0
  151. /fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{[id]-f208ea9573f5d16f.js → [id]-5690e61a492ecfe7.js} +0 -0
  152. /fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{messaging-9103ff5824f10280.js → messaging-dc057b74178117ee.js} +0 -0
  153. /fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{storage-ccc8829fb8e6d889.js → storage-2377669c82a0ce70.js} +0 -0
  154. /fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-f0fcddade8258445.js → configure-2f5d74846a0d2fb6.js} +0 -0
  155. /fides/ui-build/static/admin/_next/static/chunks/pages/{privacy-requests-0cd0024113f958da.js → privacy-requests-cd6f3319866992d2.js} +0 -0
  156. /fides/ui-build/static/admin/_next/static/chunks/pages/reporting/{datamap-4aafe0b82fe05626.js → datamap-02bf6b4e43e0457d.js} +0 -0
  157. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{about-1b1273e9eb69ac45.js → about-5320dbda1705cf4c.js} +0 -0
  158. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{consent-60f6d15fa6c6b1af.js → consent-6af20633b9646c93.js} +0 -0
  159. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{custom-fields-298fa77e090bf7cb.js → custom-fields-42692f8a5fcae0b2.js} +0 -0
  160. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-3b59fd523eee38fc.js → domain-records-2161d4fd1f3fe54c.js} +0 -0
  161. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domains-1c1f4f775561e528.js → domains-7cbaa712ed7bd146.js} +0 -0
  162. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{email-templates-ebb37a1ae630931a.js → email-templates-e99dc55a7a48a208.js} +0 -0
  163. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-84f0c04250972998.js → locations-40bc52b108e6ab44.js} +0 -0
  164. /fides/ui-build/static/admin/_next/static/chunks/pages/settings/{organization-2fcbf2b113dce00c.js → organization-693223a45403713e.js} +0 -0
  165. /fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/{test-datasets-7bf0c1ff8d1d09cf.js → test-datasets-371665a915463095.js} +0 -0
  166. /fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-3a2a18084f89dc04.js → [id]-54a928ef67fa344f.js} +0 -0
  167. /fides/ui-build/static/admin/_next/static/chunks/pages/{systems-c921992c82514912.js → systems-22c29d7ee580c63f.js} +0 -0
  168. /fides/ui-build/static/admin/_next/static/chunks/pages/{taxonomy-07d26364d187c7c3.js → taxonomy-69d7eaf99cd157eb.js} +0 -0
@@ -0,0 +1,61 @@
1
+ """add okta to connection_types
2
+
3
+ Revision ID: d0cbfec0b2dd
4
+ Revises: c9c72b3d550b
5
+ Create Date: 2025-04-23 15:22:57.920715
6
+
7
+ """
8
+
9
+ import sqlalchemy as sa
10
+ from alembic import op
11
+ from sqlalchemy.dialects import postgresql
12
+
13
+ # revision identifiers, used by Alembic.
14
+ revision = "d0cbfec0b2dd"
15
+ down_revision = "c9c72b3d550b"
16
+ branch_labels = None
17
+ depends_on = None
18
+
19
+ type_to_handle = "okta"
20
+
21
+
22
+ def get_enum_values():
23
+ conn = op.get_bind()
24
+ result = conn.execute("SELECT unnest(enum_range(NULL::connectiontype))").fetchall()
25
+ return [row[0] for row in result]
26
+
27
+
28
+ def upgrade():
29
+ # add 'okta' to ConnectionType enum
30
+ enum_values = [f"'{value}'" for value in get_enum_values() + [type_to_handle]]
31
+ enum_values.sort() # Just to keep it fantastic
32
+
33
+ op.execute("ALTER TYPE connectiontype RENAME TO connectiontype_old")
34
+ op.execute(f"CREATE TYPE connectiontype AS ENUM ({', '.join(set(enum_values))})")
35
+ op.execute(
36
+ """
37
+ ALTER TABLE connectionconfig ALTER COLUMN connection_type TYPE connectiontype USING
38
+ connection_type::text::connectiontype
39
+ """
40
+ )
41
+ op.execute("DROP TYPE connectiontype_old")
42
+
43
+
44
+ def downgrade():
45
+ # Remove 'okta' from ConnectionType enum
46
+ enum_values = [f"'{v.strip()}'" for v in get_enum_values() if v != type_to_handle]
47
+ enum_values.sort() # Just to keep it fantastic
48
+
49
+ op.execute(
50
+ f"DELETE FROM connectionconfig WHERE connection_type IN ('{type_to_handle}')"
51
+ )
52
+ op.execute("ALTER TYPE connectiontype RENAME TO connectiontype_old")
53
+
54
+ op.execute(f"CREATE TYPE connectiontype AS ENUM ({', '.join(set(enum_values))})")
55
+ op.execute(
56
+ """
57
+ ALTER TABLE connectionconfig ALTER COLUMN connection_type TYPE connectiontype USING
58
+ connection_type::text::connectiontype
59
+ """
60
+ )
61
+ op.execute("DROP TYPE connectiontype_old")
@@ -57,6 +57,7 @@ class ConnectionType(enum.Enum):
57
57
  mongodb = "mongodb"
58
58
  mssql = "mssql"
59
59
  mysql = "mysql"
60
+ okta = "okta"
60
61
  postgres = "postgres"
61
62
  rds_mysql = "rds_mysql"
62
63
  rds_postgres = "rds_postgres"
@@ -92,6 +93,7 @@ class ConnectionType(enum.Enum):
92
93
  ConnectionType.mongodb.value: "MongoDB",
93
94
  ConnectionType.mssql.value: "Microsoft SQL Server",
94
95
  ConnectionType.mysql.value: "MySQL",
96
+ ConnectionType.okta.value: "Okta",
95
97
  ConnectionType.postgres.value: "PostgreSQL",
96
98
  ConnectionType.rds_mysql.value: "RDS MySQL",
97
99
  ConnectionType.rds_postgres.value: "RDS Postgres",
@@ -135,6 +137,7 @@ class ConnectionType(enum.Enum):
135
137
  ConnectionType.mongodb.value: SystemType.database,
136
138
  ConnectionType.mssql.value: SystemType.database,
137
139
  ConnectionType.mysql.value: SystemType.database,
140
+ ConnectionType.okta.value: SystemType.system,
138
141
  ConnectionType.postgres.value: SystemType.database,
139
142
  ConnectionType.rds_mysql.value: SystemType.database,
140
143
  ConnectionType.rds_postgres.value: SystemType.database,
@@ -92,6 +92,12 @@ from fides.api.schemas.connection_configuration.connection_secrets_mysql import
92
92
  from fides.api.schemas.connection_configuration.connection_secrets_mysql import (
93
93
  MySQLSchema as MySQLSchema,
94
94
  )
95
+ from fides.api.schemas.connection_configuration.connection_secrets_okta import (
96
+ OktaDocsSchema as OktaDocsSchema,
97
+ )
98
+ from fides.api.schemas.connection_configuration.connection_secrets_okta import (
99
+ OktaSchema as OktaSchema,
100
+ )
95
101
  from fides.api.schemas.connection_configuration.connection_secrets_postgres import (
96
102
  PostgreSQLDocsSchema as PostgreSQLDocsSchema,
97
103
  )
@@ -172,6 +178,7 @@ secrets_schemas: Dict[str, Any] = {
172
178
  ConnectionType.mariadb.value: MariaDBSchema,
173
179
  ConnectionType.mongodb.value: MongoDBSchema,
174
180
  ConnectionType.mssql.value: MicrosoftSQLServerSchema,
181
+ ConnectionType.okta.value: OktaSchema,
175
182
  ConnectionType.mysql.value: MySQLSchema,
176
183
  ConnectionType.postgres.value: PostgreSQLSchema,
177
184
  ConnectionType.rds_mysql.value: RDSMySQLSchema,
@@ -231,9 +238,10 @@ connection_secrets_schemas = Union[
231
238
  MongoDBDocsSchema,
232
239
  MSSQLDocsSchema,
233
240
  MySQLDocsSchema,
241
+ OktaDocsSchema,
242
+ PostgreSQLDocsSchema,
234
243
  RDSMySQLDocsSchema,
235
244
  RDSPostgresDocsSchema,
236
- PostgreSQLDocsSchema,
237
245
  RedshiftDocsSchema,
238
246
  S3DocsSchema,
239
247
  SaaSSchema,
@@ -0,0 +1,28 @@
1
+ from typing import ClassVar, List
2
+
3
+ from pydantic import Field
4
+
5
+ from fides.api.schemas.base_class import NoValidationSchema
6
+ from fides.api.schemas.connection_configuration.connection_secrets import (
7
+ ConnectionConfigSecretsSchema,
8
+ )
9
+
10
+
11
+ class OktaSchema(ConnectionConfigSecretsSchema):
12
+ """Schema to validate the secrets needed to connect to Okta"""
13
+
14
+ org_url: str = Field(
15
+ title="Organization URL",
16
+ description="The URL of your Okta organization (e.g. https://your-org.okta.com)",
17
+ )
18
+ api_token: str = Field(
19
+ title="API Token",
20
+ description="The API token used to authenticate with Okta",
21
+ json_schema_extra={"sensitive": True},
22
+ )
23
+
24
+ _required_components: ClassVar[List[str]] = ["org_url", "api_token"]
25
+
26
+
27
+ class OktaDocsSchema(OktaSchema, NoValidationSchema):
28
+ """Okta Secrets Schema for API Docs"""
@@ -7,4 +7,5 @@ class SystemType(Enum):
7
7
  email = "email"
8
8
  manual = "manual"
9
9
  saas = "saas"
10
+ system = "system"
10
11
  website = "website"
@@ -54,6 +54,7 @@ from fides.api.service.connectors.mongodb_connector import (
54
54
  from fides.api.service.connectors.mysql_connector import (
55
55
  MySQLConnector as MySQLConnector,
56
56
  )
57
+ from fides.api.service.connectors.okta_connector import OktaConnector as OktaConnector
57
58
  from fides.api.service.connectors.postgres_connector import (
58
59
  PostgreSQLConnector as PostgreSQLConnector,
59
60
  )
@@ -96,6 +97,7 @@ supported_connectors: Dict[str, Any] = {
96
97
  ConnectionType.mongodb.value: MongoDBConnector,
97
98
  ConnectionType.mssql.value: MicrosoftSQLServerConnector,
98
99
  ConnectionType.mysql.value: MySQLConnector,
100
+ ConnectionType.okta.value: OktaConnector,
99
101
  ConnectionType.postgres.value: PostgreSQLConnector,
100
102
  ConnectionType.rds_mysql.value: RDSMySQLConnector,
101
103
  ConnectionType.rds_postgres.value: RDSPostgresConnector,
@@ -0,0 +1,82 @@
1
+ from typing import Any, Dict, List, Optional
2
+
3
+ from okta.client import Client as OktaClient
4
+ from okta.exceptions import OktaAPIException
5
+
6
+ from fides.api.common_exceptions import ConnectionException
7
+ from fides.api.graph.execution import ExecutionNode
8
+ from fides.api.models.connectionconfig import ConnectionTestStatus
9
+ from fides.api.models.policy import Policy
10
+ from fides.api.models.privacy_request import PrivacyRequest, RequestTask
11
+ from fides.api.service.connectors.base_connector import BaseConnector
12
+ from fides.api.service.connectors.query_configs.query_config import QueryConfig
13
+ from fides.api.util.collection_util import Row
14
+
15
+
16
+ class OktaConnector(BaseConnector):
17
+ """
18
+ Okta connector for integrating with Okta's API.
19
+ This connector allows for user management and authentication operations.
20
+ """
21
+
22
+ @property
23
+ def dsr_supported(self) -> bool:
24
+ return False
25
+
26
+ def create_client(self) -> OktaClient:
27
+ """Creates and returns an Okta client instance"""
28
+ try:
29
+ return OktaClient(
30
+ {
31
+ "orgUrl": self.configuration.secrets["org_url"],
32
+ "token": self.configuration.secrets["api_token"],
33
+ }
34
+ )
35
+ except Exception as e:
36
+ raise ConnectionException(f"Failed to create Okta client: {str(e)}")
37
+
38
+ def query_config(self, node: ExecutionNode) -> QueryConfig[Any]:
39
+ """Return the query config that corresponds to this connector type"""
40
+ raise NotImplementedError("Query config not implemented for Okta")
41
+
42
+ def test_connection(self) -> Optional[ConnectionTestStatus]:
43
+ """
44
+ Validates the connection to Okta by attempting to list users.
45
+ """
46
+ try:
47
+ client = self.client()
48
+ # Try to list applications as a test of the connection
49
+ client.list_applications()
50
+ return ConnectionTestStatus.succeeded
51
+ except OktaAPIException as e:
52
+ raise ConnectionException(f"Failed to connect to Okta: {str(e)}")
53
+ except Exception as e:
54
+ raise ConnectionException(
55
+ f"Unexpected error testing Okta connection: {str(e)}"
56
+ )
57
+
58
+ def retrieve_data(
59
+ self,
60
+ node: ExecutionNode,
61
+ policy: Policy,
62
+ privacy_request: PrivacyRequest,
63
+ request_task: RequestTask,
64
+ input_data: Dict[str, List[Any]],
65
+ ) -> List[Row]:
66
+ """DSR execution not supported for Okta connector"""
67
+ return []
68
+
69
+ def mask_data(
70
+ self,
71
+ node: ExecutionNode,
72
+ policy: Policy,
73
+ privacy_request: PrivacyRequest,
74
+ request_task: RequestTask,
75
+ rows: List[Row],
76
+ ) -> int:
77
+ """DSR execution not supported for Okta connector"""
78
+ return 0
79
+
80
+ def close(self) -> None:
81
+ """Close any held resources"""
82
+ # No resources to close for Okta client
@@ -20,6 +20,9 @@ class WebsiteConnector(BaseConnector):
20
20
  NOTE: No DSR processing is supported for Website connectors.
21
21
  """
22
22
 
23
+ def dsr_supported(self) -> bool:
24
+ return False
25
+
23
26
  def create_client(self) -> Any: # type: ignore
24
27
  """Returns a client for the website"""
25
28
 
@@ -19,6 +19,7 @@ from fides.api.service.connectors import (
19
19
  MicrosoftSQLServerConnector,
20
20
  MongoDBConnector,
21
21
  MySQLConnector,
22
+ OktaConnector,
22
23
  PostgreSQLConnector,
23
24
  RedshiftConnector,
24
25
  SaaSConnector,
@@ -60,6 +61,8 @@ class Connections:
60
61
  return MongoDBConnector(connection_config)
61
62
  if connection_config.connection_type == ConnectionType.mysql:
62
63
  return MySQLConnector(connection_config)
64
+ if connection_config.connection_type == ConnectionType.okta:
65
+ return OktaConnector(connection_config)
63
66
  if connection_config.connection_type == ConnectionType.snowflake:
64
67
  return SnowflakeConnector(connection_config)
65
68
  if connection_config.connection_type == ConnectionType.redshift:
@@ -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-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>
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-e72a874012ab832d.js" defer=""></script><script src="/_next/static/chunks/pages/404-599d88e7bb11c133.js" defer=""></script><script src="/_next/static/41G5DqvxaeevMKeDa2GHI/_buildManifest.js" defer=""></script><script src="/_next/static/41G5DqvxaeevMKeDa2GHI/_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":"41G5DqvxaeevMKeDa2GHI","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
@@ -1 +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
+ self.__BUILD_MANIFEST=function(s,e,t,a,c,n,i,d,o,r,u,g,p,f,b,j,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-d996683a6be4989d.js"],"/404":["static/chunks/pages/404-599d88e7bb11c133.js"],"/_error":["static/chunks/pages/_error-bede3a8288930dcf.js"],"/add-systems":[U,"static/chunks/pages/add-systems-05ece3100a0c3419.js"],"/add-systems/manual":[s,e,a,c,n,b,t,r,j,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-3a07457432d08020.js"],"/consent":["static/chunks/pages/consent-b2ccaff7cb5a7110.js"],"/consent/configure":[s,e,t,r,y,"static/chunks/pages/consent/configure-07b20c42253721ed.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,b,t,x,"static/chunks/pages/consent/privacy-experience-0bede0bfe68670e8.js"],"/consent/privacy-experience/new":[a,c,g,N,d,k,B,"static/chunks/pages/consent/privacy-experience/new-7f38473ce267348a.js"],"/consent/privacy-experience/[id]":[a,c,g,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-71028bda4ba9bcf9.js"],"/consent/privacy-notices/new":[a,c,g,F,d,k,z,"static/chunks/pages/consent/privacy-notices/new-79c27e52c8c8f621.js"],"/consent/privacy-notices/[id]":[a,c,g,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-bddf1524caf1eb17.js"],"/data-catalog":[s,e,a,c,n,t,"static/css/95ac327e5d70148d.css","static/chunks/pages/data-catalog-ce3633a6b06e55a9.js"],"/data-catalog/[systemId]/projects":[s,e,a,c,n,t,p,l,i,"static/chunks/pages/data-catalog/[systemId]/projects-e249f80191e95778.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,p,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,p,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-84842f32dfe1a457.js"],"/data-discovery/action-center/[monitorId]":[s,e,a,c,n,t,o,"static/chunks/pages/data-discovery/action-center/[monitorId]-b13d724f5c018dbc.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]-e133a36e8a84f1eb.js"],"/data-discovery/activity":[s,e,t,"static/chunks/pages/data-discovery/activity-675069b1fc87e064.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,p,h,M,i,"static/chunks/pages/data-discovery/discovery-ad077f30849fdc0a.js"],"/data-discovery/discovery/[resourceUrn]":[s,e,a,c,n,t,o,p,h,M,i,"static/chunks/pages/data-discovery/discovery/[resourceUrn]-2569551ae75ea5a2.js"],"/datamap":[s,e,"static/chunks/255-7db55b0e3a0f9dea.js",t,j,S,"static/chunks/pages/datamap-b1b8a9c527c81aa2.js"],"/dataset":[s,e,u,t,f,"static/chunks/pages/dataset-32a74faa36cd0e41.js"],"/dataset/new":[u,f,"static/chunks/pages/dataset/new-0ab5d223bb086360.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-d13440427c446de5.js"],"/datastore-connection/new":[u,b,f,T,"static/chunks/pages/datastore-connection/new-fc637b767513d3fb.js"],"/datastore-connection/[id]":[u,f,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-225715668d4cf4c4.js"],"/integrations/[id]":[s,e,a,c,n,t,P,"static/css/92c81f666644c594.css","static/chunks/pages/integrations/[id]-edfa3f23be117915.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-ad70e91809840341.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-cd6f3319866992d2.js"],"/privacy-requests/configure":["static/chunks/pages/privacy-requests/configure-2f5d74846a0d2fb6.js"],"/privacy-requests/configure/messaging":["static/chunks/pages/privacy-requests/configure/messaging-dc057b74178117ee.js"],"/privacy-requests/configure/storage":["static/chunks/pages/privacy-requests/configure/storage-2377669c82a0ce70.js"],"/privacy-requests/[id]":[a,c,n,H,"static/css/b89fc4b36b501cf6.css","static/chunks/pages/privacy-requests/[id]-5690e61a492ecfe7.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,j,S,"static/chunks/pages/reporting/datamap-02bf6b4e43e0457d.js"],"/settings/about":["static/chunks/pages/settings/about-5320dbda1705cf4c.js"],"/settings/consent":["static/chunks/pages/settings/consent-6af20633b9646c93.js"],"/settings/consent/[configuration_id]/[purpose_id]":[s,e,t,"static/chunks/pages/settings/consent/[configuration_id]/[purpose_id]-37b2b8def129b56e.js"],"/settings/custom-fields":[s,e,t,"static/chunks/pages/settings/custom-fields-42692f8a5fcae0b2.js"],"/settings/domain-records":[s,e,t,"static/chunks/pages/settings/domain-records-2161d4fd1f3fe54c.js"],"/settings/domains":["static/chunks/pages/settings/domains-7cbaa712ed7bd146.js"],"/settings/email-templates":["static/chunks/pages/settings/email-templates-e99dc55a7a48a208.js"],"/settings/locations":[s,K,"static/chunks/pages/settings/locations-40bc52b108e6ab44.js"],"/settings/organization":["static/chunks/pages/settings/organization-693223a45403713e.js"],"/settings/regulations":[s,K,"static/chunks/pages/settings/regulations-259d0c058065e14d.js"],"/systems":[s,e,t,"static/chunks/pages/systems-22c29d7ee580c63f.js"],"/systems/configure/[id]":[s,e,a,c,n,b,t,o,r,j,m,w,i,"static/chunks/pages/systems/configure/[id]-54a928ef67fa344f.js"],"/systems/configure/[id]/test-datasets":[u,f,"static/chunks/pages/systems/configure/[id]/test-datasets-371665a915463095.js"],"/taxonomy":["static/chunks/678d4732-50255cc09048e643.js",a,c,n,g,"static/chunks/570-c99f07161bd339cd.js","static/css/34a7eb08b86ddb57.css","static/chunks/pages/taxonomy-69d7eaf99cd157eb.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-07b76ecbabb5b27c.js","static/chunks/2858-0b44609b6be7850b.js","static/chunks/2866-a73888c17a195cbe.js","static/chunks/9278-9b1b5970f0702668.js","static/css/d2d4e9a6923e6730.css","static/chunks/69-1c5ef5d9bd62c647.js","static/chunks/9719-f411ae7eaf9ca1e8.js","static/chunks/401-54d252182b3e2ea7.js","static/chunks/6527-0eed08abe252a918.js","static/chunks/4294-5b3aa9d605217915.js","static/chunks/6372-a91f7f83fd6d2fd2.js","static/chunks/9327-ff3bcfb81f5b13ff.js","static/chunks/5277-e8a036319456127f.js","static/chunks/9951-6858d7c48b6af193.js","static/chunks/6277-4c913be9a3224d85.js","static/chunks/3702-95692cf4ec13e698.js","static/chunks/3503-9cc9334d3a68f43e.js","static/chunks/8934-d721b469d866804f.js","static/chunks/7751-b18457156beb526c.js","static/chunks/5487-4883ba29c664eb59.js","static/chunks/8702-d1c8296f9f6afc10.js","static/chunks/3513-a67cbaea856db18b.js","static/css/972dc7eef106ee7c.css","static/chunks/9965-5458a5e440196293.js","static/chunks/5826-933b8ee2bb1f2127.js","static/chunks/6853-69b4ed278f795088.js","static/chunks/9014-eeae6f581158e645.js","static/chunks/1817-ee8d8da2ea918cb2.js","static/chunks/3615-5e2d062d684b8fa1.js","static/chunks/6954-20fef944516137e9.js","static/chunks/79-2bfc1edf2768a8ca.js","static/chunks/3872-df1ba49f1a04d709.js","static/chunks/3855-d3f97721e4660f01.js","static/chunks/2479-d6501f8b9bca3d8b.js","static/chunks/1904-f87496dea2581dc8.js","static/chunks/9572-0d0f7ec92668289c.js","static/chunks/9767-ef56c202c0aed26e.js","static/chunks/9187-851756440f79cd75.js","static/chunks/5973-3cd839e76636a62e.js","static/chunks/1100-2cf394cd4471259e.js","static/chunks/8433-8d6487450daa5dcf.js","static/chunks/4060-59e9be4a1470e956.js","static/chunks/3505-be2b4bf19fc92dd1.js","static/chunks/4121-86ddc6a0c73b7287.js"),self.__BUILD_MANIFEST_CB&&self.__BUILD_MANIFEST_CB();
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4481],{26917:function(e,t,n){var l=n(24246),o=n(91942);t.Z=e=>{let{onChange:t,withIcon:n,onClear:i,placeholder:r,...s}=e;return(0,l.jsxs)(o.vyj.Compact,{className:"w-96","data-testid":"search-bar",children:[(0,l.jsx)(o.uFc,{autoComplete:"off",onChange:e=>t(e.target.value),placeholder:r||"Search...",prefix:n?(0,l.jsx)(o.PTu,{boxSize:4}):void 0,...s}),i?(0,l.jsx)(o.wpx,{onClick:i,children:"Clear"}):null]})}},812:function(e,t,n){n.d(t,{D4:function(){return i.D4},MM:function(){return g},Ot:function(){return c},c6:function(){return o},cj:function(){return h},e$:function(){return s},fn:function(){return a},iC:function(){return x},nU:function(){return u},tB:function(){return d}});var l,o,i=n(19043);let r="An unexpected error occurred. Please try again.",s=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:r;if((0,i.Bw)(e)){if((0,i.hE)(e.data))return e.data.detail;if((0,i.cz)(e.data)){var n;let t=null===(n=e.data.detail)||void 0===n?void 0:n[0];return"".concat(null==t?void 0:t.msg,": ").concat(null==t?void 0:t.loc)}if(409===e.status&&(0,i.Dy)(e.data)||404===e.status&&(0,i.XD)(e.data))return"".concat(e.data.detail.error," (").concat(e.data.detail.fides_key,")")}return t};function a(e){return"object"==typeof e&&null!=e&&"status"in e}function c(e){return"object"==typeof e&&null!=e&&"data"in e&&"string"==typeof e.data.detail}function d(e){return"object"==typeof e&&null!=e&&"data"in e&&Array.isArray(e.data.detail)}let u=function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{status:500,message:r};if((0,i.oK)(e))return{status:e.originalStatus,message:e.data};if((0,i.Bw)(e)){let{status:n}=e;return{status:n,message:s(e,t.message)}}return t},g=e=>Object.entries(e).map(e=>({value:e[1],label:e[1]}));(l=o||(o={})).GVL="gvl",l.AC="gacp",l.COMPASS="compass";let x={gvl:{label:"GVL",fullName:"Global Vendor List"},gacp:{label:"AC",fullName:"Google Additional Consent List"},compass:{label:"",fullName:""}},h=e=>{let t=e.split(".")[0];return"gacp"===t?"gacp":"gvl"===t?"gvl":"compass"}},71795:function(e,t,n){n.d(t,{_:function(){return o}});var l=n(27378);function o(e,t){let[n,o]=(0,l.useState)(()=>{if(!e)return t;try{let n=window.localStorage.getItem(e);return n?JSON.parse(n):t}catch(e){return console.error(e),t}});return[n,t=>{try{let l=t instanceof Function?t(n):t;o(l),e&&window.localStorage.setItem(e,JSON.stringify(l))}catch(e){console.error(e)}}]}},58452:function(e,t,n){var l=n(24246),o=n(91942);t.Z=e=>{let{isOpen:t,onClose:n,onConfirm:i,onCancel:r,title:s,message:a,cancelButtonText:c,continueButtonText:d,isLoading:u,returnFocusOnClose:g,isCentered:x,testId:h="confirmation-modal",icon:m}=e;return(0,l.jsxs)(o.u_l,{isOpen:t,onClose:n,size:"lg",returnFocusOnClose:null==g||g,isCentered:x,children:[(0,l.jsx)(o.ZAr,{}),(0,l.jsxs)(o.hzk,{textAlign:"center",p:6,"data-testid":h,children:[m?(0,l.jsx)(o.M5Y,{mb:2,children:m}):null,s?(0,l.jsx)(o.xBx,{fontWeight:"medium",pb:0,children:s}):null,a?(0,l.jsx)(o.fef,{children:a}):null,(0,l.jsx)(o.mzw,{children:(0,l.jsxs)(o.MIq,{columns:2,width:"100%",children:[(0,l.jsx)(o.wpx,{onClick:()=>{r&&r(),n()},size:"large",className:"mr-3","data-testid":"cancel-btn",disabled:u,children:c||"Cancel"}),(0,l.jsx)(o.wpx,{type:"primary",size:"large",onClick:i,"data-testid":"continue-btn",loading:u,children:d||"Continue"})]})})]})]})}},42904:function(e,t,n){n.d(t,{W3:function(){return r},bX:function(){return s},oi:function(){return a},s8:function(){return c}});var l=n(24246),o=n(91942),i=n(27378);let r=[25,50,100],s=e=>{let t=e.getFilteredRowModel().rows.length,{pageIndex:n}=e.getState().pagination,{pageSize:l}=e.getState().pagination,o=e.previousPage,i=!e.getCanPreviousPage(),r=e.nextPage,s=!e.getCanNextPage(),{setPageSize:a}=e;return{totalRows:t,onPreviousPageClick:o,isPreviousPageDisabled:i,onNextPageClick:r,isNextPageDisabled:s,setPageSize:a,startRange:n*l==0?1:n*l,endRange:n*l+l}},a=()=>{let e,t;let[n,l]=(0,i.useState)(r[0]),[o,s]=(0,i.useState)(1),[a,c]=(0,i.useState)(1),d=(0,i.useCallback)(()=>{s(e=>e-1)},[s]),u=(0,i.useMemo)(()=>1===o,[o]),g=(0,i.useCallback)(()=>{s(e=>e+1)},[s]),x=(0,i.useMemo)(()=>{let e=!a,t=!!a&&o===a;return e||t},[o,a]);if(a){let l=(o-1)*n;e=l+1,t=l+n}else e=0,t=0;let h=(0,i.useCallback)(()=>{s(1)},[]);return{onPreviousPageClick:d,isPreviousPageDisabled:u,onNextPageClick:g,isNextPageDisabled:x,pageSize:n,setPageSize:e=>{l(e),h()},PAGE_SIZES:r,startRange:e,endRange:t,pageIndex:o,resetPageIndexToDefault:h,setTotalPages:c}},c=e=>{let{pageSizes:t,totalRows:n,onPreviousPageClick:i,isPreviousPageDisabled:r,onNextPageClick:s,isNextPageDisabled:a,setPageSize:c,startRange:d,endRange:u}=e;return(0,l.jsxs)(o.Ugi,{ml:1,mt:3,mb:1,children:[(0,l.jsxs)(o.v2r,{children:[(0,l.jsx)(o.j2t,{as:o.wpx,size:"small","data-testid":"pagination-btn",children:(0,l.jsxs)(o.xvT,{fontSize:"xs",lineHeight:4,fontWeight:"semibold",userSelect:"none",style:{fontVariantNumeric:"tabular-nums"},children:[d.toLocaleString("en"),"-",u<=n?u.toLocaleString("en"):n.toLocaleString("en")," ","of ",n.toLocaleString("en")]})}),(0,l.jsx)(o.qyq,{minWidth:"0",children:t.map(e=>(0,l.jsxs)(o.sNh,{onClick:()=>{c(e)},"data-testid":"pageSize-".concat(e),fontSize:"xs",children:[e," per view"]},e))})]}),(0,l.jsx)(o.wpx,{icon:(0,l.jsx)(o.wyc,{}),size:"small","aria-label":"previous page",onClick:i,disabled:r}),(0,l.jsx)(o.wpx,{icon:(0,l.jsx)(o.XCv,{}),size:"small","aria-label":"next page",onClick:s,disabled:a})]})}},72625:function(e,t,n){n.d(t,{A4:function(){return v},CI:function(){return j},Cy:function(){return p},G3:function(){return m},Hm:function(){return k},Rr:function(){return y},S1:function(){return z},WP:function(){return w},k:function(){return S},mb:function(){return b},tc:function(){return C},vs:function(){return W}});var l=n(24246),o=n(7195),i=n(91942),r=n(34090),s=n(3819),a=n.n(s),c=n(27378),d=n(812),u=n(58452),g=n(46628),x=n(16394),h=n(46238);let m=e=>{var t,n;let{value:o,cellProps:r,...s}=e,c=!!(null==r?void 0:null===(t=r.cell.column.columnDef.meta)||void 0===t?void 0:t.showHeaderMenu)&&!!(null==r?void 0:null===(n=r.cellState)||void 0===n?void 0:n.isExpanded);return(0,l.jsx)(i.xvT,{fontSize:"xs",lineHeight:4,py:1.5,fontWeight:"normal",textOverflow:"ellipsis",overflow:c?void 0:"hidden",whiteSpace:c?"normal":void 0,title:c&&o?void 0:null==o?void 0:o.toString(),...s,children:a()(o)?o.toString():o})},p=e=>{let{time:t}=e;if(!t)return(0,l.jsx)(m,{value:"N/A"});let n=(0,o.B)(new Date(t),new Date,{addSuffix:!0}),r=(0,x.p6)(new Date(t));return(0,l.jsx)(i.kCb,{alignItems:"center",height:"100%",children:(0,l.jsx)(i.esZ,{title:r,children:(0,l.jsx)(i.xvT,{fontSize:"xs",lineHeight:4,fontWeight:"normal",overflow:"hidden",textOverflow:"ellipsis",children:(0,x.G8)(n)})})})},f=e=>{let{children:t,...n}=e;return(0,l.jsx)(i.kCb,{alignItems:"center",height:"100%",mr:2,overflow:"auto",...n,children:t})},v=e=>{let{value:t,suffix:n,...o}=e;return(0,l.jsx)(f,{children:(0,l.jsxs)(i.j8w,{...o,children:[t,n]})})},j=e=>{let{count:t,singSuffix:n,plSuffix:o,...r}=e,s=null;return s=1===t?(0,l.jsxs)(i.j8w,{...r,children:[t,n?" ".concat(n):null]}):(0,l.jsxs)(i.j8w,{...r,children:[t,o?" ".concat(o):null]}),(0,l.jsx)(f,{children:s})},b=e=>{let{values:t,cellProps:n,...o}=e,{isExpanded:r,isWrapped:s,version:a}=(null==n?void 0:n.cellState)||{},[d,u]=(0,c.useState)(!r),[g,x]=(0,c.useState)(!!s),[h,m]=(0,c.useState)(r?t:null==t?void 0:t.slice(0,2));return(0,c.useEffect)(()=>{u(!r)},[r,a]),(0,c.useEffect)(()=>{x(!!s)},[s]),(0,c.useEffect)(()=>{(null==t?void 0:t.length)&&m(d?t.slice(0,2):t)},[d,t]),(0,c.useMemo)(()=>(null==h?void 0:h.length)?(0,l.jsxs)(i.kCb,{alignItems:d?"center":"flex-start",flexDirection:d||g?"row":"column",flexWrap:g?"wrap":"nowrap",gap:1.5,pt:2,pb:2,overflowX:"auto",onClick:e=>{d||(e.stopPropagation(),u(!0))},cursor:d?void 0:"pointer",children:[h.map(e=>(0,l.jsx)(i.j8w,{color:"white","data-testid":e.key,...o,children:e.label},e.key)),d&&t&&t.length>2&&(0,l.jsxs)(i.wpx,{type:"link",size:"small",onClick:()=>u(!1),className:"text-xs font-normal",children:["+",t.length-2," more"]})]}):null,[h,d,g,t,o])},C=e=>{let{values:t,valueSuffix:n,cellProps:o}=e,{isExpanded:r,version:s}=(null==o?void 0:o.cellState)||{},[a,d]=(0,c.useState)(!r);return(0,c.useEffect)(()=>{d(!r)},[r,s]),(0,c.useMemo)(()=>(null==t?void 0:t.length)?1===t.length?(0,l.jsx)(i.xvT,{fontSize:"xs",lineHeight:4,fontWeight:"normal",textOverflow:"ellipsis",overflow:"hidden",children:t[0]}):(0,l.jsxs)(i.kCb,{flexDirection:"row",alignItems:"center",gap:1,pt:2,pb:2,onClick:e=>{a||(e.stopPropagation(),d(!0))},cursor:a?void 0:"pointer",children:[a&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(i.xvT,{fontSize:"xs",lineHeight:4,fontWeight:"normal",children:[t.length," ",n]}),(0,l.jsx)(i.wpx,{type:"link",size:"small",onClick:()=>d(!1),className:"text-xs font-normal",children:"View"})]}),!a&&(0,l.jsx)(i.aVo,{overflow:"hidden",children:t.map(e=>(0,l.jsx)(i.HCh,{fontSize:"xs",lineHeight:4,listStyleType:"none",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",children:e},e))})]}):null,[a,t,n])},w=e=>{let{value:t,suffix:n,cellState:o,ignoreZero:r,tagProps:s}=e,a=null;return t?(a=Array.isArray(t)?1===t.length?(0,l.jsx)(i.j8w,{...s,children:t}):(null==o?void 0:o.isExpanded)&&t.length>0?t.map((e,t)=>(0,l.jsx)(i.j8w,{...s,children:e},(null==e?void 0:e.toString())||t)):(0,l.jsxs)(i.j8w,{...s,children:[t.length,n?" ".concat(n):null]}):(0,l.jsx)(i.j8w,{...s,children:t}),(0,l.jsx)(i.kCb,{alignItems:"center",height:"100%",gap:2,overflowX:"hidden",children:a})):r?null:(0,l.jsxs)(i.j8w,{...s,children:["0",n?" ".concat(n):""]})},S=e=>{let{dataTestId:t,...n}=e;return(0,l.jsx)(i.kCb,{alignItems:"center",justifyContent:"center",onClick:e=>e.stopPropagation(),children:(0,l.jsx)(i.XZJ,{"data-testid":t||void 0,...n})})},y=e=>{let{value:t,...n}=e;return(0,l.jsx)(i.xvT,{fontSize:"xs",lineHeight:9,fontWeight:"medium",flex:1,...n,children:t})},k=e=>{let{value:t,defaultValue:n,isEditing:o,...s}=e,a=s.column.columnDef.id||"",{submitForm:c}=(0,r.u6)();return o?(0,l.jsx)(r.Rt,{name:a,as:i.uFc,maxLength:80,placeholder:n,"aria-label":"Edit column name",size:"small","data-testid":"column-".concat(a,"-input"),onPressEnter:c}):(0,l.jsx)(y,{value:t,...s})},z=e=>{let{enabled:t,onToggle:n,title:o,message:r,isDisabled:s,...a}=e,c=(0,i.qY0)(),x=(0,i.pmc)(),h=async e=>{let{enable:t}=e,l=await n(t);(0,d.D4)(l)&&x((0,g.Vo)((0,d.e$)(l.error)))},m=async e=>{e?await h({enable:!0}):c.onOpen()};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(i.rAg,{checked:t,onChange:m,disabled:s,"data-testid":"toggle-switch",...a}),(0,l.jsx)(u.Z,{isOpen:c.isOpen,onClose:c.onClose,onConfirm:()=>{h({enable:!1}),c.onClose()},title:o,message:(0,l.jsx)(i.xvT,{color:"gray.500",children:r}),continueButtonText:"Confirm",isCentered:!0,icon:(0,l.jsx)(i.aNP,{color:"orange.100"})})]})},W=e=>{let{value:t,helperText:n,...o}=e;return(0,l.jsxs)(i.kCb,{alignItems:"center",gap:1,...o,children:[(0,l.jsx)(i.xvT,{fontSize:"xs",lineHeight:9,fontWeight:"medium",children:t}),(0,l.jsx)(h.b,{label:n})]})}},14481:function(e,t,n){n.d(t,{A4:function(){return l.A4},CI:function(){return l.CI},F1:function(){return p},G3:function(){return l.G3},Rr:function(){return l.Rr},vr:function(){return R},ZK:function(){return W},HO:function(){return D},WP:function(){return l.WP},k:function(){return l.k},W3:function(){return A.W3},s8:function(){return A.s8},AA:function(){return _},Q$:function(){return H},I4:function(){return P},bX:function(){return A.bX},oi:function(){return A.oi}});var l=n(72625),o=n(24246),i=n(91942),r=n(27378),s=n(43862),a=n(65201),c=n(75383),d=n(52202);let u="DraggableColumnListItem",g=e=>{let{id:t,index:n,moveColumn:l,setColumnVisible:o}=e,i=(0,r.useRef)(null),[{handlerId:s},a]=(0,c.L)({accept:u,collect:e=>({handlerId:e.getHandlerId()}),hover(e,t){var o;if(!i.current)return;let r=e.index;if(r===n)return;let s=null===(o=i.current)||void 0===o?void 0:o.getBoundingClientRect(),a=(s.bottom-s.top)/2,c=t.getClientOffset().y-s.top;r<n&&c<a||r>n&&c>a||(l(r,n),Object.assign(e,{index:n}))}}),[{isDragging:g},x,h]=(0,d.c)({type:u,item:()=>({id:t,index:n}),collect:e=>({isDragging:!!e.isDragging()})});return x(a(i)),{isDragging:g,ref:i,handlerId:s,preview:h,handleColumnVisibleToggle:e=>{o(n,e)}}},x=e=>{let{id:t,index:n,isVisible:l,moveColumn:r,setColumnVisible:s,text:a}=e,{ref:c,isDragging:d,handlerId:u,preview:x,handleColumnVisibleToggle:h}=g({index:n,id:t,moveColumn:r,setColumnVisible:s});return(0,o.jsxs)(i.HCh,{alignItems:"center",display:"flex",minWidth:0,ref:e=>{x(e)},"data-handler-id":u,opacity:d?.2:1,"data-testid":"column-list-item-".concat(t),children:[(0,o.jsx)(i.xuv,{ref:c,cursor:d?"grabbing":"grab","data-testid":"column-dragger-".concat(t),children:(0,o.jsx)(i.DE2,{as:i.zGR,color:"gray.300",flexShrink:0,height:"20px",width:"20px",_hover:{color:"gray.700"}})}),(0,o.jsxs)(i.NIc,{alignItems:"center",display:"flex",minWidth:0,title:a,children:[(0,o.jsx)(i.lXp,{color:"gray.700",fontSize:"normal",fontWeight:400,htmlFor:"".concat(t),mb:"0",minWidth:0,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",flexGrow:1,children:a}),(0,o.jsx)(i.rAg,{id:"".concat(t),checked:l,onChange:h})]})]})},h=e=>{let{columns:t}=e,[n,l]=(0,r.useState)(null!=t?t:[]);return(0,r.useEffect)(()=>{l((null==t?void 0:t.map(e=>({...e})))||[])},[t]),{columns:n,moveColumn:(0,r.useCallback)((e,t)=>{l(n=>(0,a.ZP)(n,n=>{let l=n[e];n.splice(e,1),n.splice(t,0,l)}))},[]),setColumnVisible:(0,r.useCallback)((e,t)=>{l(n=>(0,a.ZP)(n,n=>{n[e]&&(n[e].isVisible=t)}))},[])}},m=e=>{let{columns:t,columnEditor:n}=e;return(0,o.jsx)(i.aVo,{spacing:4,children:t.map((e,t)=>(0,o.jsx)(x,{id:e.id,index:t,isVisible:e.isVisible,moveColumn:n.moveColumn,setColumnVisible:n.setColumnVisible,text:e.displayText},e.id))})},p=e=>{let{isOpen:t,onClose:n,headerText:l,tableInstance:a,columnNameMap:c,prefixColumns:d,savedCustomReportId:u,onColumnOrderChange:g,onColumnVisibilityChange:x}=e,p=h({columns:(0,r.useMemo)(()=>a.getAllColumns().filter(e=>!d.includes(e.id)).map(e=>{var t;return{id:e.id,displayText:(0,s.AH)({columnNameMap:c,columnId:e.id}),isVisible:null!==(t=a.getState().columnVisibility[e.id])&&void 0!==t?t:e.getIsVisible()}}).sort((e,t)=>{let{columnOrder:n}=a.getState(),l=n.indexOf(e.id),o=n.indexOf(t.id);return -1===l&&-1===o?0:-1===l?1:-1===o?-1:l-o}),[u,c])}),f=(0,r.useCallback)(()=>{let e=[...d,...p.columns.map(e=>e.id)],t=p.columns.reduce((e,t)=>(e[t.id]=t.isVisible,e),{});g(e),x(t),n()},[n,d,p.columns,g,x]);return(0,o.jsxs)(i.u_l,{isOpen:t,onClose:n,isCentered:!0,size:"2xl",children:[(0,o.jsx)(i.ZAr,{}),(0,o.jsxs)(i.hzk,{children:[(0,o.jsx)(i.xBx,{pb:0,children:l}),(0,o.jsx)(i.olH,{"data-testid":"column-settings-close-button"}),(0,o.jsxs)(i.fef,{children:[(0,o.jsx)(i.xvT,{fontSize:"sm",color:"gray.500",mb:2,children:"You can toggle columns on and off to hide or show them in the table. Additionally, you can drag columns up or down to change the order"}),(0,o.jsxs)(i.mQc,{colorScheme:"complimentary",children:[(0,o.jsx)(i.tdY,{children:(0,o.jsx)(i.OK9,{color:"complimentary.500",children:"Columns"})}),(0,o.jsx)(i.nPR,{children:(0,o.jsx)(i.x45,{p:0,pt:4,maxHeight:"270px",overflowY:"scroll",children:(0,o.jsx)(m,{columns:p.columns,columnEditor:p})})})]})]}),(0,o.jsx)(i.mzw,{children:(0,o.jsxs)(i.xuv,{display:"flex",justifyContent:"space-between",width:"100%",children:[(0,o.jsx)(i.wpx,{onClick:n,className:"mr-3 grow",children:"Cancel"}),(0,o.jsx)(i.wpx,{onClick:f,type:"primary",className:"grow","data-testid":"save-button",children:"Save"})]})})]})]})};var f=n(59003),v=n(71795),j=n(14048);let b=e=>{var t,n,l,r,a,c,d,u;let g,{cell:x,onRowClick:h,cellState:m}=e,p=x.getContext().table.getState().grouping.length>0,v=p?x.getContext().table.getState().grouping[0]:void 0,j=x.column.id===v,b=!1,C=!1,w=!1,S=x.getContext().table.getRowModel().rows.filter(e=>!e.id.includes(":")),y=S[0].id===x.row.id,k=S[S.length-1].id===x.row.id;if(x.getValue()&&j){let e=x.getContext().table.getRow("".concat(x.column.id,":").concat(x.getValue()));w=1===e.subRows.length,b=e.subRows[0].id===x.row.id,C=e.subRows[e.subRows.length-1].id===x.row.id}let z=(!j||b)&&!!(null===(t=x.column.columnDef.meta)||void 0===t?void 0:t.onCellClick);return(null===(n=x.column.columnDef.meta)||void 0===n?void 0:n.disableRowClick)||!h?z&&(g=()=>{var e,t;null===(t=x.column.columnDef.meta)||void 0===t||null===(e=t.onCellClick)||void 0===e||e.call(t,x.row.original)}):g=e=>{h(x.row.original,e)},(0,o.jsx)(i.Td,{width:(null===(l=x.column.columnDef.meta)||void 0===l?void 0:l.width)?x.column.columnDef.meta.width:"unset",overflow:(null===(r=x.column.columnDef.meta)||void 0===r?void 0:r.overflow)?null===(a=x.column.columnDef.meta)||void 0===a?void 0:a.overflow:"auto",borderBottomWidth:k||j?"0px":"1px",borderBottomColor:"gray.200",borderRightWidth:"1px",borderRightColor:"gray.200",sx:{article:{borderTopWidth:"2x",borderTopColor:"red"},...(0,s.J9)("select"===x.column.id||(null===(c=x.column.columnDef.meta)||void 0===c?void 0:c.noPadding)),maxWidth:"calc(var(--col-".concat(x.column.id,"-size) * 1px)"),minWidth:"calc(var(--col-".concat(x.column.id,"-size) * 1px)"),"&:hover":{backgroundColor:z?"gray.50":void 0,cursor:z?"pointer":void 0}},_hover:!h||(null===(d=x.column.columnDef.meta)||void 0===d?void 0:d.disableRowClick)?void 0:{cursor:"pointer"},_first:{borderBottomWidth:(p||k)&&(!C||y||k)&&(!b||!w||k)?"0px":"1px"},_last:{borderRightWidth:0},height:"inherit",onClick:g,"data-testid":"row-".concat(x.row.id,"-col-").concat(x.column.id),...null===(u=x.column.columnDef.meta)||void 0===u?void 0:u.cellProps,children:!x.getIsPlaceholder()||b?(0,f.ie)(x.column.columnDef.cell,{...x.getContext(),cellState:m}):null})},C=e=>{let{row:t,renderRowTooltipLabel:n,onRowClick:l,expandedColumns:r,wrappedColumns:a}=e;if(t.getIsGrouped())return null;let c=(0,o.jsx)(i.Tr,{height:"36px",_hover:l?{backgroundColor:"gray.50"}:void 0,"data-testid":"row-".concat(t.id),backgroundColor:t.getCanSelect()?void 0:"gray.50",children:t.getVisibleCells().map(e=>{let t=(0,s.tt)(e.column.id,r),n={isExpanded:!!t&&t>0,isWrapped:!!a.find(t=>t===e.column.id),version:t};return(0,o.jsx)(b,{cell:e,onRowClick:l,cellState:n},e.id)})},t.id);return n?(0,o.jsx)(i.esZ,{title:n?n(t):void 0,placement:"top",children:c}):c},w={asc:{icon:(0,o.jsx)(i.Hf3,{}),title:"Sort ascending"},desc:{icon:(0,o.jsx)(i.veu,{}),title:"Sort descending"}},S={height:i.rSc.space[9],width:"100%",textAlign:"start","&:focus-visible":{backgroundColor:"gray.100"},"&:focus":{outline:"none"}},y=e=>{var t,n,l,r,a,c,d,u,g;let{header:x,onGroupAll:h,onExpandAll:m,onWrapToggle:p,isExpandAll:v,isWrapped:b,enableSorting:C}=e,{meta:y}=x.column.columnDef;return(null==y?void 0:y.showHeaderMenu)?(0,o.jsxs)(i.v2r,{placement:"bottom-end",closeOnSelect:!y.showHeaderMenuWrapOption,children:[(0,o.jsx)(i.j2t,{as:i.zxk,rightIcon:(0,o.jsxs)(i.Ugi,{children:[null===(t=w[x.column.getIsSorted()])||void 0===t?void 0:t.icon,(0,o.jsx)(i.nXP,{transform:"rotate(90deg)"})]}),title:"Column options",variant:"ghost",size:"sm",sx:{...(0,s.J9)("select"===x.column.id),...S},"data-testid":"".concat(x.id,"-header-menu"),children:(0,f.ie)(x.column.columnDef.header,x.getContext())}),(0,o.jsx)(i.h_i,{children:(0,o.jsxs)(i.qyq,{fontSize:"xs",minW:"0",w:"158px","data-testid":"".concat(x.id,"-header-menu-list"),children:[(0,o.jsxs)(i.sNh,{gap:2,color:v?"complimentary.500":void 0,onClick:()=>m(x.id),children:[(0,o.jsx)(j.oq,{})," Expand all"]}),(0,o.jsxs)(i.sNh,{gap:2,color:v?void 0:"complimentary.500",onClick:()=>h(x.id),children:[(0,o.jsx)(j.Kc,{})," Collapse all"]}),C&&x.column.getCanSort()&&(0,o.jsxs)(i.sNh,{gap:2,onClick:x.column.getToggleSortingHandler(),children:[null!==(u=null===(n=w[x.column.getNextSortingOrder()])||void 0===n?void 0:n.icon)&&void 0!==u?u:(0,o.jsx)(i.Dbz,{}),null!==(g=null===(l=w[x.column.getNextSortingOrder()])||void 0===l?void 0:l.title)&&void 0!==g?g:"Clear sort"]}),y.showHeaderMenuWrapOption&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.RaW,{}),(0,o.jsx)(i.xuv,{px:3,children:(0,o.jsx)(i.XZJ,{size:"sm",isChecked:b,onChange:()=>p(x.id,!b),colorScheme:"complimentary",children:(0,o.jsx)(i.xvT,{fontSize:"xs",children:"Wrap results"})})})]})]})})]}):C&&x.column.getCanSort()?(0,o.jsx)(i.zxk,{"data-testid":"".concat(x.id,"-header-sort"),onClick:x.column.getToggleSortingHandler(),rightIcon:null===(a=w[x.column.getIsSorted()])||void 0===a?void 0:a.icon,title:null!==(d=null===(c=w[x.column.getNextSortingOrder()])||void 0===c?void 0:c.title)&&void 0!==d?d:"Clear sort",variant:"ghost",size:"sm",sx:{...(0,s.J9)("select"===x.column.id),...S},children:(0,f.ie)(x.column.columnDef.header,x.getContext())}):(0,o.jsx)(i.xuv,{"data-testid":"".concat(x.id,"-header"),sx:{...(0,s.J9)("select"===x.column.id)},fontSize:"xs",lineHeight:9,fontWeight:"medium",style:null===(r=x.column.columnDef.meta)||void 0===r?void 0:r.headerProps,children:(0,f.ie)(x.column.columnDef.header,x.getContext())})},k=e=>{var t;let{tableInstance:n,rowActionBar:l,onRowClick:r,getRowIsClickable:s,renderRowTooltipLabel:a,expandedColumns:c,wrappedColumns:d,emptyTableNotice:u}=e,g=e=>s?s(e)?r:void 0:r;return(0,o.jsxs)(i.p3B,{"data-testid":"fidesTable-body",children:[l,n.getRowModel().rows.map(e=>(0,o.jsx)(C,{row:e,onRowClick:g(e.original),renderRowTooltipLabel:a,expandedColumns:c,wrappedColumns:d},e.id)),0===n.getRowModel().rows.length&&!(null===(t=n.getState())||void 0===t?void 0:t.globalFilter)&&u&&(0,o.jsx)(i.Tr,{children:(0,o.jsx)(i.Td,{colSpan:100,children:u})})]})},z=r.memo(k,(e,t)=>e.tableInstance.options.data===t.tableInstance.options.data),W=e=>{let{tableInstance:t,rowActionBar:n,footer:l,onRowClick:a,getRowIsClickable:c,renderRowTooltipLabel:d,emptyTableNotice:u,overflow:g="auto",onSort:x,enableSorting:h=!!x,columnExpandStorageKey:m,columnWrapStorageKey:p}=e,[f,j]=(0,r.useState)(1),[b,C]=(0,v._)(m,[]),[w,S]=(0,v._)(p,[]),W=e=>{C([...b.filter(t=>t.split(s.mb)[0]!==e),"".concat(e).concat(s.mb).concat(f)]),j(f+1)},R=e=>{C([...b.filter(t=>t.split(s.mb)[0]!==e),"".concat(e).concat(s.mb).concat(-1*f)]),j(f+1)},I=(e,t)=>{S(t?[...w,e]:w.filter(t=>t!==e))},T=(0,r.useMemo)(()=>{let e=t.getFlatHeaders(),n={};for(let i=0;i<e.length;i+=1){var l,o;let r=e[i],s=!!(null===(l=t.getState().columnSizing)||void 0===l?void 0:l[r.id]),a="auto"===(null===(o=r.column.columnDef.meta)||void 0===o?void 0:o.width);!s&&a?setTimeout(()=>{var e;let l=null===(e=document.getElementById("column-".concat(r.id)))||void 0===e?void 0:e.offsetWidth;l&&(t.setColumnSizing(e=>({...e,[r.id]:l})),n["--header-".concat(r.id,"-size")]=l,n["--col-".concat(r.column.id,"-size")]=l)}):(n["--header-".concat(r.id,"-size")]=r.getSize(),n["--col-".concat(r.column.id,"-size")]=r.column.getSize())}return n},[t.getState().columnSizingInfo]);return(0,r.useEffect)(()=>{x&&x(t.getState().sorting[0])},[t.getState().sorting]),(0,o.jsx)(i.xJi,{"data-testid":"fidesTable",overflowY:g,overflowX:g,borderColor:"gray.200",borderBottomWidth:"1px",borderRightWidth:"1px",borderLeftWidth:"1px",children:(0,o.jsxs)(i.iA_,{variant:"unstyled",style:{borderCollapse:"separate",borderSpacing:0,...T,minWidth:"100%"},children:[(0,o.jsx)(i.hrZ,{position:"sticky",top:"0",height:"36px",zIndex:10,backgroundColor:"gray.50",children:t.getHeaderGroups().map(e=>(0,o.jsx)(i.Tr,{height:"inherit",children:e.headers.map(e=>{var t;let n=(0,s.tt)(e.id,b);return(0,o.jsxs)(i.Th,{borderColor:"gray.200",borderTopWidth:"1px",borderBottomWidth:"1px",borderRightWidth:"1px",_last:{borderRightWidth:0},colSpan:e.colSpan,"data-testid":"column-".concat(e.id),id:"column-".concat(e.id),sx:{padding:0,width:"calc(var(--header-".concat(e.id,"-size) * 1px)"),overflowX:"auto"},textTransform:"unset",position:"relative",_hover:{"& .resizer":{opacity:1}},...null===(t=e.column.columnDef.meta)||void 0===t?void 0:t.cellProps,children:[(0,o.jsx)(y,{header:e,onGroupAll:R,onExpandAll:W,onWrapToggle:I,isExpandAll:!!n&&n>0,isWrapped:!!w.find(t=>e.id===t),enableSorting:h}),e.column.getCanResize()?(0,o.jsx)(i.xuv,{onDoubleClick:()=>e.column.resetSize(),onMouseDown:e.getResizeHandler(),position:"absolute",height:"100%",top:"0",right:"0",width:"5px",cursor:"col-resize",userSelect:"none",className:"resizer",opacity:0,backgroundColor:e.column.getIsResizing()?"complimentary.500":"gray.200"}):null]},e.id)})},e.id))}),t.getState().columnSizingInfo.isResizingColumn?(0,o.jsx)(z,{tableInstance:t,rowActionBar:n,onRowClick:a,getRowIsClickable:c,renderRowTooltipLabel:d,expandedColumns:b,wrappedColumns:w,emptyTableNotice:u}):(0,o.jsx)(k,{tableInstance:t,rowActionBar:n,onRowClick:a,getRowIsClickable:c,renderRowTooltipLabel:d,expandedColumns:b,wrappedColumns:w,emptyTableNotice:u}),l]})})},R=e=>{let{totalColumns:t,children:n}=e;return(0,o.jsx)(i.$RU,{backgroundColor:"gray.50",children:(0,o.jsx)(i.Tr,{children:(0,o.jsx)(i.Td,{colSpan:t,px:4,py:2,borderTop:"1px solid",borderColor:"gray.200",children:n})})})};var I=n(16394),T=n(26917);let D=e=>{let{globalFilter:t,setGlobalFilter:n,placeholder:l,testid:s="global-text-filter"}=e,[a,c]=(0,r.useState)(t),d=(0,r.useMemo)(()=>(0,I.Ds)(n,200),[n]),u=(0,r.useCallback)(()=>{c(void 0),n(void 0)},[c,n]);return(0,r.useEffect)(()=>{a||u()},[a,u]),(0,o.jsx)(i.xuv,{maxWidth:"424px",width:"100%",children:(0,o.jsx)(T.Z,{onChange:e=>{c(e),d(e)},onClear:u,value:a||"",placeholder:l,"data-testid":s})})};var A=n(42904),N=n(3124),O=n.n(N);let _=e=>{let{tableInstance:t,selectedRows:n,isOpen:l}=e;return l?(0,o.jsx)(i.Tr,{position:"sticky",zIndex:"10",top:"36px",backgroundColor:"neutral.100",height:"36px",p:0,boxShadow:"0px 4px 6px -1px rgba(0, 0, 0, 0.05)",children:(0,o.jsx)(i.Td,{borderWidth:"1px",borderColor:"gray.200",height:"inherit",pl:4,pr:2,py:0,colSpan:t.getAllColumns().length,bgColor:O().FIDESUI_FULL_WHITE,children:(0,o.jsxs)(i.Ugi,{children:[(0,o.jsxs)(i.xvT,{"data-testid":"selected-row-count",fontSize:"xs",children:[n.toLocaleString("en")," row(s) selected."]}),t.getIsAllRowsSelected()?null:(0,o.jsxs)(i.wpx,{"data-testid":"select-all-rows-btn",onClick:()=>{t.toggleAllRowsSelected()},type:"link",size:"small",className:"text-xs font-normal text-black underline",children:["Select all ",t.getFilteredRowModel().rows.length," rows."]})]})})}):null},H=e=>{let{children:t,...n}=e;return(0,o.jsx)(i.Ugi,{justifyContent:"space-between",alignItems:"center",p:2,borderWidth:"1px",borderBottomWidth:"0px",borderColor:"gray.200",zIndex:11,...n,children:t})},P=e=>{let{rowHeight:t,numRows:n}=e,l=[];for(let e=0;e<n;e+=1)l.push((0,o.jsx)(i.OdW,{height:"".concat(t,"px")},e));return(0,o.jsx)(i.Kqy,{children:l})}},43862:function(e,t,n){n.d(t,{AH:function(){return c},J9:function(){return s},mb:function(){return r},tt:function(){return a}});var l=n(91942),o=n(98784),i=n.n(o);let r="::",s=e=>e?{padding:"0px"}:{paddingLeft:l.rSc.space[3],paddingRight:"calc(".concat(l.rSc.space[3]," - 5px)"),paddingTop:"0px",paddingBottom:"0px",borderRadius:"0px"},a=(e,t)=>{let n=t.find(t=>t.startsWith(e));return n?parseInt(n.split(r)[1],10):void 0},c=e=>{let{columnId:t,columnNameMap:n}=e;if(!t)return"";let l=t.replace(/^(system_|privacy_declaration_)/,""),o=i().upperFirst(l.replaceAll("_"," "));return(null==n?void 0:n[t])||o}},19043:function(e,t,n){n.d(t,{Bw:function(){return r},D4:function(){return o},Dy:function(){return a},XD:function(){return c},cz:function(){return d},hE:function(){return s},oK:function(){return i}});var l=n(76649);let o=e=>"error"in e,i=e=>(0,l.Ln)({status:"string"},e)&&"PARSING_ERROR"===e.status,r=e=>(0,l.Ln)({status:"number",data:{}},e),s=e=>(0,l.Ln)({detail:"string"},e),a=e=>(0,l.Ln)({detail:{error:"string",resource_type:"string",fides_key:"string"}},e),c=e=>(0,l.Ln)({detail:{error:"string",resource_type:"string",fides_key:"string"}},e),d=e=>(0,l.Ln)({detail:[{loc:["string","number"],msg:"string",type:"string"}]},e)}}]);
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[5973],{7617:function(e,t,s){s.d(t,{q:function(){return a}});var i=s(24246),n=s(91942);let a=e=>{let{label:t,isDisabled:s,...a}=e;return(0,i.jsx)(n.OK9,{"data-testid":"tab-".concat(t),_selected:{fontWeight:"600",color:"complimentary.500",borderColor:"complimentary.500"},fontSize:a.fontSize,fontWeight:"500",color:"gray.500",isDisabled:s||!1,children:t})};t.Z=e=>{let{data:t,border:s="partial",...r}=e;return(0,i.jsxs)(n.mQc,{colorScheme:"complimentary",...r,children:[(0,i.jsx)(n.tdY,{width:"partial"===s?"max-content":void 0,children:t.map(e=>(0,i.jsx)(a,{label:e.label,isDisabled:e.isDisabled,fontSize:r.fontSize},e.label))}),(0,i.jsx)(n.nPR,{children:t.map(e=>(0,i.jsx)(n.x45,{px:0,"data-testid":"tab-panel-".concat(e.label),children:e.content},e.label))})]})}},18225:function(e,t,s){var i=s(24246),n=s(91942);t.Z=e=>{let{...t}=e;return(0,i.jsx)(n.kCb,{boxSize:"full",align:"center",justify:"center",children:(0,i.jsx)(n.$jN,{color:"primary",...t})})}},77213:function(e,t,s){s.d(t,{Z:function(){return u}});var i=s(24246),n=s(91942),a=s(88038),r=s.n(a),o=s(86677);s(27378);var c=s(25980),d=s(90867),l=s(77830),h=()=>{let e=(0,o.useRouter)();return(0,i.jsx)(n.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,i.jsxs)(n.xuv,{children:[(0,i.jsxs)(n.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,i.jsx)(n.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,i.jsx)(n.wpx,{onClick:()=>{e.push(l.fz)},children:"Configure"})]}),(0,i.jsxs)(n.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},u=e=>{let{children:t,title:s,padded:a=!0,mainProps:l}=e,u=(0,c.hz)(),x=(0,o.useRouter)(),m="/privacy-requests"===x.pathname||"/datastore-connection"===x.pathname,p=!(u.flags.privacyRequestsConfiguration&&m),{data:j}=(0,d.JE)(void 0,{skip:p}),{data:g}=(0,d.PW)(void 0,{skip:p}),y=u.flags.privacyRequestsConfiguration&&(!j||!g)&&m;return(0,i.jsxs)(n.kCb,{"data-testid":s,direction:"column",h:"100vh",children:[(0,i.jsxs)(r(),{children:[(0,i.jsxs)("title",{children:["Fides Admin UI - ",s]}),(0,i.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,i.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,i.jsxs)(n.kCb,{as:"main",direction:"column",py:a?6:0,px:a?10:0,h:a?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...l,children:[y?(0,i.jsx)(h,{}):null,t]})]})}},58754:function(e,t,s){var i=s(24246),n=s(91942),a=s(70788);t.Z=e=>{let{heading:t,breadcrumbItems:s,isSticky:r=!0,children:o,rightContent:c,style:d,...l}=e;return(0,i.jsxs)("div",{...l,style:r?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...d}:{paddingBottom:"24px",...d},children:[(0,i.jsxs)(n.jqI,{justify:"space-between",children:["string"==typeof t?(0,i.jsx)(n.lQT,{className:s||o?"pb-4":void 0,level:1,"data-testid":"page-heading",children:t}):t,c&&(0,i.jsx)("div",{"data-testid":"page-header-right-content",children:c})]}),!!s&&(0,i.jsx)(a.m,{className:o?"pb-4":void 0,items:s,"data-testid":"page-breadcrumb"}),o]})}},79789:function(e,t,s){s.d(t,{Hn:function(){return o},XU:function(){return r},Z5:function(){return c},aG:function(){return h},cB:function(){return a},hX:function(){return l},vQ:function(){return d}});var i=s(24246),n=s(91942);let a=e=>{let{text:t,...s}=e;return(0,i.jsx)(n.X6q,{fontSize:"sm",mt:4,mb:1,...s,children:t})},r=e=>{let{children:t}=e;return(0,i.jsx)(n.xvT,{fontSize:"14px",mb:4,children:t})},o=e=>{let{children:t,href:s}=e;return(0,i.jsx)(n.rUS,{href:s,textDecoration:"underline",isExternal:!0,children:t})},c=e=>{let{children:t}=e;return(0,i.jsx)(n.QI$,{fontSize:"14px",mb:4,children:t})},d=e=>{let{children:t}=e;return(0,i.jsx)(n.GSI,{fontSize:"14px",mb:4,ml:6,children:t})},l=e=>{let{children:t}=e;return(0,i.jsx)(n.EKh,{display:"block",whiteSpace:"pre",p:4,mb:4,overflowX:"scroll",children:t})},h=e=>{let{data:t}=e;return(0,i.jsxs)(n.iA_,{fontSize:"14px",children:[(0,i.jsx)(n.hrZ,{children:(0,i.jsxs)(n.Tr,{children:[(0,i.jsx)(n.Th,{children:"Permission"}),(0,i.jsx)(n.Th,{children:"Description"})]})}),(0,i.jsx)(n.p3B,{children:t.map(e=>(0,i.jsxs)(n.Tr,{children:[(0,i.jsx)(n.Td,{children:(0,i.jsx)(n.Vp9,{children:e.permission})}),(0,i.jsx)(n.Td,{children:e.description})]},e.permission))})]})}},97181:function(e,t,s){s.d(t,{d:function(){return d}});var i=s(24246),n=s(91942),a=s(34090),r=s(27378),o=s(46238),c=s(40324);let d=e=>{let{name:t,label:s,labelProps:d,tooltip:l,isRequired:h,layout:u="inline",helperText:x,...m}=e,[p,j,{setValue:g}]=(0,a.U$)(t),y=!!(j.touched&&j.error),[v,f]=(0,r.useState)("");p.value||"tags"!==m.mode&&"multiple"!==m.mode||(p.value=[]),"tags"===m.mode&&"string"==typeof p.value&&(p.value=[p.value]);let S="tags"===m.mode?(e,t)=>e?e.value!==v||p.value.includes(v)?m.optionRender?m.optionRender(e,t):e.label:'Create "'.concat(v,'"'):void 0:m.optionRender||void 0,C=e=>{f(e),m.onSearch&&m.onSearch(e)},A=(e,t)=>{g(e),m.onChange&&m.onChange(e,t)};return"inline"===u?(0,i.jsx)(n.NIc,{isInvalid:y,isRequired:h,children:(0,i.jsxs)(n.rjZ,{templateColumns:s?"1fr 3fr":"1fr",children:[s?(0,i.jsx)(c.__,{htmlFor:m.id||t,...d,children:s}):null,(0,i.jsxs)(n.jqI,{align:"center",children:[(0,i.jsxs)(n.jqI,{vertical:!0,flex:1,className:"mr-2",children:[(0,i.jsx)(n.WPr,{...p,id:m.id||t,"data-testid":"controlled-select-".concat(p.name),...m,optionRender:S,onSearch:"tags"===m.mode?C:void 0,onChange:A,value:p.value||void 0,status:y?"error":void 0}),x&&(0,i.jsx)(n.Q6r,{children:x}),(0,i.jsx)(c.Bc,{isInvalid:y,message:j.error,fieldName:p.name})]}),(0,i.jsx)(o.b,{label:l})]})]})}):(0,i.jsx)(n.NIc,{isInvalid:y,isRequired:h,children:(0,i.jsxs)(n.gCW,{alignItems:"start",children:[(0,i.jsxs)(n.jqI,{align:"center",children:[s?(0,i.jsx)(c.__,{htmlFor:m.id||t,fontSize:"xs",my:0,mr:1,...d,children:s}):null,(0,i.jsx)(o.b,{label:l})]}),(0,i.jsx)(n.WPr,{...p,id:m.id||t,"data-testid":"controlled-select-".concat(p.name),...m,optionRender:S,onSearch:"tags"===m.mode?C:void 0,onChange:A,value:p.value||void 0,status:y?"error":void 0}),x&&(0,i.jsx)(n.Q6r,{style:{marginTop:0},children:x}),(0,i.jsx)(c.Bc,{isInvalid:y,message:j.error,fieldName:p.name})]})})}},14047:function(e,t,s){s.d(t,{H:function(){return a},V:function(){return i.V}});var i=s(84306),n=s(812);let a=()=>{let{errorAlert:e}=(0,i.V)();return{handleError:t=>{let s="An unexpected error occurred. Please try again.";(0,n.Ot)(t)?s=t.data.detail:(0,n.tB)(t)&&(s=t.data.detail[0].msg),e(s)}}}},84306:function(e,t,s){s.d(t,{V:function(){return a}});var i=s(24246),n=s(91942);let a=()=>{let e=(0,n.pmc)();return{errorAlert:(t,s,a)=>{let r={...a,position:(null==a?void 0:a.position)||"top",render:e=>{let{onClose:a}=e;return(0,i.jsxs)(n.bZj,{alignItems:"normal",status:"error","data-testid":"error-alert",children:[(0,i.jsx)(n.zMQ,{}),(0,i.jsxs)(n.xuv,{children:[s&&(0,i.jsx)(n.CdC,{children:s}),(0,i.jsx)(n.XaZ,{children:t})]}),(0,i.jsx)(n.PZ7,{onClick:a,position:"relative",right:0,size:"sm",top:-1})]})}};(null==a?void 0:a.id)&&e.isActive(a.id)?e.update(a.id,r):e(r)},successAlert:(t,s,a)=>{let r={...a,position:(null==a?void 0:a.position)||"top",render:e=>{let{onClose:a}=e;return(0,i.jsxs)(n.bZj,{alignItems:"normal",status:"success",variant:"subtle","data-testid":"success-alert",children:[(0,i.jsx)(n.zMQ,{}),(0,i.jsxs)(n.xuv,{children:[s&&(0,i.jsx)(n.CdC,{children:s}),(0,i.jsx)(n.XaZ,{children:t})]}),(0,i.jsx)(n.PZ7,{onClick:a,position:"relative",right:0,size:"sm",top:-1})]})}};(null==a?void 0:a.id)&&e.isActive(a.id)?e.update(a.id,r):e(r)}}}},8133:function(e,t,s){var i=s(24246),n=s(91942);t.Z=e=>{let{title:t,children:s,isOpen:a,onClose:r,...o}=e;return(0,i.jsxs)(n.u_l,{isOpen:a,onClose:r,isCentered:!0,scrollBehavior:"inside",size:"xl",id:"add-modal",...o,children:[(0,i.jsx)(n.ZAr,{}),(0,i.jsxs)(n.hzk,{textAlign:"left",p:0,"data-testid":"add-modal-content",children:[(0,i.jsx)(n.xBx,{p:0,children:(0,i.jsx)(n.xuv,{backgroundColor:"gray.50",px:6,py:4,border:"1px",borderColor:"gray.200",borderTopRadius:6,display:"flex",justifyContent:"space-between",alignItems:"center",children:(0,i.jsx)(n.X6q,{as:"h3",size:"sm",children:t})})}),(0,i.jsx)(n.fef,{pb:4,overflow:"auto",children:s})]})]})}},70788:function(e,t,s){s.d(t,{m:function(){return d}});var i=s(24246),n=s(91942),a=s(79894),r=s.n(a),o=s(27378);let{Text:c}=n.AntTypography,d=e=>{let{items:t,...s}=e,a=(0,o.useMemo)(()=>null==t?void 0:t.map((e,s)=>{let a=s===t.length-1,o={...e},d=o.onClick&&!o.href;return("string"==typeof o.title&&(o.title=(0,i.jsx)(c,{style:{color:"inherit",maxWidth:a?void 0:400},ellipsis:!a,children:o.title})),d)?o.title=(0,i.jsx)(n.wpx,{type:"text",size:"small",icon:o.icon,onClick:o.onClick,className:"ant-breadcrumb-link -mt-px px-1 text-inherit",children:o.title}):(o.icon&&(o.title=(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("span",{className:"anticon align-text-bottom",children:o.icon}),o.title]})),o.href&&o.title&&(o.title=(0,i.jsx)(r(),{href:o.href,className:"ant-breadcrumb-link",children:o.title}),delete o.href)),o}),[t]);return(0,i.jsx)(n.zrq,{items:a,...s})}},41337:function(e,t,s){var i=s(24246),n=s(91942);s(27378);var a=s(16643),r=s(16394),o=s(14746);let c=o.Ny+o.iW.get(a.Rj.WEBSITE),d=e=>void 0!==e.connection_type,l=e=>void 0!==e.encoded_icon,h=e=>(null==e?void 0:e.connection_type)===a.Rj.WEBSITE;t.Z=e=>{let{data:t,...s}=e;return(0,i.jsx)(n.Eep,{boxSize:"32px",objectFit:"cover",src:(()=>{let e;if(l(t)&&t.encoded_icon)return"data:image/svg+xml;base64,".concat(t.encoded_icon);if(h(t)){var s;let e=null===(s=t.secrets)||void 0===s?void 0:s.url;if(!e)return c;let i=(0,r.ge)(e);return(0,r.tl)(i,100)}if(d(t))e=[...o.iW].find(e=>{var s,i;let[n]=e;return t.connection_type.toString()!==a.Rj.SAAS&&t.connection_type.toString()===n||t.connection_type.toString()===a.Rj.SAAS&&(null===(i=t.saas_config)||void 0===i?void 0:null===(s=i.type)||void 0===s?void 0:s.toString())===n.toString()});else if(l(t)){let{identifier:s}=t;e=[...o.iW].find(e=>{let[t]=e;return t.toLowerCase()===s.toLowerCase()})}return e?o.Ny+e[1]:o.VD})(),fallbackSrc:h(t)?c:o.VD,alt:(()=>{if(d(t)){var e;return null!==(e=t.name)&&void 0!==e?e:t.key}return l(t)?t.human_readable:t})(),...s})}},15872:function(e,t,s){var i=s(24246),n=s(91942),a=s(86677);s(27378);var r=s(77830),o=s(14207);t.Z=e=>{let{connection_key:t,showMenu:s}=e,{isOpen:c,onOpen:d,onClose:l}=(0,n.qY0)(),[h,u]=(0,o.R5)(),x=(0,a.useRouter)(),m=()=>{u.isLoading||l()};return(0,i.jsxs)(i.Fragment,{children:[s&&(0,i.jsx)(n.sNh,{_focus:{color:"complimentary.500",bg:"gray.100"},onClick:d,children:(0,i.jsx)(n.xvT,{fontSize:"sm",children:"Delete"})}),!s&&(0,i.jsx)(n.wpx,{onClick:d,children:"Delete integration"}),(0,i.jsxs)(n.u_l,{isCentered:!0,isOpen:c,onClose:m,children:[(0,i.jsx)(n.ZAr,{}),(0,i.jsxs)(n.hzk,{children:[(0,i.jsx)(n.xBx,{children:"Delete integration"}),(0,i.jsx)(n.olH,{}),(0,i.jsx)(n.fef,{pb:6,children:(0,i.jsx)(n.Kqy,{direction:"column",spacing:"15px",children:(0,i.jsx)(n.xvT,{color:"gray.600",fontSize:"sm",fontWeight:"sm",lineHeight:"20px",children:"Deleting an integration may impact any privacy request that is currently in progress. Do you wish to proceed?"})})}),(0,i.jsxs)(n.mzw,{className:"flex gap-4",children:[(0,i.jsx)(n.wpx,{onClick:m,className:"w-1/2",children:"Cancel"}),(0,i.jsx)(n.wpx,{onClick:()=>{t&&(h(t),s||x.push(r.KH))},loading:u.isLoading,type:"primary",className:"w-1/2",children:"Delete integration"})]})]})]})]})}},19812:function(e,t,s){s.d(t,{t:function(){return o}});var i=s(14047),n=s(14207),a=s(27378),r=s(41966);let o=e=>{var t,s,o;let{connectionConfig:c}=e,[d]=(0,n.S6)(),{data:l}=(0,n.Eg)(null!==(s=null==c?void 0:c.key)&&void 0!==s?s:""),h=null!==(o=null==l?void 0:null===(t=l.items)||void 0===t?void 0:t.map(e=>e.fides_key))&&void 0!==o?o:[],u=h.map(e=>({label:e,value:e})),{data:x}=(0,r.LH)({onlyUnlinkedDatasets:!0}),m=(0,a.useMemo)(()=>{var e;return null!==(e=null==x?void 0:x.map(e=>({value:e.fides_key,label:"".concat(e.name," (").concat(e.fides_key,")")||0})))&&void 0!==e?e:[]},[x]),{errorAlert:p,successAlert:j}=(0,i.V)();return{dropdownOptions:[...u,...m],initialDatasets:h,patchConnectionDatasetConfig:async function(e,t){var s,i,n;let{showSuccessAlert:a=!0}=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=null!==(n=null===(s=e.dataset)||void 0===s?void 0:s.map(e=>({fides_key:e,ctl_dataset_fides_key:e})))&&void 0!==n?n:[],o=await d({connection_key:t,dataset_pairs:r}).unwrap();(null===(i=o.failed)||void 0===i?void 0:i.length)>0?p(o.failed[0].message):a&&j("Dataset successfully updated!")}}}},33335:function(e,t,s){s.d(t,{E:function(){return i}});let i=e=>e.toLowerCase().replace(/[ .]/g,"_").replace(/[^a-zA-Z0-9_<>-]/g,"")},45216:function(e,t,s){var i=s(91942),n=s(812),a=s(16394),r=s(14207);t.Z=e=>{let[t,{data:s,fulfilledTimeStamp:o,isLoading:c,isFetching:d}]=(0,r.h2)(),l=(0,i.pmc)();return{testConnection:async()=>{var s,i,a,r;if(!e)return;let o=await t(e.key);if(o.isError)l({status:"error",description:(0,n.e$)(o.error,"Unable to test connection. Please try again.")});else if((null===(s=o.data)||void 0===s?void 0:s.test_status)==="succeeded")l({status:"success",description:"Connected successfully"});else if((null===(i=o.data)||void 0===i?void 0:i.test_status)==="failed"){let e="Connection test failed.";(null===(a=o.data)||void 0===a?void 0:a.failure_reason)&&(e+=" ".concat(null===(r=o.data)||void 0===r?void 0:r.failure_reason)),l({status:"warning",description:e})}},isLoading:c||d,testData:{timestamp:o?(0,a.p6)(o):null==e?void 0:e.last_test_timestamp,succeeded:s?"succeeded"===s.test_status:!!(null==e?void 0:e.last_test_succeeded)}}}},41553:function(e,t,s){var i=s(24246),n=s(91942),a=s(16394);t.Z=e=>{let{testData:t}=e;if(!t.timestamp)return(0,i.jsx)(n.xvT,{"data-testid":"connection-status",children:"Connection not tested"});let s=(0,a.p6)(t.timestamp);return t.succeeded?(0,i.jsxs)(n.kCb,{color:"success-text.900",align:"center","data-testid":"connection-status",children:[(0,i.jsx)(n.rE2,{mr:2,boxSize:4}),(0,i.jsxs)(n.xvT,{children:["Last connected ",s]})]}):(0,i.jsxs)(n.kCb,{color:"error-text.900",align:"center","data-testid":"connection-status",children:[(0,i.jsx)(n.iid,{mr:2,boxSize:4}),(0,i.jsxs)(n.xvT,{children:["Last connection failed ",s]})]})}},75595:function(e,t,s){var i=s(24246),n=s(91942),a=s(41337),r=s(15872),o=s(45216),c=s(68964),d=s(41553);t.Z=e=>{let{integration:t,showTestNotice:s,otherButtons:l,showDeleteButton:h,configureButtonLabel:u="Configure",onConfigureClick:x}=e,{testConnection:m,isLoading:p,testData:j}=(0,o.Z)(t),g=(0,c.ZP)(null==t?void 0:t.connection_type);return(0,i.jsxs)(n.xuv,{maxW:"760px",borderWidth:1,borderRadius:"lg",overflow:"hidden",padding:"12px",marginBottom:"24px","data-testid":"integration-info-".concat(null==t?void 0:t.key),children:[(0,i.jsxs)(n.kCb,{children:[(0,i.jsx)(a.Z,{data:null!=t?t:"",boxSize:"50px"}),(0,i.jsxs)(n.kCb,{direction:"column",flexGrow:1,marginLeft:"16px",children:[(0,i.jsx)(n.xvT,{color:"gray.700",fontWeight:"semibold",children:(null==t?void 0:t.name)||"(No name)"}),s?(0,i.jsx)(d.Z,{testData:j}):(0,i.jsx)(n.xvT,{color:"gray.700",fontSize:"sm",fontWeight:"semibold",mt:1,children:g.category})]}),(0,i.jsxs)("div",{className:"flex gap-4",children:[h&&t&&(0,i.jsx)(r.Z,{showMenu:!1,connection_key:t.key}),s&&(0,i.jsx)(n.wpx,{onClick:m,loading:p,"data-testid":"test-connection-btn",children:"Test connection"}),l,x&&(0,i.jsx)(n.wpx,{onClick:x,"data-testid":"configure-btn",children:u})]})]}),(0,i.jsx)(n.Eq9,{marginTop:"16px",children:g.tags.map(e=>(0,i.jsx)(n.j8w,{children:e},e))})]})}},15987:function(e,t,s){var i=s(24246),n=s(91942),a=s(34090),r=s(90104),o=s.n(r),c=s(92465),d=s.n(c),l=s(25389),h=s.n(l),u=s(15539),x=s.n(u),m=s(55484),p=s(18225),j=s(97181),g=s(40324),y=s(812),v=s(20682),f=s(41966),S=s(94725),C=s(19812),A=s(33335),b=s(1315),D=s(16643),R=s(31883);t.Z=e=>{var t,s;let{connection:r,connectionOption:c,onCancel:l,description:u}=e,[w,{isLoading:E}]=(0,S.Pp)(),[_,{isLoading:T}]=(0,S.pH)(),[H,{isLoading:B}]=(0,b.qd)(),{data:k,isLoading:F}=(0,v.n3)(c.identifier),{data:L}=(0,b.K3)(),I=null==L?void 0:L.map(e=>{var t;return{label:null!==(t=e.name)&&void 0!==t?t:e.fides_key,value:e.fides_key}}),{data:O}=(0,f.LH)({minimal:!0,connection_type:D.Rj.BIGQUERY}),U=null==O?void 0:O.map(e=>{var t;return{label:null!==(t=e.name)&&void 0!==t?t:e.fides_key,value:e.fides_key}}),{patchConnectionDatasetConfig:M,initialDatasets:P}=(0,C.t)({connectionConfig:r}),q=E||T||B,N={name:null!==(t=null==r?void 0:r.name)&&void 0!==t?t:"",description:null!==(s=null==r?void 0:r.description)&&void 0!==s?s:"",secrets:h()(null==k?void 0:k.properties,(e,t)=>{var s,i;return null!==(i=null==r?void 0:null===(s=r.secrets)||void 0===s?void 0:s[t])&&void 0!==i?i:""}),dataset:P},Q=(0,n.pmc)(),G=!!r,Z=e=>x()(h()(e,(e,t)=>{var s,i;return(null!==(i=null==r?void 0:null===(s=r.secrets)||void 0===s?void 0:s[t])&&void 0!==i?i:"")===e?void 0:e}),d()),z=async e=>{var t;let s;let i=Z(e.secrets),n=G?{...r,disabled:null!==(t=r.disabled)&&void 0!==t&&t,name:e.name,description:e.description,secrets:void 0}:{name:e.name,key:(0,A.E)(e.name),connection_type:c.identifier,access:D.uv.READ,disabled:!1,description:e.description,secrets:e.secrets,dataset:e.dataset};if(s=e.system_fides_key?await H({systemFidesKey:e.system_fides_key,connectionConfigs:[n]}):await _(n),(0,R.D4)(s)){Q({status:"error",description:(0,y.e$)(s.error,"A problem occurred while ".concat(G?"updating":"creating"," this integration. Please try again."))});return}if(!e.secrets){Q({status:"success",description:"Integration ".concat(G?"updated":"created"," successfully")});return}if(!o()(i)){let e=await w({connection_key:n.key,secrets:i});if((0,R.D4)(e)){Q({status:"error",description:(0,y.e$)(e.error,"An error occurred while ".concat(G?"updating":"creating"," this integration's secret. Please try again."))});return}}Q({status:"success",description:"Integration secret ".concat(G?"updated":"created"," successfully")}),l(),n&&e.dataset&&c.identifier===D.Rj.DATAHUB&&await M(e,n.key,{showSuccessAlert:!1})};if(F)return(0,i.jsx)(p.Z,{});let W=e=>Object.entries(e.properties).map(t=>{let[s,n]=t,a="secrets.".concat(s);return(0,i.jsx)(g.j0,{name:a,id:a,type:n.sensitive?"password":void 0,label:n.title,isRequired:e.required.includes(s),tooltip:n.description,variant:"stacked"},a)});return(0,i.jsxs)(i.Fragment,{children:[u&&(0,i.jsx)(n.xuv,{padding:"20px 24px",backgroundColor:"gray.50",borderRadius:"md",border:"1px solid",borderColor:"gray.200",fontSize:"sm",marginTop:"16px",children:u}),(0,i.jsx)(a.J9,{initialValues:N,enableReinitialize:!0,onSubmit:z,validationSchema:(e=>{let t=Object.entries(e.properties).map(t=>{let[s,i]=t;return[s,e.required.includes(s)?m.Z_().required().label(i.title):m.Z_().nullable().label(i.title)]});return m.Ry().shape({name:m.Z_().required().label("Name"),description:m.Z_().nullable().label("Description"),secrets:m.Ry().shape(Object.fromEntries(t))})})(k),children:e=>{let{dirty:t,isValid:s,resetForm:r}=e;return(0,i.jsx)(a.l0,{children:(0,i.jsxs)(n.gCW,{alignItems:"start",spacing:6,mt:4,children:[(0,i.jsx)(g.j0,{id:"name",name:"name",label:"Name",variant:"stacked",isRequired:!0}),(0,i.jsx)(g.j0,{id:"description",name:"description",label:"Description",variant:"stacked"}),W(k),!G&&(0,i.jsx)(j.d,{id:"system_fides_key",name:"system_fides_key",options:null!=I?I:[],label:"System",tooltip:"The system to associate with the integration",layout:"stacked"}),c.identifier===D.Rj.DATAHUB&&(0,i.jsx)(j.d,{id:"dataset",name:"dataset",options:null!=U?U:[],label:"Datasets",tooltip:"Only BigQuery datasets are supported. Selected datasets will sync with matching DataHub datasets. If none are selected, all datasets will be included by default.",layout:"stacked",mode:"multiple"}),(0,i.jsxs)("div",{className:"flex w-full justify-between",children:[(0,i.jsx)(n.wpx,{onClick:()=>{l(),r()},children:"Cancel"}),(0,i.jsx)(n.wpx,{htmlType:"submit",type:"primary",disabled:!t||!s,loading:q,"data-testid":"save-btn",children:"Save"})]})]})})}})]})}},68964:function(e,t,s){s.d(t,{FO:function(){return L},jq:function(){return I},ZP:function(){return U}}),(i=n||(n={})).DATA_CATALOG="Data Catalog",i.DATA_WAREHOUSE="Data Warehouse",i.DATABASE="Database",i.IDENTITY_PROVIDER="Identity Provider",i.WEBSITE="Website";var i,n,a=s(24246),r=s(91942),o=s(79789),c=e=>{let{children:t}=e,{isOpen:s,onToggle:i}=(0,r.qY0)();return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.UO1,{in:s,children:t}),(0,a.jsx)(r.xvT,{fontSize:"sm",cursor:"pointer",textDecoration:"underline",onClick:i,children:s?"Show less":"Show more"})]})},d=s(16643);let l={name:"Google BigQuery",key:"bq_placeholder",connection_type:d.Rj.BIGQUERY,access:d.uv.READ,created_at:""},h=[{permission:"bigquery.jobs.create",description:"Run jobs (e.g. queries) within the project. This is only needed for the Fides Project where the Fides service account is located."},{permission:"bigquery.jobs.list",description:"Manage the queries that the service account performs. This is only needed for the Fides Project where the Fides service account is located."},{permission:"bigquery.routines.get",description:"Allow the service account to retrieve custom routines (e.g. queries) on associated datasets and tables."},{permission:"bigquery.routines.list",description:"Allow the service account to manage the custom routines (e.g. queries) that run on associated datasets and tables."}],u=[{permission:"bigquery.datasets.get",description:"Retrieve metadata and list tables for the specified project."},{permission:"bigquery.tables.get",description:"Retrieve metadata for the specified table."},{permission:"bigquery.tables.getData",description:"Read data in the specified table."},{permission:"bigquery.tables.list",description:"List all tables in the specified dataset."},{permission:"resourcemanager.projects.get",description:"Retrieve metadata for the specified project."}],x={placeholder:l,category:n.DATA_WAREHOUSE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Continuously monitor BigQuery to detect and track schema-level changes, automatically discover and label data categories as well as automatically process DSR (privacy requests) and consent enforcement to proactively manage data governance risks."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"Data Warehouse"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Cloud provider"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"}),(0,a.jsx)(r.HCh,{children:"DSR automation"}),(0,a.jsx)(r.HCh,{children:"Consent orchestration"})]}),(0,a.jsx)(o.cB,{text:"Permissions"}),(0,a.jsx)(o.XU,{children:"For detection and discovery, Fides requires a read-only BigQuery service account with limited permissions. If you intend to automate governance for DSR or Consent, Fides requires a read-and-write BigQuery service account to any project you would like Fides to govern."}),(0,a.jsx)(o.XU,{children:"A BigQuery administrator can create the necessary role for Fides using BigQuery's roles guide and assign this to a service account using BigQuery's service account guide."}),(0,a.jsx)(o.XU,{children:"The permissions allow Fides to read the schema of, and data stored in projects, datasets and tables as well write restricted updates based on your policy configurations to tables you specify as part of DSR and Consent orchestration."}),(0,a.jsx)(o.cB,{text:"Permissions list"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"bigquery.jobs.create"}),(0,a.jsx)(r.HCh,{children:"bigquery.jobs.list"}),(0,a.jsx)(r.HCh,{children:"bigquery.routines.get"}),(0,a.jsx)(r.HCh,{children:"bigquery.routines.list"}),(0,a.jsx)(r.HCh,{children:"bigquery.datasets.get"}),(0,a.jsx)(r.HCh,{children:"bigquery.tables.get"}),(0,a.jsx)(r.HCh,{children:"bigquery.tables.getData"}),(0,a.jsx)(r.HCh,{children:"bigquery.tables.list"}),(0,a.jsx)(r.HCh,{children:"bigquery.tables.updateData"}),(0,a.jsx)(r.HCh,{children:"resourcemanager.projects.get"})]})]})]}),{}),instructions:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Configuring a Fides -> BigQuery Integration"}),(0,a.jsx)(o.cB,{text:"Step 1: Create a Fides project"}),(0,a.jsxs)(o.XU,{children:["Create a Fides Project using"," ",(0,a.jsx)(o.Hn,{href:"https://cloud.google.com/resource-manager/docs/creating-managing-projects#creating_a_project",children:"BigQuery's project creation guide"}),"."]}),(0,a.jsx)(o.cB,{text:"Step 2: Create a Fides role in GCP"}),(0,a.jsxs)(o.vQ,{children:[(0,a.jsxs)(r.HCh,{children:["Create a custom role for Fides using BigQuery's"," ",(0,a.jsx)(o.Hn,{href:"https://cloud.google.com/iam/docs/creating-custom-roles#creating_a_custom_role",children:"roles guide"}),"."]}),(0,a.jsx)(r.HCh,{children:"Follow the sections below to grant permissions to this role for the Fides project and any project you would like Fides to manage."})]}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Step 3: Assign permissions to the Fides project"}),(0,a.jsx)(o.XU,{children:"Assign the following permissions to the Fides Project that will be used by your Fides service account to run queries:"}),(0,a.jsx)(o.aG,{data:h}),(0,a.jsx)(o.cB,{text:"Step 4: Assign permissions to any project you’d like Fides to monitor"}),(0,a.jsx)(o.XU,{children:"Grant the following permissions to the Fides service account in every project where you would like Fides detection and discovery monitoring."}),(0,a.jsx)(o.aG,{data:u}),(0,a.jsx)(o.cB,{text:"Step 5: Create a Fides service account in the Fides Project"}),(0,a.jsxs)(o.vQ,{children:[(0,a.jsxs)(r.HCh,{children:["Create a service account for Fides using BigQuery's"," ",(0,a.jsx)(o.Hn,{href:"https://cloud.google.com/iam/docs/service-accounts-create",children:"service account guide"}),"."]}),(0,a.jsx)(r.HCh,{children:"Assign the previously created role to this service account."}),(0,a.jsxs)(r.HCh,{children:["Download the service account JSON keyfile."," ",(0,a.jsx)("strong",{children:"Note: this is sensitive information that should not be shared."})," ","An example of this is below:"]})]}),(0,a.jsx)(o.hX,{children:'{\n "type": "service_account",\n "project_id": "project-id-123456",\n "private_key_id": "0123456789abcdef0123456789abcdef01234567",\n "private_key": "-----BEGIN PRIVATE KEY-----\\nMIIyourkey-----\\nEND PRIVATE KEY-----\\n",\n "client_email": "test@project-id-123456.iam.gserviceaccount.com",\n "client_id": "012345678901234567890",\n "auth_uri": "https://accounts.google.com/o/oauth2/auth",\n "token_uri": "https://oauth2.googleapis.com/token",\n "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",\n "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/test%40project-id-123456.iam.gserviceaccount.com"\n}'}),(0,a.jsx)(o.cB,{text:"Step 6: Use the JSON key to authenticate your integration"}),(0,a.jsx)(o.XU,{children:"Provide the JSON key to your Fides instance to securely connect Fides."})]})]}),{}),tags:["DSR Automation","Discovery","Detection"]},m={name:"Datahub",key:"datahub_placeholder",connection_type:d.Rj.DATAHUB,access:d.uv.READ,created_at:""},p=(0,a.jsx)(a.Fragment,{children:"Set up a connection to your DataHub instance by providing a name, server URL, and access token. You can also select the BigQuery datasets you'd like to sync—these will be matched with corresponding datasets in DataHub. If no datasets are selected, all available BigQuery datasets will be included by default."}),j={placeholder:m,category:n.DATA_CATALOG,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"DataHub is a metadata platform designed to help organizations manage and govern their data. It acts as a centralized repository for tracking and discovering data assets across an organization, helping data teams understand where their data resides, how it's used, and how it flows through various systems."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsx)(o.Z5,{children:(0,a.jsx)(r.HCh,{children:"Data Catalog"})}),(0,a.jsx)(o.cB,{text:"Permissions"}),(0,a.jsx)(o.Z5,{children:(0,a.jsx)(r.HCh,{children:"The related user to the access token must have at least the Editor role on DataHub."})})]})]}),{}),tags:["Sync"],description:p},g={name:"DynamoDB",key:"dynamo_placeholder",connection_type:d.Rj.DYNAMODB,access:d.uv.READ,created_at:""},y=[{permission:"AmazonDynamoDBReadOnlyAccess",description:"Provides read-only access to Amazon DynamoDB via the AWS Management Console."},{permission:"AmazonDynamoDBFullAccess",description:"Provides full access to Amazon DynamoDB via the AWS Management Console. Only needed if automating governance for DSR or Consent."}],v={placeholder:g,category:n.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Continuously monitor DynamoDB to detect and track schema-level changes, automatically discover and label data categories as well as automatically process DSR (privacy requests) and consent enforcement to proactively manage data governance risks."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"NoSQL database"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Cloud provider"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"})]}),(0,a.jsx)(o.cB,{text:"Permissions and Policies"}),(0,a.jsxs)(o.XU,{children:["For detection and discovery, Fides requires an IAM user with read-only DynamoDB permissions in order to detect, discover, and classify sensitive data. The AWS-managed"," ",(0,a.jsx)(r.EKh,{children:"AmazonDynamoDBReadOnlyAccess"})," policy can be used to assign these permissions. If you intend to automate governance for DSR or Consent, Fides requires an IAM user with read-and-write DynamoDB permissions. The AWS-managed",(0,a.jsx)(r.EKh,{children:"AmazonDynamoDBFullAccess"})," policy can be used to assign these permissions. An IAM administrator can create the necessary principal for Fides using the AWS IAM guides, and assign the appropriate permissions policy to the IAM user."]}),(0,a.jsx)(o.XU,{children:"The permissions allow Fides to read the schema of, and data stored in, DynamoDB tables. This data is inspected only for the purpose of detecting sensitive data risks and no data is stored by Fides. As part of DSR or Consent orchestration, Fides will only write restricted updates to the tables specified by your Fides policy configuration."}),(0,a.jsx)(o.cB,{text:"Policy List"}),(0,a.jsx)(o.XU,{children:"The following AWS-managed policies provide the necessary permissions for Fides:"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"AmazonDynamoDBReadOnlyAccess"}),(0,a.jsx)(r.HCh,{children:"AmazonDynamoDBFullAccess (only needed if automating governance for DSR or Consent)"})]})]})]}),{}),instructions:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Configuring a Fides -> DynamoDB Integration"}),(0,a.jsx)(o.cB,{text:"Step 1: Create an IAM user in AWS"}),(0,a.jsxs)(o.XU,{children:["Create an IAM user for Fides' DynamoDB access following the"," ",(0,a.jsx)(o.Hn,{href:"https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html#getting-started-iam-user",children:"AWS IAM user guide"}),"."]}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Step 2: Assign policies to the IAM user"}),(0,a.jsx)(o.XU,{children:"Grant the necessary permissions to the IAM user by attaching directly the appropriate AWS-managed policy for your use case:"}),(0,a.jsx)(o.aG,{data:y}),(0,a.jsx)(o.cB,{text:"Step 3: Create an access key for the IAM user"}),(0,a.jsxs)(o.vQ,{children:[(0,a.jsxs)(r.HCh,{children:["Create an access key for the IAM user under"," ",(0,a.jsx)("strong",{children:"Security credentials"})]}),(0,a.jsx)(r.HCh,{children:"Select the Other use case"}),(0,a.jsx)(r.HCh,{children:"Copy the Access Key ID and Secret Access Key"})]}),(0,a.jsx)(o.cB,{text:"Use the Credentials to Authenticate Your Integration"}),(0,a.jsx)(o.XU,{children:"Provide the credentials to your Fides instance to securely connect Fides."})]})]}),{}),tags:["Database","DSR Automation","Discovery","Detection"]},f={placeholder:{name:"Google Cloud SQL for MySQL",key:"google_cloud_sql_for_mysql_placeholder",connection_type:d.Rj.GOOGLE_CLOUD_SQL_MYSQL,access:d.uv.READ,created_at:""},category:n.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Google Cloud SQL for MySQL is a fully-managed relational database service that simplifies the setup, maintenance, management, and administration of MySQL databases. Connect Fides to your Google Cloud SQL for MySQL to detect and track changes in schemas and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"Database"}),(0,a.jsx)(r.HCh,{children:"SQL database"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"}),(0,a.jsx)(r.HCh,{children:"DSR automation"})]}),(0,a.jsx)(o.cB,{text:"Permissions"}),(0,a.jsx)(o.XU,{children:"For detection and discovery, Fides requires a user with the SELECT permission on the database. If you intend to automate governance for DSR or Consent, Fides requires a user with the SELECT, UPDATE, and DELETE The permissions allow Fides to read the schema of, and data stored in tables, and fields as well as write restricted updates based on your policy configurations to tables you specify as part of DSR and Consent orchestration. For a complete list of permissions view the Google Cloud SQL for MySQL DB documentation."}),(0,a.jsx)(o.cB,{text:"Permissions list"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"GRANT SELECT"}),(0,a.jsx)(r.HCh,{children:"GRANT UPDATE"}),(0,a.jsx)(r.HCh,{children:"GRANT DELETE"})]})]})]}),{}),tags:["Discovery","Detection"]},S={placeholder:{name:"Google Cloud SQL for Postgres",key:"google_cloud_sql_for_postgres_placeholder",connection_type:d.Rj.GOOGLE_CLOUD_SQL_POSTGRES,access:d.uv.READ,created_at:""},category:n.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Google Cloud SQL for Postgres is a fully-managed relational database service that simplifies the setup, maintenance, management, and administration of Postgres databases. Connect Fides to your Google Cloud SQL for Postgres to detect and track changes in schemas and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"Database"}),(0,a.jsx)(r.HCh,{children:"SQL database"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"}),(0,a.jsx)(r.HCh,{children:"DSR automation"})]}),(0,a.jsx)(o.cB,{text:"Permissions"}),(0,a.jsx)(o.XU,{children:"For detection and discovery, Fides requires a user with the SELECT permission on the database. If you intend to automate governance for DSR or Consent, Fides requires a user with the SELECT, UPDATE, and DELETE permission. The permissions allow Fides to read the schema of, and data stored in tables, and fields as well as write restricted updates based on your policy configurations to tables you specify as part of DSR and orchestration. For a complete list of permissions view the Google Cloud SQL for Postgres DB documentation."}),(0,a.jsx)(o.XU,{children:"The following GCP service account permissions are needed when setting up Google Cloud SQL for Postgres."}),(0,a.jsx)(o.cB,{text:"Permissions list"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"cloudsql.instances.connect"}),(0,a.jsx)(r.HCh,{children:"cloudsql.instances.get"}),(0,a.jsx)(r.HCh,{children:"cloudsql.instances.login"})]})]})]}),{}),tags:["Discovery","Detection"]},C={placeholder:{name:"Microsoft SQL Server",key:"microsoft_sql_server_placeholder",connection_type:d.Rj.MSSQL,access:d.uv.READ,created_at:""},category:n.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Microsoft SQL Server, is a relational database management system (RDBMS) developed by Microsoft. It is designed to store, manage, and retrieve data as requested by other software applications, which may run either on the same computer or across a network."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"Database"}),(0,a.jsx)(r.HCh,{children:"SQL database"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"})]}),(0,a.jsx)(o.cB,{text:"Permissions"}),(0,a.jsx)(o.XU,{children:"For detecting databases, Fides requires a user with the following permissions/role:"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"CREATE LOGIN username WITH PASSWORD = 'password';"}),(0,a.jsx)(r.HCh,{children:"GRANT SELECT, INSERT, UPDATE TO username;"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"]},A={placeholder:{name:"MySQL",key:"mysql_placeholder",connection_type:d.Rj.MYSQL,access:d.uv.READ,created_at:""},category:n.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Continuously monitor MySQL databases to detect and track schema-level changes, automatically discover and label data categories as well as automatically process DSR (privacy requests) and consent enforcement to proactively manage data governance risks."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"Database"}),(0,a.jsx)(r.HCh,{children:"SQL database"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"})]}),(0,a.jsx)(o.cB,{text:"Permissions"}),(0,a.jsx)(o.XU,{children:"For detecting databases, Fides requires a user with the following permissions/role:"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"CREATE USER 'username' IDENTIFIED WITH authentication_plugin BY 'password';"}),(0,a.jsx)(r.HCh,{children:"GRANT SELECT, INSERT ON database.* TO 'username'@'%';"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"]},b={name:"Okta",key:"okta_placeholder",connection_type:d.Rj.OKTA,access:d.uv.READ,created_at:""},D=(0,a.jsx)(a.Fragment,{children:"SSO providers manage user authentication and can help identify systems within your infrastructure. Adding an SSO provider as a data source allows you to detect connected systems, monitor access patterns, and enhance your data map for better visibility and control."}),R={placeholder:b,category:n.IDENTITY_PROVIDER,tags:["Discovery","Inventory"],overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"SSO providers manage user authentication and can help identify systems within your infrastructure. Adding an SSO provider as a data source allows you to detect connected systems, monitor access patterns, and enhance your data map for better visibility and control."})]}),{}),description:D},w={placeholder:{name:"Postgres",key:"postgres_placeholder",connection_type:d.Rj.POSTGRES,access:d.uv.READ,created_at:""},category:n.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Postgres is a relational database. Connect Fides to your Postgres Datbase to detect and track changes in schemas and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"Database"}),(0,a.jsx)(r.HCh,{children:"SQL database"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"})]}),(0,a.jsx)(o.XU,{children:"For each database, Fides requires the following permissions, where 'username' is the user set up for Fides, and 'database' is the name of the database you want to connect to."}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"CREATE USER username WITH LOGIN;"}),(0,a.jsx)(r.HCh,{children:"GRANT SELECT ON ALL TABLES IN SCHEMA public TO username;"}),(0,a.jsx)(r.HCh,{children:"GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO username;"})]})]})]}),{}),tags:["Detection","Discovery"]},E={placeholder:{name:"Amazon RDS MySQL",key:"rds_mysql_placeholder",connection_type:d.Rj.RDS_MYSQL,access:d.uv.READ,created_at:""},category:n.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Amazon RDS MySQL is a fully-managed relational database service that simplifies the setup, maintenance, management, and administration of MySQL databases. Connect Fides to your Amazon RDS MySQL to detect and track changes in schemas and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"Database"}),(0,a.jsx)(r.HCh,{children:"SQL database"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"})]}),(0,a.jsx)(o.cB,{text:"Permissions"}),(0,a.jsx)(o.XU,{children:"For detecting database RDS instances and clusters, Fides requires an IAM user with the following permissions/role:"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"rds:DescribeDBClusters"}),(0,a.jsx)(r.HCh,{children:"rds:DescribeDBInstances"}),(0,a.jsx)(r.HCh,{children:"rds-db:connect"})]}),(0,a.jsx)(o.XU,{children:"And per database instance and database it requires the following permissions, where 'username' is the user set up for Fides, and 'database' is the database name, you want to connect to."}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"CREATE USER 'username' IDENTIFIED WITH AWSAuthenticationPlugin AS 'RDS';"}),(0,a.jsx)(r.HCh,{children:"GRANT SELECT, INSERT ON database.* TO 'username'@'%';"})]})]})]}),{}),tags:["Discovery","Detection"]},_={placeholder:{name:"Amazon RDS Postgres",key:"rds_postgres_placeholder",connection_type:d.Rj.RDS_POSTGRES,access:d.uv.READ,created_at:""},category:n.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Amazon RDS Postgres is a fully-managed relational database service that simplifies the setup, maintenance, management, and administration of Postgres databases. Connect Fides to your Amazon RDS Postgres to detect and track changes in schemas and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"Database"}),(0,a.jsx)(r.HCh,{children:"SQL database"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"})]}),(0,a.jsx)(o.cB,{text:"Permissions"}),(0,a.jsx)(o.XU,{children:"For detecting database RDS instances and clusters, Fides requires an IAM user with the following permissions/role:"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"rds:DescribeDBClusters"}),(0,a.jsx)(r.HCh,{children:"rds:DescribeDBInstances"}),(0,a.jsx)(r.HCh,{children:"rds-db:connect"})]}),(0,a.jsx)(o.XU,{children:"For each database instance and database, Fides requires the following permissions, where 'username' is the user set up for Fides, and 'database' is the name of the database you want to connect to."}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"CREATE USER username WITH LOGIN;"}),(0,a.jsx)(r.HCh,{children:"GRANT rds_iam TO username;"}),(0,a.jsx)(r.HCh,{children:"GRANT SELECT ON ALL TABLES IN SCHEMA public TO username;"}),(0,a.jsx)(r.HCh,{children:"GRANT ALL PRIVILEGES ON ALL TABLES IN SCHEMA public TO username;"})]})]})]}),{}),tags:["Discovery","Detection"]},T={placeholder:{name:"Amazon S3",key:"s3_placeholder",connection_type:d.Rj.S3,access:d.uv.READ,created_at:""},category:n.DATA_WAREHOUSE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Continuously monitor S3 to detect and track schema-level changes, automatically discover and label data categories as well as automatically process DSR (privacy requests) and consent enforcement to proactively manage data governance risks."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"Object storage"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Cloud provider"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"})]}),(0,a.jsx)(o.cB,{text:"Permissions"}),(0,a.jsx)(o.XU,{children:"Fides requires an IAM principal with read-only S3 permissions in order to detect, discover, and classify sensitive data. The AWS-managed AmazonS3ReadOnlyAccess policy can be used to assign these permissions. An IAM administrator can create the necessary principal for Fides using the AWS IAM guides, and assign the appropriate permissions policy to the IAM principal."}),(0,a.jsx)(o.XU,{children:"The permissions allow Fides to list buckets and read object data data stored in those buckets. This data is inspected only for the purpose of detecting sensitive data risks and no data is stored by Fides."}),(0,a.jsx)(o.XU,{children:"Ethyca recommends creating an IAM role with the appropriate permissions, which will be assumed by Fides at runtime, with ephemeral credentials. There must also be an IAM user with fixed credentials that Fides uses strictly for assuming the IAM role with the appropriate permissions. If desired, Fides also supports authenticating directly as an IAM user with the appropriate permissions, but this is considered a less secure option."}),(0,a.jsx)(o.cB,{text:"Permissions list"}),(0,a.jsx)(o.Z5,{children:(0,a.jsx)(r.HCh,{children:"AmazonS3ReadOnlyAccess"})})]})]}),{}),instructions:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Configuring a Fides -> Amazon S3 Integration"}),(0,a.jsx)(o.cB,{text:"Step 1: Create an IAM role in AWS"}),(0,a.jsx)(o.XU,{children:"Create an IAM role for Fides' S3 access following the AWS IAM roles guide. This role will be referred to below as the Fides S3 Access Role."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Step 2: Assign policies to the IAM role"}),(0,a.jsx)(o.XU,{children:"Grant the necessary permissions to the IAM role by attaching the following AWS-managed policy:"}),(0,a.jsx)(o.aG,{data:[{permission:"AmazonS3ReadOnlyAccess",description:"Provides read-only access to all buckets via the AWS Management Console."}]}),(0,a.jsx)(o.cB,{text:"Step 3: Create an IAM user for assuming a role"}),(0,a.jsxs)(o.XU,{children:["Follow the ",(0,a.jsx)(o.Hn,{href:"https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-started.html#getting-started-iam-user",children:"AWS guide"})," for creating an IAM user to create an IAM user that Fides will authenticate as in order to assume the Fides S3 Access Role created above, and retrieve ephemeral credentials."]}),(0,a.jsx)(o.cB,{text:"Step 4: Grant the IAM user permission to assume the Fides S3 Access Role"}),(0,a.jsx)(o.XU,{children:"Navigate to the IAM user’s Permissions page and add a permission by creating an inline policy. This permission should grant the IAM user permission to assume the Fides S3 Access Role created above (you’ll need to retrieve the role ARN). The inline policy should look similar to this:"}),(0,a.jsx)(o.hX,{children:'{\n "Version": "2012-10-17",\n "Statement": [\n {\n "Sid": "VisualEditor0",\n "Effect": "Allow",\n "Action": "sts:AssumeRole",\n "Resource": "arn:aws:iam::[AWS ACCOUNT NUMBER]:role/[Fides S3 Access Role ARN]"\n }\n ]\n}'}),(0,a.jsx)(o.cB,{text:"Step 5: Create an access key for the IAM user"}),(0,a.jsxs)(o.vQ,{children:[(0,a.jsxs)(r.HCh,{children:["Create an access key for the IAM user under"," ",(0,a.jsx)("strong",{children:"Security credentials"}),"."]}),(0,a.jsx)(r.HCh,{children:"Select the Other use case"}),(0,a.jsx)(r.HCh,{children:"Copy the Access Key ID and Secret Access Key"})]}),(0,a.jsx)(o.cB,{text:"Step 6: Use the credentials to authenticate your integration"}),(0,a.jsxs)(o.XU,{children:["Provide the credentials to your Fides instance to securely connect Fides. For the Assume Role ARN, provide the ARN for the Fides S3 Access Role created in step 1."," "]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"]},H={placeholder:{name:"Scylla",key:"scylla_placeholder",connection_type:d.Rj.SCYLLA,access:d.uv.READ,created_at:""},category:n.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"ScyllaDB is an open-sources distributed NoSQL data store designed to be compatible with Apache Cassandra. Connect Fides to your ScyllaDB to detect and track changes in keyspaces and tables and automatically discover and label data categories to proactively manage data governance risks."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"Database"}),(0,a.jsx)(r.HCh,{children:"NoSQL database"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"}),(0,a.jsx)(r.HCh,{children:"DSR automation"})]}),(0,a.jsx)(o.cB,{text:"Permissions"}),(0,a.jsx)(o.XU,{children:"For detection and discovery, Fides requires a user with the SELECT permission on all keyspaces. If you intend to automate governance for DSR or Consent, Fides requires the role to to be granted SELECT and MODIFY on all keyspaces. The permissions allow Fides to read the schema of, and data stored in keyspaces, tables, and fields as well as write restricted updates based on your policy configurations to tables you specify as part of DSR and Consent orchestration. For a complete list of permissions view the Scylla DB documentation."}),(0,a.jsx)(o.cB,{text:"Permissions list"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"SELECT ALL KEYSPACES"}),(0,a.jsx)(r.HCh,{children:"MODIFY ALL KEYSPACES"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"]},B={placeholder:{name:"Snowflake",key:"snowflake_placeholder",connection_type:d.Rj.SNOWFLAKE,access:d.uv.READ,created_at:""},category:n.DATABASE,overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Snowflake is a cloud-based data warehousing platform designed for handling large-scale data storage and analytics. It enables organizations to store, manage, and analyze massive amounts of data efficiently, offering features like scalability, performance, and flexibility."}),(0,a.jsxs)(c,{children:[(0,a.jsx)(o.cB,{text:"Categories"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"Database"}),(0,a.jsx)(r.HCh,{children:"SQL database"}),(0,a.jsx)(r.HCh,{children:"Storage system"}),(0,a.jsx)(r.HCh,{children:"Data detection"}),(0,a.jsx)(r.HCh,{children:"Data discovery"})]}),(0,a.jsx)(o.cB,{text:"Permissions"}),(0,a.jsxs)(o.Z5,{children:[(0,a.jsx)(r.HCh,{children:"CREATE ROLE my_monitor_role;"}),(0,a.jsx)(r.HCh,{children:"GRANT USAGE ON DATABASE DATABASE_1 TO ROLE my_monitor_role;"}),(0,a.jsx)(r.HCh,{children:"GRANT USAGE ON SCHEMA DATABASE_1.TEST_SCHEMA TO ROLE my_monitor_role;"}),(0,a.jsx)(r.HCh,{children:"GRANT SELECT ON ALL TABLES IN SCHEMA DATABASE_1.TEST_SCHEMA TO ROLE my_monitor_role;"}),(0,a.jsx)(r.HCh,{children:"CREATE USER test_user PASSWORD='***';"}),(0,a.jsx)(r.HCh,{children:"GRANT ROLE my_monitor_role TO USER test_user;"})]})]})]}),{}),tags:["DSR Automation","Discovery","Detection"]},k={placeholder:{name:"Website",key:"website_placeholder",connection_type:d.Rj.WEBSITE,access:d.uv.READ,created_at:""},category:n.WEBSITE,tags:["Consent","Discovery","Detection"],overview:(0,a.jsx)(()=>(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.cB,{text:"Overview"}),(0,a.jsx)(o.XU,{children:"Websites, or “properties”, often process user data. Adding a website as an integration lets you configure a Consent Management Platform (CMP), a site-specific privacy center, and Cross-Origin requests via Fides. You can also set up monitors to detect vendors, track technologies like cookies or pixels, and ensure compliance."})]}),{})},F={[d.Rj.BIGQUERY]:x,[d.Rj.DATAHUB]:j,[d.Rj.DYNAMODB]:v,[d.Rj.GOOGLE_CLOUD_SQL_MYSQL]:f,[d.Rj.GOOGLE_CLOUD_SQL_POSTGRES]:S,[d.Rj.MSSQL]:C,[d.Rj.OKTA]:R,[d.Rj.RDS_MYSQL]:E,[d.Rj.RDS_POSTGRES]:_,[d.Rj.S3]:T,[d.Rj.SCYLLA]:H,[d.Rj.SNOWFLAKE]:B,[d.Rj.MYSQL]:A,[d.Rj.WEBSITE]:k,[d.Rj.POSTGRES]:w},L=Object.values(F),I=Object.keys(F),O={placeholder:{name:"",key:"placeholder",connection_type:d.Rj.MANUAL,access:d.uv.READ,created_at:""},category:n.DATA_WAREHOUSE,tags:[]};var U=e=>{var t;return e&&null!==(t=F[e])&&void 0!==t?t:O}},64176:function(e,t,s){var i=s(27378),n=s(20682);t.Z=e=>{let{data:t}=(0,n.$I)({});return(0,i.useMemo)(()=>null==t?void 0:t.items.find(t=>t.identifier===e),[t,e])}},31883:function(e,t,s){s.d(t,{Bw:function(){return i.Bw},D4:function(){return i.D4}});var i=s(19043)}}]);