aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--walrss/internal/http/auth.go15
-rw-r--r--walrss/internal/state/state.go3
2 files changed, 18 insertions, 0 deletions
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"`
}