From 982eddc2691f27435e760dbbe1a3c164289dba0f Mon Sep 17 00:00:00 2001 From: Ludvig Lundgren Date: Sun, 10 Apr 2022 17:09:05 +0200 Subject: [PATCH] fix(filter): save only matched releases (#227) --- internal/announce/service.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/internal/announce/service.go b/internal/announce/service.go index da18c81..c22cecf 100644 --- a/internal/announce/service.go +++ b/internal/announce/service.go @@ -51,14 +51,6 @@ func (s *service) Process(release *domain.Release) { // save both client type and client id to potentially try another client of same type triedActionClients := map[actionClientTypeKey]struct{}{} - // save release - //release.FilterStatus = domain.ReleaseStatusFilterApproved - err = s.releaseSvc.Store(context.Background(), release) - if err != nil { - log.Error().Err(err).Msgf("announce.Service.Process: error writing release to database: %+v", release) - return - } - // loop over and check filters for _, f := range filters { // save filter on release @@ -82,6 +74,16 @@ func (s *service) Process(release *domain.Release) { log.Info().Msgf("Matched '%v' (%v) for %v", release.TorrentName, release.Filter.Name, release.Indexer) + // save release here to only save those with rejections from actions instead of all releases + if release.ID == 0 { + release.FilterStatus = domain.ReleaseStatusFilterApproved + err = s.releaseSvc.Store(context.Background(), release) + if err != nil { + log.Error().Err(err).Msgf("announce.Service.Process: error writing release to database: %+v", release) + return + } + } + var rejections []string // run actions (watchFolder, test, exec, qBittorrent, Deluge, arr etc.)