44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
package mappers
|
|
|
|
import (
|
|
"RenewCMS/internal/domain/site"
|
|
"RenewCMS/internal/infrastructure/persistence/models"
|
|
)
|
|
|
|
func SiteToDomain(m models.Site, articleCount int) site.Site {
|
|
titleTemplate := m.TitleTemplate
|
|
if titleTemplate == "" {
|
|
titleTemplate = site.DefaultTitleTemplate
|
|
}
|
|
return site.Site{
|
|
ID: m.ID,
|
|
Name: m.Name,
|
|
Key: m.Key,
|
|
BaseURL: m.BaseURL,
|
|
DefaultSocialImageID: m.DefaultSocialImageID,
|
|
DefaultRobots: m.DefaultRobots,
|
|
Locale: m.Locale,
|
|
IsDefault: m.IsDefault,
|
|
ArticleCount: articleCount,
|
|
SiteName: m.SiteName,
|
|
TitleTemplate: titleTemplate,
|
|
DefaultDescription: m.DefaultDescription,
|
|
}
|
|
}
|
|
|
|
func SiteToModel(s site.Site) models.Site {
|
|
return models.Site{
|
|
ID: s.ID,
|
|
Name: s.Name,
|
|
Key: s.Key,
|
|
BaseURL: s.BaseURL,
|
|
DefaultSocialImageID: s.DefaultSocialImageID,
|
|
DefaultRobots: s.DefaultRobots,
|
|
Locale: s.Locale,
|
|
IsDefault: s.IsDefault,
|
|
SiteName: s.SiteName,
|
|
TitleTemplate: s.TitleTemplate,
|
|
DefaultDescription: s.DefaultDescription,
|
|
}
|
|
}
|