Add is-missing tags filter (#526)

This commit is contained in:
InfiniteTF 2020-05-09 04:21:08 +02:00 committed by GitHub
parent 0d9dcdd1e9
commit e9c68897d7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 0 deletions

View File

@ -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")
}

View File

@ -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"

View File

@ -18,6 +18,7 @@ export class SceneIsMissingCriterion extends IsMissingCriterion {
"studio",
"movie",
"performers",
"tags",
];
}