Auto tag rewrite (#1324)

This commit is contained in:
WithoutPants
2021-04-26 12:51:31 +10:00
committed by GitHub
parent f66010a367
commit 2eb2d865dc
26 changed files with 1469 additions and 370 deletions

View File

@@ -4,6 +4,7 @@ import (
"database/sql"
"fmt"
"strconv"
"strings"
"github.com/stashapp/stash/pkg/models"
)
@@ -172,6 +173,25 @@ func (qb *performerQueryBuilder) All() ([]*models.Performer, error) {
return qb.queryPerformers(selectAll("performers")+qb.getPerformerSort(nil), nil)
}
func (qb *performerQueryBuilder) QueryForAutoTag(words []string) ([]*models.Performer, error) {
// TODO - Query needs to be changed to support queries of this type, and
// this method should be removed
query := selectAll(performerTable)
var whereClauses []string
var args []interface{}
for _, w := range words {
whereClauses = append(whereClauses, "name like ?")
args = append(args, "%"+w+"%")
whereClauses = append(whereClauses, "aliases like ?")
args = append(args, "%"+w+"%")
}
where := strings.Join(whereClauses, " OR ")
return qb.queryPerformers(query+" WHERE "+where, args)
}
func (qb *performerQueryBuilder) Query(performerFilter *models.PerformerFilterType, findFilter *models.FindFilterType) ([]*models.Performer, int, error) {
if performerFilter == nil {
performerFilter = &models.PerformerFilterType{}