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 }