diff --git a/bin/slash/main.go b/bin/slash/main.go index 2bfe8a9..6640447 100644 --- a/bin/slash/main.go +++ b/bin/slash/main.go @@ -54,11 +54,6 @@ var ( slog.Error("failed to migrate db", "error", err) return } - if err := storeInstance.MigrateWorkspaceSettings(ctx); err != nil { - cancel() - slog.Error("failed to migrate workspace settings", "error", err) - return - } s, err := server.NewServer(ctx, serverProfile, storeInstance) if err != nil { cancel() diff --git a/frontend/web/src/components/setting/WorkspaceSecuritySection.tsx b/frontend/web/src/components/setting/WorkspaceSecuritySection.tsx index d3b3a27..8a0eca1 100644 --- a/frontend/web/src/components/setting/WorkspaceSecuritySection.tsx +++ b/frontend/web/src/components/setting/WorkspaceSecuritySection.tsx @@ -26,6 +26,22 @@ const WorkspaceSecuritySection = () => { ); }; + const toggleDisallowPasswordAuth = async (on: boolean) => { + if (on) { + const confirmed = window.confirm("Are you sure to disallow password auth? This will prevent users from signing in with password."); + if (!confirmed) { + return; + } + } + + await updateWorkspaceSetting( + WorkspaceSetting.fromPartial({ + disallowPasswordAuth: on, + }), + ["disallow_password_auth"], + ); + }; + const updateWorkspaceSetting = async (workspaceSetting: WorkspaceSetting, updateMask: string[]) => { if (updateMask.length === 0) { toast.error("No changes made"); @@ -58,6 +74,15 @@ const WorkspaceSecuritySection = () => { endDecorator={{t("settings.workspace.disallow-user-registration.self")}} /> +
+ toggleDisallowPasswordAuth(event.target.checked)} + endDecorator={{"Disallow password auth"}} + /> +
); diff --git a/frontend/web/src/pages/SignIn.tsx b/frontend/web/src/pages/SignIn.tsx index 0deb715..48a5cf7 100644 --- a/frontend/web/src/pages/SignIn.tsx +++ b/frontend/web/src/pages/SignIn.tsx @@ -117,7 +117,7 @@ const SignIn: React.FC = () => { - {workspaceStore.profile.enableSignup && ( + {!workspaceStore.setting.disallowUserRegistration && (

{"Don't have an account yet?"} diff --git a/frontend/web/src/pages/SignUp.tsx b/frontend/web/src/pages/SignUp.tsx index e1ab923..4163b6b 100644 --- a/frontend/web/src/pages/SignUp.tsx +++ b/frontend/web/src/pages/SignUp.tsx @@ -21,7 +21,7 @@ const SignUp: React.FC = () => { const allowConfirm = email.length > 0 && nickname.length > 0 && password.length > 0; useEffect(() => { - if (!workspaceStore.profile.enableSignup) { + if (workspaceStore.setting.disallowUserRegistration) { return navigateTo("/auth", { replace: true, }); diff --git a/frontend/web/src/pages/SubscriptionSetting.tsx b/frontend/web/src/pages/SubscriptionSetting.tsx index 9ba5393..c8b0d35 100644 --- a/frontend/web/src/pages/SubscriptionSetting.tsx +++ b/frontend/web/src/pages/SubscriptionSetting.tsx @@ -162,11 +162,11 @@ const SubscriptionSetting: React.FC = () => {

  • - Advanced analytics + High-priority in roadmap
  • - High-priority in roadmap + Email support
  • @@ -190,16 +190,20 @@ const SubscriptionSetting: React.FC = () => {

    Everything in Pro, and