29 lines
726 B
Go
29 lines
726 B
Go
package useCases
|
|
|
|
import "RenewCMS/internal/domain/image"
|
|
|
|
type ListVariantsUseCase struct {
|
|
variants image.VariantRepository
|
|
files image.VariantFileRepository
|
|
}
|
|
|
|
func NewListVariantsUseCase(variants image.VariantRepository, files image.VariantFileRepository) *ListVariantsUseCase {
|
|
return &ListVariantsUseCase{variants, files}
|
|
}
|
|
|
|
func (u *ListVariantsUseCase) List() ([]VariantSummary, error) {
|
|
variants, err := u.variants.List()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
totals, err := u.files.Totals()
|
|
if err != nil {
|
|
return nil, err
|
|
}
|
|
summaries := make([]VariantSummary, 0, len(variants))
|
|
for _, variant := range variants {
|
|
summaries = append(summaries, summarize(variant, totals))
|
|
}
|
|
return summaries, nil
|
|
}
|