ethyca-fides 2.58.2b2__py2.py3-none-any.whl → 2.58.2b3__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.
- {ethyca_fides-2.58.2b2.dist-info → ethyca_fides-2.58.2b3.dist-info}/METADATA +1 -1
- {ethyca_fides-2.58.2b2.dist-info → ethyca_fides-2.58.2b3.dist-info}/RECORD +92 -90
- fides/_version.py +3 -3
- fides/api/alembic/migrations/versions/99c603c1b8f9_add_password_login_enabled_and_totp_secret_to_fidesuser.py +45 -0
- fides/api/api/v1/endpoints/user_endpoints.py +8 -12
- fides/api/models/detection_discovery.py +31 -0
- fides/api/models/fides_user.py +26 -9
- fides/api/models/fides_user_invite.py +2 -0
- fides/api/schemas/user.py +5 -1
- fides/api/service/deps.py +9 -0
- fides/service/user/__init__.py +0 -0
- fides/service/user/user_service.py +140 -0
- fides/ui-build/static/admin/404.html +1 -1
- fides/ui-build/static/admin/_next/static/{F-2Pz9ByzGwcvQtVLstwR → S7gURhIaHGAv7MFBTEOOS}/_buildManifest.js +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/{_app-4a5be35cd8f832c0.js → _app-fbe3db87623c87a0.js} +1 -1
- fides/ui-build/static/admin/_next/static/chunks/pages/integrations/{[id]-9ef6b422ae7bc2a8.js → [id]-b75ab4ee677f118d.js} +1 -1
- 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/ant-poc.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/[monitorId]/[systemId].html +1 -1
- fides/ui-build/static/admin/data-discovery/action-center/[monitorId].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/messaging/[id].html +1 -1
- fides/ui-build/static/admin/messaging/add-template.html +1 -1
- fides/ui-build/static/admin/messaging.html +1 -1
- fides/ui-build/static/admin/privacy-requests/[id].html +1 -1
- fides/ui-build/static/admin/privacy-requests/configure/messaging.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/settings/about.html +1 -1
- fides/ui-build/static/admin/settings/consent.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/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/api/service/user/fides_user_service.py +0 -128
- {ethyca_fides-2.58.2b2.dist-info → ethyca_fides-2.58.2b3.dist-info}/LICENSE +0 -0
- {ethyca_fides-2.58.2b2.dist-info → ethyca_fides-2.58.2b3.dist-info}/WHEEL +0 -0
- {ethyca_fides-2.58.2b2.dist-info → ethyca_fides-2.58.2b3.dist-info}/entry_points.txt +0 -0
- {ethyca_fides-2.58.2b2.dist-info → ethyca_fides-2.58.2b3.dist-info}/top_level.txt +0 -0
- /fides/ui-build/static/admin/_next/static/{F-2Pz9ByzGwcvQtVLstwR → S7gURhIaHGAv7MFBTEOOS}/_ssgManifest.js +0 -0
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/4481-275aa9f4c10bce53.js" defer=""></script><script src="/_next/static/chunks/8433-b3008ecaf9834e7f.js" defer=""></script><script src="/_next/static/chunks/pages/privacy-requests-b0f801d66e79a31a.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/privacy-requests","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/9282-2bfbdca45e84e810.js" defer=""></script><script src="/_next/static/chunks/4060-53a5c6347690a8fa.js" defer=""></script><script src="/_next/static/chunks/pages/properties/%5Bid%5D-94e2faa73dd6a3e6.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/properties/[id]","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/9282-2bfbdca45e84e810.js" defer=""></script><script src="/_next/static/chunks/4060-53a5c6347690a8fa.js" defer=""></script><script src="/_next/static/chunks/pages/properties/add-property-630a6a3dd6502ba6.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/properties/add-property","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/4481-275aa9f4c10bce53.js" defer=""></script><script src="/_next/static/chunks/79-8e060d36d36c752c.js" defer=""></script><script src="/_next/static/chunks/pages/properties-20ca2f963906674b.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/properties","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/2858-0b44609b6be7850b.js" defer=""></script><script src="/_next/static/chunks/2866-a73888c17a195cbe.js" defer=""></script><script src="/_next/static/chunks/9278-9b1b5970f0702668.js" defer=""></script><script src="/_next/static/chunks/9187-851756440f79cd75.js" defer=""></script><script src="/_next/static/chunks/4481-275aa9f4c10bce53.js" defer=""></script><script src="/_next/static/chunks/7980-72f745bff9fabcc9.js" defer=""></script><script src="/_next/static/chunks/8499-43606100edf42fdf.js" defer=""></script><script src="/_next/static/chunks/5258-cf7b27ef51f38392.js" defer=""></script><script src="/_next/static/chunks/pages/reporting/datamap-f035cddf17f4d898.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/reporting/datamap","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/pages/settings/about-2ae030f3a28f057a.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/settings/about","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/pages/settings/consent-3ac1e5d3de5dd4a7.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/settings/consent","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/4481-275aa9f4c10bce53.js" defer=""></script><script src="/_next/static/chunks/7980-72f745bff9fabcc9.js" defer=""></script><script src="/_next/static/chunks/pages/settings/custom-fields-dfcd7a4b6aa773bd.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/settings/custom-fields","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/4481-275aa9f4c10bce53.js" defer=""></script><script src="/_next/static/chunks/pages/settings/domain-records-72ec54ee8755a503.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/settings/domain-records","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/pages/settings/domains-24cba38685dc872c.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/settings/domains","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/pages/settings/email-templates-6fd6071e2009b8f2.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/settings/email-templates","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/3086-b5054ec2c75700b9.js" defer=""></script><script src="/_next/static/chunks/pages/settings/locations-66c757325cb58467.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/settings/locations","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/pages/settings/organization-0e0aa552f520f913.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/settings/organization","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/3086-b5054ec2c75700b9.js" defer=""></script><script src="/_next/static/chunks/pages/settings/regulations-c6c239996cfa6ae8.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/settings/regulations","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/6527-0eed08abe252a918.js" defer=""></script><script src="/_next/static/chunks/9327-2cba327d10586683.js" defer=""></script><script src="/_next/static/chunks/pages/systems/configure/%5Bid%5D/test-datasets-1d83d5178b3eb216.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/systems/configure/[id]/test-datasets","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><link rel="preload" href="/_next/static/css/d2d4e9a6923e6730.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d2d4e9a6923e6730.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><link rel="preload" href="/_next/static/css/d2d4e9a6923e6730.css" as="style"/><link rel="stylesheet" href="/_next/static/css/d2d4e9a6923e6730.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/2858-0b44609b6be7850b.js" defer=""></script><script src="/_next/static/chunks/2866-a73888c17a195cbe.js" defer=""></script><script src="/_next/static/chunks/9278-9b1b5970f0702668.js" defer=""></script><script src="/_next/static/chunks/5277-e8a036319456127f.js" defer=""></script><script src="/_next/static/chunks/4481-275aa9f4c10bce53.js" defer=""></script><script src="/_next/static/chunks/7980-72f745bff9fabcc9.js" defer=""></script><script src="/_next/static/chunks/355-8a77c9a1cd027f2e.js" defer=""></script><script src="/_next/static/chunks/8499-43606100edf42fdf.js" defer=""></script><script src="/_next/static/chunks/146-0ae2d30ec71fce09.js" defer=""></script><script src="/_next/static/chunks/3938-6a1c07d06a80cf4c.js" defer=""></script><script src="/_next/static/chunks/4450-6a8aa0d7358ac26f.js" defer=""></script><script src="/_next/static/chunks/pages/systems/configure/%5Bid%5D-a158fa77df288523.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/systems/configure/[id]","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/c78d26b1-88a3e1bacb2a03c2.js" defer=""></script><script src="/_next/static/chunks/6060-cb1ab5be7067bf7b.js" defer=""></script><script src="/_next/static/chunks/4481-275aa9f4c10bce53.js" defer=""></script><script src="/_next/static/chunks/pages/systems-8490aaaee9d76a4a.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/systems","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><link rel="preload" href="/_next/static/css/34a7eb08b86ddb57.css" as="style"/><link rel="stylesheet" href="/_next/static/css/34a7eb08b86ddb57.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><link rel="preload" href="/_next/static/css/34a7eb08b86ddb57.css" as="style"/><link rel="stylesheet" href="/_next/static/css/34a7eb08b86ddb57.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/678d4732-50255cc09048e643.js" defer=""></script><script src="/_next/static/chunks/2858-0b44609b6be7850b.js" defer=""></script><script src="/_next/static/chunks/2866-a73888c17a195cbe.js" defer=""></script><script src="/_next/static/chunks/9278-9b1b5970f0702668.js" defer=""></script><script src="/_next/static/chunks/4294-5b3aa9d605217915.js" defer=""></script><script src="/_next/static/chunks/570-c99f07161bd339cd.js" defer=""></script><script src="/_next/static/chunks/7980-72f745bff9fabcc9.js" defer=""></script><script src="/_next/static/chunks/pages/taxonomy-be1ffe267b1602e1.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/taxonomy","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/5480-52dc446be40725f5.js" defer=""></script><script src="/_next/static/chunks/1150-2642cd9cdc8a52f6.js" defer=""></script><script src="/_next/static/chunks/pages/user-management/new-f8bca2e322ddf252.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/user-management/new","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/5480-52dc446be40725f5.js" defer=""></script><script src="/_next/static/chunks/1150-2642cd9cdc8a52f6.js" defer=""></script><script src="/_next/static/chunks/pages/user-management/profile/%5Bid%5D-c0378fd1a26a71da.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/user-management/profile/[id]","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1 +1 @@
|
|
1
|
-
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-
|
1
|
+
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><meta name="next-head-count" content="2"/><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/cf2744a40308fc4a.css" as="style"/><link rel="stylesheet" href="/_next/static/css/cf2744a40308fc4a.css" data-n-g=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="/_next/static/chunks/polyfills-42372ed130431b0a.js"></script><script src="/_next/static/chunks/webpack-2c7ccac5843c4d8e.js" defer=""></script><script src="/_next/static/chunks/framework-c92fc3344e6fd165.js" defer=""></script><script src="/_next/static/chunks/main-090643377c8254e6.js" defer=""></script><script src="/_next/static/chunks/pages/_app-fbe3db87623c87a0.js" defer=""></script><script src="/_next/static/chunks/5480-52dc446be40725f5.js" defer=""></script><script src="/_next/static/chunks/pages/user-management-3ca3c687e72d1364.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_buildManifest.js" defer=""></script><script src="/_next/static/S7gURhIaHGAv7MFBTEOOS/_ssgManifest.js" defer=""></script><style>.data-ant-cssinjs-cache-path{content:"";}</style></head><body><div id="__next"><div style="height:100%;display:flex"></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{}},"page":"/user-management","query":{},"buildId":"S7gURhIaHGAv7MFBTEOOS","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[]}</script></body></html>
|
@@ -1,128 +0,0 @@
|
|
1
|
-
import uuid
|
2
|
-
from datetime import datetime
|
3
|
-
from typing import Optional, Tuple
|
4
|
-
|
5
|
-
from loguru import logger
|
6
|
-
from sqlalchemy.orm import Session
|
7
|
-
|
8
|
-
from fides.api.api.v1.endpoints.messaging_endpoints import user_email_invite_status
|
9
|
-
from fides.api.common_exceptions import AuthorizationError
|
10
|
-
from fides.api.models.client import ClientDetail
|
11
|
-
from fides.api.models.fides_user import FidesUser
|
12
|
-
from fides.api.models.fides_user_invite import FidesUserInvite
|
13
|
-
from fides.api.schemas.messaging.messaging import (
|
14
|
-
MessagingActionType,
|
15
|
-
UserInviteBodyParams,
|
16
|
-
)
|
17
|
-
from fides.api.schemas.redis_cache import Identity
|
18
|
-
from fides.api.service.messaging.message_dispatch_service import dispatch_message
|
19
|
-
from fides.config import FidesConfig
|
20
|
-
from fides.config.config_proxy import ConfigProxy
|
21
|
-
|
22
|
-
|
23
|
-
def invite_user(db: Session, config_proxy: ConfigProxy, user: FidesUser) -> None:
|
24
|
-
"""
|
25
|
-
Generates a user invite and sends the invite code to the user via email.
|
26
|
-
|
27
|
-
This is a no-op if email messaging isn't configured.
|
28
|
-
"""
|
29
|
-
|
30
|
-
# invite user via email if email messaging is enabled and the Admin UI URL is defined
|
31
|
-
if user_email_invite_status(db=db, config_proxy=config_proxy).enabled:
|
32
|
-
invite_code = str(uuid.uuid4())
|
33
|
-
FidesUserInvite.create(
|
34
|
-
db=db, data={"username": user.username, "invite_code": invite_code}
|
35
|
-
)
|
36
|
-
user.update(db, data={"disabled": True})
|
37
|
-
dispatch_message(
|
38
|
-
db,
|
39
|
-
action_type=MessagingActionType.USER_INVITE,
|
40
|
-
to_identity=Identity(email=user.email_address),
|
41
|
-
service_type=config_proxy.notifications.notification_service_type,
|
42
|
-
message_body_params=UserInviteBodyParams(
|
43
|
-
username=user.username, invite_code=invite_code
|
44
|
-
),
|
45
|
-
)
|
46
|
-
|
47
|
-
|
48
|
-
def accept_invite(
|
49
|
-
db: Session, config: FidesConfig, user: FidesUser, new_password: str
|
50
|
-
) -> Tuple[FidesUser, str]:
|
51
|
-
"""
|
52
|
-
Updates the user password and enables the user. Also removes the user invite from the database.
|
53
|
-
Returns a tuple of the updated user and their access code.
|
54
|
-
"""
|
55
|
-
|
56
|
-
# update password and enable
|
57
|
-
user.update_password(db=db, new_password=new_password)
|
58
|
-
user.update(
|
59
|
-
db,
|
60
|
-
data={"disabled": False, "disabled_reason": None},
|
61
|
-
)
|
62
|
-
db.refresh(user)
|
63
|
-
|
64
|
-
# delete invite
|
65
|
-
if user.username:
|
66
|
-
invite = FidesUserInvite.get_by(db=db, field="username", value=user.username)
|
67
|
-
if invite:
|
68
|
-
invite.delete(db)
|
69
|
-
else:
|
70
|
-
logger.warning("Username is missing, skipping invite deletion.")
|
71
|
-
|
72
|
-
client = perform_login(
|
73
|
-
db,
|
74
|
-
config.security.oauth_client_id_length_bytes,
|
75
|
-
config.security.oauth_client_secret_length_bytes,
|
76
|
-
user,
|
77
|
-
)
|
78
|
-
|
79
|
-
logger.info("Creating login access token")
|
80
|
-
access_code = client.create_access_code_jwe(config.security.app_encryption_key)
|
81
|
-
|
82
|
-
return user, access_code
|
83
|
-
|
84
|
-
|
85
|
-
def perform_login(
|
86
|
-
db: Session,
|
87
|
-
client_id_byte_length: int,
|
88
|
-
client_secret_byte_length: int,
|
89
|
-
user: FidesUser,
|
90
|
-
skip_save: Optional[bool] = False,
|
91
|
-
) -> ClientDetail:
|
92
|
-
"""Performs a login by updating the FidesUser instance and creating and returning
|
93
|
-
an associated ClientDetail.
|
94
|
-
|
95
|
-
If the username or password was bad, skip_save should be True. We still run through
|
96
|
-
parallel operations to keep the timing of operations similar, but should skip
|
97
|
-
saving to the database.
|
98
|
-
"""
|
99
|
-
|
100
|
-
client = user.client
|
101
|
-
if not client:
|
102
|
-
logger.info("Creating client for login")
|
103
|
-
client, _ = ClientDetail.create_client_and_secret(
|
104
|
-
db,
|
105
|
-
client_id_byte_length,
|
106
|
-
client_secret_byte_length,
|
107
|
-
scopes=[], # type: ignore
|
108
|
-
roles=user.permissions.roles, # type: ignore
|
109
|
-
systems=user.system_ids, # type: ignore
|
110
|
-
user_id=user.id,
|
111
|
-
in_memory=skip_save, # If login flow has already errored, don't persist this to the database
|
112
|
-
)
|
113
|
-
else:
|
114
|
-
# Refresh the client just in case - for example, scopes and roles were added via the db directly.
|
115
|
-
client.roles = user.permissions.roles # type: ignore
|
116
|
-
client.systems = user.system_ids # type: ignore
|
117
|
-
if not skip_save:
|
118
|
-
client.save(db)
|
119
|
-
|
120
|
-
if user.permissions and (not user.permissions.roles and not user.systems): # type: ignore
|
121
|
-
logger.warning("User {} needs roles or systems to login.", user.id)
|
122
|
-
raise AuthorizationError(detail="Not Authorized for this action")
|
123
|
-
|
124
|
-
if not skip_save:
|
125
|
-
user.last_login_at = datetime.utcnow()
|
126
|
-
user.save(db)
|
127
|
-
|
128
|
-
return client
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|