mirror of
https://github.com/idanoo/autobrr
synced 2025-07-22 16:29:12 +00:00
feat(confg): reload on save and refactor logging (#275)
* feat(confg): reload on save * refactor(logging): rework
This commit is contained in:
parent
198528a474
commit
91b094f4f4
56 changed files with 995 additions and 873 deletions
|
@ -6,18 +6,20 @@ import (
|
|||
"encoding/json"
|
||||
|
||||
"github.com/autobrr/autobrr/internal/domain"
|
||||
"github.com/autobrr/autobrr/internal/logger"
|
||||
|
||||
sq "github.com/Masterminds/squirrel"
|
||||
"github.com/rs/zerolog/log"
|
||||
)
|
||||
|
||||
type ActionRepo struct {
|
||||
log logger.Logger
|
||||
db *DB
|
||||
clientRepo domain.DownloadClientRepo
|
||||
}
|
||||
|
||||
func NewActionRepo(db *DB, clientRepo domain.DownloadClientRepo) domain.ActionRepo {
|
||||
func NewActionRepo(log logger.Logger, db *DB, clientRepo domain.DownloadClientRepo) domain.ActionRepo {
|
||||
return &ActionRepo{
|
||||
log: log,
|
||||
db: db,
|
||||
clientRepo: clientRepo,
|
||||
}
|
||||
|
@ -85,13 +87,13 @@ func (r *ActionRepo) findByFilterID(ctx context.Context, tx *Tx, filterID int) (
|
|||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.findByFilterID: error building query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.findByFilterID: error building query")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
rows, err := tx.QueryContext(ctx, query, args...)
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.findByFilterID: query error")
|
||||
r.log.Error().Stack().Err(err).Msg("action.findByFilterID: query error")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -110,7 +112,7 @@ func (r *ActionRepo) findByFilterID(ctx context.Context, tx *Tx, filterID int) (
|
|||
var paused, ignoreRules sql.NullBool
|
||||
|
||||
if err := rows.Scan(&a.ID, &a.Name, &a.Type, &a.Enabled, &execCmd, &execArgs, &watchFolder, &category, &tags, &label, &savePath, &paused, &ignoreRules, &limitDl, &limitUl, &limitRatio, &limitSeedTime, &a.ReAnnounceSkip, &a.ReAnnounceDelete, &a.ReAnnounceInterval, &a.ReAnnounceMaxAttempts, &webhookHost, &webhookType, &webhookMethod, &webhookData, &clientID); err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.findByFilterID: error scanning row")
|
||||
r.log.Error().Stack().Err(err).Msg("action.findByFilterID: error scanning row")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -139,7 +141,7 @@ func (r *ActionRepo) findByFilterID(ctx context.Context, tx *Tx, filterID int) (
|
|||
actions = append(actions, &a)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.findByFilterID: row error")
|
||||
r.log.Error().Stack().Err(err).Msg("action.findByFilterID: row error")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -166,13 +168,13 @@ func (r *ActionRepo) attachDownloadClient(ctx context.Context, tx *Tx, clientID
|
|||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.attachDownloadClient: error building query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.attachDownloadClient: error building query")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
row := tx.QueryRowContext(ctx, query, args...)
|
||||
if err := row.Err(); err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.attachDownloadClient: error query row")
|
||||
r.log.Error().Stack().Err(err).Msg("action.attachDownloadClient: error query row")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -180,13 +182,13 @@ func (r *ActionRepo) attachDownloadClient(ctx context.Context, tx *Tx, clientID
|
|||
var settingsJsonStr string
|
||||
|
||||
if err := row.Scan(&client.ID, &client.Name, &client.Type, &client.Enabled, &client.Host, &client.Port, &client.TLS, &client.TLSSkipVerify, &client.Username, &client.Password, &settingsJsonStr); err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.attachDownloadClient: error scanning row")
|
||||
r.log.Error().Stack().Err(err).Msg("action.attachDownloadClient: error scanning row")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if settingsJsonStr != "" {
|
||||
if err := json.Unmarshal([]byte(settingsJsonStr), &client.Settings); err != nil {
|
||||
log.Error().Stack().Err(err).Msgf("action.attachDownloadClient: could not marshal download client settings %v", settingsJsonStr)
|
||||
r.log.Error().Stack().Err(err).Msgf("action.attachDownloadClient: could not marshal download client settings %v", settingsJsonStr)
|
||||
return nil, err
|
||||
}
|
||||
}
|
||||
|
@ -228,13 +230,13 @@ func (r *ActionRepo) List(ctx context.Context) ([]domain.Action, error) {
|
|||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.list: error building query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.list: error building query")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
rows, err := r.db.handler.QueryContext(ctx, query, args...)
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.list: error executing query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.list: error executing query")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -251,7 +253,7 @@ func (r *ActionRepo) List(ctx context.Context) ([]domain.Action, error) {
|
|||
var paused, ignoreRules sql.NullBool
|
||||
|
||||
if err := rows.Scan(&a.ID, &a.Name, &a.Type, &a.Enabled, &execCmd, &execArgs, &watchFolder, &category, &tags, &label, &savePath, &paused, &ignoreRules, &limitDl, &limitUl, &limitRatio, &limitSeedTime, &a.ReAnnounceSkip, &a.ReAnnounceDelete, &a.ReAnnounceInterval, &a.ReAnnounceMaxAttempts, &webhookHost, &webhookType, &webhookMethod, &webhookData, &clientID); err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.list: error scanning row")
|
||||
r.log.Error().Stack().Err(err).Msg("action.list: error scanning row")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -277,7 +279,7 @@ func (r *ActionRepo) List(ctx context.Context) ([]domain.Action, error) {
|
|||
actions = append(actions, a)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.list: row error")
|
||||
r.log.Error().Stack().Err(err).Msg("action.list: row error")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -291,17 +293,17 @@ func (r *ActionRepo) Delete(actionID int) error {
|
|||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.delete: error building query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.delete: error building query")
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = r.db.handler.Exec(query, args...)
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.delete: error executing query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.delete: error executing query")
|
||||
return err
|
||||
}
|
||||
|
||||
log.Debug().Msgf("action.delete: %v", actionID)
|
||||
r.log.Debug().Msgf("action.delete: %v", actionID)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@ -313,17 +315,17 @@ func (r *ActionRepo) DeleteByFilterID(ctx context.Context, filterID int) error {
|
|||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.deleteByFilterID: error building query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.deleteByFilterID: error building query")
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = r.db.handler.ExecContext(ctx, query, args...)
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.deleteByFilterID: error executing query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.deleteByFilterID: error executing query")
|
||||
return err
|
||||
}
|
||||
|
||||
log.Debug().Msgf("action.deleteByFilterID: %v", filterID)
|
||||
r.log.Debug().Msgf("action.deleteByFilterID: %v", filterID)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
@ -413,11 +415,11 @@ func (r *ActionRepo) Store(ctx context.Context, action domain.Action) (*domain.A
|
|||
|
||||
err := queryBuilder.QueryRowContext(ctx).Scan(&retID)
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.store: error executing query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.store: error executing query")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Debug().Msgf("action.store: added new %v", retID)
|
||||
r.log.Debug().Msgf("action.store: added new %v", retID)
|
||||
action.ID = int(retID)
|
||||
|
||||
return &action, nil
|
||||
|
@ -478,17 +480,17 @@ func (r *ActionRepo) Update(ctx context.Context, action domain.Action) (*domain.
|
|||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.update: error building query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.update: error building query")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
_, err = r.db.handler.ExecContext(ctx, query, args...)
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.update: error executing query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.update: error executing query")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
log.Debug().Msgf("action.update: %v", action.ID)
|
||||
r.log.Debug().Msgf("action.update: %v", action.ID)
|
||||
|
||||
return &action, nil
|
||||
}
|
||||
|
@ -507,12 +509,12 @@ func (r *ActionRepo) StoreFilterActions(ctx context.Context, actions []*domain.A
|
|||
|
||||
deleteQuery, deleteArgs, err := deleteQueryBuilder.ToSql()
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.StoreFilterActions: error building query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.StoreFilterActions: error building query")
|
||||
return nil, err
|
||||
}
|
||||
_, err = tx.ExecContext(ctx, deleteQuery, deleteArgs...)
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.StoreFilterActions: error executing query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.StoreFilterActions: error executing query")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
|
@ -600,18 +602,18 @@ func (r *ActionRepo) StoreFilterActions(ctx context.Context, actions []*domain.A
|
|||
|
||||
err = queryBuilder.QueryRowContext(ctx).Scan(&retID)
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.StoreFilterActions: error executing query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.StoreFilterActions: error executing query")
|
||||
return nil, err
|
||||
}
|
||||
|
||||
action.ID = retID
|
||||
|
||||
log.Debug().Msgf("action.StoreFilterActions: store '%v' type: '%v' on filter: %v", action.Name, action.Type, filterID)
|
||||
r.log.Debug().Msgf("action.StoreFilterActions: store '%v' type: '%v' on filter: %v", action.Name, action.Type, filterID)
|
||||
}
|
||||
|
||||
err = tx.Commit()
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.StoreFilterActions: error updating actions")
|
||||
r.log.Error().Stack().Err(err).Msg("action.StoreFilterActions: error updating actions")
|
||||
return nil, err
|
||||
|
||||
}
|
||||
|
@ -629,17 +631,17 @@ func (r *ActionRepo) ToggleEnabled(actionID int) error {
|
|||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.toggleEnabled: error building query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.toggleEnabled: error building query")
|
||||
return err
|
||||
}
|
||||
|
||||
_, err = r.db.handler.Exec(query, args...)
|
||||
if err != nil {
|
||||
log.Error().Stack().Err(err).Msg("action.toggleEnabled: error executing query")
|
||||
r.log.Error().Stack().Err(err).Msg("action.toggleEnabled: error executing query")
|
||||
return err
|
||||
}
|
||||
|
||||
log.Debug().Msgf("action.toggleEnabled: %v", actionID)
|
||||
r.log.Debug().Msgf("action.toggleEnabled: %v", actionID)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue