36 lines
723 B
Go
36 lines
723 B
Go
package useCases
|
|
|
|
import (
|
|
"RenewCMS/internal/domain/author"
|
|
"RenewCMS/internal/domain/site"
|
|
)
|
|
|
|
func siteImageUsage(sites site.Repository) (map[uint32]int, error) {
|
|
usage := map[uint32]int{}
|
|
all, err := sites.List()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
for _, s := range all {
|
|
if s.DefaultSocialImageID != nil {
|
|
usage[*s.DefaultSocialImageID]++
|
|
}
|
|
}
|
|
return usage, nil
|
|
}
|
|
|
|
func imageUsageCount(sites site.Repository, authors author.Repository) (map[uint32]int, error) {
|
|
usage, err := siteImageUsage(sites)
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
avatars, err := authors.AvatarUsage()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
for imageID, total := range avatars {
|
|
usage[imageID] += total
|
|
}
|
|
return usage, nil
|
|
}
|