Path filter for scenes and galleries (#834)

This commit is contained in:
WithoutPants
2020-10-12 08:19:51 +11:00
committed by GitHub
parent 08276ac616
commit ade109d9e4
11 changed files with 201 additions and 50 deletions

View File

@@ -206,18 +206,18 @@ func (qb *PerformerQueryBuilder) Query(performerFilter *PerformerFilterType, fin
}
}
handleStringCriterion(tableName+".ethnicity", performerFilter.Ethnicity, &query)
handleStringCriterion(tableName+".country", performerFilter.Country, &query)
handleStringCriterion(tableName+".eye_color", performerFilter.EyeColor, &query)
handleStringCriterion(tableName+".height", performerFilter.Height, &query)
handleStringCriterion(tableName+".measurements", performerFilter.Measurements, &query)
handleStringCriterion(tableName+".fake_tits", performerFilter.FakeTits, &query)
handleStringCriterion(tableName+".career_length", performerFilter.CareerLength, &query)
handleStringCriterion(tableName+".tattoos", performerFilter.Tattoos, &query)
handleStringCriterion(tableName+".piercings", performerFilter.Piercings, &query)
query.handleStringCriterionInput(performerFilter.Ethnicity, tableName+".ethnicity")
query.handleStringCriterionInput(performerFilter.Country, tableName+".country")
query.handleStringCriterionInput(performerFilter.EyeColor, tableName+".eye_color")
query.handleStringCriterionInput(performerFilter.Height, tableName+".height")
query.handleStringCriterionInput(performerFilter.Measurements, tableName+".measurements")
query.handleStringCriterionInput(performerFilter.FakeTits, tableName+".fake_tits")
query.handleStringCriterionInput(performerFilter.CareerLength, tableName+".career_length")
query.handleStringCriterionInput(performerFilter.Tattoos, tableName+".tattoos")
query.handleStringCriterionInput(performerFilter.Piercings, tableName+".piercings")
// TODO - need better handling of aliases
handleStringCriterion(tableName+".aliases", performerFilter.Aliases, &query)
query.handleStringCriterionInput(performerFilter.Aliases, tableName+".aliases")
query.sortAndPagination = qb.getPerformerSort(findFilter) + getPagination(findFilter)
idsResult, countResult := query.executeFind()
@@ -231,27 +231,6 @@ func (qb *PerformerQueryBuilder) Query(performerFilter *PerformerFilterType, fin
return performers, countResult
}
func handleStringCriterion(column string, value *StringCriterionInput, query *queryBuilder) {
if value != nil {
if modifier := value.Modifier.String(); value.Modifier.IsValid() {
switch modifier {
case "EQUALS":
clause, thisArgs := getSearchBinding([]string{column}, value.Value, false)
query.addWhere(clause)
query.addArg(thisArgs...)
case "NOT_EQUALS":
clause, thisArgs := getSearchBinding([]string{column}, value.Value, true)
query.addWhere(clause)
query.addArg(thisArgs...)
case "IS_NULL":
query.addWhere(column + " IS NULL")
case "NOT_NULL":
query.addWhere(column + " IS NOT NULL")
}
}
}
}
func getBirthYearFilterClause(criterionModifier CriterionModifier, value int) ([]string, []interface{}) {
var clauses []string
var args []interface{}