From aeb7faecc976555c413e8ebe7cfbb3a580147d3f Mon Sep 17 00:00:00 2001 From: AKP Date: Tue, 5 Apr 2022 19:40:54 +0100 Subject: Add option to disable registrations Signed-off-by: AKP --- walrss/internal/http/auth.go | 15 +++++++++++++++ walrss/internal/state/state.go | 3 +++ 2 files changed, 18 insertions(+) diff --git a/walrss/internal/http/auth.go b/walrss/internal/http/auth.go index ae917e6..e394808 100644 --- a/walrss/internal/http/auth.go +++ b/walrss/internal/http/auth.go @@ -6,10 +6,25 @@ import ( "github.com/codemicro/walrss/walrss/internal/http/views" "github.com/codemicro/walrss/walrss/internal/urls" "github.com/gofiber/fiber/v2" + "github.com/stevelacy/daz" "time" ) func (s *Server) authRegister(ctx *fiber.Ctx) error { + + if s.state.Config.Platform.DisableRegistration { + ctx.Status(fiber.StatusForbidden) + return views.SendPage(ctx, &views.PolyPage{ + TitleString: "Site registration disabled", + BodyContent: daz.H("div", + daz.Attr{"class": "container alert alert-danger"}, + "We're sorry - ", + daz.H("b", "this instance of Walrss has registrations disabled"), + ". Please contact the operator of this Walrss instance with any queries.", + )(), + }) + } + page := new(views.RegisterPage) if getCurrentUserID(ctx) != "" { diff --git a/walrss/internal/state/state.go b/walrss/internal/state/state.go index 2977405..74f8bd6 100644 --- a/walrss/internal/state/state.go +++ b/walrss/internal/state/state.go @@ -32,6 +32,9 @@ type Config struct { Port int `fig:"port" default:"8080"` ExternalURL string `fig:"externalURL" validate:"required"` } + Platform struct { + DisableRegistration bool `fig:"disableRegistration"` + } Debug bool `fig:"debug"` } -- cgit v1.2.3-70-g09d2