Create admin settings and moved signup disable setting there

هذا الالتزام موجود في:
Thomas Miceli
2023-04-17 00:17:06 +02:00
الأصل dbdd38694d
التزام dba3f4be44
10 ملفات معدلة مع 127 إضافات و16 حذوفات

عرض الملف

@@ -182,3 +182,16 @@ func adminSyncReposFromDB(ctx echo.Context) error {
}()
return redirect(ctx, "/admin-panel")
}
func adminSetSetting(ctx echo.Context) error {
key := ctx.FormValue("key")
value := ctx.FormValue("value")
if err := models.UpdateSetting(key, value); err != nil {
return errorRes(500, "Cannot set setting", err)
}
return ctx.JSON(200, map[string]interface{}{
"success": true,
})
}

عرض الملف

@@ -5,7 +5,6 @@ import (
"github.com/labstack/echo/v4"
"github.com/rs/zerolog/log"
"gorm.io/gorm"
"opengist/internal/config"
"opengist/internal/models"
)
@@ -16,7 +15,7 @@ func register(ctx echo.Context) error {
}
func processRegister(ctx echo.Context) error {
if config.C.DisableSignup {
if getData(ctx, "signupDisabled") == true {
return errorRes(403, "Signing up is disabled", nil)
}

عرض الملف

@@ -183,6 +183,7 @@ func Start() {
g2.POST("/gists/:gist/delete", adminGistDelete)
g2.POST("/sync-fs", adminSyncReposFromFS)
g2.POST("/sync-db", adminSyncReposFromDB)
g2.PUT("/set-setting", adminSetSetting)
}
g1.GET("/all", allGists)
@@ -236,7 +237,12 @@ func dataInit(next echo.HandlerFunc) echo.HandlerFunc {
ctxValue := context.WithValue(ctx.Request().Context(), "data", echo.Map{})
ctx.SetRequest(ctx.Request().WithContext(ctxValue))
setData(ctx, "loadStartTime", time.Now())
setData(ctx, "signupDisabled", config.C.DisableSignup)
disableSignup, err := models.GetSetting(models.SettingDisableSignup)
if err != nil {
return errorRes(500, "Cannot read setting from database", err)
}
setData(ctx, "signupDisabled", disableSignup == "1")
return next(ctx)
}