feat: SEO backend data (1/4)
This commit is contained in:
1 parent
cb1410f0b0
commit
0eb46b0d74
90 files changed
+6094
-350
No files matched your search
@@ -21,6 +21,9 @@ type CreateSiteCommand struct {
|
||||
Locale *string
|
||||
DefaultSocialImageID *uint32
|
||||
IsDefault bool
|
||||
SiteName string
|
||||
TitleTemplate *string
|
||||
DefaultDescription string
|
||||
}
|
||||
|
||||
func NewCreateSiteUseCase(siteRepository site.Repository, imageRepository image.Repository, recorder audit.Recorder) *CreateSiteUseCase {
|
||||
@@ -52,6 +55,10 @@ func (u *CreateSiteUseCase) create(command CreateSiteCommand) (site.Site, error)
|
||||
if err := ensureImageExists(u.imageRepository, command.DefaultSocialImageID); err != nil {
|
||||
return site.Site{}, err
|
||||
}
|
||||
titleTemplate, err := resolveTitleTemplate(command.TitleTemplate)
|
||||
if err != nil {
|
||||
return site.Site{}, err
|
||||
}
|
||||
taken, err := isKeyTaken(u.siteRepository, command.Key)
|
||||
if err != nil {
|
||||
return site.Site{}, err
|
||||
@@ -71,5 +78,18 @@ func (u *CreateSiteUseCase) create(command CreateSiteCommand) (site.Site, error)
|
||||
DefaultRobots: robots,
|
||||
Locale: locale,
|
||||
IsDefault: command.IsDefault,
|
||||
SiteName: command.SiteName,
|
||||
TitleTemplate: titleTemplate,
|
||||
DefaultDescription: command.DefaultDescription,
|
||||
})
|
||||
}
|
||||
|
||||
func resolveTitleTemplate(requested *string) (string, error) {
|
||||
if requested == nil {
|
||||
return site.DefaultTitleTemplate, nil
|
||||
}
|
||||
if err := site.ValidateTitleTemplate(*requested); err != nil {
|
||||
return "", err
|
||||
}
|
||||
return *requested, nil
|
||||
}
|
||||
Reference in new issue
Block a user