diff --git a/internal/settings/var.go b/internal/settings/var.go index 4ee8664..33ac82e 100644 --- a/internal/settings/var.go +++ b/internal/settings/var.go @@ -15,7 +15,9 @@ var ( ) var ( - UserMaxRoomCount = NewInt64Setting("user_max_room_count", 3, model.SettingGroupUser) + DisableUserSignup = NewBoolSetting("disable_user_signup", false, model.SettingGroupUser) + SignupNeedReview = NewBoolSetting("signup_need_review", false, model.SettingGroupUser) + UserMaxRoomCount = NewInt64Setting("user_max_room_count", 3, model.SettingGroupUser) ) var ( diff --git a/server/oauth2/auth.go b/server/oauth2/auth.go index fec7ad6..d8e50a7 100644 --- a/server/oauth2/auth.go +++ b/server/oauth2/auth.go @@ -14,6 +14,7 @@ import ( "github.com/synctv-org/synctv/internal/op" "github.com/synctv-org/synctv/internal/provider" "github.com/synctv-org/synctv/internal/provider/providers" + "github.com/synctv-org/synctv/internal/settings" "github.com/synctv-org/synctv/server/middlewares" "github.com/synctv-org/synctv/server/model" "github.com/synctv-org/synctv/utils" @@ -147,10 +148,10 @@ func login(ctx context.Context, state, code string, pi provider.ProviderInterfac var user *op.User if meta.Value().BindUserId != "" { user, err = op.LoadOrInitUserByID(meta.Value().BindUserId) - } else if pgs.DisableUserSignup.Get() { + } else if settings.DisableUserSignup.Get() || pgs.DisableUserSignup.Get() { user, err = op.GetUserByProvider(pi.Provider(), ui.ProviderUserID) } else { - if pgs.SignupNeedReview.Get() { + if settings.SignupNeedReview.Get() || pgs.SignupNeedReview.Get() { user, err = op.CreateOrLoadUserWithProvider(ui.Username, utils.RandString(16), pi.Provider(), ui.ProviderUserID, db.WithRole(dbModel.RolePending)) } else { user, err = op.CreateOrLoadUserWithProvider(ui.Username, utils.RandString(16), pi.Provider(), ui.ProviderUserID)