Added site setting.

This commit is contained in:
Leon Mika 2025-02-02 09:54:30 +11:00
parent 39611070f8
commit 3774c903e2
17 changed files with 170 additions and 18 deletions

View file

@ -51,6 +51,7 @@ func (s *Service) CreateSite(ctx context.Context, user models.User, name string)
OwnerUserID: user.ID,
Title: name,
Theme: "bear",
//Theme: "yingyang",
}
_, ok := s.themes.Lookup(newSite.Theme)
@ -78,12 +79,39 @@ func (s *Service) CreateSite(ctx context.Context, user models.User, name string)
return newSite, s.jobs.Queue(ctx, s.sb.CreateNewSite(newSite))
}
func (s *Service) SaveSettings(ctx context.Context, site models.Site, newSettings NewSettings) error {
_, ok := s.themes.Lookup(newSettings.Theme)
if !ok {
return errors.New("theme not found")
}
newSite := site
newSite.Title = newSettings.Title
newSite.Name = normaliseName(newSite.Title)
newSite.Theme = newSettings.Theme
if err := s.db.UpdateSite(ctx, newSite); err != nil {
return err
}
return s.jobs.Queue(ctx, s.sb.RebuildSite(site, newSite))
}
type NewSettings struct {
Title string `form:"title"`
Theme string `form:"theme"`
}
func (s *Service) Rebuild(ctx context.Context, site models.Site) error {
if site.ID == 0 {
return errors.New("site id required")
}
return s.jobs.Queue(ctx, s.sb.RebuildSite(site))
return s.jobs.Queue(ctx, s.sb.RebuildSite(site, site))
}
func (s *Service) Themes() []models.ThemeMeta {
return s.themes.Themes()
}
func normaliseName(name string) string {