mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 00:39:13 +00:00
fix(filters): store and update with no external filters (#1049)
* fix(filters): store and update * fix(filters): bad fmt var * fix(filters): store expect status * fix(filters): store expect status * fix(filters): external filter always rejected
This commit is contained in:
parent
0fa53b0b2e
commit
3e244fac10
14 changed files with 151 additions and 125 deletions
|
@ -769,7 +769,7 @@ func (r *FilterRepo) FindExternalFiltersByID(ctx context.Context, filterId int)
|
|||
return externalFilters, nil
|
||||
}
|
||||
|
||||
func (r *FilterRepo) Store(ctx context.Context, filter domain.Filter) (*domain.Filter, error) {
|
||||
func (r *FilterRepo) Store(ctx context.Context, filter *domain.Filter) error {
|
||||
queryBuilder := r.db.squirrel.
|
||||
Insert("filter").
|
||||
Columns(
|
||||
|
@ -896,15 +896,15 @@ func (r *FilterRepo) Store(ctx context.Context, filter domain.Filter) (*domain.F
|
|||
var retID int
|
||||
|
||||
if err := queryBuilder.QueryRowContext(ctx).Scan(&retID); err != nil {
|
||||
return nil, errors.Wrap(err, "error executing query")
|
||||
return errors.Wrap(err, "error executing query")
|
||||
}
|
||||
|
||||
filter.ID = retID
|
||||
|
||||
return &filter, nil
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *FilterRepo) Update(ctx context.Context, filter domain.Filter) (*domain.Filter, error) {
|
||||
func (r *FilterRepo) Update(ctx context.Context, filter *domain.Filter) error {
|
||||
var err error
|
||||
|
||||
queryBuilder := r.db.squirrel.
|
||||
|
@ -971,15 +971,15 @@ func (r *FilterRepo) Update(ctx context.Context, filter domain.Filter) (*domain.
|
|||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "error building query")
|
||||
return errors.Wrap(err, "error building query")
|
||||
}
|
||||
|
||||
_, err = r.db.handler.ExecContext(ctx, query, args...)
|
||||
if err != nil {
|
||||
return nil, errors.Wrap(err, "error executing query")
|
||||
return errors.Wrap(err, "error executing query")
|
||||
}
|
||||
|
||||
return &filter, nil
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *FilterRepo) UpdatePartial(ctx context.Context, filter domain.FilterUpdate) error {
|
||||
|
@ -1245,13 +1245,23 @@ func (r *FilterRepo) StoreIndexerConnections(ctx context.Context, filterID int,
|
|||
if err != nil {
|
||||
return errors.Wrap(err, "error building query")
|
||||
}
|
||||
|
||||
_, err = tx.ExecContext(ctx, deleteQuery, deleteArgs...)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "error executing query")
|
||||
}
|
||||
|
||||
if len(indexers) == 0 {
|
||||
if err := tx.Commit(); err != nil {
|
||||
return errors.Wrap(err, "error store indexers for filter: %d", filterID)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
queryBuilder := r.db.squirrel.
|
||||
Insert("filter_indexer").Columns("filter_id", "indexer_id")
|
||||
Insert("filter_indexer").
|
||||
Columns("filter_id", "indexer_id")
|
||||
|
||||
for _, indexer := range indexers {
|
||||
queryBuilder = queryBuilder.Values(filterID, indexer.ID)
|
||||
|
@ -1311,6 +1321,24 @@ func (r *FilterRepo) DeleteIndexerConnections(ctx context.Context, filterID int)
|
|||
return nil
|
||||
}
|
||||
|
||||
func (r *FilterRepo) DeleteFilterExternal(ctx context.Context, filterID int) error {
|
||||
queryBuilder := r.db.squirrel.
|
||||
Delete("filter_external").
|
||||
Where(sq.Eq{"filter_id": filterID})
|
||||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "error building query")
|
||||
}
|
||||
|
||||
_, err = r.db.handler.ExecContext(ctx, query, args...)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "error executing query")
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (r *FilterRepo) Delete(ctx context.Context, filterID int) error {
|
||||
queryBuilder := r.db.squirrel.
|
||||
Delete("filter").
|
||||
|
@ -1411,6 +1439,14 @@ func (r *FilterRepo) StoreFilterExternal(ctx context.Context, filterID int, exte
|
|||
return errors.Wrap(err, "error executing query")
|
||||
}
|
||||
|
||||
if len(externalFilters) == 0 {
|
||||
if err := tx.Commit(); err != nil {
|
||||
return errors.Wrap(err, "error delete external filters for filter: %d", filterID)
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
qb := r.db.squirrel.
|
||||
Insert("filter_external").
|
||||
Columns(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue