fix(releases): update size after actions run (#1809)

This commit is contained in:
ze0s 2024-11-06 18:55:00 +01:00 committed by GitHub
parent f4c2aef38c
commit 59c5858bf0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 31 additions and 5 deletions

View file

@ -25,6 +25,7 @@ type Service interface {
GetIndexerOptions(ctx context.Context) ([]string, error)
Stats(ctx context.Context) (*domain.ReleaseStats, error)
Store(ctx context.Context, release *domain.Release) error
Update(ctx context.Context, release *domain.Release) error
StoreReleaseActionStatus(ctx context.Context, actionStatus *domain.ReleaseActionStatus) error
Delete(ctx context.Context, req *domain.DeleteReleaseRequest) error
Process(release *domain.Release)
@ -81,6 +82,10 @@ func (s *service) Store(ctx context.Context, release *domain.Release) error {
return s.repo.Store(ctx, release)
}
func (s *service) Update(ctx context.Context, release *domain.Release) error {
return s.repo.Update(ctx, release)
}
func (s *service) StoreReleaseActionStatus(ctx context.Context, status *domain.ReleaseActionStatus) error {
return s.repo.StoreReleaseActionStatus(ctx, status)
}
@ -189,8 +194,6 @@ func (s *service) processFilters(ctx context.Context, filters []*domain.Filter,
// loop over and check filters
for _, f := range filters {
f := f
l := s.log.With().Str("indexer", release.Indexer.Identifier).Str("filter", f.Name).Str("release", release.TorrentName).Logger()
// save filter on release
@ -248,9 +251,7 @@ func (s *service) processFilters(ctx context.Context, filters []*domain.Filter,
var rejections []string
// run actions (watchFolder, test, exec, qBittorrent, Deluge, arr etc.)
for _, a := range actions {
act := a
for _, act := range actions {
// only run enabled actions
if !act.Enabled {
l.Trace().Msgf("release.Process: indexer: %s, filter: %s release: %s action '%s' not enabled, skip", release.Indexer.Name, release.FilterName, release.TorrentName, act.Name)
@ -291,6 +292,10 @@ func (s *service) processFilters(ctx context.Context, filters []*domain.Filter,
continue
}
if err = s.Update(ctx, release); err != nil {
l.Error().Err(err).Msgf("release.Process: error updating release: %v", release.TorrentName)
}
// if we have rejections from arr, continue to next filter
if len(rejections) > 0 {
continue