mirror of
https://github.com/idanoo/autobrr
synced 2025-07-23 00:39:13 +00:00
feat(logging); improve messages and errors (#336)
* feat(logger): add module context * feat(logger): change errors package * feat(logger): update tests
This commit is contained in:
parent
95471a4cf7
commit
0e88117702
69 changed files with 1172 additions and 957 deletions
|
@ -8,16 +8,19 @@ import (
|
|||
|
||||
"github.com/autobrr/autobrr/internal/domain"
|
||||
"github.com/autobrr/autobrr/internal/logger"
|
||||
"github.com/autobrr/autobrr/pkg/errors"
|
||||
|
||||
"github.com/rs/zerolog"
|
||||
)
|
||||
|
||||
type IndexerRepo struct {
|
||||
log logger.Logger
|
||||
log zerolog.Logger
|
||||
db *DB
|
||||
}
|
||||
|
||||
func NewIndexerRepo(log logger.Logger, db *DB) domain.IndexerRepo {
|
||||
return &IndexerRepo{
|
||||
log: log,
|
||||
log: log.With().Str("repo", "indexer").Logger(),
|
||||
db: db,
|
||||
}
|
||||
}
|
||||
|
@ -25,8 +28,7 @@ func NewIndexerRepo(log logger.Logger, db *DB) domain.IndexerRepo {
|
|||
func (r *IndexerRepo) Store(ctx context.Context, indexer domain.Indexer) (*domain.Indexer, error) {
|
||||
settings, err := json.Marshal(indexer.Settings)
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("error marshaling json data")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error marshaling json data")
|
||||
}
|
||||
|
||||
queryBuilder := r.db.squirrel.
|
||||
|
@ -39,8 +41,7 @@ func (r *IndexerRepo) Store(ctx context.Context, indexer domain.Indexer) (*domai
|
|||
|
||||
err = queryBuilder.QueryRowContext(ctx).Scan(&retID)
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("indexer.store: error executing query")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error executing query")
|
||||
}
|
||||
|
||||
indexer.ID = retID
|
||||
|
@ -51,8 +52,7 @@ func (r *IndexerRepo) Store(ctx context.Context, indexer domain.Indexer) (*domai
|
|||
func (r *IndexerRepo) Update(ctx context.Context, indexer domain.Indexer) (*domain.Indexer, error) {
|
||||
settings, err := json.Marshal(indexer.Settings)
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("error marshaling json data")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error marshaling json data")
|
||||
}
|
||||
|
||||
queryBuilder := r.db.squirrel.
|
||||
|
@ -65,14 +65,12 @@ func (r *IndexerRepo) Update(ctx context.Context, indexer domain.Indexer) (*doma
|
|||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("indexer.update: error building query")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error building query")
|
||||
}
|
||||
|
||||
_, err = r.db.handler.ExecContext(ctx, query, args...)
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("indexer.update: error executing query")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error executing query")
|
||||
}
|
||||
|
||||
return &indexer, nil
|
||||
|
@ -81,8 +79,7 @@ func (r *IndexerRepo) Update(ctx context.Context, indexer domain.Indexer) (*doma
|
|||
func (r *IndexerRepo) List(ctx context.Context) ([]domain.Indexer, error) {
|
||||
rows, err := r.db.handler.QueryContext(ctx, "SELECT id, enabled, name, identifier, implementation, settings FROM indexer ORDER BY name ASC")
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("indexer.list: error query indexer")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error executing query")
|
||||
}
|
||||
|
||||
defer rows.Close()
|
||||
|
@ -96,16 +93,14 @@ func (r *IndexerRepo) List(ctx context.Context) ([]domain.Indexer, error) {
|
|||
var settingsMap map[string]string
|
||||
|
||||
if err := rows.Scan(&f.ID, &f.Enabled, &f.Name, &f.Identifier, &implementation, &settings); err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("indexer.list: error scanning data to struct")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error scanning row")
|
||||
}
|
||||
|
||||
f.Implementation = implementation.String
|
||||
|
||||
err = json.Unmarshal([]byte(settings), &settingsMap)
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("indexer.list: error unmarshal settings")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error unmarshal settings")
|
||||
}
|
||||
|
||||
f.Settings = settingsMap
|
||||
|
@ -113,7 +108,7 @@ func (r *IndexerRepo) List(ctx context.Context) ([]domain.Indexer, error) {
|
|||
indexers = append(indexers, f)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error rows")
|
||||
}
|
||||
|
||||
return indexers, nil
|
||||
|
@ -128,14 +123,12 @@ func (r *IndexerRepo) FindByFilterID(ctx context.Context, id int) ([]domain.Inde
|
|||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("irc.check_existing_network: error fetching data")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error building query")
|
||||
}
|
||||
|
||||
rows, err := r.db.handler.QueryContext(ctx, query, args...)
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("indexer.find_by_filter_id: error query indexer")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error executing query")
|
||||
}
|
||||
|
||||
defer rows.Close()
|
||||
|
@ -148,14 +141,12 @@ func (r *IndexerRepo) FindByFilterID(ctx context.Context, id int) ([]domain.Inde
|
|||
var settingsMap map[string]string
|
||||
|
||||
if err := rows.Scan(&f.ID, &f.Enabled, &f.Name, &f.Identifier, &settings); err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("indexer.find_by_filter_id: error scanning data to struct")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error scanning row")
|
||||
}
|
||||
|
||||
err = json.Unmarshal([]byte(settings), &settingsMap)
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("indexer.find_by_filter_id: error unmarshal settings")
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error unmarshal settings")
|
||||
}
|
||||
|
||||
f.Settings = settingsMap
|
||||
|
@ -163,7 +154,7 @@ func (r *IndexerRepo) FindByFilterID(ctx context.Context, id int) ([]domain.Inde
|
|||
indexers = append(indexers, f)
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
return nil, errors.Wrap(err, "error rows")
|
||||
}
|
||||
|
||||
return indexers, nil
|
||||
|
@ -177,14 +168,12 @@ func (r *IndexerRepo) Delete(ctx context.Context, id int) error {
|
|||
|
||||
query, args, err := queryBuilder.ToSql()
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msg("indexer.delete: error building query")
|
||||
return err
|
||||
return errors.Wrap(err, "error building query")
|
||||
}
|
||||
|
||||
_, err = r.db.handler.ExecContext(ctx, query, args...)
|
||||
if err != nil {
|
||||
r.log.Error().Stack().Err(err).Msgf("indexer.delete: error executing query: '%v'", query)
|
||||
return err
|
||||
return errors.Wrap(err, "error executing query")
|
||||
}
|
||||
|
||||
r.log.Debug().Msgf("indexer.delete: id %v", id)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue