Robert Dailey
71580acc40
refactor: Service cache test fixes & improved testability
2 years ago
Robert Dailey
63c3bff27a
feat!: Remove names support for custom formats
...
BREAKING CHANGE: The `names` property is no longer supported under
`custom_formats:`. This feature was previously deprecated.
2 years ago
Robert Dailey
bdaada1049
refactor: Remove unnecessary Reset and factory semantics from steps
2 years ago
Robert Dailey
87747680ba
refactor: Fix unit tests and change DI resolution a bit
...
The introduction of lifetime scopes inside of configuration processing
in the Command classes introduced issues with the way resolution
overrides happened especially with integration test fixtures.
2 years ago
Robert Dailey
735c8562fc
chore: Fix path to .editorconfig in Recyclarr.sln
2 years ago
Robert Dailey
a9e5875bc5
chore: Move .editorconfig up a level and make intent rules consistent
2 years ago
Robert Dailey
3a21465ff1
fix: Fix incorrect version enforcement for Sonarr
...
When using multiple instances of Sonarr at v4 and v3, it was possible to
get a VersionException due to stale information carrying over between
processing instances.
2 years ago
Robert Dailey
361078ef86
refactor: Use better error message for Sonarr v3/v4 enforcement
2 years ago
Robert Dailey
1619bd8817
fix: Show a warning for duplicate scores
2 years ago
Robert Dailey
a63d570ec5
refactor: Change Log property to field
2 years ago
Robert Dailey
5f418a9d90
refactor: Namespace inconsistency
2 years ago
Robert Dailey
2e189ff275
fix(sonarr): Run version enforcement always
...
Version enforcement was only running if the user specified release
profiles because that logic was unintentionally tightly coupled to them.
Now that logic runs regardless of whether the user is using RPs or CFs.
2 years ago
Robert Dailey
ba84b07713
fix: Use compact JSON in debug logs
...
When logging HTTP response/request bodies during communication with
Radarr, Sonarr, etc, use a compact form instead. The previous form had
newlines in it which ended up making the logs vertically very long and
hard to follow.
2 years ago
Robert Dailey
87843b4ee1
chore: Code cleanup
2 years ago
Robert Dailey
7a25f79fa8
feat: Custom format lists are now grouped by category
...
When using `--list-custom-formats` with either the `sonarr` or `radarr`
subcommand, custom formats will be grouped according to the respective
tables at the top of the "Collection of custom formats" page.
2 years ago
Robert Dailey
27b252f405
chore: Update DotSettings and editorconfig files
2 years ago
Robert Dailey
6ed7961c8c
build: Use Nuget central package management
...
Move all package versions from `Directory.Build.targets` to
`Directory.Packages.props` as shown here:
https://learn.microsoft.com/en-us/nuget/consume-packages/central-package-management#enabling-central-package-management
2 years ago
Robert Dailey
8acb3e17fc
refactor: Address several SonarCloud code smells
2 years ago
Robert Dailey
cafa181424
refactor: IGuideService abstracts where the CF data comes from
2 years ago
Robert Dailey
73fb40de04
refactor: Move CF config objects to ServiceConfiguration
2 years ago
Robert Dailey
77f15b7e79
refactor: Reorganize custom format code to support reuse with Sonarr
2 years ago
Robert Dailey
f6e6644af5
refactor: Throw error if using CFs in Sonarr v3
2 years ago
Robert Dailey
e686b300b1
refactor: Better name for service compat integration test
2 years ago
Robert Dailey
defb137a25
test: Make IntegrationFixture disposable
2 years ago
Robert Dailey
c5714f2bed
feat: Add setting to specify max log files to keep
...
A new `log_janitor` setting added to `settings.yml` to allow the user to
specify the maximum number of files to keep when doing log cleanup.
Additionally, the way startup tasks occur has been cleaned up /
refactored to make it easier to integration test.
2 years ago
Robert Dailey
af001250f1
test: Allow resolution of unregistered concrete types
2 years ago
Robert Dailey
f01edc5700
refactor: Change the design pattern for settings access
...
Simplify the factory pattern so that it creates settings more directly
instead of using a silly setter method.
Also implemented `IntegrationFixture` for easier integration testing.
2 years ago
Robert Dailey
1f70e7fb61
refactor: Use lifetime scope instead of single instance
...
This allows those types to be overridden in child lifetime scopes.
2 years ago
Robert Dailey
2db0faa00c
fix(sonarr): Error when using release profiles with Sonarr v4
...
Fixes #100
2 years ago
Robert Dailey
f87971fec1
refactor: Decouple release profiles from SonarrApi class
2 years ago
Robert Dailey
28aae58298
build: Upgrade FluentValidation to 11.2.1
2 years ago
snoopy82481
28983c74f9
fix: CVE vulerabilite mitigation ( #113 )
...
Fixes #112
2 years ago
Robert Dailey
98e6b4ce59
fix(radarr): Remove all trash properties from guide CFs
...
Any property starting with `trash_` is now removed from guide CFs.
Fixes #109 .
2 years ago
Robert Dailey
37ad6fed55
feat(sonarr): New --list-qualities argument
...
For listing quality definition types in the guide.
2 years ago
Robert Dailey
e802c48e70
refactor(sonarr): Rename lister class
...
The new name better reflects its actual responsibility, which is to do
more than just print info about release profiles.
2 years ago
Robert Dailey
227e4e82e5
feat(radarr): New --list-qualities argument
...
For listing quality definition types in the guide.
2 years ago
Robert Dailey
0c835d0807
chore: Add Rider run configurations
2 years ago
Robert Dailey
fef596d5d4
refactor: Consolidate quality parser into guide service
2 years ago
Robert Dailey
07c4b48578
feat: Quality definition logic uses new JSON files
2 years ago
Robert Dailey
635e93b2db
refactor: Remove unused _fs fields
2 years ago
Robert Dailey
6400716150
refactor: Move Radarr & Sonarr code to Services directory
...
And update namespaces
2 years ago
Robert Dailey
1b9c407d97
build: Upgrade NSubstitute to v4.4.0
...
Fixes these issues that were introduced after v4.2.2:
- https://github.com/nsubstitute/NSubstitute/pull/683
- https://github.com/nsubstitute/NSubstitute/issues/685
- https://github.com/MRCollective/AutofacContrib.NSubstitute/issues/65
2 years ago
Robert Dailey
12915264dd
build: Stop using wildcard versions for nuget packages
...
In order to improve the stability and predictability of releases, I'm
favoring fixed version numbers over wildcards. This means upgrades will
be more tedious, but at least it will be easier to audit when things
break due to third party libraries.
2 years ago
Robert Dailey
1b6d42f719
refactor: Use metadata.json to find paths to CFs and RPs
2 years ago
Robert Dailey
9e3aab6e96
refactor(gui): Fix namespace for ReleaseProfileDataFilterTest
2 years ago
Robert Dailey
3b59c05d3e
build(gui): Upgrade Serilog.AspNetCore to v6.*
2 years ago
Robert Dailey
f7566030d9
build: Upgrade YamlDotNet to v12.*
2 years ago
Robert Dailey
8266410092
feat: New branch and sha1 repository settings
...
- `repository`: Branch name in the local clone to check out
- `sha1`: An explicit revision to reset to.
Fixes #27
2 years ago
Robert Dailey
1129f178a8
fix(sonarr): Validate and filter RPs after they're loaded
...
If there is invalid / empty data in the Trash Guide JSON data, filter
those out after they are loaded.
2 years ago
Robert Dailey
3a5e1f0c5e
refactor: Use IConsole instead of Console
3 years ago