Updated some settings in pages

This commit is contained in:
Leon Mika 2026-03-23 21:48:43 +11:00
parent ef038172ac
commit 5badce0d16
10 changed files with 56 additions and 47 deletions

View file

@ -2,6 +2,7 @@ package pages
import (
"context"
"strings"
"time"
"lmika.dev/lmika/weiro/models"
@ -63,6 +64,10 @@ func (s *Service) CreatePage(ctx context.Context, params CreatePageParams) (*mod
slug = models.GeneratePageSlug(params.Title)
}
if !strings.HasPrefix(slug, "/") {
slug = "/" + slug
}
// Check slug collision
if _, err := s.db.SelectPageBySlugAndSite(ctx, site.ID, slug); err == nil {
return nil, models.SlugConflictError
@ -120,6 +125,10 @@ func (s *Service) UpdatePage(ctx context.Context, id int64, params CreatePagePar
slug = models.GeneratePageSlug(params.Title)
}
if !strings.HasPrefix(slug, "/") {
slug = "/" + slug
}
// Check slug collision (exclude self)
if existing, err := s.db.SelectPageBySlugAndSite(ctx, site.ID, slug); err == nil && existing.ID != page.ID {
return nil, models.SlugConflictError