feat: image variants per image
This commit is contained in:
1 parent
f567866161
commit
951fef18ba
92 files changed
+8695
-413
No files matched your search
@@ -0,0 +1,37 @@
|
||||
package useCases
|
||||
|
||||
import (
|
||||
"RenewCMS/internal/domain/image"
|
||||
"context"
|
||||
"log"
|
||||
)
|
||||
|
||||
type GenerateVariantsOnUploadUseCase struct {
|
||||
variants image.VariantRepository
|
||||
generator *ServeVariantUseCase
|
||||
logger *log.Logger
|
||||
}
|
||||
|
||||
func NewGenerateVariantsOnUploadUseCase(variants image.VariantRepository, generator *ServeVariantUseCase, logger *log.Logger) *GenerateVariantsOnUploadUseCase {
|
||||
return &GenerateVariantsOnUploadUseCase{variants, generator, logger}
|
||||
}
|
||||
|
||||
func (u *GenerateVariantsOnUploadUseCase) Generate(ctx context.Context, img image.Image) {
|
||||
if isVectorSource(img) {
|
||||
return
|
||||
}
|
||||
enabled, err := enabledVariants(u.variants)
|
||||
if err != nil {
|
||||
u.logger.Printf("listing variants to generate on upload failed: image=%d: %v", img.ID, err)
|
||||
return
|
||||
}
|
||||
storedName := image.StoredName(img.Path)
|
||||
for _, variant := range enabled {
|
||||
if !variant.GenerateOnUpload {
|
||||
continue
|
||||
}
|
||||
if _, err := u.generator.Generate(ctx, variant, storedName); err != nil {
|
||||
u.logger.Printf("generating variant on upload failed: variant=%s image=%d: %v", variant.Name, img.ID, err)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user