package db import ( "context" "database/sql" "errors" "log/slog" "spend-sparrow/internal/core" ) func TransformAndLogDbError(ctx context.Context, module string, r sql.Result, err error) error { if err != nil { if errors.Is(err, sql.ErrNoRows) { return core.ErrNotFound } slog.ErrorContext(ctx, "database sql", "module", module, "err", err) return core.ErrInternal } if r != nil { rows, err := r.RowsAffected() if err != nil { slog.ErrorContext(ctx, "database rows affected", "module", module, "err", err) return core.ErrInternal } if rows == 0 { slog.InfoContext(ctx, "row not found", "module", module) return core.ErrNotFound } } return nil }