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
@@ -29,6 +29,11 @@ type Handler struct {
|
||||
UpdatePurgeSettingsUseCase *useCases.UpdatePurgeSettingsUseCase
|
||||
PreviewPurgeUseCase *useCases.PreviewPurgeUseCase
|
||||
RunPurgeUseCase *useCases.RunPurgeUseCase
|
||||
ListVariantsUseCase *useCases.ListImageVariantsUseCase
|
||||
GenerateVariantUseCase *useCases.GenerateImageVariantUseCase
|
||||
GenerateAllUseCase *useCases.GenerateAllImageVariantsUseCase
|
||||
PurgeVariantUseCase *useCases.PurgeImageVariantUseCase
|
||||
GenerateOnUploadUseCase *useCases.GenerateVariantsOnUploadUseCase
|
||||
}
|
||||
|
||||
type RenameRequest struct {
|
||||
@@ -53,6 +58,9 @@ type mediaItemResponse struct {
|
||||
CreatedAt time.Time `json:"created_at"`
|
||||
UsedIn int `json:"used_in"`
|
||||
Duplicate bool `json:"duplicate"`
|
||||
|
||||
VariantCount int `json:"variant_count"`
|
||||
VariantSize int64 `json:"variant_size"`
|
||||
}
|
||||
|
||||
type countsResponse struct {
|
||||
@@ -78,7 +86,7 @@ type mergeResponse struct {
|
||||
Merged int `json:"merged"`
|
||||
}
|
||||
|
||||
func NewHandler(create *useCases.CreateImageUseCase, list *useCases.ListMediaUseCase, rename *useCases.RenameMediaUseCase, deleteUseCase *useCases.DeleteMediaUseCase, merge *useCases.MergeMediaUseCase, usage *useCases.GetMediaUsageUseCase, purgeSettings *useCases.GetPurgeSettingsUseCase, updatePurgeSettings *useCases.UpdatePurgeSettingsUseCase, previewPurge *useCases.PreviewPurgeUseCase, runPurge *useCases.RunPurgeUseCase) *Handler {
|
||||
func NewHandler(create *useCases.CreateImageUseCase, list *useCases.ListMediaUseCase, rename *useCases.RenameMediaUseCase, deleteUseCase *useCases.DeleteMediaUseCase, merge *useCases.MergeMediaUseCase, usage *useCases.GetMediaUsageUseCase, purgeSettings *useCases.GetPurgeSettingsUseCase, updatePurgeSettings *useCases.UpdatePurgeSettingsUseCase, previewPurge *useCases.PreviewPurgeUseCase, runPurge *useCases.RunPurgeUseCase, listVariants *useCases.ListImageVariantsUseCase, generateVariant *useCases.GenerateImageVariantUseCase, generateAll *useCases.GenerateAllImageVariantsUseCase, purgeVariant *useCases.PurgeImageVariantUseCase, generateOnUpload *useCases.GenerateVariantsOnUploadUseCase) *Handler {
|
||||
return &Handler{
|
||||
CreateUseCase: create,
|
||||
ListUseCase: list,
|
||||
@@ -90,6 +98,11 @@ func NewHandler(create *useCases.CreateImageUseCase, list *useCases.ListMediaUse
|
||||
UpdatePurgeSettingsUseCase: updatePurgeSettings,
|
||||
PreviewPurgeUseCase: previewPurge,
|
||||
RunPurgeUseCase: runPurge,
|
||||
ListVariantsUseCase: listVariants,
|
||||
GenerateVariantUseCase: generateVariant,
|
||||
GenerateAllUseCase: generateAll,
|
||||
PurgeVariantUseCase: purgeVariant,
|
||||
GenerateOnUploadUseCase: generateOnUpload,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -145,6 +158,9 @@ func toResponse(item useCases.MediaItem) mediaItemResponse {
|
||||
CreatedAt: item.Image.CreatedAt,
|
||||
UsedIn: item.UsedIn,
|
||||
Duplicate: item.Duplicate,
|
||||
|
||||
VariantCount: item.VariantCount,
|
||||
VariantSize: item.VariantSize,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,6 +177,12 @@ func parseListQuery(r *http.Request) (domainImage.ListQuery, error) {
|
||||
if values.Has("filter") {
|
||||
query.Filter = domainImage.Filter(values.Get("filter"))
|
||||
}
|
||||
if values.Has("variants") {
|
||||
if values.Get("variants") == "" {
|
||||
return domainImage.ListQuery{}, domainImage.ErrInvalidQuery
|
||||
}
|
||||
query.Variants = domainImage.VariantsFilter(values.Get("variants"))
|
||||
}
|
||||
if values.Has("sort") {
|
||||
query.Sort = domainImage.Sort(values.Get("sort"))
|
||||
}
|
||||
@@ -219,6 +241,7 @@ func (h *Handler) Upload(w http.ResponseWriter, r *http.Request) {
|
||||
return
|
||||
}
|
||||
|
||||
h.GenerateOnUploadUseCase.Generate(r.Context(), created)
|
||||
h.writeItem(w, http.StatusCreated, created)
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user