feat: storage, language rules and migration

This commit is contained in:
Florian Sylvain committed 2026-11-01 17:50:28 +01:00
1 parent 8c4a1825ab
commit 0806733d5c
70 files changed
+1771 -132

No files matched your search

@@ -12,10 +12,10 @@ const (
maxFreeSlugAttempts = 100
)
func freeSlug(articles article.Repository, siteID uint32, base string, exceptID uint32, firstAttempt int) (string, error) {
func freeSlug(articles article.Repository, siteID uint32, lang string, base string, exceptID uint32, firstAttempt int) (string, error) {
for attempt := firstAttempt; attempt <= maxFreeSlugAttempts; attempt++ {
candidate := article.SlugWithSuffix(base, attempt)
taken, err := articles.SlugTaken(siteID, candidate, exceptID)
taken, err := articles.SlugTaken(siteID, lang, candidate, exceptID)
if err != nil {
return "", err
}
@@ -26,8 +26,8 @@ func freeSlug(articles article.Repository, siteID uint32, base string, exceptID
return "", article.ErrSlugTaken
}
func slugConflict(articles article.Repository, siteID uint32, slug string, exceptID uint32) error {
suggestion, err := freeSlug(articles, siteID, slug, exceptID, firstSuggestedAttempt)
func slugConflict(articles article.Repository, siteID uint32, lang string, slug string, exceptID uint32) error {
suggestion, err := freeSlug(articles, siteID, lang, slug, exceptID, firstSuggestedAttempt)
if err != nil {
return err
}