refac: article reads, story delete, no leaks, stored SEO status, rate limit, cleanup (%site%, article repo split, old lang repos, one default per site rule to domain)

This commit is contained in:
Florian Sylvain committed 2026-11-03 16:01:52 +01:00
1 parent 9d284e65a9
commit 7c15206170
85 files changed
+1788 -593

No files matched your search

@@ -10,7 +10,6 @@ import (
var (
ErrInvalidLanguage = errors.New("invalid language tag")
ErrUnsupportedLanguage = errors.New("unsupported language")
ErrNoDefaultLanguage = errors.New("the site has no default language")
)
const (
@@ -64,27 +63,3 @@ func Suggest(locale *string) Suggestion {
}
return Suggestion{}
}
type SiteLanguage struct {
SiteID uint32
Tag string
IsDefault bool
Enabled bool
Confirmed bool
}
func DefaultOf(languages []SiteLanguage) (SiteLanguage, bool) {
index := slices.IndexFunc(languages, func(candidate SiteLanguage) bool { return candidate.IsDefault })
if index < 0 {
return SiteLanguage{}, false
}
return languages[index], true
}
func StartingTag(languages []SiteLanguage) string {
defaultLanguage, found := DefaultOf(languages)
if !found || !defaultLanguage.Confirmed {
return Unassigned
}
return defaultLanguage.Tag
}
@@ -1,7 +0,0 @@
package language
type Repository interface {
ListBySite(siteID uint32) ([]SiteLanguage, error)
LockSiteLanguages(siteID uint32) ([]SiteLanguage, error)
MarkConfirmed(siteID uint32, tag string) error
}