diff --git a/adapters/repository/badger/page.go b/adapters/repository/badger/page.go index 807c877..f15dae7 100644 --- a/adapters/repository/badger/page.go +++ b/adapters/repository/badger/page.go @@ -169,8 +169,8 @@ func (p *Page) ListAll(ctx context.Context) ([]*entity.Page, error) { return pages, nil } -func (p *Page) ListUnprocessed(ctx context.Context) ([]*entity.Page, error) { - pages := make([]*entity.Page, 0, 100) +func (p *Page) ListUnprocessed(ctx context.Context) ([]entity.Page, error) { + pages := make([]entity.Page, 0, 100) err := p.db.View(func(txn *badger.Txn) error { iterator := txn.NewIterator(badger.DefaultIteratorOptions) @@ -200,16 +200,8 @@ func (p *Page) ListUnprocessed(ctx context.Context) ([]*entity.Page, error) { continue } - pages = append(pages, &entity.Page{ - ID: page.ID, - URL: page.URL, - Description: page.Description, - Created: page.Created, - Formats: page.Formats, - Version: page.Version, - Status: page.Status, - Meta: page.Meta, - }) + //goland:noinspection GoVetCopyLock + pages = append(pages, page) //nolint:govet // didn't touch the lock here } return nil diff --git a/entity/page.go b/entity/page.go index 3d5adf5..359868b 100644 --- a/entity/page.go +++ b/entity/page.go @@ -41,6 +41,7 @@ const ( type Meta struct { Title string Description string + Encoding string Error string } diff --git a/entity/worker.go b/entity/worker.go index 8822f90..bf8b333 100644 --- a/entity/worker.go +++ b/entity/worker.go @@ -9,7 +9,7 @@ import ( type Pages interface { Save(ctx context.Context, page *Page) error - ListUnprocessed(ctx context.Context) ([]*Page, error) + ListUnprocessed(ctx context.Context) ([]Page, error) } func NewWorker(ch chan *Page, pages Pages, processor Processor, log *zap.Logger) *Worker { @@ -37,7 +37,7 @@ func (w *Worker) Start(ctx context.Context, wg *sync.WaitGroup) { w.log.Error("failed to get unprocessed pages", zap.Error(err)) } else { for i := range unprocessed { - w.ch <- unprocessed[i] + w.ch <- &unprocessed[i] } } }()