Add related object filter criteria to various filter types in graphql schema (#4861)

* Move filter criterion handlers into separate file
* Add related filters for image filter
* Add related filters for scene filter
* Add related filters to gallery filter
* Add related filters to movie filter
* Add related filters to performer filter
* Add related filters to studio filter
* Add related filters to tag filter
* Add scene filter to scene marker filter
This commit is contained in:
WithoutPants
2024-06-11 11:34:38 +10:00
committed by GitHub
parent ff23d4e20b
commit e843c890fb
41 changed files with 4562 additions and 3805 deletions

View File

@@ -193,8 +193,7 @@ func (t *joinTable) insertJoins(ctx context.Context, id int, foreignIDs []int) e
// ignore duplicates
q := fmt.Sprintf("INSERT INTO %s (%s, %s) VALUES (?, ?) ON CONFLICT (%[2]s, %s) DO NOTHING", t.table.table.GetTable(), t.idColumn.GetCol(), t.fkColumn.GetCol())
tx := dbWrapper{}
stmt, err := tx.Prepare(ctx, q)
stmt, err := dbWrapper.Prepare(ctx, q)
if err != nil {
return err
}
@@ -204,7 +203,7 @@ func (t *joinTable) insertJoins(ctx context.Context, id int, foreignIDs []int) e
foreignIDs = sliceutil.AppendUniques(nil, foreignIDs)
for _, fk := range foreignIDs {
if _, err := tx.ExecStmt(ctx, stmt, id, fk); err != nil {
if _, err := dbWrapper.ExecStmt(ctx, stmt, id, fk); err != nil {
return err
}
}
@@ -1077,8 +1076,7 @@ func queryFunc(ctx context.Context, query *goqu.SelectDataset, single bool, f fu
return err
}
wrapper := dbWrapper{}
rows, err := wrapper.QueryxContext(ctx, q, args...)
rows, err := dbWrapper.QueryxContext(ctx, q, args...)
if err != nil && !errors.Is(err, sql.ErrNoRows) {
return fmt.Errorf("querying `%s` [%v]: %w", q, args, err)
@@ -1107,8 +1105,7 @@ func querySimple(ctx context.Context, query *goqu.SelectDataset, out interface{}
return err
}
wrapper := dbWrapper{}
rows, err := wrapper.QueryxContext(ctx, q, args...)
rows, err := dbWrapper.QueryxContext(ctx, q, args...)
if err != nil {
return fmt.Errorf("querying `%s` [%v]: %w", q, args, err)
}