mirror of https://github.com/stashapp/stash.git
Add is-missing tags filter (#526)
This commit is contained in:
parent
0d9dcdd1e9
commit
e9c68897d7
|
@ -317,6 +317,8 @@ func (qb *SceneQueryBuilder) Query(sceneFilter *SceneFilterType, findFilter *Fin
|
|||
whereClauses = append(whereClauses, "performers_join.scene_id IS NULL")
|
||||
case "date":
|
||||
whereClauses = append(whereClauses, "scenes.date IS \"\" OR scenes.date IS \"0001-01-01\"")
|
||||
case "tags":
|
||||
whereClauses = append(whereClauses, "tags_join.scene_id IS NULL")
|
||||
default:
|
||||
whereClauses = append(whereClauses, "scenes."+*isMissingFilter+" IS NULL")
|
||||
}
|
||||
|
|
|
@ -497,6 +497,28 @@ func TestSceneQueryIsMissingDate(t *testing.T) {
|
|||
}
|
||||
}
|
||||
|
||||
func TestSceneQueryIsMissingTags(t *testing.T) {
|
||||
sqb := models.NewSceneQueryBuilder()
|
||||
isMissing := "tags"
|
||||
sceneFilter := models.SceneFilterType{
|
||||
IsMissing: &isMissing,
|
||||
}
|
||||
|
||||
q := getSceneStringValue(sceneIdxWithTwoTags, titleField)
|
||||
findFilter := models.FindFilterType{
|
||||
Q: &q,
|
||||
}
|
||||
|
||||
scenes, _ := sqb.Query(&sceneFilter, &findFilter)
|
||||
|
||||
assert.Len(t, scenes, 0)
|
||||
|
||||
findFilter.Q = nil
|
||||
scenes, _ = sqb.Query(&sceneFilter, &findFilter)
|
||||
|
||||
assert.True(t, len(scenes) > 0)
|
||||
}
|
||||
|
||||
func TestSceneQueryIsMissingRating(t *testing.T) {
|
||||
sqb := models.NewSceneQueryBuilder()
|
||||
isMissing := "rating"
|
||||
|
|
|
@ -18,6 +18,7 @@ export class SceneIsMissingCriterion extends IsMissingCriterion {
|
|||
"studio",
|
||||
"movie",
|
||||
"performers",
|
||||
"tags",
|
||||
];
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue