feat: site languages, setup and site URL settings

This commit is contained in:
Florian Sylvain committed 2026-11-01 22:13:02 +01:00
1 parent 0806733d5c
commit d9158025d4
106 files changed
+10184 -56

No files matched your search

+14
View File
@@ -71,6 +71,7 @@ type PatchSite struct {
SiteName *string `json:"site_name" validate:"omitempty,max=100"`
TitleTemplate *string `json:"title_template" validate:"omitempty,max=200"`
DefaultDescription *string `json:"default_description" validate:"omitempty,max=320"`
PublicURLPattern optional[string] `json:"public_url_pattern"`
}
func (p PatchSite) toPatch() domain.Patch {
@@ -85,6 +86,7 @@ func (p PatchSite) toPatch() domain.Patch {
SiteName: p.SiteName,
TitleTemplate: p.TitleTemplate,
DefaultDescription: p.DefaultDescription,
PublicURLPattern: domain.Nullable[string]{Set: p.PublicURLPattern.Set, Value: p.PublicURLPattern.Value},
}
}
@@ -125,6 +127,18 @@ func writeSiteError(w http.ResponseWriter, err error) {
http.Error(w, apperr.InvalidTitleTemplateErrorMessage, http.StatusBadRequest)
case errors.Is(err, domain.ErrInvalidLocale):
http.Error(w, apperr.InvalidLocaleErrorMessage, http.StatusBadRequest)
case errors.Is(err, domain.ErrInvalidPublicURLPattern):
http.Error(w, apperr.InvalidPublicURLPatternErrorMessage, http.StatusUnprocessableEntity)
case errors.Is(err, domain.ErrPublicURLScheme):
http.Error(w, apperr.PublicURLSchemeErrorMessage, http.StatusUnprocessableEntity)
case errors.Is(err, domain.ErrPublicURLHost):
http.Error(w, apperr.PublicURLHostErrorMessage, http.StatusUnprocessableEntity)
case errors.Is(err, domain.ErrPublicURLPlaceholder):
http.Error(w, apperr.PublicURLPlaceholderErrorMessage, http.StatusUnprocessableEntity)
case errors.Is(err, domain.ErrPublicURLNotEncoded):
http.Error(w, apperr.PublicURLNotEncodedErrorMessage, http.StatusUnprocessableEntity)
case errors.Is(err, domain.ErrPublicURLMissingSlug):
http.Error(w, apperr.PublicURLMissingSlugErrorMessage, http.StatusUnprocessableEntity)
case errors.Is(err, image.ErrImageNotFound):
http.Error(w, apperr.SiteImageNotFoundErrorMessage, http.StatusBadRequest)
case errors.Is(err, domain.ErrUseSetDefault):