ethyca-fides 2.73.0rc3__py2.py3-none-any.whl → 2.73.1__py2.py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of ethyca-fides might be problematic. Click here for more details.
- {ethyca_fides-2.73.0rc3.dist-info → ethyca_fides-2.73.1.dist-info}/METADATA +1 -1
- {ethyca_fides-2.73.0rc3.dist-info → ethyca_fides-2.73.1.dist-info}/RECORD +264 -254
- fides/_version.py +3 -3
- fides/api/alembic/alembic.ini +5 -1
- fides/api/alembic/migrations/env.py +7 -1
- fides/api/alembic/migrations/versions/c09e76282dd1_add_privacy_request_duplication_cols.py +64 -0
- fides/api/alembic/migrations/versions/xx_2025_10_17_1603_5093e92e2a5a_add_consent_data_v3_to_the_database.py +72 -0
- fides/api/alembic/migrations/versions/xx_2025_10_27_1834_67f0f2f4748e_adding_identity_definition_model.py +45 -0
- fides/api/api/v1/endpoints/privacy_request_endpoints.py +27 -0
- fides/api/db/base.py +2 -0
- fides/api/db/database.py +32 -2
- fides/api/models/identity_definition.py +65 -0
- fides/api/models/privacy_request/privacy_request.py +3 -0
- fides/api/models/v3/__init__.py +0 -0
- fides/api/models/v3/privacy_preferences.py +85 -0
- fides/api/schemas/application_config.py +28 -0
- fides/api/schemas/privacy_request.py +2 -0
- fides/api/service/connectors/query_configs/saas_query_config.py +4 -1
- fides/api/service/connectors/saas_connector.py +24 -10
- fides/common/api/v1/urn_registry.py +1 -0
- fides/config/__init__.py +3 -0
- fides/config/config_proxy.py +10 -0
- fides/config/duplicate_detection_settings.py +31 -0
- fides/config/utils.py +5 -0
- fides/service/privacy_request/privacy_request_service.py +96 -38
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/BcQzR23eIPTcIJtpdoKEA/_buildManifest.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{1099-fa8b82f521b23cce.js → 1099-31f9d973bc287df8.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{1115-d7ce851b36722c41.js → 1115-26393b586775ea29.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{1437-9dd64c20d38667df.js → 1437-8b1f6c8797c68bfd.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{155-1c80b19f58f44a0c.js → 155-f6302d32cba4cab6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{1817-0de0312294019817.js → 1817-2d5cf537a2992c79.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{1975.6ca0e76b5a3d1955.js → 1975.afe8cad52f904fcf.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{2040-a18cc21821e2d121.js → 2040-7eed8491ca7276ed.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{2397-16820a09e8ebfe33.js → 2397-083fc511acb6105d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{2921-a5dac2eacdcc32ff.js → 2921-34a43f2f8f5e5e69.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3377-c2c9eb177bec8719.js → 3377-988ac2f3a2e8d5d4.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3696-21e3dec6c2023875.js → 3696-6f90e41a53d22920.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3700-a2903cd95b8a27cb.js → 3700-f695f2f6b8251971.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3772-bb84842df51d3f3f.js → 3772-9f1713f9d5f97a10.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3873-d759bbe7137ae8c2.js → 3873-d18e47b327445db5.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{3923-7f0aa36c9e09cedf.js → 3923-f0a85dc5c3684fa0.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{401-874303feb3899562.js → 401-7c345d019bb9bcbd.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{4496-903c81292ffd8f91.js → 4496-4ff19366c597ec16.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{4817-d0cc100f259b3c2e.js → 4817-1f3e6ea38625d8d5.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{5185-fc171b6acce9f915.js → 5185-e7f8b81dd3dfbe0b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{5258-cf0d2c4c4d55a94b.js → 5258-62d6bc19add60aa6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{5279-8637d735471ec7f1.js → 5279-bd6cccabdd6ca447.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{549-2d9bde37e5fe13eb.js → 549-28537a6de666944b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{5643-48a5e0ad8b9fc3f7.js → 5643-3459282d296a3c59.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{5783-63912bab7f80b0f8.js → 5783-21775c232dce7af7.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6277-ec0e3fa4e4614098.js → 6277-3759894435cb8569.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6315-79a1506e01f2f92b.js → 6315-e2fb5ea77179a871.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6853-c348f6e95f987cbf.js → 6853-de9905d28e5b19b3.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{6954-c44ac4e70e777c2f.js → 6954-84789a4e4fb04eb9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/7059-2bb7c38578549703.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{7245-120f536e09decb85.js → 7245-c9bc628d078c2170.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{7476-4234fb244676ec13.js → 7476-a02d970ea4d3f7d0.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/7488-cf92601852e3c509.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/{7630-d7bd74d0cfdb22df.js → 7630-a11610c2b31ab2ca.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{7773-6dce6187fe2c6984.js → 7773-9ae233109bc64ec2.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{796-fae64888b8b2f369.js → 796-e36d610066135f8c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{8011-6e40c969c9fa7d35.js → 8011-75af8b480fa114e6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{8212-18d8da0f9208f978.js → 8212-393420e5a9751791.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{8373-24379b7d98e6922e.js → 8373-22b4d20e8cc06b3a.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9046-6428eac9f38b3886.js → 9046-d9c6498368b993d1.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9330-540a113903cb3c28.js → 9330-f753636a31c4ea04.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9676.704cc210f59d0083.js → 9676.7d029a5383595b69.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9682-a3b2fb1a2df1c948.js → 9682-d1a3afa1394f8304.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9826-aecc5ddec86989dc.js → 9826-a737a9956c1d0905.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9899-303921e3d0697960.js → 9899-addc35c81190203d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{9965-6906ffdaef0f0d69.js → 9965-25621dd507e0cfd6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{404-c31cef0ce3fbeebf.js → 404-eb019192ce498f32.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{_app-527b536ec8d40054.js → _app-ee588a308812715d.js} +11 -11
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{manual-a5865f42aafbe1f8.js → manual-7081e0e49f67716c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/add-systems/{multiple-f706664770dd3e7f.js → multiple-a188f84239f4b2a8.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{add-systems-3f0d8698f01aabc5.js → add-systems-ee9df33ebd471099.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/configure/{add-vendors-fcd031b2b775e4f3.js → add-vendors-4f9cf087fcee87e6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{configure-0bd2eb0110873c4d.js → configure-9af75caefc74eaca.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-experience/{[id]-0dd17c74a6cc17ff.js → [id]-1b02a4991201b7e4.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-experience-ae8dff75e1c6c413.js → privacy-experience-b08abefec298ccf1.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{[id]-84ba8b9947b9af0a.js → [id]-8c164c4b8310214e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/privacy-notices/{new-f03d1d0df4661a33.js → new-db789002d84c8829.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{privacy-notices-5a553b4bdbf85aa9.js → privacy-notices-6528eb24165aceb6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{properties-5cba88e6839a087d.js → properties-5cba30eba1e97e56.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/consent/{reporting-f2690c381c1d1a52.js → reporting-11f1683aa15e1a62.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{consent-289d21aa6c42828b.js → consent-614af0a2c2ba966c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/{[projectUrn]-cb56d56b9d918682.js → [projectUrn]-d60761c20382b259.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{projects-ccb66ba6d1ad93fc.js → projects-07e7d38ce34e1e6c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/{resources-ecb2d925d75dfe1e.js → resources-aed94957009eb3fd.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{data-catalog-75403467491a251b.js → data-catalog-127c114dd8f102ed.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/datastore/[monitorId]-21a0f5f1b5450976.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website/[monitorId]/{[systemId]-71cf0b06b3d5a326.js → [systemId]-899bf30dde8b3292.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/website/{[monitorId]-cc6b359fb4968bf0.js → [monitorId]-73085f50abb775c0.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-823d0dd77e66585b.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{activity-7dded115499a4a4a.js → activity-24a82e07a0008516.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{datamap-d1bb19fe4ef393dc.js → datamap-3b100c44ea9e3988.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/[collectionName]/{[...subfieldNames]-58c3f4c0b490264b.js → [...subfieldNames]-5f88280db168083e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/[datasetId]/{[collectionName]-74290432e74fcdc5.js → [collectionName]-bfbcf19c28c794ae.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{[datasetId]-8dad45f070a06609.js → [datasetId]-6fbe2b584a509226.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/dataset/{new-6aed6dc24c3be001.js → new-3d1e48f4b95d7f6b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{dataset-fdaec997c1b0753f.js → dataset-d3c6ecf7f29bea6e.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{[id]-63c4805e40673c60.js → [id]-0a4aa42be2da0255.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/datastore-connection/{new-b5a49743387eecef.js → new-14313e441a13192c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{datastore-connection-8f0804d9a38688a4.js → datastore-connection-f139d1ce26404f30.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{index-363b091a4d1d70ad.js → index-1343fa525a206571.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-b2d3d28b10a758e6.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/{integrations-b0da32fe3564c129.js → integrations-a733e5d7c3ce9bb8.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/new-privacy-requests-df0c95e408c54c7e.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/{[id]-0e4e4e7110362022.js → [id]-63b3be660fb12c0f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/digests/{new-2e15f6272e9aaeb6.js → new-d3b577962dd33266.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/{digests-65626dfcfacdc605.js → digests-aed9afd988a48acf.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/{[key]-768c4e2f6b05304c.js → [key]-720cde29f81db47f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/providers/{new-2d57a70e4d32e651.js → new-3668866076b53016.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/{providers-83f78354fa34bffe.js → providers-36a0ac36062abd02.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/{[id]-1b31764f520fbbc5.js → [id]-8063dceb32310c85.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/templates/{add-template-4c74456b6677bf07.js → add-template-4931c70bee62232f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/notifications/{templates-5deb80abd6156f7f.js → templates-a14c876b49422597.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{notifications-8d8716dda9a6f277.js → notifications-93af719dab3bd053.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{ant-components-52b1572442a20ab4.js → ant-components-9cfb469de7b4aeab.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{AntForm-a0437ba647d59799.js → AntForm-e715cc654fb6a5cd.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikAntFormItem-87285c544450ec46.js → FormikAntFormItem-72ae299bcb6adae6.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikControlled-57997dbd451a6eed.js → FormikControlled-2337f8c81a766eb0.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/form-experiments/{FormikField-65009783e0404153.js → FormikField-0af454f55494f6fa.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{forms-eafef007c179340f.js → forms-d1b90ffa996fbd89.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/poc/{table-migration-7933a824a45d0ee6.js → table-migration-19724b9e0581b96d.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-cdd3754289a28317.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/configure/{storage-16f77a6291bb02fe.js → storage-cc41ae605f2b55ae.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/{configure-d2b3293ab496f7bc.js → configure-fa82cffba448ccd8.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{privacy-requests-af4f48d10926e4a4.js → privacy-requests-6e4c535b6d614596.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/{[id]-dd3c3d780533a9c2.js → [id]-bc1c289647e52c48.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/properties/{add-property-d1af260c3ddbf68b.js → add-property-cbfaa23d96f5ed0b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{properties-9bb7fe3577402008.js → properties-a15a3fd0ed88f39c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-632b3ee563d070f2.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/sandbox/privacy-notices-afe921f6e2a526fb.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/consent/[configuration_id]/{[purpose_id]-35626e9d8e0a3ca2.js → [purpose_id]-19de0024418a4924.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{consent-39b5142099ed8705.js → consent-5b6807dced8d03c5.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{custom-fields-64c638ea33bb3ff9.js → custom-fields-7dce52bfc1b2652c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domain-records-3843fbaf5bc433f1.js → domain-records-3b87002753b23ca5.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{domains-ea549fabce96fde4.js → domains-aacd9d0ad47082d4.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{email-templates-0fe318a9dfc1f593.js → email-templates-3cdd0b39901190ba.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{locations-c42c856510cad6fd.js → locations-61076eedbfd137b9.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{organization-e4c552a5797c3fa5.js → organization-b07b11d6002f8c8c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{privacy-requests-2790d31b59cc3c74.js → privacy-requests-084a2b4431d35322.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/settings/{regulations-3c608512c415fca4.js → regulations-b7c0d3b1b754e70f.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/[id]/{test-datasets-e0e1a5142e41e9f2.js → test-datasets-b72d36243a0a545c.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/systems/configure/{[id]-9e815520adb3e580.js → [id]-59c89489fa32a4cb.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{systems-d8ce572ad07ed28c.js → systems-cfaa37a0df83674b.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-d2eb5a81d4a19c7d.js +1 -0
- fides/ui-build/static/admin/_next/static/chunks/pages/user-management/profile/{[id]-75d96422db98196f.js → [id]-5d5a68e555d18693.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{user-management-598f98fd88505e1e.js → user-management-e6a211d8a0401086.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/{webpack-0a3b419ab682b8f9.js → webpack-c2c11809187b9f84.js} +1 -1
- fides/ui-build/static/admin/_next/static/css/d41a048a166d50e4.css +1 -0
- fides/ui-build/static/admin/_next/static/css/d78390d6134d8328.css +1 -0
- fides/ui-build/static/admin/add-systems/manual.html +1 -1
- fides/ui-build/static/admin/add-systems/multiple.html +1 -1
- fides/ui-build/static/admin/add-systems.html +1 -1
- fides/ui-build/static/admin/consent/configure/add-vendors.html +1 -1
- fides/ui-build/static/admin/consent/configure.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-experience.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/[id].html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices/new.html +1 -1
- fides/ui-build/static/admin/consent/privacy-notices.html +1 -1
- fides/ui-build/static/admin/consent/properties.html +1 -1
- fides/ui-build/static/admin/consent/reporting.html +1 -1
- fides/ui-build/static/admin/consent.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn]/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects/[projectUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/projects.html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-catalog/[systemId]/resources.html +1 -1
- fides/ui-build/static/admin/data-catalog.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/datastore/[monitorId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/datastore.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/website/[monitorId]/[systemId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/website/[monitorId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/website.html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center.html +1 -1
- fides/ui-build/static/admin/data-discovery/activity.html +1 -1
- fides/ui-build/static/admin/data-discovery/detection/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/detection.html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery/[resourceUrn].html +1 -1
- fides/ui-build/static/admin/data-discovery/discovery.html +1 -1
- fides/ui-build/static/admin/datamap.html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName]/[...subfieldNames].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId]/[collectionName].html +1 -1
- fides/ui-build/static/admin/dataset/[datasetId].html +1 -1
- fides/ui-build/static/admin/dataset/new.html +1 -1
- fides/ui-build/static/admin/dataset.html +1 -1
- fides/ui-build/static/admin/datastore-connection/[id].html +1 -1
- fides/ui-build/static/admin/datastore-connection/new.html +1 -1
- fides/ui-build/static/admin/datastore-connection.html +1 -1
- fides/ui-build/static/admin/index.html +1 -1
- fides/ui-build/static/admin/integrations/[id].html +1 -1
- fides/ui-build/static/admin/integrations.html +1 -1
- fides/ui-build/static/admin/login/[provider].html +1 -1
- fides/ui-build/static/admin/login.html +1 -1
- fides/ui-build/static/admin/new-privacy-requests.html +1 -1
- fides/ui-build/static/admin/notifications/digests/[id].html +1 -1
- fides/ui-build/static/admin/notifications/digests/new.html +1 -1
- fides/ui-build/static/admin/notifications/digests.html +1 -1
- fides/ui-build/static/admin/notifications/providers/[key].html +1 -1
- fides/ui-build/static/admin/notifications/providers/new.html +1 -1
- fides/ui-build/static/admin/notifications/providers.html +1 -1
- fides/ui-build/static/admin/notifications/templates/[id].html +1 -1
- fides/ui-build/static/admin/notifications/templates/add-template.html +1 -1
- fides/ui-build/static/admin/notifications/templates.html +1 -1
- fides/ui-build/static/admin/notifications.html +1 -1
- fides/ui-build/static/admin/poc/ant-components.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/AntForm.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikAntFormItem.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikControlled.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikField.html +1 -1
- fides/ui-build/static/admin/poc/form-experiments/FormikSpreadField.html +1 -1
- fides/ui-build/static/admin/poc/forms.html +1 -1
- fides/ui-build/static/admin/poc/table-migration.html +1 -1
- fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/storage.html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure.html +1 -1
- fides/ui-build/static/admin/privacy-requests.html +1 -1
- fides/ui-build/static/admin/properties/[id].html +1 -1
- fides/ui-build/static/admin/properties/add-property.html +1 -1
- fides/ui-build/static/admin/properties.html +1 -1
- fides/ui-build/static/admin/reporting/datamap.html +1 -1
- fides/ui-build/static/admin/sandbox/privacy-notices.html +1 -0
- fides/ui-build/static/admin/settings/about/alpha.html +1 -1
- fides/ui-build/static/admin/settings/about.html +1 -1
- fides/ui-build/static/admin/settings/consent/[configuration_id]/[purpose_id].html +1 -1
- fides/ui-build/static/admin/settings/consent.html +1 -1
- fides/ui-build/static/admin/settings/custom-fields/[id].html +1 -1
- fides/ui-build/static/admin/settings/custom-fields/new.html +1 -1
- fides/ui-build/static/admin/settings/custom-fields.html +1 -1
- fides/ui-build/static/admin/settings/domain-records.html +1 -1
- fides/ui-build/static/admin/settings/domains.html +1 -1
- fides/ui-build/static/admin/settings/email-templates.html +1 -1
- fides/ui-build/static/admin/settings/locations.html +1 -1
- fides/ui-build/static/admin/settings/organization.html +1 -1
- fides/ui-build/static/admin/settings/privacy-requests.html +1 -1
- fides/ui-build/static/admin/settings/regulations.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id]/test-datasets.html +1 -1
- fides/ui-build/static/admin/systems/configure/[id].html +1 -1
- fides/ui-build/static/admin/systems.html +1 -1
- fides/ui-build/static/admin/taxonomy.html +1 -1
- fides/ui-build/static/admin/user-management/new.html +1 -1
- fides/ui-build/static/admin/user-management/profile/[id].html +1 -1
- fides/ui-build/static/admin/user-management.html +1 -1
- fides/ui-build/static/admin/_next/static/chunks/7059-3f2641e3130b4ef8.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/7488-2db0992474f8056e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/datastore/[monitorId]-e46e017a3919f94e.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center-cbff5db86e6951c4.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/[id]-3b7f47985452e01d.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/new-privacy-requests-d1152cbc3c1bbbbb.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/privacy-requests/[id]-27c56466eab98b15.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/reporting/datamap-33ce744d07982c0f.js +0 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/taxonomy-0cae23a599830708.js +0 -1
- fides/ui-build/static/admin/_next/static/css/919f947a862d28cd.css +0 -1
- fides/ui-build/static/admin/_next/static/iSH8D4nDpVZCfB-o7en4n/_buildManifest.js +0 -1
- {ethyca_fides-2.73.0rc3.dist-info → ethyca_fides-2.73.1.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.73.0rc3.dist-info → ethyca_fides-2.73.1.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.73.0rc3.dist-info → ethyca_fides-2.73.1.dist-info}/licenses/LICENSE +0 -0
- {ethyca_fides-2.73.0rc3.dist-info → ethyca_fides-2.73.1.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{iSH8D4nDpVZCfB-o7en4n → BcQzR23eIPTcIJtpdoKEA}/_ssgManifest.js +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/projects/[projectUrn]/{[resourceUrn]-5d133ec635cd716c.js → [resourceUrn]-32bd7a7c990e5bf6.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-catalog/[systemId]/resources/{[resourceUrn]-9d8efe43b69a285d.js → [resourceUrn]-b07a0707f8c2ec0d.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/{datastore-1b0ed3b3ceedfd94.js → datastore-4498881c26f1458d.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/action-center/{website-60ad14c879b4fe27.js → website-5b3e0009d442bc3f.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/detection/{[resourceUrn]-2df143c1e1f79040.js → [resourceUrn]-b072cf25aefc98f6.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{detection-e37c800313e2a422.js → detection-fd3e8817d8e6dee4.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/discovery/{[resourceUrn]-7022ca5fa834b633.js → [resourceUrn]-146624cf59792bf7.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/data-discovery/{discovery-6178e22397f20f92.js → discovery-9695cc9c85592ec5.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/{[id]-b5140de4431a7ff5.js → [id]-8634aae3259def37.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/settings/custom-fields/{new-dcc16459e754fbbd.js → new-2d9dcca17965dc57.js} +0 -0
- /fides/ui-build/static/admin/_next/static/chunks/pages/user-management/{new-bc1568bb47d198a9.js → new-7dce2916cc589c54.js} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2040],{77213:function(e,n,t){t.d(n,{Z:function(){return p}});var i=t(24246),s=t(
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2040],{77213:function(e,n,t){t.d(n,{Z:function(){return p}});var i=t(24246),s=t(98227),r=t(88038),a=t.n(r),o=t(86677);t(27378);var g=t(25980),l=t(90867),u=t(42478),c=t(77830),d=()=>{let e=(0,o.useRouter)();return(0,i.jsx)(s.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)(s.xuv,{children:[(0,i.jsxs)(s.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,i.jsx)(s.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,i.jsx)(s.wpx,{onClick:()=>{e.push(c.AD)},children:"Configure"})]}),(0,i.jsxs)(s.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},p=e=>{let{children:n,title:t,padded:r=!0,mainProps:c}=e,p=(0,g.hz)(),f=(0,o.useRouter)(),m="/privacy-requests"===f.pathname||"/datastore-connection"===f.pathname,h=!(p.flags.messagingConfiguration&&m),{data:y}=(0,u.JE)(void 0,{skip:h}),{data:x}=(0,l.PW)(void 0,{skip:h}),v=p.flags.messagingConfiguration&&(!y||!x)&&m;return(0,i.jsxs)(s.kCb,{"data-testid":t,direction:"column",h:"100vh",children:[(0,i.jsxs)(a(),{children:[(0,i.jsxs)("title",{children:["Fides Admin UI - ",t]}),(0,i.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,i.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,i.jsxs)(s.kCb,{as:"main",direction:"column",py:r?6:0,px:r?10:0,h:r?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...c,children:[v?(0,i.jsx)(d,{}):null,n]})]})}},58754:function(e,n,t){var i=t(24246),s=t(98227),r=t(70788);n.Z=e=>{let{heading:n,breadcrumbItems:t,isSticky:a=!0,children:o,rightContent:g,style:l,...u}=e;return(0,i.jsxs)("div",{...u,style:a?{position:"sticky",top:"-24px",paddingTop:"24px",paddingBottom:"24px",paddingLeft:"40px",marginLeft:"-40px",paddingRight:"40px",marginRight:"-40px",marginTop:"-24px",left:0,zIndex:20,backgroundColor:"white",...l}:{paddingBottom:"24px",...l},children:[(0,i.jsxs)(s.jqI,{justify:"space-between",children:["string"==typeof n?(0,i.jsx)(s.lQT,{className:t||o?"pb-4":void 0,level:1,"data-testid":"page-heading",children:n}):n,g&&(0,i.jsx)("div",{"data-testid":"page-header-right-content",children:g})]}),!!t&&(0,i.jsx)(r.m,{className:o?"pb-4":void 0,items:t,"data-testid":"page-breadcrumb"}),o]})}},19904:function(e,n,t){t.d(n,{Tg:function(){return a}});var i=t(24246),s=t(16134),r=t(31793);let a=e=>(0,s.C)(r.uu).filter(n=>e.includes(n)).length>0;n.ZP=e=>{let{scopes:n,children:t}=e;return a(n)?(0,i.jsx)(i.Fragment,{children:t}):null}},70788:function(e,n,t){t.d(n,{m:function(){return l}});var i=t(24246),s=t(98227),r=t(79894),a=t.n(r),o=t(27378);let{Text:g}=s.AntTypography,l=e=>{let{items:n,...t}=e,r=(0,o.useMemo)(()=>null==n?void 0:n.map((e,t)=>{let r=t===n.length-1,o={...e},l=o.onClick&&!o.href;return("string"==typeof o.title&&(o.title=(0,i.jsx)(g,{style:{color:"inherit",maxWidth:r?void 0:400},ellipsis:!r,id:r?"breadcrumb-current-page":void 0,children:o.title})),l)?o.title=(0,i.jsx)(s.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)(a(),{href:o.href,className:"ant-breadcrumb-link",children:o.title}),delete o.href)),o}),[n]);return(0,i.jsx)(s.zrq,{items:r,...t})}},42478:function(e,n,t){t.d(n,{FU:function(){return l},JE:function(){return s},Ki:function(){return c},SU:function(){return d},W:function(){return p},h9:function(){return r},jc:function(){return i},qt:function(){return g},sn:function(){return u}});let{useGetEmailInviteStatusQuery:i,useGetActiveMessagingProviderQuery:s,useCreateMessagingConfigurationMutation:r,useCreateMessagingConfigurationSecretsMutation:a,useGetMessagingConfigurationDetailsQuery:o,useGetMessagingConfigurationsQuery:g,useGetMessagingConfigurationByKeyQuery:l,useUpdateMessagingConfigurationByKeyMutation:u,useUpdateMessagingConfigurationSecretsByKeyMutation:c,useCreateTestConnectionMessageMutation:d,useDeleteMessagingConfigurationByKeyMutation:p}=t(78780).u.injectEndpoints({endpoints:e=>({getEmailInviteStatus:e.query({query:()=>({url:"/messaging/email-invite/status"}),providesTags:()=>["Email Invite Status"]}),createMessagingConfiguration:e.mutation({query:e=>({url:"messaging/config",method:"POST",body:e}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getActiveMessagingProvider:e.query({queryFn:async(e,n,t,i)=>{let s=await i({url:"messaging/default/active"});return s.error&&404===s.error.status?{data:null}:s},providesTags:["Messaging Config"]}),createMessagingConfigurationSecrets:e.mutation({query:e=>({url:"messaging/default/".concat(e.service_type,"/secret"),method:"PUT",body:e.details}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getMessagingConfigurationDetails:e.query({query:e=>({url:"messaging/default/".concat(e.type)}),providesTags:["Messaging Config"]}),getMessagingConfigurations:e.query({query:()=>({url:"messaging/config"}),providesTags:["Messaging Config"]}),getMessagingConfigurationByKey:e.query({query:e=>({url:"messaging/config/".concat(e.key)}),providesTags:["Messaging Config"]}),createTestConnectionMessage:e.mutation({query:e=>({url:"messaging/test/".concat(e.service_type),method:"POST",body:e.details}),invalidatesTags:["Messaging Config"]}),updateMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"PATCH",body:e.config}),invalidatesTags:["Messaging Config","Configuration Settings"]}),updateMessagingConfigurationSecretsByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key,"/secret"),method:"PUT",body:e.secrets}),invalidatesTags:["Messaging Config","Configuration Settings"]}),deleteMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"DELETE"}),invalidatesTags:["Messaging Config","Configuration Settings"]})})})},3642:function(e,n,t){var i=t(24246),s=t(98227),r=t(86677),a=t.n(r),o=t(27378),g=t(812),l=t(58452),u=t(77830),c=t(19904),d=t(46628),p=t(98795),f=t(65735);n.Z=e=>{let{property:n,triggerComponent:t}=e,r=(0,s.pmc)(),m=(0,s.qY0)(),[h]=(0,p.YW)(),y=n.experiences.length>0,x=async()=>{m.onClose();let e=await h(n.id);if((0,g.D4)(e)){r((0,d.Vo)((0,g.e$)(e.error)));return}a().push("".concat(u.ru)),r((0,d.t5)("Property ".concat(n.name," deleted successfully")))};return(0,i.jsxs)(c.ZP,{scopes:[f.Sh.PROPERTY_DELETE],children:[(0,i.jsx)(s.esZ,{title:y?"All of the experiences on this property must be unlinked before the property can be deleted.":void 0,placement:"right",children:(0,i.jsx)("span",{children:o.cloneElement(t,{onClick:e=>{e.stopPropagation(),y||m.onOpen()},disabled:y})})}),(0,i.jsx)(l.Z,{isOpen:m.isOpen,onClose:m.onClose,onConfirm:x,title:"Delete ".concat(n.name),message:(0,i.jsxs)(s.xvT,{color:"gray.500",children:["You are about to delete property ",n.name,". This action is not reversible and will result in ",n.name," no longer being available for your data governance. Are you sure you want to proceed?"]}),continueButtonText:"Ok",isCentered:!0,icon:(0,i.jsx)(s.aNP,{})})]})}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2397],{14908:function(e,a,s){var i=s(86677),t=s(27378);let l=e=>e.startsWith("#")?e.slice(1):e;a.Z=e=>{let{tabKeys:a,initialTab:s}=e,r=(0,i.useRouter)(),o=r.asPath.split("#")[1]||a[0],[c,n]=(0,t.useState)(o);return(0,t.useEffect)(()=>{s&&a.includes(s)&&n(s)},[s,a,r.isReady]),{activeTab:c,onTabChange:(0,t.useCallback)(async e=>{if(!a.includes(e)){await r.replace({pathname:r.pathname,query:r.query,hash:void 0}),n(a[0]);return}r.isReady&&(await r.replace({pathname:r.pathname,query:r.query,hash:l(e)},void 0,{shallow:!0}),n(e))},[r,a]),setActiveTab:n}}},69828:function(e,a,s){s.d(a,{Y:function(){return r}});var i=s(24246),t=s(
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2397],{14908:function(e,a,s){var i=s(86677),t=s(27378);let l=e=>e.startsWith("#")?e.slice(1):e;a.Z=e=>{let{tabKeys:a,initialTab:s}=e,r=(0,i.useRouter)(),o=r.asPath.split("#")[1]||a[0],[c,n]=(0,t.useState)(o);return(0,t.useEffect)(()=>{s&&a.includes(s)&&n(s)},[s,a,r.isReady]),{activeTab:c,onTabChange:(0,t.useCallback)(async e=>{if(!a.includes(e)){await r.replace({pathname:r.pathname,query:r.query,hash:void 0}),n(a[0]);return}r.isReady&&(await r.replace({pathname:r.pathname,query:r.query,hash:l(e)},void 0,{shallow:!0}),n(e))},[r,a]),setActiveTab:n}}},69828:function(e,a,s){s.d(a,{Y:function(){return r}});var i=s(24246),t=s(98227),l=s(70788);let r=[(0,i.jsx)(t.PJP.S9g,{},"layers"),(0,i.jsx)(t.PJP.ehp,{},"dataset"),(0,i.jsx)(t.PJP.iA_,{},"table"),(0,i.jsx)(t.PJP.$4y,{style:{transform:"rotate(-90deg)"}},"field")];a.Z=e=>{let{resourceUrn:a,parentLink:s,onPathClick:t=()=>{}}=e,o=[];if(a||o.push({title:"All activity"}),a){o.push({title:"All activity",href:s});let e=a.split(".");e.forEach((a,s)=>{0!==s&&o.push({title:a,icon:r[s-1],onClick:a=>{a.preventDefault(),t(e.slice(0,s+1).join("."))}})})}return(0,i.jsx)(l.m,{"data-testid":"results-breadcrumb",items:o})}},1039:function(e,a,s){s.d(a,{Z:function(){return P}});var i,t,l=s(24246),r=s(59003),o=s(92222),c=s(98227),n=s(27378),d=s(47935),u=s(70675),h=s(72625),g=s(54409),j=s(79947),x=s(87667),m=s(50169),v=s(28278),p=s(65735),y=s(74241),R=e=>{let{resourceType:a,changeTypeOverride:s}=e,i=(0,o.Cl)(),t=[];return a?a===p.D$.SCHEMA?{columns:[i.accessor(e=>e.name,{id:"name",cell:e=>(0,l.jsx)(x.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Name",...e}),size:300}),i.accessor(e=>e.urn,{id:"project",cell:e=>(0,l.jsx)(d.G3,{value:(0,y.Z)(e.getValue())}),header:e=>(0,l.jsx)(d.Rr,{value:"Project",...e})}),i.display({id:"status",cell:e=>(0,l.jsx)(m.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Status",...e})}),i.accessor(e=>e.system,{id:"system",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"System",...e})}),i.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"Detected by",...e})}),i.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,l.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"When",...e})}),i.display({id:"actions",cell:e=>(0,l.jsx)(g.Z,{ignoreChildActions:s===v.E.MONITORED||s===v.E.MUTED,resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:a===p.D$.TABLE?{columns:[i.accessor(e=>e.name,{id:"name",cell:e=>(0,l.jsx)(x.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Table name",...e}),size:300}),i.accessor(e=>e.description,{id:"description",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,l.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),i.display({id:"status",cell:e=>(0,l.jsx)(m.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Status",...e})}),i.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"Detected by",...e})}),i.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,l.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"When",...e})}),i.display({id:"actions",cell:e=>(0,l.jsx)(g.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:a===p.D$.FIELD?{columns:[i.accessor(e=>e.name,{id:"name",cell:e=>(0,l.jsx)(x.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Field name",...e}),size:300}),i.accessor(e=>e.source_data_type,{id:"data-type",cell:e=>(0,l.jsx)(j.Z,{type:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"Data type",...e})}),i.accessor(e=>e.description,{id:"description",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,l.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),i.display({id:"status",cell:e=>(0,l.jsx)(m.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Status",...e})}),i.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"Detected by",...e})}),i.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,l.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"When",...e})}),i.display({id:"actions",cell:e=>(0,l.jsx)(g.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:a===p.D$.ENDPOINT?{columns:[i.accessor(e=>e.name,{id:"name",cell:e=>(0,l.jsx)(x.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Object",...e}),size:300}),i.accessor(e=>e.description,{id:"description",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue(),cellProps:e}),header:e=>(0,l.jsx)(d.Rr,{value:"Description",...e}),meta:{showHeaderMenu:!0}}),i.display({id:"status",cell:e=>(0,l.jsx)(m.Z,{changeTypeOverride:s,result:e.row.original}),header:e=>(0,l.jsx)(d.Rr,{value:"Status",...e})}),i.accessor(e=>e.monitor_config_id,{id:"monitor",cell:e=>(0,l.jsx)(d.G3,{value:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"Detected by",...e})}),i.accessor(e=>e.updated_at,{id:"time",cell:e=>(0,l.jsx)(h.Cy,{time:e.getValue()}),header:e=>(0,l.jsx)(d.Rr,{value:"When",...e})}),i.display({id:"actions",cell:e=>(0,l.jsx)(g.Z,{resource:e.row.original}),header:"Actions",size:200,meta:{disableRowClick:!0}})]}:{columns:t}:{columns:t}},f=s(14908);(i=t||(t={})).ACTION_REQUIRED="action-required",i.MONITORED="monitored",i.UNMONITORED="unmonitored";let b={"action-required":{label:"Action Required",key:"action-required",filters:[p.LL.ADDITION,p.LL.REMOVAL],childFilters:[p.LL.ADDITION,p.LL.REMOVAL]},monitored:{label:"Monitored",key:"monitored",filters:[p.LL.MONITORED],childFilters:[],changeTypeOverride:v.E.MONITORED},unmonitored:{label:"Unmonitored",key:"unmonitored",filters:[p.LL.MUTED],childFilters:[],changeTypeOverride:v.E.MUTED}};var w=()=>{var e,a,s;let{activeTab:i,onTabChange:l}=(0,f.Z)({tabKeys:Object.values(t)});return{filterTabs:Object.values(b),activeTabKey:i,onTabChange:l,activeDiffFilters:null===(e=b[i])||void 0===e?void 0:e.filters,activeChildDiffFilters:null===(a=b[i])||void 0===a?void 0:a.childFilters,activeChangeTypeOverride:null===(s=b[i])||void 0===s?void 0:s.changeTypeOverride}},C=s(47182),D=s(38347),T=s(7940),O=s(80285),E=s(36168),_=s(30952);let k={items:[],total:0,page:1,size:50,pages:1},Z=()=>(0,l.jsx)(c.gCW,{mt:6,p:10,spacing:4,borderRadius:"base",maxW:"70%","data-testid":"empty-state",alignSelf:"center",margin:"auto",children:(0,l.jsxs)(c.gCW,{children:[(0,l.jsx)(c.xvT,{fontSize:"md",fontWeight:"600",children:"No activity found"}),(0,l.jsx)(c.xvT,{fontSize:"sm",children:"You're up to date!"})]})});var P=e=>{let{resourceUrn:a}=e,[s,i]=(0,n.useState)(""),{filterTabs:t,activeTabKey:h,onTabChange:g,activeDiffFilters:j,activeChildDiffFilters:x,activeChangeTypeOverride:m}=w(),{PAGE_SIZES:v,pageSize:y,setPageSize:f,onPreviousPageClick:b,isPreviousPageDisabled:P,onNextPageClick:M,isNextPageDisabled:I,startRange:N,endRange:A,pageIndex:L,setTotalPages:V,resetPageIndexToDefault:z}=(0,d.oi)();(0,n.useEffect)(()=>{z()},[a,s,z,j,x]);let{isFetching:S,isLoading:G,data:F}=(0,u.z8)({staged_resource_urn:a,page:L,size:y,child_diff_status:x,diff_status:j,search:s}),q=(0,T.G)(null==F?void 0:F.items[0]),{columns:W}=R({resourceType:q,changeTypeOverride:m}),{items:U,total:$,pages:H}=(0,n.useMemo)(()=>null!=F?F:k,[F]);(0,n.useEffect)(()=>{V(H)},[H,V]);let J=(0,n.useMemo)(()=>W,[W]),{navigateToDetectionResults:K}=(0,C.Z)(),Q=(0,r.b7)({getCoreRowModel:(0,o.sC)(),getGroupedRowModel:(0,o.qe)(),getExpandedRowModel:(0,o.rV)(),getRowId:O.Z,columns:J,manualPagination:!0,data:U,columnResizeMode:"onChange"});return G?(0,l.jsx)(d.I4,{rowHeight:36,numRows:36}):(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(c.A5g,{items:t.map(e=>({key:e.key,label:e.label})),activeKey:h,onChange:e=>g(e)}),(0,l.jsx)(d.Q$,{children:(0,l.jsx)(c.kCb,{direction:"row",alignItems:"center",justifyContent:"space-between",width:"full",children:(0,l.jsxs)(c.kCb,{gap:6,align:"center",children:[(0,l.jsx)(c.xuv,{flexShrink:0,children:(0,l.jsx)(_.f,{value:s,onChange:i})}),(0,l.jsx)(D.a,{})]})})}),(0,l.jsx)(d.ZK,{tableInstance:Q,onRowClick:e=>K({resourceUrn:e.urn,filterTab:h}),getRowIsClickable:e=>q!==p.D$.FIELD||(0,E.Z)(e),emptyTableNotice:(0,l.jsx)(Z,{})}),(0,l.jsx)(d.s8,{totalRows:$||0,pageSizes:v,setPageSize:f,onPreviousPageClick:b,isPreviousPageDisabled:P||S,onNextPageClick:M,isNextPageDisabled:I||S,startRange:N,endRange:A})]})}},79947:function(e,a,s){var i=s(24246),t=s(98227);a.Z=e=>{let{type:a}=e;return(0,i.jsx)(t.kCb,{align:"center",h:"full",children:!!a&&(0,i.jsx)(t.j8w,{children:a})})}}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2921],{95813:function(e,l,r){r.d(l,{S:function(){return t}});let t={input:"default text",radio:"2",checkbox:!0,switch:!0,select:"2",multiselect:["2"],tags:["1"],date:"",number:12}},12921:function(e,l,r){r.r(l),r.d(l,{FormikSpreadFieldPOC:function(){return u}});var t=r(24246),n=r(
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2921],{95813:function(e,l,r){r.d(l,{S:function(){return t}});let t={input:"default text",radio:"2",checkbox:!0,switch:!0,select:"2",multiselect:["2"],tags:["1"],date:"",number:12}},12921:function(e,l,r){r.r(l),r.d(l,{FormikSpreadFieldPOC:function(){return u}});var t=r(24246),n=r(98227),i=r(3124),s=r.n(i),d=r(34090),c=r(95813);let{Text:o,Title:a}=n.AntTypography,u=()=>(0,t.jsx)(d.J9,{initialValues:{...c.S},onSubmit:console.log,children:e=>{let{values:l}=e;return(0,t.jsxs)(n.bue,{children:[(0,t.jsxs)(n.JGx,{span:12,children:[(0,t.jsx)(a,{level:2,children:"<Formik> + <Form> + {...field}"}),(0,t.jsxs)("div",{className:"mb-4",children:[(0,t.jsx)(n.j8w,{color:"error",children:"non functional"}),(0,t.jsx)(n.j8w,{color:"error",children:"high effort"})]}),(0,t.jsx)(d.l0,{children:(0,t.jsxs)(n.jqI,{vertical:!0,gap:16,children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"input",children:"Input"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"input",children:e=>{let{field:l}=e;return(0,t.jsx)(n.AntInput,{...l,id:"input",type:"text"})}})})]}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"radio",children:e=>{let{field:l}=e;return(0,t.jsxs)(n.y02.Group,{...l,children:[(0,t.jsx)(n.y02,{value:"1",children:"Radio 1"}),(0,t.jsx)(n.y02,{value:"2",children:"Radio 2"})]})}})}),(0,t.jsxs)("div",{children:[(0,t.jsx)(d.gN,{name:"checkbox",children:e=>{let{field:r}=e;return(0,t.jsx)(n.E_O,{...r,defaultChecked:l.checkbox,children:"Checkbox"})}}),(0,t.jsx)(o,{type:"warning",children:"Requires additional logic to handle default state"})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"switch",children:"Switch"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"switch",children:e=>{let{field:l}=e;return(0,t.jsx)(n.rAg,{id:"switch",...l})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Switch's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"select",children:"Select"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"select",children:e=>{let{field:r}=e;return(0,t.jsx)(n.WPr,{allowClear:!0,id:"select",className:"w-full",defaultValue:l.select,status:"error",...r,options:[{value:"1",label:"Option 1"},{value:"2",label:"Option 2"}]})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Select's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"multiselect",children:"Multiselect"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"multiselect",children:e=>{let{field:r}=e;return(0,t.jsx)(n.WPr,{mode:"multiple",allowClear:!0,id:"multiselect",className:"w-full",defaultValue:l.multiselect,status:"error",...r,options:[{value:"1",label:"Option 1"},{value:"2",label:"Option 2"}]})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Select's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"tags",children:"Tags"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"tags",children:e=>{let{field:r}=e;return(0,t.jsx)(n.WPr,{mode:"tags",allowClear:!0,id:"tags",className:"w-full",defaultValue:l.tags,status:"error",...r,options:[{value:"1",label:"Option 1"},{value:"2",label:"Option 2"}]})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant Select's onChange is too different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"date",children:"Date"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"date",children:e=>{let{field:l}=e;return(0,t.jsx)(n.cv2,{id:"date",status:"error",...l})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant DatePicker's onChange is different from Formik, requires to be fully controlled."})]}),(0,t.jsxs)("div",{children:[(0,t.jsx)("label",{htmlFor:"number",children:"Number"}),(0,t.jsx)("div",{children:(0,t.jsx)(d.gN,{name:"number",children:e=>{let{field:r}=e;return(0,t.jsx)(n.W7D,{id:"number",defaultValue:l.number,status:"error",...r})}})}),(0,t.jsx)(o,{type:"danger",children:"Ant InputNumber's onChange is different from Formik, requires to be fully controlled."})]})]})})]}),(0,t.jsxs)(n.JGx,{span:8,offset:4,children:[(0,t.jsx)(a,{level:4,children:"Controlled Values"}),(0,t.jsx)(n.V4A,{style:{backgroundColor:s().FIDESUI_MINOS,color:s().FIDESUI_CORINTH},children:(0,t.jsx)("pre",{children:(0,t.jsxs)("code",{children:["{\n",Object.keys(l).map(e=>" ".concat(e,": ").concat(l[e],"\n")),"}"]})})})]})]})}});l.default=u}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3377],{77213:function(e,i,s){s.d(i,{Z:function(){return g}});var t=s(24246),a=s(87949),r=s(88038),n=s.n(r),l=s(86677);s(27378);var o=s(25980),d=s(90867),c=s(42478),u=s(77830),m=()=>{let e=(0,l.useRouter)();return(0,t.jsx)(a.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,t.jsxs)(a.xuv,{children:[(0,t.jsxs)(a.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,t.jsx)(a.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,t.jsx)(a.wpx,{onClick:()=>{e.push(u.AD)},children:"Configure"})]}),(0,t.jsxs)(a.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},g=e=>{let{children:i,title:s,padded:r=!0,mainProps:u}=e,g=(0,o.hz)(),f=(0,l.useRouter)(),p="/privacy-requests"===f.pathname||"/datastore-connection"===f.pathname,y=!(g.flags.messagingConfiguration&&p),{data:x}=(0,c.JE)(void 0,{skip:y}),{data:h}=(0,d.PW)(void 0,{skip:y}),_=g.flags.messagingConfiguration&&(!x||!h)&&p;return(0,t.jsxs)(a.kCb,{"data-testid":s,direction:"column",h:"100vh",children:[(0,t.jsxs)(n(),{children:[(0,t.jsxs)("title",{children:["Fides Admin UI - ",s]}),(0,t.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,t.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,t.jsxs)(a.kCb,{as:"main",direction:"column",py:r?6:0,px:r?10:0,h:r?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...u,children:[_?(0,t.jsx)(m,{}):null,i]})]})}},90980:function(e,i,s){s.d(i,{R:function(){return o}});var t=s(24246),a=s(87949),r=s(79894),n=s.n(r),l=s(63662);let o=e=>{let{onClick:i,...s}=e;return(0,t.jsxs)(a.kCb,{alignItems:"center",mt:-4,mb:3,onClick:i,cursor:"pointer",...s,children:[(0,t.jsx)(a.wpx,{"aria-label":"Back",icon:(0,t.jsx)(a.Rpv,{}),className:"mr-2",size:"small"}),(0,t.jsx)(a.xvT,{as:"a",fontSize:"sm",fontWeight:"500",children:"Back"})]})};i.Z=e=>{let{backPath:i,...s}=e,r=(0,l.useRouter)();return(0,t.jsxs)(a.kCb,{alignItems:"center",mb:6,...s,children:[(0,t.jsx)(a.wpx,{onClick:()=>r.push(i),"aria-label":"Back",icon:(0,t.jsx)(a.Rpv,{}),className:"mr-2",size:"small"}),(0,t.jsx)(a.xvT,{as:n(),href:i,tabIndex:-1,fontSize:"sm",fontWeight:"500",children:"Back"})]})}},10792:function(e,i,s){s.d(i,{Z:function(){return D}});var t=s(24246),a=s(87949),r=s(27378),n=s(17245),l=s(90710),o=s(51980),d=s(90104),c=s.n(d),u=s(56141),m=s.n(u),g=s(92465),f=s.n(g),p=s(25389),y=s.n(p),x=s(15539),h=s.n(x),_=s(86677),v=s(812),w=s(77830),j=s(17828),k=s(42478);let b=e=>{let{serviceType:i,isOpen:s,onClose:n}=e,[o]=(0,k.SU)(),[d,c]=(0,r.useState)(!1),[u]=a.PPS.useForm(),m=i===l.q.twilio_text,g=e=>{let i="An unexpected error occurred. Please try again.";return(0,v.Ot)(e)?i=e.data.detail:(0,v.tB)(e)&&(i=e.data.detail[0].msg),i},f=async e=>{c(!0);try{let s=await o({service_type:i,details:{to_identity:m?{phone_number:e.phone}:{email:e.email}}});(0,v.D4)(s)?a.Pg3.error(g(s.error)):(a.Pg3.success("Test message sent successfully!"),n())}catch(e){a.Pg3.error(g(e))}finally{c(!1)}},p=m?"SMS":"email",y=()=>{n()};return(0,t.jsx)(a.$zI,{title:"Test ".concat(p),open:s,onCancel:y,footer:null,children:(0,t.jsx)(a.gCW,{spacing:4,children:(0,t.jsxs)(a.PPS,{form:u,onFinish:f,layout:"vertical",style:{width:"100%"},children:[m?(0,t.jsx)(a.PPS.Item,{name:"phone",label:"Phone number",rules:[{required:!0,message:"Phone number is required"},{pattern:/^\+?[1-9]\d{1,14}$/,message:"Please enter a valid phone number"}],children:(0,t.jsx)(a.AntInput,{placeholder:"+1234567890"})}):(0,t.jsx)(a.PPS.Item,{name:"email",label:"Email address",rules:[{required:!0,message:"Email address is required"},{type:"email",message:"Please enter a valid email address"}],children:(0,t.jsx)(a.AntInput,{placeholder:"test@example.com"})}),(0,t.jsx)(a.PPS.Item,{style:{marginBottom:0,marginTop:24},children:(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px"},children:[(0,t.jsx)(a.wpx,{onClick:y,disabled:d,children:"Cancel"}),(0,t.jsx)(a.wpx,{type:"primary",htmlType:"submit",loading:d,"data-testid":"send-test-message-btn",children:d?"Sending...":"Send test ".concat(p)})]})})]})})})},S=()=>{let[e]=(0,k.SU)(),[i,s]=(0,r.useState)(!1),[t,n]=(0,r.useState)({}),o=e=>{let i="An unexpected error occurred. Please try again.";return(0,v.Ot)(e)?i=e.data.detail:(0,v.tB)(e)&&(i=e.data.detail[0].msg),i};return{verifyConfiguration:async i=>{s(!0);try{let s=i===l.q.twilio_text,t=await e({service_type:i,details:{to_identity:s?{phone_number:"+15551234567"}:{email:"test@example.com"}}});if((0,v.D4)(t)){a.Pg3.error(o(t.error));let e=new Date().toISOString();return n(s=>({...s,[i]:{timestamp:e,success:!1}})),!1}a.Pg3.success("Configuration verified successfully!");let r=new Date().toISOString();return n(e=>({...e,[i]:{timestamp:r,success:!0}})),!0}catch(e){return a.Pg3.error(o(e)),!1}finally{s(!1)}},isVerifying:i,isConfigurationVerified:e=>{var i;return!!(null===(i=t[e])||void 0===i?void 0:i.success)},getVerificationData:e=>t[e]}};var P=e=>{var i,s,d;let{configKey:u}=e,g=(0,_.useRouter)(),{handleError:p}=(0,n.HK)(),{verifyConfiguration:x,isVerifying:P,getVerificationData:C}=S(),q=!!u,[V,A]=(0,r.useState)(!1),[I,D]=(0,r.useState)(!1),[E,T]=(0,r.useState)(q?"**********":"secret_keys"),[M]=a.PPS.useForm(),[B]=(0,k.h9)(),[W]=(0,k.sn)(),[F]=(0,k.Ki)(),{data:N,refetch:z}=(0,k.FU)({key:u},{skip:!u}),R={email_from:(null==N?void 0:null===(i=N.details)||void 0===i?void 0:i.email_from)||"",domain:(null==N?void 0:null===(s=N.details)||void 0===s?void 0:s.domain)||"",aws_region:(null==N?void 0:null===(d=N.details)||void 0===d?void 0:d.aws_region)||"",auth_method:q?"**********":"secret_keys",aws_access_key_id:q?"**********":"",aws_secret_access_key:q?"**********":"",aws_assume_role_arn:q?"**********":""};(0,r.useEffect)(()=>{if(N){var e,i,s;let t={email_from:(null===(e=N.details)||void 0===e?void 0:e.email_from)||"",domain:(null===(i=N.details)||void 0===i?void 0:i.domain)||"",aws_region:(null===(s=N.details)||void 0===s?void 0:s.aws_region)||"",auth_method:"**********",aws_access_key_id:"**********",aws_secret_access_key:"**********",aws_assume_role_arn:"**********"};M.setFieldsValue(t),T("**********"),D(!1)}},[N,M]);let K=(()=>{let e=C(l.q.aws_ses);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(N){let{last_test_succeeded:e,last_test_timestamp:i}=N;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=g.query.last_test_succeeded,s=g.query.last_test_timestamp;if(s){let e="true"===i||"1"===i,t=new Date(s),a=(0,o.B)(t,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:s}}return{isVerified:!1,status:"Verify configuration"}})(),O=e=>h()(y()(e,e=>q&&"**********"===e?void 0:e),f()),U=(0,r.useCallback)(()=>{let e=M.getFieldsValue(),i=e.email_from,{domain:s}=e,t=i&&""!==i.trim(),a=s&&""!==s.trim();return t||a?Promise.resolve():Promise.reject(Error("Either email from or domain must be provided"))},[M]),L=async e=>{try{var i,s,t,r;if(q&&u){let r=[],n=(null==N?void 0:null===(i=N.details)||void 0===i?void 0:i.email_from)||"",o=(null==N?void 0:null===(s=N.details)||void 0===s?void 0:s.domain)||"",d=(null==N?void 0:null===(t=N.details)||void 0===t?void 0:t.aws_region)||"";(e.email_from!==n||e.domain!==o||e.aws_region!==d)&&r.push(W({key:u,config:{key:(null==N?void 0:N.key)||u,name:null==N?void 0:N.name,service_type:(null==N?void 0:N.service_type)||l.q.aws_ses,details:{...null==N?void 0:N.details,email_from:e.email_from||null,domain:e.domain||null,aws_region:e.aws_region}}}));let m={auth_method:e.auth_method,aws_access_key_id:e.aws_access_key_id,aws_secret_access_key:e.aws_secret_access_key,aws_assume_role_arn:e.aws_assume_role_arn},g=O(m);if(c()(g)||r.push(F({key:u,secrets:g})),0===r.length){a.Pg3.info("No changes to save.");return}let f=await Promise.all(r);if(f.some(e=>(0,v.D4)(e))){let e=f.find(e=>(0,v.D4)(e));p(null==e?void 0:e.error)}else a.Pg3.success("AWS SES configuration successfully updated."),D(!1),z&&z()}else{let i={service_type:l.q.aws_ses,details:{email_from:e.email_from||null,domain:e.domain||null,aws_region:e.aws_region},secrets:{auth_method:e.auth_method,aws_access_key_id:e.aws_access_key_id,aws_secret_access_key:e.aws_secret_access_key,aws_assume_role_arn:e.aws_assume_role_arn}},s=await B(i);if((0,v.D4)(s))p(s.error);else{a.Pg3.success("AWS SES configuration successfully created."),D(!1);let e=null===(r=s.data)||void 0===r?void 0:r.key;if(e){let i=w.GE.replace("[key]",e);g.push(i)}else g.push(w.AD)}}}catch(e){p(e)}},Z=async()=>{try{await x(l.q.aws_ses)&&z&&setTimeout(()=>{z()},500)}catch(e){p(e)}},H=()=>{M.validateFields(["email_from","domain"]).catch(()=>{})};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:M,layout:"vertical",initialValues:R,onFinish:L,onValuesChange:(e,i)=>{let s={...i},t={...R};q&&Object.keys(s).forEach(e=>{"**********"===s[e]&&(s[e]=t[e])}),void 0!==e.auth_method&&(T(e.auth_method),"automatic"===e.auth_method&&M.setFieldsValue({aws_access_key_id:"",aws_secret_access_key:""})),D(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(j.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"AWS SES email messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"email_from",label:"Email from",rules:[{validator:U}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:q?"Enter new email from":"Enter email from",onChange:()=>H()})}),(0,t.jsx)(a.PPS.Item,{name:"domain",label:"Domain",rules:[{validator:U}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:q?"Enter new domain":"Enter domain",onChange:()=>H()})}),(0,t.jsx)(a.PPS.Item,{name:"aws_region",label:"AWS region",rules:[{required:!0,message:"AWS region is required"}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:q?"Enter new AWS region":"Enter AWS region (e.g., us-east-1)"})}),(0,t.jsx)(a.PPS.Item,{name:"auth_method",label:"Authentication method",rules:[{required:!0,message:"Authentication method is required"}],style:{marginBottom:24},children:(0,t.jsx)(a.WPr,{placeholder:"Select authentication method",options:[{label:"Secret keys",value:"secret_keys"},{label:"Automatic",value:"automatic"}]})}),("secret_keys"===E||q&&"**********"===E)&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.PPS.Item,{name:"aws_access_key_id",label:"AWS access key ID",rules:"secret_keys"===E||q&&"**********"===E?[{required:!0,message:"AWS access key ID is required for secret keys authentication"}]:[],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:q?"Enter new AWS access key ID":"Enter AWS access key ID"})}),(0,t.jsx)(a.PPS.Item,{name:"aws_secret_access_key",label:"AWS secret access key",rules:"secret_keys"===E||q&&"**********"===E?[{required:!0,message:"AWS secret access key is required for secret keys authentication"}]:[],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:q?"Enter new AWS secret access key":"Enter AWS secret access key"})})]}),(0,t.jsx)(a.PPS.Item,{name:"aws_assume_role_arn",label:"AWS assume role ARN",children:(0,t.jsx)(a.AntInput.Password,{placeholder:q?"Enter new AWS assume role ARN":"Enter AWS assume role ARN (optional)"})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:q&&K.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>A(!0),"data-testid":"send-test-message-btn",children:"Send test email"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[q?(0,t.jsx)(a.wpx,{onClick:Z,className:"mr-2","data-testid":"test-btn",loading:P,icon:K.isVerified&&!P?(0,t.jsx)(a.StI,{}):void 0,children:P?"Verifying":K.isVerified?"Verified":K.status}):(0,t.jsx)(a.wpx,{onClick:()=>g.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!I,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.aws_ses,isOpen:V,onClose:()=>A(!1)})]})},C=s(44907),q=e=>{var i;let{configKey:s}=e,d=(0,_.useRouter)(),{handleError:u}=(0,n.HK)(),{verifyConfiguration:g,isVerifying:p,getVerificationData:x}=S(),[j,P]=(0,r.useState)(!1),[q,V]=(0,r.useState)(!1),[A]=a.PPS.useForm(),[I]=(0,k.h9)(),[D]=(0,k.sn)(),[E]=(0,k.Ki)(),T=!!s,{data:M,refetch:B}=(0,k.FU)({key:s},{skip:!s}),W={domain:(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.domain)||"",mailgun_api_key:T?"**********":""};(0,r.useEffect)(()=>{if(M){var e;let i={domain:(null===(e=M.details)||void 0===e?void 0:e.domain)||"",mailgun_api_key:"**********"};A.setFieldsValue(i),V(!1)}},[M,A]);let F=(()=>{let e=x(l.q.mailgun);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(M){let{last_test_succeeded:e,last_test_timestamp:i}=M;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=d.query.last_test_succeeded,s=d.query.last_test_timestamp;if(s){let e="true"===i||"1"===i,t=new Date(s),a=(0,o.B)(t,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:s}}return{isVerified:!1,status:"Verify configuration"}})(),N=e=>h()(y()(e,e=>T&&"**********"===e?void 0:e),f()),z=async e=>{try{var i,t;if(T&&s){let t=[],r=(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.domain)||"";e.domain!==r&&""!==e.domain.trim()&&t.push(D({key:s,config:{key:(null==M?void 0:M.key)||s,name:null==M?void 0:M.name,service_type:(null==M?void 0:M.service_type)||l.q.mailgun,details:{...null==M?void 0:M.details,is_eu_domain:"false",domain:e.domain}}}));let n=N({mailgun_api_key:e.mailgun_api_key});if(c()(n)||t.push(E({key:s,secrets:n})),0===t.length){a.Pg3.info("No changes to save.");return}let o=await Promise.all(t);if(o.some(e=>(0,v.D4)(e))){let e=o.find(e=>(0,v.D4)(e));u(null==e?void 0:e.error)}else a.Pg3.success("Mailgun configuration successfully updated."),V(!1),B&&B()}else{let i={service_type:l.q.mailgun,details:{is_eu_domain:"false",domain:e.domain},secrets:{mailgun_api_key:e.mailgun_api_key}},s=await I(i);if((0,v.D4)(s))u(s.error);else{a.Pg3.success("Mailgun configuration successfully created."),V(!1);let e=null===(t=s.data)||void 0===t?void 0:t.key;if(e){let i=w.GE.replace("[key]",e);d.push(i)}else d.push(w.AD)}}}catch(e){u(e)}},R=async()=>{try{await g(l.q.mailgun)&&B&&setTimeout(()=>{B()},500)}catch(e){u(e)}};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:A,layout:"vertical",initialValues:W,onFinish:z,onValuesChange:(e,i)=>{let s={...i},t={...W};T&&"**********"===s.mailgun_api_key&&(s.mailgun_api_key=t.mailgun_api_key),V(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(C.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Mailgun email messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"domain",label:"Domain",rules:[{required:!0,message:"Domain is required"},{type:"string",min:1,message:"Domain cannot be empty"}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:T?"Enter new domain":"Enter domain"})}),(0,t.jsx)(a.PPS.Item,{name:"mailgun_api_key",label:"API key",rules:[{required:!0,message:"API key is required"},{type:"string",min:1,message:"API key cannot be empty"}],children:(0,t.jsx)(a.AntInput.Password,{placeholder:T?"Enter new API key":"Enter API key"})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:T&&F.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>P(!0),"data-testid":"send-test-message-btn",children:"Send test email"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[T?(0,t.jsx)(a.wpx,{onClick:R,className:"mr-2","data-testid":"test-btn",loading:p,icon:F.isVerified&&!p?(0,t.jsx)(a.StI,{}):void 0,children:p?"Verifying":F.isVerified?"Verified":F.status}):(0,t.jsx)(a.wpx,{onClick:()=>d.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!q,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.mailgun,isOpen:j,onClose:()=>P(!1)})]})},V=s(5144),A=e=>{var i;let{configKey:s}=e,d=(0,_.useRouter)(),{handleError:u}=(0,n.HK)(),{verifyConfiguration:g,isVerifying:p,getVerificationData:x}=S(),[j,P]=(0,r.useState)(!1),[C,q]=(0,r.useState)(!1),[A]=a.PPS.useForm(),[I]=(0,k.h9)(),[D]=(0,k.sn)(),[E]=(0,k.Ki)(),T=!!s,{data:M,refetch:B}=(0,k.FU)({key:s},{skip:!s}),W={email:(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.twilio_email_from)||"",twilio_api_key:T?"**********":""};(0,r.useEffect)(()=>{if(M){var e;let i={email:(null===(e=M.details)||void 0===e?void 0:e.twilio_email_from)||"",twilio_api_key:"**********"};A.setFieldsValue(i),q(!1)}},[M,A]);let F=(()=>{let e=x(l.q.twilio_email);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(M){let{last_test_succeeded:e,last_test_timestamp:i}=M;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=d.query.last_test_succeeded,s=d.query.last_test_timestamp;if(s){let e="true"===i||"1"===i,t=new Date(s),a=(0,o.B)(t,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:s}}return{isVerified:!1,status:"Verify configuration"}})(),N=e=>h()(y()(e,e=>T&&"**********"===e?void 0:e),f()),z=async e=>{try{var i,t;if(T&&s){let t=[],r=(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.twilio_email_from)||"";e.email!==r&&""!==e.email.trim()&&t.push(D({key:s,config:{key:(null==M?void 0:M.key)||s,name:null==M?void 0:M.name,service_type:(null==M?void 0:M.service_type)||l.q.twilio_email,details:{...null==M?void 0:M.details,twilio_email_from:e.email}}}));let n=N({twilio_api_key:e.twilio_api_key});if(c()(n)||t.push(E({key:s,secrets:n})),0===t.length){a.Pg3.info("No changes to save.");return}let o=await Promise.all(t);if(o.some(e=>(0,v.D4)(e))){let e=o.find(e=>(0,v.D4)(e));u(null==e?void 0:e.error)}else a.Pg3.success("Twilio email configuration successfully updated."),q(!1),B&&B()}else{let i={service_type:l.q.twilio_email,details:{twilio_email_from:e.email},secrets:{twilio_api_key:e.twilio_api_key}},s=await I(i);if((0,v.D4)(s))u(s.error);else{a.Pg3.success("Twilio email configuration successfully created."),q(!1);let e=null===(t=s.data)||void 0===t?void 0:t.key;if(e){let i=w.GE.replace("[key]",e);d.push(i)}else d.push(w.AD)}}}catch(e){u(e)}},R=async()=>{try{await g(l.q.twilio_email)&&B&&setTimeout(()=>{B()},500)}catch(e){u(e)}};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:A,layout:"vertical",initialValues:W,onFinish:z,onValuesChange:(e,i)=>{let s={...i},t={...W};T&&"**********"===s.twilio_api_key&&(s.twilio_api_key=t.twilio_api_key),q(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(V.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Twilio email messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"email",label:"Email",rules:[{required:!0,message:"Email is required"},{type:"email",message:"Please enter a valid email"}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:T?"Enter new email":"Enter email"})}),(0,t.jsx)(a.PPS.Item,{name:"twilio_api_key",label:"API key",rules:[{required:!0,message:"API key is required"},{type:"string",min:1,message:"API key cannot be empty"}],children:(0,t.jsx)(a.AntInput.Password,{placeholder:T?"Enter new API key":"Enter API key"})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:T&&F.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>P(!0),"data-testid":"send-test-message-btn",children:"Send test email"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[T?(0,t.jsx)(a.wpx,{onClick:R,className:"mr-2","data-testid":"test-btn",loading:p,icon:F.isVerified&&!p?(0,t.jsx)(a.StI,{}):void 0,children:p?"Verifying":F.isVerified?"Verified":F.status}):(0,t.jsx)(a.wpx,{onClick:()=>d.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!C,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.twilio_email,isOpen:j,onClose:()=>P(!1)})]})},I=e=>{let{configKey:i}=e,s=(0,_.useRouter)(),{verifyConfiguration:n,isVerifying:d,getVerificationData:u}=S(),[g,p]=(0,r.useState)(!1),[x,j]=(0,r.useState)(!1),[P]=a.PPS.useForm(),[C]=(0,k.h9)(),[q]=(0,k.Ki)(),A=!!i,{data:I,refetch:D}=(0,k.FU)({key:i},{skip:!i}),E={account_sid:A?"**********":"",auth_token:A?"**********":"",messaging_service_sid:A?"**********":"",phone:A?"**********":""};(0,r.useEffect)(()=>{I&&(P.setFieldsValue({account_sid:"**********",auth_token:"**********",messaging_service_sid:"**********",phone:"**********"}),j(!1))},[I,P]);let T=(()=>{let e=u(l.q.twilio_text);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(I){let{last_test_succeeded:e,last_test_timestamp:i}=I;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=s.query.last_test_succeeded,t=s.query.last_test_timestamp;if(t){let e="true"===i||"1"===i,s=new Date(t),a=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:t}}return{isVerified:!1,status:"Verify configuration"}})(),M=e=>h()(y()(e,e=>A&&"**********"===e?void 0:e),f()),B=e=>{let i="An unexpected error occurred. Please try again.";return(0,v.Ot)(e)?i=e.data.detail:(0,v.tB)(e)&&(i=e.data.detail[0].msg),i},W=(0,r.useCallback)(()=>{let e=P.getFieldsValue(),i=e.messaging_service_sid,s=e.phone,t=i&&""!==i.trim()&&"**********"!==i,a=s&&""!==s.trim()&&"**********"!==s;return t||a?Promise.resolve():Promise.reject(Error("Either messaging service SID or phone number must be provided"))},[P]),F=async e=>{try{if(A&&i){let s={twilio_account_sid:e.account_sid,twilio_auth_token:e.auth_token,twilio_messaging_service_sid:e.messaging_service_sid,twilio_sender_phone_number:e.phone},t=M(s);if(c()(t)){a.Pg3.info("No changes to save.");return}let r=await q({key:i,secrets:t});(0,v.D4)(r)?a.Pg3.error(B(r.error)):(a.Pg3.success("Twilio SMS configuration successfully updated."),j(!1),D&&D())}else{let i={service_type:l.q.twilio_text,secrets:{twilio_account_sid:e.account_sid,twilio_auth_token:e.auth_token,twilio_messaging_service_sid:e.messaging_service_sid,twilio_sender_phone_number:e.phone}},r=await C(i);if((0,v.D4)(r))a.Pg3.error(B(r.error));else{var t;a.Pg3.success("Twilio SMS configuration successfully created."),j(!1);let e=null===(t=r.data)||void 0===t?void 0:t.key;if(e){let i=w.GE.replace("[key]",e);s.push(i)}else s.push(w.AD)}}}catch(e){a.Pg3.error("An unexpected error occurred. Please try again.")}},N=async()=>{try{await n(l.q.twilio_text)&&D&&setTimeout(()=>{D()},500)}catch(e){a.Pg3.error("An unexpected error occurred during verification.")}},z=()=>{P.validateFields(["messaging_service_sid","phone"]).catch(()=>{})};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:P,layout:"vertical",initialValues:E,onFinish:F,onValuesChange:(e,i)=>{let s={...i},t={...E};A&&Object.keys(s).forEach(e=>{"**********"===s[e]&&(s[e]=t[e])}),j(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(V.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Twilio SMS messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"account_sid",label:"Account SID",rules:[{required:!0,message:"Account SID is required"},{type:"string",min:1,message:"Account SID cannot be empty"}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:A?"Enter new account SID":"Enter account SID"})}),(0,t.jsx)(a.PPS.Item,{name:"auth_token",label:"Auth token",rules:[{required:!0,message:"Auth token is required"},{type:"string",min:1,message:"Auth token cannot be empty"}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:A?"Enter new auth token":"Enter auth token"})}),(0,t.jsx)(a.PPS.Item,{name:"messaging_service_sid",label:"Messaging service SID",rules:[{validator:W}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:A?"Enter new messaging service SID":"Enter messaging service SID",onChange:()=>z()})}),(0,t.jsx)(a.PPS.Item,{name:"phone",label:"Phone number",rules:[{validator:W}],children:(0,t.jsx)(a.AntInput.Password,{placeholder:A?"Enter new phone number":"Enter phone number",onChange:()=>z()})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:A&&T.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>p(!0),"data-testid":"send-test-message-btn",children:"Send test SMS"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[A?(0,t.jsx)(a.wpx,{onClick:N,className:"mr-2","data-testid":"test-btn",loading:d,icon:T.isVerified&&!d?(0,t.jsx)(a.StI,{}):void 0,children:d?"Verifying":T.isVerified?"Verified":T.status}):(0,t.jsx)(a.wpx,{onClick:()=>s.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!x,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.twilio_text,isOpen:g,onClose:()=>p(!1)})]})},D=e=>{let{configKey:i,initialProviderType:s}=e,[o,d]=(0,r.useState)(s||""),c=!!i,{handleError:u}=(0,n.HK)(),{data:m,isLoading:g,error:f}=(0,k.FU)({key:i},{skip:!i}),{data:p}=(0,k.qt)();(0,r.useEffect)(()=>{c&&(null==m?void 0:m.service_type)&&d(m.service_type)},[c,null==m?void 0:m.service_type]),(0,r.useEffect)(()=>{f&&u(f)},[f,u]);let y=(0,r.useMemo)(()=>{var e;let i=new Set((null==p?void 0:null===(e=p.items)||void 0===e?void 0:e.map(e=>e.service_type))||[]),s=!c&&i.has(l.q.mailgun),t=!c&&i.has(l.q.twilio_email),a=!c&&i.has(l.q.twilio_text),r=!c&&i.has(l.q.aws_ses);return[{value:l.q.mailgun,label:l.k.mailgun,disabled:s,title:s?"Only one messaging provider of each type can be created":void 0},{value:l.q.twilio_email,label:l.k.twilio_email,disabled:t,title:t?"Only one messaging provider of each type can be created":void 0},{value:l.q.twilio_text,label:l.k.twilio_text,disabled:a,title:a?"Only one messaging provider of each type can be created":void 0},{value:l.q.aws_ses,label:l.k.aws_ses,disabled:r,title:r?"Only one messaging provider of each type can be created":void 0}]},[p,c]);return c&&g?(0,t.jsx)(a.xuv,{display:"flex",justifyContent:"center",alignItems:"center",height:"200px",children:(0,t.jsx)(a.$jN,{})}):!c||m||g?(0,t.jsxs)(a.xuv,{children:[!c&&(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,mb:4,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Select messaging provider"})}),(0,t.jsx)(a.xuv,{px:6,py:6,children:(0,t.jsx)(a.PPS,{layout:"vertical",children:(0,t.jsx)(a.PPS.Item,{label:"Provider type",name:"provider_type",rules:[{required:!0,message:"Please select a provider type"}],children:(0,t.jsx)(a.WPr,{placeholder:"Choose a messaging provider...","aria-label":"Select a messaging provider",value:o||void 0,onChange:e=>d(e),options:y})})})})]}),o&&(()=>{switch(o){case l.q.mailgun:return(0,t.jsx)(q,{configKey:i});case l.q.twilio_email:return(0,t.jsx)(A,{configKey:i});case l.q.twilio_text:return(0,t.jsx)(I,{configKey:i});case l.q.aws_ses:return(0,t.jsx)(P,{configKey:i});default:return null}})()]}):(0,t.jsx)(a.xuv,{children:(0,t.jsxs)(a.xvT,{color:"red.500",children:["Messaging configuration not found for key: ",i]})})}},90710:function(e,i,s){s.d(i,{k:function(){return a},q:function(){return t}});let t={mailgun:"mailgun",twilio_email:"twilio_email",twilio_text:"twilio_text",aws_ses:"aws_ses"},a={mailgun:"Mailgun email",twilio_email:"Twilio email",twilio_text:"Twilio SMS",aws_ses:"AWS SES email"}},17828:function(e,i,s){var t=s(24246);s(27378),i.Z=()=>(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 74.375 85",width:"20",height:"20",fill:"#fff",fillRule:"evenodd",stroke:"#000",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("use",{xlinkHref:"#A",x:"2.188",y:"2.5"}),(0,t.jsx)("symbol",{id:"A",overflow:"visible",children:(0,t.jsxs)("g",{stroke:"none",children:[(0,t.jsx)("path",{d:"M16.558 12.75L0 38.591l16.558 25.841 13.227-3.324.654-44.869-13.881-3.489z",fill:"#876929"}),(0,t.jsx)("path",{d:"M35.049 59.786l-18.491 4.645V12.75l18.491 4.645v42.391z",fill:"#d9a741"}),(0,t.jsxs)("g",{fill:"#876929",children:[(0,t.jsx)("path",{d:"M32.849 21.614L35.05 80 70 62.867l-.01-43.615-8.914 1.448-28.228.913z"}),(0,t.jsx)("path",{d:"M46.184 33.149l10.906-.632 10.778-19.164L40.612 0 30.439 4.364l15.745 28.785z"})]}),(0,t.jsx)("path",{d:"M40.612 0l27.256 13.353-10.778 19.164L40.612 0z",fill:"#d9a741"}),(0,t.jsx)("path",{d:"M35.049 5.539L57.09 44.742l3.788 22.595L35.049 80l-10.46-5.131V9.64l10.45-4.101h.01z",fill:"#876929"}),(0,t.jsx)("path",{d:"M69.991 19.251L70 62.867 35.05 80V5.539l22.041 39.203 12.899-25.491z",fill:"#d9a741"})]})})]})},44907:function(e,i,s){var t=s(24246);s(27378),i.Z=()=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",preserveAspectRatio:"xMidYMid",viewBox:"-0.5 0 257 257",children:(0,t.jsx)("path",{fill:"#C02428",d:"M128.418 80.526c-26.51 0-48.884 21.475-48.884 48.728a48.197 48.197 0 0014.187 34.579 48.532 48.532 0 0034.697 14.14c26.511 0 48.875-21.476 48.875-48.719 0-27.253-22.364-48.728-48.875-48.728zm-76.22 47.895c0-41.285 33.968-75.138 75.395-75.138 41.417 0 75.385 33.853 75.385 75.138 0 2.478 0 5.788-.825 8.266-.835 7.422 4.972 13.2 12.43 13.2 12.43 0 14.08-15.678 14.08-21.466 0-55.328-45.573-100.746-101.07-100.746-55.518 0-101.07 45.418-101.07 100.746 0 55.339 45.552 100.747 101.07 100.747 29.822 0 56.333-12.388 74.56-33.03l20.703 17.342c-22.364 26.43-57.158 42.952-94.448 42.952-34.097.105-66.827-13.35-90.932-37.384C13.37 195.016-.118 162.392 0 128.411 0 58.228 57.159.432 128.418.432 198.832.432 256 58.238 256 128.432c0 28.075-13.256 51.205-40.591 51.205-11.605 0-19.053-5.787-23.2-11.565-13.255 21.476-37.29 35.508-64.626 35.508-20.017.068-39.234-7.827-53.388-21.933a74.755 74.755 0 01-22.008-53.205l.01-.02zm76.21-22.297c12.43 0 22.374 9.91 22.374 22.297 0 12.388-9.944 22.298-22.364 22.298a22.322 22.322 0 01-15.848-6.504 22.169 22.169 0 01-6.526-15.794c0-12.387 9.944-22.297 22.374-22.297h-.01z"})})},5144:function(e,i,s){var t=s(24246);i.Z=()=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",children:(0,t.jsx)("path",{fill:"#F12E45",d:"M128 0c70.656 0 128 57.344 128 128s-57.344 128-128 128S0 198.656 0 128 57.344 0 128 0zm0 33.792c-52.224 0-94.208 41.984-94.208 94.208S75.776 222.208 128 222.208s94.208-41.984 94.208-94.208S180.224 33.792 128 33.792zm31.744 99.328c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm63.488-63.488c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624z"})})},42478:function(e,i,s){s.d(i,{FU:function(){return d},JE:function(){return a},Ki:function(){return u},SU:function(){return m},W:function(){return g},h9:function(){return r},jc:function(){return t},qt:function(){return o},sn:function(){return c}});let{useGetEmailInviteStatusQuery:t,useGetActiveMessagingProviderQuery:a,useCreateMessagingConfigurationMutation:r,useCreateMessagingConfigurationSecretsMutation:n,useGetMessagingConfigurationDetailsQuery:l,useGetMessagingConfigurationsQuery:o,useGetMessagingConfigurationByKeyQuery:d,useUpdateMessagingConfigurationByKeyMutation:c,useUpdateMessagingConfigurationSecretsByKeyMutation:u,useCreateTestConnectionMessageMutation:m,useDeleteMessagingConfigurationByKeyMutation:g}=s(78780).u.injectEndpoints({endpoints:e=>({getEmailInviteStatus:e.query({query:()=>({url:"/messaging/email-invite/status"}),providesTags:()=>["Email Invite Status"]}),createMessagingConfiguration:e.mutation({query:e=>({url:"messaging/config",method:"POST",body:e}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getActiveMessagingProvider:e.query({queryFn:async(e,i,s,t)=>{let a=await t({url:"messaging/default/active"});return a.error&&404===a.error.status?{data:null}:a},providesTags:["Messaging Config"]}),createMessagingConfigurationSecrets:e.mutation({query:e=>({url:"messaging/default/".concat(e.service_type,"/secret"),method:"PUT",body:e.details}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getMessagingConfigurationDetails:e.query({query:e=>({url:"messaging/default/".concat(e.type)}),providesTags:["Messaging Config"]}),getMessagingConfigurations:e.query({query:()=>({url:"messaging/config"}),providesTags:["Messaging Config"]}),getMessagingConfigurationByKey:e.query({query:e=>({url:"messaging/config/".concat(e.key)}),providesTags:["Messaging Config"]}),createTestConnectionMessage:e.mutation({query:e=>({url:"messaging/test/".concat(e.service_type),method:"POST",body:e.details}),invalidatesTags:["Messaging Config"]}),updateMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"PATCH",body:e.config}),invalidatesTags:["Messaging Config","Configuration Settings"]}),updateMessagingConfigurationSecretsByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key,"/secret"),method:"PUT",body:e.secrets}),invalidatesTags:["Messaging Config","Configuration Settings"]}),deleteMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"DELETE"}),invalidatesTags:["Messaging Config","Configuration Settings"]})})})}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3377],{77213:function(e,i,s){s.d(i,{Z:function(){return g}});var t=s(24246),a=s(98227),r=s(88038),n=s.n(r),l=s(86677);s(27378);var o=s(25980),d=s(90867),c=s(42478),u=s(77830),m=()=>{let e=(0,l.useRouter)();return(0,t.jsx)(a.xuv,{bg:"gray.50",border:"1px solid",borderColor:"blue.400",borderRadius:"md",justifyContent:"space-between",p:5,mb:5,mt:5,children:(0,t.jsxs)(a.xuv,{children:[(0,t.jsxs)(a.Kqy,{direction:{base:"column",sm:"row"},justifyContent:"space-between",children:[(0,t.jsx)(a.xvT,{fontWeight:"semibold",children:"Configure your storage and messaging provider"}),(0,t.jsx)(a.wpx,{onClick:()=>{e.push(u.AD)},children:"Configure"})]}),(0,t.jsxs)(a.xvT,{children:["Before Fides can process your privacy requests we need two simple steps to configure your storage and email client."," "]})]})})},g=e=>{let{children:i,title:s,padded:r=!0,mainProps:u}=e,g=(0,o.hz)(),f=(0,l.useRouter)(),p="/privacy-requests"===f.pathname||"/datastore-connection"===f.pathname,y=!(g.flags.messagingConfiguration&&p),{data:x}=(0,c.JE)(void 0,{skip:y}),{data:h}=(0,d.PW)(void 0,{skip:y}),_=g.flags.messagingConfiguration&&(!x||!h)&&p;return(0,t.jsxs)(a.kCb,{"data-testid":s,direction:"column",h:"100vh",children:[(0,t.jsxs)(n(),{children:[(0,t.jsxs)("title",{children:["Fides Admin UI - ",s]}),(0,t.jsx)("meta",{name:"description",content:"Privacy Engineering Platform"}),(0,t.jsx)("link",{rel:"icon",href:"/favicon.ico"})]}),(0,t.jsxs)(a.kCb,{as:"main",direction:"column",py:r?6:0,px:r?10:0,h:r?"calc(100% - 48px)":"full",flex:1,minWidth:0,overflow:"auto",...u,children:[_?(0,t.jsx)(m,{}):null,i]})]})}},90980:function(e,i,s){s.d(i,{R:function(){return o}});var t=s(24246),a=s(98227),r=s(79894),n=s.n(r),l=s(63662);let o=e=>{let{onClick:i,...s}=e;return(0,t.jsxs)(a.kCb,{alignItems:"center",mt:-4,mb:3,onClick:i,cursor:"pointer",...s,children:[(0,t.jsx)(a.wpx,{"aria-label":"Back",icon:(0,t.jsx)(a.Rpv,{}),className:"mr-2",size:"small"}),(0,t.jsx)(a.xvT,{as:"a",fontSize:"sm",fontWeight:"500",children:"Back"})]})};i.Z=e=>{let{backPath:i,...s}=e,r=(0,l.useRouter)();return(0,t.jsxs)(a.kCb,{alignItems:"center",mb:6,...s,children:[(0,t.jsx)(a.wpx,{onClick:()=>r.push(i),"aria-label":"Back",icon:(0,t.jsx)(a.Rpv,{}),className:"mr-2",size:"small"}),(0,t.jsx)(a.xvT,{as:n(),href:i,tabIndex:-1,fontSize:"sm",fontWeight:"500",children:"Back"})]})}},10792:function(e,i,s){s.d(i,{Z:function(){return D}});var t=s(24246),a=s(98227),r=s(27378),n=s(17245),l=s(90710),o=s(51980),d=s(90104),c=s.n(d),u=s(56141),m=s.n(u),g=s(92465),f=s.n(g),p=s(25389),y=s.n(p),x=s(15539),h=s.n(x),_=s(86677),v=s(812),w=s(77830),j=s(17828),k=s(42478);let b=e=>{let{serviceType:i,isOpen:s,onClose:n}=e,[o]=(0,k.SU)(),[d,c]=(0,r.useState)(!1),[u]=a.PPS.useForm(),m=i===l.q.twilio_text,g=e=>{let i="An unexpected error occurred. Please try again.";return(0,v.Ot)(e)?i=e.data.detail:(0,v.tB)(e)&&(i=e.data.detail[0].msg),i},f=async e=>{c(!0);try{let s=await o({service_type:i,details:{to_identity:m?{phone_number:e.phone}:{email:e.email}}});(0,v.D4)(s)?a.Pg3.error(g(s.error)):(a.Pg3.success("Test message sent successfully!"),n())}catch(e){a.Pg3.error(g(e))}finally{c(!1)}},p=m?"SMS":"email",y=()=>{n()};return(0,t.jsx)(a.$zI,{title:"Test ".concat(p),open:s,onCancel:y,footer:null,children:(0,t.jsx)(a.gCW,{spacing:4,children:(0,t.jsxs)(a.PPS,{form:u,onFinish:f,layout:"vertical",style:{width:"100%"},children:[m?(0,t.jsx)(a.PPS.Item,{name:"phone",label:"Phone number",rules:[{required:!0,message:"Phone number is required"},{pattern:/^\+?[1-9]\d{1,14}$/,message:"Please enter a valid phone number"}],children:(0,t.jsx)(a.AntInput,{placeholder:"+1234567890"})}):(0,t.jsx)(a.PPS.Item,{name:"email",label:"Email address",rules:[{required:!0,message:"Email address is required"},{type:"email",message:"Please enter a valid email address"}],children:(0,t.jsx)(a.AntInput,{placeholder:"test@example.com"})}),(0,t.jsx)(a.PPS.Item,{style:{marginBottom:0,marginTop:24},children:(0,t.jsxs)("div",{style:{display:"flex",justifyContent:"flex-end",gap:"8px"},children:[(0,t.jsx)(a.wpx,{onClick:y,disabled:d,children:"Cancel"}),(0,t.jsx)(a.wpx,{type:"primary",htmlType:"submit",loading:d,"data-testid":"send-test-message-btn",children:d?"Sending...":"Send test ".concat(p)})]})})]})})})},S=()=>{let[e]=(0,k.SU)(),[i,s]=(0,r.useState)(!1),[t,n]=(0,r.useState)({}),o=e=>{let i="An unexpected error occurred. Please try again.";return(0,v.Ot)(e)?i=e.data.detail:(0,v.tB)(e)&&(i=e.data.detail[0].msg),i};return{verifyConfiguration:async i=>{s(!0);try{let s=i===l.q.twilio_text,t=await e({service_type:i,details:{to_identity:s?{phone_number:"+15551234567"}:{email:"test@example.com"}}});if((0,v.D4)(t)){a.Pg3.error(o(t.error));let e=new Date().toISOString();return n(s=>({...s,[i]:{timestamp:e,success:!1}})),!1}a.Pg3.success("Configuration verified successfully!");let r=new Date().toISOString();return n(e=>({...e,[i]:{timestamp:r,success:!0}})),!0}catch(e){return a.Pg3.error(o(e)),!1}finally{s(!1)}},isVerifying:i,isConfigurationVerified:e=>{var i;return!!(null===(i=t[e])||void 0===i?void 0:i.success)},getVerificationData:e=>t[e]}};var P=e=>{var i,s,d;let{configKey:u}=e,g=(0,_.useRouter)(),{handleError:p}=(0,n.HK)(),{verifyConfiguration:x,isVerifying:P,getVerificationData:C}=S(),q=!!u,[V,A]=(0,r.useState)(!1),[I,D]=(0,r.useState)(!1),[E,T]=(0,r.useState)(q?"**********":"secret_keys"),[M]=a.PPS.useForm(),[B]=(0,k.h9)(),[W]=(0,k.sn)(),[F]=(0,k.Ki)(),{data:N,refetch:z}=(0,k.FU)({key:u},{skip:!u}),R={email_from:(null==N?void 0:null===(i=N.details)||void 0===i?void 0:i.email_from)||"",domain:(null==N?void 0:null===(s=N.details)||void 0===s?void 0:s.domain)||"",aws_region:(null==N?void 0:null===(d=N.details)||void 0===d?void 0:d.aws_region)||"",auth_method:q?"**********":"secret_keys",aws_access_key_id:q?"**********":"",aws_secret_access_key:q?"**********":"",aws_assume_role_arn:q?"**********":""};(0,r.useEffect)(()=>{if(N){var e,i,s;let t={email_from:(null===(e=N.details)||void 0===e?void 0:e.email_from)||"",domain:(null===(i=N.details)||void 0===i?void 0:i.domain)||"",aws_region:(null===(s=N.details)||void 0===s?void 0:s.aws_region)||"",auth_method:"**********",aws_access_key_id:"**********",aws_secret_access_key:"**********",aws_assume_role_arn:"**********"};M.setFieldsValue(t),T("**********"),D(!1)}},[N,M]);let K=(()=>{let e=C(l.q.aws_ses);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(N){let{last_test_succeeded:e,last_test_timestamp:i}=N;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=g.query.last_test_succeeded,s=g.query.last_test_timestamp;if(s){let e="true"===i||"1"===i,t=new Date(s),a=(0,o.B)(t,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:s}}return{isVerified:!1,status:"Verify configuration"}})(),O=e=>h()(y()(e,e=>q&&"**********"===e?void 0:e),f()),U=(0,r.useCallback)(()=>{let e=M.getFieldsValue(),i=e.email_from,{domain:s}=e,t=i&&""!==i.trim(),a=s&&""!==s.trim();return t||a?Promise.resolve():Promise.reject(Error("Either email from or domain must be provided"))},[M]),L=async e=>{try{var i,s,t,r;if(q&&u){let r=[],n=(null==N?void 0:null===(i=N.details)||void 0===i?void 0:i.email_from)||"",o=(null==N?void 0:null===(s=N.details)||void 0===s?void 0:s.domain)||"",d=(null==N?void 0:null===(t=N.details)||void 0===t?void 0:t.aws_region)||"";(e.email_from!==n||e.domain!==o||e.aws_region!==d)&&r.push(W({key:u,config:{key:(null==N?void 0:N.key)||u,name:null==N?void 0:N.name,service_type:(null==N?void 0:N.service_type)||l.q.aws_ses,details:{...null==N?void 0:N.details,email_from:e.email_from||null,domain:e.domain||null,aws_region:e.aws_region}}}));let m={auth_method:e.auth_method,aws_access_key_id:e.aws_access_key_id,aws_secret_access_key:e.aws_secret_access_key,aws_assume_role_arn:e.aws_assume_role_arn},g=O(m);if(c()(g)||r.push(F({key:u,secrets:g})),0===r.length){a.Pg3.info("No changes to save.");return}let f=await Promise.all(r);if(f.some(e=>(0,v.D4)(e))){let e=f.find(e=>(0,v.D4)(e));p(null==e?void 0:e.error)}else a.Pg3.success("AWS SES configuration successfully updated."),D(!1),z&&z()}else{let i={service_type:l.q.aws_ses,details:{email_from:e.email_from||null,domain:e.domain||null,aws_region:e.aws_region},secrets:{auth_method:e.auth_method,aws_access_key_id:e.aws_access_key_id,aws_secret_access_key:e.aws_secret_access_key,aws_assume_role_arn:e.aws_assume_role_arn}},s=await B(i);if((0,v.D4)(s))p(s.error);else{a.Pg3.success("AWS SES configuration successfully created."),D(!1);let e=null===(r=s.data)||void 0===r?void 0:r.key;if(e){let i=w.GE.replace("[key]",e);g.push(i)}else g.push(w.AD)}}}catch(e){p(e)}},Z=async()=>{try{await x(l.q.aws_ses)&&z&&setTimeout(()=>{z()},500)}catch(e){p(e)}},H=()=>{M.validateFields(["email_from","domain"]).catch(()=>{})};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:M,layout:"vertical",initialValues:R,onFinish:L,onValuesChange:(e,i)=>{let s={...i},t={...R};q&&Object.keys(s).forEach(e=>{"**********"===s[e]&&(s[e]=t[e])}),void 0!==e.auth_method&&(T(e.auth_method),"automatic"===e.auth_method&&M.setFieldsValue({aws_access_key_id:"",aws_secret_access_key:""})),D(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(j.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"AWS SES email messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"email_from",label:"Email from",rules:[{validator:U}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:q?"Enter new email from":"Enter email from",onChange:()=>H()})}),(0,t.jsx)(a.PPS.Item,{name:"domain",label:"Domain",rules:[{validator:U}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:q?"Enter new domain":"Enter domain",onChange:()=>H()})}),(0,t.jsx)(a.PPS.Item,{name:"aws_region",label:"AWS region",rules:[{required:!0,message:"AWS region is required"}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:q?"Enter new AWS region":"Enter AWS region (e.g., us-east-1)"})}),(0,t.jsx)(a.PPS.Item,{name:"auth_method",label:"Authentication method",rules:[{required:!0,message:"Authentication method is required"}],style:{marginBottom:24},children:(0,t.jsx)(a.WPr,{placeholder:"Select authentication method",options:[{label:"Secret keys",value:"secret_keys"},{label:"Automatic",value:"automatic"}]})}),("secret_keys"===E||q&&"**********"===E)&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(a.PPS.Item,{name:"aws_access_key_id",label:"AWS access key ID",rules:"secret_keys"===E||q&&"**********"===E?[{required:!0,message:"AWS access key ID is required for secret keys authentication"}]:[],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:q?"Enter new AWS access key ID":"Enter AWS access key ID"})}),(0,t.jsx)(a.PPS.Item,{name:"aws_secret_access_key",label:"AWS secret access key",rules:"secret_keys"===E||q&&"**********"===E?[{required:!0,message:"AWS secret access key is required for secret keys authentication"}]:[],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:q?"Enter new AWS secret access key":"Enter AWS secret access key"})})]}),(0,t.jsx)(a.PPS.Item,{name:"aws_assume_role_arn",label:"AWS assume role ARN",children:(0,t.jsx)(a.AntInput.Password,{placeholder:q?"Enter new AWS assume role ARN":"Enter AWS assume role ARN (optional)"})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:q&&K.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>A(!0),"data-testid":"send-test-message-btn",children:"Send test email"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[q?(0,t.jsx)(a.wpx,{onClick:Z,className:"mr-2","data-testid":"test-btn",loading:P,icon:K.isVerified&&!P?(0,t.jsx)(a.StI,{}):void 0,children:P?"Verifying":K.isVerified?"Verified":K.status}):(0,t.jsx)(a.wpx,{onClick:()=>g.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!I,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.aws_ses,isOpen:V,onClose:()=>A(!1)})]})},C=s(44907),q=e=>{var i;let{configKey:s}=e,d=(0,_.useRouter)(),{handleError:u}=(0,n.HK)(),{verifyConfiguration:g,isVerifying:p,getVerificationData:x}=S(),[j,P]=(0,r.useState)(!1),[q,V]=(0,r.useState)(!1),[A]=a.PPS.useForm(),[I]=(0,k.h9)(),[D]=(0,k.sn)(),[E]=(0,k.Ki)(),T=!!s,{data:M,refetch:B}=(0,k.FU)({key:s},{skip:!s}),W={domain:(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.domain)||"",mailgun_api_key:T?"**********":""};(0,r.useEffect)(()=>{if(M){var e;let i={domain:(null===(e=M.details)||void 0===e?void 0:e.domain)||"",mailgun_api_key:"**********"};A.setFieldsValue(i),V(!1)}},[M,A]);let F=(()=>{let e=x(l.q.mailgun);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(M){let{last_test_succeeded:e,last_test_timestamp:i}=M;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=d.query.last_test_succeeded,s=d.query.last_test_timestamp;if(s){let e="true"===i||"1"===i,t=new Date(s),a=(0,o.B)(t,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:s}}return{isVerified:!1,status:"Verify configuration"}})(),N=e=>h()(y()(e,e=>T&&"**********"===e?void 0:e),f()),z=async e=>{try{var i,t;if(T&&s){let t=[],r=(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.domain)||"";e.domain!==r&&""!==e.domain.trim()&&t.push(D({key:s,config:{key:(null==M?void 0:M.key)||s,name:null==M?void 0:M.name,service_type:(null==M?void 0:M.service_type)||l.q.mailgun,details:{...null==M?void 0:M.details,is_eu_domain:"false",domain:e.domain}}}));let n=N({mailgun_api_key:e.mailgun_api_key});if(c()(n)||t.push(E({key:s,secrets:n})),0===t.length){a.Pg3.info("No changes to save.");return}let o=await Promise.all(t);if(o.some(e=>(0,v.D4)(e))){let e=o.find(e=>(0,v.D4)(e));u(null==e?void 0:e.error)}else a.Pg3.success("Mailgun configuration successfully updated."),V(!1),B&&B()}else{let i={service_type:l.q.mailgun,details:{is_eu_domain:"false",domain:e.domain},secrets:{mailgun_api_key:e.mailgun_api_key}},s=await I(i);if((0,v.D4)(s))u(s.error);else{a.Pg3.success("Mailgun configuration successfully created."),V(!1);let e=null===(t=s.data)||void 0===t?void 0:t.key;if(e){let i=w.GE.replace("[key]",e);d.push(i)}else d.push(w.AD)}}}catch(e){u(e)}},R=async()=>{try{await g(l.q.mailgun)&&B&&setTimeout(()=>{B()},500)}catch(e){u(e)}};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:A,layout:"vertical",initialValues:W,onFinish:z,onValuesChange:(e,i)=>{let s={...i},t={...W};T&&"**********"===s.mailgun_api_key&&(s.mailgun_api_key=t.mailgun_api_key),V(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(C.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Mailgun email messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"domain",label:"Domain",rules:[{required:!0,message:"Domain is required"},{type:"string",min:1,message:"Domain cannot be empty"}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:T?"Enter new domain":"Enter domain"})}),(0,t.jsx)(a.PPS.Item,{name:"mailgun_api_key",label:"API key",rules:[{required:!0,message:"API key is required"},{type:"string",min:1,message:"API key cannot be empty"}],children:(0,t.jsx)(a.AntInput.Password,{placeholder:T?"Enter new API key":"Enter API key"})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:T&&F.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>P(!0),"data-testid":"send-test-message-btn",children:"Send test email"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[T?(0,t.jsx)(a.wpx,{onClick:R,className:"mr-2","data-testid":"test-btn",loading:p,icon:F.isVerified&&!p?(0,t.jsx)(a.StI,{}):void 0,children:p?"Verifying":F.isVerified?"Verified":F.status}):(0,t.jsx)(a.wpx,{onClick:()=>d.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!q,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.mailgun,isOpen:j,onClose:()=>P(!1)})]})},V=s(5144),A=e=>{var i;let{configKey:s}=e,d=(0,_.useRouter)(),{handleError:u}=(0,n.HK)(),{verifyConfiguration:g,isVerifying:p,getVerificationData:x}=S(),[j,P]=(0,r.useState)(!1),[C,q]=(0,r.useState)(!1),[A]=a.PPS.useForm(),[I]=(0,k.h9)(),[D]=(0,k.sn)(),[E]=(0,k.Ki)(),T=!!s,{data:M,refetch:B}=(0,k.FU)({key:s},{skip:!s}),W={email:(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.twilio_email_from)||"",twilio_api_key:T?"**********":""};(0,r.useEffect)(()=>{if(M){var e;let i={email:(null===(e=M.details)||void 0===e?void 0:e.twilio_email_from)||"",twilio_api_key:"**********"};A.setFieldsValue(i),q(!1)}},[M,A]);let F=(()=>{let e=x(l.q.twilio_email);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(M){let{last_test_succeeded:e,last_test_timestamp:i}=M;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=d.query.last_test_succeeded,s=d.query.last_test_timestamp;if(s){let e="true"===i||"1"===i,t=new Date(s),a=(0,o.B)(t,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:s}}return{isVerified:!1,status:"Verify configuration"}})(),N=e=>h()(y()(e,e=>T&&"**********"===e?void 0:e),f()),z=async e=>{try{var i,t;if(T&&s){let t=[],r=(null==M?void 0:null===(i=M.details)||void 0===i?void 0:i.twilio_email_from)||"";e.email!==r&&""!==e.email.trim()&&t.push(D({key:s,config:{key:(null==M?void 0:M.key)||s,name:null==M?void 0:M.name,service_type:(null==M?void 0:M.service_type)||l.q.twilio_email,details:{...null==M?void 0:M.details,twilio_email_from:e.email}}}));let n=N({twilio_api_key:e.twilio_api_key});if(c()(n)||t.push(E({key:s,secrets:n})),0===t.length){a.Pg3.info("No changes to save.");return}let o=await Promise.all(t);if(o.some(e=>(0,v.D4)(e))){let e=o.find(e=>(0,v.D4)(e));u(null==e?void 0:e.error)}else a.Pg3.success("Twilio email configuration successfully updated."),q(!1),B&&B()}else{let i={service_type:l.q.twilio_email,details:{twilio_email_from:e.email},secrets:{twilio_api_key:e.twilio_api_key}},s=await I(i);if((0,v.D4)(s))u(s.error);else{a.Pg3.success("Twilio email configuration successfully created."),q(!1);let e=null===(t=s.data)||void 0===t?void 0:t.key;if(e){let i=w.GE.replace("[key]",e);d.push(i)}else d.push(w.AD)}}}catch(e){u(e)}},R=async()=>{try{await g(l.q.twilio_email)&&B&&setTimeout(()=>{B()},500)}catch(e){u(e)}};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:A,layout:"vertical",initialValues:W,onFinish:z,onValuesChange:(e,i)=>{let s={...i},t={...W};T&&"**********"===s.twilio_api_key&&(s.twilio_api_key=t.twilio_api_key),q(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(V.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Twilio email messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"email",label:"Email",rules:[{required:!0,message:"Email is required"},{type:"email",message:"Please enter a valid email"}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput,{placeholder:T?"Enter new email":"Enter email"})}),(0,t.jsx)(a.PPS.Item,{name:"twilio_api_key",label:"API key",rules:[{required:!0,message:"API key is required"},{type:"string",min:1,message:"API key cannot be empty"}],children:(0,t.jsx)(a.AntInput.Password,{placeholder:T?"Enter new API key":"Enter API key"})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:T&&F.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>P(!0),"data-testid":"send-test-message-btn",children:"Send test email"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[T?(0,t.jsx)(a.wpx,{onClick:R,className:"mr-2","data-testid":"test-btn",loading:p,icon:F.isVerified&&!p?(0,t.jsx)(a.StI,{}):void 0,children:p?"Verifying":F.isVerified?"Verified":F.status}):(0,t.jsx)(a.wpx,{onClick:()=>d.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!C,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.twilio_email,isOpen:j,onClose:()=>P(!1)})]})},I=e=>{let{configKey:i}=e,s=(0,_.useRouter)(),{verifyConfiguration:n,isVerifying:d,getVerificationData:u}=S(),[g,p]=(0,r.useState)(!1),[x,j]=(0,r.useState)(!1),[P]=a.PPS.useForm(),[C]=(0,k.h9)(),[q]=(0,k.Ki)(),A=!!i,{data:I,refetch:D}=(0,k.FU)({key:i},{skip:!i}),E={account_sid:A?"**********":"",auth_token:A?"**********":"",messaging_service_sid:A?"**********":"",phone:A?"**********":""};(0,r.useEffect)(()=>{I&&(P.setFieldsValue({account_sid:"**********",auth_token:"**********",messaging_service_sid:"**********",phone:"**********"}),j(!1))},[I,P]);let T=(()=>{let e=u(l.q.twilio_text);if(e){if(!e.success)return{isVerified:!1,status:"Verify configuration"};let i=new Date(e.timestamp),s=(0,o.B)(i,new Date,{addSuffix:!0});return{isVerified:!0,status:"Verified ".concat(s),timestamp:e.timestamp}}if(I){let{last_test_succeeded:e,last_test_timestamp:i}=I;if(i){let s=new Date(i),t=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(t):"Verify configuration",timestamp:i}}}let i=s.query.last_test_succeeded,t=s.query.last_test_timestamp;if(t){let e="true"===i||"1"===i,s=new Date(t),a=(0,o.B)(s,new Date,{addSuffix:!0});return{isVerified:e,status:e?"Verified ".concat(a):"Verify configuration",timestamp:t}}return{isVerified:!1,status:"Verify configuration"}})(),M=e=>h()(y()(e,e=>A&&"**********"===e?void 0:e),f()),B=e=>{let i="An unexpected error occurred. Please try again.";return(0,v.Ot)(e)?i=e.data.detail:(0,v.tB)(e)&&(i=e.data.detail[0].msg),i},W=(0,r.useCallback)(()=>{let e=P.getFieldsValue(),i=e.messaging_service_sid,s=e.phone,t=i&&""!==i.trim()&&"**********"!==i,a=s&&""!==s.trim()&&"**********"!==s;return t||a?Promise.resolve():Promise.reject(Error("Either messaging service SID or phone number must be provided"))},[P]),F=async e=>{try{if(A&&i){let s={twilio_account_sid:e.account_sid,twilio_auth_token:e.auth_token,twilio_messaging_service_sid:e.messaging_service_sid,twilio_sender_phone_number:e.phone},t=M(s);if(c()(t)){a.Pg3.info("No changes to save.");return}let r=await q({key:i,secrets:t});(0,v.D4)(r)?a.Pg3.error(B(r.error)):(a.Pg3.success("Twilio SMS configuration successfully updated."),j(!1),D&&D())}else{let i={service_type:l.q.twilio_text,secrets:{twilio_account_sid:e.account_sid,twilio_auth_token:e.auth_token,twilio_messaging_service_sid:e.messaging_service_sid,twilio_sender_phone_number:e.phone}},r=await C(i);if((0,v.D4)(r))a.Pg3.error(B(r.error));else{var t;a.Pg3.success("Twilio SMS configuration successfully created."),j(!1);let e=null===(t=r.data)||void 0===t?void 0:t.key;if(e){let i=w.GE.replace("[key]",e);s.push(i)}else s.push(w.AD)}}}catch(e){a.Pg3.error("An unexpected error occurred. Please try again.")}},N=async()=>{try{await n(l.q.twilio_text)&&D&&setTimeout(()=>{D()},500)}catch(e){a.Pg3.error("An unexpected error occurred during verification.")}},z=()=>{P.validateFields(["messaging_service_sid","phone"]).catch(()=>{})};return(0,t.jsxs)(a.xuv,{position:"relative",children:[(0,t.jsx)(a.PPS,{form:P,layout:"vertical",initialValues:E,onFinish:F,onValuesChange:(e,i)=>{let s={...i},t={...E};A&&Object.keys(s).forEach(e=>{"**********"===s[e]&&(s[e]=t[e])}),j(!m()(s,t))},children:(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsxs)(a.Ugi,{children:[(0,t.jsx)(V.Z,{}),(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Twilio SMS messaging configuration"})]})}),(0,t.jsxs)(a.xuv,{px:6,py:6,children:[(0,t.jsx)(a.PPS.Item,{name:"account_sid",label:"Account SID",rules:[{required:!0,message:"Account SID is required"},{type:"string",min:1,message:"Account SID cannot be empty"}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:A?"Enter new account SID":"Enter account SID"})}),(0,t.jsx)(a.PPS.Item,{name:"auth_token",label:"Auth token",rules:[{required:!0,message:"Auth token is required"},{type:"string",min:1,message:"Auth token cannot be empty"}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:A?"Enter new auth token":"Enter auth token"})}),(0,t.jsx)(a.PPS.Item,{name:"messaging_service_sid",label:"Messaging service SID",rules:[{validator:W}],style:{marginBottom:24},children:(0,t.jsx)(a.AntInput.Password,{placeholder:A?"Enter new messaging service SID":"Enter messaging service SID",onChange:()=>z()})}),(0,t.jsx)(a.PPS.Item,{name:"phone",label:"Phone number",rules:[{validator:W}],children:(0,t.jsx)(a.AntInput.Password,{placeholder:A?"Enter new phone number":"Enter phone number",onChange:()=>z()})}),(0,t.jsxs)(a.xuv,{mt:6,className:"flex justify-between",children:[(0,t.jsx)(a.xuv,{children:A&&T.isVerified&&(0,t.jsx)(a.wpx,{type:"default",onClick:()=>p(!0),"data-testid":"send-test-message-btn",children:"Send test SMS"})}),(0,t.jsxs)(a.xuv,{className:"flex",children:[A?(0,t.jsx)(a.wpx,{onClick:N,className:"mr-2","data-testid":"test-btn",loading:d,icon:T.isVerified&&!d?(0,t.jsx)(a.StI,{}):void 0,children:d?"Verifying":T.isVerified?"Verified":T.status}):(0,t.jsx)(a.wpx,{onClick:()=>s.push(w.AD),className:"mr-2",children:"Cancel"}),(0,t.jsx)(a.wpx,{htmlType:"submit",type:"primary","data-testid":"save-btn",disabled:!x,children:"Save"})]})]})]})]})}),(0,t.jsx)(b,{serviceType:l.q.twilio_text,isOpen:g,onClose:()=>p(!1)})]})},D=e=>{let{configKey:i,initialProviderType:s}=e,[o,d]=(0,r.useState)(s||""),c=!!i,{handleError:u}=(0,n.HK)(),{data:m,isLoading:g,error:f}=(0,k.FU)({key:i},{skip:!i}),{data:p}=(0,k.qt)();(0,r.useEffect)(()=>{c&&(null==m?void 0:m.service_type)&&d(m.service_type)},[c,null==m?void 0:m.service_type]),(0,r.useEffect)(()=>{f&&u(f)},[f,u]);let y=(0,r.useMemo)(()=>{var e;let i=new Set((null==p?void 0:null===(e=p.items)||void 0===e?void 0:e.map(e=>e.service_type))||[]),s=!c&&i.has(l.q.mailgun),t=!c&&i.has(l.q.twilio_email),a=!c&&i.has(l.q.twilio_text),r=!c&&i.has(l.q.aws_ses);return[{value:l.q.mailgun,label:l.k.mailgun,disabled:s,title:s?"Only one messaging provider of each type can be created":void 0},{value:l.q.twilio_email,label:l.k.twilio_email,disabled:t,title:t?"Only one messaging provider of each type can be created":void 0},{value:l.q.twilio_text,label:l.k.twilio_text,disabled:a,title:a?"Only one messaging provider of each type can be created":void 0},{value:l.q.aws_ses,label:l.k.aws_ses,disabled:r,title:r?"Only one messaging provider of each type can be created":void 0}]},[p,c]);return c&&g?(0,t.jsx)(a.xuv,{display:"flex",justifyContent:"center",alignItems:"center",height:"200px",children:(0,t.jsx)(a.$jN,{})}):!c||m||g?(0,t.jsxs)(a.xuv,{children:[!c&&(0,t.jsxs)(a.xuv,{maxWidth:"720px",border:"1px",borderColor:"gray.200",borderRadius:6,overflow:"visible",mt:6,mb:4,children:[(0,t.jsx)(a.xuv,{backgroundColor:"gray.50",px:6,py:4,display:"flex",flexDirection:"row",alignItems:"center",borderBottom:"1px",borderColor:"gray.200",borderTopRadius:6,children:(0,t.jsx)(a.X6q,{as:"h3",size:"xs",children:"Select messaging provider"})}),(0,t.jsx)(a.xuv,{px:6,py:6,children:(0,t.jsx)(a.PPS,{layout:"vertical",children:(0,t.jsx)(a.PPS.Item,{label:"Provider type",name:"provider_type",rules:[{required:!0,message:"Please select a provider type"}],children:(0,t.jsx)(a.WPr,{placeholder:"Choose a messaging provider...","aria-label":"Select a messaging provider",value:o||void 0,onChange:e=>d(e),options:y})})})})]}),o&&(()=>{switch(o){case l.q.mailgun:return(0,t.jsx)(q,{configKey:i});case l.q.twilio_email:return(0,t.jsx)(A,{configKey:i});case l.q.twilio_text:return(0,t.jsx)(I,{configKey:i});case l.q.aws_ses:return(0,t.jsx)(P,{configKey:i});default:return null}})()]}):(0,t.jsx)(a.xuv,{children:(0,t.jsxs)(a.xvT,{color:"red.500",children:["Messaging configuration not found for key: ",i]})})}},90710:function(e,i,s){s.d(i,{k:function(){return a},q:function(){return t}});let t={mailgun:"mailgun",twilio_email:"twilio_email",twilio_text:"twilio_text",aws_ses:"aws_ses"},a={mailgun:"Mailgun email",twilio_email:"Twilio email",twilio_text:"Twilio SMS",aws_ses:"AWS SES email"}},17828:function(e,i,s){var t=s(24246);s(27378),i.Z=()=>(0,t.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:"0 0 74.375 85",width:"20",height:"20",fill:"#fff",fillRule:"evenodd",stroke:"#000",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,t.jsx)("use",{xlinkHref:"#A",x:"2.188",y:"2.5"}),(0,t.jsx)("symbol",{id:"A",overflow:"visible",children:(0,t.jsxs)("g",{stroke:"none",children:[(0,t.jsx)("path",{d:"M16.558 12.75L0 38.591l16.558 25.841 13.227-3.324.654-44.869-13.881-3.489z",fill:"#876929"}),(0,t.jsx)("path",{d:"M35.049 59.786l-18.491 4.645V12.75l18.491 4.645v42.391z",fill:"#d9a741"}),(0,t.jsxs)("g",{fill:"#876929",children:[(0,t.jsx)("path",{d:"M32.849 21.614L35.05 80 70 62.867l-.01-43.615-8.914 1.448-28.228.913z"}),(0,t.jsx)("path",{d:"M46.184 33.149l10.906-.632 10.778-19.164L40.612 0 30.439 4.364l15.745 28.785z"})]}),(0,t.jsx)("path",{d:"M40.612 0l27.256 13.353-10.778 19.164L40.612 0z",fill:"#d9a741"}),(0,t.jsx)("path",{d:"M35.049 5.539L57.09 44.742l3.788 22.595L35.049 80l-10.46-5.131V9.64l10.45-4.101h.01z",fill:"#876929"}),(0,t.jsx)("path",{d:"M69.991 19.251L70 62.867 35.05 80V5.539l22.041 39.203 12.899-25.491z",fill:"#d9a741"})]})})]})},44907:function(e,i,s){var t=s(24246);s(27378),i.Z=()=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",preserveAspectRatio:"xMidYMid",viewBox:"-0.5 0 257 257",children:(0,t.jsx)("path",{fill:"#C02428",d:"M128.418 80.526c-26.51 0-48.884 21.475-48.884 48.728a48.197 48.197 0 0014.187 34.579 48.532 48.532 0 0034.697 14.14c26.511 0 48.875-21.476 48.875-48.719 0-27.253-22.364-48.728-48.875-48.728zm-76.22 47.895c0-41.285 33.968-75.138 75.395-75.138 41.417 0 75.385 33.853 75.385 75.138 0 2.478 0 5.788-.825 8.266-.835 7.422 4.972 13.2 12.43 13.2 12.43 0 14.08-15.678 14.08-21.466 0-55.328-45.573-100.746-101.07-100.746-55.518 0-101.07 45.418-101.07 100.746 0 55.339 45.552 100.747 101.07 100.747 29.822 0 56.333-12.388 74.56-33.03l20.703 17.342c-22.364 26.43-57.158 42.952-94.448 42.952-34.097.105-66.827-13.35-90.932-37.384C13.37 195.016-.118 162.392 0 128.411 0 58.228 57.159.432 128.418.432 198.832.432 256 58.238 256 128.432c0 28.075-13.256 51.205-40.591 51.205-11.605 0-19.053-5.787-23.2-11.565-13.255 21.476-37.29 35.508-64.626 35.508-20.017.068-39.234-7.827-53.388-21.933a74.755 74.755 0 01-22.008-53.205l.01-.02zm76.21-22.297c12.43 0 22.374 9.91 22.374 22.297 0 12.388-9.944 22.298-22.364 22.298a22.322 22.322 0 01-15.848-6.504 22.169 22.169 0 01-6.526-15.794c0-12.387 9.944-22.297 22.374-22.297h-.01z"})})},5144:function(e,i,s){var t=s(24246);i.Z=()=>(0,t.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:"20",height:"20",preserveAspectRatio:"xMidYMid",viewBox:"0 0 256 256",children:(0,t.jsx)("path",{fill:"#F12E45",d:"M128 0c70.656 0 128 57.344 128 128s-57.344 128-128 128S0 198.656 0 128 57.344 0 128 0zm0 33.792c-52.224 0-94.208 41.984-94.208 94.208S75.776 222.208 128 222.208s94.208-41.984 94.208-94.208S180.224 33.792 128 33.792zm31.744 99.328c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm63.488-63.488c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624zm-63.488 0c14.704 0 26.624 11.92 26.624 26.624 0 14.704-11.92 26.624-26.624 26.624-14.704 0-26.624-11.92-26.624-26.624 0-14.704 11.92-26.624 26.624-26.624z"})})},42478:function(e,i,s){s.d(i,{FU:function(){return d},JE:function(){return a},Ki:function(){return u},SU:function(){return m},W:function(){return g},h9:function(){return r},jc:function(){return t},qt:function(){return o},sn:function(){return c}});let{useGetEmailInviteStatusQuery:t,useGetActiveMessagingProviderQuery:a,useCreateMessagingConfigurationMutation:r,useCreateMessagingConfigurationSecretsMutation:n,useGetMessagingConfigurationDetailsQuery:l,useGetMessagingConfigurationsQuery:o,useGetMessagingConfigurationByKeyQuery:d,useUpdateMessagingConfigurationByKeyMutation:c,useUpdateMessagingConfigurationSecretsByKeyMutation:u,useCreateTestConnectionMessageMutation:m,useDeleteMessagingConfigurationByKeyMutation:g}=s(78780).u.injectEndpoints({endpoints:e=>({getEmailInviteStatus:e.query({query:()=>({url:"/messaging/email-invite/status"}),providesTags:()=>["Email Invite Status"]}),createMessagingConfiguration:e.mutation({query:e=>({url:"messaging/config",method:"POST",body:e}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getActiveMessagingProvider:e.query({queryFn:async(e,i,s,t)=>{let a=await t({url:"messaging/default/active"});return a.error&&404===a.error.status?{data:null}:a},providesTags:["Messaging Config"]}),createMessagingConfigurationSecrets:e.mutation({query:e=>({url:"messaging/default/".concat(e.service_type,"/secret"),method:"PUT",body:e.details}),invalidatesTags:["Messaging Config","Configuration Settings"]}),getMessagingConfigurationDetails:e.query({query:e=>({url:"messaging/default/".concat(e.type)}),providesTags:["Messaging Config"]}),getMessagingConfigurations:e.query({query:()=>({url:"messaging/config"}),providesTags:["Messaging Config"]}),getMessagingConfigurationByKey:e.query({query:e=>({url:"messaging/config/".concat(e.key)}),providesTags:["Messaging Config"]}),createTestConnectionMessage:e.mutation({query:e=>({url:"messaging/test/".concat(e.service_type),method:"POST",body:e.details}),invalidatesTags:["Messaging Config"]}),updateMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"PATCH",body:e.config}),invalidatesTags:["Messaging Config","Configuration Settings"]}),updateMessagingConfigurationSecretsByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key,"/secret"),method:"PUT",body:e.secrets}),invalidatesTags:["Messaging Config","Configuration Settings"]}),deleteMessagingConfigurationByKey:e.mutation({query:e=>({url:"messaging/config/".concat(e.key),method:"DELETE"}),invalidatesTags:["Messaging Config","Configuration Settings"]})})})}}]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3696],{83696:function(e,s,a){a.d(s,{Z:function(){return el}});var l=a(24246),t=a(87949),n=a(91437),i=()=>(0,l.jsxs)(t.xuv,{children:[(0,l.jsx)(t.xuv,{pb:4,fontSize:"18px",fontWeight:"semibold",children:"Role Description"}),(0,l.jsx)(t.gCW,{spacing:4,children:n.K.map(e=>(0,l.jsxs)(t.xuv,{width:"100%",padding:4,borderRadius:"md",backgroundColor:"gray.75",fontSize:"14px",children:[(0,l.jsx)(t.xuv,{fontWeight:"semibold",children:e.label}),(0,l.jsx)(t.xuv,{color:"gray.700",children:e.description})]},e.roleKey))})]}),r=a(16134),d=a(65735),o=a(19904),c=a(34090),h=a(86677),u=a(27378),m=a(812),p=a(46238),x=a(58452),j=a(77830),w=a(46628),g=a(26917),b=a(1315),f=a(95492),y=a(65497);let v=e=>{let{assignedSystems:s,onAssignedSystemChange:a}=e,n=(0,r.C)(y.Ux);if((0,y.d6)(n,{skip:!n}),0===s.length)return null;let i=e=>{a(s.filter(s=>s.fides_key!==e.fides_key))};return(0,l.jsxs)(t.iA_,{size:"sm","data-testid":"assign-systems-delete-table",children:[(0,l.jsx)(t.hrZ,{children:(0,l.jsxs)(t.Tr,{children:[(0,l.jsx)(t.Th,{children:"System"}),(0,l.jsx)(t.Th,{})]})}),(0,l.jsx)(t.p3B,{children:s.map(e=>(0,l.jsxs)(t.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,l.jsx)(t.Td,{children:e.name}),(0,l.jsx)(t.Td,{textAlign:"end",children:(0,l.jsx)(t.wpx,{"aria-label":"Unassign system from user",icon:(0,l.jsx)(f.l,{}),onClick:()=>i(e),"data-testid":"unassign-btn"})})]},e.fides_key))})]})};var _=e=>{let{allSystems:s,assignedSystems:a,onChange:n}=e,i=e=>{a.find(s=>s.fides_key===e.fides_key)?n(a.filter(s=>s.fides_key!==e.fides_key)):n([...a,e])};return(0,l.jsx)(t.xuv,{overflowY:"auto",maxHeight:"300px",children:(0,l.jsxs)(t.iA_,{size:"sm","data-testid":"assign-systems-table",maxHeight:"50vh",overflowY:"scroll",children:[(0,l.jsx)(t.hrZ,{position:"sticky",top:0,background:"white",zIndex:1,children:(0,l.jsxs)(t.Tr,{children:[(0,l.jsx)(t.Th,{children:"System"}),(0,l.jsx)(t.Th,{children:"Assign"})]})}),(0,l.jsx)(t.p3B,{children:s.map(e=>{let s=!!a.find(s=>s.fides_key===e.fides_key);return(0,l.jsxs)(t.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,l.jsx)(t.Td,{children:e.name}),(0,l.jsx)(t.Td,{children:(0,l.jsx)(t.rAg,{checked:s,onChange:()=>i(e),"data-testid":"assign-switch"})})]},e.fides_key)})})]})})};let C=(e,s)=>{var a,l;return(null===(a=e.name)||void 0===a?void 0:a.toLocaleLowerCase().includes(s.toLocaleLowerCase()))||(null===(l=e.description)||void 0===l?void 0:l.toLocaleLowerCase().includes(s.toLocaleLowerCase()))};var k=e=>{let{isOpen:s,onClose:a,assignedSystems:n,onAssignedSystemChange:i}=e,{data:r}=(0,b.K3)(),[d,o]=(0,u.useState)(""),[c,h]=(0,u.useState)(n),m=async()=>{i(c),a()},p=!r||0===r.length,x=(0,u.useMemo)(()=>r?r.filter(e=>C(e,d)):[],[r,d]),j=(0,u.useMemo)(()=>{let e=new Set(c.map(e=>e.fides_key));return x.every(s=>e.has(s.fides_key))},[x,c]);return(0,l.jsxs)(t.u_l,{isOpen:s,onClose:a,size:"2xl",children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsxs)(t.hzk,{p:8,"data-testid":"confirmation-modal",children:[(0,l.jsxs)(t.xBx,{fontWeight:"medium",display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,l.jsx)(t.xvT,{children:"Assign systems"}),(0,l.jsxs)(t.j8w,{color:"success",children:["Assigned to ",n.length," systems"]})]}),(0,l.jsx)(t.fef,{"data-testid":"assign-systems-modal-body",children:p?(0,l.jsx)(t.xvT,{children:"No systems found"}):(0,l.jsxs)(t.Kqy,{spacing:4,children:[(0,l.jsxs)(t.kCb,{justifyContent:"space-between",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",flexGrow:1,fontWeight:"medium",children:"Assign systems in your organization to this user"}),(0,l.jsx)(t.xuv,{children:(0,l.jsxs)(t.NIc,{display:"flex",alignItems:"center",children:[(0,l.jsx)(t.lXp,{fontSize:"sm",htmlFor:"assign-all-systems",mb:"0",children:"Assign all systems"}),(0,l.jsx)(t.rAg,{size:"small",id:"assign-all-systems",checked:j,onChange:e=>{e&&r?h(x):h(r?r.filter(e=>!x.includes(e)):[])},"data-testid":"assign-all-systems-toggle"})]})})]}),(0,l.jsx)(g.Z,{value:d,onChange:o,placeholder:"Search for systems","data-testid":"system-search",withIcon:!0}),(0,l.jsx)(_,{allSystems:x,assignedSystems:c,onChange:h})]})}),(0,l.jsx)(t.mzw,{justifyContent:"flex-start",children:(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:a,className:"mr-2","data-testid":"cancel-btn",children:"Cancel"}),p?null:(0,l.jsx)(t.wpx,{type:"primary",onClick:m,"data-testid":"confirm-btn",children:"Confirm"})]})})]})]})},S=e=>{let{label:s,roleKey:a,isSelected:n,isDisabled:i,assignedSystems:r,onAssignedSystemChange:o}=e,{setFieldValue:h}=(0,c.u6)(),u=(0,t.qY0)(),m=i?"You do not have sufficient permissions to assign this role.":void 0;return n?(0,l.jsxs)(t.Kqy,{borderRadius:"md",border:"1px solid",borderColor:"gray.200",p:4,backgroundColor:"gray.50","aria-selected":"true",spacing:4,"data-testid":"selected",children:[(0,l.jsxs)(t.kCb,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(t.xvT,{fontSize:"md",fontWeight:"semibold",children:s}),(0,l.jsx)(t.StI,{})]}),a!==d.A7.APPROVER&&a!==d.A7.RESPONDENT&&a!==d.A7.EXTERNAL_RESPONDENT?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(t.kCb,{alignItems:"center",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",fontWeight:"semibold",mr:1,children:"Assigned systems"}),(0,l.jsx)(p.b,{label:"Assigned systems refer to those systems that have been specifically allocated to a user for management purposes. Users assigned to a system possess full edit permissions and are listed as the Data Steward for the respective system."})]}),(0,l.jsx)(t.wpx,{disabled:i,title:m,type:"primary",size:"small",onClick:u.onOpen,"data-testid":"assign-systems-btn",children:"Assign systems +"}),(0,l.jsx)(v,{assignedSystems:r,onAssignedSystemChange:o}),u.isOpen?(0,l.jsx)(k,{isOpen:u.isOpen,onClose:u.onClose,assignedSystems:r,onAssignedSystemChange:o}):null]}):null]}):(0,l.jsx)(t.wpx,{onClick:()=>{h("roles",[a])},"data-testid":"role-option-".concat(s),title:m,disabled:i,children:s})};let E={roles:[]};var R=()=>{var e,s;let a=(0,t.pmc)(),i=(0,h.useRouter)(),g=(0,r.C)(y.Ux);(0,y.d6)(g,{skip:!g});let{isOpen:b,onOpen:f,onClose:v}=(0,t.qY0)(),_=(0,r.C)(y.R$),[C,k]=(0,u.useState)(_),[R]=(0,y.G$)();(0,u.useEffect)(()=>{k(_)},[_]);let{data:A,isLoading:P}=(0,y.gU)(null!=g?g:"",{skip:!g}),[T]=(0,y.lD)(),N=!!(null==A?void 0:null===(e=A.roles)||void 0===e?void 0:e.includes(d.A7.EXTERNAL_RESPONDENT)),O=async e=>{if(b&&v(),!g)return;let s=e.roles.includes(d.A7.APPROVER),l=await T({user_id:g,payload:{roles:e.roles}});if((0,m.D4)(l)){a((0,w.Vo)((0,m.e$)(l.error)));return}if(!s){let e=C.map(e=>e.fides_key),s=await R({userId:g,fidesKeys:e});if((0,m.D4)(s)){a((0,w.Vo)((0,m.e$)(s.error)));return}}a((0,w.t5)("Permissions updated"))},I=async e=>{g&&(C.length>0&&e.roles.includes(d.A7.APPROVER)?f():await O(e))},z=(0,o.Tg)([d.Sh.USER_PERMISSION_ASSIGN_OWNERS]);if(!g)return null;if(P)return(0,l.jsx)(t.$jN,{});if(!z&&(null==A?void 0:null===(s=A.roles)||void 0===s?void 0:s.includes(d.A7.OWNER)))return(0,l.jsx)(t.xvT,{"data-testid":"insufficient-access",children:"You do not have sufficient access to change this user's permissions."});let q=(null==A?void 0:A.roles)?{roles:A.roles}:E,U=n.K.filter(e=>N?e.roleKey===d.A7.EXTERNAL_RESPONDENT:e.roleKey!==d.A7.EXTERNAL_RESPONDENT),D=N?"External respondent role cannot be changed":void 0;return(0,l.jsx)(c.J9,{onSubmit:I,initialValues:q,enableReinitialize:!0,children:e=>{let{values:s,isSubmitting:a,dirty:n}=e;return(0,l.jsxs)(c.l0,{children:[(0,l.jsxs)(t.Kqy,{spacing:7,children:[(0,l.jsxs)(t.Kqy,{spacing:3,"data-testid":"role-options",children:[(0,l.jsxs)(t.kCb,{alignItems:"center",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",fontWeight:"semibold",mr:1,children:"User role"}),(0,l.jsx)(p.b,{label:"A user's role in the organization determines what parts of the UI they can access and which functions are available to them."})]}),U.map(e=>{let a=s.roles.indexOf(e.roleKey)>=0,t=e.roleKey===d.A7.OWNER?!z:N;return(0,l.jsx)(S,{isSelected:a,isDisabled:t,assignedSystems:C,onAssignedSystemChange:k,...e},e.roleKey)}),!N&&(0,l.jsx)(t.esZ,{title:"To invite a new External respondent user, create a manual task integration and then click on the 'Manage secure access' button",children:(0,l.jsx)(t.wpx,{disabled:!0,"data-testid":"role-option-External respondent",children:"External respondent"})})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:()=>i.push(j.e3),children:"Cancel"}),(0,l.jsx)(t.esZ,{title:D,children:(0,l.jsx)(t.wpx,{className:"ml-2",type:"primary",htmlType:"submit",loading:a,disabled:!n&&C===_||N,"data-testid":"save-btn",children:"Save"})})]})]}),(0,l.jsx)(x.Z,{isOpen:b,onClose:v,onConfirm:()=>O(s),title:"Change role to Approver",testId:"downgrade-to-approver-confirmation-modal",continueButtonText:"Yes",message:(0,l.jsx)(t.xvT,{children:"Switching to an approver role will remove all assigned systems. Do you wish to proceed?"})})]})}})},A=a(61038),P=a(55484),T=a(25980),N=a(40324),O=a(96006),I=a(7426),z=a(42478),q=a(76174),U=a(91317),D=a(16125),Z=a(36835),W=a(31883),K=a(52253);let L=(e,s,a)=>{var l;try{localStorage.removeItem(K.xH)}catch(e){}e((0,Z.kS)()),null==a||null===(l=a.onClose)||void 0===l||l.call(a),s.push(K._e)},V=P.Ry().shape({password:O.a.label("Password"),passwordConfirmation:P.Z_().required().oneOf([P.iH("password")],"Passwords must match").label("Password confirmation")}),B={password:"",passwordConfirmation:""},Y=e=>{let s=(0,t.qY0)(),a=(0,t.pmc)(),[l]=(0,y.ls)(),n=(0,h.useRouter)(),i=(0,D.I0)(),d=(0,r.C)(Z.dy),o=async t=>{let r=await l({id:e,new_password:t.password});(0,W.D4)(r)?a((0,w.Vo)((0,m.e$)(r.error))):(a((0,w.t5)("Successfully reset user's password. Please inform the user of their new password.")),s.onClose(),(null==d?void 0:d.id)===e&&L(i,n))};return{...s,handleResetPassword:o}};var F=e=>{let{id:s}=e,{handleResetPassword:a,isOpen:n,onClose:i,onOpen:r}=Y(s);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.wpx,{onClick:r,"data-testid":"reset-password-btn",children:"Reset password"}),(0,l.jsxs)(t.u_l,{isCentered:!0,isOpen:n,onClose:i,children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsx)(t.hzk,{children:(0,l.jsx)(c.J9,{initialValues:B,validationSchema:V,onSubmit:a,children:e=>{let{isSubmitting:s,dirty:a,isValid:n}=e;return(0,l.jsxs)(c.l0,{children:[(0,l.jsx)(t.xBx,{children:"Reset Password"}),(0,l.jsx)(t.olH,{}),(0,l.jsx)(t.fef,{children:(0,l.jsxs)(t.Kqy,{direction:"column",spacing:4,children:[(0,l.jsx)(t.xvT,{mb:2,children:"Choose a new password for this user."}),(0,l.jsx)(N.j0,{name:"password",label:"Password",placeholder:"********",type:"password",tooltip:"Password must contain at least 8 characters, 1 number, 1 capital letter, 1 lowercase letter, and at least 1 symbol.",autoComplete:"new-password"}),(0,l.jsx)(N.j0,{name:"passwordConfirmation",label:"Confirm Password",placeholder:"********",type:"password",tooltip:"Must match above password.",autoComplete:"confirm-password"})]})}),(0,l.jsx)(t.mzw,{children:(0,l.jsxs)("div",{className:"w-full gap-2",children:[(0,l.jsx)(t.wpx,{onClick:i,className:"w-1/2",children:"Cancel"}),(0,l.jsx)(t.wpx,{type:"primary",disabled:!a||!n,loading:s,htmlType:"submit",className:"w-1/2","data-testid":"submit-btn",children:"Change Password"})]})})]})}})})]})]})};let $=e=>{let s=(0,t.qY0)(),a=(0,t.pmc)(),[l,n]=(0,u.useState)(""),[i,r]=(0,u.useState)(""),[d,{isLoading:o}]=(0,y.ev)(),c=(0,h.useRouter)(),m=(0,D.I0)(),p=!!(e&&i&&l),x=async()=>{p&&d({id:e,old_password:l,new_password:i}).unwrap().then(()=>{a((0,w.t5)("Password updated")),L(m,c,{onClose:s.onClose})})};return{...s,changePasswordValidation:p,handleChange:e=>{"oldPassword"===e.target.name?n(e.target.value):r(e.target.value)},handleChangePassword:x,isLoading:o,newPasswordValue:i,oldPasswordValue:l}};var H=e=>{let{id:s}=e,{changePasswordValidation:a,handleChange:n,handleChangePassword:i,isLoading:r,isOpen:d,newPasswordValue:o,oldPasswordValue:c,onClose:h,onOpen:u}=$(s);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.wpx,{onClick:u,"data-testid":"update-password-btn",children:"Update password"}),(0,l.jsxs)(t.u_l,{isCentered:!0,isOpen:d,onClose:h,children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsxs)(t.hzk,{children:[(0,l.jsx)(t.xBx,{children:"Update Password"}),(0,l.jsx)(t.olH,{}),(0,l.jsx)(t.fef,{pb:6,children:(0,l.jsxs)(t.Kqy,{direction:"column",spacing:"15px",children:[(0,l.jsx)(t.NIc,{children:(0,l.jsx)(t.IIB,{isRequired:!0,name:"oldPassword",onChange:n,placeholder:"Old Password",type:"password",value:c,"data-testid":"input-oldPassword"})}),(0,l.jsx)(t.NIc,{children:(0,l.jsx)(t.IIB,{isRequired:!0,name:"newPassword",onChange:n,placeholder:"New Password",type:"password",value:o,"data-testid":"input-newPassword"})})]})}),(0,l.jsxs)(t.mzw,{children:[(0,l.jsx)(t.wpx,{onClick:h,className:"mr-2 w-1/2",children:"Cancel"}),(0,l.jsx)(t.wpx,{type:"primary",disabled:!a,loading:r,onClick:i,htmlType:"submit",className:"mr-3 w-1/2","data-testid":"submit-btn",children:"Change Password"})]})]})]})]})},M=()=>{var e;let s=(0,r.C)(y.Ux),a=(0,r.C)(U.dy),n=!!a&&a.id===s,{data:i}=(0,y.gU)(null!=s?s:"",{skip:!s});return(null==i?void 0:null===(e=i.roles)||void 0===e?void 0:e.includes(d.A7.EXTERNAL_RESPONDENT))?null:(0,l.jsx)(t.xuv,{children:s?(0,l.jsxs)(t.Ugi,{children:[n?(0,l.jsx)(H,{id:s}):null,(0,l.jsx)(o.ZP,{scopes:[d.Sh.USER_PASSWORD_RESET],children:(0,l.jsx)(F,{id:s})})]}):null})};let X=(e,s,a,l)=>!e||e&&!s||e&&s&&!0===a&&!!l,G=(e,s,a)=>!!(e&&s&&a),J=(e,s,a,l,t,n)=>!!e&&!s&&X(a,l,t,n),Q=(e,s,a,l)=>X(e,s,a,l),ee={username:"",first_name:"",email_address:"",last_name:"",password:"",password_login_enabled:!1},es=(e,s,a,l,t)=>P.Ry().shape({username:P.Z_().required().label("Username"),email_address:P.Z_().email().required().label("Email address"),first_name:P.Z_().label("First name"),last_name:P.Z_().label("Last name"),password:P.Z_().when(["password_login_enabled"],{is:n=>J(e,s,a,l,t,n),then:()=>O.a.label("Password"),otherwise:()=>P.Z_().optional().label("Password")}),password_login_enabled:P.O7().label("Allow password login")});var ea=e=>{let{onSubmit:s,initialValues:a,canEditNames:n}=e,i=(0,h.useRouter)(),d=(0,t.pmc)(),o=(0,r.T)(),u=(0,t.qY0)(),{data:p}=(0,z.jc)(),{data:x}=(0,q.qv)();(0,I.tB)({api_set:!1});let g=(0,r.C)(y.ZC),b=(0,r.C)(I.iR),{plus:v}=(0,T.hz)(),_=(null==p?void 0:p.enabled)||!1,C=(null==b?void 0:b.allow_username_password_login)||!1,k=!g,S=!k&&!n,E=x&&x.length>0||!1,R=G(v,E,C),P=null!=a?a:ee;g&&"password_login_enabled"in g&&(P={...P,password_login_enabled:!!g.password_login_enabled});let O=es(k,_,v,E,C),U=async e=>{let a=J(k,_,v,E,C,e.password_login_enabled),l={username:e.username,email_address:e.email_address,first_name:e.first_name,last_name:e.last_name};R&&(l.password_login_enabled=e.password_login_enabled),a&&e.password&&(l.password=e.password);let t=await s(l);if((0,m.D4)(t)){d((0,w.Vo)((0,m.e$)(t.error)));return}d((0,w.t5)("".concat(k?"User created. By default, new users are set to the Viewer role. To change the role, please go to the Permissions tab.":"User updated."))),(null==t?void 0:t.data)&&o((0,y.Vv)(t.data.id))};return(0,l.jsx)(c.J9,{onSubmit:U,initialValues:P,validationSchema:O,"data-testid":"user-form",children:e=>{let{dirty:s,isSubmitting:a,isValid:n,values:r}=e;return(0,l.jsx)(c.l0,{children:(0,l.jsxs)(t.Kqy,{maxW:["xs","xs","100%"],width:"100%",spacing:7,children:[(0,l.jsxs)(t.Kqy,{spacing:6,maxWidth:"55%",children:[(0,l.jsxs)(t.kCb,{children:[(0,l.jsxs)(t.xvT,{display:"flex",alignItems:"center",fontSize:"sm",fontWeight:"semibold",children:["Profile"," ",(null==g?void 0:g.disabled)&&(0,l.jsx)(t.j8w,{color:"success",className:"ml-2","data-testid":"invite-sent-badge",children:"Invite sent"})]}),(0,l.jsx)(t.xuv,{marginLeft:"auto",children:(0,l.jsxs)(t.Ugi,{children:[Q(v,E,C||!1,r.password_login_enabled)&&(0,l.jsx)(M,{"data-testid":"password-management"}),k?null:(0,l.jsxs)(t.xuv,{children:[(0,l.jsx)(t.wpx,{"aria-label":"delete",icon:(0,l.jsx)(f.l,{}),onClick:u.onOpen,"data-testid":"delete-user-btn"}),(0,l.jsx)(A.Z,{user:g,...u})]})]})})]}),(0,l.jsx)(N.j0,{name:"username",label:"Username",variant:"block",placeholder:"Enter new username",disabled:!k,isRequired:!0,"data-testid":"input-username"}),(0,l.jsx)(N.j0,{name:"email_address",label:"Email address",variant:"block",placeholder:"Enter email of user",isRequired:!0,"data-testid":"input-email-address"}),(0,l.jsx)(N.j0,{name:"first_name",label:"First name",variant:"block",placeholder:"Enter first name of user",disabled:S,"data-testid":"input-first-name"}),(0,l.jsx)(N.j0,{name:"last_name",label:"Last name",variant:"block",placeholder:"Enter last name of user",disabled:S,"data-testid":"input-last-name"}),R&&(0,l.jsx)(N.w8,{name:"password_login_enabled",label:"Allow password login",tooltip:"When enabled, user can log in with username and password. When disabled, user must use SSO.",variant:"stacked",isDisabled:!k,"data-testid":"toggle-allow-password-login",size:"default"}),J(k,_,v,E,C,r.password_login_enabled)&&(0,l.jsx)(N.j0,{name:"password",label:"Password",variant:"block",placeholder:"********",type:"password",tooltip:"Password must contain at least 8 characters, 1 number, 1 capital letter, 1 lowercase letter, and at least 1 symbol.",isRequired:!0,"data-testid":"input-password"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:()=>i.push(j.e3),className:"mr-3","data-testid":"cancel-btn",children:"Cancel"}),(0,l.jsx)(t.wpx,{htmlType:"submit",type:"primary",disabled:!s||!n,loading:a,"data-testid":"save-user-btn",children:"Save"})]})]})})}})},el=e=>{let{onSubmit:s,initialValues:a,...n}=e,c=(0,r.C)(y.Ux);(0,y.Fk)(c,{skip:!c});let h=(0,o.Tg)([d.Sh.USER_PERMISSION_UPDATE]),u=!c||!h,m=[{label:"Profile",key:"profile",children:(0,l.jsx)(ea,{onSubmit:s,initialValues:a,...n})},{label:"Permissions",key:"permissions",children:(0,l.jsxs)(t.kCb,{gap:"97px",children:[(0,l.jsx)(t.xuv,{w:{base:"100%",md:"50%",xl:"50%"},children:(0,l.jsx)(R,{})}),(0,l.jsx)(t.xuv,{position:"absolute",top:"96px",right:6,height:"calc(100% + 100px)",overflowY:"scroll",padding:6,w:"35%",borderLeftWidth:"1px",children:(0,l.jsx)(i,{})})]}),disabled:u,forceRender:!u}];return(0,l.jsx)(t.A5g,{items:m})}},31883:function(e,s,a){a.d(s,{Bw:function(){return l.Bw},D4:function(){return l.D4}});var l=a(19043)}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[3696],{83696:function(e,s,a){a.d(s,{Z:function(){return el}});var l=a(24246),t=a(98227),n=a(91437),i=()=>(0,l.jsxs)(t.xuv,{children:[(0,l.jsx)(t.xuv,{pb:4,fontSize:"18px",fontWeight:"semibold",children:"Role Description"}),(0,l.jsx)(t.gCW,{spacing:4,children:n.K.map(e=>(0,l.jsxs)(t.xuv,{width:"100%",padding:4,borderRadius:"md",backgroundColor:"gray.75",fontSize:"14px",children:[(0,l.jsx)(t.xuv,{fontWeight:"semibold",children:e.label}),(0,l.jsx)(t.xuv,{color:"gray.700",children:e.description})]},e.roleKey))})]}),r=a(16134),d=a(65735),o=a(19904),c=a(34090),h=a(86677),u=a(27378),m=a(812),p=a(46238),x=a(58452),j=a(77830),w=a(46628),g=a(26917),b=a(1315),f=a(95492),y=a(65497);let v=e=>{let{assignedSystems:s,onAssignedSystemChange:a}=e,n=(0,r.C)(y.Ux);if((0,y.d6)(n,{skip:!n}),0===s.length)return null;let i=e=>{a(s.filter(s=>s.fides_key!==e.fides_key))};return(0,l.jsxs)(t.iA_,{size:"sm","data-testid":"assign-systems-delete-table",children:[(0,l.jsx)(t.hrZ,{children:(0,l.jsxs)(t.Tr,{children:[(0,l.jsx)(t.Th,{children:"System"}),(0,l.jsx)(t.Th,{})]})}),(0,l.jsx)(t.p3B,{children:s.map(e=>(0,l.jsxs)(t.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,l.jsx)(t.Td,{children:e.name}),(0,l.jsx)(t.Td,{textAlign:"end",children:(0,l.jsx)(t.wpx,{"aria-label":"Unassign system from user",icon:(0,l.jsx)(f.l,{}),onClick:()=>i(e),"data-testid":"unassign-btn"})})]},e.fides_key))})]})};var _=e=>{let{allSystems:s,assignedSystems:a,onChange:n}=e,i=e=>{a.find(s=>s.fides_key===e.fides_key)?n(a.filter(s=>s.fides_key!==e.fides_key)):n([...a,e])};return(0,l.jsx)(t.xuv,{overflowY:"auto",maxHeight:"300px",children:(0,l.jsxs)(t.iA_,{size:"sm","data-testid":"assign-systems-table",maxHeight:"50vh",overflowY:"scroll",children:[(0,l.jsx)(t.hrZ,{position:"sticky",top:0,background:"white",zIndex:1,children:(0,l.jsxs)(t.Tr,{children:[(0,l.jsx)(t.Th,{children:"System"}),(0,l.jsx)(t.Th,{children:"Assign"})]})}),(0,l.jsx)(t.p3B,{children:s.map(e=>{let s=!!a.find(s=>s.fides_key===e.fides_key);return(0,l.jsxs)(t.Tr,{_hover:{bg:"gray.50"},"data-testid":"row-".concat(e.fides_key),children:[(0,l.jsx)(t.Td,{children:e.name}),(0,l.jsx)(t.Td,{children:(0,l.jsx)(t.rAg,{checked:s,onChange:()=>i(e),"data-testid":"assign-switch"})})]},e.fides_key)})})]})})};let C=(e,s)=>{var a,l;return(null===(a=e.name)||void 0===a?void 0:a.toLocaleLowerCase().includes(s.toLocaleLowerCase()))||(null===(l=e.description)||void 0===l?void 0:l.toLocaleLowerCase().includes(s.toLocaleLowerCase()))};var k=e=>{let{isOpen:s,onClose:a,assignedSystems:n,onAssignedSystemChange:i}=e,{data:r}=(0,b.K3)(),[d,o]=(0,u.useState)(""),[c,h]=(0,u.useState)(n),m=async()=>{i(c),a()},p=!r||0===r.length,x=(0,u.useMemo)(()=>r?r.filter(e=>C(e,d)):[],[r,d]),j=(0,u.useMemo)(()=>{let e=new Set(c.map(e=>e.fides_key));return x.every(s=>e.has(s.fides_key))},[x,c]);return(0,l.jsxs)(t.u_l,{isOpen:s,onClose:a,size:"2xl",children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsxs)(t.hzk,{p:8,"data-testid":"confirmation-modal",children:[(0,l.jsxs)(t.xBx,{fontWeight:"medium",display:"flex",justifyContent:"space-between",alignItems:"center",children:[(0,l.jsx)(t.xvT,{children:"Assign systems"}),(0,l.jsxs)(t.j8w,{color:"success",children:["Assigned to ",n.length," systems"]})]}),(0,l.jsx)(t.fef,{"data-testid":"assign-systems-modal-body",children:p?(0,l.jsx)(t.xvT,{children:"No systems found"}):(0,l.jsxs)(t.Kqy,{spacing:4,children:[(0,l.jsxs)(t.kCb,{justifyContent:"space-between",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",flexGrow:1,fontWeight:"medium",children:"Assign systems in your organization to this user"}),(0,l.jsx)(t.xuv,{children:(0,l.jsxs)(t.NIc,{display:"flex",alignItems:"center",children:[(0,l.jsx)(t.lXp,{fontSize:"sm",htmlFor:"assign-all-systems",mb:"0",children:"Assign all systems"}),(0,l.jsx)(t.rAg,{size:"small",id:"assign-all-systems",checked:j,onChange:e=>{e&&r?h(x):h(r?r.filter(e=>!x.includes(e)):[])},"data-testid":"assign-all-systems-toggle"})]})})]}),(0,l.jsx)(g.Z,{value:d,onChange:o,placeholder:"Search for systems","data-testid":"system-search",withIcon:!0}),(0,l.jsx)(_,{allSystems:x,assignedSystems:c,onChange:h})]})}),(0,l.jsx)(t.mzw,{justifyContent:"flex-start",children:(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:a,className:"mr-2","data-testid":"cancel-btn",children:"Cancel"}),p?null:(0,l.jsx)(t.wpx,{type:"primary",onClick:m,"data-testid":"confirm-btn",children:"Confirm"})]})})]})]})},S=e=>{let{label:s,roleKey:a,isSelected:n,isDisabled:i,assignedSystems:r,onAssignedSystemChange:o}=e,{setFieldValue:h}=(0,c.u6)(),u=(0,t.qY0)(),m=i?"You do not have sufficient permissions to assign this role.":void 0;return n?(0,l.jsxs)(t.Kqy,{borderRadius:"md",border:"1px solid",borderColor:"gray.200",p:4,backgroundColor:"gray.50","aria-selected":"true",spacing:4,"data-testid":"selected",children:[(0,l.jsxs)(t.kCb,{alignItems:"center",justifyContent:"space-between",children:[(0,l.jsx)(t.xvT,{fontSize:"md",fontWeight:"semibold",children:s}),(0,l.jsx)(t.StI,{})]}),a!==d.A7.APPROVER&&a!==d.A7.RESPONDENT&&a!==d.A7.EXTERNAL_RESPONDENT?(0,l.jsxs)(l.Fragment,{children:[(0,l.jsxs)(t.kCb,{alignItems:"center",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",fontWeight:"semibold",mr:1,children:"Assigned systems"}),(0,l.jsx)(p.b,{label:"Assigned systems refer to those systems that have been specifically allocated to a user for management purposes. Users assigned to a system possess full edit permissions and are listed as the Data Steward for the respective system."})]}),(0,l.jsx)(t.wpx,{disabled:i,title:m,type:"primary",size:"small",onClick:u.onOpen,"data-testid":"assign-systems-btn",children:"Assign systems +"}),(0,l.jsx)(v,{assignedSystems:r,onAssignedSystemChange:o}),u.isOpen?(0,l.jsx)(k,{isOpen:u.isOpen,onClose:u.onClose,assignedSystems:r,onAssignedSystemChange:o}):null]}):null]}):(0,l.jsx)(t.wpx,{onClick:()=>{h("roles",[a])},"data-testid":"role-option-".concat(s),title:m,disabled:i,children:s})};let E={roles:[]};var R=()=>{var e,s;let a=(0,t.pmc)(),i=(0,h.useRouter)(),g=(0,r.C)(y.Ux);(0,y.d6)(g,{skip:!g});let{isOpen:b,onOpen:f,onClose:v}=(0,t.qY0)(),_=(0,r.C)(y.R$),[C,k]=(0,u.useState)(_),[R]=(0,y.G$)();(0,u.useEffect)(()=>{k(_)},[_]);let{data:A,isLoading:P}=(0,y.gU)(null!=g?g:"",{skip:!g}),[T]=(0,y.lD)(),N=!!(null==A?void 0:null===(e=A.roles)||void 0===e?void 0:e.includes(d.A7.EXTERNAL_RESPONDENT)),O=async e=>{if(b&&v(),!g)return;let s=e.roles.includes(d.A7.APPROVER),l=await T({user_id:g,payload:{roles:e.roles}});if((0,m.D4)(l)){a((0,w.Vo)((0,m.e$)(l.error)));return}if(!s){let e=C.map(e=>e.fides_key),s=await R({userId:g,fidesKeys:e});if((0,m.D4)(s)){a((0,w.Vo)((0,m.e$)(s.error)));return}}a((0,w.t5)("Permissions updated"))},I=async e=>{g&&(C.length>0&&e.roles.includes(d.A7.APPROVER)?f():await O(e))},z=(0,o.Tg)([d.Sh.USER_PERMISSION_ASSIGN_OWNERS]);if(!g)return null;if(P)return(0,l.jsx)(t.$jN,{});if(!z&&(null==A?void 0:null===(s=A.roles)||void 0===s?void 0:s.includes(d.A7.OWNER)))return(0,l.jsx)(t.xvT,{"data-testid":"insufficient-access",children:"You do not have sufficient access to change this user's permissions."});let q=(null==A?void 0:A.roles)?{roles:A.roles}:E,U=n.K.filter(e=>N?e.roleKey===d.A7.EXTERNAL_RESPONDENT:e.roleKey!==d.A7.EXTERNAL_RESPONDENT),D=N?"External respondent role cannot be changed":void 0;return(0,l.jsx)(c.J9,{onSubmit:I,initialValues:q,enableReinitialize:!0,children:e=>{let{values:s,isSubmitting:a,dirty:n}=e;return(0,l.jsxs)(c.l0,{children:[(0,l.jsxs)(t.Kqy,{spacing:7,children:[(0,l.jsxs)(t.Kqy,{spacing:3,"data-testid":"role-options",children:[(0,l.jsxs)(t.kCb,{alignItems:"center",children:[(0,l.jsx)(t.xvT,{fontSize:"sm",fontWeight:"semibold",mr:1,children:"User role"}),(0,l.jsx)(p.b,{label:"A user's role in the organization determines what parts of the UI they can access and which functions are available to them."})]}),U.map(e=>{let a=s.roles.indexOf(e.roleKey)>=0,t=e.roleKey===d.A7.OWNER?!z:N;return(0,l.jsx)(S,{isSelected:a,isDisabled:t,assignedSystems:C,onAssignedSystemChange:k,...e},e.roleKey)}),!N&&(0,l.jsx)(t.esZ,{title:"To invite a new External respondent user, create a manual task integration and then click on the 'Manage secure access' button",children:(0,l.jsx)(t.wpx,{disabled:!0,"data-testid":"role-option-External respondent",children:"External respondent"})})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:()=>i.push(j.e3),children:"Cancel"}),(0,l.jsx)(t.esZ,{title:D,children:(0,l.jsx)(t.wpx,{className:"ml-2",type:"primary",htmlType:"submit",loading:a,disabled:!n&&C===_||N,"data-testid":"save-btn",children:"Save"})})]})]}),(0,l.jsx)(x.Z,{isOpen:b,onClose:v,onConfirm:()=>O(s),title:"Change role to Approver",testId:"downgrade-to-approver-confirmation-modal",continueButtonText:"Yes",message:(0,l.jsx)(t.xvT,{children:"Switching to an approver role will remove all assigned systems. Do you wish to proceed?"})})]})}})},A=a(61038),P=a(55484),T=a(25980),N=a(40324),O=a(96006),I=a(7426),z=a(42478),q=a(76174),U=a(91317),D=a(16125),Z=a(36835),W=a(31883),K=a(52253);let L=(e,s,a)=>{var l;try{localStorage.removeItem(K.xH)}catch(e){}e((0,Z.kS)()),null==a||null===(l=a.onClose)||void 0===l||l.call(a),s.push(K._e)},V=P.Ry().shape({password:O.a.label("Password"),passwordConfirmation:P.Z_().required().oneOf([P.iH("password")],"Passwords must match").label("Password confirmation")}),B={password:"",passwordConfirmation:""},Y=e=>{let s=(0,t.qY0)(),a=(0,t.pmc)(),[l]=(0,y.ls)(),n=(0,h.useRouter)(),i=(0,D.I0)(),d=(0,r.C)(Z.dy),o=async t=>{let r=await l({id:e,new_password:t.password});(0,W.D4)(r)?a((0,w.Vo)((0,m.e$)(r.error))):(a((0,w.t5)("Successfully reset user's password. Please inform the user of their new password.")),s.onClose(),(null==d?void 0:d.id)===e&&L(i,n))};return{...s,handleResetPassword:o}};var F=e=>{let{id:s}=e,{handleResetPassword:a,isOpen:n,onClose:i,onOpen:r}=Y(s);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.wpx,{onClick:r,"data-testid":"reset-password-btn",children:"Reset password"}),(0,l.jsxs)(t.u_l,{isCentered:!0,isOpen:n,onClose:i,children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsx)(t.hzk,{children:(0,l.jsx)(c.J9,{initialValues:B,validationSchema:V,onSubmit:a,children:e=>{let{isSubmitting:s,dirty:a,isValid:n}=e;return(0,l.jsxs)(c.l0,{children:[(0,l.jsx)(t.xBx,{children:"Reset Password"}),(0,l.jsx)(t.olH,{}),(0,l.jsx)(t.fef,{children:(0,l.jsxs)(t.Kqy,{direction:"column",spacing:4,children:[(0,l.jsx)(t.xvT,{mb:2,children:"Choose a new password for this user."}),(0,l.jsx)(N.j0,{name:"password",label:"Password",placeholder:"********",type:"password",tooltip:"Password must contain at least 8 characters, 1 number, 1 capital letter, 1 lowercase letter, and at least 1 symbol.",autoComplete:"new-password"}),(0,l.jsx)(N.j0,{name:"passwordConfirmation",label:"Confirm Password",placeholder:"********",type:"password",tooltip:"Must match above password.",autoComplete:"confirm-password"})]})}),(0,l.jsx)(t.mzw,{children:(0,l.jsxs)("div",{className:"w-full gap-2",children:[(0,l.jsx)(t.wpx,{onClick:i,className:"w-1/2",children:"Cancel"}),(0,l.jsx)(t.wpx,{type:"primary",disabled:!a||!n,loading:s,htmlType:"submit",className:"w-1/2","data-testid":"submit-btn",children:"Change Password"})]})})]})}})})]})]})};let $=e=>{let s=(0,t.qY0)(),a=(0,t.pmc)(),[l,n]=(0,u.useState)(""),[i,r]=(0,u.useState)(""),[d,{isLoading:o}]=(0,y.ev)(),c=(0,h.useRouter)(),m=(0,D.I0)(),p=!!(e&&i&&l),x=async()=>{p&&d({id:e,old_password:l,new_password:i}).unwrap().then(()=>{a((0,w.t5)("Password updated")),L(m,c,{onClose:s.onClose})})};return{...s,changePasswordValidation:p,handleChange:e=>{"oldPassword"===e.target.name?n(e.target.value):r(e.target.value)},handleChangePassword:x,isLoading:o,newPasswordValue:i,oldPasswordValue:l}};var H=e=>{let{id:s}=e,{changePasswordValidation:a,handleChange:n,handleChangePassword:i,isLoading:r,isOpen:d,newPasswordValue:o,oldPasswordValue:c,onClose:h,onOpen:u}=$(s);return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(t.wpx,{onClick:u,"data-testid":"update-password-btn",children:"Update password"}),(0,l.jsxs)(t.u_l,{isCentered:!0,isOpen:d,onClose:h,children:[(0,l.jsx)(t.ZAr,{}),(0,l.jsxs)(t.hzk,{children:[(0,l.jsx)(t.xBx,{children:"Update Password"}),(0,l.jsx)(t.olH,{}),(0,l.jsx)(t.fef,{pb:6,children:(0,l.jsxs)(t.Kqy,{direction:"column",spacing:"15px",children:[(0,l.jsx)(t.NIc,{children:(0,l.jsx)(t.IIB,{isRequired:!0,name:"oldPassword",onChange:n,placeholder:"Old Password",type:"password",value:c,"data-testid":"input-oldPassword"})}),(0,l.jsx)(t.NIc,{children:(0,l.jsx)(t.IIB,{isRequired:!0,name:"newPassword",onChange:n,placeholder:"New Password",type:"password",value:o,"data-testid":"input-newPassword"})})]})}),(0,l.jsxs)(t.mzw,{children:[(0,l.jsx)(t.wpx,{onClick:h,className:"mr-2 w-1/2",children:"Cancel"}),(0,l.jsx)(t.wpx,{type:"primary",disabled:!a,loading:r,onClick:i,htmlType:"submit",className:"mr-3 w-1/2","data-testid":"submit-btn",children:"Change Password"})]})]})]})]})},M=()=>{var e;let s=(0,r.C)(y.Ux),a=(0,r.C)(U.dy),n=!!a&&a.id===s,{data:i}=(0,y.gU)(null!=s?s:"",{skip:!s});return(null==i?void 0:null===(e=i.roles)||void 0===e?void 0:e.includes(d.A7.EXTERNAL_RESPONDENT))?null:(0,l.jsx)(t.xuv,{children:s?(0,l.jsxs)(t.Ugi,{children:[n?(0,l.jsx)(H,{id:s}):null,(0,l.jsx)(o.ZP,{scopes:[d.Sh.USER_PASSWORD_RESET],children:(0,l.jsx)(F,{id:s})})]}):null})};let X=(e,s,a,l)=>!e||e&&!s||e&&s&&!0===a&&!!l,G=(e,s,a)=>!!(e&&s&&a),J=(e,s,a,l,t,n)=>!!e&&!s&&X(a,l,t,n),Q=(e,s,a,l)=>X(e,s,a,l),ee={username:"",first_name:"",email_address:"",last_name:"",password:"",password_login_enabled:!1},es=(e,s,a,l,t)=>P.Ry().shape({username:P.Z_().required().label("Username"),email_address:P.Z_().email().required().label("Email address"),first_name:P.Z_().label("First name"),last_name:P.Z_().label("Last name"),password:P.Z_().when(["password_login_enabled"],{is:n=>J(e,s,a,l,t,n),then:()=>O.a.label("Password"),otherwise:()=>P.Z_().optional().label("Password")}),password_login_enabled:P.O7().label("Allow password login")});var ea=e=>{let{onSubmit:s,initialValues:a,canEditNames:n}=e,i=(0,h.useRouter)(),d=(0,t.pmc)(),o=(0,r.T)(),u=(0,t.qY0)(),{data:p}=(0,z.jc)(),{data:x}=(0,q.qv)();(0,I.tB)({api_set:!1});let g=(0,r.C)(y.ZC),b=(0,r.C)(I.iR),{plus:v}=(0,T.hz)(),_=(null==p?void 0:p.enabled)||!1,C=(null==b?void 0:b.allow_username_password_login)||!1,k=!g,S=!k&&!n,E=x&&x.length>0||!1,R=G(v,E,C),P=null!=a?a:ee;g&&"password_login_enabled"in g&&(P={...P,password_login_enabled:!!g.password_login_enabled});let O=es(k,_,v,E,C),U=async e=>{let a=J(k,_,v,E,C,e.password_login_enabled),l={username:e.username,email_address:e.email_address,first_name:e.first_name,last_name:e.last_name};R&&(l.password_login_enabled=e.password_login_enabled),a&&e.password&&(l.password=e.password);let t=await s(l);if((0,m.D4)(t)){d((0,w.Vo)((0,m.e$)(t.error)));return}d((0,w.t5)("".concat(k?"User created. By default, new users are set to the Viewer role. To change the role, please go to the Permissions tab.":"User updated."))),(null==t?void 0:t.data)&&o((0,y.Vv)(t.data.id))};return(0,l.jsx)(c.J9,{onSubmit:U,initialValues:P,validationSchema:O,"data-testid":"user-form",children:e=>{let{dirty:s,isSubmitting:a,isValid:n,values:r}=e;return(0,l.jsx)(c.l0,{children:(0,l.jsxs)(t.Kqy,{maxW:["xs","xs","100%"],width:"100%",spacing:7,children:[(0,l.jsxs)(t.Kqy,{spacing:6,maxWidth:"55%",children:[(0,l.jsxs)(t.kCb,{children:[(0,l.jsxs)(t.xvT,{display:"flex",alignItems:"center",fontSize:"sm",fontWeight:"semibold",children:["Profile"," ",(null==g?void 0:g.disabled)&&(0,l.jsx)(t.j8w,{color:"success",className:"ml-2","data-testid":"invite-sent-badge",children:"Invite sent"})]}),(0,l.jsx)(t.xuv,{marginLeft:"auto",children:(0,l.jsxs)(t.Ugi,{children:[Q(v,E,C||!1,r.password_login_enabled)&&(0,l.jsx)(M,{"data-testid":"password-management"}),k?null:(0,l.jsxs)(t.xuv,{children:[(0,l.jsx)(t.wpx,{"aria-label":"delete",icon:(0,l.jsx)(f.l,{}),onClick:u.onOpen,"data-testid":"delete-user-btn"}),(0,l.jsx)(A.Z,{user:g,...u})]})]})})]}),(0,l.jsx)(N.j0,{name:"username",label:"Username",variant:"block",placeholder:"Enter new username",disabled:!k,isRequired:!0,"data-testid":"input-username"}),(0,l.jsx)(N.j0,{name:"email_address",label:"Email address",variant:"block",placeholder:"Enter email of user",isRequired:!0,"data-testid":"input-email-address"}),(0,l.jsx)(N.j0,{name:"first_name",label:"First name",variant:"block",placeholder:"Enter first name of user",disabled:S,"data-testid":"input-first-name"}),(0,l.jsx)(N.j0,{name:"last_name",label:"Last name",variant:"block",placeholder:"Enter last name of user",disabled:S,"data-testid":"input-last-name"}),R&&(0,l.jsx)(N.w8,{name:"password_login_enabled",label:"Allow password login",tooltip:"When enabled, user can log in with username and password. When disabled, user must use SSO.",variant:"stacked",isDisabled:!k,"data-testid":"toggle-allow-password-login",size:"default"}),J(k,_,v,E,C,r.password_login_enabled)&&(0,l.jsx)(N.j0,{name:"password",label:"Password",variant:"block",placeholder:"********",type:"password",tooltip:"Password must contain at least 8 characters, 1 number, 1 capital letter, 1 lowercase letter, and at least 1 symbol.",isRequired:!0,"data-testid":"input-password"})]}),(0,l.jsxs)("div",{children:[(0,l.jsx)(t.wpx,{onClick:()=>i.push(j.e3),className:"mr-3","data-testid":"cancel-btn",children:"Cancel"}),(0,l.jsx)(t.wpx,{htmlType:"submit",type:"primary",disabled:!s||!n,loading:a,"data-testid":"save-user-btn",children:"Save"})]})]})})}})},el=e=>{let{onSubmit:s,initialValues:a,...n}=e,c=(0,r.C)(y.Ux);(0,y.Fk)(c,{skip:!c});let h=(0,o.Tg)([d.Sh.USER_PERMISSION_UPDATE]),u=!c||!h,m=[{label:"Profile",key:"profile",children:(0,l.jsx)(ea,{onSubmit:s,initialValues:a,...n})},{label:"Permissions",key:"permissions",children:(0,l.jsxs)(t.kCb,{gap:"97px",children:[(0,l.jsx)(t.xuv,{w:{base:"100%",md:"50%",xl:"50%"},children:(0,l.jsx)(R,{})}),(0,l.jsx)(t.xuv,{position:"absolute",top:"96px",right:6,height:"calc(100% + 100px)",overflowY:"scroll",padding:6,w:"35%",borderLeftWidth:"1px",children:(0,l.jsx)(i,{})})]}),disabled:u,forceRender:!u}];return(0,l.jsx)(t.A5g,{items:m})}},31883:function(e,s,a){a.d(s,{Bw:function(){return l.Bw},D4:function(){return l.D4}});var l=a(19043)}}]);
|