mirror of
https://github.com/stashapp/stash.git
synced 2025-12-18 04:44:37 +03:00
Added new filters (date and title) to galleries (#1344)
* Added new filters (date and title) to galleries * Added image_count on filter for galleries
This commit is contained in:
@@ -199,6 +199,7 @@ func (qb *galleryQueryBuilder) makeQuery(galleryFilter *models.GalleryFilterType
|
||||
query.handleStringCriterionInput(galleryFilter.Path, "galleries.path")
|
||||
query.handleIntCriterionInput(galleryFilter.Rating, "galleries.rating")
|
||||
query.handleStringCriterionInput(galleryFilter.URL, "galleries.url")
|
||||
query.handleCountCriterion(galleryFilter.ImageCount, galleryTable, galleriesImagesTable, galleryIDColumn)
|
||||
qb.handleAverageResolutionFilter(&query, galleryFilter.AverageResolution)
|
||||
|
||||
if Organized := galleryFilter.Organized; Organized != nil {
|
||||
|
||||
@@ -712,6 +712,56 @@ func verifyGalleriesPerformerCount(t *testing.T, performerCountCriterion models.
|
||||
})
|
||||
}
|
||||
|
||||
func TestGalleryQueryImageCount(t *testing.T) {
|
||||
const imageCount = 0
|
||||
imageCountCriterion := models.IntCriterionInput{
|
||||
Value: imageCount,
|
||||
Modifier: models.CriterionModifierEquals,
|
||||
}
|
||||
|
||||
verifyGalleriesImageCount(t, imageCountCriterion)
|
||||
|
||||
imageCountCriterion.Modifier = models.CriterionModifierNotEquals
|
||||
verifyGalleriesImageCount(t, imageCountCriterion)
|
||||
|
||||
imageCountCriterion.Modifier = models.CriterionModifierGreaterThan
|
||||
verifyGalleriesImageCount(t, imageCountCriterion)
|
||||
|
||||
imageCountCriterion.Modifier = models.CriterionModifierLessThan
|
||||
verifyGalleriesImageCount(t, imageCountCriterion)
|
||||
}
|
||||
|
||||
func verifyGalleriesImageCount(t *testing.T, imageCountCriterion models.IntCriterionInput) {
|
||||
withTxn(func(r models.Repository) error {
|
||||
sqb := r.Gallery()
|
||||
galleryFilter := models.GalleryFilterType{
|
||||
ImageCount: &imageCountCriterion,
|
||||
}
|
||||
|
||||
galleries := queryGallery(t, sqb, &galleryFilter, nil)
|
||||
assert.Greater(t, len(galleries), -1)
|
||||
|
||||
for _, gallery := range galleries {
|
||||
pp := 0
|
||||
|
||||
_, count, err := r.Image().Query(&models.ImageFilterType{
|
||||
Galleries: &models.MultiCriterionInput{
|
||||
Value: []string{strconv.Itoa(gallery.ID)},
|
||||
Modifier: models.CriterionModifierIncludes,
|
||||
},
|
||||
}, &models.FindFilterType{
|
||||
PerPage: &pp,
|
||||
})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
verifyInt(t, count, imageCountCriterion)
|
||||
}
|
||||
|
||||
return nil
|
||||
})
|
||||
}
|
||||
|
||||
// TODO Count
|
||||
// TODO All
|
||||
// TODO Query
|
||||
|
||||
Reference in New Issue
Block a user