diff options
| author | AKP <tom@tdpain.net> | 2022-04-05 19:40:54 +0100 |
|---|---|---|
| committer | AKP <tom@tdpain.net> | 2022-04-05 19:40:54 +0100 |
| commit | aeb7faecc976555c413e8ebe7cfbb3a580147d3f (patch) | |
| tree | ba33d3467f9ba4bc066a002e92abb23406ad4670 | |
| parent | 01827a748bf2701fc8c931f9449897b008f90b8c (diff) | |
Add option to disable registrations
Signed-off-by: AKP <tom@tdpain.net>
| -rw-r--r-- | walrss/internal/http/auth.go | 15 | ||||
| -rw-r--r-- | walrss/internal/state/state.go | 3 |
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"` } |
