Added a site setting section
This commit is contained in:
parent
499c0d8568
commit
0bd91de234
17 changed files with 856 additions and 36 deletions
|
|
@ -152,15 +152,3 @@ func (ph PostsHandler) Delete(c fiber.Ctx) error {
|
|||
return c.Redirect().To("/")
|
||||
}))
|
||||
}
|
||||
|
||||
func (ph PostsHandler) Rebuild(c fiber.Ctx) error {
|
||||
if err := ph.PostService.RebuildSite(c.Context()); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return accepts(c, json(func() any {
|
||||
return fiber.Map{}
|
||||
}), html(func(c fiber.Ctx) error {
|
||||
return c.Redirect().To("/")
|
||||
}))
|
||||
}
|
||||
|
|
|
|||
52
handlers/sitesettings.go
Normal file
52
handlers/sitesettings.go
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
package handlers
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/gofiber/fiber/v3"
|
||||
"lmika.dev/lmika/weiro/models"
|
||||
"lmika.dev/lmika/weiro/services/sites"
|
||||
)
|
||||
|
||||
type SiteSettingsHandler struct {
|
||||
SiteService *sites.Service
|
||||
}
|
||||
|
||||
func (s *SiteSettingsHandler) General(ctx fiber.Ctx) error {
|
||||
site := ctx.Locals("site").(models.Site)
|
||||
|
||||
return ctx.Render("sitesettings/general", fiber.Map{
|
||||
"site": site,
|
||||
"tzones": sites.ListZones(),
|
||||
})
|
||||
}
|
||||
|
||||
func (s *SiteSettingsHandler) UpdateGeneral(c fiber.Ctx) error {
|
||||
site := c.Locals("site").(models.Site)
|
||||
|
||||
var params sites.UpdateSiteSettingsParams
|
||||
if err := c.Bind().Body(¶ms); err != nil {
|
||||
return err
|
||||
}
|
||||
params.SiteID = site.ID
|
||||
|
||||
if _, err := s.SiteService.UpdateSiteSettings(c.Context(), params); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return c.Redirect().To(fmt.Sprintf("/sites/%v/settings", +site.ID))
|
||||
}
|
||||
|
||||
func (ph PostsHandler) Rebuild(c fiber.Ctx) error {
|
||||
site := c.Locals("site").(models.Site)
|
||||
|
||||
if err := ph.PostService.RebuildSite(c.Context()); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return accepts(c, json(func() any {
|
||||
return fiber.Map{}
|
||||
}), html(func(c fiber.Ctx) error {
|
||||
return c.Redirect().To(fmt.Sprintf("/sites/%v/settings", +site.ID))
|
||||
}))
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue