diff --git a/KenticoInspector.Core.Tests/editorconfig.txt b/.editorconfig
similarity index 99%
rename from KenticoInspector.Core.Tests/editorconfig.txt
rename to .editorconfig
index 09c62a85..89ac2f52 100644
--- a/KenticoInspector.Core.Tests/editorconfig.txt
+++ b/.editorconfig
@@ -1,4 +1,4 @@
-root = true
+root = true
[*.cs]
diff --git a/.gitattributes b/.gitattributes
deleted file mode 100644
index 1ff0c423..00000000
--- a/.gitattributes
+++ /dev/null
@@ -1,63 +0,0 @@
-###############################################################################
-# Set default behavior to automatically normalize line endings.
-###############################################################################
-* text=auto
-
-###############################################################################
-# Set default behavior for command prompt diff.
-#
-# This is need for earlier builds of msysgit that does not have it on by
-# default for csharp files.
-# Note: This is only used by command line
-###############################################################################
-#*.cs diff=csharp
-
-###############################################################################
-# Set the merge driver for project and solution files
-#
-# Merging from the command prompt will add diff markers to the files if there
-# are conflicts (Merging from VS is not affected by the settings below, in VS
-# the diff markers are never inserted). Diff markers may cause the following
-# file extensions to fail to load in VS. An alternative would be to treat
-# these files as binary and thus will always conflict and require user
-# intervention with every merge. To do so, just uncomment the entries below
-###############################################################################
-#*.sln merge=binary
-#*.csproj merge=binary
-#*.vbproj merge=binary
-#*.vcxproj merge=binary
-#*.vcproj merge=binary
-#*.dbproj merge=binary
-#*.fsproj merge=binary
-#*.lsproj merge=binary
-#*.wixproj merge=binary
-#*.modelproj merge=binary
-#*.sqlproj merge=binary
-#*.wwaproj merge=binary
-
-###############################################################################
-# behavior for image files
-#
-# image files are treated as binary by default.
-###############################################################################
-#*.jpg binary
-#*.png binary
-#*.gif binary
-
-###############################################################################
-# diff behavior for common document formats
-#
-# Convert binary document formats to text before diffing them. This feature
-# is only available from the command line. Turn it on by uncommenting the
-# entries below.
-###############################################################################
-#*.doc diff=astextplain
-#*.DOC diff=astextplain
-#*.docx diff=astextplain
-#*.DOCX diff=astextplain
-#*.dot diff=astextplain
-#*.DOT diff=astextplain
-#*.pdf diff=astextplain
-#*.PDF diff=astextplain
-#*.rtf diff=astextplain
-#*.RTF diff=astextplain
diff --git a/.github/workflows/dotnet.yaml b/.github/workflows/dotnet.yaml
new file mode 100644
index 00000000..70201193
--- /dev/null
+++ b/.github/workflows/dotnet.yaml
@@ -0,0 +1,42 @@
+# This workflow will build a .NET project
+# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
+
+name: .NET
+
+on:
+ push:
+ branches: [ "master" ]
+ pull_request:
+ branches: [ "master" ]
+ workflow_dispatch:
+
+jobs:
+ build:
+
+ runs-on: windows-latest
+
+ steps:
+ - uses: actions/checkout@v3
+ - name: Setup .NET
+ uses: actions/setup-dotnet@v3
+ with:
+ dotnet-version: 8.0.x
+ - name: Build Blazor app
+ run: |
+ cd ./src/KInspector.Blazor
+ npm i
+ npm run css
+ dotnet build
+ - name: Test
+ run: |
+ cd ./test
+ dotnet test --verbosity normal
+ - name: Publish Blazor app
+ run: |
+ cd ./src/KInspector.Blazor
+ dotnet publish KInspector.Blazor.csproj /p:PublishDir=..\..\publish -c Release -r win-x64 --self-contained true
+ - name: Upload build artifact
+ uses: actions/upload-artifact@v4
+ with:
+ name: KInspector
+ path: .\publish
\ No newline at end of file
diff --git a/.github/workflows/dotnet.yml b/.github/workflows/dotnet.yml
deleted file mode 100644
index 6edcabb1..00000000
--- a/.github/workflows/dotnet.yml
+++ /dev/null
@@ -1,50 +0,0 @@
-# This workflow will build a .NET project
-# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net
-
-name: .NET
-
-on:
- push:
- branches: [ "master" ]
- pull_request:
- branches: [ "master" ]
- workflow_dispatch:
-
-
-jobs:
- build:
-
- runs-on: windows-latest
-
- steps:
- - name: Setup MSBuild.exe
- uses: microsoft/setup-msbuild@v1.0.2
- - uses: actions/checkout@v3
- - name: Setup .NET
- uses: actions/setup-dotnet@v3
- with:
- dotnet-version: 8.0.x
- node-version: 20.7.x
- - name: Restore dependencies
- run: dotnet restore
- - name: Build front-end app
- run: |
- cd ./KenticoInspector.WebApplication/ClientApp
- npm i
- npm run build
- - name: Build dotnet app
- run: dotnet build --no-restore
- - name: Test
- run: dotnet test --no-build --verbosity normal
- - name: Publish client application
- run: |
- cd .\KenticoInspector.WebApplication
- dotnet publish KenticoInspector.WebApplication.csproj /p:PublishDir=..\publish -c Release -r win-x64 --self-contained true
- mkdir "..\publish\ClientApp\dist"
- cd .\ClientApp
- Copy-Item ".\dist\*" -Recurse -Destination "..\..\publish\ClientApp\dist\"
- - name: Upload build artifact
- uses: actions/upload-artifact@v3
- with:
- name: KInspector
- path: .\publish
diff --git a/.gitignore b/.gitignore
index 83b3c151..7cae0abb 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,50 +1,42 @@
+**/KInspector.config
+
+### XbK additions
+
+**/wwwroot/cache.json
+
+### Xbk additions end
+
## Ignore Visual Studio temporary files, build results, and
## files generated by popular Visual Studio add-ons.
+##
+## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
# User-specific files
*.suo
-*.user
-*.userosscache
+*.csproj.user
+*.ReSharper.user
+*.DotSettings.user
*.sln.docstates
-
-# User-specific files (MonoDevelop/Xamarin Studio)
-*.userprefs
+.vs
# Build results
+
[Dd]ebug/
-[Dd]ebugPublic/
[Rr]elease/
-[Rr]eleases/
-x64/
-x86/
-build/
-bld/
+# x64/
[Bb]in/
[Oo]bj/
-
-# Visual Studo 2015 cache/options directory
-.vs/
+[Oo]utput/
# MSTest test Results
[Tt]est[Rr]esult*/
[Bb]uild[Ll]og.*
-# NUNIT
-*.VisualState.xml
-TestResult.xml
-
-# Build Results of an ATL Project
-[Dd]ebugPS/
-[Rr]eleasePS/
-dlldata.c
-
*_i.c
*_p.c
-*_i.h
*.ilk
*.meta
*.obj
-*.pch
*.pdb
*.pgc
*.pgd
@@ -56,144 +48,97 @@ dlldata.c
*.tmp
*.tmp_proj
*.log
+*.svclog
*.vspscc
*.vssscc
.builds
*.pidb
-*.svclog
+*.log
*.scc
-
-# Chutzpah Test files
-_Chutzpah*
-
-# Visual C++ cache files
-ipch/
-*.aps
-*.ncb
-*.opensdf
-*.sdf
-*.cachefile
+*.jfm
# Visual Studio profiler
*.psess
*.vsp
*.vspx
-# TFS 2012 Local Workspace
-$tf/
-
-# Guidance Automation Toolkit
-*.gpState
-
# ReSharper is a .NET coding add-in
_ReSharper*/
*.[Rr]e[Ss]harper
-*.DotSettings.user
-
-# JustCode is a .NET coding addin-in
-.JustCode
-
-# TeamCity is a build add-in
-_TeamCity*
# DotCover is a Code Coverage Tool
*.dotCover
-# NCrunch
-_NCrunch_*
-.*crunch*.local.xml
-
-# MightyMoose
-*.mm.*
-AutoTest.Net/
-
-# Web workbench (sass)
-.sass-cache/
-
-# Installshield output folder
-[Ee]xpress/
-
-# DocProject is a documentation generator add-in
-DocProject/buildhelp/
-DocProject/Help/*.HxT
-DocProject/Help/*.HxC
-DocProject/Help/*.hhc
-DocProject/Help/*.hhk
-DocProject/Help/*.hhp
-DocProject/Help/Html2
-DocProject/Help/html
-
-# Click-Once directory
-publish/
-
# Publish Web Output
-*.[Pp]ublish.xml
-*.azurePubxml
-# TODO: Comment the next line if you want to checkin your web deploy settings
-# but database connection strings (with potential passwords) will be unencrypted
-# *.pubxml
-*.publishproj
-
-# NuGet Packages
-*.nupkg
-# The packages folder can be ignored because of Package Restore
-**/packages/*
-# except build/, which is used as an MSBuild target.
-!**/packages/build/
-# Uncomment if necessary however generally it will be regenerated when needed
-#!**/packages/repositories.config
-
-# Windows Azure Build Output
-csx/
-*.build.csdef
-
-# Windows Store app package directory
-AppPackages/
+*.Publish.xml
# Others
-*.[Cc]ache
+sql/
+*.Cache
ClientBin/
[Ss]tyle[Cc]op.*
~$*
*~
*.dbmdl
-*.dbproj.schemaview
-*.pfx
+*.[Pp]ublish.xml
+# *.pfx
*.publishsettings
-node_modules/
-bower_components/
-# RIA/Silverlight projects
-Generated_Code/
+# SQL Server files
+App_Data/*.mdf
+App_Data/*.ldf
-# Backup & report files from converting an old project file
-# to a newer Visual Studio version. Backup files are not needed,
-# because we have git ;-)
-_UpgradeReport_Files/
-Backup*/
-UpgradeLog*.XML
-UpgradeLog*.htm
+# =========================
+# Windows detritus
+# =========================
-# SQL Server files
-*.mdf
-*.ldf
+# Windows image file caches
+Thumbs.db
+ehthumbs.db
+
+# Folder config file
+Desktop.ini
+
+# Recycle Bin used on file shares
+$RECYCLE.BIN/
+
+# Mac desktop service store files
+.DS_Store
+
+# Web.Common junction
+*/Web.*/Common/
+
+*.jfm
+*.svclog
+*.nupkg
+
+# nodejs
+node_modules
-# Business Intelligence projects
-*.rdl.data
-*.bim.layout
-*.bim_*.settings
+# JetBrains Rider
+.idea/
+*.sln.iml
-# Microsoft Fakes
-FakesAssemblies/
+# CodeRush personal settings
+.cr/personal
-# Node.js Tools for Visual Studio
-.ntvs_analysis.dat
+#Exclude SmartSearch files
+*.fdt
+*.fdx
+*.fnm
+*.nrm
+*.prx
+*.frq
+*.tii
+*.tis
+*.del
+*.cfs
+segments_2i
-# Visual Studio 6 build log
-*.plg
+# Generated files
+**/Client/dist/*
-# Visual Studio 6 workspace options file
-*.opt
+**/CMSModules/WebFarm/*
-# Kentico Inspector Specifics
-KenticoInspector.WebApplication/SavedInstances.json
+# Files Generated by this integration
+**/App_Data/RepoTemplate/*
\ No newline at end of file
diff --git a/.markdownlint.json b/.markdownlint.json
new file mode 100644
index 00000000..a74ba241
--- /dev/null
+++ b/.markdownlint.json
@@ -0,0 +1,5 @@
+{
+ "MD013": false,
+ "MD024": false,
+ "no-inline-html": false
+}
\ No newline at end of file
diff --git a/.nuget/NuGet.exe b/.nuget/NuGet.exe
deleted file mode 100644
index c41a0d0d..00000000
Binary files a/.nuget/NuGet.exe and /dev/null differ
diff --git a/.nuget/NuGet.targets b/.nuget/NuGet.targets
deleted file mode 100644
index 3f8c37b2..00000000
--- a/.nuget/NuGet.targets
+++ /dev/null
@@ -1,144 +0,0 @@
-
-
-
- $(MSBuildProjectDirectory)\..\
-
-
- false
-
-
- false
-
-
- true
-
-
- false
-
-
-
-
-
-
-
-
-
-
- $([System.IO.Path]::Combine($(SolutionDir), ".nuget"))
-
-
-
-
- $(SolutionDir).nuget
-
-
-
- $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName.Replace(' ', '_')).config
- $(MSBuildProjectDirectory)\packages.$(MSBuildProjectName).config
-
-
-
- $(MSBuildProjectDirectory)\packages.config
- $(PackagesProjectConfig)
-
-
-
-
- $(NuGetToolsPath)\NuGet.exe
- @(PackageSource)
-
- "$(NuGetExePath)"
- mono --runtime=v4.0.30319 "$(NuGetExePath)"
-
- $(TargetDir.Trim('\\'))
-
- -RequireConsent
- -NonInteractive
-
- "$(SolutionDir) "
- "$(SolutionDir)"
-
-
- $(NuGetCommand) install "$(PackagesConfig)" -source "$(PackageSources)" $(NonInteractiveSwitch) $(RequireConsentSwitch) -solutionDir $(PaddedSolutionDir)
- $(NuGetCommand) pack "$(ProjectPath)" -Properties "Configuration=$(Configuration);Platform=$(Platform)" $(NonInteractiveSwitch) -OutputDirectory "$(PackageOutputDir)" -symbols
-
-
-
- RestorePackages;
- $(BuildDependsOn);
-
-
-
-
- $(BuildDependsOn);
- BuildPackage;
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Directory.build.props b/Directory.build.props
new file mode 100644
index 00000000..69a483bb
--- /dev/null
+++ b/Directory.build.props
@@ -0,0 +1,21 @@
+
+
+ Kentico Software
+ $(Company)
+ Copyright © $(Company) $([System.DateTime]::Now.Year)
+ $(Company)™
+ MIT
+ 5.0.0
+ 10.0
+ enable
+ enable
+ $(NoWarn);1591
+
+
+
+
+ all
+ runtime; build; native; contentfiles; analyzers; buildtransitive
+
+
+
\ No newline at end of file
diff --git a/KInspector.sln b/KInspector.sln
index 62533cf5..1f69faf2 100644
--- a/KInspector.sln
+++ b/KInspector.sln
@@ -1,36 +1,17 @@
+
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
-VisualStudioVersion = 17.0.32014.148
+VisualStudioVersion = 17.9.34728.123
MinimumVisualStudioVersion = 10.0.40219.1
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".nuget", ".nuget", "{F3EF3619-F312-4B17-B5BE-5764A8010D38}"
- ProjectSection(SolutionItems) = preProject
- .nuget\NuGet.Config = .nuget\NuGet.Config
- .nuget\NuGet.exe = .nuget\NuGet.exe
- .nuget\NuGet.targets = .nuget\NuGet.targets
- EndProjectSection
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KInspector.Blazor", "src\KInspector.Blazor\KInspector.Blazor.csproj", "{CB4EB16C-D1EB-4CF7-BBBF-80CD7EFB71D6}"
EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5977CB97-CB8F-4C77-836E-EAC1CCD3DEED}"
- ProjectSection(SolutionItems) = preProject
- CONTRIBUTING.md = CONTRIBUTING.md
- LICENSE.txt = LICENSE.txt
- README.md = README.md
- EndProjectSection
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KInspector.Core", "src\KInspector.Core\KInspector.Core.csproj", "{E4687562-9C81-499D-B413-C2212500A8F0}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KenticoInspector.WebApplication", "KenticoInspector.WebApplication\KenticoInspector.WebApplication.csproj", "{0C9FB1D4-87F2-48A0-81CD-45D5D2EF6C05}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KInspector.Infrastructure", "src\KInspector.Infrastructure\KInspector.Infrastructure.csproj", "{7D2BC8C1-D4E1-4FB2-B74D-E31D0B6854D2}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KenticoInspector.Core", "KenticoInspector.Core\KenticoInspector.Core.csproj", "{0F0CD079-3395-4241-8C13-1CE284C4FDE1}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KInspector.Reports", "src\KInspector.Reports\KInspector.Reports.csproj", "{87834840-0776-4C9D-BB29-4FA93E00E1C3}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KenticoInspector.Infrastructure", "KenticoInspector.Infrastructure\KenticoInspector.Infrastructure.csproj", "{E73A8C85-381C-4707-927D-D0D311A0B9A6}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KenticoInspector.Reports", "KenticoInspector.Reports\KenticoInspector.Reports.csproj", "{4790028D-24BB-4BFC-98BA-C25AB5F682C5}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KenticoInspector.Reports.Tests", "KenticoInspector.Reports.Tests\KenticoInspector.Reports.Tests.csproj", "{3F359210-5970-4CAA-B442-338F2EC51729}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KenticoInspector.Infrastructure.Tests", "KenticoInspector.Infrastructure.Tests\KenticoInspector.Infrastructure.Tests.csproj", "{7C8E2AC5-5ED5-45D7-8EB4-39F3BEECCFDA}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KenticoInspector.Core.Tests", "KenticoInspector.Core.Tests\KenticoInspector.Core.Tests.csproj", "{46F38A42-61A3-4FA9-9FB0-32B343CFA6A2}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KenticoInspector.Actions", "KenticoInspector.Actions\KenticoInspector.Actions.csproj", "{29948680-57BC-487A-A8E5-F68674CEB694}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "KInspector.Actions", "src\KInspector.Actions\KInspector.Actions.csproj", "{CFBDF275-BB6A-4285-BC63-56274A3C4411}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
@@ -38,43 +19,31 @@ Global
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {0C9FB1D4-87F2-48A0-81CD-45D5D2EF6C05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0C9FB1D4-87F2-48A0-81CD-45D5D2EF6C05}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0C9FB1D4-87F2-48A0-81CD-45D5D2EF6C05}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0C9FB1D4-87F2-48A0-81CD-45D5D2EF6C05}.Release|Any CPU.Build.0 = Release|Any CPU
- {0F0CD079-3395-4241-8C13-1CE284C4FDE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {0F0CD079-3395-4241-8C13-1CE284C4FDE1}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {0F0CD079-3395-4241-8C13-1CE284C4FDE1}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {0F0CD079-3395-4241-8C13-1CE284C4FDE1}.Release|Any CPU.Build.0 = Release|Any CPU
- {E73A8C85-381C-4707-927D-D0D311A0B9A6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {E73A8C85-381C-4707-927D-D0D311A0B9A6}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {E73A8C85-381C-4707-927D-D0D311A0B9A6}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {E73A8C85-381C-4707-927D-D0D311A0B9A6}.Release|Any CPU.Build.0 = Release|Any CPU
- {4790028D-24BB-4BFC-98BA-C25AB5F682C5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {4790028D-24BB-4BFC-98BA-C25AB5F682C5}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {4790028D-24BB-4BFC-98BA-C25AB5F682C5}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {4790028D-24BB-4BFC-98BA-C25AB5F682C5}.Release|Any CPU.Build.0 = Release|Any CPU
- {3F359210-5970-4CAA-B442-338F2EC51729}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {3F359210-5970-4CAA-B442-338F2EC51729}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {3F359210-5970-4CAA-B442-338F2EC51729}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {3F359210-5970-4CAA-B442-338F2EC51729}.Release|Any CPU.Build.0 = Release|Any CPU
- {7C8E2AC5-5ED5-45D7-8EB4-39F3BEECCFDA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {7C8E2AC5-5ED5-45D7-8EB4-39F3BEECCFDA}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {7C8E2AC5-5ED5-45D7-8EB4-39F3BEECCFDA}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {7C8E2AC5-5ED5-45D7-8EB4-39F3BEECCFDA}.Release|Any CPU.Build.0 = Release|Any CPU
- {46F38A42-61A3-4FA9-9FB0-32B343CFA6A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {46F38A42-61A3-4FA9-9FB0-32B343CFA6A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {46F38A42-61A3-4FA9-9FB0-32B343CFA6A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {46F38A42-61A3-4FA9-9FB0-32B343CFA6A2}.Release|Any CPU.Build.0 = Release|Any CPU
- {29948680-57BC-487A-A8E5-F68674CEB694}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {29948680-57BC-487A-A8E5-F68674CEB694}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {29948680-57BC-487A-A8E5-F68674CEB694}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {29948680-57BC-487A-A8E5-F68674CEB694}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CB4EB16C-D1EB-4CF7-BBBF-80CD7EFB71D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CB4EB16C-D1EB-4CF7-BBBF-80CD7EFB71D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CB4EB16C-D1EB-4CF7-BBBF-80CD7EFB71D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CB4EB16C-D1EB-4CF7-BBBF-80CD7EFB71D6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E4687562-9C81-499D-B413-C2212500A8F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E4687562-9C81-499D-B413-C2212500A8F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E4687562-9C81-499D-B413-C2212500A8F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E4687562-9C81-499D-B413-C2212500A8F0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {7D2BC8C1-D4E1-4FB2-B74D-E31D0B6854D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {7D2BC8C1-D4E1-4FB2-B74D-E31D0B6854D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {7D2BC8C1-D4E1-4FB2-B74D-E31D0B6854D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {7D2BC8C1-D4E1-4FB2-B74D-E31D0B6854D2}.Release|Any CPU.Build.0 = Release|Any CPU
+ {87834840-0776-4C9D-BB29-4FA93E00E1C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {87834840-0776-4C9D-BB29-4FA93E00E1C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {87834840-0776-4C9D-BB29-4FA93E00E1C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {87834840-0776-4C9D-BB29-4FA93E00E1C3}.Release|Any CPU.Build.0 = Release|Any CPU
+ {CFBDF275-BB6A-4285-BC63-56274A3C4411}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {CFBDF275-BB6A-4285-BC63-56274A3C4411}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {CFBDF275-BB6A-4285-BC63-56274A3C4411}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {CFBDF275-BB6A-4285-BC63-56274A3C4411}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
- SolutionGuid = {7F97074A-AB88-4F8F-AC4A-32A6C4CED4C1}
+ SolutionGuid = {D6438B52-220A-4264-9EFE-ADDACDEA3ED5}
EndGlobalSection
EndGlobal
diff --git a/KenticoInspector.Actions/KenticoInspector.Actions.csproj b/KenticoInspector.Actions/KenticoInspector.Actions.csproj
deleted file mode 100644
index aea96db5..00000000
--- a/KenticoInspector.Actions/KenticoInspector.Actions.csproj
+++ /dev/null
@@ -1,28 +0,0 @@
-
-
-
- net8.0
- 9.0
-
-
-
-
-
-
-
-
-
-
-
-
- Always
-
-
- Always
-
-
- Always
-
-
-
-
diff --git a/KenticoInspector.Actions/ResetCmsUserLogin/Action.cs b/KenticoInspector.Actions/ResetCmsUserLogin/Action.cs
deleted file mode 100644
index 93fb8ac3..00000000
--- a/KenticoInspector.Actions/ResetCmsUserLogin/Action.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-using KenticoInspector.Actions.ResetCmsUserLogin.Models;
-using KenticoInspector.Core;
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-
-using System;
-using System.Collections.Generic;
-
-namespace KenticoInspector.Actions.ResetCmsUserLogin
-{
- public class Action : AbstractAction
- {
- private IDatabaseService databaseService;
-
- public override IList CompatibleVersions => VersionHelper.GetVersionList("10", "11", "12", "13");
-
- public override IList Tags => new List {
- ActionTags.Reset,
- ActionTags.User
- };
-
- public Action(IDatabaseService databaseService, IModuleMetadataService moduleMetadataService) : base(moduleMetadataService)
- {
- this.databaseService = databaseService;
- }
-
- public override ActionResults Execute(Options options)
- {
- if (options.UserId < 0)
- {
- return GetInvalidOptionsResult();
- }
-
- // No user provided, list users
- if (options.UserId == 0)
- {
- return GetListingResult();
- }
-
- // Reset provided user
- databaseService.ExecuteSqlFromFileGeneric(Scripts.ResetAndEnableUser, new { UserID = options.UserId });
- var result = GetListingResult();
- result.Summary = Metadata.Terms.UserReset.With(new {
- userId = options.UserId
- });
-
- return result;
- }
-
- public override ActionResults GetInvalidOptionsResult()
- {
- return new ActionResults {
- Status = ResultsStatus.Error,
- Summary = Metadata.Terms.InvalidOptions
- };
- }
-
- private ActionResults GetListingResult()
- {
- var administratorUsers = databaseService.ExecuteSqlFromFile(Scripts.GetAdministrators);
- var data = new TableResult()
- {
- Name = Metadata.Terms.TableTitle,
- Rows = administratorUsers
- };
-
- return new ActionResults
- {
- Type = ResultsType.Table,
- Status = ResultsStatus.Information,
- Summary = Metadata.Terms.ListSummary,
- Data = data
- };
- }
- }
-}
diff --git a/KenticoInspector.Actions/ResetCmsUserLogin/Models/Options.cs b/KenticoInspector.Actions/ResetCmsUserLogin/Models/Options.cs
deleted file mode 100644
index 1613600f..00000000
--- a/KenticoInspector.Actions/ResetCmsUserLogin/Models/Options.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace KenticoInspector.Actions.ResetCmsUserLogin.Models
-{
- public class Options
- {
- public int UserId { get; set; }
- }
-}
diff --git a/KenticoInspector.Actions/ResetCmsUserLogin/Models/Results/CmsUser.cs b/KenticoInspector.Actions/ResetCmsUserLogin/Models/Results/CmsUser.cs
deleted file mode 100644
index 3aa08e1e..00000000
--- a/KenticoInspector.Actions/ResetCmsUserLogin/Models/Results/CmsUser.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace KenticoInspector.Actions.ResetCmsUserLogin.Models
-{
- public class CmsUser
- {
- public int UserID { get; set; }
-
- public string UserName { get; set; }
-
- public string Password { get; set; }
-
- public bool Enabled { get; set; }
- }
-}
diff --git a/KenticoInspector.Core.Tests/Directory.Build.props b/KenticoInspector.Core.Tests/Directory.Build.props
deleted file mode 100644
index c4e59780..00000000
--- a/KenticoInspector.Core.Tests/Directory.Build.props
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
\ No newline at end of file
diff --git a/KenticoInspector.Core.Tests/KenticoInspector.Core.Tests.csproj b/KenticoInspector.Core.Tests/KenticoInspector.Core.Tests.csproj
deleted file mode 100644
index a79cc967..00000000
--- a/KenticoInspector.Core.Tests/KenticoInspector.Core.Tests.csproj
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
- net8.0
- false
- 9.0
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/KenticoInspector.Core/AbstractAction.cs b/KenticoInspector.Core/AbstractAction.cs
deleted file mode 100644
index b720ed49..00000000
--- a/KenticoInspector.Core/AbstractAction.cs
+++ /dev/null
@@ -1,35 +0,0 @@
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Modules;
-using KenticoInspector.Core.Services.Interfaces;
-
-using Newtonsoft.Json;
-
-namespace KenticoInspector.Core
-{
- public abstract class AbstractAction
- : AbstractModule, IAction
- where TTerms : new()
- where TOptions: new()
- {
- public TOptions Options => new TOptions();
-
- protected AbstractAction(IModuleMetadataService moduleMetadataService)
- : base(moduleMetadataService) { }
-
- public ActionResults Execute(string OptionsJson) {
- try
- {
- var options = JsonConvert.DeserializeObject(OptionsJson);
- return Execute(options);
- }
- catch
- {
- return GetInvalidOptionsResult();
- }
- }
-
- public abstract ActionResults Execute(TOptions Options);
-
- public abstract ActionResults GetInvalidOptionsResult();
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Constants/ActionTags.cs b/KenticoInspector.Core/Constants/ActionTags.cs
deleted file mode 100644
index c6c7f17d..00000000
--- a/KenticoInspector.Core/Constants/ActionTags.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace KenticoInspector.Core.Constants
-{
- public class ActionTags
- {
- public const string Reset = "Reset";
- public const string User = "User";
-
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Converters/VersionListConverter.cs b/KenticoInspector.Core/Converters/VersionListConverter.cs
deleted file mode 100644
index 2982cc5f..00000000
--- a/KenticoInspector.Core/Converters/VersionListConverter.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using Newtonsoft.Json;
-using System.Collections.Generic;
-using System;
-
-namespace KenticoInspector.Core.Converters
-{
- public class VersionListConverter : JsonConverter
- {
- public override bool CanConvert(Type objectType)
- {
- return (objectType == typeof(List));
- }
-
- public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
- {
- serializer.Converters.Add(new VersionObjectConverter());
-
- serializer.Serialize(writer, value);
- }
-
- public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
- {
- serializer.Converters.Add(new VersionObjectConverter());
-
- return serializer.Deserialize(reader, typeof(Version));
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Converters/VersionObjectConverter.cs b/KenticoInspector.Core/Converters/VersionObjectConverter.cs
deleted file mode 100644
index 0cad0a83..00000000
--- a/KenticoInspector.Core/Converters/VersionObjectConverter.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using Newtonsoft.Json.Linq;
-using Newtonsoft.Json;
-using System;
-
-namespace KenticoInspector.Core.Converters
-{
- public class VersionObjectConverter : JsonConverter
- {
- public override void WriteJson(JsonWriter writer, Version value, JsonSerializer serializer)
- {
- JObject jsonVersion = new JObject
- {
- { "major", value.Major },
- { "minor", value.Minor },
- { "build", value.Build },
- };
- jsonVersion.WriteTo(writer);
- }
-
- public override Version ReadJson(JsonReader reader, Type objectType, Version existingValue, bool hasExistingValue, JsonSerializer serializer)
- {
- JObject jsonVersion = JObject.Load(reader);
- return new Version((int)jsonVersion["major"], (int)jsonVersion["minor"], (int)jsonVersion["build"]);
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Directory.Build.props b/KenticoInspector.Core/Directory.Build.props
deleted file mode 100644
index c4e59780..00000000
--- a/KenticoInspector.Core/Directory.Build.props
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
\ No newline at end of file
diff --git a/KenticoInspector.Core/Helpers/DatabaseHelper.cs b/KenticoInspector.Core/Helpers/DatabaseHelper.cs
deleted file mode 100644
index 536b7c1f..00000000
--- a/KenticoInspector.Core/Helpers/DatabaseHelper.cs
+++ /dev/null
@@ -1,42 +0,0 @@
-using System.Data;
-using System.Data.SqlClient;
-
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Core.Helpers
-{
- public static class DatabaseHelper
- {
- public static IDbConnection GetSqlConnection(DatabaseSettings databaseSettings)
- {
- var connectionString = GetConnectionString(databaseSettings);
-
- return GetSqlConnection(connectionString);
- }
-
- public static IDbConnection GetSqlConnection(string connectionString)
- {
- return new SqlConnection(connectionString);
- }
-
- private static string GetConnectionString(DatabaseSettings databaseSettings)
- {
- SqlConnectionStringBuilder sb = new SqlConnectionStringBuilder();
-
- if (databaseSettings.IntegratedSecurity)
- {
- sb.IntegratedSecurity = true;
- }
- else
- {
- sb.UserID = databaseSettings.User;
- sb.Password = databaseSettings.Password;
- }
-
- sb["Server"] = databaseSettings.Server;
- sb["Database"] = databaseSettings.Database;
-
- return sb.ConnectionString;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Models/ActionResults.cs b/KenticoInspector.Core/Models/ActionResults.cs
deleted file mode 100644
index 8db84885..00000000
--- a/KenticoInspector.Core/Models/ActionResults.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using Newtonsoft.Json;
-using Newtonsoft.Json.Converters;
-
-using KenticoInspector.Core.Constants;
-
-using System.Dynamic;
-
-namespace KenticoInspector.Core.Models
-{
- public class ActionResults
- {
- [JsonConverter(typeof(StringEnumConverter))]
- public ResultsStatus Status { get; set; }
-
- public string Summary { get; set; }
-
- [JsonConverter(typeof(StringEnumConverter))]
- public ResultsType Type { get; set; }
-
- public dynamic Data { get; set; }
-
- public ActionResults()
- {
- Data = new ExpandoObject();
- }
- }
-}
diff --git a/KenticoInspector.Core/Models/DatabaseSettings.cs b/KenticoInspector.Core/Models/DatabaseSettings.cs
deleted file mode 100644
index 1549f202..00000000
--- a/KenticoInspector.Core/Models/DatabaseSettings.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-namespace KenticoInspector.Core.Models
-{
- public class DatabaseSettings
- {
- public string Database { get; set; }
-
- public bool IntegratedSecurity { get; set; }
-
- public string Password { get; set; }
-
- public string Server { get; set; }
-
- public string User { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Models/Instance.cs b/KenticoInspector.Core/Models/Instance.cs
deleted file mode 100644
index 1d8e58f1..00000000
--- a/KenticoInspector.Core/Models/Instance.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-
-namespace KenticoInspector.Core.Models
-{
- public class Instance
- {
- public DatabaseSettings DatabaseSettings { get; set; }
-
- public Guid Guid { get; set; }
-
- public string Name { get; set; }
-
- public string AdminPath { get; set; }
-
- public string AdminUrl { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Models/InstanceDetails.cs b/KenticoInspector.Core/Models/InstanceDetails.cs
deleted file mode 100644
index eb7fffcf..00000000
--- a/KenticoInspector.Core/Models/InstanceDetails.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using KenticoInspector.Core.Converters;
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-
-namespace KenticoInspector.Core.Models
-{
- public class InstanceDetails
- {
- public Guid Guid { get; set; }
-
- [JsonConverter(typeof(VersionObjectConverter))]
- public Version AdministrationVersion { get; set; }
-
- [JsonConverter(typeof(VersionObjectConverter))]
- public Version DatabaseVersion { get; set; }
-
- public IEnumerable Sites { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Models/ModuleDetails.cs b/KenticoInspector.Core/Models/ModuleDetails.cs
deleted file mode 100644
index 493e3c2a..00000000
--- a/KenticoInspector.Core/Models/ModuleDetails.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace KenticoInspector.Core.Models
-{
- public class ModuleDetails
- {
- public string LongDescription { get; set; }
-
- public string Name { get; set; }
-
- public string ShortDescription { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Models/ModuleMetadata.cs b/KenticoInspector.Core/Models/ModuleMetadata.cs
deleted file mode 100644
index 8aaf36d8..00000000
--- a/KenticoInspector.Core/Models/ModuleMetadata.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using Newtonsoft.Json;
-
-namespace KenticoInspector.Core.Models
-{
- public class ModuleMetadata where T : new()
- {
- public ModuleDetails Details { get; set; } = new ModuleDetails();
-
- [JsonIgnore]
- public T Terms { get; set; } = new T();
- }
-}
diff --git a/KenticoInspector.Core/Models/ReportResults.cs b/KenticoInspector.Core/Models/ReportResults.cs
deleted file mode 100644
index 19a3fe17..00000000
--- a/KenticoInspector.Core/Models/ReportResults.cs
+++ /dev/null
@@ -1,27 +0,0 @@
-using System.Dynamic;
-
-using KenticoInspector.Core.Constants;
-
-using Newtonsoft.Json;
-using Newtonsoft.Json.Converters;
-
-namespace KenticoInspector.Core.Models
-{
- public class ReportResults
- {
- [JsonConverter(typeof(StringEnumConverter))]
- public ResultsStatus Status { get; set; }
-
- public string Summary { get; set; }
-
- [JsonConverter(typeof(StringEnumConverter))]
- public ResultsType Type { get; set; }
-
- public dynamic Data { get; set; }
-
- public ReportResults()
- {
- Data = new ExpandoObject();
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Models/Site.cs b/KenticoInspector.Core/Models/Site.cs
deleted file mode 100644
index 37c305dd..00000000
--- a/KenticoInspector.Core/Models/Site.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-
-namespace KenticoInspector.Core.Models
-{
- public class Site
- {
- public string DomainName { get; set; }
-
- public Guid Guid { get; set; }
-
- public int Id { get; set; }
-
- public string Name { get; set; }
-
- public string PresentationUrl { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Models/TableResult.cs b/KenticoInspector.Core/Models/TableResult.cs
deleted file mode 100644
index 0477e52c..00000000
--- a/KenticoInspector.Core/Models/TableResult.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using System.Collections.Generic;
-
-namespace KenticoInspector.Core.Models
-{
- public class TableResult
- {
- public string Name { get; set; }
-
- public IEnumerable Rows { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Modules/IAction.cs b/KenticoInspector.Core/Modules/IAction.cs
deleted file mode 100644
index f58adf39..00000000
--- a/KenticoInspector.Core/Modules/IAction.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Core.Modules
-{
- public interface IAction : IModule
- {
- ActionResults Execute(string OptionsJson);
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Modules/IModule.cs b/KenticoInspector.Core/Modules/IModule.cs
deleted file mode 100644
index 74d31df2..00000000
--- a/KenticoInspector.Core/Modules/IModule.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using Newtonsoft.Json;
-using System;
-using System.Collections.Generic;
-
-using KenticoInspector.Core.Converters;
-
-namespace KenticoInspector.Core.Modules
-{
- public interface IModule
- {
- string Codename { get; }
-
- [JsonConverter(typeof(VersionListConverter))]
- IList CompatibleVersions { get; }
-
- [JsonConverter(typeof(VersionListConverter))]
- IList IncompatibleVersions { get; }
-
- IList Tags { get; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Modules/IReport.cs b/KenticoInspector.Core/Modules/IReport.cs
deleted file mode 100644
index 0067d03b..00000000
--- a/KenticoInspector.Core/Modules/IReport.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Core.Modules
-{
- public interface IReport : IModule
- {
- ReportResults GetResults();
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Modules/IWithModuleMetadata.cs b/KenticoInspector.Core/Modules/IWithModuleMetadata.cs
deleted file mode 100644
index 5b73ff94..00000000
--- a/KenticoInspector.Core/Modules/IWithModuleMetadata.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Core.Modules
-{
- public interface IWithModuleMetadata where T : new()
- {
- ModuleMetadata Metadata { get; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Repositories/Interfaces/IActionRepository.cs b/KenticoInspector.Core/Repositories/Interfaces/IActionRepository.cs
deleted file mode 100644
index 82626c5f..00000000
--- a/KenticoInspector.Core/Repositories/Interfaces/IActionRepository.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using System.Collections.Generic;
-
-using KenticoInspector.Core.Modules;
-
-namespace KenticoInspector.Core.Repositories.Interfaces
-{
- public interface IActionRepository : IRepository
- {
- IEnumerable GetActions();
-
- IAction GetAction(string codename);
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Repositories/Interfaces/IInstanceRepository.cs b/KenticoInspector.Core/Repositories/Interfaces/IInstanceRepository.cs
deleted file mode 100644
index e47b39e4..00000000
--- a/KenticoInspector.Core/Repositories/Interfaces/IInstanceRepository.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Core.Repositories.Interfaces
-{
- public interface IInstanceRepository : IRepository
- {
- bool DeleteInstance(Guid guid);
-
- Instance GetInstance(Guid guid);
-
- IList GetInstances();
-
- Instance UpsertInstance(Instance instance);
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Repositories/Interfaces/IReportRepository.cs b/KenticoInspector.Core/Repositories/Interfaces/IReportRepository.cs
deleted file mode 100644
index bb157ebd..00000000
--- a/KenticoInspector.Core/Repositories/Interfaces/IReportRepository.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using KenticoInspector.Core.Modules;
-
-using System.Collections.Generic;
-
-namespace KenticoInspector.Core.Repositories.Interfaces
-{
- public interface IReportRepository : IRepository
- {
- IEnumerable GetReports();
-
- IReport GetReport(string codename);
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Repositories/Interfaces/IRepository.cs b/KenticoInspector.Core/Repositories/Interfaces/IRepository.cs
deleted file mode 100644
index fc44e77f..00000000
--- a/KenticoInspector.Core/Repositories/Interfaces/IRepository.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace KenticoInspector.Core.Repositories.Interfaces
-{
- public interface IRepository
- {
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Repositories/Interfaces/ISiteRepository.cs b/KenticoInspector.Core/Repositories/Interfaces/ISiteRepository.cs
deleted file mode 100644
index dbb80d62..00000000
--- a/KenticoInspector.Core/Repositories/Interfaces/ISiteRepository.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using KenticoInspector.Core.Models;
-using System.Collections.Generic;
-
-namespace KenticoInspector.Core.Repositories.Interfaces
-{
- public interface ISiteRepository : IRepository
- {
- Site GetSite(Instance instance, int siteId);
-
- IList GetSites(Instance instance);
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Repositories/Interfaces/IVersionRepository.cs b/KenticoInspector.Core/Repositories/Interfaces/IVersionRepository.cs
deleted file mode 100644
index 1651daaa..00000000
--- a/KenticoInspector.Core/Repositories/Interfaces/IVersionRepository.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System;
-
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Core.Repositories.Interfaces
-{
- public interface IVersionRepository : IRepository
- {
- Version GetKenticoAdministrationVersion(Instance instance);
-
- Version GetKenticoAdministrationVersion(string rootPath);
-
- Version GetKenticoDatabaseVersion(Instance instance);
-
- Version GetKenticoDatabaseVersion(DatabaseSettings databaseSettings);
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Services/Interfaces/ICmsFileService.cs b/KenticoInspector.Core/Services/Interfaces/ICmsFileService.cs
deleted file mode 100644
index e66690d8..00000000
--- a/KenticoInspector.Core/Services/Interfaces/ICmsFileService.cs
+++ /dev/null
@@ -1,14 +0,0 @@
-using KenticoInspector.Core.Constants;
-
-using System.Collections.Generic;
-using System.Xml;
-
-namespace KenticoInspector.Core.Services.Interfaces
-{
- public interface ICmsFileService : IService
- {
- Dictionary GetResourceStringsFromResx(string instanceRoot, string relativeResxFilePath = DefaultKenticoPaths.PrimaryResxFile);
-
- XmlDocument GetXmlDocument(string instanceRoot, string relativeFilePath);
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Services/Interfaces/IDatabaseService.cs b/KenticoInspector.Core/Services/Interfaces/IDatabaseService.cs
deleted file mode 100644
index c25c2d3a..00000000
--- a/KenticoInspector.Core/Services/Interfaces/IDatabaseService.cs
+++ /dev/null
@@ -1,40 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Data;
-
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Core.Services.Interfaces
-{
- public interface IDatabaseService : IService
- {
- void Configure(DatabaseSettings databaseSettings);
-
- IEnumerable ExecuteSqlFromFile(string relativeFilePath);
-
- IEnumerable ExecuteSqlFromFile(string relativeFilePath, dynamic parameters);
-
- IEnumerable ExecuteSqlFromFile(string relativeFilePath, IDictionary literalReplacements);
-
- IEnumerable ExecuteSqlFromFile(string relativeFilePath, IDictionary literalReplacements, dynamic parameters);
-
- [Obsolete("A last resort when it is impossible to create a data model or use one of the generic options.")]
- DataTable ExecuteSqlFromFileAsDataTable(string relativeFilePath);
-
- IEnumerable> ExecuteSqlFromFileGeneric(string relativeFilePath);
-
- IEnumerable> ExecuteSqlFromFileGeneric(string relativeFilePath, dynamic parameters);
-
- IEnumerable> ExecuteSqlFromFileGeneric(string relativeFilePath, IDictionary literalReplacements);
-
- IEnumerable> ExecuteSqlFromFileGeneric(string relativeFilePath, IDictionary literalReplacements, dynamic parameters);
-
- T ExecuteSqlFromFileScalar(string relativeFilePath);
-
- T ExecuteSqlFromFileScalar(string relativeFilePath, dynamic parameters);
-
- T ExecuteSqlFromFileScalar(string relativeFilePath, IDictionary literalReplacements);
-
- T ExecuteSqlFromFileScalar(string relativeFilePath, IDictionary literalReplacements, dynamic parameters);
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Services/Interfaces/IInstanceService.cs b/KenticoInspector.Core/Services/Interfaces/IInstanceService.cs
deleted file mode 100644
index cb665d47..00000000
--- a/KenticoInspector.Core/Services/Interfaces/IInstanceService.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Core.Services.Interfaces
-{
- public interface IInstanceService : IService
- {
- Instance CurrentInstance { get; }
-
- bool DeleteInstance(Guid instanceGuid);
-
- Instance GetInstance(Guid instanceGuid);
-
- InstanceDetails GetInstanceDetails(Guid instanceGuid);
-
- InstanceDetails GetInstanceDetails(Instance instance);
-
- IList GetInstances();
-
- Instance SetCurrentInstance(Guid instanceGuid);
-
- Instance UpsertInstance(Instance instance);
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Services/Interfaces/IModuleMetadataService.cs b/KenticoInspector.Core/Services/Interfaces/IModuleMetadataService.cs
deleted file mode 100644
index 601f355b..00000000
--- a/KenticoInspector.Core/Services/Interfaces/IModuleMetadataService.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Core.Services.Interfaces
-{
- public interface IModuleMetadataService : IService
- {
- string DefaultCultureName { get; }
-
- string CurrentCultureName { get; }
-
- ModuleMetadata GetModuleMetadata(string moduleCodename) where T : new();
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Services/Interfaces/IModuleService.cs b/KenticoInspector.Core/Services/Interfaces/IModuleService.cs
deleted file mode 100644
index 908f3ca7..00000000
--- a/KenticoInspector.Core/Services/Interfaces/IModuleService.cs
+++ /dev/null
@@ -1,22 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Modules;
-
-namespace KenticoInspector.Core.Services.Interfaces
-{
- public interface IModuleService : IService
- {
- IReport GetReport(string codename);
-
- ReportResults GetReportResults(string reportCodename, Guid instanceGuid);
-
- IEnumerable GetReports(Guid instanceGuid);
-
- IEnumerable GetActions(Guid instanceGuid);
-
- IAction GetAction(string codename);
- ActionResults ExecuteAction(string actionCodename, Guid instanceGuid, string optionsJson);
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Services/Interfaces/IService.cs b/KenticoInspector.Core/Services/Interfaces/IService.cs
deleted file mode 100644
index 63ec5aca..00000000
--- a/KenticoInspector.Core/Services/Interfaces/IService.cs
+++ /dev/null
@@ -1,6 +0,0 @@
-namespace KenticoInspector.Core.Services.Interfaces
-{
- public interface IService
- {
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Core/Tokens/ITokenExpression.cs b/KenticoInspector.Core/Tokens/ITokenExpression.cs
deleted file mode 100644
index 579d8210..00000000
--- a/KenticoInspector.Core/Tokens/ITokenExpression.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-using System.Collections.Generic;
-
-namespace KenticoInspector.Core.Tokens
-{
- internal interface ITokenExpression
- {
- string Resolve(string tokenExpression, IDictionary tokenDictionary);
- }
-}
diff --git a/KenticoInspector.Core/editorconfig.txt b/KenticoInspector.Core/editorconfig.txt
deleted file mode 100644
index 09c62a85..00000000
--- a/KenticoInspector.Core/editorconfig.txt
+++ /dev/null
@@ -1,1245 +0,0 @@
-root = true
-
-[*.cs]
-
-# ===== Active SonarLint rules =====
-
-# [Category: Bug]
-# S2757: "=+" should not be used instead of "+="
-dotnet_diagnostic.S2757.severity = warning
-
-# S3168: "async" methods should not return "void"
-dotnet_diagnostic.S3168.severity = warning
-
-# S3397: "base.Equals" should not be used to check for reference equality in "Equals" if "base" is not "object"
-dotnet_diagnostic.S3397.severity = warning
-
-# S1206: "Equals(Object)" and "GetHashCode()" should be overridden in pairs
-dotnet_diagnostic.S1206.severity = warning
-
-# S2328: "GetHashCode" should not reference mutable fields
-dotnet_diagnostic.S2328.severity = warning
-
-# S2997: "IDisposables" created in a "using" statement should not be returned
-dotnet_diagnostic.S2997.severity = warning
-
-# S2930: "IDisposables" should be disposed
-dotnet_diagnostic.S2930.severity = warning
-
-# S2688: "NaN" should not be used in comparisons
-dotnet_diagnostic.S2688.severity = warning
-
-# S2995: "Object.ReferenceEquals" should not be used for value types
-dotnet_diagnostic.S2995.severity = warning
-
-# S3869: "SafeHandle.DangerousGetHandle" should not be called
-dotnet_diagnostic.S3869.severity = warning
-
-# S3456: "string.ToCharArray()" should not be called redundantly
-dotnet_diagnostic.S3456.severity = warning
-
-# S2996: "ThreadStatic" fields should not be initialized
-dotnet_diagnostic.S2996.severity = warning
-
-# S3005: "ThreadStatic" should not be used on non-static fields
-dotnet_diagnostic.S3005.severity = warning
-
-# S2225: "ToString()" method should not return null
-dotnet_diagnostic.S2225.severity = warning
-
-# S2251: A "for" loop update clause should move the counter in the right direction
-dotnet_diagnostic.S2251.severity = warning
-
-# S3923: All branches in a conditional structure should not have exactly the same implementation
-dotnet_diagnostic.S3923.severity = warning
-
-# S3244: Anonymous delegates should not be used to unsubscribe from Events
-dotnet_diagnostic.S3244.severity = warning
-
-# S3343: Caller information parameters should come at the end of the parameter list
-dotnet_diagnostic.S3343.severity = warning
-
-# S4583: Calls to delegate's method "BeginInvoke" should be paired with calls to "EndInvoke"
-dotnet_diagnostic.S4583.severity = warning
-
-# S3249: Classes directly extending "object" should not call "base" in "GetHashCode" or "Equals"
-dotnet_diagnostic.S3249.severity = warning
-
-# S3453: Classes should not have only "private" constructors
-dotnet_diagnostic.S3453.severity = warning
-
-# S4143: Collection elements should not be replaced unconditionally
-dotnet_diagnostic.S4143.severity = warning
-
-# S3981: Collection sizes and array length comparisons should make sense
-dotnet_diagnostic.S3981.severity = warning
-
-# S2114: Collections should not be passed as arguments to their own methods
-dotnet_diagnostic.S2114.severity = warning
-
-# S2275: Composite format strings should not lead to unexpected behavior at runtime
-dotnet_diagnostic.S2275.severity = warning
-
-# S2583: Conditionally executed code should be reachable
-dotnet_diagnostic.S2583.severity = warning
-
-# S3172: Delegates should not be subtracted
-dotnet_diagnostic.S3172.severity = warning
-
-# S3926: Deserialization methods should be provided for "OptionalField" members
-dotnet_diagnostic.S3926.severity = warning
-
-# S1048: Destructors should not throw exceptions
-dotnet_diagnostic.S1048.severity = warning
-
-# S2761: Doubled prefix operators "!!" and "~~" should not be used
-dotnet_diagnostic.S2761.severity = warning
-
-# S4158: Empty collections should not be accessed or iterated
-dotnet_diagnostic.S4158.severity = warning
-
-# S3655: Empty nullable value should not be accessed
-dotnet_diagnostic.S3655.severity = warning
-
-# S3984: Exceptions should not be created without being thrown
-dotnet_diagnostic.S3984.severity = warning
-
-# S3346: Expressions used in "Debug.Assert" should not produce side effects
-dotnet_diagnostic.S3346.severity = warning
-
-# S2345: Flags enumerations should explicitly initialize all their members
-dotnet_diagnostic.S2345.severity = warning
-
-# S2252: For-loop conditions should be true at least once
-dotnet_diagnostic.S2252.severity = warning
-
-# S4275: Getters and setters should access the expected fields
-dotnet_diagnostic.S4275.severity = warning
-
-# S1764: Identical expressions should not be used on both sides of a binary operator
-dotnet_diagnostic.S1764.severity = warning
-
-# S2183: Integral numbers should not be shifted by zero or more than their number of bits-1
-dotnet_diagnostic.S2183.severity = warning
-
-# S1751: Loops with at most one iteration should be refactored
-dotnet_diagnostic.S1751.severity = warning
-
-# S3603: Methods with "Pure" attribute should return a value
-dotnet_diagnostic.S3603.severity = warning
-
-# S3887: Mutable, non-private fields should not be "readonly"
-dotnet_diagnostic.S3887.severity = warning
-
-# S3889: Neither "Thread.Resume" nor "Thread.Suspend" should be used
-dotnet_diagnostic.S3889.severity = warning
-
-# S4586: Non-async "Task/Task" methods should not return null
-dotnet_diagnostic.S4586.severity = warning
-
-# S2259: Null pointers should not be dereferenced
-dotnet_diagnostic.S2259.severity = warning
-
-# S3610: Nullable type comparison should not be redundant
-dotnet_diagnostic.S3610.severity = warning
-
-# S1848: Objects should not be created to be dropped immediately without being used
-dotnet_diagnostic.S1848.severity = warning
-
-# S3598: One-way "OperationContract" methods should have "void" return type
-dotnet_diagnostic.S3598.severity = warning
-
-# S3466: Optional parameters should be passed to "base" calls
-dotnet_diagnostic.S3466.severity = warning
-
-# S2934: Property assignments should not be made for "readonly" fields not constrained to reference types
-dotnet_diagnostic.S2934.severity = warning
-
-# S2190: Recursion should not be infinite
-dotnet_diagnostic.S2190.severity = warning
-
-# S1862: Related "if/else if" statements should not have the same condition
-dotnet_diagnostic.S1862.severity = warning
-
-# S2184: Results of integer division should not be assigned to floating point variables
-dotnet_diagnostic.S2184.severity = warning
-
-# S2201: Return values from functions without side effects should not be ignored
-dotnet_diagnostic.S2201.severity = warning
-
-# S3449: Right operands of shift operators should be integers
-dotnet_diagnostic.S3449.severity = warning
-
-# S3927: Serialization event handlers should be implemented correctly
-dotnet_diagnostic.S3927.severity = warning
-
-# S2551: Shared resources should not be used for locking
-dotnet_diagnostic.S2551.severity = warning
-
-# S2857: SQL keywords should be delimited by whitespace
-dotnet_diagnostic.S2857.severity = warning
-
-# S3263: Static fields should appear in the order they must be initialized
-dotnet_diagnostic.S3263.severity = warning
-
-# S3464: Type inheritance should not be recursive
-dotnet_diagnostic.S3464.severity = warning
-
-# S3903: Types should be defined in named namespaces
-dotnet_diagnostic.S3903.severity = warning
-
-# S2123: Values should not be uselessly incremented
-dotnet_diagnostic.S2123.severity = warning
-
-# S1656: Variables should not be self-assigned
-dotnet_diagnostic.S1656.severity = warning
-
-# S2306: "async" and "await" should not be used as identifiers
-dotnet_diagnostic.S2306.severity = warning
-
-
-# [Category: Security]
-# S3884: "CoSetProxyBlanket" and "CoInitializeSecurity" should not be used
-dotnet_diagnostic.S3884.severity = warning
-
-# S2115: A secure password should be used when connecting to a database
-dotnet_diagnostic.S2115.severity = warning
-
-# S5547: Cipher algorithms should be robust
-dotnet_diagnostic.S5547.severity = warning
-
-# S3329: Cipher Block Chaining IVs should be unpredictable
-dotnet_diagnostic.S3329.severity = warning
-
-# S5542: Encryption algorithms should be used with secure mode and padding scheme
-dotnet_diagnostic.S5542.severity = warning
-
-# S5445: Insecure temporary file creation methods should not be used
-dotnet_diagnostic.S5445.severity = warning
-
-# S5659: JWT should be signed and verified with strong cipher algorithms
-dotnet_diagnostic.S5659.severity = warning
-
-# S4433: LDAP connections should be authenticated
-dotnet_diagnostic.S4433.severity = warning
-
-# S4211: Members should not have conflicting transparency annotations
-dotnet_diagnostic.S4211.severity = warning
-
-# S4423: Weak SSL/TLS protocols should not be used
-dotnet_diagnostic.S4423.severity = warning
-
-# S2755: XML parsers should not be vulnerable to XXE attacks
-dotnet_diagnostic.S2755.severity = warning
-
-# S2053: Hashes should include an unpredictable salt
-dotnet_diagnostic.S2053.severity = warning
-
-# S4830: Server certificates should be verified during SSL/TLS connections
-dotnet_diagnostic.S4830.severity = warning
-
-# S4426: Cryptographic keys should be robust
-dotnet_diagnostic.S4426.severity = warning
-
-# S5773: Types allowed to be deserialized should be restricted
-dotnet_diagnostic.S5773.severity = warning
-
-
-# [Category: Security Hotspot]
-# S5693: Allowing requests with excessive content length is security-sensitive
-dotnet_diagnostic.S5693.severity = warning
-
-# S4792: Configuring loggers is security-sensitive
-dotnet_diagnostic.S4792.severity = warning
-
-# S3330: Creating cookies without the "HttpOnly" flag is security-sensitive
-dotnet_diagnostic.S3330.severity = warning
-
-# S2092: Creating cookies without the "secure" flag is security-sensitive
-dotnet_diagnostic.S2092.severity = warning
-
-# S4507: Delivering code in production with debug features activated is security-sensitive
-dotnet_diagnostic.S4507.severity = warning
-
-# S5766: Deserializing objects without performing data validation is security-sensitive
-dotnet_diagnostic.S5766.severity = warning
-
-# S5753: Disabling ASP.NET "Request Validation" feature is security-sensitive
-dotnet_diagnostic.S5753.severity = warning
-
-# S4502: Disabling CSRF protections is security-sensitive
-dotnet_diagnostic.S4502.severity = warning
-
-# S5042: Expanding archive files without controlling resource consumption is security-sensitive
-dotnet_diagnostic.S5042.severity = warning
-
-# S2077: Formatting SQL queries is security-sensitive
-dotnet_diagnostic.S2077.severity = warning
-
-# S2068: Hard-coded credentials are security-sensitive
-dotnet_diagnostic.S2068.severity = warning
-
-# S5122: Having a permissive Cross-Origin Resource Sharing policy is security-sensitive
-dotnet_diagnostic.S5122.severity = warning
-
-# S4036: Searching OS commands in PATH is security-sensitive
-dotnet_diagnostic.S4036.severity = warning
-
-# S2612: Setting loose file permissions is security-sensitive
-dotnet_diagnostic.S2612.severity = warning
-
-# S5332: Using clear-text protocols is security-sensitive
-dotnet_diagnostic.S5332.severity = warning
-
-# S1313: Using hardcoded IP addresses is security-sensitive
-dotnet_diagnostic.S1313.severity = warning
-
-# S2257: Using non-standard cryptographic algorithms is security-sensitive
-dotnet_diagnostic.S2257.severity = warning
-
-# S2245: Using pseudorandom number generators (PRNGs) is security-sensitive
-dotnet_diagnostic.S2245.severity = warning
-
-# S5443: Using publicly writable directories is security-sensitive
-dotnet_diagnostic.S5443.severity = warning
-
-# S4790: Using weak hashing algorithms is security-sensitive
-dotnet_diagnostic.S4790.severity = warning
-
-
-# [Category: Code Smell]
-# S3451: "[DefaultValue]" should not be used when "[DefaultParameterValue]" is meant
-dotnet_diagnostic.S3451.severity = warning
-
-# S3447: "[Optional]" should not be used on "ref" or "out" parameters
-dotnet_diagnostic.S3447.severity = warning
-
-# S1155: "Any()" should be used to test for emptiness
-dotnet_diagnostic.S1155.severity = warning
-
-# S2737: "catch" clauses should do more than rethrow
-dotnet_diagnostic.S2737.severity = warning
-
-# S4524: "default" clauses should be first or last
-dotnet_diagnostic.S4524.severity = warning
-
-# S3217: "Explicit" conversions of "foreach" loops should not be used
-dotnet_diagnostic.S3217.severity = warning
-
-# S3971: "GC.SuppressFinalize" should not be called
-dotnet_diagnostic.S3971.severity = warning
-
-# S907: "goto" statement should not be used
-dotnet_diagnostic.S907.severity = warning
-
-# S2692: "IndexOf" checks should not be for positive numbers
-dotnet_diagnostic.S2692.severity = warning
-
-# S3060: "is" should not be used with "this"
-dotnet_diagnostic.S3060.severity = warning
-
-# S1123: "Obsolete" attributes should include explanations
-dotnet_diagnostic.S1123.severity = warning
-
-# S4214: "P/Invoke" methods should not be visible
-dotnet_diagnostic.S4214.severity = warning
-
-# S4061: "params" should be used instead of "varargs"
-dotnet_diagnostic.S4061.severity = warning
-
-# S3262: "params" should be used on overrides
-dotnet_diagnostic.S3262.severity = warning
-
-# S3600: "params" should not be introduced on overrides
-dotnet_diagnostic.S3600.severity = warning
-
-# S3597: "ServiceContract" and "OperationContract" attributes should be used together
-dotnet_diagnostic.S3597.severity = warning
-
-# S3963: "static" fields should be initialized inline
-dotnet_diagnostic.S3963.severity = warning
-
-# S3256: "string.IsNullOrEmpty" should be used
-dotnet_diagnostic.S3256.severity = warning
-
-# S1479: "switch" statements should not have too many "case" clauses
-dotnet_diagnostic.S1479.severity = warning
-
-# S5034: "ValueTask" should be consumed correctly
-dotnet_diagnostic.S5034.severity = warning
-
-# S1264: A "while" loop should be used instead of a "for" loop
-dotnet_diagnostic.S1264.severity = warning
-
-# S3973: A conditionally executed single line should be denoted by indentation
-dotnet_diagnostic.S3973.severity = warning
-
-# S3904: Assemblies should have version information
-dotnet_diagnostic.S3904.severity = warning
-
-# S3415: Assertion arguments should be passed in the correct order
-dotnet_diagnostic.S3415.severity = warning
-
-# S4019: Base class methods should not be hidden
-dotnet_diagnostic.S4019.severity = warning
-
-# S1940: Boolean checks should not be inverted
-dotnet_diagnostic.S1940.severity = warning
-
-# S3236: Caller information arguments should not be provided explicitly
-dotnet_diagnostic.S3236.severity = warning
-
-# S3897: Classes that provide "Equals()" should implement "IEquatable"
-dotnet_diagnostic.S3897.severity = warning
-
-# S3457: Composite format strings should be used correctly
-dotnet_diagnostic.S3457.severity = warning
-
-# S3972: Conditionals should start on new lines
-dotnet_diagnostic.S3972.severity = warning
-
-# S1116: Empty statements should be removed
-dotnet_diagnostic.S1116.severity = warning
-
-# S3264: Events should be invoked
-dotnet_diagnostic.S3264.severity = warning
-
-# S3445: Exceptions should not be explicitly rethrown
-dotnet_diagnostic.S3445.severity = warning
-
-# S1163: Exceptions should not be thrown in finally blocks
-dotnet_diagnostic.S1163.severity = warning
-
-# S2290: Field-like events should not be virtual
-dotnet_diagnostic.S2290.severity = warning
-
-# S2346: Flags enumerations zero-value members should be named "warning"
-dotnet_diagnostic.S2346.severity = warning
-
-# S3251: Implementations should be provided for "partial" methods
-dotnet_diagnostic.S3251.severity = warning
-
-# S1944: Inappropriate casts should not be made
-dotnet_diagnostic.S1944.severity = warning
-
-# S4015: Inherited member visibility should not be decreased
-dotnet_diagnostic.S4015.severity = warning
-
-# S3444: Interfaces should not simply inherit from base interfaces with colliding members
-dotnet_diagnostic.S3444.severity = warning
-
-# S818: Literal suffixes should be upper case
-dotnet_diagnostic.S818.severity = warning
-
-# S3400: Methods should not return constants
-dotnet_diagnostic.S3400.severity = warning
-
-# S2681: Multiline blocks should be enclosed in curly braces
-dotnet_diagnostic.S2681.severity = warning
-
-# S3169: Multiple "OrderBy" calls should not be used
-dotnet_diagnostic.S3169.severity = warning
-
-# S3261: Namespaces should not be empty
-dotnet_diagnostic.S3261.severity = warning
-
-# S4200: Native methods should be wrapped
-dotnet_diagnostic.S4200.severity = warning
-
-# S1199: Nested code blocks should not be used
-dotnet_diagnostic.S1199.severity = warning
-
-# S4070: Non-flags enums should not be marked with "FlagsAttribute"
-dotnet_diagnostic.S4070.severity = warning
-
-# S3265: Non-flags enums should not be used in bitwise operations
-dotnet_diagnostic.S3265.severity = warning
-
-# S4201: Null checks should not be used with "is"
-dotnet_diagnostic.S4201.severity = warning
-
-# S3966: Objects should not be disposed more than once
-dotnet_diagnostic.S3966.severity = warning
-
-# S2291: Overflow checking should not be disabled for "Enumerable.Sum"
-dotnet_diagnostic.S2291.severity = warning
-
-# S1185: Overriding members should do more than simply call the same member in the base class
-dotnet_diagnostic.S1185.severity = warning
-
-# S2234: Parameters should be passed in the correct order
-dotnet_diagnostic.S2234.severity = warning
-
-# S3450: Parameters with "[DefaultParameterValue]" attributes should also be marked "[Optional]"
-dotnet_diagnostic.S3450.severity = warning
-
-# S1905: Redundant casts should not be used
-dotnet_diagnostic.S1905.severity = warning
-
-# S1110: Redundant pairs of parentheses should be removed
-dotnet_diagnostic.S1110.severity = warning
-
-# S2437: Silly bit operations should not be performed
-dotnet_diagnostic.S2437.severity = warning
-
-# S3010: Static fields should not be updated in constructors
-dotnet_diagnostic.S3010.severity = warning
-
-# S4635: String offset-based methods should be preferred for finding substrings from offsets
-dotnet_diagnostic.S4635.severity = warning
-
-# S3998: Threads should not lock on objects with weak identity
-dotnet_diagnostic.S3998.severity = warning
-
-# S1134: Track uses of "FIXME" tags
-dotnet_diagnostic.S1134.severity = warning
-
-# S1135: Track uses of "TODO" tags
-dotnet_diagnostic.S1135.severity = warning
-
-# S1871: Two branches in a conditional structure should not have exactly the same implementation
-dotnet_diagnostic.S1871.severity = warning
-
-# S3443: Type should not be examined on "System.Type" instances
-dotnet_diagnostic.S3443.severity = warning
-
-# S3459: Unassigned members should be removed
-dotnet_diagnostic.S3459.severity = warning
-
-# S3440: Variables should not be checked against the values they're about to be assigned
-dotnet_diagnostic.S3440.severity = warning
-
-# S2479: Whitespace and control characters in string literals should be explicit
-dotnet_diagnostic.S2479.severity = warning
-
-# S2376: Write-only properties should not be used
-dotnet_diagnostic.S2376.severity = warning
-
-# S3442: "abstract" classes should not have "public" constructors
-dotnet_diagnostic.S3442.severity = warning
-
-# S3885: "Assembly.Load" should be used
-dotnet_diagnostic.S3885.severity = warning
-
-# S1210: "Equals" and the comparison operators should be overridden when implementing "IComparable"
-dotnet_diagnostic.S1210.severity = warning
-
-# S1215: "GC.Collect" should not be called
-dotnet_diagnostic.S1215.severity = warning
-
-# S3881: "IDisposable" should be implemented correctly
-dotnet_diagnostic.S3881.severity = warning
-
-# S2971: "IEnumerable" LINQs should be simplified
-dotnet_diagnostic.S2971.severity = warning
-
-# S3925: "ISerializable" should be implemented correctly
-dotnet_diagnostic.S3925.severity = warning
-
-# S4581: "new Guid()" should not be used
-dotnet_diagnostic.S4581.severity = warning
-
-# S3875: "operator==" should not be overloaded on reference types
-dotnet_diagnostic.S3875.severity = warning
-
-# S3237: "value" parameters should be used
-dotnet_diagnostic.S3237.severity = warning
-
-# S1121: Assignments should not be made from within sub-expressions
-dotnet_diagnostic.S1121.severity = warning
-
-# S3376: Attribute, EventArgs, and Exception type names should end with the type being extended
-dotnet_diagnostic.S3376.severity = warning
-
-# S2589: Boolean expressions should not be gratuitous
-dotnet_diagnostic.S2589.severity = warning
-
-# S4035: Classes implementing "IEquatable" should be sealed
-dotnet_diagnostic.S4035.severity = warning
-
-# S3776: Cognitive Complexity of methods should not be too high
-dotnet_diagnostic.S3776.severity = warning
-
-# S1066: Collapsible "if" statements should be merged
-dotnet_diagnostic.S1066.severity = warning
-
-# S1699: Constructors should only call non-overridable methods
-dotnet_diagnostic.S1699.severity = warning
-
-# S2372: Exceptions should not be thrown from property getters
-dotnet_diagnostic.S2372.severity = warning
-
-# S3877: Exceptions should not be thrown from unexpected methods
-dotnet_diagnostic.S3877.severity = warning
-
-# S1104: Fields should not have public accessibility
-dotnet_diagnostic.S1104.severity = warning
-
-# S2933: Fields that are only assigned in the constructor should be "readonly"
-dotnet_diagnostic.S2933.severity = warning
-
-# S112: General exceptions should never be thrown
-dotnet_diagnostic.S112.severity = warning
-
-# S2486: Generic exceptions should not be ignored
-dotnet_diagnostic.S2486.severity = warning
-
-# S3246: Generic type parameters should be co/contravariant when possible
-dotnet_diagnostic.S3246.severity = warning
-
-# S1939: Inheritance list should not be redundant
-dotnet_diagnostic.S1939.severity = warning
-
-# S110: Inheritance tree of classes should not be too deep
-dotnet_diagnostic.S110.severity = warning
-
-# S3218: Inner class members should not shadow outer class "static" or type members
-dotnet_diagnostic.S3218.severity = warning
-
-# S2696: Instance members should not write to "static" fields
-dotnet_diagnostic.S2696.severity = warning
-
-# S3626: Jump statements should not be redundant
-dotnet_diagnostic.S3626.severity = warning
-
-# S1117: Local variables should not shadow class fields
-dotnet_diagnostic.S1117.severity = warning
-
-# S3267: Loops should be simplified with "LINQ" expressions
-dotnet_diagnostic.S3267.severity = warning
-
-# S3604: Member initializer values should not be redundant
-dotnet_diagnostic.S3604.severity = warning
-
-# S3220: Method calls should not resolve ambiguously to overloads with "params"
-dotnet_diagnostic.S3220.severity = warning
-
-# S4136: Method overloads should be grouped together
-dotnet_diagnostic.S4136.severity = warning
-
-# S3427: Method overloads with default parameter values should not overlap
-dotnet_diagnostic.S3427.severity = warning
-
-# S1006: Method overrides should not change parameter defaults
-dotnet_diagnostic.S1006.severity = warning
-
-# S2953: Methods named "Dispose" should implement "IDisposable.Dispose"
-dotnet_diagnostic.S2953.severity = warning
-
-# S1186: Methods should not be empty
-dotnet_diagnostic.S1186.severity = warning
-
-# S4144: Methods should not have identical implementations
-dotnet_diagnostic.S4144.severity = warning
-
-# S107: Methods should not have too many parameters
-dotnet_diagnostic.S107.severity = warning
-
-# S3241: Methods should not return values that are never used
-dotnet_diagnostic.S3241.severity = warning
-
-# S2386: Mutable fields should not be "public static"
-dotnet_diagnostic.S2386.severity = warning
-
-# S108: Nested blocks of code should not be left empty
-dotnet_diagnostic.S108.severity = warning
-
-# S2223: Non-constant static fields should not be visible
-dotnet_diagnostic.S2223.severity = warning
-
-# S3260: Non-derived "private" classes and records should be "sealed"
-dotnet_diagnostic.S3260.severity = warning
-
-# S927: Parameter names should match base declaration and other partial definitions
-dotnet_diagnostic.S927.severity = warning
-
-# S3928: Parameter names used into ArgumentException constructors should match an existing one
-dotnet_diagnostic.S3928.severity = warning
-
-# S4457: Parameter validation in "async"/"await" methods should be wrapped
-dotnet_diagnostic.S4457.severity = warning
-
-# S4456: Parameter validation in yielding methods should be wrapped
-dotnet_diagnostic.S4456.severity = warning
-
-# S1450: Private fields only used as local variables in methods should become local variables
-dotnet_diagnostic.S1450.severity = warning
-
-# S2365: Properties should not make collection or array copies
-dotnet_diagnostic.S2365.severity = warning
-
-# S2368: Public methods should not have multidimensional array parameters
-dotnet_diagnostic.S2368.severity = warning
-
-# S3011: Reflection should not be used to increase accessibility of classes, methods, or fields
-dotnet_diagnostic.S3011.severity = warning
-
-# S2219: Runtime type checking should be simplified
-dotnet_diagnostic.S2219.severity = warning
-
-# S125: Sections of code should not be commented out
-dotnet_diagnostic.S125.severity = warning
-
-# S2178: Short-circuit logic should be used in boolean contexts
-dotnet_diagnostic.S2178.severity = warning
-
-# S2743: Static fields should not be used in generic types
-dotnet_diagnostic.S2743.severity = warning
-
-# S1643: Strings should not be concatenated using '+' in a loop
-dotnet_diagnostic.S1643.severity = warning
-
-# S3358: Ternary operators should not be nested
-dotnet_diagnostic.S3358.severity = warning
-
-# S3433: Test method signatures should be correct
-dotnet_diagnostic.S3433.severity = warning
-
-# S2187: TestCases should contain tests
-dotnet_diagnostic.S2187.severity = warning
-
-# S2699: Tests should include assertions
-dotnet_diagnostic.S2699.severity = warning
-
-# S1607: Tests should not be ignored
-dotnet_diagnostic.S1607.severity = warning
-
-# S2292: Trivial properties should be auto-implemented
-dotnet_diagnostic.S2292.severity = warning
-
-# S2436: Types and methods should not have too many generic parameters
-dotnet_diagnostic.S2436.severity = warning
-
-# S101: Types should be named in PascalCase
-dotnet_diagnostic.S101.severity = warning
-
-# S4487: Unread "private" fields should be removed
-dotnet_diagnostic.S4487.severity = warning
-
-# S1854: Unused assignments should be removed
-dotnet_diagnostic.S1854.severity = warning
-
-# S1481: Unused local variables should be removed
-dotnet_diagnostic.S1481.severity = warning
-
-# S1172: Unused method parameters should be removed
-dotnet_diagnostic.S1172.severity = warning
-
-# S1144: Unused private types or members should be removed
-dotnet_diagnostic.S1144.severity = warning
-
-# S2326: Unused type parameters should be removed
-dotnet_diagnostic.S2326.severity = warning
-
-# S1075: URIs should not be hardcoded
-dotnet_diagnostic.S1075.severity = warning
-
-# S1118: Utility classes should not have public constructors
-dotnet_diagnostic.S1118.severity = warning
-
-# S2376: Write-only properties should not be used
-dotnet_diagnostic.S2376.severity = warning
-
-# S1125: Boolean literals should not be redundant
-dotnet_diagnostic.S1125.severity = warning
-
-
-# ===== Inactive SonarLint rules (must be explicitly turned off) =====
-
-# [Category: Bug] (All these are excluded because they're not applicable to our solution)
-# S4428: "PartCreationPolicyAttribute" should be used with "ExportAttribute"
-dotnet_diagnostic.S4428.severity = none
-
-# S4260: "ConstructorArgument" parameters should exist in constructors
-dotnet_diagnostic.S4260.severity = none
-
-# S4277: "Shared" parts should not be created with "new"
-dotnet_diagnostic.S4277.severity = none
-
-# S4159: Classes should implement their "ExportAttribute" interfaces
-dotnet_diagnostic.S4159.severity = none
-
-# S4210: Windows Forms entry points should be marked with STAThread
-dotnet_diagnostic.S4210.severity = none
-
-
-# [Uncategorized]
-# S6287: HTTP responses should not be vulnerable to session fixation
-dotnet_diagnostic.S6287.severity = none
-
-# S6096: Extracting archives should not lead to zip slip vulnerabilities
-dotnet_diagnostic.S6096.severity = none
-
-# S5334: Dynamic code execution should not be vulnerable to injection attacks
-dotnet_diagnostic.S5334.severity = none
-
-# S5146: HTTP request redirections should not be open to forging attacks
-dotnet_diagnostic.S5146.severity = none
-
-# S5135: Deserialization should not be vulnerable to injection attacks
-dotnet_diagnostic.S5135.severity = none
-
-# S5131: Endpoints should not be vulnerable to reflected cross-site scripting (XSS) attacks
-dotnet_diagnostic.S5131.severity = none
-
-# S3649: Database queries should not be vulnerable to injection attacks
-dotnet_diagnostic.S3649.severity = none
-
-# S2091: XPath expressions should not be vulnerable to injection attacks
-dotnet_diagnostic.S2091.severity = none
-
-# S2083: I/O function calls should not be vulnerable to path injection attacks
-dotnet_diagnostic.S2083.severity = none
-
-# S2078: LDAP queries should not be vulnerable to injection attacks
-dotnet_diagnostic.S2078.severity = none
-
-# S2076: OS commands should not be vulnerable to command injection attacks
-dotnet_diagnostic.S2076.severity = none
-
-# S6424: Azure Functions: Restrictions on entity interfaces
-dotnet_diagnostic.S6424.severity = none
-
-# S6422: Calls to "async" methods should not be blocking in Azure Functions
-dotnet_diagnostic.S6422.severity = none
-
-# S2631: Regular expressions should not be vulnerable to Denial of Service attacks
-dotnet_diagnostic.S2631.severity = none
-
-# S2222: Locks should be released
-dotnet_diagnostic.S2222.severity = none
-
-# S5144: Server-side requests should not be vulnerable to forging attacks
-dotnet_diagnostic.S5144.severity = none
-
-# S6350: Constructing arguments of system commands from user input is security-sensitive
-dotnet_diagnostic.S6350.severity = none
-
-# S6420: Reuse client instances rather than creating new ones with each Azure Function invocation
-dotnet_diagnostic.S6420.severity = none
-
-# S6419: Azure Functions should be stateless
-dotnet_diagnostic.S6419.severity = none
-
-# S5883: OS commands should not be vulnerable to argument injection attacks
-dotnet_diagnostic.S5883.severity = none
-
-# S5145: Logging should not be vulnerable to injection attacks
-dotnet_diagnostic.S5145.severity = none
-
-# S2931: Classes with "IDisposable" members should implement "IDisposable"
-dotnet_diagnostic.S2931.severity = none
-
-# S4462: Calls to "async" methods should not be blocking
-dotnet_diagnostic.S4462.severity = none
-
-# S2387: Child class fields should not shadow parent class fields
-dotnet_diagnostic.S2387.severity = none
-
-# S1451: Track lack of copyright and license headers
-dotnet_diagnostic.S1451.severity = none
-
-# S1147: Exit methods should not be called
-dotnet_diagnostic.S1147.severity = none
-
-# S2952: Classes should "Dispose" of members from the classes' own "Dispose" methods
-dotnet_diagnostic.S2952.severity = none
-
-# S4829: Reading the Standard Input is security-sensitive
-dotnet_diagnostic.S4829.severity = none
-
-# S4823: Using command line arguments is security-sensitive
-dotnet_diagnostic.S4823.severity = none
-
-# S4818: Using Sockets is security-sensitive
-dotnet_diagnostic.S4818.severity = none
-
-# S4787: Encrypting data is security-sensitive
-dotnet_diagnostic.S4787.severity = none
-
-# S4784: Using regular expressions is security-sensitive
-dotnet_diagnostic.S4784.severity = none
-
-# S4039: Interface methods should be callable by derived types
-dotnet_diagnostic.S4039.severity = none
-
-# S4025: Child class fields should not differ from parent class fields only by capitalization
-dotnet_diagnostic.S4025.severity = none
-
-# S4000: Pointers to unmanaged memory should not be visible
-dotnet_diagnostic.S4000.severity = none
-
-# S3937: Number patterns should be regular
-dotnet_diagnostic.S3937.severity = none
-
-# S3874: "out" and "ref" parameters should not be used
-dotnet_diagnostic.S3874.severity = none
-
-# S3353: Unchanged local variables should be "const"
-dotnet_diagnostic.S3353.severity = none
-
-# S3216: "ConfigureAwait(false)" should be used
-dotnet_diagnostic.S3216.severity = none
-
-# S3215: "interface" instances should not be cast to concrete types
-dotnet_diagnostic.S3215.severity = none
-
-# S2701: Literal boolean values should not be used in assertions
-dotnet_diagnostic.S2701.severity = none
-
-# S2360: Optional parameters should not be used
-dotnet_diagnostic.S2360.severity = none
-
-# S2339: Public constant members should not be used
-dotnet_diagnostic.S2339.severity = none
-
-# S2330: Array covariance should not be used
-dotnet_diagnostic.S2330.severity = none
-
-# S2302: "nameof" should be used
-dotnet_diagnostic.S2302.severity = none
-
-# S2197: Modulus results should not be checked for direct equality
-dotnet_diagnostic.S2197.severity = none
-
-# S1994: "for" loop increment clauses should modify the loops' counters
-dotnet_diagnostic.S1994.severity = none
-
-# S1821: "switch" statements should not be nested
-dotnet_diagnostic.S1821.severity = none
-
-# S1541: Methods and properties should not be too complex
-dotnet_diagnostic.S1541.severity = none
-
-# S134: Control flow statements "if", "switch", "for", "foreach", "while", "do" and "try" should not be nested too deeply
-dotnet_diagnostic.S134.severity = none
-
-# S131: "switch/Select" statements should contain a "default/Case Else" clauses
-dotnet_diagnostic.S131.severity = none
-
-# S126: "if ... else if" constructs should end with "else" clauses
-dotnet_diagnostic.S126.severity = none
-
-# S121: Control structures should use curly braces
-dotnet_diagnostic.S121.severity = none
-
-# S1067: Expressions should not be too complex
-dotnet_diagnostic.S1067.severity = none
-
-# S4564: ASP.NET HTTP request validation feature should not be disabled
-dotnet_diagnostic.S4564.severity = none
-
-# S4212: Serialization constructors should be secured
-dotnet_diagnostic.S4212.severity = none
-
-# S3949: Calculations should not overflow
-dotnet_diagnostic.S3949.severity = none
-
-# S1244: Floating point numbers should not be tested for equality
-dotnet_diagnostic.S1244.severity = none
-
-# S881: Increment (++) and decrement (--) operators should not be used in a method call or mixed with other operators in an expression
-dotnet_diagnostic.S881.severity = none
-
-# S6423: Azure Functions should log all failures
-dotnet_diagnostic.S6423.severity = none
-
-# S6421: Azure Functions should use Structured Error Handling
-dotnet_diagnostic.S6421.severity = none
-
-# S6354: Use a testable date/time provider
-dotnet_diagnostic.S6354.severity = none
-
-# S4059: Property names should not match get methods
-dotnet_diagnostic.S4059.severity = none
-
-# S4057: Locales should be set for data types
-dotnet_diagnostic.S4057.severity = none
-
-# S4055: Literals should not be passed as localized parameters
-dotnet_diagnostic.S4055.severity = none
-
-# S4050: Operators should be overloaded consistently
-dotnet_diagnostic.S4050.severity = none
-
-# S4017: Method signatures should not contain nested generic types
-dotnet_diagnostic.S4017.severity = none
-
-# S4016: Enumeration members should not be named "Reserved"
-dotnet_diagnostic.S4016.severity = none
-
-# S4005: "System.Uri" arguments should be used instead of strings
-dotnet_diagnostic.S4005.severity = none
-
-# S4004: Collection properties should be readonly
-dotnet_diagnostic.S4004.severity = none
-
-# S4002: Disposable types should declare finalizers
-dotnet_diagnostic.S4002.severity = none
-
-# S3997: String URI overloads should call "System.Uri" overloads
-dotnet_diagnostic.S3997.severity = none
-
-# S3996: URI properties should not be strings
-dotnet_diagnostic.S3996.severity = none
-
-# S3995: URI return values should not be strings
-dotnet_diagnostic.S3995.severity = none
-
-# S3994: URI Parameters should not be strings
-dotnet_diagnostic.S3994.severity = none
-
-# S3993: Custom attributes should be marked with "System.AttributeUsageAttribute"
-dotnet_diagnostic.S3993.severity = none
-
-# S3992: Assemblies should explicitly specify COM visibility
-dotnet_diagnostic.S3992.severity = none
-
-# S3990: Assemblies should be marked as CLS compliant
-dotnet_diagnostic.S3990.severity = none
-
-# S3956: "Generic.List" instances should not be part of public APIs
-dotnet_diagnostic.S3956.severity = none
-
-# S3909: Collections should implement the generic interface
-dotnet_diagnostic.S3909.severity = none
-
-# S3908: Generic event handlers should be used
-dotnet_diagnostic.S3908.severity = none
-
-# S3906: Event Handlers should have the correct signature
-dotnet_diagnostic.S3906.severity = none
-
-# S3902: "Assembly.GetExecutingAssembly" should not be called
-dotnet_diagnostic.S3902.severity = none
-
-# S3900: Arguments of public methods should be validated against null
-dotnet_diagnostic.S3900.severity = none
-
-# S3898: Value types should implement "IEquatable"
-dotnet_diagnostic.S3898.severity = none
-
-# S3880: Finalizers should not be empty
-dotnet_diagnostic.S3880.severity = none
-
-# S3431: "[ExpectedException]" should not be used
-dotnet_diagnostic.S3431.severity = none
-
-# S3366: "this" should not be exposed from constructors
-dotnet_diagnostic.S3366.severity = none
-
-# S3059: Types should not have members with visibility set higher than the type's visibility
-dotnet_diagnostic.S3059.severity = none
-
-# S2357: Fields should be private
-dotnet_diagnostic.S2357.severity = none
-
-# S2327: "try" statements with identical "catch" and/or "finally" blocks should be merged
-dotnet_diagnostic.S2327.severity = none
-
-# S1696: NullReferenceException should not be caught
-dotnet_diagnostic.S1696.severity = none
-
-# S138: Functions should not have too many lines of code
-dotnet_diagnostic.S138.severity = none
-
-# S127: "for" loop stop conditions should be invariant
-dotnet_diagnostic.S127.severity = none
-
-# S122: Statements should be on separate lines
-dotnet_diagnostic.S122.severity = none
-
-# S1200: Classes should not be coupled to too many other classes (Single Responsibility Principle)
-dotnet_diagnostic.S1200.severity = none
-
-# S1151: "switch case" clauses should not have too many lines of code
-dotnet_diagnostic.S1151.severity = none
-
-# S109: Magic numbers should not be used
-dotnet_diagnostic.S109.severity = none
-
-# S106: Standard outputs should not be used directly to log anything
-dotnet_diagnostic.S106.severity = none
-
-# S104: Files should not have too many lines of code
-dotnet_diagnostic.S104.severity = none
-
-# S103: Lines should not be too long
-dotnet_diagnostic.S103.severity = none
-
-# S5167: HTTP response headers should not be vulnerable to injection attacks
-dotnet_diagnostic.S5167.severity = none
-
-# S2228: Console logging should not be used
-dotnet_diagnostic.S2228.severity = none
-
-# S2955: Generic parameters not constrained to reference types should not be compared to "null"
-dotnet_diagnostic.S2955.severity = none
-
-# S2674: The length returned from a stream read should be checked
-dotnet_diagnostic.S2674.severity = none
-
-# S1226: Method parameters, caught exceptions and foreach variables' initial values should not be ignored
-dotnet_diagnostic.S1226.severity = none
-
-# S4834: Controlling permissions is security-sensitive
-dotnet_diagnostic.S4834.severity = none
-
-# S2255: Writing cookies is security-sensitive
-dotnet_diagnostic.S2255.severity = none
-
-# S4261: Methods should be named according to their synchronicities
-dotnet_diagnostic.S4261.severity = none
-
-# S4226: Extensions should be in separate namespaces
-dotnet_diagnostic.S4226.severity = none
-
-# S4225: Extension methods should not extend "object"
-dotnet_diagnostic.S4225.severity = none
-
-# S4069: Operator overloads should have named alternatives
-dotnet_diagnostic.S4069.severity = none
-
-# S4060: Non-abstract attributes should be sealed
-dotnet_diagnostic.S4060.severity = none
-
-# S4058: Overloads with a "StringComparison" parameter should be used
-dotnet_diagnostic.S4058.severity = none
-
-# S4056: Overloads with a "CultureInfo" or an "IFormatProvider" parameter should be used
-dotnet_diagnostic.S4056.severity = none
-
-# S4052: Types should not extend outdated base types
-dotnet_diagnostic.S4052.severity = none
-
-# S4049: Properties should be preferred
-dotnet_diagnostic.S4049.severity = none
-
-# S4047: Generics should be used when appropriate
-dotnet_diagnostic.S4047.severity = none
-
-# S4041: Type names should not match namespaces
-dotnet_diagnostic.S4041.severity = none
-
-# S4040: Strings should be normalized to uppercase
-dotnet_diagnostic.S4040.severity = none
-
-# S4027: Exceptions should provide standard constructors
-dotnet_diagnostic.S4027.severity = none
-
-# S4026: Assemblies should be marked with "NeutralResourcesLanguageAttribute"
-dotnet_diagnostic.S4026.severity = none
-
-# S4023: Interfaces should not be empty
-dotnet_diagnostic.S4023.severity = none
-
-# S4022: Enumerations should have "Int32" storage
-dotnet_diagnostic.S4022.severity = none
-
-# S4018: Generic methods should provide type parameters
-dotnet_diagnostic.S4018.severity = none
-
-# S3967: Multidimensional arrays should not be used
-dotnet_diagnostic.S3967.severity = none
-
-# S3962: "static readonly" constants should be "const" instead
-dotnet_diagnostic.S3962.severity = none
-
-# S3876: Strings or integral types should be used for indexers
-dotnet_diagnostic.S3876.severity = none
-
-# S3872: Parameter names should not duplicate the names of their methods
-dotnet_diagnostic.S3872.severity = none
-
-# S3717: Track use of "NotImplementedException"
-dotnet_diagnostic.S3717.severity = none
-
-# S3532: Empty "default" clauses should be removed
-dotnet_diagnostic.S3532.severity = none
-
-# S3441: Redundant property names should be omitted in anonymous classes
-dotnet_diagnostic.S3441.severity = none
-
-# S3257: Declarations and initializations should be as concise as possible
-dotnet_diagnostic.S3257.severity = none
-
-# S3254: Default parameter values should not be passed as arguments
-dotnet_diagnostic.S3254.severity = none
-
-# S3253: Constructor and destructor declarations should not be redundant
-dotnet_diagnostic.S3253.severity = none
-
-# S3242: Method parameters should be declared with base types
-dotnet_diagnostic.S3242.severity = none
-
-# S3240: The simplest possible condition syntax should be used
-dotnet_diagnostic.S3240.severity = none
-
-# S3235: Redundant parentheses should not be used
-dotnet_diagnostic.S3235.severity = none
-
-# S3234: "GC.SuppressFinalize" should not be invoked for types without destructors
-dotnet_diagnostic.S3234.severity = none
-
-# S3052: Members should not be initialized to default values
-dotnet_diagnostic.S3052.severity = none
-
-# S2760: Sequential tests should not check the same condition
-dotnet_diagnostic.S2760.severity = none
-
-# S2333: Redundant modifiers should not be used
-dotnet_diagnostic.S2333.severity = none
-
-# S2325: Methods and properties that don't access instance data should be static
-dotnet_diagnostic.S2325.severity = none
-
-# S2221: "Exception" should not be caught when not required by called methods
-dotnet_diagnostic.S2221.severity = none
-
-# S2156: "sealed" classes should not have "protected" members
-dotnet_diagnostic.S2156.severity = none
-
-# S2148: Underscores should be used to make large numbers readable
-dotnet_diagnostic.S2148.severity = none
-
-# S1858: "ToString()" calls should not be redundant
-dotnet_diagnostic.S1858.severity = none
-
-# S1698: "=" should not be used when "Equals" is overridden
-dotnet_diagnostic.S1698.severity = none
-
-# S1694: An abstract class should have both abstract and concrete methods
-dotnet_diagnostic.S1694.severity = none
-
-# S1659: Multiple variables should not be declared on the same line
-dotnet_diagnostic.S1659.severity = none
-
-# S1449: Culture should be specified for "string" operations
-dotnet_diagnostic.S1449.severity = none
-
-# S1301: "switch" statements should have at least 3 "case" clauses
-dotnet_diagnostic.S1301.severity = none
-
-# S1227: break statements should not be used except for switch cases
-dotnet_diagnostic.S1227.severity = none
-
-# S1192: String literals should not be duplicated
-dotnet_diagnostic.S1192.severity = none
-
-# S113: Files should contain an empty newline at the end
-dotnet_diagnostic.S113.severity = none
-
-# S1128: Unused "using" should be removed
-dotnet_diagnostic.S1128.severity = none
-
-# S1109: A close curly brace should be located at the beginning of a line
-dotnet_diagnostic.S1109.severity = none
-
-# S105: Tabulation characters should not be used
-dotnet_diagnostic.S105.severity = none
-
-# S100: Methods and properties should be named in PascalCase
-dotnet_diagnostic.S100.severity = none
-
-# S1309: Track uses of in-source issue suppressions
-dotnet_diagnostic.S1309.severity = none
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure.Tests/Directory.Build.props b/KenticoInspector.Infrastructure.Tests/Directory.Build.props
deleted file mode 100644
index c4e59780..00000000
--- a/KenticoInspector.Infrastructure.Tests/Directory.Build.props
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure.Tests/editorconfig.txt b/KenticoInspector.Infrastructure.Tests/editorconfig.txt
deleted file mode 100644
index 09c62a85..00000000
--- a/KenticoInspector.Infrastructure.Tests/editorconfig.txt
+++ /dev/null
@@ -1,1245 +0,0 @@
-root = true
-
-[*.cs]
-
-# ===== Active SonarLint rules =====
-
-# [Category: Bug]
-# S2757: "=+" should not be used instead of "+="
-dotnet_diagnostic.S2757.severity = warning
-
-# S3168: "async" methods should not return "void"
-dotnet_diagnostic.S3168.severity = warning
-
-# S3397: "base.Equals" should not be used to check for reference equality in "Equals" if "base" is not "object"
-dotnet_diagnostic.S3397.severity = warning
-
-# S1206: "Equals(Object)" and "GetHashCode()" should be overridden in pairs
-dotnet_diagnostic.S1206.severity = warning
-
-# S2328: "GetHashCode" should not reference mutable fields
-dotnet_diagnostic.S2328.severity = warning
-
-# S2997: "IDisposables" created in a "using" statement should not be returned
-dotnet_diagnostic.S2997.severity = warning
-
-# S2930: "IDisposables" should be disposed
-dotnet_diagnostic.S2930.severity = warning
-
-# S2688: "NaN" should not be used in comparisons
-dotnet_diagnostic.S2688.severity = warning
-
-# S2995: "Object.ReferenceEquals" should not be used for value types
-dotnet_diagnostic.S2995.severity = warning
-
-# S3869: "SafeHandle.DangerousGetHandle" should not be called
-dotnet_diagnostic.S3869.severity = warning
-
-# S3456: "string.ToCharArray()" should not be called redundantly
-dotnet_diagnostic.S3456.severity = warning
-
-# S2996: "ThreadStatic" fields should not be initialized
-dotnet_diagnostic.S2996.severity = warning
-
-# S3005: "ThreadStatic" should not be used on non-static fields
-dotnet_diagnostic.S3005.severity = warning
-
-# S2225: "ToString()" method should not return null
-dotnet_diagnostic.S2225.severity = warning
-
-# S2251: A "for" loop update clause should move the counter in the right direction
-dotnet_diagnostic.S2251.severity = warning
-
-# S3923: All branches in a conditional structure should not have exactly the same implementation
-dotnet_diagnostic.S3923.severity = warning
-
-# S3244: Anonymous delegates should not be used to unsubscribe from Events
-dotnet_diagnostic.S3244.severity = warning
-
-# S3343: Caller information parameters should come at the end of the parameter list
-dotnet_diagnostic.S3343.severity = warning
-
-# S4583: Calls to delegate's method "BeginInvoke" should be paired with calls to "EndInvoke"
-dotnet_diagnostic.S4583.severity = warning
-
-# S3249: Classes directly extending "object" should not call "base" in "GetHashCode" or "Equals"
-dotnet_diagnostic.S3249.severity = warning
-
-# S3453: Classes should not have only "private" constructors
-dotnet_diagnostic.S3453.severity = warning
-
-# S4143: Collection elements should not be replaced unconditionally
-dotnet_diagnostic.S4143.severity = warning
-
-# S3981: Collection sizes and array length comparisons should make sense
-dotnet_diagnostic.S3981.severity = warning
-
-# S2114: Collections should not be passed as arguments to their own methods
-dotnet_diagnostic.S2114.severity = warning
-
-# S2275: Composite format strings should not lead to unexpected behavior at runtime
-dotnet_diagnostic.S2275.severity = warning
-
-# S2583: Conditionally executed code should be reachable
-dotnet_diagnostic.S2583.severity = warning
-
-# S3172: Delegates should not be subtracted
-dotnet_diagnostic.S3172.severity = warning
-
-# S3926: Deserialization methods should be provided for "OptionalField" members
-dotnet_diagnostic.S3926.severity = warning
-
-# S1048: Destructors should not throw exceptions
-dotnet_diagnostic.S1048.severity = warning
-
-# S2761: Doubled prefix operators "!!" and "~~" should not be used
-dotnet_diagnostic.S2761.severity = warning
-
-# S4158: Empty collections should not be accessed or iterated
-dotnet_diagnostic.S4158.severity = warning
-
-# S3655: Empty nullable value should not be accessed
-dotnet_diagnostic.S3655.severity = warning
-
-# S3984: Exceptions should not be created without being thrown
-dotnet_diagnostic.S3984.severity = warning
-
-# S3346: Expressions used in "Debug.Assert" should not produce side effects
-dotnet_diagnostic.S3346.severity = warning
-
-# S2345: Flags enumerations should explicitly initialize all their members
-dotnet_diagnostic.S2345.severity = warning
-
-# S2252: For-loop conditions should be true at least once
-dotnet_diagnostic.S2252.severity = warning
-
-# S4275: Getters and setters should access the expected fields
-dotnet_diagnostic.S4275.severity = warning
-
-# S1764: Identical expressions should not be used on both sides of a binary operator
-dotnet_diagnostic.S1764.severity = warning
-
-# S2183: Integral numbers should not be shifted by zero or more than their number of bits-1
-dotnet_diagnostic.S2183.severity = warning
-
-# S1751: Loops with at most one iteration should be refactored
-dotnet_diagnostic.S1751.severity = warning
-
-# S3603: Methods with "Pure" attribute should return a value
-dotnet_diagnostic.S3603.severity = warning
-
-# S3887: Mutable, non-private fields should not be "readonly"
-dotnet_diagnostic.S3887.severity = warning
-
-# S3889: Neither "Thread.Resume" nor "Thread.Suspend" should be used
-dotnet_diagnostic.S3889.severity = warning
-
-# S4586: Non-async "Task/Task" methods should not return null
-dotnet_diagnostic.S4586.severity = warning
-
-# S2259: Null pointers should not be dereferenced
-dotnet_diagnostic.S2259.severity = warning
-
-# S3610: Nullable type comparison should not be redundant
-dotnet_diagnostic.S3610.severity = warning
-
-# S1848: Objects should not be created to be dropped immediately without being used
-dotnet_diagnostic.S1848.severity = warning
-
-# S3598: One-way "OperationContract" methods should have "void" return type
-dotnet_diagnostic.S3598.severity = warning
-
-# S3466: Optional parameters should be passed to "base" calls
-dotnet_diagnostic.S3466.severity = warning
-
-# S2934: Property assignments should not be made for "readonly" fields not constrained to reference types
-dotnet_diagnostic.S2934.severity = warning
-
-# S2190: Recursion should not be infinite
-dotnet_diagnostic.S2190.severity = warning
-
-# S1862: Related "if/else if" statements should not have the same condition
-dotnet_diagnostic.S1862.severity = warning
-
-# S2184: Results of integer division should not be assigned to floating point variables
-dotnet_diagnostic.S2184.severity = warning
-
-# S2201: Return values from functions without side effects should not be ignored
-dotnet_diagnostic.S2201.severity = warning
-
-# S3449: Right operands of shift operators should be integers
-dotnet_diagnostic.S3449.severity = warning
-
-# S3927: Serialization event handlers should be implemented correctly
-dotnet_diagnostic.S3927.severity = warning
-
-# S2551: Shared resources should not be used for locking
-dotnet_diagnostic.S2551.severity = warning
-
-# S2857: SQL keywords should be delimited by whitespace
-dotnet_diagnostic.S2857.severity = warning
-
-# S3263: Static fields should appear in the order they must be initialized
-dotnet_diagnostic.S3263.severity = warning
-
-# S3464: Type inheritance should not be recursive
-dotnet_diagnostic.S3464.severity = warning
-
-# S3903: Types should be defined in named namespaces
-dotnet_diagnostic.S3903.severity = warning
-
-# S2123: Values should not be uselessly incremented
-dotnet_diagnostic.S2123.severity = warning
-
-# S1656: Variables should not be self-assigned
-dotnet_diagnostic.S1656.severity = warning
-
-# S2306: "async" and "await" should not be used as identifiers
-dotnet_diagnostic.S2306.severity = warning
-
-
-# [Category: Security]
-# S3884: "CoSetProxyBlanket" and "CoInitializeSecurity" should not be used
-dotnet_diagnostic.S3884.severity = warning
-
-# S2115: A secure password should be used when connecting to a database
-dotnet_diagnostic.S2115.severity = warning
-
-# S5547: Cipher algorithms should be robust
-dotnet_diagnostic.S5547.severity = warning
-
-# S3329: Cipher Block Chaining IVs should be unpredictable
-dotnet_diagnostic.S3329.severity = warning
-
-# S5542: Encryption algorithms should be used with secure mode and padding scheme
-dotnet_diagnostic.S5542.severity = warning
-
-# S5445: Insecure temporary file creation methods should not be used
-dotnet_diagnostic.S5445.severity = warning
-
-# S5659: JWT should be signed and verified with strong cipher algorithms
-dotnet_diagnostic.S5659.severity = warning
-
-# S4433: LDAP connections should be authenticated
-dotnet_diagnostic.S4433.severity = warning
-
-# S4211: Members should not have conflicting transparency annotations
-dotnet_diagnostic.S4211.severity = warning
-
-# S4423: Weak SSL/TLS protocols should not be used
-dotnet_diagnostic.S4423.severity = warning
-
-# S2755: XML parsers should not be vulnerable to XXE attacks
-dotnet_diagnostic.S2755.severity = warning
-
-# S2053: Hashes should include an unpredictable salt
-dotnet_diagnostic.S2053.severity = warning
-
-# S4830: Server certificates should be verified during SSL/TLS connections
-dotnet_diagnostic.S4830.severity = warning
-
-# S4426: Cryptographic keys should be robust
-dotnet_diagnostic.S4426.severity = warning
-
-# S5773: Types allowed to be deserialized should be restricted
-dotnet_diagnostic.S5773.severity = warning
-
-
-# [Category: Security Hotspot]
-# S5693: Allowing requests with excessive content length is security-sensitive
-dotnet_diagnostic.S5693.severity = warning
-
-# S4792: Configuring loggers is security-sensitive
-dotnet_diagnostic.S4792.severity = warning
-
-# S3330: Creating cookies without the "HttpOnly" flag is security-sensitive
-dotnet_diagnostic.S3330.severity = warning
-
-# S2092: Creating cookies without the "secure" flag is security-sensitive
-dotnet_diagnostic.S2092.severity = warning
-
-# S4507: Delivering code in production with debug features activated is security-sensitive
-dotnet_diagnostic.S4507.severity = warning
-
-# S5766: Deserializing objects without performing data validation is security-sensitive
-dotnet_diagnostic.S5766.severity = warning
-
-# S5753: Disabling ASP.NET "Request Validation" feature is security-sensitive
-dotnet_diagnostic.S5753.severity = warning
-
-# S4502: Disabling CSRF protections is security-sensitive
-dotnet_diagnostic.S4502.severity = warning
-
-# S5042: Expanding archive files without controlling resource consumption is security-sensitive
-dotnet_diagnostic.S5042.severity = warning
-
-# S2077: Formatting SQL queries is security-sensitive
-dotnet_diagnostic.S2077.severity = warning
-
-# S2068: Hard-coded credentials are security-sensitive
-dotnet_diagnostic.S2068.severity = warning
-
-# S5122: Having a permissive Cross-Origin Resource Sharing policy is security-sensitive
-dotnet_diagnostic.S5122.severity = warning
-
-# S4036: Searching OS commands in PATH is security-sensitive
-dotnet_diagnostic.S4036.severity = warning
-
-# S2612: Setting loose file permissions is security-sensitive
-dotnet_diagnostic.S2612.severity = warning
-
-# S5332: Using clear-text protocols is security-sensitive
-dotnet_diagnostic.S5332.severity = warning
-
-# S1313: Using hardcoded IP addresses is security-sensitive
-dotnet_diagnostic.S1313.severity = warning
-
-# S2257: Using non-standard cryptographic algorithms is security-sensitive
-dotnet_diagnostic.S2257.severity = warning
-
-# S2245: Using pseudorandom number generators (PRNGs) is security-sensitive
-dotnet_diagnostic.S2245.severity = warning
-
-# S5443: Using publicly writable directories is security-sensitive
-dotnet_diagnostic.S5443.severity = warning
-
-# S4790: Using weak hashing algorithms is security-sensitive
-dotnet_diagnostic.S4790.severity = warning
-
-
-# [Category: Code Smell]
-# S3451: "[DefaultValue]" should not be used when "[DefaultParameterValue]" is meant
-dotnet_diagnostic.S3451.severity = warning
-
-# S3447: "[Optional]" should not be used on "ref" or "out" parameters
-dotnet_diagnostic.S3447.severity = warning
-
-# S1155: "Any()" should be used to test for emptiness
-dotnet_diagnostic.S1155.severity = warning
-
-# S2737: "catch" clauses should do more than rethrow
-dotnet_diagnostic.S2737.severity = warning
-
-# S4524: "default" clauses should be first or last
-dotnet_diagnostic.S4524.severity = warning
-
-# S3217: "Explicit" conversions of "foreach" loops should not be used
-dotnet_diagnostic.S3217.severity = warning
-
-# S3971: "GC.SuppressFinalize" should not be called
-dotnet_diagnostic.S3971.severity = warning
-
-# S907: "goto" statement should not be used
-dotnet_diagnostic.S907.severity = warning
-
-# S2692: "IndexOf" checks should not be for positive numbers
-dotnet_diagnostic.S2692.severity = warning
-
-# S3060: "is" should not be used with "this"
-dotnet_diagnostic.S3060.severity = warning
-
-# S1123: "Obsolete" attributes should include explanations
-dotnet_diagnostic.S1123.severity = warning
-
-# S4214: "P/Invoke" methods should not be visible
-dotnet_diagnostic.S4214.severity = warning
-
-# S4061: "params" should be used instead of "varargs"
-dotnet_diagnostic.S4061.severity = warning
-
-# S3262: "params" should be used on overrides
-dotnet_diagnostic.S3262.severity = warning
-
-# S3600: "params" should not be introduced on overrides
-dotnet_diagnostic.S3600.severity = warning
-
-# S3597: "ServiceContract" and "OperationContract" attributes should be used together
-dotnet_diagnostic.S3597.severity = warning
-
-# S3963: "static" fields should be initialized inline
-dotnet_diagnostic.S3963.severity = warning
-
-# S3256: "string.IsNullOrEmpty" should be used
-dotnet_diagnostic.S3256.severity = warning
-
-# S1479: "switch" statements should not have too many "case" clauses
-dotnet_diagnostic.S1479.severity = warning
-
-# S5034: "ValueTask" should be consumed correctly
-dotnet_diagnostic.S5034.severity = warning
-
-# S1264: A "while" loop should be used instead of a "for" loop
-dotnet_diagnostic.S1264.severity = warning
-
-# S3973: A conditionally executed single line should be denoted by indentation
-dotnet_diagnostic.S3973.severity = warning
-
-# S3904: Assemblies should have version information
-dotnet_diagnostic.S3904.severity = warning
-
-# S3415: Assertion arguments should be passed in the correct order
-dotnet_diagnostic.S3415.severity = warning
-
-# S4019: Base class methods should not be hidden
-dotnet_diagnostic.S4019.severity = warning
-
-# S1940: Boolean checks should not be inverted
-dotnet_diagnostic.S1940.severity = warning
-
-# S3236: Caller information arguments should not be provided explicitly
-dotnet_diagnostic.S3236.severity = warning
-
-# S3897: Classes that provide "Equals()" should implement "IEquatable"
-dotnet_diagnostic.S3897.severity = warning
-
-# S3457: Composite format strings should be used correctly
-dotnet_diagnostic.S3457.severity = warning
-
-# S3972: Conditionals should start on new lines
-dotnet_diagnostic.S3972.severity = warning
-
-# S1116: Empty statements should be removed
-dotnet_diagnostic.S1116.severity = warning
-
-# S3264: Events should be invoked
-dotnet_diagnostic.S3264.severity = warning
-
-# S3445: Exceptions should not be explicitly rethrown
-dotnet_diagnostic.S3445.severity = warning
-
-# S1163: Exceptions should not be thrown in finally blocks
-dotnet_diagnostic.S1163.severity = warning
-
-# S2290: Field-like events should not be virtual
-dotnet_diagnostic.S2290.severity = warning
-
-# S2346: Flags enumerations zero-value members should be named "warning"
-dotnet_diagnostic.S2346.severity = warning
-
-# S3251: Implementations should be provided for "partial" methods
-dotnet_diagnostic.S3251.severity = warning
-
-# S1944: Inappropriate casts should not be made
-dotnet_diagnostic.S1944.severity = warning
-
-# S4015: Inherited member visibility should not be decreased
-dotnet_diagnostic.S4015.severity = warning
-
-# S3444: Interfaces should not simply inherit from base interfaces with colliding members
-dotnet_diagnostic.S3444.severity = warning
-
-# S818: Literal suffixes should be upper case
-dotnet_diagnostic.S818.severity = warning
-
-# S3400: Methods should not return constants
-dotnet_diagnostic.S3400.severity = warning
-
-# S2681: Multiline blocks should be enclosed in curly braces
-dotnet_diagnostic.S2681.severity = warning
-
-# S3169: Multiple "OrderBy" calls should not be used
-dotnet_diagnostic.S3169.severity = warning
-
-# S3261: Namespaces should not be empty
-dotnet_diagnostic.S3261.severity = warning
-
-# S4200: Native methods should be wrapped
-dotnet_diagnostic.S4200.severity = warning
-
-# S1199: Nested code blocks should not be used
-dotnet_diagnostic.S1199.severity = warning
-
-# S4070: Non-flags enums should not be marked with "FlagsAttribute"
-dotnet_diagnostic.S4070.severity = warning
-
-# S3265: Non-flags enums should not be used in bitwise operations
-dotnet_diagnostic.S3265.severity = warning
-
-# S4201: Null checks should not be used with "is"
-dotnet_diagnostic.S4201.severity = warning
-
-# S3966: Objects should not be disposed more than once
-dotnet_diagnostic.S3966.severity = warning
-
-# S2291: Overflow checking should not be disabled for "Enumerable.Sum"
-dotnet_diagnostic.S2291.severity = warning
-
-# S1185: Overriding members should do more than simply call the same member in the base class
-dotnet_diagnostic.S1185.severity = warning
-
-# S2234: Parameters should be passed in the correct order
-dotnet_diagnostic.S2234.severity = warning
-
-# S3450: Parameters with "[DefaultParameterValue]" attributes should also be marked "[Optional]"
-dotnet_diagnostic.S3450.severity = warning
-
-# S1905: Redundant casts should not be used
-dotnet_diagnostic.S1905.severity = warning
-
-# S1110: Redundant pairs of parentheses should be removed
-dotnet_diagnostic.S1110.severity = warning
-
-# S2437: Silly bit operations should not be performed
-dotnet_diagnostic.S2437.severity = warning
-
-# S3010: Static fields should not be updated in constructors
-dotnet_diagnostic.S3010.severity = warning
-
-# S4635: String offset-based methods should be preferred for finding substrings from offsets
-dotnet_diagnostic.S4635.severity = warning
-
-# S3998: Threads should not lock on objects with weak identity
-dotnet_diagnostic.S3998.severity = warning
-
-# S1134: Track uses of "FIXME" tags
-dotnet_diagnostic.S1134.severity = warning
-
-# S1135: Track uses of "TODO" tags
-dotnet_diagnostic.S1135.severity = warning
-
-# S1871: Two branches in a conditional structure should not have exactly the same implementation
-dotnet_diagnostic.S1871.severity = warning
-
-# S3443: Type should not be examined on "System.Type" instances
-dotnet_diagnostic.S3443.severity = warning
-
-# S3459: Unassigned members should be removed
-dotnet_diagnostic.S3459.severity = warning
-
-# S3440: Variables should not be checked against the values they're about to be assigned
-dotnet_diagnostic.S3440.severity = warning
-
-# S2479: Whitespace and control characters in string literals should be explicit
-dotnet_diagnostic.S2479.severity = warning
-
-# S2376: Write-only properties should not be used
-dotnet_diagnostic.S2376.severity = warning
-
-# S3442: "abstract" classes should not have "public" constructors
-dotnet_diagnostic.S3442.severity = warning
-
-# S3885: "Assembly.Load" should be used
-dotnet_diagnostic.S3885.severity = warning
-
-# S1210: "Equals" and the comparison operators should be overridden when implementing "IComparable"
-dotnet_diagnostic.S1210.severity = warning
-
-# S1215: "GC.Collect" should not be called
-dotnet_diagnostic.S1215.severity = warning
-
-# S3881: "IDisposable" should be implemented correctly
-dotnet_diagnostic.S3881.severity = warning
-
-# S2971: "IEnumerable" LINQs should be simplified
-dotnet_diagnostic.S2971.severity = warning
-
-# S3925: "ISerializable" should be implemented correctly
-dotnet_diagnostic.S3925.severity = warning
-
-# S4581: "new Guid()" should not be used
-dotnet_diagnostic.S4581.severity = warning
-
-# S3875: "operator==" should not be overloaded on reference types
-dotnet_diagnostic.S3875.severity = warning
-
-# S3237: "value" parameters should be used
-dotnet_diagnostic.S3237.severity = warning
-
-# S1121: Assignments should not be made from within sub-expressions
-dotnet_diagnostic.S1121.severity = warning
-
-# S3376: Attribute, EventArgs, and Exception type names should end with the type being extended
-dotnet_diagnostic.S3376.severity = warning
-
-# S2589: Boolean expressions should not be gratuitous
-dotnet_diagnostic.S2589.severity = warning
-
-# S4035: Classes implementing "IEquatable" should be sealed
-dotnet_diagnostic.S4035.severity = warning
-
-# S3776: Cognitive Complexity of methods should not be too high
-dotnet_diagnostic.S3776.severity = warning
-
-# S1066: Collapsible "if" statements should be merged
-dotnet_diagnostic.S1066.severity = warning
-
-# S1699: Constructors should only call non-overridable methods
-dotnet_diagnostic.S1699.severity = warning
-
-# S2372: Exceptions should not be thrown from property getters
-dotnet_diagnostic.S2372.severity = warning
-
-# S3877: Exceptions should not be thrown from unexpected methods
-dotnet_diagnostic.S3877.severity = warning
-
-# S1104: Fields should not have public accessibility
-dotnet_diagnostic.S1104.severity = warning
-
-# S2933: Fields that are only assigned in the constructor should be "readonly"
-dotnet_diagnostic.S2933.severity = warning
-
-# S112: General exceptions should never be thrown
-dotnet_diagnostic.S112.severity = warning
-
-# S2486: Generic exceptions should not be ignored
-dotnet_diagnostic.S2486.severity = warning
-
-# S3246: Generic type parameters should be co/contravariant when possible
-dotnet_diagnostic.S3246.severity = warning
-
-# S1939: Inheritance list should not be redundant
-dotnet_diagnostic.S1939.severity = warning
-
-# S110: Inheritance tree of classes should not be too deep
-dotnet_diagnostic.S110.severity = warning
-
-# S3218: Inner class members should not shadow outer class "static" or type members
-dotnet_diagnostic.S3218.severity = warning
-
-# S2696: Instance members should not write to "static" fields
-dotnet_diagnostic.S2696.severity = warning
-
-# S3626: Jump statements should not be redundant
-dotnet_diagnostic.S3626.severity = warning
-
-# S1117: Local variables should not shadow class fields
-dotnet_diagnostic.S1117.severity = warning
-
-# S3267: Loops should be simplified with "LINQ" expressions
-dotnet_diagnostic.S3267.severity = warning
-
-# S3604: Member initializer values should not be redundant
-dotnet_diagnostic.S3604.severity = warning
-
-# S3220: Method calls should not resolve ambiguously to overloads with "params"
-dotnet_diagnostic.S3220.severity = warning
-
-# S4136: Method overloads should be grouped together
-dotnet_diagnostic.S4136.severity = warning
-
-# S3427: Method overloads with default parameter values should not overlap
-dotnet_diagnostic.S3427.severity = warning
-
-# S1006: Method overrides should not change parameter defaults
-dotnet_diagnostic.S1006.severity = warning
-
-# S2953: Methods named "Dispose" should implement "IDisposable.Dispose"
-dotnet_diagnostic.S2953.severity = warning
-
-# S1186: Methods should not be empty
-dotnet_diagnostic.S1186.severity = warning
-
-# S4144: Methods should not have identical implementations
-dotnet_diagnostic.S4144.severity = warning
-
-# S107: Methods should not have too many parameters
-dotnet_diagnostic.S107.severity = warning
-
-# S3241: Methods should not return values that are never used
-dotnet_diagnostic.S3241.severity = warning
-
-# S2386: Mutable fields should not be "public static"
-dotnet_diagnostic.S2386.severity = warning
-
-# S108: Nested blocks of code should not be left empty
-dotnet_diagnostic.S108.severity = warning
-
-# S2223: Non-constant static fields should not be visible
-dotnet_diagnostic.S2223.severity = warning
-
-# S3260: Non-derived "private" classes and records should be "sealed"
-dotnet_diagnostic.S3260.severity = warning
-
-# S927: Parameter names should match base declaration and other partial definitions
-dotnet_diagnostic.S927.severity = warning
-
-# S3928: Parameter names used into ArgumentException constructors should match an existing one
-dotnet_diagnostic.S3928.severity = warning
-
-# S4457: Parameter validation in "async"/"await" methods should be wrapped
-dotnet_diagnostic.S4457.severity = warning
-
-# S4456: Parameter validation in yielding methods should be wrapped
-dotnet_diagnostic.S4456.severity = warning
-
-# S1450: Private fields only used as local variables in methods should become local variables
-dotnet_diagnostic.S1450.severity = warning
-
-# S2365: Properties should not make collection or array copies
-dotnet_diagnostic.S2365.severity = warning
-
-# S2368: Public methods should not have multidimensional array parameters
-dotnet_diagnostic.S2368.severity = warning
-
-# S3011: Reflection should not be used to increase accessibility of classes, methods, or fields
-dotnet_diagnostic.S3011.severity = warning
-
-# S2219: Runtime type checking should be simplified
-dotnet_diagnostic.S2219.severity = warning
-
-# S125: Sections of code should not be commented out
-dotnet_diagnostic.S125.severity = warning
-
-# S2178: Short-circuit logic should be used in boolean contexts
-dotnet_diagnostic.S2178.severity = warning
-
-# S2743: Static fields should not be used in generic types
-dotnet_diagnostic.S2743.severity = warning
-
-# S1643: Strings should not be concatenated using '+' in a loop
-dotnet_diagnostic.S1643.severity = warning
-
-# S3358: Ternary operators should not be nested
-dotnet_diagnostic.S3358.severity = warning
-
-# S3433: Test method signatures should be correct
-dotnet_diagnostic.S3433.severity = warning
-
-# S2187: TestCases should contain tests
-dotnet_diagnostic.S2187.severity = warning
-
-# S2699: Tests should include assertions
-dotnet_diagnostic.S2699.severity = warning
-
-# S1607: Tests should not be ignored
-dotnet_diagnostic.S1607.severity = warning
-
-# S2292: Trivial properties should be auto-implemented
-dotnet_diagnostic.S2292.severity = warning
-
-# S2436: Types and methods should not have too many generic parameters
-dotnet_diagnostic.S2436.severity = warning
-
-# S101: Types should be named in PascalCase
-dotnet_diagnostic.S101.severity = warning
-
-# S4487: Unread "private" fields should be removed
-dotnet_diagnostic.S4487.severity = warning
-
-# S1854: Unused assignments should be removed
-dotnet_diagnostic.S1854.severity = warning
-
-# S1481: Unused local variables should be removed
-dotnet_diagnostic.S1481.severity = warning
-
-# S1172: Unused method parameters should be removed
-dotnet_diagnostic.S1172.severity = warning
-
-# S1144: Unused private types or members should be removed
-dotnet_diagnostic.S1144.severity = warning
-
-# S2326: Unused type parameters should be removed
-dotnet_diagnostic.S2326.severity = warning
-
-# S1075: URIs should not be hardcoded
-dotnet_diagnostic.S1075.severity = warning
-
-# S1118: Utility classes should not have public constructors
-dotnet_diagnostic.S1118.severity = warning
-
-# S2376: Write-only properties should not be used
-dotnet_diagnostic.S2376.severity = warning
-
-# S1125: Boolean literals should not be redundant
-dotnet_diagnostic.S1125.severity = warning
-
-
-# ===== Inactive SonarLint rules (must be explicitly turned off) =====
-
-# [Category: Bug] (All these are excluded because they're not applicable to our solution)
-# S4428: "PartCreationPolicyAttribute" should be used with "ExportAttribute"
-dotnet_diagnostic.S4428.severity = none
-
-# S4260: "ConstructorArgument" parameters should exist in constructors
-dotnet_diagnostic.S4260.severity = none
-
-# S4277: "Shared" parts should not be created with "new"
-dotnet_diagnostic.S4277.severity = none
-
-# S4159: Classes should implement their "ExportAttribute" interfaces
-dotnet_diagnostic.S4159.severity = none
-
-# S4210: Windows Forms entry points should be marked with STAThread
-dotnet_diagnostic.S4210.severity = none
-
-
-# [Uncategorized]
-# S6287: HTTP responses should not be vulnerable to session fixation
-dotnet_diagnostic.S6287.severity = none
-
-# S6096: Extracting archives should not lead to zip slip vulnerabilities
-dotnet_diagnostic.S6096.severity = none
-
-# S5334: Dynamic code execution should not be vulnerable to injection attacks
-dotnet_diagnostic.S5334.severity = none
-
-# S5146: HTTP request redirections should not be open to forging attacks
-dotnet_diagnostic.S5146.severity = none
-
-# S5135: Deserialization should not be vulnerable to injection attacks
-dotnet_diagnostic.S5135.severity = none
-
-# S5131: Endpoints should not be vulnerable to reflected cross-site scripting (XSS) attacks
-dotnet_diagnostic.S5131.severity = none
-
-# S3649: Database queries should not be vulnerable to injection attacks
-dotnet_diagnostic.S3649.severity = none
-
-# S2091: XPath expressions should not be vulnerable to injection attacks
-dotnet_diagnostic.S2091.severity = none
-
-# S2083: I/O function calls should not be vulnerable to path injection attacks
-dotnet_diagnostic.S2083.severity = none
-
-# S2078: LDAP queries should not be vulnerable to injection attacks
-dotnet_diagnostic.S2078.severity = none
-
-# S2076: OS commands should not be vulnerable to command injection attacks
-dotnet_diagnostic.S2076.severity = none
-
-# S6424: Azure Functions: Restrictions on entity interfaces
-dotnet_diagnostic.S6424.severity = none
-
-# S6422: Calls to "async" methods should not be blocking in Azure Functions
-dotnet_diagnostic.S6422.severity = none
-
-# S2631: Regular expressions should not be vulnerable to Denial of Service attacks
-dotnet_diagnostic.S2631.severity = none
-
-# S2222: Locks should be released
-dotnet_diagnostic.S2222.severity = none
-
-# S5144: Server-side requests should not be vulnerable to forging attacks
-dotnet_diagnostic.S5144.severity = none
-
-# S6350: Constructing arguments of system commands from user input is security-sensitive
-dotnet_diagnostic.S6350.severity = none
-
-# S6420: Reuse client instances rather than creating new ones with each Azure Function invocation
-dotnet_diagnostic.S6420.severity = none
-
-# S6419: Azure Functions should be stateless
-dotnet_diagnostic.S6419.severity = none
-
-# S5883: OS commands should not be vulnerable to argument injection attacks
-dotnet_diagnostic.S5883.severity = none
-
-# S5145: Logging should not be vulnerable to injection attacks
-dotnet_diagnostic.S5145.severity = none
-
-# S2931: Classes with "IDisposable" members should implement "IDisposable"
-dotnet_diagnostic.S2931.severity = none
-
-# S4462: Calls to "async" methods should not be blocking
-dotnet_diagnostic.S4462.severity = none
-
-# S2387: Child class fields should not shadow parent class fields
-dotnet_diagnostic.S2387.severity = none
-
-# S1451: Track lack of copyright and license headers
-dotnet_diagnostic.S1451.severity = none
-
-# S1147: Exit methods should not be called
-dotnet_diagnostic.S1147.severity = none
-
-# S2952: Classes should "Dispose" of members from the classes' own "Dispose" methods
-dotnet_diagnostic.S2952.severity = none
-
-# S4829: Reading the Standard Input is security-sensitive
-dotnet_diagnostic.S4829.severity = none
-
-# S4823: Using command line arguments is security-sensitive
-dotnet_diagnostic.S4823.severity = none
-
-# S4818: Using Sockets is security-sensitive
-dotnet_diagnostic.S4818.severity = none
-
-# S4787: Encrypting data is security-sensitive
-dotnet_diagnostic.S4787.severity = none
-
-# S4784: Using regular expressions is security-sensitive
-dotnet_diagnostic.S4784.severity = none
-
-# S4039: Interface methods should be callable by derived types
-dotnet_diagnostic.S4039.severity = none
-
-# S4025: Child class fields should not differ from parent class fields only by capitalization
-dotnet_diagnostic.S4025.severity = none
-
-# S4000: Pointers to unmanaged memory should not be visible
-dotnet_diagnostic.S4000.severity = none
-
-# S3937: Number patterns should be regular
-dotnet_diagnostic.S3937.severity = none
-
-# S3874: "out" and "ref" parameters should not be used
-dotnet_diagnostic.S3874.severity = none
-
-# S3353: Unchanged local variables should be "const"
-dotnet_diagnostic.S3353.severity = none
-
-# S3216: "ConfigureAwait(false)" should be used
-dotnet_diagnostic.S3216.severity = none
-
-# S3215: "interface" instances should not be cast to concrete types
-dotnet_diagnostic.S3215.severity = none
-
-# S2701: Literal boolean values should not be used in assertions
-dotnet_diagnostic.S2701.severity = none
-
-# S2360: Optional parameters should not be used
-dotnet_diagnostic.S2360.severity = none
-
-# S2339: Public constant members should not be used
-dotnet_diagnostic.S2339.severity = none
-
-# S2330: Array covariance should not be used
-dotnet_diagnostic.S2330.severity = none
-
-# S2302: "nameof" should be used
-dotnet_diagnostic.S2302.severity = none
-
-# S2197: Modulus results should not be checked for direct equality
-dotnet_diagnostic.S2197.severity = none
-
-# S1994: "for" loop increment clauses should modify the loops' counters
-dotnet_diagnostic.S1994.severity = none
-
-# S1821: "switch" statements should not be nested
-dotnet_diagnostic.S1821.severity = none
-
-# S1541: Methods and properties should not be too complex
-dotnet_diagnostic.S1541.severity = none
-
-# S134: Control flow statements "if", "switch", "for", "foreach", "while", "do" and "try" should not be nested too deeply
-dotnet_diagnostic.S134.severity = none
-
-# S131: "switch/Select" statements should contain a "default/Case Else" clauses
-dotnet_diagnostic.S131.severity = none
-
-# S126: "if ... else if" constructs should end with "else" clauses
-dotnet_diagnostic.S126.severity = none
-
-# S121: Control structures should use curly braces
-dotnet_diagnostic.S121.severity = none
-
-# S1067: Expressions should not be too complex
-dotnet_diagnostic.S1067.severity = none
-
-# S4564: ASP.NET HTTP request validation feature should not be disabled
-dotnet_diagnostic.S4564.severity = none
-
-# S4212: Serialization constructors should be secured
-dotnet_diagnostic.S4212.severity = none
-
-# S3949: Calculations should not overflow
-dotnet_diagnostic.S3949.severity = none
-
-# S1244: Floating point numbers should not be tested for equality
-dotnet_diagnostic.S1244.severity = none
-
-# S881: Increment (++) and decrement (--) operators should not be used in a method call or mixed with other operators in an expression
-dotnet_diagnostic.S881.severity = none
-
-# S6423: Azure Functions should log all failures
-dotnet_diagnostic.S6423.severity = none
-
-# S6421: Azure Functions should use Structured Error Handling
-dotnet_diagnostic.S6421.severity = none
-
-# S6354: Use a testable date/time provider
-dotnet_diagnostic.S6354.severity = none
-
-# S4059: Property names should not match get methods
-dotnet_diagnostic.S4059.severity = none
-
-# S4057: Locales should be set for data types
-dotnet_diagnostic.S4057.severity = none
-
-# S4055: Literals should not be passed as localized parameters
-dotnet_diagnostic.S4055.severity = none
-
-# S4050: Operators should be overloaded consistently
-dotnet_diagnostic.S4050.severity = none
-
-# S4017: Method signatures should not contain nested generic types
-dotnet_diagnostic.S4017.severity = none
-
-# S4016: Enumeration members should not be named "Reserved"
-dotnet_diagnostic.S4016.severity = none
-
-# S4005: "System.Uri" arguments should be used instead of strings
-dotnet_diagnostic.S4005.severity = none
-
-# S4004: Collection properties should be readonly
-dotnet_diagnostic.S4004.severity = none
-
-# S4002: Disposable types should declare finalizers
-dotnet_diagnostic.S4002.severity = none
-
-# S3997: String URI overloads should call "System.Uri" overloads
-dotnet_diagnostic.S3997.severity = none
-
-# S3996: URI properties should not be strings
-dotnet_diagnostic.S3996.severity = none
-
-# S3995: URI return values should not be strings
-dotnet_diagnostic.S3995.severity = none
-
-# S3994: URI Parameters should not be strings
-dotnet_diagnostic.S3994.severity = none
-
-# S3993: Custom attributes should be marked with "System.AttributeUsageAttribute"
-dotnet_diagnostic.S3993.severity = none
-
-# S3992: Assemblies should explicitly specify COM visibility
-dotnet_diagnostic.S3992.severity = none
-
-# S3990: Assemblies should be marked as CLS compliant
-dotnet_diagnostic.S3990.severity = none
-
-# S3956: "Generic.List" instances should not be part of public APIs
-dotnet_diagnostic.S3956.severity = none
-
-# S3909: Collections should implement the generic interface
-dotnet_diagnostic.S3909.severity = none
-
-# S3908: Generic event handlers should be used
-dotnet_diagnostic.S3908.severity = none
-
-# S3906: Event Handlers should have the correct signature
-dotnet_diagnostic.S3906.severity = none
-
-# S3902: "Assembly.GetExecutingAssembly" should not be called
-dotnet_diagnostic.S3902.severity = none
-
-# S3900: Arguments of public methods should be validated against null
-dotnet_diagnostic.S3900.severity = none
-
-# S3898: Value types should implement "IEquatable"
-dotnet_diagnostic.S3898.severity = none
-
-# S3880: Finalizers should not be empty
-dotnet_diagnostic.S3880.severity = none
-
-# S3431: "[ExpectedException]" should not be used
-dotnet_diagnostic.S3431.severity = none
-
-# S3366: "this" should not be exposed from constructors
-dotnet_diagnostic.S3366.severity = none
-
-# S3059: Types should not have members with visibility set higher than the type's visibility
-dotnet_diagnostic.S3059.severity = none
-
-# S2357: Fields should be private
-dotnet_diagnostic.S2357.severity = none
-
-# S2327: "try" statements with identical "catch" and/or "finally" blocks should be merged
-dotnet_diagnostic.S2327.severity = none
-
-# S1696: NullReferenceException should not be caught
-dotnet_diagnostic.S1696.severity = none
-
-# S138: Functions should not have too many lines of code
-dotnet_diagnostic.S138.severity = none
-
-# S127: "for" loop stop conditions should be invariant
-dotnet_diagnostic.S127.severity = none
-
-# S122: Statements should be on separate lines
-dotnet_diagnostic.S122.severity = none
-
-# S1200: Classes should not be coupled to too many other classes (Single Responsibility Principle)
-dotnet_diagnostic.S1200.severity = none
-
-# S1151: "switch case" clauses should not have too many lines of code
-dotnet_diagnostic.S1151.severity = none
-
-# S109: Magic numbers should not be used
-dotnet_diagnostic.S109.severity = none
-
-# S106: Standard outputs should not be used directly to log anything
-dotnet_diagnostic.S106.severity = none
-
-# S104: Files should not have too many lines of code
-dotnet_diagnostic.S104.severity = none
-
-# S103: Lines should not be too long
-dotnet_diagnostic.S103.severity = none
-
-# S5167: HTTP response headers should not be vulnerable to injection attacks
-dotnet_diagnostic.S5167.severity = none
-
-# S2228: Console logging should not be used
-dotnet_diagnostic.S2228.severity = none
-
-# S2955: Generic parameters not constrained to reference types should not be compared to "null"
-dotnet_diagnostic.S2955.severity = none
-
-# S2674: The length returned from a stream read should be checked
-dotnet_diagnostic.S2674.severity = none
-
-# S1226: Method parameters, caught exceptions and foreach variables' initial values should not be ignored
-dotnet_diagnostic.S1226.severity = none
-
-# S4834: Controlling permissions is security-sensitive
-dotnet_diagnostic.S4834.severity = none
-
-# S2255: Writing cookies is security-sensitive
-dotnet_diagnostic.S2255.severity = none
-
-# S4261: Methods should be named according to their synchronicities
-dotnet_diagnostic.S4261.severity = none
-
-# S4226: Extensions should be in separate namespaces
-dotnet_diagnostic.S4226.severity = none
-
-# S4225: Extension methods should not extend "object"
-dotnet_diagnostic.S4225.severity = none
-
-# S4069: Operator overloads should have named alternatives
-dotnet_diagnostic.S4069.severity = none
-
-# S4060: Non-abstract attributes should be sealed
-dotnet_diagnostic.S4060.severity = none
-
-# S4058: Overloads with a "StringComparison" parameter should be used
-dotnet_diagnostic.S4058.severity = none
-
-# S4056: Overloads with a "CultureInfo" or an "IFormatProvider" parameter should be used
-dotnet_diagnostic.S4056.severity = none
-
-# S4052: Types should not extend outdated base types
-dotnet_diagnostic.S4052.severity = none
-
-# S4049: Properties should be preferred
-dotnet_diagnostic.S4049.severity = none
-
-# S4047: Generics should be used when appropriate
-dotnet_diagnostic.S4047.severity = none
-
-# S4041: Type names should not match namespaces
-dotnet_diagnostic.S4041.severity = none
-
-# S4040: Strings should be normalized to uppercase
-dotnet_diagnostic.S4040.severity = none
-
-# S4027: Exceptions should provide standard constructors
-dotnet_diagnostic.S4027.severity = none
-
-# S4026: Assemblies should be marked with "NeutralResourcesLanguageAttribute"
-dotnet_diagnostic.S4026.severity = none
-
-# S4023: Interfaces should not be empty
-dotnet_diagnostic.S4023.severity = none
-
-# S4022: Enumerations should have "Int32" storage
-dotnet_diagnostic.S4022.severity = none
-
-# S4018: Generic methods should provide type parameters
-dotnet_diagnostic.S4018.severity = none
-
-# S3967: Multidimensional arrays should not be used
-dotnet_diagnostic.S3967.severity = none
-
-# S3962: "static readonly" constants should be "const" instead
-dotnet_diagnostic.S3962.severity = none
-
-# S3876: Strings or integral types should be used for indexers
-dotnet_diagnostic.S3876.severity = none
-
-# S3872: Parameter names should not duplicate the names of their methods
-dotnet_diagnostic.S3872.severity = none
-
-# S3717: Track use of "NotImplementedException"
-dotnet_diagnostic.S3717.severity = none
-
-# S3532: Empty "default" clauses should be removed
-dotnet_diagnostic.S3532.severity = none
-
-# S3441: Redundant property names should be omitted in anonymous classes
-dotnet_diagnostic.S3441.severity = none
-
-# S3257: Declarations and initializations should be as concise as possible
-dotnet_diagnostic.S3257.severity = none
-
-# S3254: Default parameter values should not be passed as arguments
-dotnet_diagnostic.S3254.severity = none
-
-# S3253: Constructor and destructor declarations should not be redundant
-dotnet_diagnostic.S3253.severity = none
-
-# S3242: Method parameters should be declared with base types
-dotnet_diagnostic.S3242.severity = none
-
-# S3240: The simplest possible condition syntax should be used
-dotnet_diagnostic.S3240.severity = none
-
-# S3235: Redundant parentheses should not be used
-dotnet_diagnostic.S3235.severity = none
-
-# S3234: "GC.SuppressFinalize" should not be invoked for types without destructors
-dotnet_diagnostic.S3234.severity = none
-
-# S3052: Members should not be initialized to default values
-dotnet_diagnostic.S3052.severity = none
-
-# S2760: Sequential tests should not check the same condition
-dotnet_diagnostic.S2760.severity = none
-
-# S2333: Redundant modifiers should not be used
-dotnet_diagnostic.S2333.severity = none
-
-# S2325: Methods and properties that don't access instance data should be static
-dotnet_diagnostic.S2325.severity = none
-
-# S2221: "Exception" should not be caught when not required by called methods
-dotnet_diagnostic.S2221.severity = none
-
-# S2156: "sealed" classes should not have "protected" members
-dotnet_diagnostic.S2156.severity = none
-
-# S2148: Underscores should be used to make large numbers readable
-dotnet_diagnostic.S2148.severity = none
-
-# S1858: "ToString()" calls should not be redundant
-dotnet_diagnostic.S1858.severity = none
-
-# S1698: "=" should not be used when "Equals" is overridden
-dotnet_diagnostic.S1698.severity = none
-
-# S1694: An abstract class should have both abstract and concrete methods
-dotnet_diagnostic.S1694.severity = none
-
-# S1659: Multiple variables should not be declared on the same line
-dotnet_diagnostic.S1659.severity = none
-
-# S1449: Culture should be specified for "string" operations
-dotnet_diagnostic.S1449.severity = none
-
-# S1301: "switch" statements should have at least 3 "case" clauses
-dotnet_diagnostic.S1301.severity = none
-
-# S1227: break statements should not be used except for switch cases
-dotnet_diagnostic.S1227.severity = none
-
-# S1192: String literals should not be duplicated
-dotnet_diagnostic.S1192.severity = none
-
-# S113: Files should contain an empty newline at the end
-dotnet_diagnostic.S113.severity = none
-
-# S1128: Unused "using" should be removed
-dotnet_diagnostic.S1128.severity = none
-
-# S1109: A close curly brace should be located at the beginning of a line
-dotnet_diagnostic.S1109.severity = none
-
-# S105: Tabulation characters should not be used
-dotnet_diagnostic.S105.severity = none
-
-# S100: Methods and properties should be named in PascalCase
-dotnet_diagnostic.S100.severity = none
-
-# S1309: Track uses of in-source issue suppressions
-dotnet_diagnostic.S1309.severity = none
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure/Directory.Build.props b/KenticoInspector.Infrastructure/Directory.Build.props
deleted file mode 100644
index c4e59780..00000000
--- a/KenticoInspector.Infrastructure/Directory.Build.props
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure/Repositories/ActionRepository.cs b/KenticoInspector.Infrastructure/Repositories/ActionRepository.cs
deleted file mode 100644
index ae97f996..00000000
--- a/KenticoInspector.Infrastructure/Repositories/ActionRepository.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-
-using KenticoInspector.Core.Modules;
-using KenticoInspector.Core.Repositories.Interfaces;
-
-namespace KenticoInspector.Infrastructure.Repositories
-{
- public class ActionRepository : IActionRepository
- {
- private readonly IEnumerable actions;
-
- public ActionRepository(IEnumerable actions)
- {
- this.actions = actions;
- }
-
- public IAction GetAction(string codename)
- {
- var allReports = LoadActions();
- return allReports.FirstOrDefault(x => x.Codename.ToLower() == codename.ToLower());
- }
-
- public IEnumerable GetActions()
- {
- return LoadActions();
- }
-
- private IEnumerable LoadActions()
- {
- return actions;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure/Repositories/InstanceRepository.cs b/KenticoInspector.Infrastructure/Repositories/InstanceRepository.cs
deleted file mode 100644
index a0170b59..00000000
--- a/KenticoInspector.Infrastructure/Repositories/InstanceRepository.cs
+++ /dev/null
@@ -1,77 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Linq;
-
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Repositories.Interfaces;
-
-using Newtonsoft.Json;
-
-namespace KenticoInspector.Infrastructure.Repositories
-{
- public class InstanceRepository : IInstanceRepository
- {
- private readonly string _saveFileLocation = $"{Directory.GetCurrentDirectory()}\\SavedInstances.json";
-
- public bool DeleteInstance(Guid guid)
- {
- var currentInstances = LoadSavedInstances();
- var totalRemoved = currentInstances.RemoveAll(i => i.Guid == guid);
- SaveInstances(currentInstances);
- return totalRemoved > 0;
- }
-
- public Instance GetInstance(Guid guid)
- {
- var instances = GetInstances();
- var selectedInstance = instances.FirstOrDefault(i => i.Guid == guid);
-
- return selectedInstance;
- }
-
- public IList GetInstances()
- {
- return LoadSavedInstances();
- }
-
- public Instance UpsertInstance(Instance instance)
- {
- instance.Guid = instance.Guid == Guid.Empty ? Guid.NewGuid() : instance.Guid;
- var savedInstanceSettings = LoadSavedInstances();
- var existingSettingsIndex = savedInstanceSettings.FindIndex(x => x.Guid == instance.Guid);
- if (existingSettingsIndex == -1)
- {
- savedInstanceSettings.Add(instance);
- }
- else
- {
- savedInstanceSettings[existingSettingsIndex] = instance;
- }
-
- SaveInstances(savedInstanceSettings);
-
- return instance;
- }
-
- private List LoadSavedInstances()
- {
- var saveFileExists = File.Exists(_saveFileLocation);
- if (saveFileExists)
- {
- var saveFileContents = File.ReadAllText(_saveFileLocation);
- var loadedInstances = JsonConvert.DeserializeObject>(saveFileContents);
-
- return loadedInstances;
- }
-
- return new List();
- }
-
- private void SaveInstances(IList instances)
- {
- var jsonText = JsonConvert.SerializeObject(instances, Formatting.Indented);
- File.WriteAllText(_saveFileLocation, jsonText);
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure/Repositories/ReportRepository.cs b/KenticoInspector.Infrastructure/Repositories/ReportRepository.cs
deleted file mode 100644
index ffd639d8..00000000
--- a/KenticoInspector.Infrastructure/Repositories/ReportRepository.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-
-using KenticoInspector.Core.Modules;
-using KenticoInspector.Core.Repositories.Interfaces;
-
-namespace KenticoInspector.Infrastructure.Repositories
-{
- public class ReportRepository : IReportRepository
- {
- private readonly IEnumerable reports;
-
- public ReportRepository(IEnumerable reports)
- {
- this.reports = reports;
- }
-
- public IReport GetReport(string codename)
- {
- var allReports = LoadReports();
- return allReports.FirstOrDefault(x => x.Codename.ToLower() == codename.ToLower());
- }
-
- public IEnumerable GetReports()
- {
- return LoadReports();
- }
-
- private IEnumerable LoadReports()
- {
- return reports.OrderBy(r => r.Codename);
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure/Repositories/SiteRepository.cs b/KenticoInspector.Infrastructure/Repositories/SiteRepository.cs
deleted file mode 100644
index 02683fcd..00000000
--- a/KenticoInspector.Infrastructure/Repositories/SiteRepository.cs
+++ /dev/null
@@ -1,43 +0,0 @@
-using Dapper;
-
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Repositories.Interfaces;
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace KenticoInspector.Infrastructure.Repositories
-{
- public class SiteRepository : ISiteRepository
- {
- public Site GetSite(Instance instance, int siteId)
- {
- throw new NotImplementedException();
- }
-
- public IList GetSites(Instance instance)
- {
- try
- {
- var query = @"
- SELECT
- SiteId as Id,
- SiteName as Name,
- SiteGUID as Guid,
- SiteDomainName as DomainName,
- SitePresentationURL as PresentationUrl
- FROM CMS_Site";
- var connection = DatabaseHelper.GetSqlConnection(instance.DatabaseSettings);
- var sites = connection.Query(query).ToList();
-
- return sites;
- }
- catch
- {
- return new Site[] { };
- }
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure/Services/CmsFileService.cs b/KenticoInspector.Infrastructure/Services/CmsFileService.cs
deleted file mode 100644
index 82f4ae99..00000000
--- a/KenticoInspector.Infrastructure/Services/CmsFileService.cs
+++ /dev/null
@@ -1,34 +0,0 @@
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Services.Interfaces;
-
-using System.Collections.Generic;
-using System.Xml;
-
-namespace KenticoInspector.Core.Helpers
-{
- public class CmsFileService : ICmsFileService
- {
- public Dictionary GetResourceStringsFromResx(string instanceRoot, string relativeResxFilePath = DefaultKenticoPaths.PrimaryResxFile)
- {
- var resourceXml = GetXmlDocument(instanceRoot, relativeResxFilePath);
- var resourceStringNodes = resourceXml?.SelectNodes("/root/data");
- var results = new Dictionary();
- foreach (XmlNode resourceStringNode in resourceStringNodes)
- {
- var key = resourceStringNode.Attributes["name"].InnerText.ToLowerInvariant();
- var value = resourceStringNode.SelectSingleNode("./value").InnerText;
- results.Add(key, value);
- }
-
- return results;
- }
-
- public XmlDocument GetXmlDocument(string instanceRoot, string relativeFilePath)
- {
- var xmlDocument = new XmlDocument();
- xmlDocument.Load(instanceRoot + relativeFilePath);
-
- return xmlDocument;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure/Services/DatabaseService.cs b/KenticoInspector.Infrastructure/Services/DatabaseService.cs
deleted file mode 100644
index 46d91e11..00000000
--- a/KenticoInspector.Infrastructure/Services/DatabaseService.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-using System.Collections.Generic;
-using System.Data;
-using System.Linq;
-
-using Dapper;
-
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-
-namespace KenticoInspector.Infrastructure.Services
-{
- public class DatabaseService : IDatabaseService
- {
- private IDbConnection _connection;
-
- public void Configure(DatabaseSettings databaseSettings)
- {
- _connection = DatabaseHelper.GetSqlConnection(databaseSettings);
- }
-
- public IEnumerable ExecuteSqlFromFile(string relativeFilePath)
- {
- return ExecuteSqlFromFile(relativeFilePath, null, null);
- }
-
- public IEnumerable ExecuteSqlFromFile(string relativeFilePath, dynamic parameters)
- {
- return ExecuteSqlFromFile(relativeFilePath, null, parameters);
- }
-
- public IEnumerable ExecuteSqlFromFile(string relativeFilePath, IDictionary literalReplacements)
- {
- return ExecuteSqlFromFile(relativeFilePath, literalReplacements, null);
- }
-
- public IEnumerable ExecuteSqlFromFile(string relativeFilePath, IDictionary literalReplacements, dynamic parameters)
- {
- var query = FileHelper.GetSqlQueryText(relativeFilePath, literalReplacements);
- return _connection.Query(query, (object)parameters);
- }
-
- public DataTable ExecuteSqlFromFileAsDataTable(string relativeFilePath)
- {
- var query = FileHelper.GetSqlQueryText(relativeFilePath);
- var result = new DataTable();
- result.Load(_connection.ExecuteReader(query));
- return result;
- }
-
- public IEnumerable> ExecuteSqlFromFileGeneric(string relativeFilePath)
- {
- return ExecuteSqlFromFileGeneric(relativeFilePath, null, null);
- }
-
- public IEnumerable> ExecuteSqlFromFileGeneric(string relativeFilePath, dynamic parameters)
- {
- return ExecuteSqlFromFileGeneric(relativeFilePath, null, parameters);
- }
-
- public IEnumerable> ExecuteSqlFromFileGeneric(string relativeFilePath, IDictionary literalReplacements)
- {
- return ExecuteSqlFromFileGeneric(relativeFilePath, literalReplacements, null);
- }
-
- public IEnumerable> ExecuteSqlFromFileGeneric(string relativeFilePath, IDictionary literalReplacements, dynamic parameters)
- {
- var query = FileHelper.GetSqlQueryText(relativeFilePath, literalReplacements);
- return _connection.Query(query, (object)parameters)
- .Select(x => (IDictionary)x);
- }
-
- public T ExecuteSqlFromFileScalar(string relativeFilePath)
- {
- return ExecuteSqlFromFileScalar(relativeFilePath, null, null);
- }
-
- public T ExecuteSqlFromFileScalar(string relativeFilePath, dynamic parameters)
- {
- return ExecuteSqlFromFileScalar(relativeFilePath, null, parameters);
- }
-
- public T ExecuteSqlFromFileScalar(string relativeFilePath, IDictionary literalReplacements)
- {
- return ExecuteSqlFromFileScalar(relativeFilePath, literalReplacements, null);
- }
-
- public T ExecuteSqlFromFileScalar(string relativeFilePath, IDictionary literalReplacements, dynamic parameters)
- {
- var query = FileHelper.GetSqlQueryText(relativeFilePath, literalReplacements);
- return _connection.QueryFirst(query, (object)parameters);
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure/Services/InstanceService.cs b/KenticoInspector.Infrastructure/Services/InstanceService.cs
deleted file mode 100644
index ccb115c0..00000000
--- a/KenticoInspector.Infrastructure/Services/InstanceService.cs
+++ /dev/null
@@ -1,78 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Repositories.Interfaces;
-using KenticoInspector.Core.Services.Interfaces;
-
-namespace KenticoInspector.Infrastructure.Services
-{
- public class InstanceService : IInstanceService
- {
- private readonly IInstanceRepository _instanceRepository;
- private readonly ISiteRepository _siteRepository;
- private readonly IVersionRepository _versionRepository;
- private readonly IDatabaseService _databaseService;
-
- public Instance CurrentInstance { get; private set; }
-
- public InstanceService(
- IInstanceRepository instanceRepository,
- IVersionRepository versionRepository,
- ISiteRepository siteRepository,
- IDatabaseService databaseService)
- {
- _instanceRepository = instanceRepository;
- _versionRepository = versionRepository;
- _siteRepository = siteRepository;
- _databaseService = databaseService;
- }
-
- public bool DeleteInstance(Guid instanceGuid)
- {
- return _instanceRepository.DeleteInstance(instanceGuid);
- }
-
- public Instance GetInstance(Guid instanceGuid)
- {
- return _instanceRepository.GetInstance(instanceGuid);
- }
-
- public Instance SetCurrentInstance(Guid instanceGuid)
- {
- CurrentInstance = _instanceRepository.GetInstance(instanceGuid);
-
- return CurrentInstance;
- }
-
- public InstanceDetails GetInstanceDetails(Guid instanceGuid)
- {
- var instance = _instanceRepository.GetInstance(instanceGuid);
-
- return GetInstanceDetails(instance);
- }
-
- public InstanceDetails GetInstanceDetails(Instance instance)
- {
- _databaseService.Configure(instance.DatabaseSettings);
-
- return new InstanceDetails
- {
- Guid = instance.Guid,
- AdministrationVersion = _versionRepository.GetKenticoAdministrationVersion(instance),
- DatabaseVersion = _versionRepository.GetKenticoDatabaseVersion(instance),
- Sites = _siteRepository.GetSites(instance)
- };
- }
-
- public IList GetInstances()
- {
- return _instanceRepository.GetInstances();
- }
-
- public Instance UpsertInstance(Instance instance)
- {
- return _instanceRepository.UpsertInstance(instance);
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure/Services/ModuleService.cs b/KenticoInspector.Infrastructure/Services/ModuleService.cs
deleted file mode 100644
index adbaa954..00000000
--- a/KenticoInspector.Infrastructure/Services/ModuleService.cs
+++ /dev/null
@@ -1,61 +0,0 @@
-using System;
-using System.Collections.Generic;
-
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Modules;
-using KenticoInspector.Core.Repositories.Interfaces;
-using KenticoInspector.Core.Services.Interfaces;
-
-namespace KenticoInspector.Infrastructure.Services
-{
- public class ModuleService : IModuleService
- {
- private readonly IDatabaseService databaseService;
- private readonly IInstanceService instanceService;
- private readonly IReportRepository reportRepository;
- private readonly IActionRepository actionRepository;
-
- public ModuleService(IReportRepository reportRepository, IActionRepository actionRepository, IInstanceService instanceService, IDatabaseService databaseService)
- {
- this.reportRepository = reportRepository;
- this.actionRepository = actionRepository;
- this.instanceService = instanceService;
- this.databaseService = databaseService;
- }
-
- public ActionResults ExecuteAction(string codename, Guid instanceGuid, string optionsJson)
- {
- var action = actionRepository.GetAction(codename);
- var instance = instanceService.SetCurrentInstance(instanceGuid);
- databaseService.Configure(instance.DatabaseSettings);
-
- return action.Execute(optionsJson);
- }
-
- public IAction GetAction(string codename) => actionRepository.GetAction(codename);
-
- public IEnumerable GetActions(Guid instanceGuid)
- {
- instanceService.SetCurrentInstance(instanceGuid);
- return actionRepository.GetActions();
- }
-
- public IReport GetReport(string codename) => reportRepository.GetReport(codename);
-
- public ReportResults GetReportResults(string reportCodename, Guid instanceGuid)
- {
- var report = reportRepository.GetReport(reportCodename);
- var instance = instanceService.SetCurrentInstance(instanceGuid);
-
- databaseService.Configure(instance.DatabaseSettings);
-
- return report.GetResults();
- }
-
- public IEnumerable GetReports(Guid instanceGuid)
- {
- instanceService.SetCurrentInstance(instanceGuid);
- return reportRepository.GetReports();
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Infrastructure/editorconfig.txt b/KenticoInspector.Infrastructure/editorconfig.txt
deleted file mode 100644
index 09c62a85..00000000
--- a/KenticoInspector.Infrastructure/editorconfig.txt
+++ /dev/null
@@ -1,1245 +0,0 @@
-root = true
-
-[*.cs]
-
-# ===== Active SonarLint rules =====
-
-# [Category: Bug]
-# S2757: "=+" should not be used instead of "+="
-dotnet_diagnostic.S2757.severity = warning
-
-# S3168: "async" methods should not return "void"
-dotnet_diagnostic.S3168.severity = warning
-
-# S3397: "base.Equals" should not be used to check for reference equality in "Equals" if "base" is not "object"
-dotnet_diagnostic.S3397.severity = warning
-
-# S1206: "Equals(Object)" and "GetHashCode()" should be overridden in pairs
-dotnet_diagnostic.S1206.severity = warning
-
-# S2328: "GetHashCode" should not reference mutable fields
-dotnet_diagnostic.S2328.severity = warning
-
-# S2997: "IDisposables" created in a "using" statement should not be returned
-dotnet_diagnostic.S2997.severity = warning
-
-# S2930: "IDisposables" should be disposed
-dotnet_diagnostic.S2930.severity = warning
-
-# S2688: "NaN" should not be used in comparisons
-dotnet_diagnostic.S2688.severity = warning
-
-# S2995: "Object.ReferenceEquals" should not be used for value types
-dotnet_diagnostic.S2995.severity = warning
-
-# S3869: "SafeHandle.DangerousGetHandle" should not be called
-dotnet_diagnostic.S3869.severity = warning
-
-# S3456: "string.ToCharArray()" should not be called redundantly
-dotnet_diagnostic.S3456.severity = warning
-
-# S2996: "ThreadStatic" fields should not be initialized
-dotnet_diagnostic.S2996.severity = warning
-
-# S3005: "ThreadStatic" should not be used on non-static fields
-dotnet_diagnostic.S3005.severity = warning
-
-# S2225: "ToString()" method should not return null
-dotnet_diagnostic.S2225.severity = warning
-
-# S2251: A "for" loop update clause should move the counter in the right direction
-dotnet_diagnostic.S2251.severity = warning
-
-# S3923: All branches in a conditional structure should not have exactly the same implementation
-dotnet_diagnostic.S3923.severity = warning
-
-# S3244: Anonymous delegates should not be used to unsubscribe from Events
-dotnet_diagnostic.S3244.severity = warning
-
-# S3343: Caller information parameters should come at the end of the parameter list
-dotnet_diagnostic.S3343.severity = warning
-
-# S4583: Calls to delegate's method "BeginInvoke" should be paired with calls to "EndInvoke"
-dotnet_diagnostic.S4583.severity = warning
-
-# S3249: Classes directly extending "object" should not call "base" in "GetHashCode" or "Equals"
-dotnet_diagnostic.S3249.severity = warning
-
-# S3453: Classes should not have only "private" constructors
-dotnet_diagnostic.S3453.severity = warning
-
-# S4143: Collection elements should not be replaced unconditionally
-dotnet_diagnostic.S4143.severity = warning
-
-# S3981: Collection sizes and array length comparisons should make sense
-dotnet_diagnostic.S3981.severity = warning
-
-# S2114: Collections should not be passed as arguments to their own methods
-dotnet_diagnostic.S2114.severity = warning
-
-# S2275: Composite format strings should not lead to unexpected behavior at runtime
-dotnet_diagnostic.S2275.severity = warning
-
-# S2583: Conditionally executed code should be reachable
-dotnet_diagnostic.S2583.severity = warning
-
-# S3172: Delegates should not be subtracted
-dotnet_diagnostic.S3172.severity = warning
-
-# S3926: Deserialization methods should be provided for "OptionalField" members
-dotnet_diagnostic.S3926.severity = warning
-
-# S1048: Destructors should not throw exceptions
-dotnet_diagnostic.S1048.severity = warning
-
-# S2761: Doubled prefix operators "!!" and "~~" should not be used
-dotnet_diagnostic.S2761.severity = warning
-
-# S4158: Empty collections should not be accessed or iterated
-dotnet_diagnostic.S4158.severity = warning
-
-# S3655: Empty nullable value should not be accessed
-dotnet_diagnostic.S3655.severity = warning
-
-# S3984: Exceptions should not be created without being thrown
-dotnet_diagnostic.S3984.severity = warning
-
-# S3346: Expressions used in "Debug.Assert" should not produce side effects
-dotnet_diagnostic.S3346.severity = warning
-
-# S2345: Flags enumerations should explicitly initialize all their members
-dotnet_diagnostic.S2345.severity = warning
-
-# S2252: For-loop conditions should be true at least once
-dotnet_diagnostic.S2252.severity = warning
-
-# S4275: Getters and setters should access the expected fields
-dotnet_diagnostic.S4275.severity = warning
-
-# S1764: Identical expressions should not be used on both sides of a binary operator
-dotnet_diagnostic.S1764.severity = warning
-
-# S2183: Integral numbers should not be shifted by zero or more than their number of bits-1
-dotnet_diagnostic.S2183.severity = warning
-
-# S1751: Loops with at most one iteration should be refactored
-dotnet_diagnostic.S1751.severity = warning
-
-# S3603: Methods with "Pure" attribute should return a value
-dotnet_diagnostic.S3603.severity = warning
-
-# S3887: Mutable, non-private fields should not be "readonly"
-dotnet_diagnostic.S3887.severity = warning
-
-# S3889: Neither "Thread.Resume" nor "Thread.Suspend" should be used
-dotnet_diagnostic.S3889.severity = warning
-
-# S4586: Non-async "Task/Task" methods should not return null
-dotnet_diagnostic.S4586.severity = warning
-
-# S2259: Null pointers should not be dereferenced
-dotnet_diagnostic.S2259.severity = warning
-
-# S3610: Nullable type comparison should not be redundant
-dotnet_diagnostic.S3610.severity = warning
-
-# S1848: Objects should not be created to be dropped immediately without being used
-dotnet_diagnostic.S1848.severity = warning
-
-# S3598: One-way "OperationContract" methods should have "void" return type
-dotnet_diagnostic.S3598.severity = warning
-
-# S3466: Optional parameters should be passed to "base" calls
-dotnet_diagnostic.S3466.severity = warning
-
-# S2934: Property assignments should not be made for "readonly" fields not constrained to reference types
-dotnet_diagnostic.S2934.severity = warning
-
-# S2190: Recursion should not be infinite
-dotnet_diagnostic.S2190.severity = warning
-
-# S1862: Related "if/else if" statements should not have the same condition
-dotnet_diagnostic.S1862.severity = warning
-
-# S2184: Results of integer division should not be assigned to floating point variables
-dotnet_diagnostic.S2184.severity = warning
-
-# S2201: Return values from functions without side effects should not be ignored
-dotnet_diagnostic.S2201.severity = warning
-
-# S3449: Right operands of shift operators should be integers
-dotnet_diagnostic.S3449.severity = warning
-
-# S3927: Serialization event handlers should be implemented correctly
-dotnet_diagnostic.S3927.severity = warning
-
-# S2551: Shared resources should not be used for locking
-dotnet_diagnostic.S2551.severity = warning
-
-# S2857: SQL keywords should be delimited by whitespace
-dotnet_diagnostic.S2857.severity = warning
-
-# S3263: Static fields should appear in the order they must be initialized
-dotnet_diagnostic.S3263.severity = warning
-
-# S3464: Type inheritance should not be recursive
-dotnet_diagnostic.S3464.severity = warning
-
-# S3903: Types should be defined in named namespaces
-dotnet_diagnostic.S3903.severity = warning
-
-# S2123: Values should not be uselessly incremented
-dotnet_diagnostic.S2123.severity = warning
-
-# S1656: Variables should not be self-assigned
-dotnet_diagnostic.S1656.severity = warning
-
-# S2306: "async" and "await" should not be used as identifiers
-dotnet_diagnostic.S2306.severity = warning
-
-
-# [Category: Security]
-# S3884: "CoSetProxyBlanket" and "CoInitializeSecurity" should not be used
-dotnet_diagnostic.S3884.severity = warning
-
-# S2115: A secure password should be used when connecting to a database
-dotnet_diagnostic.S2115.severity = warning
-
-# S5547: Cipher algorithms should be robust
-dotnet_diagnostic.S5547.severity = warning
-
-# S3329: Cipher Block Chaining IVs should be unpredictable
-dotnet_diagnostic.S3329.severity = warning
-
-# S5542: Encryption algorithms should be used with secure mode and padding scheme
-dotnet_diagnostic.S5542.severity = warning
-
-# S5445: Insecure temporary file creation methods should not be used
-dotnet_diagnostic.S5445.severity = warning
-
-# S5659: JWT should be signed and verified with strong cipher algorithms
-dotnet_diagnostic.S5659.severity = warning
-
-# S4433: LDAP connections should be authenticated
-dotnet_diagnostic.S4433.severity = warning
-
-# S4211: Members should not have conflicting transparency annotations
-dotnet_diagnostic.S4211.severity = warning
-
-# S4423: Weak SSL/TLS protocols should not be used
-dotnet_diagnostic.S4423.severity = warning
-
-# S2755: XML parsers should not be vulnerable to XXE attacks
-dotnet_diagnostic.S2755.severity = warning
-
-# S2053: Hashes should include an unpredictable salt
-dotnet_diagnostic.S2053.severity = warning
-
-# S4830: Server certificates should be verified during SSL/TLS connections
-dotnet_diagnostic.S4830.severity = warning
-
-# S4426: Cryptographic keys should be robust
-dotnet_diagnostic.S4426.severity = warning
-
-# S5773: Types allowed to be deserialized should be restricted
-dotnet_diagnostic.S5773.severity = warning
-
-
-# [Category: Security Hotspot]
-# S5693: Allowing requests with excessive content length is security-sensitive
-dotnet_diagnostic.S5693.severity = warning
-
-# S4792: Configuring loggers is security-sensitive
-dotnet_diagnostic.S4792.severity = warning
-
-# S3330: Creating cookies without the "HttpOnly" flag is security-sensitive
-dotnet_diagnostic.S3330.severity = warning
-
-# S2092: Creating cookies without the "secure" flag is security-sensitive
-dotnet_diagnostic.S2092.severity = warning
-
-# S4507: Delivering code in production with debug features activated is security-sensitive
-dotnet_diagnostic.S4507.severity = warning
-
-# S5766: Deserializing objects without performing data validation is security-sensitive
-dotnet_diagnostic.S5766.severity = warning
-
-# S5753: Disabling ASP.NET "Request Validation" feature is security-sensitive
-dotnet_diagnostic.S5753.severity = warning
-
-# S4502: Disabling CSRF protections is security-sensitive
-dotnet_diagnostic.S4502.severity = warning
-
-# S5042: Expanding archive files without controlling resource consumption is security-sensitive
-dotnet_diagnostic.S5042.severity = warning
-
-# S2077: Formatting SQL queries is security-sensitive
-dotnet_diagnostic.S2077.severity = warning
-
-# S2068: Hard-coded credentials are security-sensitive
-dotnet_diagnostic.S2068.severity = warning
-
-# S5122: Having a permissive Cross-Origin Resource Sharing policy is security-sensitive
-dotnet_diagnostic.S5122.severity = warning
-
-# S4036: Searching OS commands in PATH is security-sensitive
-dotnet_diagnostic.S4036.severity = warning
-
-# S2612: Setting loose file permissions is security-sensitive
-dotnet_diagnostic.S2612.severity = warning
-
-# S5332: Using clear-text protocols is security-sensitive
-dotnet_diagnostic.S5332.severity = warning
-
-# S1313: Using hardcoded IP addresses is security-sensitive
-dotnet_diagnostic.S1313.severity = warning
-
-# S2257: Using non-standard cryptographic algorithms is security-sensitive
-dotnet_diagnostic.S2257.severity = warning
-
-# S2245: Using pseudorandom number generators (PRNGs) is security-sensitive
-dotnet_diagnostic.S2245.severity = warning
-
-# S5443: Using publicly writable directories is security-sensitive
-dotnet_diagnostic.S5443.severity = warning
-
-# S4790: Using weak hashing algorithms is security-sensitive
-dotnet_diagnostic.S4790.severity = warning
-
-
-# [Category: Code Smell]
-# S3451: "[DefaultValue]" should not be used when "[DefaultParameterValue]" is meant
-dotnet_diagnostic.S3451.severity = warning
-
-# S3447: "[Optional]" should not be used on "ref" or "out" parameters
-dotnet_diagnostic.S3447.severity = warning
-
-# S1155: "Any()" should be used to test for emptiness
-dotnet_diagnostic.S1155.severity = warning
-
-# S2737: "catch" clauses should do more than rethrow
-dotnet_diagnostic.S2737.severity = warning
-
-# S4524: "default" clauses should be first or last
-dotnet_diagnostic.S4524.severity = warning
-
-# S3217: "Explicit" conversions of "foreach" loops should not be used
-dotnet_diagnostic.S3217.severity = warning
-
-# S3971: "GC.SuppressFinalize" should not be called
-dotnet_diagnostic.S3971.severity = warning
-
-# S907: "goto" statement should not be used
-dotnet_diagnostic.S907.severity = warning
-
-# S2692: "IndexOf" checks should not be for positive numbers
-dotnet_diagnostic.S2692.severity = warning
-
-# S3060: "is" should not be used with "this"
-dotnet_diagnostic.S3060.severity = warning
-
-# S1123: "Obsolete" attributes should include explanations
-dotnet_diagnostic.S1123.severity = warning
-
-# S4214: "P/Invoke" methods should not be visible
-dotnet_diagnostic.S4214.severity = warning
-
-# S4061: "params" should be used instead of "varargs"
-dotnet_diagnostic.S4061.severity = warning
-
-# S3262: "params" should be used on overrides
-dotnet_diagnostic.S3262.severity = warning
-
-# S3600: "params" should not be introduced on overrides
-dotnet_diagnostic.S3600.severity = warning
-
-# S3597: "ServiceContract" and "OperationContract" attributes should be used together
-dotnet_diagnostic.S3597.severity = warning
-
-# S3963: "static" fields should be initialized inline
-dotnet_diagnostic.S3963.severity = warning
-
-# S3256: "string.IsNullOrEmpty" should be used
-dotnet_diagnostic.S3256.severity = warning
-
-# S1479: "switch" statements should not have too many "case" clauses
-dotnet_diagnostic.S1479.severity = warning
-
-# S5034: "ValueTask" should be consumed correctly
-dotnet_diagnostic.S5034.severity = warning
-
-# S1264: A "while" loop should be used instead of a "for" loop
-dotnet_diagnostic.S1264.severity = warning
-
-# S3973: A conditionally executed single line should be denoted by indentation
-dotnet_diagnostic.S3973.severity = warning
-
-# S3904: Assemblies should have version information
-dotnet_diagnostic.S3904.severity = warning
-
-# S3415: Assertion arguments should be passed in the correct order
-dotnet_diagnostic.S3415.severity = warning
-
-# S4019: Base class methods should not be hidden
-dotnet_diagnostic.S4019.severity = warning
-
-# S1940: Boolean checks should not be inverted
-dotnet_diagnostic.S1940.severity = warning
-
-# S3236: Caller information arguments should not be provided explicitly
-dotnet_diagnostic.S3236.severity = warning
-
-# S3897: Classes that provide "Equals()" should implement "IEquatable"
-dotnet_diagnostic.S3897.severity = warning
-
-# S3457: Composite format strings should be used correctly
-dotnet_diagnostic.S3457.severity = warning
-
-# S3972: Conditionals should start on new lines
-dotnet_diagnostic.S3972.severity = warning
-
-# S1116: Empty statements should be removed
-dotnet_diagnostic.S1116.severity = warning
-
-# S3264: Events should be invoked
-dotnet_diagnostic.S3264.severity = warning
-
-# S3445: Exceptions should not be explicitly rethrown
-dotnet_diagnostic.S3445.severity = warning
-
-# S1163: Exceptions should not be thrown in finally blocks
-dotnet_diagnostic.S1163.severity = warning
-
-# S2290: Field-like events should not be virtual
-dotnet_diagnostic.S2290.severity = warning
-
-# S2346: Flags enumerations zero-value members should be named "warning"
-dotnet_diagnostic.S2346.severity = warning
-
-# S3251: Implementations should be provided for "partial" methods
-dotnet_diagnostic.S3251.severity = warning
-
-# S1944: Inappropriate casts should not be made
-dotnet_diagnostic.S1944.severity = warning
-
-# S4015: Inherited member visibility should not be decreased
-dotnet_diagnostic.S4015.severity = warning
-
-# S3444: Interfaces should not simply inherit from base interfaces with colliding members
-dotnet_diagnostic.S3444.severity = warning
-
-# S818: Literal suffixes should be upper case
-dotnet_diagnostic.S818.severity = warning
-
-# S3400: Methods should not return constants
-dotnet_diagnostic.S3400.severity = warning
-
-# S2681: Multiline blocks should be enclosed in curly braces
-dotnet_diagnostic.S2681.severity = warning
-
-# S3169: Multiple "OrderBy" calls should not be used
-dotnet_diagnostic.S3169.severity = warning
-
-# S3261: Namespaces should not be empty
-dotnet_diagnostic.S3261.severity = warning
-
-# S4200: Native methods should be wrapped
-dotnet_diagnostic.S4200.severity = warning
-
-# S1199: Nested code blocks should not be used
-dotnet_diagnostic.S1199.severity = warning
-
-# S4070: Non-flags enums should not be marked with "FlagsAttribute"
-dotnet_diagnostic.S4070.severity = warning
-
-# S3265: Non-flags enums should not be used in bitwise operations
-dotnet_diagnostic.S3265.severity = warning
-
-# S4201: Null checks should not be used with "is"
-dotnet_diagnostic.S4201.severity = warning
-
-# S3966: Objects should not be disposed more than once
-dotnet_diagnostic.S3966.severity = warning
-
-# S2291: Overflow checking should not be disabled for "Enumerable.Sum"
-dotnet_diagnostic.S2291.severity = warning
-
-# S1185: Overriding members should do more than simply call the same member in the base class
-dotnet_diagnostic.S1185.severity = warning
-
-# S2234: Parameters should be passed in the correct order
-dotnet_diagnostic.S2234.severity = warning
-
-# S3450: Parameters with "[DefaultParameterValue]" attributes should also be marked "[Optional]"
-dotnet_diagnostic.S3450.severity = warning
-
-# S1905: Redundant casts should not be used
-dotnet_diagnostic.S1905.severity = warning
-
-# S1110: Redundant pairs of parentheses should be removed
-dotnet_diagnostic.S1110.severity = warning
-
-# S2437: Silly bit operations should not be performed
-dotnet_diagnostic.S2437.severity = warning
-
-# S3010: Static fields should not be updated in constructors
-dotnet_diagnostic.S3010.severity = warning
-
-# S4635: String offset-based methods should be preferred for finding substrings from offsets
-dotnet_diagnostic.S4635.severity = warning
-
-# S3998: Threads should not lock on objects with weak identity
-dotnet_diagnostic.S3998.severity = warning
-
-# S1134: Track uses of "FIXME" tags
-dotnet_diagnostic.S1134.severity = warning
-
-# S1135: Track uses of "TODO" tags
-dotnet_diagnostic.S1135.severity = warning
-
-# S1871: Two branches in a conditional structure should not have exactly the same implementation
-dotnet_diagnostic.S1871.severity = warning
-
-# S3443: Type should not be examined on "System.Type" instances
-dotnet_diagnostic.S3443.severity = warning
-
-# S3459: Unassigned members should be removed
-dotnet_diagnostic.S3459.severity = warning
-
-# S3440: Variables should not be checked against the values they're about to be assigned
-dotnet_diagnostic.S3440.severity = warning
-
-# S2479: Whitespace and control characters in string literals should be explicit
-dotnet_diagnostic.S2479.severity = warning
-
-# S2376: Write-only properties should not be used
-dotnet_diagnostic.S2376.severity = warning
-
-# S3442: "abstract" classes should not have "public" constructors
-dotnet_diagnostic.S3442.severity = warning
-
-# S3885: "Assembly.Load" should be used
-dotnet_diagnostic.S3885.severity = warning
-
-# S1210: "Equals" and the comparison operators should be overridden when implementing "IComparable"
-dotnet_diagnostic.S1210.severity = warning
-
-# S1215: "GC.Collect" should not be called
-dotnet_diagnostic.S1215.severity = warning
-
-# S3881: "IDisposable" should be implemented correctly
-dotnet_diagnostic.S3881.severity = warning
-
-# S2971: "IEnumerable" LINQs should be simplified
-dotnet_diagnostic.S2971.severity = warning
-
-# S3925: "ISerializable" should be implemented correctly
-dotnet_diagnostic.S3925.severity = warning
-
-# S4581: "new Guid()" should not be used
-dotnet_diagnostic.S4581.severity = warning
-
-# S3875: "operator==" should not be overloaded on reference types
-dotnet_diagnostic.S3875.severity = warning
-
-# S3237: "value" parameters should be used
-dotnet_diagnostic.S3237.severity = warning
-
-# S1121: Assignments should not be made from within sub-expressions
-dotnet_diagnostic.S1121.severity = warning
-
-# S3376: Attribute, EventArgs, and Exception type names should end with the type being extended
-dotnet_diagnostic.S3376.severity = warning
-
-# S2589: Boolean expressions should not be gratuitous
-dotnet_diagnostic.S2589.severity = warning
-
-# S4035: Classes implementing "IEquatable" should be sealed
-dotnet_diagnostic.S4035.severity = warning
-
-# S3776: Cognitive Complexity of methods should not be too high
-dotnet_diagnostic.S3776.severity = warning
-
-# S1066: Collapsible "if" statements should be merged
-dotnet_diagnostic.S1066.severity = warning
-
-# S1699: Constructors should only call non-overridable methods
-dotnet_diagnostic.S1699.severity = warning
-
-# S2372: Exceptions should not be thrown from property getters
-dotnet_diagnostic.S2372.severity = warning
-
-# S3877: Exceptions should not be thrown from unexpected methods
-dotnet_diagnostic.S3877.severity = warning
-
-# S1104: Fields should not have public accessibility
-dotnet_diagnostic.S1104.severity = warning
-
-# S2933: Fields that are only assigned in the constructor should be "readonly"
-dotnet_diagnostic.S2933.severity = warning
-
-# S112: General exceptions should never be thrown
-dotnet_diagnostic.S112.severity = warning
-
-# S2486: Generic exceptions should not be ignored
-dotnet_diagnostic.S2486.severity = warning
-
-# S3246: Generic type parameters should be co/contravariant when possible
-dotnet_diagnostic.S3246.severity = warning
-
-# S1939: Inheritance list should not be redundant
-dotnet_diagnostic.S1939.severity = warning
-
-# S110: Inheritance tree of classes should not be too deep
-dotnet_diagnostic.S110.severity = warning
-
-# S3218: Inner class members should not shadow outer class "static" or type members
-dotnet_diagnostic.S3218.severity = warning
-
-# S2696: Instance members should not write to "static" fields
-dotnet_diagnostic.S2696.severity = warning
-
-# S3626: Jump statements should not be redundant
-dotnet_diagnostic.S3626.severity = warning
-
-# S1117: Local variables should not shadow class fields
-dotnet_diagnostic.S1117.severity = warning
-
-# S3267: Loops should be simplified with "LINQ" expressions
-dotnet_diagnostic.S3267.severity = warning
-
-# S3604: Member initializer values should not be redundant
-dotnet_diagnostic.S3604.severity = warning
-
-# S3220: Method calls should not resolve ambiguously to overloads with "params"
-dotnet_diagnostic.S3220.severity = warning
-
-# S4136: Method overloads should be grouped together
-dotnet_diagnostic.S4136.severity = warning
-
-# S3427: Method overloads with default parameter values should not overlap
-dotnet_diagnostic.S3427.severity = warning
-
-# S1006: Method overrides should not change parameter defaults
-dotnet_diagnostic.S1006.severity = warning
-
-# S2953: Methods named "Dispose" should implement "IDisposable.Dispose"
-dotnet_diagnostic.S2953.severity = warning
-
-# S1186: Methods should not be empty
-dotnet_diagnostic.S1186.severity = warning
-
-# S4144: Methods should not have identical implementations
-dotnet_diagnostic.S4144.severity = warning
-
-# S107: Methods should not have too many parameters
-dotnet_diagnostic.S107.severity = warning
-
-# S3241: Methods should not return values that are never used
-dotnet_diagnostic.S3241.severity = warning
-
-# S2386: Mutable fields should not be "public static"
-dotnet_diagnostic.S2386.severity = warning
-
-# S108: Nested blocks of code should not be left empty
-dotnet_diagnostic.S108.severity = warning
-
-# S2223: Non-constant static fields should not be visible
-dotnet_diagnostic.S2223.severity = warning
-
-# S3260: Non-derived "private" classes and records should be "sealed"
-dotnet_diagnostic.S3260.severity = warning
-
-# S927: Parameter names should match base declaration and other partial definitions
-dotnet_diagnostic.S927.severity = warning
-
-# S3928: Parameter names used into ArgumentException constructors should match an existing one
-dotnet_diagnostic.S3928.severity = warning
-
-# S4457: Parameter validation in "async"/"await" methods should be wrapped
-dotnet_diagnostic.S4457.severity = warning
-
-# S4456: Parameter validation in yielding methods should be wrapped
-dotnet_diagnostic.S4456.severity = warning
-
-# S1450: Private fields only used as local variables in methods should become local variables
-dotnet_diagnostic.S1450.severity = warning
-
-# S2365: Properties should not make collection or array copies
-dotnet_diagnostic.S2365.severity = warning
-
-# S2368: Public methods should not have multidimensional array parameters
-dotnet_diagnostic.S2368.severity = warning
-
-# S3011: Reflection should not be used to increase accessibility of classes, methods, or fields
-dotnet_diagnostic.S3011.severity = warning
-
-# S2219: Runtime type checking should be simplified
-dotnet_diagnostic.S2219.severity = warning
-
-# S125: Sections of code should not be commented out
-dotnet_diagnostic.S125.severity = warning
-
-# S2178: Short-circuit logic should be used in boolean contexts
-dotnet_diagnostic.S2178.severity = warning
-
-# S2743: Static fields should not be used in generic types
-dotnet_diagnostic.S2743.severity = warning
-
-# S1643: Strings should not be concatenated using '+' in a loop
-dotnet_diagnostic.S1643.severity = warning
-
-# S3358: Ternary operators should not be nested
-dotnet_diagnostic.S3358.severity = warning
-
-# S3433: Test method signatures should be correct
-dotnet_diagnostic.S3433.severity = warning
-
-# S2187: TestCases should contain tests
-dotnet_diagnostic.S2187.severity = warning
-
-# S2699: Tests should include assertions
-dotnet_diagnostic.S2699.severity = warning
-
-# S1607: Tests should not be ignored
-dotnet_diagnostic.S1607.severity = warning
-
-# S2292: Trivial properties should be auto-implemented
-dotnet_diagnostic.S2292.severity = warning
-
-# S2436: Types and methods should not have too many generic parameters
-dotnet_diagnostic.S2436.severity = warning
-
-# S101: Types should be named in PascalCase
-dotnet_diagnostic.S101.severity = warning
-
-# S4487: Unread "private" fields should be removed
-dotnet_diagnostic.S4487.severity = warning
-
-# S1854: Unused assignments should be removed
-dotnet_diagnostic.S1854.severity = warning
-
-# S1481: Unused local variables should be removed
-dotnet_diagnostic.S1481.severity = warning
-
-# S1172: Unused method parameters should be removed
-dotnet_diagnostic.S1172.severity = warning
-
-# S1144: Unused private types or members should be removed
-dotnet_diagnostic.S1144.severity = warning
-
-# S2326: Unused type parameters should be removed
-dotnet_diagnostic.S2326.severity = warning
-
-# S1075: URIs should not be hardcoded
-dotnet_diagnostic.S1075.severity = warning
-
-# S1118: Utility classes should not have public constructors
-dotnet_diagnostic.S1118.severity = warning
-
-# S2376: Write-only properties should not be used
-dotnet_diagnostic.S2376.severity = warning
-
-# S1125: Boolean literals should not be redundant
-dotnet_diagnostic.S1125.severity = warning
-
-
-# ===== Inactive SonarLint rules (must be explicitly turned off) =====
-
-# [Category: Bug] (All these are excluded because they're not applicable to our solution)
-# S4428: "PartCreationPolicyAttribute" should be used with "ExportAttribute"
-dotnet_diagnostic.S4428.severity = none
-
-# S4260: "ConstructorArgument" parameters should exist in constructors
-dotnet_diagnostic.S4260.severity = none
-
-# S4277: "Shared" parts should not be created with "new"
-dotnet_diagnostic.S4277.severity = none
-
-# S4159: Classes should implement their "ExportAttribute" interfaces
-dotnet_diagnostic.S4159.severity = none
-
-# S4210: Windows Forms entry points should be marked with STAThread
-dotnet_diagnostic.S4210.severity = none
-
-
-# [Uncategorized]
-# S6287: HTTP responses should not be vulnerable to session fixation
-dotnet_diagnostic.S6287.severity = none
-
-# S6096: Extracting archives should not lead to zip slip vulnerabilities
-dotnet_diagnostic.S6096.severity = none
-
-# S5334: Dynamic code execution should not be vulnerable to injection attacks
-dotnet_diagnostic.S5334.severity = none
-
-# S5146: HTTP request redirections should not be open to forging attacks
-dotnet_diagnostic.S5146.severity = none
-
-# S5135: Deserialization should not be vulnerable to injection attacks
-dotnet_diagnostic.S5135.severity = none
-
-# S5131: Endpoints should not be vulnerable to reflected cross-site scripting (XSS) attacks
-dotnet_diagnostic.S5131.severity = none
-
-# S3649: Database queries should not be vulnerable to injection attacks
-dotnet_diagnostic.S3649.severity = none
-
-# S2091: XPath expressions should not be vulnerable to injection attacks
-dotnet_diagnostic.S2091.severity = none
-
-# S2083: I/O function calls should not be vulnerable to path injection attacks
-dotnet_diagnostic.S2083.severity = none
-
-# S2078: LDAP queries should not be vulnerable to injection attacks
-dotnet_diagnostic.S2078.severity = none
-
-# S2076: OS commands should not be vulnerable to command injection attacks
-dotnet_diagnostic.S2076.severity = none
-
-# S6424: Azure Functions: Restrictions on entity interfaces
-dotnet_diagnostic.S6424.severity = none
-
-# S6422: Calls to "async" methods should not be blocking in Azure Functions
-dotnet_diagnostic.S6422.severity = none
-
-# S2631: Regular expressions should not be vulnerable to Denial of Service attacks
-dotnet_diagnostic.S2631.severity = none
-
-# S2222: Locks should be released
-dotnet_diagnostic.S2222.severity = none
-
-# S5144: Server-side requests should not be vulnerable to forging attacks
-dotnet_diagnostic.S5144.severity = none
-
-# S6350: Constructing arguments of system commands from user input is security-sensitive
-dotnet_diagnostic.S6350.severity = none
-
-# S6420: Reuse client instances rather than creating new ones with each Azure Function invocation
-dotnet_diagnostic.S6420.severity = none
-
-# S6419: Azure Functions should be stateless
-dotnet_diagnostic.S6419.severity = none
-
-# S5883: OS commands should not be vulnerable to argument injection attacks
-dotnet_diagnostic.S5883.severity = none
-
-# S5145: Logging should not be vulnerable to injection attacks
-dotnet_diagnostic.S5145.severity = none
-
-# S2931: Classes with "IDisposable" members should implement "IDisposable"
-dotnet_diagnostic.S2931.severity = none
-
-# S4462: Calls to "async" methods should not be blocking
-dotnet_diagnostic.S4462.severity = none
-
-# S2387: Child class fields should not shadow parent class fields
-dotnet_diagnostic.S2387.severity = none
-
-# S1451: Track lack of copyright and license headers
-dotnet_diagnostic.S1451.severity = none
-
-# S1147: Exit methods should not be called
-dotnet_diagnostic.S1147.severity = none
-
-# S2952: Classes should "Dispose" of members from the classes' own "Dispose" methods
-dotnet_diagnostic.S2952.severity = none
-
-# S4829: Reading the Standard Input is security-sensitive
-dotnet_diagnostic.S4829.severity = none
-
-# S4823: Using command line arguments is security-sensitive
-dotnet_diagnostic.S4823.severity = none
-
-# S4818: Using Sockets is security-sensitive
-dotnet_diagnostic.S4818.severity = none
-
-# S4787: Encrypting data is security-sensitive
-dotnet_diagnostic.S4787.severity = none
-
-# S4784: Using regular expressions is security-sensitive
-dotnet_diagnostic.S4784.severity = none
-
-# S4039: Interface methods should be callable by derived types
-dotnet_diagnostic.S4039.severity = none
-
-# S4025: Child class fields should not differ from parent class fields only by capitalization
-dotnet_diagnostic.S4025.severity = none
-
-# S4000: Pointers to unmanaged memory should not be visible
-dotnet_diagnostic.S4000.severity = none
-
-# S3937: Number patterns should be regular
-dotnet_diagnostic.S3937.severity = none
-
-# S3874: "out" and "ref" parameters should not be used
-dotnet_diagnostic.S3874.severity = none
-
-# S3353: Unchanged local variables should be "const"
-dotnet_diagnostic.S3353.severity = none
-
-# S3216: "ConfigureAwait(false)" should be used
-dotnet_diagnostic.S3216.severity = none
-
-# S3215: "interface" instances should not be cast to concrete types
-dotnet_diagnostic.S3215.severity = none
-
-# S2701: Literal boolean values should not be used in assertions
-dotnet_diagnostic.S2701.severity = none
-
-# S2360: Optional parameters should not be used
-dotnet_diagnostic.S2360.severity = none
-
-# S2339: Public constant members should not be used
-dotnet_diagnostic.S2339.severity = none
-
-# S2330: Array covariance should not be used
-dotnet_diagnostic.S2330.severity = none
-
-# S2302: "nameof" should be used
-dotnet_diagnostic.S2302.severity = none
-
-# S2197: Modulus results should not be checked for direct equality
-dotnet_diagnostic.S2197.severity = none
-
-# S1994: "for" loop increment clauses should modify the loops' counters
-dotnet_diagnostic.S1994.severity = none
-
-# S1821: "switch" statements should not be nested
-dotnet_diagnostic.S1821.severity = none
-
-# S1541: Methods and properties should not be too complex
-dotnet_diagnostic.S1541.severity = none
-
-# S134: Control flow statements "if", "switch", "for", "foreach", "while", "do" and "try" should not be nested too deeply
-dotnet_diagnostic.S134.severity = none
-
-# S131: "switch/Select" statements should contain a "default/Case Else" clauses
-dotnet_diagnostic.S131.severity = none
-
-# S126: "if ... else if" constructs should end with "else" clauses
-dotnet_diagnostic.S126.severity = none
-
-# S121: Control structures should use curly braces
-dotnet_diagnostic.S121.severity = none
-
-# S1067: Expressions should not be too complex
-dotnet_diagnostic.S1067.severity = none
-
-# S4564: ASP.NET HTTP request validation feature should not be disabled
-dotnet_diagnostic.S4564.severity = none
-
-# S4212: Serialization constructors should be secured
-dotnet_diagnostic.S4212.severity = none
-
-# S3949: Calculations should not overflow
-dotnet_diagnostic.S3949.severity = none
-
-# S1244: Floating point numbers should not be tested for equality
-dotnet_diagnostic.S1244.severity = none
-
-# S881: Increment (++) and decrement (--) operators should not be used in a method call or mixed with other operators in an expression
-dotnet_diagnostic.S881.severity = none
-
-# S6423: Azure Functions should log all failures
-dotnet_diagnostic.S6423.severity = none
-
-# S6421: Azure Functions should use Structured Error Handling
-dotnet_diagnostic.S6421.severity = none
-
-# S6354: Use a testable date/time provider
-dotnet_diagnostic.S6354.severity = none
-
-# S4059: Property names should not match get methods
-dotnet_diagnostic.S4059.severity = none
-
-# S4057: Locales should be set for data types
-dotnet_diagnostic.S4057.severity = none
-
-# S4055: Literals should not be passed as localized parameters
-dotnet_diagnostic.S4055.severity = none
-
-# S4050: Operators should be overloaded consistently
-dotnet_diagnostic.S4050.severity = none
-
-# S4017: Method signatures should not contain nested generic types
-dotnet_diagnostic.S4017.severity = none
-
-# S4016: Enumeration members should not be named "Reserved"
-dotnet_diagnostic.S4016.severity = none
-
-# S4005: "System.Uri" arguments should be used instead of strings
-dotnet_diagnostic.S4005.severity = none
-
-# S4004: Collection properties should be readonly
-dotnet_diagnostic.S4004.severity = none
-
-# S4002: Disposable types should declare finalizers
-dotnet_diagnostic.S4002.severity = none
-
-# S3997: String URI overloads should call "System.Uri" overloads
-dotnet_diagnostic.S3997.severity = none
-
-# S3996: URI properties should not be strings
-dotnet_diagnostic.S3996.severity = none
-
-# S3995: URI return values should not be strings
-dotnet_diagnostic.S3995.severity = none
-
-# S3994: URI Parameters should not be strings
-dotnet_diagnostic.S3994.severity = none
-
-# S3993: Custom attributes should be marked with "System.AttributeUsageAttribute"
-dotnet_diagnostic.S3993.severity = none
-
-# S3992: Assemblies should explicitly specify COM visibility
-dotnet_diagnostic.S3992.severity = none
-
-# S3990: Assemblies should be marked as CLS compliant
-dotnet_diagnostic.S3990.severity = none
-
-# S3956: "Generic.List" instances should not be part of public APIs
-dotnet_diagnostic.S3956.severity = none
-
-# S3909: Collections should implement the generic interface
-dotnet_diagnostic.S3909.severity = none
-
-# S3908: Generic event handlers should be used
-dotnet_diagnostic.S3908.severity = none
-
-# S3906: Event Handlers should have the correct signature
-dotnet_diagnostic.S3906.severity = none
-
-# S3902: "Assembly.GetExecutingAssembly" should not be called
-dotnet_diagnostic.S3902.severity = none
-
-# S3900: Arguments of public methods should be validated against null
-dotnet_diagnostic.S3900.severity = none
-
-# S3898: Value types should implement "IEquatable"
-dotnet_diagnostic.S3898.severity = none
-
-# S3880: Finalizers should not be empty
-dotnet_diagnostic.S3880.severity = none
-
-# S3431: "[ExpectedException]" should not be used
-dotnet_diagnostic.S3431.severity = none
-
-# S3366: "this" should not be exposed from constructors
-dotnet_diagnostic.S3366.severity = none
-
-# S3059: Types should not have members with visibility set higher than the type's visibility
-dotnet_diagnostic.S3059.severity = none
-
-# S2357: Fields should be private
-dotnet_diagnostic.S2357.severity = none
-
-# S2327: "try" statements with identical "catch" and/or "finally" blocks should be merged
-dotnet_diagnostic.S2327.severity = none
-
-# S1696: NullReferenceException should not be caught
-dotnet_diagnostic.S1696.severity = none
-
-# S138: Functions should not have too many lines of code
-dotnet_diagnostic.S138.severity = none
-
-# S127: "for" loop stop conditions should be invariant
-dotnet_diagnostic.S127.severity = none
-
-# S122: Statements should be on separate lines
-dotnet_diagnostic.S122.severity = none
-
-# S1200: Classes should not be coupled to too many other classes (Single Responsibility Principle)
-dotnet_diagnostic.S1200.severity = none
-
-# S1151: "switch case" clauses should not have too many lines of code
-dotnet_diagnostic.S1151.severity = none
-
-# S109: Magic numbers should not be used
-dotnet_diagnostic.S109.severity = none
-
-# S106: Standard outputs should not be used directly to log anything
-dotnet_diagnostic.S106.severity = none
-
-# S104: Files should not have too many lines of code
-dotnet_diagnostic.S104.severity = none
-
-# S103: Lines should not be too long
-dotnet_diagnostic.S103.severity = none
-
-# S5167: HTTP response headers should not be vulnerable to injection attacks
-dotnet_diagnostic.S5167.severity = none
-
-# S2228: Console logging should not be used
-dotnet_diagnostic.S2228.severity = none
-
-# S2955: Generic parameters not constrained to reference types should not be compared to "null"
-dotnet_diagnostic.S2955.severity = none
-
-# S2674: The length returned from a stream read should be checked
-dotnet_diagnostic.S2674.severity = none
-
-# S1226: Method parameters, caught exceptions and foreach variables' initial values should not be ignored
-dotnet_diagnostic.S1226.severity = none
-
-# S4834: Controlling permissions is security-sensitive
-dotnet_diagnostic.S4834.severity = none
-
-# S2255: Writing cookies is security-sensitive
-dotnet_diagnostic.S2255.severity = none
-
-# S4261: Methods should be named according to their synchronicities
-dotnet_diagnostic.S4261.severity = none
-
-# S4226: Extensions should be in separate namespaces
-dotnet_diagnostic.S4226.severity = none
-
-# S4225: Extension methods should not extend "object"
-dotnet_diagnostic.S4225.severity = none
-
-# S4069: Operator overloads should have named alternatives
-dotnet_diagnostic.S4069.severity = none
-
-# S4060: Non-abstract attributes should be sealed
-dotnet_diagnostic.S4060.severity = none
-
-# S4058: Overloads with a "StringComparison" parameter should be used
-dotnet_diagnostic.S4058.severity = none
-
-# S4056: Overloads with a "CultureInfo" or an "IFormatProvider" parameter should be used
-dotnet_diagnostic.S4056.severity = none
-
-# S4052: Types should not extend outdated base types
-dotnet_diagnostic.S4052.severity = none
-
-# S4049: Properties should be preferred
-dotnet_diagnostic.S4049.severity = none
-
-# S4047: Generics should be used when appropriate
-dotnet_diagnostic.S4047.severity = none
-
-# S4041: Type names should not match namespaces
-dotnet_diagnostic.S4041.severity = none
-
-# S4040: Strings should be normalized to uppercase
-dotnet_diagnostic.S4040.severity = none
-
-# S4027: Exceptions should provide standard constructors
-dotnet_diagnostic.S4027.severity = none
-
-# S4026: Assemblies should be marked with "NeutralResourcesLanguageAttribute"
-dotnet_diagnostic.S4026.severity = none
-
-# S4023: Interfaces should not be empty
-dotnet_diagnostic.S4023.severity = none
-
-# S4022: Enumerations should have "Int32" storage
-dotnet_diagnostic.S4022.severity = none
-
-# S4018: Generic methods should provide type parameters
-dotnet_diagnostic.S4018.severity = none
-
-# S3967: Multidimensional arrays should not be used
-dotnet_diagnostic.S3967.severity = none
-
-# S3962: "static readonly" constants should be "const" instead
-dotnet_diagnostic.S3962.severity = none
-
-# S3876: Strings or integral types should be used for indexers
-dotnet_diagnostic.S3876.severity = none
-
-# S3872: Parameter names should not duplicate the names of their methods
-dotnet_diagnostic.S3872.severity = none
-
-# S3717: Track use of "NotImplementedException"
-dotnet_diagnostic.S3717.severity = none
-
-# S3532: Empty "default" clauses should be removed
-dotnet_diagnostic.S3532.severity = none
-
-# S3441: Redundant property names should be omitted in anonymous classes
-dotnet_diagnostic.S3441.severity = none
-
-# S3257: Declarations and initializations should be as concise as possible
-dotnet_diagnostic.S3257.severity = none
-
-# S3254: Default parameter values should not be passed as arguments
-dotnet_diagnostic.S3254.severity = none
-
-# S3253: Constructor and destructor declarations should not be redundant
-dotnet_diagnostic.S3253.severity = none
-
-# S3242: Method parameters should be declared with base types
-dotnet_diagnostic.S3242.severity = none
-
-# S3240: The simplest possible condition syntax should be used
-dotnet_diagnostic.S3240.severity = none
-
-# S3235: Redundant parentheses should not be used
-dotnet_diagnostic.S3235.severity = none
-
-# S3234: "GC.SuppressFinalize" should not be invoked for types without destructors
-dotnet_diagnostic.S3234.severity = none
-
-# S3052: Members should not be initialized to default values
-dotnet_diagnostic.S3052.severity = none
-
-# S2760: Sequential tests should not check the same condition
-dotnet_diagnostic.S2760.severity = none
-
-# S2333: Redundant modifiers should not be used
-dotnet_diagnostic.S2333.severity = none
-
-# S2325: Methods and properties that don't access instance data should be static
-dotnet_diagnostic.S2325.severity = none
-
-# S2221: "Exception" should not be caught when not required by called methods
-dotnet_diagnostic.S2221.severity = none
-
-# S2156: "sealed" classes should not have "protected" members
-dotnet_diagnostic.S2156.severity = none
-
-# S2148: Underscores should be used to make large numbers readable
-dotnet_diagnostic.S2148.severity = none
-
-# S1858: "ToString()" calls should not be redundant
-dotnet_diagnostic.S1858.severity = none
-
-# S1698: "=" should not be used when "Equals" is overridden
-dotnet_diagnostic.S1698.severity = none
-
-# S1694: An abstract class should have both abstract and concrete methods
-dotnet_diagnostic.S1694.severity = none
-
-# S1659: Multiple variables should not be declared on the same line
-dotnet_diagnostic.S1659.severity = none
-
-# S1449: Culture should be specified for "string" operations
-dotnet_diagnostic.S1449.severity = none
-
-# S1301: "switch" statements should have at least 3 "case" clauses
-dotnet_diagnostic.S1301.severity = none
-
-# S1227: break statements should not be used except for switch cases
-dotnet_diagnostic.S1227.severity = none
-
-# S1192: String literals should not be duplicated
-dotnet_diagnostic.S1192.severity = none
-
-# S113: Files should contain an empty newline at the end
-dotnet_diagnostic.S113.severity = none
-
-# S1128: Unused "using" should be removed
-dotnet_diagnostic.S1128.severity = none
-
-# S1109: A close curly brace should be located at the beginning of a line
-dotnet_diagnostic.S1109.severity = none
-
-# S105: Tabulation characters should not be used
-dotnet_diagnostic.S105.severity = none
-
-# S100: Methods and properties should be named in PascalCase
-dotnet_diagnostic.S100.severity = none
-
-# S1309: Track uses of in-source issue suppressions
-dotnet_diagnostic.S1309.severity = none
\ No newline at end of file
diff --git a/KenticoInspector.Reports.Tests/ClassTableValidationTests.cs b/KenticoInspector.Reports.Tests/ClassTableValidationTests.cs
deleted file mode 100644
index ff754383..00000000
--- a/KenticoInspector.Reports.Tests/ClassTableValidationTests.cs
+++ /dev/null
@@ -1,121 +0,0 @@
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Reports.ClassTableValidation;
-using KenticoInspector.Reports.ClassTableValidation.Models;
-
-using NUnit.Framework;
-
-using System.Collections.Generic;
-
-namespace KenticoInspector.Reports.Tests
-{
- [TestFixture(10)]
- [TestFixture(11)]
- [TestFixture(12)]
- [TestFixture(13)]
- public class ClassTableValidationTests : AbstractReportTest
- {
- private readonly Report _mockReport;
-
- public ClassTableValidationTests(int majorVersion) : base(majorVersion)
- {
- _mockReport = new Report(_mockDatabaseService.Object, _mockInstanceService.Object, _mockModuleMetadataService.Object);
- }
-
- [Test]
- public void Should_ReturnCleanResult_When_DatabaseIsClean()
- {
- // Arrange
- var tableResults = GetCleanTableResults();
- _mockDatabaseService
- .Setup(p => p.ExecuteSqlFromFile(Scripts.TablesWithNoClass))
- .Returns(tableResults);
-
- var classResults = GetCleanClassResults();
- _mockDatabaseService
- .Setup(p => p.ExecuteSqlFromFile(Scripts.ClassesWithNoTable))
- .Returns(classResults);
-
- // Act
- var results = _mockReport.GetResults();
-
- // Assert
- Assert.That(results.Data.TableResults.Rows.Count == 0);
- Assert.That(results.Data.ClassResults.Rows.Count == 0);
- Assert.That(results.Status == ResultsStatus.Good);
- }
-
- [Test]
- public void Should_ReturnErrorResult_When_DatabaseHasClassWithNoTable()
- {
- // Arrange
- var tableResults = GetCleanTableResults();
- _mockDatabaseService
- .Setup(p => p.ExecuteSqlFromFile(Scripts.TablesWithNoClass))
- .Returns(tableResults);
-
- var classResults = GetCleanClassResults();
- classResults.Add(new ClassWithNoTable
- {
- ClassDisplayName = "Has no table",
- ClassName = "HasNoTable",
- ClassTableName = "Custom_HasNoTable"
- });
-
- _mockDatabaseService
- .Setup(p => p.ExecuteSqlFromFile(Scripts.ClassesWithNoTable))
- .Returns(classResults);
-
- // Act
- var results = _mockReport.GetResults();
-
- // Assert
- Assert.That(results.Data.TableResults.Rows.Count == 0);
- Assert.That(results.Data.ClassResults.Rows.Count == 1);
- Assert.That(results.Status == ResultsStatus.Error);
- }
-
- [Test]
- public void Should_ReturnErrorResult_When_DatabaseHasTableWithNoClass()
- {
- // Arrange
- var tableResults = GetCleanTableResults(false);
- tableResults.Add(new TableWithNoClass
- {
- TableName = "HasNoClass"
- });
-
- _mockDatabaseService
- .Setup(p => p.ExecuteSqlFromFile(Scripts.TablesWithNoClass))
- .Returns(tableResults);
-
- var classResults = GetCleanClassResults();
- _mockDatabaseService
- .Setup(p => p.ExecuteSqlFromFile(Scripts.ClassesWithNoTable))
- .Returns(classResults);
-
- // Act
- var results = _mockReport.GetResults();
-
- // Assert
- Assert.That(results.Data.TableResults.Rows.Count == 1);
- Assert.That(results.Data.ClassResults.Rows.Count == 0);
- Assert.That(results.Status == ResultsStatus.Error);
- }
-
- private List GetCleanClassResults()
- {
- return new List();
- }
-
- private List GetCleanTableResults(bool includeWhitelistedTables = true)
- {
- var tableResults = new List();
- if (includeWhitelistedTables && _mockInstanceDetails.DatabaseVersion.Major >= 10)
- {
- tableResults.Add(new TableWithNoClass() { TableName = "CI_Migration" });
- }
-
- return tableResults;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports.Tests/Directory.Build.props b/KenticoInspector.Reports.Tests/Directory.Build.props
deleted file mode 100644
index c4e59780..00000000
--- a/KenticoInspector.Reports.Tests/Directory.Build.props
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
\ No newline at end of file
diff --git a/KenticoInspector.Reports.Tests/Helpers/MockInstanceDetails.cs b/KenticoInspector.Reports.Tests/Helpers/MockInstanceDetails.cs
deleted file mode 100644
index 46dccb1d..00000000
--- a/KenticoInspector.Reports.Tests/Helpers/MockInstanceDetails.cs
+++ /dev/null
@@ -1,91 +0,0 @@
-using KenticoInspector.Core.Models;
-
-using System;
-using System.Collections.Generic;
-
-namespace KenticoInspector.Reports.Tests.Helpers
-{
- public static class MockInstanceDetails
- {
- public static InstanceDetails Kentico9 = new InstanceDetails
- {
- AdministrationVersion = new Version("9.0"),
- DatabaseVersion = new Version("9.0"),
- Sites = new List
- {
- new Site { DomainName = "kentico9.com" }
- }
- };
-
- public static InstanceDetails Kentico10 = new InstanceDetails
- {
- AdministrationVersion = new Version("10.0"),
- DatabaseVersion = new Version("10.0"),
- Sites = new List
- {
- new Site { DomainName = "kentico10.com" }
- }
- };
-
- public static InstanceDetails Kentico11 = new InstanceDetails
- {
- AdministrationVersion = new Version("11.0"),
- DatabaseVersion = new Version("11.0"),
- Sites = new List
- {
- new Site { DomainName = "kentico11.com" }
- }
- };
-
- public static InstanceDetails Kentico12 = new InstanceDetails
- {
- AdministrationVersion = new Version("12.0"),
- DatabaseVersion = new Version("12.0"),
- Sites = new List
- {
- new Site { DomainName = "kentico12.com" }
- }
- };
-
- public static InstanceDetails Kentico13 = new InstanceDetails
- {
- AdministrationVersion = new Version("13.0"),
- DatabaseVersion = new Version("13.0"),
- Sites = new List
- {
- new Site { DomainName = "kentico13.com" }
- }
- };
-
- public static InstanceDetails Get(int majorVersion, Instance instance)
- {
- InstanceDetails instanceDetails = null;
-
- switch (majorVersion)
- {
- case 9:
- instanceDetails = Kentico9;
- break;
- case 10:
- instanceDetails = Kentico10;
- break;
- case 11:
- instanceDetails = Kentico11;
- break;
- case 12:
- instanceDetails = Kentico12;
- break;
- case 13:
- instanceDetails = Kentico13;
- break;
- }
-
- if (instanceDetails != null)
- {
- instanceDetails.Guid = instance.Guid;
- }
-
- return instanceDetails;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports.Tests/Helpers/MockInstances.cs b/KenticoInspector.Reports.Tests/Helpers/MockInstances.cs
deleted file mode 100644
index 545676a9..00000000
--- a/KenticoInspector.Reports.Tests/Helpers/MockInstances.cs
+++ /dev/null
@@ -1,73 +0,0 @@
-using KenticoInspector.Core.Models;
-
-using System;
-
-namespace KenticoInspector.Reports.Tests.Helpers
-{
- public static class MockInstances
- {
- public static Instance Kentico9 = new Instance
- {
- Name = "K9 Test Instance",
- Guid = Guid.NewGuid(),
- AdminPath = "C:\\inetpub\\wwwroot\\Kentico9",
- AdminUrl = "http://kentico9.com",
- DatabaseSettings = null
- };
-
- public static Instance Kentico10 = new Instance
- {
- Name = "K10 Test Instance",
- Guid = Guid.NewGuid(),
- AdminPath = "C:\\inetpub\\wwwroot\\Kentico10",
- AdminUrl = "http://kentico10.com",
- DatabaseSettings = null
- };
-
- public static Instance Kentico11 = new Instance
- {
- Name = "K11 Test Instance",
- Guid = Guid.NewGuid(),
- AdminPath = "C:\\inetpub\\wwwroot\\Kentico11",
- AdminUrl = "http://kentico11.com",
- DatabaseSettings = null
- };
-
- public static Instance Kentico12 = new Instance
- {
- Name = "K12 Test Instance",
- Guid = Guid.NewGuid(),
- AdminPath = "C:\\inetpub\\wwwroot\\Kentico12",
- AdminUrl = "http://kentico12.com",
- DatabaseSettings = null
- };
-
- public static Instance Kentico13 = new Instance
- {
- Name = "K13 Test Instance",
- Guid = Guid.NewGuid(),
- AdminPath = "C:\\inetpub\\wwwroot\\Kentico13",
- AdminUrl = "http://kentico13.com",
- DatabaseSettings = null
- };
-
- public static Instance Get(int majorVersion)
- {
- switch (majorVersion)
- {
- case 9:
- return Kentico9;
- case 10:
- return Kentico10;
- case 11:
- return Kentico11;
- case 12:
- return Kentico12;
- case 13:
- return Kentico13;
- }
-
- return null;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports.Tests/Helpers/ReflectionExtensions.cs b/KenticoInspector.Reports.Tests/Helpers/ReflectionExtensions.cs
deleted file mode 100644
index 9f070cd1..00000000
--- a/KenticoInspector.Reports.Tests/Helpers/ReflectionExtensions.cs
+++ /dev/null
@@ -1,10 +0,0 @@
-namespace KenticoInspector.Reports.Tests.Helpers
-{
- public static class ReflectionExtensions
- {
- public static T GetPropertyValue(this object obj, string propertyName)
- {
- return (T)obj.GetType().GetProperty(propertyName).GetValue(obj, null);
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports.Tests/KenticoInspector.Reports.Tests.csproj b/KenticoInspector.Reports.Tests/KenticoInspector.Reports.Tests.csproj
deleted file mode 100644
index 46f86c99..00000000
--- a/KenticoInspector.Reports.Tests/KenticoInspector.Reports.Tests.csproj
+++ /dev/null
@@ -1,65 +0,0 @@
-
-
-
- net8.0
- false
- 9.0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Always
-
-
- Always
-
-
- Always
-
-
- Always
-
-
- Always
-
-
- Always
-
-
- Always
-
-
- Always
-
-
- Always
-
-
- Always
-
-
- Always
-
-
- Always
-
-
-
-
diff --git a/KenticoInspector.Reports.Tests/UnusedPageTypeSummaryTest.cs b/KenticoInspector.Reports.Tests/UnusedPageTypeSummaryTest.cs
deleted file mode 100644
index 855d9802..00000000
--- a/KenticoInspector.Reports.Tests/UnusedPageTypeSummaryTest.cs
+++ /dev/null
@@ -1,54 +0,0 @@
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Reports.UnusedPageTypeSummary;
-using KenticoInspector.Reports.UnusedPageTypeSummary.Models;
-
-using NUnit.Framework;
-
-using System.Collections.Generic;
-
-namespace KenticoInspector.Reports.Tests
-{
- [TestFixture(10)]
- [TestFixture(11)]
- [TestFixture(12)]
- [TestFixture(13)]
- public class UnusedPageTypeSummaryTest : AbstractReportTest
- {
- private readonly Report _mockReport;
-
- public UnusedPageTypeSummaryTest(int majorVersion) : base(majorVersion)
- {
- _mockReport = new Report(_mockDatabaseService.Object, _mockModuleMetadataService.Object);
- }
-
- [Test]
- public void Should_ReturnInformationStatusAndAllUnusedPageTypes()
- {
- // Arrange
- var unusedPageTypes = GetUnusedPageTypes();
- _mockDatabaseService
- .Setup(p => p.ExecuteSqlFromFile(Scripts.GetUnusedPageTypes))
- .Returns(unusedPageTypes);
-
- // Act
- var results = _mockReport.GetResults();
-
- // Assert
- Assert.That(results.Data.Rows.Count == 6);
- Assert.That(results.Status == ResultsStatus.Information);
- }
-
- public IEnumerable GetUnusedPageTypes()
- {
- return new List
- {
- new PageType{ ClassDisplayName = "Blog", ClassName = "CMS.Blog" },
- new PageType{ ClassDisplayName = "Blog month", ClassName = "CMS.BlogMonth" },
- new PageType{ ClassDisplayName = "Blog post", ClassName = "CMS.BlogPost" },
- new PageType{ ClassDisplayName = "Chat - Transformation", ClassName = "Chat.Transformations" },
- new PageType{ ClassDisplayName = "Dancing Goat site - Transformations", ClassName = "DancingGoat.Transformations" },
- new PageType{ ClassDisplayName = "E-commerce - Transformations", ClassName = "Ecommerce.Transformations" }
- };
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports.Tests/WebPartPerformanceAnalysisTests.cs b/KenticoInspector.Reports.Tests/WebPartPerformanceAnalysisTests.cs
deleted file mode 100644
index a67bc788..00000000
--- a/KenticoInspector.Reports.Tests/WebPartPerformanceAnalysisTests.cs
+++ /dev/null
@@ -1,72 +0,0 @@
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Reports.Tests.Helpers;
-using KenticoInspector.Reports.WebPartPerformanceAnalysis;
-using KenticoInspector.Reports.WebPartPerformanceAnalysis.Models;
-
-using NUnit.Framework;
-
-using System.Collections.Generic;
-using System.Linq;
-using System.Xml.Linq;
-
-namespace KenticoInspector.Reports.Tests
-{
- [TestFixture(10)]
- [TestFixture(11)]
- [TestFixture(12)]
- [TestFixture(13)]
- public class WebPartPerformanceAnalysisTest : AbstractReportTest
- {
- private readonly Report _mockReport;
-
- public WebPartPerformanceAnalysisTest(int majorVersion) : base(majorVersion)
- {
- _mockReport = new Report(_mockDatabaseService.Object, _mockModuleMetadataService.Object);
- }
-
- [Test]
- public void Should_ReturnGoodStatus_When_NoWebPartsHaveUnspecifiedColumns()
- {
- // Arrange
- ArrangeAllQueries();
-
- // Act
- var results = _mockReport.GetResults();
-
- // Assert
- Assert.That(results.Status == ResultsStatus.Good, $"Expected status when no web parts have unspecified columns is 'Good' not '{results.Status}'.");
- }
-
- [Test]
- public void Should_ReturnWarningStatus_When_ThereAreWebPartsWithUnspecifiedColumns()
- {
- // Arrange
- var affectedTemplates = new List();
- affectedTemplates.Add(new PageTemplate()
- {
- PageTemplateCodeName = "cms.blog",
- PageTemplateDisplayName = "Blog",
- PageTemplateID = 25807,
- PageTemplateWebParts = XDocument.Parse("##DEFAULT##TrueBlackBoxTagsTagCloudFalseFalse/Blogs/My-blog-1TrueFalse9be345f1-a4c1-4f57-a996-594e1aed0d4e2010##DEFAULT##tagidTrueMyBloginheritFalseFalseTrueTagCloudNo data foundsplit##DEFAULT##Falsecms.blogBlackBoxMy favorite websitesrptSideColumnFalseFalseFalseFalseFalseFalse390ccd7c-8216-4f8f-aacd-00380990d3b6-1NodeLevel DESC-bottom10querystring##DEFAULT##/%Falseisrelatedto00000000-0000-0000-0000-000000000000topTrue1FalseTruecms.blog;cms.blogmonth;cms.blogpostFalseinheritcms.blog.SideColumnFalseTruerepeaterNo data foundBlackBoxRecent postsRecentPostsFalseFalseFalseFalse964520b0-deab-47ff-9870-77b40235c7d1##DEFAULT##205cms.blog;cms.blogmonth;cms.blogpostinheritcms.blogpost.RecentPostsFalseTrueRecentPostsNo recent postsBlackBoxPost archivePostArchiveFalseFalse4be02b0b-5205-4e2e-ad0e-9e148de15c9fcms.blog;cms.blogmonth;cms.blogpostcms.blogpost.ArchiveTruePostArchiveNo data in archivesplit##DEFAULT##0Falsecms.blogBlackBoxTitle</div><div class=\"TextContent\">rptBlogDescriptionFalseFalseFalseFalseFalseFalsed5b7eb38-6869-4e00-bb32-312808424ec1-1NodeLevel DESC-bottom10querystring##DEFAULT##/%Falseisrelatedto00000000-0000-0000-0000-000000000000topTrue1FalseTruecms.blog;cms.blogmonth;cms.blogpostFalseinheritcms.blog.DescriptionFalseTruerepeater'{%nodealiaspath%}' LIKE NodeAliasPath + '%'No data foundsplit##DEFAULT##0Falsecms.blogpostFalserptAllPostsAsuncionFalseFalseFalseFalseFalseTrueFalse8679aa66-d6f1-438a-8c03-c12034731651-1BlogPostDate DESCnoneTrueTrueTrueTrueTrueTrueTrue-bottom10postback##DEFAULT##Falseisrelatedto00000000-0000-0000-0000-000000000000topcms.blogpost.DefaultTrue5FalseTruecms.blog;cms.blogpostFalsecustomcms.blog.PostPreviewFalseTruerepeater('{?ToInt(tagid, \"\")?}' = 0 AND N'{?tagname?}'=N'') OR (DocumentID IN (SELECT DocumentID FROM CMS_DocumentTag WHERE TagID = {?ToInt(tagid, \"\")?} )) OR (DocumentID IN (SELECT DocumentID FROM CMS_DocumentTag WHERE TagID IN (SELECT TagID FROM CMS_Tag WHERE TagName = N'{?tagname?}' AND TagGroupID = {?ToInt(groupid, \"\")?} )))No data found0False<hr class=\"PostCommentSeparatorLine\" /></div><div class=\"comments TextContent\">CommentViewFalseFalseTrueFalseFalse39bbf7ba-5a9a-46bd-a72e-de50c724c2b7##DEFAULT##0TrueTruecms.blogpostinherit5060FalseTrueCommentViewTrueJavascriptFalseFalseTrueFalseHeader69bc22d5-36eb-4246-a6a6-4b261b85abb0jqueryHeaderTruejavascriptTrue><Falsecms.blog;cms.blogmonth;cms.blogpost;CMS.MenuItemBox.GraybreadcrumbsFalseFalseTrueTrueFalseFalse34e1d3c7-54c4-488a-a606-04a0175a2c48False/TrueTrueFalseinheritTrueFalseTruebreadcrumbsNo data found")
- });
-
- ArrangeAllQueries(affectedTemplates);
-
- // Act
- var results = _mockReport.GetResults();
-
- // Assert
- Assert.That(results.Status == ResultsStatus.Warning, $"Expected status when web parts have unspecified columns is 'Warning' not '{results.Status}'.");
- }
-
- private void ArrangeAllQueries(List affectedTemplates = null)
- {
- affectedTemplates = affectedTemplates ?? new List();
- _mockDatabaseService.SetupExecuteSqlFromFile(Scripts.GetAffectedTemplates, affectedTemplates);
-
- var affectedTemplateIds = affectedTemplates.Select(x => x.PageTemplateID);
- var affectedDocuments = new List();
- _mockDatabaseService.SetupExecuteSqlFromFileWithListParameter(Scripts.GetDocumentsByPageTemplateIds, "IDs", affectedTemplateIds, affectedDocuments);
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports.Tests/editorconfig.txt b/KenticoInspector.Reports.Tests/editorconfig.txt
deleted file mode 100644
index 09c62a85..00000000
--- a/KenticoInspector.Reports.Tests/editorconfig.txt
+++ /dev/null
@@ -1,1245 +0,0 @@
-root = true
-
-[*.cs]
-
-# ===== Active SonarLint rules =====
-
-# [Category: Bug]
-# S2757: "=+" should not be used instead of "+="
-dotnet_diagnostic.S2757.severity = warning
-
-# S3168: "async" methods should not return "void"
-dotnet_diagnostic.S3168.severity = warning
-
-# S3397: "base.Equals" should not be used to check for reference equality in "Equals" if "base" is not "object"
-dotnet_diagnostic.S3397.severity = warning
-
-# S1206: "Equals(Object)" and "GetHashCode()" should be overridden in pairs
-dotnet_diagnostic.S1206.severity = warning
-
-# S2328: "GetHashCode" should not reference mutable fields
-dotnet_diagnostic.S2328.severity = warning
-
-# S2997: "IDisposables" created in a "using" statement should not be returned
-dotnet_diagnostic.S2997.severity = warning
-
-# S2930: "IDisposables" should be disposed
-dotnet_diagnostic.S2930.severity = warning
-
-# S2688: "NaN" should not be used in comparisons
-dotnet_diagnostic.S2688.severity = warning
-
-# S2995: "Object.ReferenceEquals" should not be used for value types
-dotnet_diagnostic.S2995.severity = warning
-
-# S3869: "SafeHandle.DangerousGetHandle" should not be called
-dotnet_diagnostic.S3869.severity = warning
-
-# S3456: "string.ToCharArray()" should not be called redundantly
-dotnet_diagnostic.S3456.severity = warning
-
-# S2996: "ThreadStatic" fields should not be initialized
-dotnet_diagnostic.S2996.severity = warning
-
-# S3005: "ThreadStatic" should not be used on non-static fields
-dotnet_diagnostic.S3005.severity = warning
-
-# S2225: "ToString()" method should not return null
-dotnet_diagnostic.S2225.severity = warning
-
-# S2251: A "for" loop update clause should move the counter in the right direction
-dotnet_diagnostic.S2251.severity = warning
-
-# S3923: All branches in a conditional structure should not have exactly the same implementation
-dotnet_diagnostic.S3923.severity = warning
-
-# S3244: Anonymous delegates should not be used to unsubscribe from Events
-dotnet_diagnostic.S3244.severity = warning
-
-# S3343: Caller information parameters should come at the end of the parameter list
-dotnet_diagnostic.S3343.severity = warning
-
-# S4583: Calls to delegate's method "BeginInvoke" should be paired with calls to "EndInvoke"
-dotnet_diagnostic.S4583.severity = warning
-
-# S3249: Classes directly extending "object" should not call "base" in "GetHashCode" or "Equals"
-dotnet_diagnostic.S3249.severity = warning
-
-# S3453: Classes should not have only "private" constructors
-dotnet_diagnostic.S3453.severity = warning
-
-# S4143: Collection elements should not be replaced unconditionally
-dotnet_diagnostic.S4143.severity = warning
-
-# S3981: Collection sizes and array length comparisons should make sense
-dotnet_diagnostic.S3981.severity = warning
-
-# S2114: Collections should not be passed as arguments to their own methods
-dotnet_diagnostic.S2114.severity = warning
-
-# S2275: Composite format strings should not lead to unexpected behavior at runtime
-dotnet_diagnostic.S2275.severity = warning
-
-# S2583: Conditionally executed code should be reachable
-dotnet_diagnostic.S2583.severity = warning
-
-# S3172: Delegates should not be subtracted
-dotnet_diagnostic.S3172.severity = warning
-
-# S3926: Deserialization methods should be provided for "OptionalField" members
-dotnet_diagnostic.S3926.severity = warning
-
-# S1048: Destructors should not throw exceptions
-dotnet_diagnostic.S1048.severity = warning
-
-# S2761: Doubled prefix operators "!!" and "~~" should not be used
-dotnet_diagnostic.S2761.severity = warning
-
-# S4158: Empty collections should not be accessed or iterated
-dotnet_diagnostic.S4158.severity = warning
-
-# S3655: Empty nullable value should not be accessed
-dotnet_diagnostic.S3655.severity = warning
-
-# S3984: Exceptions should not be created without being thrown
-dotnet_diagnostic.S3984.severity = warning
-
-# S3346: Expressions used in "Debug.Assert" should not produce side effects
-dotnet_diagnostic.S3346.severity = warning
-
-# S2345: Flags enumerations should explicitly initialize all their members
-dotnet_diagnostic.S2345.severity = warning
-
-# S2252: For-loop conditions should be true at least once
-dotnet_diagnostic.S2252.severity = warning
-
-# S4275: Getters and setters should access the expected fields
-dotnet_diagnostic.S4275.severity = warning
-
-# S1764: Identical expressions should not be used on both sides of a binary operator
-dotnet_diagnostic.S1764.severity = warning
-
-# S2183: Integral numbers should not be shifted by zero or more than their number of bits-1
-dotnet_diagnostic.S2183.severity = warning
-
-# S1751: Loops with at most one iteration should be refactored
-dotnet_diagnostic.S1751.severity = warning
-
-# S3603: Methods with "Pure" attribute should return a value
-dotnet_diagnostic.S3603.severity = warning
-
-# S3887: Mutable, non-private fields should not be "readonly"
-dotnet_diagnostic.S3887.severity = warning
-
-# S3889: Neither "Thread.Resume" nor "Thread.Suspend" should be used
-dotnet_diagnostic.S3889.severity = warning
-
-# S4586: Non-async "Task/Task" methods should not return null
-dotnet_diagnostic.S4586.severity = warning
-
-# S2259: Null pointers should not be dereferenced
-dotnet_diagnostic.S2259.severity = warning
-
-# S3610: Nullable type comparison should not be redundant
-dotnet_diagnostic.S3610.severity = warning
-
-# S1848: Objects should not be created to be dropped immediately without being used
-dotnet_diagnostic.S1848.severity = warning
-
-# S3598: One-way "OperationContract" methods should have "void" return type
-dotnet_diagnostic.S3598.severity = warning
-
-# S3466: Optional parameters should be passed to "base" calls
-dotnet_diagnostic.S3466.severity = warning
-
-# S2934: Property assignments should not be made for "readonly" fields not constrained to reference types
-dotnet_diagnostic.S2934.severity = warning
-
-# S2190: Recursion should not be infinite
-dotnet_diagnostic.S2190.severity = warning
-
-# S1862: Related "if/else if" statements should not have the same condition
-dotnet_diagnostic.S1862.severity = warning
-
-# S2184: Results of integer division should not be assigned to floating point variables
-dotnet_diagnostic.S2184.severity = warning
-
-# S2201: Return values from functions without side effects should not be ignored
-dotnet_diagnostic.S2201.severity = warning
-
-# S3449: Right operands of shift operators should be integers
-dotnet_diagnostic.S3449.severity = warning
-
-# S3927: Serialization event handlers should be implemented correctly
-dotnet_diagnostic.S3927.severity = warning
-
-# S2551: Shared resources should not be used for locking
-dotnet_diagnostic.S2551.severity = warning
-
-# S2857: SQL keywords should be delimited by whitespace
-dotnet_diagnostic.S2857.severity = warning
-
-# S3263: Static fields should appear in the order they must be initialized
-dotnet_diagnostic.S3263.severity = warning
-
-# S3464: Type inheritance should not be recursive
-dotnet_diagnostic.S3464.severity = warning
-
-# S3903: Types should be defined in named namespaces
-dotnet_diagnostic.S3903.severity = warning
-
-# S2123: Values should not be uselessly incremented
-dotnet_diagnostic.S2123.severity = warning
-
-# S1656: Variables should not be self-assigned
-dotnet_diagnostic.S1656.severity = warning
-
-# S2306: "async" and "await" should not be used as identifiers
-dotnet_diagnostic.S2306.severity = warning
-
-
-# [Category: Security]
-# S3884: "CoSetProxyBlanket" and "CoInitializeSecurity" should not be used
-dotnet_diagnostic.S3884.severity = warning
-
-# S2115: A secure password should be used when connecting to a database
-dotnet_diagnostic.S2115.severity = warning
-
-# S5547: Cipher algorithms should be robust
-dotnet_diagnostic.S5547.severity = warning
-
-# S3329: Cipher Block Chaining IVs should be unpredictable
-dotnet_diagnostic.S3329.severity = warning
-
-# S5542: Encryption algorithms should be used with secure mode and padding scheme
-dotnet_diagnostic.S5542.severity = warning
-
-# S5445: Insecure temporary file creation methods should not be used
-dotnet_diagnostic.S5445.severity = warning
-
-# S5659: JWT should be signed and verified with strong cipher algorithms
-dotnet_diagnostic.S5659.severity = warning
-
-# S4433: LDAP connections should be authenticated
-dotnet_diagnostic.S4433.severity = warning
-
-# S4211: Members should not have conflicting transparency annotations
-dotnet_diagnostic.S4211.severity = warning
-
-# S4423: Weak SSL/TLS protocols should not be used
-dotnet_diagnostic.S4423.severity = warning
-
-# S2755: XML parsers should not be vulnerable to XXE attacks
-dotnet_diagnostic.S2755.severity = warning
-
-# S2053: Hashes should include an unpredictable salt
-dotnet_diagnostic.S2053.severity = warning
-
-# S4830: Server certificates should be verified during SSL/TLS connections
-dotnet_diagnostic.S4830.severity = warning
-
-# S4426: Cryptographic keys should be robust
-dotnet_diagnostic.S4426.severity = warning
-
-# S5773: Types allowed to be deserialized should be restricted
-dotnet_diagnostic.S5773.severity = warning
-
-
-# [Category: Security Hotspot]
-# S5693: Allowing requests with excessive content length is security-sensitive
-dotnet_diagnostic.S5693.severity = warning
-
-# S4792: Configuring loggers is security-sensitive
-dotnet_diagnostic.S4792.severity = warning
-
-# S3330: Creating cookies without the "HttpOnly" flag is security-sensitive
-dotnet_diagnostic.S3330.severity = warning
-
-# S2092: Creating cookies without the "secure" flag is security-sensitive
-dotnet_diagnostic.S2092.severity = warning
-
-# S4507: Delivering code in production with debug features activated is security-sensitive
-dotnet_diagnostic.S4507.severity = warning
-
-# S5766: Deserializing objects without performing data validation is security-sensitive
-dotnet_diagnostic.S5766.severity = warning
-
-# S5753: Disabling ASP.NET "Request Validation" feature is security-sensitive
-dotnet_diagnostic.S5753.severity = warning
-
-# S4502: Disabling CSRF protections is security-sensitive
-dotnet_diagnostic.S4502.severity = warning
-
-# S5042: Expanding archive files without controlling resource consumption is security-sensitive
-dotnet_diagnostic.S5042.severity = warning
-
-# S2077: Formatting SQL queries is security-sensitive
-dotnet_diagnostic.S2077.severity = warning
-
-# S2068: Hard-coded credentials are security-sensitive
-dotnet_diagnostic.S2068.severity = warning
-
-# S5122: Having a permissive Cross-Origin Resource Sharing policy is security-sensitive
-dotnet_diagnostic.S5122.severity = warning
-
-# S4036: Searching OS commands in PATH is security-sensitive
-dotnet_diagnostic.S4036.severity = warning
-
-# S2612: Setting loose file permissions is security-sensitive
-dotnet_diagnostic.S2612.severity = warning
-
-# S5332: Using clear-text protocols is security-sensitive
-dotnet_diagnostic.S5332.severity = warning
-
-# S1313: Using hardcoded IP addresses is security-sensitive
-dotnet_diagnostic.S1313.severity = warning
-
-# S2257: Using non-standard cryptographic algorithms is security-sensitive
-dotnet_diagnostic.S2257.severity = warning
-
-# S2245: Using pseudorandom number generators (PRNGs) is security-sensitive
-dotnet_diagnostic.S2245.severity = warning
-
-# S5443: Using publicly writable directories is security-sensitive
-dotnet_diagnostic.S5443.severity = warning
-
-# S4790: Using weak hashing algorithms is security-sensitive
-dotnet_diagnostic.S4790.severity = warning
-
-
-# [Category: Code Smell]
-# S3451: "[DefaultValue]" should not be used when "[DefaultParameterValue]" is meant
-dotnet_diagnostic.S3451.severity = warning
-
-# S3447: "[Optional]" should not be used on "ref" or "out" parameters
-dotnet_diagnostic.S3447.severity = warning
-
-# S1155: "Any()" should be used to test for emptiness
-dotnet_diagnostic.S1155.severity = warning
-
-# S2737: "catch" clauses should do more than rethrow
-dotnet_diagnostic.S2737.severity = warning
-
-# S4524: "default" clauses should be first or last
-dotnet_diagnostic.S4524.severity = warning
-
-# S3217: "Explicit" conversions of "foreach" loops should not be used
-dotnet_diagnostic.S3217.severity = warning
-
-# S3971: "GC.SuppressFinalize" should not be called
-dotnet_diagnostic.S3971.severity = warning
-
-# S907: "goto" statement should not be used
-dotnet_diagnostic.S907.severity = warning
-
-# S2692: "IndexOf" checks should not be for positive numbers
-dotnet_diagnostic.S2692.severity = warning
-
-# S3060: "is" should not be used with "this"
-dotnet_diagnostic.S3060.severity = warning
-
-# S1123: "Obsolete" attributes should include explanations
-dotnet_diagnostic.S1123.severity = warning
-
-# S4214: "P/Invoke" methods should not be visible
-dotnet_diagnostic.S4214.severity = warning
-
-# S4061: "params" should be used instead of "varargs"
-dotnet_diagnostic.S4061.severity = warning
-
-# S3262: "params" should be used on overrides
-dotnet_diagnostic.S3262.severity = warning
-
-# S3600: "params" should not be introduced on overrides
-dotnet_diagnostic.S3600.severity = warning
-
-# S3597: "ServiceContract" and "OperationContract" attributes should be used together
-dotnet_diagnostic.S3597.severity = warning
-
-# S3963: "static" fields should be initialized inline
-dotnet_diagnostic.S3963.severity = warning
-
-# S3256: "string.IsNullOrEmpty" should be used
-dotnet_diagnostic.S3256.severity = warning
-
-# S1479: "switch" statements should not have too many "case" clauses
-dotnet_diagnostic.S1479.severity = warning
-
-# S5034: "ValueTask" should be consumed correctly
-dotnet_diagnostic.S5034.severity = warning
-
-# S1264: A "while" loop should be used instead of a "for" loop
-dotnet_diagnostic.S1264.severity = warning
-
-# S3973: A conditionally executed single line should be denoted by indentation
-dotnet_diagnostic.S3973.severity = warning
-
-# S3904: Assemblies should have version information
-dotnet_diagnostic.S3904.severity = warning
-
-# S3415: Assertion arguments should be passed in the correct order
-dotnet_diagnostic.S3415.severity = warning
-
-# S4019: Base class methods should not be hidden
-dotnet_diagnostic.S4019.severity = warning
-
-# S1940: Boolean checks should not be inverted
-dotnet_diagnostic.S1940.severity = warning
-
-# S3236: Caller information arguments should not be provided explicitly
-dotnet_diagnostic.S3236.severity = warning
-
-# S3897: Classes that provide "Equals()" should implement "IEquatable"
-dotnet_diagnostic.S3897.severity = warning
-
-# S3457: Composite format strings should be used correctly
-dotnet_diagnostic.S3457.severity = warning
-
-# S3972: Conditionals should start on new lines
-dotnet_diagnostic.S3972.severity = warning
-
-# S1116: Empty statements should be removed
-dotnet_diagnostic.S1116.severity = warning
-
-# S3264: Events should be invoked
-dotnet_diagnostic.S3264.severity = warning
-
-# S3445: Exceptions should not be explicitly rethrown
-dotnet_diagnostic.S3445.severity = warning
-
-# S1163: Exceptions should not be thrown in finally blocks
-dotnet_diagnostic.S1163.severity = warning
-
-# S2290: Field-like events should not be virtual
-dotnet_diagnostic.S2290.severity = warning
-
-# S2346: Flags enumerations zero-value members should be named "warning"
-dotnet_diagnostic.S2346.severity = warning
-
-# S3251: Implementations should be provided for "partial" methods
-dotnet_diagnostic.S3251.severity = warning
-
-# S1944: Inappropriate casts should not be made
-dotnet_diagnostic.S1944.severity = warning
-
-# S4015: Inherited member visibility should not be decreased
-dotnet_diagnostic.S4015.severity = warning
-
-# S3444: Interfaces should not simply inherit from base interfaces with colliding members
-dotnet_diagnostic.S3444.severity = warning
-
-# S818: Literal suffixes should be upper case
-dotnet_diagnostic.S818.severity = warning
-
-# S3400: Methods should not return constants
-dotnet_diagnostic.S3400.severity = warning
-
-# S2681: Multiline blocks should be enclosed in curly braces
-dotnet_diagnostic.S2681.severity = warning
-
-# S3169: Multiple "OrderBy" calls should not be used
-dotnet_diagnostic.S3169.severity = warning
-
-# S3261: Namespaces should not be empty
-dotnet_diagnostic.S3261.severity = warning
-
-# S4200: Native methods should be wrapped
-dotnet_diagnostic.S4200.severity = warning
-
-# S1199: Nested code blocks should not be used
-dotnet_diagnostic.S1199.severity = warning
-
-# S4070: Non-flags enums should not be marked with "FlagsAttribute"
-dotnet_diagnostic.S4070.severity = warning
-
-# S3265: Non-flags enums should not be used in bitwise operations
-dotnet_diagnostic.S3265.severity = warning
-
-# S4201: Null checks should not be used with "is"
-dotnet_diagnostic.S4201.severity = warning
-
-# S3966: Objects should not be disposed more than once
-dotnet_diagnostic.S3966.severity = warning
-
-# S2291: Overflow checking should not be disabled for "Enumerable.Sum"
-dotnet_diagnostic.S2291.severity = warning
-
-# S1185: Overriding members should do more than simply call the same member in the base class
-dotnet_diagnostic.S1185.severity = warning
-
-# S2234: Parameters should be passed in the correct order
-dotnet_diagnostic.S2234.severity = warning
-
-# S3450: Parameters with "[DefaultParameterValue]" attributes should also be marked "[Optional]"
-dotnet_diagnostic.S3450.severity = warning
-
-# S1905: Redundant casts should not be used
-dotnet_diagnostic.S1905.severity = warning
-
-# S1110: Redundant pairs of parentheses should be removed
-dotnet_diagnostic.S1110.severity = warning
-
-# S2437: Silly bit operations should not be performed
-dotnet_diagnostic.S2437.severity = warning
-
-# S3010: Static fields should not be updated in constructors
-dotnet_diagnostic.S3010.severity = warning
-
-# S4635: String offset-based methods should be preferred for finding substrings from offsets
-dotnet_diagnostic.S4635.severity = warning
-
-# S3998: Threads should not lock on objects with weak identity
-dotnet_diagnostic.S3998.severity = warning
-
-# S1134: Track uses of "FIXME" tags
-dotnet_diagnostic.S1134.severity = warning
-
-# S1135: Track uses of "TODO" tags
-dotnet_diagnostic.S1135.severity = warning
-
-# S1871: Two branches in a conditional structure should not have exactly the same implementation
-dotnet_diagnostic.S1871.severity = warning
-
-# S3443: Type should not be examined on "System.Type" instances
-dotnet_diagnostic.S3443.severity = warning
-
-# S3459: Unassigned members should be removed
-dotnet_diagnostic.S3459.severity = warning
-
-# S3440: Variables should not be checked against the values they're about to be assigned
-dotnet_diagnostic.S3440.severity = warning
-
-# S2479: Whitespace and control characters in string literals should be explicit
-dotnet_diagnostic.S2479.severity = warning
-
-# S2376: Write-only properties should not be used
-dotnet_diagnostic.S2376.severity = warning
-
-# S3442: "abstract" classes should not have "public" constructors
-dotnet_diagnostic.S3442.severity = warning
-
-# S3885: "Assembly.Load" should be used
-dotnet_diagnostic.S3885.severity = warning
-
-# S1210: "Equals" and the comparison operators should be overridden when implementing "IComparable"
-dotnet_diagnostic.S1210.severity = warning
-
-# S1215: "GC.Collect" should not be called
-dotnet_diagnostic.S1215.severity = warning
-
-# S3881: "IDisposable" should be implemented correctly
-dotnet_diagnostic.S3881.severity = warning
-
-# S2971: "IEnumerable" LINQs should be simplified
-dotnet_diagnostic.S2971.severity = warning
-
-# S3925: "ISerializable" should be implemented correctly
-dotnet_diagnostic.S3925.severity = warning
-
-# S4581: "new Guid()" should not be used
-dotnet_diagnostic.S4581.severity = warning
-
-# S3875: "operator==" should not be overloaded on reference types
-dotnet_diagnostic.S3875.severity = warning
-
-# S3237: "value" parameters should be used
-dotnet_diagnostic.S3237.severity = warning
-
-# S1121: Assignments should not be made from within sub-expressions
-dotnet_diagnostic.S1121.severity = warning
-
-# S3376: Attribute, EventArgs, and Exception type names should end with the type being extended
-dotnet_diagnostic.S3376.severity = warning
-
-# S2589: Boolean expressions should not be gratuitous
-dotnet_diagnostic.S2589.severity = warning
-
-# S4035: Classes implementing "IEquatable" should be sealed
-dotnet_diagnostic.S4035.severity = warning
-
-# S3776: Cognitive Complexity of methods should not be too high
-dotnet_diagnostic.S3776.severity = warning
-
-# S1066: Collapsible "if" statements should be merged
-dotnet_diagnostic.S1066.severity = warning
-
-# S1699: Constructors should only call non-overridable methods
-dotnet_diagnostic.S1699.severity = warning
-
-# S2372: Exceptions should not be thrown from property getters
-dotnet_diagnostic.S2372.severity = warning
-
-# S3877: Exceptions should not be thrown from unexpected methods
-dotnet_diagnostic.S3877.severity = warning
-
-# S1104: Fields should not have public accessibility
-dotnet_diagnostic.S1104.severity = warning
-
-# S2933: Fields that are only assigned in the constructor should be "readonly"
-dotnet_diagnostic.S2933.severity = warning
-
-# S112: General exceptions should never be thrown
-dotnet_diagnostic.S112.severity = warning
-
-# S2486: Generic exceptions should not be ignored
-dotnet_diagnostic.S2486.severity = warning
-
-# S3246: Generic type parameters should be co/contravariant when possible
-dotnet_diagnostic.S3246.severity = warning
-
-# S1939: Inheritance list should not be redundant
-dotnet_diagnostic.S1939.severity = warning
-
-# S110: Inheritance tree of classes should not be too deep
-dotnet_diagnostic.S110.severity = warning
-
-# S3218: Inner class members should not shadow outer class "static" or type members
-dotnet_diagnostic.S3218.severity = warning
-
-# S2696: Instance members should not write to "static" fields
-dotnet_diagnostic.S2696.severity = warning
-
-# S3626: Jump statements should not be redundant
-dotnet_diagnostic.S3626.severity = warning
-
-# S1117: Local variables should not shadow class fields
-dotnet_diagnostic.S1117.severity = warning
-
-# S3267: Loops should be simplified with "LINQ" expressions
-dotnet_diagnostic.S3267.severity = warning
-
-# S3604: Member initializer values should not be redundant
-dotnet_diagnostic.S3604.severity = warning
-
-# S3220: Method calls should not resolve ambiguously to overloads with "params"
-dotnet_diagnostic.S3220.severity = warning
-
-# S4136: Method overloads should be grouped together
-dotnet_diagnostic.S4136.severity = warning
-
-# S3427: Method overloads with default parameter values should not overlap
-dotnet_diagnostic.S3427.severity = warning
-
-# S1006: Method overrides should not change parameter defaults
-dotnet_diagnostic.S1006.severity = warning
-
-# S2953: Methods named "Dispose" should implement "IDisposable.Dispose"
-dotnet_diagnostic.S2953.severity = warning
-
-# S1186: Methods should not be empty
-dotnet_diagnostic.S1186.severity = warning
-
-# S4144: Methods should not have identical implementations
-dotnet_diagnostic.S4144.severity = warning
-
-# S107: Methods should not have too many parameters
-dotnet_diagnostic.S107.severity = warning
-
-# S3241: Methods should not return values that are never used
-dotnet_diagnostic.S3241.severity = warning
-
-# S2386: Mutable fields should not be "public static"
-dotnet_diagnostic.S2386.severity = warning
-
-# S108: Nested blocks of code should not be left empty
-dotnet_diagnostic.S108.severity = warning
-
-# S2223: Non-constant static fields should not be visible
-dotnet_diagnostic.S2223.severity = warning
-
-# S3260: Non-derived "private" classes and records should be "sealed"
-dotnet_diagnostic.S3260.severity = warning
-
-# S927: Parameter names should match base declaration and other partial definitions
-dotnet_diagnostic.S927.severity = warning
-
-# S3928: Parameter names used into ArgumentException constructors should match an existing one
-dotnet_diagnostic.S3928.severity = warning
-
-# S4457: Parameter validation in "async"/"await" methods should be wrapped
-dotnet_diagnostic.S4457.severity = warning
-
-# S4456: Parameter validation in yielding methods should be wrapped
-dotnet_diagnostic.S4456.severity = warning
-
-# S1450: Private fields only used as local variables in methods should become local variables
-dotnet_diagnostic.S1450.severity = warning
-
-# S2365: Properties should not make collection or array copies
-dotnet_diagnostic.S2365.severity = warning
-
-# S2368: Public methods should not have multidimensional array parameters
-dotnet_diagnostic.S2368.severity = warning
-
-# S3011: Reflection should not be used to increase accessibility of classes, methods, or fields
-dotnet_diagnostic.S3011.severity = warning
-
-# S2219: Runtime type checking should be simplified
-dotnet_diagnostic.S2219.severity = warning
-
-# S125: Sections of code should not be commented out
-dotnet_diagnostic.S125.severity = warning
-
-# S2178: Short-circuit logic should be used in boolean contexts
-dotnet_diagnostic.S2178.severity = warning
-
-# S2743: Static fields should not be used in generic types
-dotnet_diagnostic.S2743.severity = warning
-
-# S1643: Strings should not be concatenated using '+' in a loop
-dotnet_diagnostic.S1643.severity = warning
-
-# S3358: Ternary operators should not be nested
-dotnet_diagnostic.S3358.severity = warning
-
-# S3433: Test method signatures should be correct
-dotnet_diagnostic.S3433.severity = warning
-
-# S2187: TestCases should contain tests
-dotnet_diagnostic.S2187.severity = warning
-
-# S2699: Tests should include assertions
-dotnet_diagnostic.S2699.severity = warning
-
-# S1607: Tests should not be ignored
-dotnet_diagnostic.S1607.severity = warning
-
-# S2292: Trivial properties should be auto-implemented
-dotnet_diagnostic.S2292.severity = warning
-
-# S2436: Types and methods should not have too many generic parameters
-dotnet_diagnostic.S2436.severity = warning
-
-# S101: Types should be named in PascalCase
-dotnet_diagnostic.S101.severity = warning
-
-# S4487: Unread "private" fields should be removed
-dotnet_diagnostic.S4487.severity = warning
-
-# S1854: Unused assignments should be removed
-dotnet_diagnostic.S1854.severity = warning
-
-# S1481: Unused local variables should be removed
-dotnet_diagnostic.S1481.severity = warning
-
-# S1172: Unused method parameters should be removed
-dotnet_diagnostic.S1172.severity = warning
-
-# S1144: Unused private types or members should be removed
-dotnet_diagnostic.S1144.severity = warning
-
-# S2326: Unused type parameters should be removed
-dotnet_diagnostic.S2326.severity = warning
-
-# S1075: URIs should not be hardcoded
-dotnet_diagnostic.S1075.severity = warning
-
-# S1118: Utility classes should not have public constructors
-dotnet_diagnostic.S1118.severity = warning
-
-# S2376: Write-only properties should not be used
-dotnet_diagnostic.S2376.severity = warning
-
-# S1125: Boolean literals should not be redundant
-dotnet_diagnostic.S1125.severity = warning
-
-
-# ===== Inactive SonarLint rules (must be explicitly turned off) =====
-
-# [Category: Bug] (All these are excluded because they're not applicable to our solution)
-# S4428: "PartCreationPolicyAttribute" should be used with "ExportAttribute"
-dotnet_diagnostic.S4428.severity = none
-
-# S4260: "ConstructorArgument" parameters should exist in constructors
-dotnet_diagnostic.S4260.severity = none
-
-# S4277: "Shared" parts should not be created with "new"
-dotnet_diagnostic.S4277.severity = none
-
-# S4159: Classes should implement their "ExportAttribute" interfaces
-dotnet_diagnostic.S4159.severity = none
-
-# S4210: Windows Forms entry points should be marked with STAThread
-dotnet_diagnostic.S4210.severity = none
-
-
-# [Uncategorized]
-# S6287: HTTP responses should not be vulnerable to session fixation
-dotnet_diagnostic.S6287.severity = none
-
-# S6096: Extracting archives should not lead to zip slip vulnerabilities
-dotnet_diagnostic.S6096.severity = none
-
-# S5334: Dynamic code execution should not be vulnerable to injection attacks
-dotnet_diagnostic.S5334.severity = none
-
-# S5146: HTTP request redirections should not be open to forging attacks
-dotnet_diagnostic.S5146.severity = none
-
-# S5135: Deserialization should not be vulnerable to injection attacks
-dotnet_diagnostic.S5135.severity = none
-
-# S5131: Endpoints should not be vulnerable to reflected cross-site scripting (XSS) attacks
-dotnet_diagnostic.S5131.severity = none
-
-# S3649: Database queries should not be vulnerable to injection attacks
-dotnet_diagnostic.S3649.severity = none
-
-# S2091: XPath expressions should not be vulnerable to injection attacks
-dotnet_diagnostic.S2091.severity = none
-
-# S2083: I/O function calls should not be vulnerable to path injection attacks
-dotnet_diagnostic.S2083.severity = none
-
-# S2078: LDAP queries should not be vulnerable to injection attacks
-dotnet_diagnostic.S2078.severity = none
-
-# S2076: OS commands should not be vulnerable to command injection attacks
-dotnet_diagnostic.S2076.severity = none
-
-# S6424: Azure Functions: Restrictions on entity interfaces
-dotnet_diagnostic.S6424.severity = none
-
-# S6422: Calls to "async" methods should not be blocking in Azure Functions
-dotnet_diagnostic.S6422.severity = none
-
-# S2631: Regular expressions should not be vulnerable to Denial of Service attacks
-dotnet_diagnostic.S2631.severity = none
-
-# S2222: Locks should be released
-dotnet_diagnostic.S2222.severity = none
-
-# S5144: Server-side requests should not be vulnerable to forging attacks
-dotnet_diagnostic.S5144.severity = none
-
-# S6350: Constructing arguments of system commands from user input is security-sensitive
-dotnet_diagnostic.S6350.severity = none
-
-# S6420: Reuse client instances rather than creating new ones with each Azure Function invocation
-dotnet_diagnostic.S6420.severity = none
-
-# S6419: Azure Functions should be stateless
-dotnet_diagnostic.S6419.severity = none
-
-# S5883: OS commands should not be vulnerable to argument injection attacks
-dotnet_diagnostic.S5883.severity = none
-
-# S5145: Logging should not be vulnerable to injection attacks
-dotnet_diagnostic.S5145.severity = none
-
-# S2931: Classes with "IDisposable" members should implement "IDisposable"
-dotnet_diagnostic.S2931.severity = none
-
-# S4462: Calls to "async" methods should not be blocking
-dotnet_diagnostic.S4462.severity = none
-
-# S2387: Child class fields should not shadow parent class fields
-dotnet_diagnostic.S2387.severity = none
-
-# S1451: Track lack of copyright and license headers
-dotnet_diagnostic.S1451.severity = none
-
-# S1147: Exit methods should not be called
-dotnet_diagnostic.S1147.severity = none
-
-# S2952: Classes should "Dispose" of members from the classes' own "Dispose" methods
-dotnet_diagnostic.S2952.severity = none
-
-# S4829: Reading the Standard Input is security-sensitive
-dotnet_diagnostic.S4829.severity = none
-
-# S4823: Using command line arguments is security-sensitive
-dotnet_diagnostic.S4823.severity = none
-
-# S4818: Using Sockets is security-sensitive
-dotnet_diagnostic.S4818.severity = none
-
-# S4787: Encrypting data is security-sensitive
-dotnet_diagnostic.S4787.severity = none
-
-# S4784: Using regular expressions is security-sensitive
-dotnet_diagnostic.S4784.severity = none
-
-# S4039: Interface methods should be callable by derived types
-dotnet_diagnostic.S4039.severity = none
-
-# S4025: Child class fields should not differ from parent class fields only by capitalization
-dotnet_diagnostic.S4025.severity = none
-
-# S4000: Pointers to unmanaged memory should not be visible
-dotnet_diagnostic.S4000.severity = none
-
-# S3937: Number patterns should be regular
-dotnet_diagnostic.S3937.severity = none
-
-# S3874: "out" and "ref" parameters should not be used
-dotnet_diagnostic.S3874.severity = none
-
-# S3353: Unchanged local variables should be "const"
-dotnet_diagnostic.S3353.severity = none
-
-# S3216: "ConfigureAwait(false)" should be used
-dotnet_diagnostic.S3216.severity = none
-
-# S3215: "interface" instances should not be cast to concrete types
-dotnet_diagnostic.S3215.severity = none
-
-# S2701: Literal boolean values should not be used in assertions
-dotnet_diagnostic.S2701.severity = none
-
-# S2360: Optional parameters should not be used
-dotnet_diagnostic.S2360.severity = none
-
-# S2339: Public constant members should not be used
-dotnet_diagnostic.S2339.severity = none
-
-# S2330: Array covariance should not be used
-dotnet_diagnostic.S2330.severity = none
-
-# S2302: "nameof" should be used
-dotnet_diagnostic.S2302.severity = none
-
-# S2197: Modulus results should not be checked for direct equality
-dotnet_diagnostic.S2197.severity = none
-
-# S1994: "for" loop increment clauses should modify the loops' counters
-dotnet_diagnostic.S1994.severity = none
-
-# S1821: "switch" statements should not be nested
-dotnet_diagnostic.S1821.severity = none
-
-# S1541: Methods and properties should not be too complex
-dotnet_diagnostic.S1541.severity = none
-
-# S134: Control flow statements "if", "switch", "for", "foreach", "while", "do" and "try" should not be nested too deeply
-dotnet_diagnostic.S134.severity = none
-
-# S131: "switch/Select" statements should contain a "default/Case Else" clauses
-dotnet_diagnostic.S131.severity = none
-
-# S126: "if ... else if" constructs should end with "else" clauses
-dotnet_diagnostic.S126.severity = none
-
-# S121: Control structures should use curly braces
-dotnet_diagnostic.S121.severity = none
-
-# S1067: Expressions should not be too complex
-dotnet_diagnostic.S1067.severity = none
-
-# S4564: ASP.NET HTTP request validation feature should not be disabled
-dotnet_diagnostic.S4564.severity = none
-
-# S4212: Serialization constructors should be secured
-dotnet_diagnostic.S4212.severity = none
-
-# S3949: Calculations should not overflow
-dotnet_diagnostic.S3949.severity = none
-
-# S1244: Floating point numbers should not be tested for equality
-dotnet_diagnostic.S1244.severity = none
-
-# S881: Increment (++) and decrement (--) operators should not be used in a method call or mixed with other operators in an expression
-dotnet_diagnostic.S881.severity = none
-
-# S6423: Azure Functions should log all failures
-dotnet_diagnostic.S6423.severity = none
-
-# S6421: Azure Functions should use Structured Error Handling
-dotnet_diagnostic.S6421.severity = none
-
-# S6354: Use a testable date/time provider
-dotnet_diagnostic.S6354.severity = none
-
-# S4059: Property names should not match get methods
-dotnet_diagnostic.S4059.severity = none
-
-# S4057: Locales should be set for data types
-dotnet_diagnostic.S4057.severity = none
-
-# S4055: Literals should not be passed as localized parameters
-dotnet_diagnostic.S4055.severity = none
-
-# S4050: Operators should be overloaded consistently
-dotnet_diagnostic.S4050.severity = none
-
-# S4017: Method signatures should not contain nested generic types
-dotnet_diagnostic.S4017.severity = none
-
-# S4016: Enumeration members should not be named "Reserved"
-dotnet_diagnostic.S4016.severity = none
-
-# S4005: "System.Uri" arguments should be used instead of strings
-dotnet_diagnostic.S4005.severity = none
-
-# S4004: Collection properties should be readonly
-dotnet_diagnostic.S4004.severity = none
-
-# S4002: Disposable types should declare finalizers
-dotnet_diagnostic.S4002.severity = none
-
-# S3997: String URI overloads should call "System.Uri" overloads
-dotnet_diagnostic.S3997.severity = none
-
-# S3996: URI properties should not be strings
-dotnet_diagnostic.S3996.severity = none
-
-# S3995: URI return values should not be strings
-dotnet_diagnostic.S3995.severity = none
-
-# S3994: URI Parameters should not be strings
-dotnet_diagnostic.S3994.severity = none
-
-# S3993: Custom attributes should be marked with "System.AttributeUsageAttribute"
-dotnet_diagnostic.S3993.severity = none
-
-# S3992: Assemblies should explicitly specify COM visibility
-dotnet_diagnostic.S3992.severity = none
-
-# S3990: Assemblies should be marked as CLS compliant
-dotnet_diagnostic.S3990.severity = none
-
-# S3956: "Generic.List" instances should not be part of public APIs
-dotnet_diagnostic.S3956.severity = none
-
-# S3909: Collections should implement the generic interface
-dotnet_diagnostic.S3909.severity = none
-
-# S3908: Generic event handlers should be used
-dotnet_diagnostic.S3908.severity = none
-
-# S3906: Event Handlers should have the correct signature
-dotnet_diagnostic.S3906.severity = none
-
-# S3902: "Assembly.GetExecutingAssembly" should not be called
-dotnet_diagnostic.S3902.severity = none
-
-# S3900: Arguments of public methods should be validated against null
-dotnet_diagnostic.S3900.severity = none
-
-# S3898: Value types should implement "IEquatable"
-dotnet_diagnostic.S3898.severity = none
-
-# S3880: Finalizers should not be empty
-dotnet_diagnostic.S3880.severity = none
-
-# S3431: "[ExpectedException]" should not be used
-dotnet_diagnostic.S3431.severity = none
-
-# S3366: "this" should not be exposed from constructors
-dotnet_diagnostic.S3366.severity = none
-
-# S3059: Types should not have members with visibility set higher than the type's visibility
-dotnet_diagnostic.S3059.severity = none
-
-# S2357: Fields should be private
-dotnet_diagnostic.S2357.severity = none
-
-# S2327: "try" statements with identical "catch" and/or "finally" blocks should be merged
-dotnet_diagnostic.S2327.severity = none
-
-# S1696: NullReferenceException should not be caught
-dotnet_diagnostic.S1696.severity = none
-
-# S138: Functions should not have too many lines of code
-dotnet_diagnostic.S138.severity = none
-
-# S127: "for" loop stop conditions should be invariant
-dotnet_diagnostic.S127.severity = none
-
-# S122: Statements should be on separate lines
-dotnet_diagnostic.S122.severity = none
-
-# S1200: Classes should not be coupled to too many other classes (Single Responsibility Principle)
-dotnet_diagnostic.S1200.severity = none
-
-# S1151: "switch case" clauses should not have too many lines of code
-dotnet_diagnostic.S1151.severity = none
-
-# S109: Magic numbers should not be used
-dotnet_diagnostic.S109.severity = none
-
-# S106: Standard outputs should not be used directly to log anything
-dotnet_diagnostic.S106.severity = none
-
-# S104: Files should not have too many lines of code
-dotnet_diagnostic.S104.severity = none
-
-# S103: Lines should not be too long
-dotnet_diagnostic.S103.severity = none
-
-# S5167: HTTP response headers should not be vulnerable to injection attacks
-dotnet_diagnostic.S5167.severity = none
-
-# S2228: Console logging should not be used
-dotnet_diagnostic.S2228.severity = none
-
-# S2955: Generic parameters not constrained to reference types should not be compared to "null"
-dotnet_diagnostic.S2955.severity = none
-
-# S2674: The length returned from a stream read should be checked
-dotnet_diagnostic.S2674.severity = none
-
-# S1226: Method parameters, caught exceptions and foreach variables' initial values should not be ignored
-dotnet_diagnostic.S1226.severity = none
-
-# S4834: Controlling permissions is security-sensitive
-dotnet_diagnostic.S4834.severity = none
-
-# S2255: Writing cookies is security-sensitive
-dotnet_diagnostic.S2255.severity = none
-
-# S4261: Methods should be named according to their synchronicities
-dotnet_diagnostic.S4261.severity = none
-
-# S4226: Extensions should be in separate namespaces
-dotnet_diagnostic.S4226.severity = none
-
-# S4225: Extension methods should not extend "object"
-dotnet_diagnostic.S4225.severity = none
-
-# S4069: Operator overloads should have named alternatives
-dotnet_diagnostic.S4069.severity = none
-
-# S4060: Non-abstract attributes should be sealed
-dotnet_diagnostic.S4060.severity = none
-
-# S4058: Overloads with a "StringComparison" parameter should be used
-dotnet_diagnostic.S4058.severity = none
-
-# S4056: Overloads with a "CultureInfo" or an "IFormatProvider" parameter should be used
-dotnet_diagnostic.S4056.severity = none
-
-# S4052: Types should not extend outdated base types
-dotnet_diagnostic.S4052.severity = none
-
-# S4049: Properties should be preferred
-dotnet_diagnostic.S4049.severity = none
-
-# S4047: Generics should be used when appropriate
-dotnet_diagnostic.S4047.severity = none
-
-# S4041: Type names should not match namespaces
-dotnet_diagnostic.S4041.severity = none
-
-# S4040: Strings should be normalized to uppercase
-dotnet_diagnostic.S4040.severity = none
-
-# S4027: Exceptions should provide standard constructors
-dotnet_diagnostic.S4027.severity = none
-
-# S4026: Assemblies should be marked with "NeutralResourcesLanguageAttribute"
-dotnet_diagnostic.S4026.severity = none
-
-# S4023: Interfaces should not be empty
-dotnet_diagnostic.S4023.severity = none
-
-# S4022: Enumerations should have "Int32" storage
-dotnet_diagnostic.S4022.severity = none
-
-# S4018: Generic methods should provide type parameters
-dotnet_diagnostic.S4018.severity = none
-
-# S3967: Multidimensional arrays should not be used
-dotnet_diagnostic.S3967.severity = none
-
-# S3962: "static readonly" constants should be "const" instead
-dotnet_diagnostic.S3962.severity = none
-
-# S3876: Strings or integral types should be used for indexers
-dotnet_diagnostic.S3876.severity = none
-
-# S3872: Parameter names should not duplicate the names of their methods
-dotnet_diagnostic.S3872.severity = none
-
-# S3717: Track use of "NotImplementedException"
-dotnet_diagnostic.S3717.severity = none
-
-# S3532: Empty "default" clauses should be removed
-dotnet_diagnostic.S3532.severity = none
-
-# S3441: Redundant property names should be omitted in anonymous classes
-dotnet_diagnostic.S3441.severity = none
-
-# S3257: Declarations and initializations should be as concise as possible
-dotnet_diagnostic.S3257.severity = none
-
-# S3254: Default parameter values should not be passed as arguments
-dotnet_diagnostic.S3254.severity = none
-
-# S3253: Constructor and destructor declarations should not be redundant
-dotnet_diagnostic.S3253.severity = none
-
-# S3242: Method parameters should be declared with base types
-dotnet_diagnostic.S3242.severity = none
-
-# S3240: The simplest possible condition syntax should be used
-dotnet_diagnostic.S3240.severity = none
-
-# S3235: Redundant parentheses should not be used
-dotnet_diagnostic.S3235.severity = none
-
-# S3234: "GC.SuppressFinalize" should not be invoked for types without destructors
-dotnet_diagnostic.S3234.severity = none
-
-# S3052: Members should not be initialized to default values
-dotnet_diagnostic.S3052.severity = none
-
-# S2760: Sequential tests should not check the same condition
-dotnet_diagnostic.S2760.severity = none
-
-# S2333: Redundant modifiers should not be used
-dotnet_diagnostic.S2333.severity = none
-
-# S2325: Methods and properties that don't access instance data should be static
-dotnet_diagnostic.S2325.severity = none
-
-# S2221: "Exception" should not be caught when not required by called methods
-dotnet_diagnostic.S2221.severity = none
-
-# S2156: "sealed" classes should not have "protected" members
-dotnet_diagnostic.S2156.severity = none
-
-# S2148: Underscores should be used to make large numbers readable
-dotnet_diagnostic.S2148.severity = none
-
-# S1858: "ToString()" calls should not be redundant
-dotnet_diagnostic.S1858.severity = none
-
-# S1698: "=" should not be used when "Equals" is overridden
-dotnet_diagnostic.S1698.severity = none
-
-# S1694: An abstract class should have both abstract and concrete methods
-dotnet_diagnostic.S1694.severity = none
-
-# S1659: Multiple variables should not be declared on the same line
-dotnet_diagnostic.S1659.severity = none
-
-# S1449: Culture should be specified for "string" operations
-dotnet_diagnostic.S1449.severity = none
-
-# S1301: "switch" statements should have at least 3 "case" clauses
-dotnet_diagnostic.S1301.severity = none
-
-# S1227: break statements should not be used except for switch cases
-dotnet_diagnostic.S1227.severity = none
-
-# S1192: String literals should not be duplicated
-dotnet_diagnostic.S1192.severity = none
-
-# S113: Files should contain an empty newline at the end
-dotnet_diagnostic.S113.severity = none
-
-# S1128: Unused "using" should be removed
-dotnet_diagnostic.S1128.severity = none
-
-# S1109: A close curly brace should be located at the beginning of a line
-dotnet_diagnostic.S1109.severity = none
-
-# S105: Tabulation characters should not be used
-dotnet_diagnostic.S105.severity = none
-
-# S100: Methods and properties should be named in PascalCase
-dotnet_diagnostic.S100.severity = none
-
-# S1309: Track uses of in-source issue suppressions
-dotnet_diagnostic.S1309.severity = none
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ApplicationRestartAnalysis/Models/Data/CmsEventLog.cs b/KenticoInspector.Reports/ApplicationRestartAnalysis/Models/Data/CmsEventLog.cs
deleted file mode 100644
index ed2431e1..00000000
--- a/KenticoInspector.Reports/ApplicationRestartAnalysis/Models/Data/CmsEventLog.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System;
-
-namespace KenticoInspector.Reports.ApplicationRestartAnalysis.Models.Data
-{
- public class CmsEventLog
- {
- public int EventID { get; set; }
-
- public string EventCode { get; set; }
-
- public DateTime EventTime { get; set; }
-
- public string EventMachineName { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ApplicationRestartAnalysis/Models/Terms.cs b/KenticoInspector.Reports/ApplicationRestartAnalysis/Models/Terms.cs
deleted file mode 100644
index ed09d154..00000000
--- a/KenticoInspector.Reports/ApplicationRestartAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.ApplicationRestartAnalysis.Models
-{
- public class Terms
- {
- public Summaries Summaries { get; set; }
-
- public TableTitles TableTitles { get; set; }
- }
-
- public class Summaries
- {
- public Term Good { get; set; }
-
- public Term Information { get; set; }
- }
-
- public class TableTitles
- {
- public Term ApplicationRestartEvents { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ClassTableValidation/Models/ClassWithNoTable.cs b/KenticoInspector.Reports/ClassTableValidation/Models/ClassWithNoTable.cs
deleted file mode 100644
index 07d186ca..00000000
--- a/KenticoInspector.Reports/ClassTableValidation/Models/ClassWithNoTable.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace KenticoInspector.Reports.ClassTableValidation.Models
-{
- public class ClassWithNoTable
- {
- public string ClassDisplayName { get; set; }
-
- public string ClassName { get; set; }
-
- public string ClassTableName { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ClassTableValidation/Models/TableWithNoClass.cs b/KenticoInspector.Reports/ClassTableValidation/Models/TableWithNoClass.cs
deleted file mode 100644
index a0ba5b85..00000000
--- a/KenticoInspector.Reports/ClassTableValidation/Models/TableWithNoClass.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace KenticoInspector.Reports.ClassTableValidation.Models
-{
- public class TableWithNoClass
- {
- public string TableName { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ClassTableValidation/Models/Terms.cs b/KenticoInspector.Reports/ClassTableValidation/Models/Terms.cs
deleted file mode 100644
index ec986fd1..00000000
--- a/KenticoInspector.Reports/ClassTableValidation/Models/Terms.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.ClassTableValidation.Models
-{
- public class Terms
- {
- public Term CountIssueFound { get; set; }
- public Term DatabaseTablesWithMissingKenticoClasses { get; set; }
- public Term KenticoClassesWithMissingDatabaseTables { get; set; }
- public Term NoIssuesFound { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ColumnFieldValidation/Models/Data/CmsClass.cs b/KenticoInspector.Reports/ColumnFieldValidation/Models/Data/CmsClass.cs
deleted file mode 100644
index 7a13130d..00000000
--- a/KenticoInspector.Reports/ColumnFieldValidation/Models/Data/CmsClass.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using System.Xml.Linq;
-
-namespace KenticoInspector.Reports.ColumnFieldValidation.Models.Data
-{
- public class CmsClass
- {
- public int ClassID { get; set; }
-
- public string ClassName { get; set; }
-
- public string ClassDisplayName { get; set; }
-
- public string ClassTableName { get; set; }
-
- public XDocument ClassXmlSchema { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ColumnFieldValidation/Models/Data/TableColumn.cs b/KenticoInspector.Reports/ColumnFieldValidation/Models/Data/TableColumn.cs
deleted file mode 100644
index cc6adc7a..00000000
--- a/KenticoInspector.Reports/ColumnFieldValidation/Models/Data/TableColumn.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace KenticoInspector.Reports.ColumnFieldValidation.Models.Data
-{
- public class TableColumn
- {
- public string Table_Name { get; set; }
-
- public string Column_Name { get; set; }
-
- public string Data_Type { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ColumnFieldValidation/Models/Results/CmsClassResult.cs b/KenticoInspector.Reports/ColumnFieldValidation/Models/Results/CmsClassResult.cs
deleted file mode 100644
index e6111bb6..00000000
--- a/KenticoInspector.Reports/ColumnFieldValidation/Models/Results/CmsClassResult.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-namespace KenticoInspector.Reports.ColumnFieldValidation.Models.Results
-{
- public class CmsClassResult
- {
- public int ClassID { get; set; }
-
- public string ClassName { get; set; }
-
- public string ClassDisplayName { get; set; }
-
- public string ClassTableName { get; set; }
-
- public string ClassFieldsNotInTable { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ColumnFieldValidation/Models/Results/TableResult.cs b/KenticoInspector.Reports/ColumnFieldValidation/Models/Results/TableResult.cs
deleted file mode 100644
index ad20b5a0..00000000
--- a/KenticoInspector.Reports/ColumnFieldValidation/Models/Results/TableResult.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace KenticoInspector.Reports.ColumnFieldValidation.Models.Results
-{
- public class TableResult
- {
- public string TableName { get; set; }
-
- public string TableColumnsNotInClass { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ColumnFieldValidation/Models/Terms.cs b/KenticoInspector.Reports/ColumnFieldValidation/Models/Terms.cs
deleted file mode 100644
index ec2dc160..00000000
--- a/KenticoInspector.Reports/ColumnFieldValidation/Models/Terms.cs
+++ /dev/null
@@ -1,25 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.ColumnFieldValidation.Models
-{
- public class Terms
- {
- public Summaries Summaries { get; set; }
-
- public TableTitles TableTitles { get; set; }
- }
-
- public class Summaries
- {
- public Term Error { get; set; }
-
- public Term Good { get; set; }
- }
-
- public class TableTitles
- {
- public Term ClassesWithAddedFields { get; set; }
-
- public Term TablesWithAddedColumns { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/CoupledDataScriptReplacements.cs b/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/CoupledDataScriptReplacements.cs
deleted file mode 100644
index 56bb4706..00000000
--- a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/CoupledDataScriptReplacements.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using System.Collections.Generic;
-
-namespace KenticoInspector.Reports.ContentTreeConsistencyAnalysis
-{
- public class CoupledDataScriptReplacements
- {
- public Dictionary Dictionary { get; set; }
-
- public CoupledDataScriptReplacements(string tableName, string idColumnName)
- {
- Dictionary = new Dictionary();
- Dictionary.Add("TableName", tableName);
- Dictionary.Add("IdColumnName", idColumnName);
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/CmsClassField.cs b/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/CmsClassField.cs
deleted file mode 100644
index 136e5277..00000000
--- a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/CmsClassField.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-namespace KenticoInspector.Reports.ContentTreeConsistencyAnalysis.Models
-{
- public class CmsClassField
- {
- public string Caption { get; set; }
-
- public string Column { get; set; }
-
- public string ColumnType { get; set; }
-
- public string DefaultValue { get; set; }
-
- public bool IsIdColumn { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/CmsClassItem.cs b/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/CmsClassItem.cs
deleted file mode 100644
index 9135e40c..00000000
--- a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/CmsClassItem.cs
+++ /dev/null
@@ -1,71 +0,0 @@
-using System.Collections.Generic;
-using System.Linq;
-using System.Xml;
-
-namespace KenticoInspector.Reports.ContentTreeConsistencyAnalysis.Models
-{
- public class CmsClassItem
- {
- private string _classIdColumn = null;
- private List _classFields = null;
-
- public string ClassDisplayName { get; set; }
-
- public XmlDocument ClassFormDefinitionXml { get; set; }
-
- public int ClassID { get; set; }
-
- public string ClassName { get; set; }
-
- public string ClassTableName { get; set; }
-
- public List ClassFields
- {
- get
- {
- if (_classFields == null && ClassFormDefinitionXml != null)
- {
- _classFields = GetFieldsFromXml();
- }
-
- return _classFields;
- }
- }
-
- public string ClassIDColumn
- {
- get
- {
- if (_classIdColumn == null && ClassFormDefinitionXml != null)
- {
- _classIdColumn = ClassFields.Where(x => x.IsIdColumn).Select(x => x.Column).FirstOrDefault();
- }
-
- return _classIdColumn;
- }
- }
-
- private List GetFieldsFromXml()
- {
- var fields = new List();
- var fieldsXml = ClassFormDefinitionXml.SelectNodes("/form/field");
-
- foreach (XmlNode field in fieldsXml)
- {
- var isIdColumnRaw = field.Attributes["isPK"]?.Value;
- var isIdColumn = !string.IsNullOrWhiteSpace(isIdColumnRaw) ? bool.Parse(isIdColumnRaw) : false;
-
- fields.Add(new CmsClassField
- {
- Caption = field.SelectSingleNode("properties/fieldcaption")?.InnerText,
- Column = field.Attributes["column"].Value,
- ColumnType = field.Attributes["columntype"].Value,
- DefaultValue = field.SelectSingleNode("properties/defaultvalue")?.InnerText,
- IsIdColumn = isIdColumn
- });
- }
-
- return fields;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/GetDetailsParameters.cs b/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/GetDetailsParameters.cs
deleted file mode 100644
index 42eae9a8..00000000
--- a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/GetDetailsParameters.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace KenticoInspector.Reports.ContentTreeConsistencyAnalysis.Models
-{
- public class GetDetailsParameters
- {
- public int[] IDs { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/Terms.cs b/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/Terms.cs
deleted file mode 100644
index 61f4bf2b..00000000
--- a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.ContentTreeConsistencyAnalysis.Models
-{
- public class Terms
- {
- public Term DocumentNodesWithNoTreeNode { get; set; }
- public Term NameFound { get; set; }
- public Term NoContentTreeConsistencyIssuesFound { get; set; }
- public Term TreeNodesWithABadParentNode { get; set; }
- public Term TreeNodesWithABadParentSite { get; set; }
- public Term TreeNodesWithDuplicatedAliasPath { get; set; }
- public Term TreeNodesWithLevelInconsistencyAliasPath { get; set; }
- public Term TreeNodesWithLevelInconsistencyParent { get; set; }
- public Term TreeNodesWithNoDocumentNode { get; set; }
- public Term TreeNodesWithPageTypeNotAssignedToSite { get; set; }
- public Term WorkflowInconsistencies { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Report.cs b/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Report.cs
deleted file mode 100644
index a136eda3..00000000
--- a/KenticoInspector.Reports/ContentTreeConsistencyAnalysis/Report.cs
+++ /dev/null
@@ -1,197 +0,0 @@
-using KenticoInspector.Core;
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-using KenticoInspector.Reports.ContentTreeConsistencyAnalysis.Models;
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-
-namespace KenticoInspector.Reports.ContentTreeConsistencyAnalysis
-{
- public class Report : AbstractReport
- {
- private readonly IDatabaseService databaseService;
-
- public Report(IDatabaseService databaseService, IModuleMetadataService moduleMetadataService) : base(moduleMetadataService)
- {
- this.databaseService = databaseService;
- }
-
- public override IList CompatibleVersions => VersionHelper.GetVersionList("10", "11", "12", "13");
-
- public override IList Tags => new List()
- {
- ReportTags.Health,
- ReportTags.Consistency
- };
-
- public override ReportResults GetResults()
- {
- var treeNodeWithBadParentSiteResults = GetTreeNodeTestResult(Metadata.Terms.TreeNodesWithABadParentSite, Scripts.GetTreeNodeIdsWithBadParentSiteId);
- var treeNodeWithBadParentNodeResults = GetTreeNodeTestResult(Metadata.Terms.TreeNodesWithABadParentNode, Scripts.GetTreeNodeIdsWithBadParentNodeId);
- var treeNodeWithLevelInconsistencyAliasatPathTestResults = GetTreeNodeTestResult(Metadata.Terms.TreeNodesWithLevelInconsistencyAliasPath, Scripts.GetTreeNodeIdsWithLevelMismatchByAliasPathTest);
- var treeNodeWithLevelInconsistencyParentChildLevelTestResults = GetTreeNodeTestResult(Metadata.Terms.TreeNodesWithLevelInconsistencyParent, Scripts.GetTreeNodeIdsWithLevelMismatchByNodeLevelTest);
- var treeNodeWithMissingDocumentResults = GetTreeNodeTestResult(Metadata.Terms.TreeNodesWithNoDocumentNode, Scripts.GetTreeNodeIdsWithMissingDocument);
- var treeNodeWithDuplicateAliasPathResults = GetTreeNodeTestResult(Metadata.Terms.TreeNodesWithDuplicatedAliasPath, Scripts.GetTreeNodeIdsWithDuplicatedAliasPath);
- var treeNodeWithPageTypeNotAssignedToSiteResults = GetTreeNodeTestResult(Metadata.Terms.TreeNodesWithPageTypeNotAssignedToSite, Scripts.GetTreeNodeIdsWithPageTypeNotAssignedToSite);
- var documentNodesWithMissingTreeNodeResults = GetDocumentNodeTestResult(Metadata.Terms.DocumentNodesWithNoTreeNode, Scripts.GetDocumentIdsWithMissingTreeNode);
-
- var workflowInconsistenciesResults = GetWorkflowInconsistencyResult();
-
- return CompileResults(
- treeNodeWithBadParentSiteResults,
- treeNodeWithBadParentNodeResults,
- treeNodeWithLevelInconsistencyAliasatPathTestResults,
- treeNodeWithLevelInconsistencyParentChildLevelTestResults,
- treeNodeWithMissingDocumentResults,
- treeNodeWithDuplicateAliasPathResults,
- treeNodeWithPageTypeNotAssignedToSiteResults,
- documentNodesWithMissingTreeNodeResults,
- workflowInconsistenciesResults
- );
- }
-
- private IEnumerable CompareVersionHistoryItemsWithPublishedItems(IEnumerable versionHistoryItems, IEnumerable> coupledData, IEnumerable cmsClassFields)
- {
- var issues = new List();
- var idColumnName = cmsClassFields.FirstOrDefault(x => x.IsIdColumn).Column;
-
- foreach (var versionHistoryItem in versionHistoryItems)
- {
- var coupledDataItem = coupledData.FirstOrDefault(x => (int)x[idColumnName] == versionHistoryItem.CoupledDataID);
-
- if (coupledDataItem != null)
- {
- foreach (var cmsClassField in cmsClassFields)
- {
- var historyVersionValueRaw = versionHistoryItem.NodeXml.SelectSingleNode($"//{cmsClassField.Column}")?.InnerText ?? cmsClassField.DefaultValue;
- var coupledDataItemValue = coupledDataItem[cmsClassField.Column];
- var columnName = cmsClassField.Caption ?? cmsClassField.Column;
- var versionHistoryMismatchResult = new VersionHistoryMismatchResult(versionHistoryItem.DocumentID, columnName, cmsClassField.ColumnType, historyVersionValueRaw, coupledDataItemValue);
-
- if (!versionHistoryMismatchResult.FieldValuesMatch)
- {
- issues.Add(versionHistoryMismatchResult);
- }
- }
- }
- }
-
- return issues;
- }
-
- private ReportResults CompileResults(params ReportResults[] allReportResults)
- {
- var combinedResults = new ReportResults();
-
- combinedResults.Type = ResultsType.TableList;
- combinedResults.Status = ResultsStatus.Good;
-
- var summaryBuilder = new StringBuilder();
- foreach (var reportResults in allReportResults)
- {
- var name = ((string)reportResults.Data.Name);
- ((IDictionary)combinedResults.Data).Add(reportResults.Data.Name, reportResults.Data);
- if (reportResults.Status == ResultsStatus.Error)
- {
- summaryBuilder.Append(Metadata.Terms.NameFound.With(new { name }));
- combinedResults.Status = ResultsStatus.Error;
- }
- }
-
- combinedResults.Summary = summaryBuilder.ToString();
- if (combinedResults.Status == ResultsStatus.Good)
- {
- combinedResults.Summary = Metadata.Terms.NoContentTreeConsistencyIssuesFound;
- }
-
- return combinedResults;
- }
-
- private IEnumerable GetCmsClassItems(IEnumerable versionHistoryItems)
- {
- var cmsClassIds = versionHistoryItems.Select(vhi => vhi.VersionClassID);
- return databaseService.ExecuteSqlFromFile(Scripts.GetCmsClassItems, new { IDs = cmsClassIds.ToArray() });
- }
-
- private IEnumerable> GetCoupledData(CmsClassItem cmsClassItem, IEnumerable Ids)
- {
- var replacements = new CoupledDataScriptReplacements(cmsClassItem.ClassTableName, cmsClassItem.ClassIDColumn);
- return databaseService.ExecuteSqlFromFileGeneric(Scripts.GetCmsDocumentCoupledDataItems, replacements.Dictionary, new { IDs = Ids.ToArray() });
- }
-
- private ReportResults GetDocumentNodeTestResult(string name, string script)
- {
- return GetTestResult(name, script, Scripts.GetDocumentNodeDetails);
- }
-
- private ReportResults GetTestResult(string name, string script, string getDetailsScript)
- {
- var nodeIds = databaseService.ExecuteSqlFromFile(script);
- var details = databaseService.ExecuteSqlFromFile(getDetailsScript, new { IDs = nodeIds.ToArray() });
-
- var data = new TableResult
- {
- Name = name,
- Rows = details
- };
-
- return new ReportResults
- {
- Data = data,
- Status = data.Rows.Any() ? ResultsStatus.Error : ResultsStatus.Good,
- Summary = string.Empty,
- Type = ResultsType.Table,
- };
- }
-
- private ReportResults GetTreeNodeTestResult(string name, string script)
- {
- return GetTestResult(name, script, Scripts.GetTreeNodeDetails);
- }
-
- private IEnumerable GetVersionHistoryItems()
- {
- var latestVersionHistoryIds = databaseService.ExecuteSqlFromFile(Scripts.GetLatestVersionHistoryIdForAllDocuments);
- return databaseService.ExecuteSqlFromFile(Scripts.GetVersionHistoryDetails, new { IDs = latestVersionHistoryIds.ToArray() });
- }
-
- private ReportResults GetWorkflowInconsistencyResult()
- {
- var versionHistoryItems = GetVersionHistoryItems();
- var cmsClassItems = GetCmsClassItems(versionHistoryItems);
- var comparisonResults = new List();
- foreach (var cmsClass in cmsClassItems)
- {
- var cmsClassVersionHistoryItems = versionHistoryItems.Where(vhi => vhi.VersionClassID == cmsClass.ClassID);
- var coupledDataIds = cmsClassVersionHistoryItems.Select(x => x.CoupledDataID).Where(x => x > 0);
- if (!coupledDataIds.Any())
- {
- continue;
- }
-
- var coupledData = GetCoupledData(cmsClass, coupledDataIds);
- var classComparisionResults = CompareVersionHistoryItemsWithPublishedItems(versionHistoryItems, coupledData, cmsClass.ClassFields);
- comparisonResults.AddRange(classComparisionResults);
- }
-
- var data = new TableResult
- {
- Name = Metadata.Terms.WorkflowInconsistencies,
- Rows = comparisonResults
- };
-
- return new ReportResults
- {
- Data = data,
- Status = data.Rows.Any() ? ResultsStatus.Error : ResultsStatus.Good,
- Summary = string.Empty,
- Type = ResultsType.Table,
- };
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/DatabaseConsistencyCheck/Models/Terms.cs b/KenticoInspector.Reports/DatabaseConsistencyCheck/Models/Terms.cs
deleted file mode 100644
index a0982fd2..00000000
--- a/KenticoInspector.Reports/DatabaseConsistencyCheck/Models/Terms.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.DatabaseConsistencyCheck.Models
-{
- public class Terms
- {
- public Term CheckResultsTableForAnyIssues { get; set; }
-
- public Term NoIssuesFound { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/DatabaseTableSizeAnalysis/Models/Terms.cs b/KenticoInspector.Reports/DatabaseTableSizeAnalysis/Models/Terms.cs
deleted file mode 100644
index 30588036..00000000
--- a/KenticoInspector.Reports/DatabaseTableSizeAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.DatabaseTableSizeAnalysis.Models
-{
- public class Terms
- {
- public Term CheckResultsTableForAnyIssues { get; set; }
-
- public Term Top25Results { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/DatabaseTableSizeAnalysis/Report.cs b/KenticoInspector.Reports/DatabaseTableSizeAnalysis/Report.cs
deleted file mode 100644
index ea70affd..00000000
--- a/KenticoInspector.Reports/DatabaseTableSizeAnalysis/Report.cs
+++ /dev/null
@@ -1,45 +0,0 @@
-using KenticoInspector.Core;
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-using KenticoInspector.Reports.DatabaseTableSizeAnalysis.Models;
-
-using System;
-using System.Collections.Generic;
-
-namespace KenticoInspector.Reports.DatabaseTableSizeAnalysis
-{
- public class Report : AbstractReport
- {
- private readonly IDatabaseService databaseService;
-
- public Report(IDatabaseService databaseService, IModuleMetadataService moduleMetadataService) : base(moduleMetadataService)
- {
- this.databaseService = databaseService;
- }
-
- public override IList CompatibleVersions => VersionHelper.GetVersionList("10", "11", "12", "13");
-
- public override IList Tags => new List {
- ReportTags.Health
- };
-
- public override ReportResults GetResults()
- {
- var top25LargestTables = databaseService.ExecuteSqlFromFile(Scripts.GetTop25LargestTables);
-
- return new ReportResults
- {
- Type = ResultsType.Table,
- Status = ResultsStatus.Information,
- Summary = Metadata.Terms.CheckResultsTableForAnyIssues,
- Data = new TableResult()
- {
- Name = Metadata.Terms.Top25Results,
- Rows = top25LargestTables
- }
- };
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/DebugConfigurationAnalysis/Models/Terms.cs b/KenticoInspector.Reports/DebugConfigurationAnalysis/Models/Terms.cs
deleted file mode 100644
index 0826b521..00000000
--- a/KenticoInspector.Reports/DebugConfigurationAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,33 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.DebugConfigurationAnalysis.Models
-{
- public class DatabaseTerms
- {
- public Term ExplicitlyEnabledSettingsTableHeader { get; set; }
-
- public Term OverviewTableHeader { get; set; }
-
- public Term Summary { get; set; }
- }
-
- public class Terms
- {
- public DatabaseTerms Database { get; set; }
-
- public WebConfigTerms WebConfig { get; set; }
-
- public Term CheckResultsTableForAnyIssues { get; set; }
- }
-
- public class WebConfigTerms
- {
- public Term DebugKeyDisplayName { get; set; }
-
- public Term OverviewTableHeader { get; set; }
-
- public Term Summary { get; set; }
-
- public Term TraceKeyDisplayName { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/Directory.Build.props b/KenticoInspector.Reports/Directory.Build.props
deleted file mode 100644
index c4e59780..00000000
--- a/KenticoInspector.Reports/Directory.Build.props
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
- all
- runtime; build; native; contentfiles; analyzers; buildtransitive
-
-
-
\ No newline at end of file
diff --git a/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Results/AutomationTriggerResult.cs b/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Results/AutomationTriggerResult.cs
deleted file mode 100644
index e0521157..00000000
--- a/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Results/AutomationTriggerResult.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace KenticoInspector.Reports.OnlineMarketingMacroAnalysis.Models
-{
- public class AutomationTriggerResult
- {
- public string ProcessName { get; set; }
-
- public string TriggerName { get; set; }
-
- public string Macro { get; set; }
- }
-}
diff --git a/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Results/ContactGroupResult.cs b/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Results/ContactGroupResult.cs
deleted file mode 100644
index 37128f4b..00000000
--- a/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Results/ContactGroupResult.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace KenticoInspector.Reports.OnlineMarketingMacroAnalysis.Models
-{
- public class ContactGroupResult
- {
- public string ContactGroup { get; set; }
-
- public string Macro { get; set; }
- }
-}
diff --git a/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Results/ScoreRuleResult.cs b/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Results/ScoreRuleResult.cs
deleted file mode 100644
index 030909f3..00000000
--- a/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Results/ScoreRuleResult.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-namespace KenticoInspector.Reports.OnlineMarketingMacroAnalysis.Models
-{
- public class ScoreRuleResult
- {
- public string ScoreName { get; set; }
-
- public string RuleName { get; set; }
-
- public string Macro { get; set; }
- }
-}
diff --git a/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Terms.cs b/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Terms.cs
deleted file mode 100644
index 7e4af8cd..00000000
--- a/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,17 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.OnlineMarketingMacroAnalysis.Models
-{
- public class Terms
- {
- public Term Good { get; set; }
-
- public Term IssuesFound { get; set; }
-
- public Term ContactGroupTable { get; set; }
-
- public Term AutomationTriggerTable { get; set; }
-
- public Term ScoreRuleTable { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Report.cs b/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Report.cs
deleted file mode 100644
index 5c78d132..00000000
--- a/KenticoInspector.Reports/OnlineMarketingMacroAnalysis/Report.cs
+++ /dev/null
@@ -1,79 +0,0 @@
-using KenticoInspector.Core;
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-using KenticoInspector.Reports.OnlineMarketingMacroAnalysis.Models;
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace KenticoInspector.Reports.OnlineMarketingMacroAnalysis
-{
- public class Report : AbstractReport
- {
- private readonly IDatabaseService databaseService;
-
- public Report(IDatabaseService databaseService, IModuleMetadataService moduleMetadataService) : base(moduleMetadataService)
- {
- this.databaseService = databaseService;
- }
-
- public override IList CompatibleVersions => VersionHelper.GetVersionList("10", "11", "12", "13");
-
- public override IList Tags => new List {
- ReportTags.Performance,
- ReportTags.OnlineMarketing
- };
-
- public override ReportResults GetResults()
- {
- var contactGroups = databaseService.ExecuteSqlFromFile(Scripts.GetManualContactGroupMacroConditions);
- var automationTriggers = databaseService.ExecuteSqlFromFile(Scripts.GetManualTimeBasedTriggerMacroConditions);
- var scoreRules = databaseService.ExecuteSqlFromFile(Scripts.GetManualScoreRuleMacroConditions);
- if (!contactGroups.Any() && !automationTriggers.Any() && !scoreRules.Any())
- {
- return new ReportResults
- {
- Status = ResultsStatus.Good,
- Summary = Metadata.Terms.Good
- };
- }
-
- var totalIssues = contactGroups.Count() + automationTriggers.Count() + scoreRules.Count();
- var results = new ReportResults
- {
- Type = ResultsType.TableList,
- Status = ResultsStatus.Warning,
- Summary = Metadata.Terms.IssuesFound.With(new
- {
- totalIssues
- })
- };
- var contactGroupResults = new TableResult()
- {
- Name = Metadata.Terms.ContactGroupTable,
- Rows = contactGroups
- };
-
- var automationTriggerResults = new TableResult()
- {
- Name = Metadata.Terms.AutomationTriggerTable,
- Rows = automationTriggers
- };
-
- var scoreRuleResults = new TableResult()
- {
- Name = Metadata.Terms.ScoreRuleTable,
- Rows = scoreRules
- };
-
- results.Data.AutomationTriggerTable = automationTriggerResults;
- results.Data.ContactGroupTable = contactGroupResults;
- results.Data.ScoreRuleTable = scoreRuleResults;
-
- return results;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/PageTypeAssignmentAnalysis/Models/PageType.cs b/KenticoInspector.Reports/PageTypeAssignmentAnalysis/Models/PageType.cs
deleted file mode 100644
index 722a3ded..00000000
--- a/KenticoInspector.Reports/PageTypeAssignmentAnalysis/Models/PageType.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace KenticoInspector.Reports.PageTypeAssignmentAnalysis.Models
-{
- public class PageType
- {
- public string ClassDisplayName { get; set; }
-
- public string ClassName { get; set; }
-
- public int NodeClassID { get; set; }
-
- public int NodeSiteID { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/PageTypeAssignmentAnalysis/Models/Terms.cs b/KenticoInspector.Reports/PageTypeAssignmentAnalysis/Models/Terms.cs
deleted file mode 100644
index e69402d8..00000000
--- a/KenticoInspector.Reports/PageTypeAssignmentAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.PageTypeAssignmentAnalysis.Models
-{
- public class Terms
- {
- public Term WarningSummary { get; set; }
-
- public Term UnassignedPageTypesTableHeader { get; set; }
-
- public Term NoIssuesFound { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/PageTypeAssignmentAnalysis/Report.cs b/KenticoInspector.Reports/PageTypeAssignmentAnalysis/Report.cs
deleted file mode 100644
index 7a6e5659..00000000
--- a/KenticoInspector.Reports/PageTypeAssignmentAnalysis/Report.cs
+++ /dev/null
@@ -1,62 +0,0 @@
-using KenticoInspector.Core;
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-using KenticoInspector.Reports.PageTypeAssignmentAnalysis.Models;
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace KenticoInspector.Reports.PageTypeAssignmentAnalysis
-{
- public class Report : AbstractReport
- {
- private readonly IDatabaseService databaseService;
-
- public Report(IDatabaseService databaseService, IModuleMetadataService moduleMetadataService) : base(moduleMetadataService)
- {
- this.databaseService = databaseService;
- }
-
- public override IList CompatibleVersions => VersionHelper.GetVersionList("10", "11", "12", "13");
-
- public override IList Tags => new List
- {
- ReportTags.Health,
- ReportTags.Consistency
- };
-
- public override ReportResults GetResults()
- {
- var unassignedPageTypes = databaseService.ExecuteSqlFromFile(Scripts.GetPageTypesNotAssignedToSite);
-
- return CompileResults(unassignedPageTypes);
- }
-
- private ReportResults CompileResults(IEnumerable unassignedPageTypes)
- {
- var results = new ReportResults
- {
- Status = ResultsStatus.Good,
- Summary = Metadata.Terms.NoIssuesFound,
- Type = ResultsType.Table,
- Data = new TableResult()
- {
- Name = Metadata.Terms.UnassignedPageTypesTableHeader,
- Rows = unassignedPageTypes
- }
- };
-
- var unassignedPageTypeCount = unassignedPageTypes.Count();
- if (unassignedPageTypeCount > 0)
- {
- results.Status = ResultsStatus.Warning;
- results.Summary = Metadata.Terms.WarningSummary.With(new { unassignedPageTypeCount });
- }
-
- return results;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/PageTypeFieldAnalysis/Models/Terms.cs b/KenticoInspector.Reports/PageTypeFieldAnalysis/Models/Terms.cs
deleted file mode 100644
index 1c440bff..00000000
--- a/KenticoInspector.Reports/PageTypeFieldAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.PageTypeFieldAnalysis.Models
-{
- public class Terms
- {
- public Summaries Summaries { get; set; }
-
- public TableTitles TableTitles { get; set; }
- }
-
- public class Summaries
- {
- public Term Information { get; set; }
-
- public Term Good { get; set; }
- }
-
- public class TableTitles
- {
- public Term MatchingPageTypeFieldsWithDifferentDataTypes { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/PageTypeFieldAnalysis/Report.cs b/KenticoInspector.Reports/PageTypeFieldAnalysis/Report.cs
deleted file mode 100644
index 995300ba..00000000
--- a/KenticoInspector.Reports/PageTypeFieldAnalysis/Report.cs
+++ /dev/null
@@ -1,85 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-using KenticoInspector.Core;
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-using KenticoInspector.Reports.PageTypeFieldAnalysis.Models;
-
-namespace KenticoInspector.Reports.PageTypeFieldAnalysis
-{
- public class Report : AbstractReport
- {
- private readonly IDatabaseService databaseService;
-
- public Report(IDatabaseService databaseService, IModuleMetadataService moduleMetadataService)
- : base(moduleMetadataService)
- {
- this.databaseService = databaseService;
- }
-
- public override IList CompatibleVersions => VersionHelper.GetVersionList("10", "11", "12", "13");
-
- public override IList Tags => new List
- {
- ReportTags.Information,
- ReportTags.Health
- };
-
- public override ReportResults GetResults()
- {
- var pagetypeFields = databaseService.ExecuteSqlFromFile(Scripts.GetCmsPageTypeFields);
- var fieldsWithMismatchedTypes = CheckForMismatchedTypes(pagetypeFields);
-
- return CompileResults(fieldsWithMismatchedTypes);
- }
-
-
- private ReportResults CompileResults(IEnumerable fieldsWithMismatchedTypes)
- {
- if (!fieldsWithMismatchedTypes.Any())
- {
- return new ReportResults
- {
- Status = ResultsStatus.Good,
- Summary = Metadata.Terms.Summaries.Good
- };
- }
-
- var fieldResultCount = fieldsWithMismatchedTypes.Count();
- var fieldResults = new TableResult()
- {
- Name = Metadata.Terms.TableTitles.MatchingPageTypeFieldsWithDifferentDataTypes,
- Rows = fieldsWithMismatchedTypes
- };
-
- var results = new ReportResults
- {
- Type = ResultsType.TableList,
- Status = ResultsStatus.Information,
- Summary = Metadata.Terms.Summaries.Information.With(new { fieldResultCount }),
-
- };
-
- results.Data.FieldResults = fieldResults;
-
- return results;
- }
-
- private IEnumerable CheckForMismatchedTypes(IEnumerable pagetypeFields)
- {
- var fieldsWithMismatchedTypes =
- pagetypeFields
- .Distinct()
- .GroupBy(x => x.FieldName)
- .Where(g => g.Count() > 1)
- .SelectMany(g => g)
- .OrderBy(i => i.FieldName);
-
- return fieldsWithMismatchedTypes;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/RobotsTxtConfigurationSummary/Models/Terms.cs b/KenticoInspector.Reports/RobotsTxtConfigurationSummary/Models/Terms.cs
deleted file mode 100644
index dc34addd..00000000
--- a/KenticoInspector.Reports/RobotsTxtConfigurationSummary/Models/Terms.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.RobotsTxtConfigurationSummary.Models
-{
- public class Terms
- {
- public Term RobotsTxtFound { get; set; }
-
- public Term RobotsTxtNotFound { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/RobotsTxtConfigurationSummary/Report.cs b/KenticoInspector.Reports/RobotsTxtConfigurationSummary/Report.cs
deleted file mode 100644
index 91336f2e..00000000
--- a/KenticoInspector.Reports/RobotsTxtConfigurationSummary/Report.cs
+++ /dev/null
@@ -1,70 +0,0 @@
-using KenticoInspector.Core;
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-using KenticoInspector.Reports.RobotsTxtConfigurationSummary.Models;
-
-using System;
-using System.Collections.Generic;
-using System.Net;
-using System.Net.Http;
-using System.Net.Security;
-using System.Threading.Tasks;
-
-namespace KenticoInspector.Reports.RobotsTxtConfigurationSummary
-{
- public class Report : AbstractReport
- {
- private readonly IInstanceService instanceService;
- private readonly HttpClient _httpClient = new HttpClient();
-
- public Report(
- IInstanceService instanceService,
- IModuleMetadataService moduleMetadataService,
- HttpClient httpClient = null
- ) : base(moduleMetadataService)
-
- {
- this.instanceService = instanceService;
-
- if (httpClient != null)
- {
- _httpClient = httpClient;
- }
- }
-
- public override IList CompatibleVersions => VersionHelper.GetVersionList("10", "11", "12");
-
- public override IList IncompatibleVersions => VersionHelper.GetVersionList("13");
-
- public override IList Tags => new List
- {
- ReportTags.Information,
- ReportTags.SEO,
- };
-
- public override ReportResults GetResults()
- {
- var instanceUri = new Uri(instanceService.CurrentInstance.AdminUrl);
- var testUri = new Uri(instanceUri, Constants.RobotsTxtRelativePath);
- var found = ConfirmUriStatusCode(testUri, HttpStatusCode.OK).Result;
-
- return new ReportResults
- {
- Data = string.Empty,
- Status = found ? ResultsStatus.Good : ResultsStatus.Warning,
- Summary = found ? Metadata.Terms.RobotsTxtFound : Metadata.Terms.RobotsTxtNotFound,
- Type = ResultsType.String
- };
- }
-
- private async Task ConfirmUriStatusCode(Uri testUri, HttpStatusCode expectedStatusCode)
- {
- // Ignore invalid certificates
- ServicePointManager.ServerCertificateValidationCallback = new RemoteCertificateValidationCallback((a, b, c, d) => { return true; });
- HttpResponseMessage response = await _httpClient.GetAsync(testUri);
- return response.StatusCode == expectedStatusCode;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/SampleReport/Models/Terms.cs b/KenticoInspector.Reports/SampleReport/Models/Terms.cs
deleted file mode 100644
index cc49495b..00000000
--- a/KenticoInspector.Reports/SampleReport/Models/Terms.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.SampleReport.Models
-{
- public class Terms
- {
- public Term DetailedResult { get; set; }
-
- public Term Summary { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/SampleReport/Report.cs b/KenticoInspector.Reports/SampleReport/Report.cs
deleted file mode 100644
index 151ce2c2..00000000
--- a/KenticoInspector.Reports/SampleReport/Report.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-using KenticoInspector.Core;
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-using KenticoInspector.Reports.SampleReport.Models;
-
-using System;
-using System.Collections.Generic;
-using System.Text;
-
-namespace KenticoInspector.Reports.SampleReport
-{
- public class Report : AbstractReport
- {
- private readonly IDatabaseService databaseService;
-
- public Report(IDatabaseService databaseService, IModuleMetadataService moduleMetadataService) : base(moduleMetadataService)
- {
- this.databaseService = databaseService;
- }
-
- // Hide sample report in UI
- public override IList CompatibleVersions => new Version[0];
-
- public override IList Tags => new List {
- ReportTags.Consistency
- };
-
- public override ReportResults GetResults()
- {
- var random = new Random();
- var issueCount = random.Next(0, 3);
- var data = new List();
- for (int i = 0; i < issueCount; i++)
- {
- var name = $"test-{i}";
- var problem = GetRandomString(10);
- data.Add(Metadata.Terms.DetailedResult.With(new { name, problem }));
- }
-
- return new ReportResults()
- {
- Data = data,
- Type = ResultsType.StringList,
- Status = ResultsStatus.Information,
- Summary = Metadata.Terms.Summary.With(new { issueCount })
- };
- }
-
- private string GetRandomString(int size)
- {
- var builder = new StringBuilder();
- var random = new Random();
- char ch;
- for (int i = 0; i < size; i++)
- {
- ch = Convert.ToChar(Convert.ToInt32(Math.Floor(26 * random.NextDouble() + 65)));
- builder.Append(ch);
- }
-
- return builder.ToString();
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/SecuritySettingsAnalysis/Models/Data/CmsSettingsCategory.cs b/KenticoInspector.Reports/SecuritySettingsAnalysis/Models/Data/CmsSettingsCategory.cs
deleted file mode 100644
index 19626f23..00000000
--- a/KenticoInspector.Reports/SecuritySettingsAnalysis/Models/Data/CmsSettingsCategory.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace KenticoInspector.Reports.SecuritySettingsAnalysis.Models.Data
-{
- public class CmsSettingsCategory
- {
- public int CategoryID { get; set; }
-
- public string CategoryDisplayName { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/SecuritySettingsAnalysis/Models/Data/CmsSettingsKey.cs b/KenticoInspector.Reports/SecuritySettingsAnalysis/Models/Data/CmsSettingsKey.cs
deleted file mode 100644
index 190fd5b6..00000000
--- a/KenticoInspector.Reports/SecuritySettingsAnalysis/Models/Data/CmsSettingsKey.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-namespace KenticoInspector.Reports.SecuritySettingsAnalysis.Models.Data
-{
- public class CmsSettingsKey
- {
- public int SiteID { get; set; }
-
- public int KeyID { get; set; }
-
- public string KeyName { get; set; }
-
- public string KeyDisplayName { get; set; }
-
- public string KeyValue { get; set; }
-
- public string KeyDefaultValue { get; set; }
-
- public int KeyCategoryID { get; set; }
-
- public string CategoryIDPath { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/SecuritySettingsAnalysis/Models/Terms.cs b/KenticoInspector.Reports/SecuritySettingsAnalysis/Models/Terms.cs
deleted file mode 100644
index a90e421d..00000000
--- a/KenticoInspector.Reports/SecuritySettingsAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,137 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.SecuritySettingsAnalysis.Models
-{
- public class Terms
- {
- public Term GlobalSiteName { get; set; }
-
- public RecommendationReasons RecommendationReasons { get; set; }
-
- public RecommendedValues RecommendedValues { get; set; }
-
- public Summaries Summaries { get; set; }
-
- public TableTitles TableTitles { get; set; }
- }
-
- public class RecommendedValues
- {
- public Term Empty { get; set; }
-
- public Term InvalidLogonAttempts { get; set; }
-
- public Term NoDangerousExtensions { get; set; }
-
- public Term NotEmpty { get; set; }
-
- public Term NotOn { get; set; }
-
- public Term NotSaUser { get; set; }
-
- public Term ResetPasswordInterval { get; set; }
-
- public Term PasswordMinimalLength { get; set; }
-
- public Term PasswordNumberOfNonAlphaNumChars { get; set; }
-
- public Term ReCaptcha { get; set; }
- }
-
- public class RecommendationReasons
- {
- public AppSettings AppSettings { get; set; }
-
- public ConnectionStrings ConnectionStrings { get; set; }
-
- public SettingsKeys SettingsKeys { get; set; }
-
- public SystemWebSettings SystemWebSettings { get; set; }
- }
-
- public class AppSettings
- {
- public Term CMSEnableCsrfProtection { get; set; }
-
- public Term CMSHashStringSalt { get; set; }
-
- public Term CMSRenewSessionAuthChange { get; set; }
-
- public Term CMSXFrameOptionsExcluded { get; set; }
- }
-
- public class ConnectionStrings
- {
- public Term SaUser { get; set; }
- }
-
- public class SettingsKeys
- {
- public Term CMSAutocompleteEnableForLogin { get; set; }
-
- public Term CMSCaptchaControl { get; set; }
-
- public Term CMSChatEnableFloodProtection { get; set; }
-
- public Term CMSFloodProtectionEnabled { get; set; }
-
- public Term CMSForumAttachmentExtensions { get; set; }
-
- public Term CMSMaximumInvalidLogonAttempts { get; set; }
-
- public Term CMSMediaFileAllowedExtensions { get; set; }
-
- public Term CMSPasswordExpiration { get; set; }
-
- public Term CMSPasswordExpirationBehaviour { get; set; }
-
- public Term CMSPasswordFormat { get; set; }
-
- public Term CMSPolicyMinimalLength { get; set; }
-
- public Term CMSPolicyNumberOfNonAlphaNumChars { get; set; }
-
- public Term CMSRegistrationEmailConfirmation { get; set; }
-
- public Term CMSResetPasswordInterval { get; set; }
-
- public Term CMSRESTServiceEnabled { get; set; }
-
- public Term CMSUploadExtensions { get; set; }
-
- public Term CMSUsePasswordPolicy { get; set; }
-
- public Term CMSUseSSLForAdministrationInterface { get; set; }
- }
-
- public class SystemWebSettings
- {
- public Term AuthenticationCookieless { get; set; }
-
- public Term CompilationDebug { get; set; }
-
- public Term CustomErrorsMode { get; set; }
-
- public Term HttpCookiesHttpOnlyCookies { get; set; }
-
- public Term PagesEnableViewState { get; set; }
-
- public Term PagesEnableViewStateMac { get; set; }
-
- public Term TraceEnabled { get; set; }
- }
-
- public class Summaries
- {
- public Term Warning { get; set; }
-
- public Term Good { get; set; }
- }
-
- public class TableTitles
- {
- public Term AdminSecuritySettings { get; set; }
-
- public Term WebConfigSecuritySettings { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/TaskProcessingAnalysis/Models/Terms.cs b/KenticoInspector.Reports/TaskProcessingAnalysis/Models/Terms.cs
deleted file mode 100644
index 3de360cd..00000000
--- a/KenticoInspector.Reports/TaskProcessingAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,19 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.TaskProcessingAnalysis.Models
-{
- public class Terms
- {
- public Term CountIntegrationBusTask { get; set; }
-
- public Term CountScheduledTask { get; set; }
-
- public Term CountSearchTask { get; set; }
-
- public Term CountStagingTask { get; set; }
-
- public Term CountUnprocessedTask { get; set; }
-
- public Term CountWebFarmTask { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/TaskProcessingAnalysis/Report.cs b/KenticoInspector.Reports/TaskProcessingAnalysis/Report.cs
deleted file mode 100644
index d8719c93..00000000
--- a/KenticoInspector.Reports/TaskProcessingAnalysis/Report.cs
+++ /dev/null
@@ -1,94 +0,0 @@
-using KenticoInspector.Core;
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-using KenticoInspector.Reports.TaskProcessingAnalysis.Models;
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace KenticoInspector.Reports.TaskProcessingAnalysis
-{
- public class Report : AbstractReport
- {
- private readonly IDatabaseService databaseService;
-
- public Report(IDatabaseService databaseService, IModuleMetadataService moduleMetadataService) : base(moduleMetadataService)
- {
- this.databaseService = databaseService;
- }
-
- public override IList CompatibleVersions => VersionHelper.GetVersionList("10", "11", "12", "13");
-
- public override IList Tags => new List {
- ReportTags.Health
- };
-
- public override ReportResults GetResults()
- {
- var unprocessedIntegrationBusTasks = databaseService.ExecuteSqlFromFileScalar(Scripts.GetCountOfUnprocessedIntegrationBusTasks);
- var unprocessedScheduledTasks = databaseService.ExecuteSqlFromFileScalar(Scripts.GetCountOfUnprocessedScheduledTasks);
- var unprocessedSearchTasks = databaseService.ExecuteSqlFromFileScalar(Scripts.GetCountOfUnprocessedSearchTasks);
- var unprocessedStagingTasks = databaseService.ExecuteSqlFromFileScalar(Scripts.GetCountOfUnprocessedStagingTasks);
- var unprocessedWebFarmTasks = databaseService.ExecuteSqlFromFileScalar(Scripts.GetCountOfUnprocessedWebFarmTasks);
-
- var rawResults = new Dictionary
- {
- { TaskType.IntegrationBusTask, unprocessedIntegrationBusTasks },
- { TaskType.ScheduledTask, unprocessedScheduledTasks },
- { TaskType.SearchTask, unprocessedSearchTasks },
- { TaskType.StagingTask, unprocessedStagingTasks },
- { TaskType.WebFarmTask, unprocessedWebFarmTasks }
- };
-
- return CompileResults(rawResults);
- }
-
- private string AsTaskCountLabel(KeyValuePair taskTypeCount)
- {
- Term label = string.Empty;
- var count = taskTypeCount.Value;
-
- switch (taskTypeCount.Key)
- {
- case TaskType.IntegrationBusTask:
- label = Metadata.Terms.CountIntegrationBusTask.With(new { count });
- break;
-
- case TaskType.ScheduledTask:
- label = Metadata.Terms.CountScheduledTask.With(new { count });
- break;
-
- case TaskType.SearchTask:
- label = Metadata.Terms.CountSearchTask.With(new { count });
- break;
-
- case TaskType.StagingTask:
- label = Metadata.Terms.CountStagingTask.With(new { count });
- break;
-
- case TaskType.WebFarmTask:
- label = Metadata.Terms.CountWebFarmTask.With(new { count });
- break;
- }
-
- return label.With(new { count });
- }
-
- private ReportResults CompileResults(Dictionary taskResults)
- {
- var totalUnprocessedTasks = taskResults.Sum(x => x.Value);
- return new ReportResults()
- {
- Data = taskResults
- .Where(x => x.Value > 0)
- .Select(AsTaskCountLabel),
- Status = totalUnprocessedTasks > 0 ? ResultsStatus.Warning : ResultsStatus.Good,
- Summary = Metadata.Terms.CountUnprocessedTask.With(new { count = totalUnprocessedTasks }),
- Type = ResultsType.StringList
- };
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/TemplateLayoutAnalysis/Models/IdenticalPageLayouts.cs b/KenticoInspector.Reports/TemplateLayoutAnalysis/Models/IdenticalPageLayouts.cs
deleted file mode 100644
index 18bb063d..00000000
--- a/KenticoInspector.Reports/TemplateLayoutAnalysis/Models/IdenticalPageLayouts.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace KenticoInspector.Reports.TemplateLayoutAnalysis.Models
-{
- public class IdenticalPageLayouts
- {
- public string CodeNames { get; set; }
-
- public string PageTemplateLayout { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/TemplateLayoutAnalysis/Models/Terms.cs b/KenticoInspector.Reports/TemplateLayoutAnalysis/Models/Terms.cs
deleted file mode 100644
index 4fdbba27..00000000
--- a/KenticoInspector.Reports/TemplateLayoutAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,13 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.TemplateLayoutAnalysis.Models
-{
- public class Terms
- {
- public Term CountIdenticalPageLayoutFound { get; set; }
-
- public Term IdenticalPageLayouts { get; set; }
-
- public Term NoIdenticalPageLayoutsFound { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/TemplateLayoutAnalysis/Report.cs b/KenticoInspector.Reports/TemplateLayoutAnalysis/Report.cs
deleted file mode 100644
index 60c1c29c..00000000
--- a/KenticoInspector.Reports/TemplateLayoutAnalysis/Report.cs
+++ /dev/null
@@ -1,64 +0,0 @@
-using KenticoInspector.Core;
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-using KenticoInspector.Reports.TemplateLayoutAnalysis.Models;
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace KenticoInspector.Reports.TemplateLayoutAnalysis
-{
- public class Report : AbstractReport
- {
- private readonly IDatabaseService databaseService;
-
- public Report(IDatabaseService databaseService, IModuleMetadataService moduleMetadataService) : base(moduleMetadataService)
- {
- this.databaseService = databaseService;
- }
-
- public override IList CompatibleVersions => VersionHelper.GetVersionList("10", "11", "12", "13");
-
- public override IList Tags => new List
- {
- ReportTags.Information,
- ReportTags.PortalEngine
- };
-
- public override ReportResults GetResults()
- {
- var identicalLayouts = databaseService.ExecuteSqlFromFile(Scripts.GetIdenticalLayouts);
-
- return CompileResults(identicalLayouts);
- }
-
- private ReportResults CompileResults(IEnumerable identicalPageLayouts)
- {
- var countIdenticalPageLayouts = identicalPageLayouts.Count();
- var results = new ReportResults
- {
- Status = ResultsStatus.Information,
- Type = ResultsType.Table,
- Data = new TableResult()
- {
- Name = Metadata.Terms.IdenticalPageLayouts,
- Rows = identicalPageLayouts
- }
- };
-
- if (countIdenticalPageLayouts == 0)
- {
- results.Summary = Metadata.Terms.NoIdenticalPageLayoutsFound;
- }
- else
- {
- results.Summary = Metadata.Terms.CountIdenticalPageLayoutFound.With(new { count = countIdenticalPageLayouts });
- }
-
- return results;
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/TransformationSecurityAnalysis/Models/Data/TransformationDto.cs b/KenticoInspector.Reports/TransformationSecurityAnalysis/Models/Data/TransformationDto.cs
deleted file mode 100644
index dac923be..00000000
--- a/KenticoInspector.Reports/TransformationSecurityAnalysis/Models/Data/TransformationDto.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-namespace KenticoInspector.Reports.TransformationSecurityAnalysis.Models.Data
-{
- ///
- /// Transformation of type .
- ///
- public class TransformationDto
- {
- public string TransformationName { get; set; }
-
- public string TransformationCode { get; set; }
-
- public TransformationType Type { get; set; }
-
- public string ClassName { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/TransformationSecurityAnalysis/Models/Terms.cs b/KenticoInspector.Reports/TransformationSecurityAnalysis/Models/Terms.cs
deleted file mode 100644
index a8bbd991..00000000
--- a/KenticoInspector.Reports/TransformationSecurityAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,49 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.TransformationSecurityAnalysis.Models
-{
- public class Terms
- {
- public Term WarningSummary { get; set; }
-
- public Term GoodSummary { get; set; }
-
- public TableTitlesTerms TableTitles { get; set; }
-
- public IssueDescriptionsTerms IssueDescriptions { get; set; }
- }
-
- public class TableTitlesTerms
- {
- public Term IssueTypes { get; set; }
-
- public Term TransformationsWithIssues { get; set; }
-
- public Term TransformationUsage { get; set; }
-
- public Term TemplateUsage { get; set; }
- }
-
- public class IssueDescriptionsTerms
- {
- public Term XssQueryHelper { get; set; }
-
- public Term XssQueryString { get; set; }
-
- public Term XssHttpContext { get; set; }
-
- public Term XssServer { get; set; }
-
- public Term XssRequest { get; set; }
-
- public Term XssDocument { get; set; }
-
- public Term XssWindow { get; set; }
-
- public Term ServerSideScript { get; set; }
-
- public Term DocumentsMacro { get; set; }
-
- public Term QueryMacro { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/UnusedPageTypeSummary/Models/Terms.cs b/KenticoInspector.Reports/UnusedPageTypeSummary/Models/Terms.cs
deleted file mode 100644
index c788ce45..00000000
--- a/KenticoInspector.Reports/UnusedPageTypeSummary/Models/Terms.cs
+++ /dev/null
@@ -1,11 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.UnusedPageTypeSummary.Models
-{
- public class Terms
- {
- public Term CountUnusedPageType { get; set; }
-
- public Term UnusedPageTypes { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/UnusedPageTypeSummary/Models/UnusedPageTypes.cs b/KenticoInspector.Reports/UnusedPageTypeSummary/Models/UnusedPageTypes.cs
deleted file mode 100644
index ab0d4502..00000000
--- a/KenticoInspector.Reports/UnusedPageTypeSummary/Models/UnusedPageTypes.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace KenticoInspector.Reports.UnusedPageTypeSummary.Models
-{
- public class PageType
- {
- public string ClassDisplayName { get; set; }
-
- public string ClassName { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/UnusedPageTypeSummary/Report.cs b/KenticoInspector.Reports/UnusedPageTypeSummary/Report.cs
deleted file mode 100644
index 9bbd616b..00000000
--- a/KenticoInspector.Reports/UnusedPageTypeSummary/Report.cs
+++ /dev/null
@@ -1,48 +0,0 @@
-using KenticoInspector.Core;
-using KenticoInspector.Core.Constants;
-using KenticoInspector.Core.Helpers;
-using KenticoInspector.Core.Models;
-using KenticoInspector.Core.Services.Interfaces;
-using KenticoInspector.Reports.UnusedPageTypeSummary.Models;
-
-using System;
-using System.Collections.Generic;
-using System.Linq;
-
-namespace KenticoInspector.Reports.UnusedPageTypeSummary
-{
- public class Report : AbstractReport
- {
- private readonly IDatabaseService databaseService;
-
- public Report(IDatabaseService databaseService, IModuleMetadataService moduleMetadataService) : base(moduleMetadataService)
- {
- this.databaseService = databaseService;
- }
-
- public override IList CompatibleVersions => VersionHelper.GetVersionList("10", "11", "12", "13");
-
- public override IList Tags => new List
- {
- ReportTags.Information
- };
-
- public override ReportResults GetResults()
- {
- var unusedPageTypes = databaseService.ExecuteSqlFromFile(Scripts.GetUnusedPageTypes);
- var countOfUnusedPageTypes = unusedPageTypes.Count();
-
- return new ReportResults
- {
- Type = ResultsType.Table,
- Status = ResultsStatus.Information,
- Summary = Metadata.Terms.CountUnusedPageType.With(new { count = countOfUnusedPageTypes }),
- Data = new TableResult()
- {
- Name = Metadata.Terms.UnusedPageTypes,
- Rows = unusedPageTypes
- }
- };
- }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/UserPasswordAnalysis/Models/Data/CmsUser.cs b/KenticoInspector.Reports/UserPasswordAnalysis/Models/Data/CmsUser.cs
deleted file mode 100644
index 1f1d9bb4..00000000
--- a/KenticoInspector.Reports/UserPasswordAnalysis/Models/Data/CmsUser.cs
+++ /dev/null
@@ -1,32 +0,0 @@
-using Newtonsoft.Json;
-
-namespace KenticoInspector.Reports.UserPasswordAnalysis.Models.Data
-{
- public class CmsUser
- {
- public int UserID { get; set; }
-
- public string UserName { get; set; }
-
- public string Email { get; set; }
-
- [JsonIgnore]
- public string UserPassword { get; set; }
-
- [JsonIgnore]
- public string UserPasswordFormat { get; set; }
-
- public string UserPrivilegeLevel { get; set; }
-
- [JsonIgnore]
- public string FirstName { get; set; }
-
- [JsonIgnore]
- public string MiddleName { get; set; }
-
- [JsonIgnore]
- public string LastName { get; set; }
-
- public string FullName { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/UserPasswordAnalysis/Models/Terms.cs b/KenticoInspector.Reports/UserPasswordAnalysis/Models/Terms.cs
deleted file mode 100644
index ee96d5a6..00000000
--- a/KenticoInspector.Reports/UserPasswordAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.UserPasswordAnalysis.Models
-{
- public class Terms
- {
- public Term ErrorSummary { get; set; }
-
- public Term GoodSummary { get; set; }
-
- public TableTitlesTerms TableTitles { get; set; }
- }
-
- public class TableTitlesTerms
- {
- public Term EmptyPasswords { get; set; }
-
- public Term PlaintextPasswords { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/Document.cs b/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/Document.cs
deleted file mode 100644
index f9f669ae..00000000
--- a/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/Document.cs
+++ /dev/null
@@ -1,18 +0,0 @@
-using Newtonsoft.Json;
-
-namespace KenticoInspector.Reports.WebPartPerformanceAnalysis.Models
-{
- public class Document
- {
- public string DocumentName { get; set; }
-
- public int DocumentPageTemplateID { get; set; }
-
- [JsonIgnore]
- public string DocumentWebParts { get; set; }
-
- public string NodeAliasPath { get; set; }
-
- public int NodeSiteID { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/PageTemplate.cs b/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/PageTemplate.cs
deleted file mode 100644
index 6822e676..00000000
--- a/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/PageTemplate.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using System.Xml.Linq;
-
-namespace KenticoInspector.Reports.WebPartPerformanceAnalysis.Models
-{
- public class PageTemplate
- {
- public string PageTemplateCodeName { get; set; }
-
- public string PageTemplateDisplayName { get; set; }
-
- public int PageTemplateID { get; set; }
-
- public XDocument PageTemplateWebParts { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/Terms.cs b/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/Terms.cs
deleted file mode 100644
index 6e185cda..00000000
--- a/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/Terms.cs
+++ /dev/null
@@ -1,20 +0,0 @@
-using KenticoInspector.Core.Models;
-
-namespace KenticoInspector.Reports.WebPartPerformanceAnalysis.Models
-{
- public class HeaderTerms
- {
- public Term DocumentSummary { get; set; }
-
- public Term TemplateSummary { get; set; }
-
- public Term WebPartSummary { get; set; }
- }
-
- public class Terms
- {
- public HeaderTerms Headers { get; set; }
-
- public Term Summary { get; set; }
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/WebPartSummary.cs b/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/WebPartSummary.cs
deleted file mode 100644
index 1e16e593..00000000
--- a/KenticoInspector.Reports/WebPartPerformanceAnalysis/Models/WebPartSummary.cs
+++ /dev/null
@@ -1,23 +0,0 @@
-using Newtonsoft.Json;
-
-using System.Collections.Generic;
-using System.Linq;
-
-namespace KenticoInspector.Reports.WebPartPerformanceAnalysis.Models
-{
- public class WebPartSummary
- {
- public string ID { get; set; }
-
- public string Name { get; set; }
-
- public string Type { get; set; }
-
- public int TemplateId { get; set; }
-
- [JsonIgnore]
- public IEnumerable Documents { get; set; }
-
- public int DocumentCount => Documents.Count();
- }
-}
\ No newline at end of file
diff --git a/KenticoInspector.Reports/editorconfig.txt b/KenticoInspector.Reports/editorconfig.txt
deleted file mode 100644
index 09c62a85..00000000
--- a/KenticoInspector.Reports/editorconfig.txt
+++ /dev/null
@@ -1,1245 +0,0 @@
-root = true
-
-[*.cs]
-
-# ===== Active SonarLint rules =====
-
-# [Category: Bug]
-# S2757: "=+" should not be used instead of "+="
-dotnet_diagnostic.S2757.severity = warning
-
-# S3168: "async" methods should not return "void"
-dotnet_diagnostic.S3168.severity = warning
-
-# S3397: "base.Equals" should not be used to check for reference equality in "Equals" if "base" is not "object"
-dotnet_diagnostic.S3397.severity = warning
-
-# S1206: "Equals(Object)" and "GetHashCode()" should be overridden in pairs
-dotnet_diagnostic.S1206.severity = warning
-
-# S2328: "GetHashCode" should not reference mutable fields
-dotnet_diagnostic.S2328.severity = warning
-
-# S2997: "IDisposables" created in a "using" statement should not be returned
-dotnet_diagnostic.S2997.severity = warning
-
-# S2930: "IDisposables" should be disposed
-dotnet_diagnostic.S2930.severity = warning
-
-# S2688: "NaN" should not be used in comparisons
-dotnet_diagnostic.S2688.severity = warning
-
-# S2995: "Object.ReferenceEquals" should not be used for value types
-dotnet_diagnostic.S2995.severity = warning
-
-# S3869: "SafeHandle.DangerousGetHandle" should not be called
-dotnet_diagnostic.S3869.severity = warning
-
-# S3456: "string.ToCharArray()" should not be called redundantly
-dotnet_diagnostic.S3456.severity = warning
-
-# S2996: "ThreadStatic" fields should not be initialized
-dotnet_diagnostic.S2996.severity = warning
-
-# S3005: "ThreadStatic" should not be used on non-static fields
-dotnet_diagnostic.S3005.severity = warning
-
-# S2225: "ToString()" method should not return null
-dotnet_diagnostic.S2225.severity = warning
-
-# S2251: A "for" loop update clause should move the counter in the right direction
-dotnet_diagnostic.S2251.severity = warning
-
-# S3923: All branches in a conditional structure should not have exactly the same implementation
-dotnet_diagnostic.S3923.severity = warning
-
-# S3244: Anonymous delegates should not be used to unsubscribe from Events
-dotnet_diagnostic.S3244.severity = warning
-
-# S3343: Caller information parameters should come at the end of the parameter list
-dotnet_diagnostic.S3343.severity = warning
-
-# S4583: Calls to delegate's method "BeginInvoke" should be paired with calls to "EndInvoke"
-dotnet_diagnostic.S4583.severity = warning
-
-# S3249: Classes directly extending "object" should not call "base" in "GetHashCode" or "Equals"
-dotnet_diagnostic.S3249.severity = warning
-
-# S3453: Classes should not have only "private" constructors
-dotnet_diagnostic.S3453.severity = warning
-
-# S4143: Collection elements should not be replaced unconditionally
-dotnet_diagnostic.S4143.severity = warning
-
-# S3981: Collection sizes and array length comparisons should make sense
-dotnet_diagnostic.S3981.severity = warning
-
-# S2114: Collections should not be passed as arguments to their own methods
-dotnet_diagnostic.S2114.severity = warning
-
-# S2275: Composite format strings should not lead to unexpected behavior at runtime
-dotnet_diagnostic.S2275.severity = warning
-
-# S2583: Conditionally executed code should be reachable
-dotnet_diagnostic.S2583.severity = warning
-
-# S3172: Delegates should not be subtracted
-dotnet_diagnostic.S3172.severity = warning
-
-# S3926: Deserialization methods should be provided for "OptionalField" members
-dotnet_diagnostic.S3926.severity = warning
-
-# S1048: Destructors should not throw exceptions
-dotnet_diagnostic.S1048.severity = warning
-
-# S2761: Doubled prefix operators "!!" and "~~" should not be used
-dotnet_diagnostic.S2761.severity = warning
-
-# S4158: Empty collections should not be accessed or iterated
-dotnet_diagnostic.S4158.severity = warning
-
-# S3655: Empty nullable value should not be accessed
-dotnet_diagnostic.S3655.severity = warning
-
-# S3984: Exceptions should not be created without being thrown
-dotnet_diagnostic.S3984.severity = warning
-
-# S3346: Expressions used in "Debug.Assert" should not produce side effects
-dotnet_diagnostic.S3346.severity = warning
-
-# S2345: Flags enumerations should explicitly initialize all their members
-dotnet_diagnostic.S2345.severity = warning
-
-# S2252: For-loop conditions should be true at least once
-dotnet_diagnostic.S2252.severity = warning
-
-# S4275: Getters and setters should access the expected fields
-dotnet_diagnostic.S4275.severity = warning
-
-# S1764: Identical expressions should not be used on both sides of a binary operator
-dotnet_diagnostic.S1764.severity = warning
-
-# S2183: Integral numbers should not be shifted by zero or more than their number of bits-1
-dotnet_diagnostic.S2183.severity = warning
-
-# S1751: Loops with at most one iteration should be refactored
-dotnet_diagnostic.S1751.severity = warning
-
-# S3603: Methods with "Pure" attribute should return a value
-dotnet_diagnostic.S3603.severity = warning
-
-# S3887: Mutable, non-private fields should not be "readonly"
-dotnet_diagnostic.S3887.severity = warning
-
-# S3889: Neither "Thread.Resume" nor "Thread.Suspend" should be used
-dotnet_diagnostic.S3889.severity = warning
-
-# S4586: Non-async "Task/Task" methods should not return null
-dotnet_diagnostic.S4586.severity = warning
-
-# S2259: Null pointers should not be dereferenced
-dotnet_diagnostic.S2259.severity = warning
-
-# S3610: Nullable type comparison should not be redundant
-dotnet_diagnostic.S3610.severity = warning
-
-# S1848: Objects should not be created to be dropped immediately without being used
-dotnet_diagnostic.S1848.severity = warning
-
-# S3598: One-way "OperationContract" methods should have "void" return type
-dotnet_diagnostic.S3598.severity = warning
-
-# S3466: Optional parameters should be passed to "base" calls
-dotnet_diagnostic.S3466.severity = warning
-
-# S2934: Property assignments should not be made for "readonly" fields not constrained to reference types
-dotnet_diagnostic.S2934.severity = warning
-
-# S2190: Recursion should not be infinite
-dotnet_diagnostic.S2190.severity = warning
-
-# S1862: Related "if/else if" statements should not have the same condition
-dotnet_diagnostic.S1862.severity = warning
-
-# S2184: Results of integer division should not be assigned to floating point variables
-dotnet_diagnostic.S2184.severity = warning
-
-# S2201: Return values from functions without side effects should not be ignored
-dotnet_diagnostic.S2201.severity = warning
-
-# S3449: Right operands of shift operators should be integers
-dotnet_diagnostic.S3449.severity = warning
-
-# S3927: Serialization event handlers should be implemented correctly
-dotnet_diagnostic.S3927.severity = warning
-
-# S2551: Shared resources should not be used for locking
-dotnet_diagnostic.S2551.severity = warning
-
-# S2857: SQL keywords should be delimited by whitespace
-dotnet_diagnostic.S2857.severity = warning
-
-# S3263: Static fields should appear in the order they must be initialized
-dotnet_diagnostic.S3263.severity = warning
-
-# S3464: Type inheritance should not be recursive
-dotnet_diagnostic.S3464.severity = warning
-
-# S3903: Types should be defined in named namespaces
-dotnet_diagnostic.S3903.severity = warning
-
-# S2123: Values should not be uselessly incremented
-dotnet_diagnostic.S2123.severity = warning
-
-# S1656: Variables should not be self-assigned
-dotnet_diagnostic.S1656.severity = warning
-
-# S2306: "async" and "await" should not be used as identifiers
-dotnet_diagnostic.S2306.severity = warning
-
-
-# [Category: Security]
-# S3884: "CoSetProxyBlanket" and "CoInitializeSecurity" should not be used
-dotnet_diagnostic.S3884.severity = warning
-
-# S2115: A secure password should be used when connecting to a database
-dotnet_diagnostic.S2115.severity = warning
-
-# S5547: Cipher algorithms should be robust
-dotnet_diagnostic.S5547.severity = warning
-
-# S3329: Cipher Block Chaining IVs should be unpredictable
-dotnet_diagnostic.S3329.severity = warning
-
-# S5542: Encryption algorithms should be used with secure mode and padding scheme
-dotnet_diagnostic.S5542.severity = warning
-
-# S5445: Insecure temporary file creation methods should not be used
-dotnet_diagnostic.S5445.severity = warning
-
-# S5659: JWT should be signed and verified with strong cipher algorithms
-dotnet_diagnostic.S5659.severity = warning
-
-# S4433: LDAP connections should be authenticated
-dotnet_diagnostic.S4433.severity = warning
-
-# S4211: Members should not have conflicting transparency annotations
-dotnet_diagnostic.S4211.severity = warning
-
-# S4423: Weak SSL/TLS protocols should not be used
-dotnet_diagnostic.S4423.severity = warning
-
-# S2755: XML parsers should not be vulnerable to XXE attacks
-dotnet_diagnostic.S2755.severity = warning
-
-# S2053: Hashes should include an unpredictable salt
-dotnet_diagnostic.S2053.severity = warning
-
-# S4830: Server certificates should be verified during SSL/TLS connections
-dotnet_diagnostic.S4830.severity = warning
-
-# S4426: Cryptographic keys should be robust
-dotnet_diagnostic.S4426.severity = warning
-
-# S5773: Types allowed to be deserialized should be restricted
-dotnet_diagnostic.S5773.severity = warning
-
-
-# [Category: Security Hotspot]
-# S5693: Allowing requests with excessive content length is security-sensitive
-dotnet_diagnostic.S5693.severity = warning
-
-# S4792: Configuring loggers is security-sensitive
-dotnet_diagnostic.S4792.severity = warning
-
-# S3330: Creating cookies without the "HttpOnly" flag is security-sensitive
-dotnet_diagnostic.S3330.severity = warning
-
-# S2092: Creating cookies without the "secure" flag is security-sensitive
-dotnet_diagnostic.S2092.severity = warning
-
-# S4507: Delivering code in production with debug features activated is security-sensitive
-dotnet_diagnostic.S4507.severity = warning
-
-# S5766: Deserializing objects without performing data validation is security-sensitive
-dotnet_diagnostic.S5766.severity = warning
-
-# S5753: Disabling ASP.NET "Request Validation" feature is security-sensitive
-dotnet_diagnostic.S5753.severity = warning
-
-# S4502: Disabling CSRF protections is security-sensitive
-dotnet_diagnostic.S4502.severity = warning
-
-# S5042: Expanding archive files without controlling resource consumption is security-sensitive
-dotnet_diagnostic.S5042.severity = warning
-
-# S2077: Formatting SQL queries is security-sensitive
-dotnet_diagnostic.S2077.severity = warning
-
-# S2068: Hard-coded credentials are security-sensitive
-dotnet_diagnostic.S2068.severity = warning
-
-# S5122: Having a permissive Cross-Origin Resource Sharing policy is security-sensitive
-dotnet_diagnostic.S5122.severity = warning
-
-# S4036: Searching OS commands in PATH is security-sensitive
-dotnet_diagnostic.S4036.severity = warning
-
-# S2612: Setting loose file permissions is security-sensitive
-dotnet_diagnostic.S2612.severity = warning
-
-# S5332: Using clear-text protocols is security-sensitive
-dotnet_diagnostic.S5332.severity = warning
-
-# S1313: Using hardcoded IP addresses is security-sensitive
-dotnet_diagnostic.S1313.severity = warning
-
-# S2257: Using non-standard cryptographic algorithms is security-sensitive
-dotnet_diagnostic.S2257.severity = warning
-
-# S2245: Using pseudorandom number generators (PRNGs) is security-sensitive
-dotnet_diagnostic.S2245.severity = warning
-
-# S5443: Using publicly writable directories is security-sensitive
-dotnet_diagnostic.S5443.severity = warning
-
-# S4790: Using weak hashing algorithms is security-sensitive
-dotnet_diagnostic.S4790.severity = warning
-
-
-# [Category: Code Smell]
-# S3451: "[DefaultValue]" should not be used when "[DefaultParameterValue]" is meant
-dotnet_diagnostic.S3451.severity = warning
-
-# S3447: "[Optional]" should not be used on "ref" or "out" parameters
-dotnet_diagnostic.S3447.severity = warning
-
-# S1155: "Any()" should be used to test for emptiness
-dotnet_diagnostic.S1155.severity = warning
-
-# S2737: "catch" clauses should do more than rethrow
-dotnet_diagnostic.S2737.severity = warning
-
-# S4524: "default" clauses should be first or last
-dotnet_diagnostic.S4524.severity = warning
-
-# S3217: "Explicit" conversions of "foreach" loops should not be used
-dotnet_diagnostic.S3217.severity = warning
-
-# S3971: "GC.SuppressFinalize" should not be called
-dotnet_diagnostic.S3971.severity = warning
-
-# S907: "goto" statement should not be used
-dotnet_diagnostic.S907.severity = warning
-
-# S2692: "IndexOf" checks should not be for positive numbers
-dotnet_diagnostic.S2692.severity = warning
-
-# S3060: "is" should not be used with "this"
-dotnet_diagnostic.S3060.severity = warning
-
-# S1123: "Obsolete" attributes should include explanations
-dotnet_diagnostic.S1123.severity = warning
-
-# S4214: "P/Invoke" methods should not be visible
-dotnet_diagnostic.S4214.severity = warning
-
-# S4061: "params" should be used instead of "varargs"
-dotnet_diagnostic.S4061.severity = warning
-
-# S3262: "params" should be used on overrides
-dotnet_diagnostic.S3262.severity = warning
-
-# S3600: "params" should not be introduced on overrides
-dotnet_diagnostic.S3600.severity = warning
-
-# S3597: "ServiceContract" and "OperationContract" attributes should be used together
-dotnet_diagnostic.S3597.severity = warning
-
-# S3963: "static" fields should be initialized inline
-dotnet_diagnostic.S3963.severity = warning
-
-# S3256: "string.IsNullOrEmpty" should be used
-dotnet_diagnostic.S3256.severity = warning
-
-# S1479: "switch" statements should not have too many "case" clauses
-dotnet_diagnostic.S1479.severity = warning
-
-# S5034: "ValueTask" should be consumed correctly
-dotnet_diagnostic.S5034.severity = warning
-
-# S1264: A "while" loop should be used instead of a "for" loop
-dotnet_diagnostic.S1264.severity = warning
-
-# S3973: A conditionally executed single line should be denoted by indentation
-dotnet_diagnostic.S3973.severity = warning
-
-# S3904: Assemblies should have version information
-dotnet_diagnostic.S3904.severity = warning
-
-# S3415: Assertion arguments should be passed in the correct order
-dotnet_diagnostic.S3415.severity = warning
-
-# S4019: Base class methods should not be hidden
-dotnet_diagnostic.S4019.severity = warning
-
-# S1940: Boolean checks should not be inverted
-dotnet_diagnostic.S1940.severity = warning
-
-# S3236: Caller information arguments should not be provided explicitly
-dotnet_diagnostic.S3236.severity = warning
-
-# S3897: Classes that provide "Equals()" should implement "IEquatable"
-dotnet_diagnostic.S3897.severity = warning
-
-# S3457: Composite format strings should be used correctly
-dotnet_diagnostic.S3457.severity = warning
-
-# S3972: Conditionals should start on new lines
-dotnet_diagnostic.S3972.severity = warning
-
-# S1116: Empty statements should be removed
-dotnet_diagnostic.S1116.severity = warning
-
-# S3264: Events should be invoked
-dotnet_diagnostic.S3264.severity = warning
-
-# S3445: Exceptions should not be explicitly rethrown
-dotnet_diagnostic.S3445.severity = warning
-
-# S1163: Exceptions should not be thrown in finally blocks
-dotnet_diagnostic.S1163.severity = warning
-
-# S2290: Field-like events should not be virtual
-dotnet_diagnostic.S2290.severity = warning
-
-# S2346: Flags enumerations zero-value members should be named "warning"
-dotnet_diagnostic.S2346.severity = warning
-
-# S3251: Implementations should be provided for "partial" methods
-dotnet_diagnostic.S3251.severity = warning
-
-# S1944: Inappropriate casts should not be made
-dotnet_diagnostic.S1944.severity = warning
-
-# S4015: Inherited member visibility should not be decreased
-dotnet_diagnostic.S4015.severity = warning
-
-# S3444: Interfaces should not simply inherit from base interfaces with colliding members
-dotnet_diagnostic.S3444.severity = warning
-
-# S818: Literal suffixes should be upper case
-dotnet_diagnostic.S818.severity = warning
-
-# S3400: Methods should not return constants
-dotnet_diagnostic.S3400.severity = warning
-
-# S2681: Multiline blocks should be enclosed in curly braces
-dotnet_diagnostic.S2681.severity = warning
-
-# S3169: Multiple "OrderBy" calls should not be used
-dotnet_diagnostic.S3169.severity = warning
-
-# S3261: Namespaces should not be empty
-dotnet_diagnostic.S3261.severity = warning
-
-# S4200: Native methods should be wrapped
-dotnet_diagnostic.S4200.severity = warning
-
-# S1199: Nested code blocks should not be used
-dotnet_diagnostic.S1199.severity = warning
-
-# S4070: Non-flags enums should not be marked with "FlagsAttribute"
-dotnet_diagnostic.S4070.severity = warning
-
-# S3265: Non-flags enums should not be used in bitwise operations
-dotnet_diagnostic.S3265.severity = warning
-
-# S4201: Null checks should not be used with "is"
-dotnet_diagnostic.S4201.severity = warning
-
-# S3966: Objects should not be disposed more than once
-dotnet_diagnostic.S3966.severity = warning
-
-# S2291: Overflow checking should not be disabled for "Enumerable.Sum"
-dotnet_diagnostic.S2291.severity = warning
-
-# S1185: Overriding members should do more than simply call the same member in the base class
-dotnet_diagnostic.S1185.severity = warning
-
-# S2234: Parameters should be passed in the correct order
-dotnet_diagnostic.S2234.severity = warning
-
-# S3450: Parameters with "[DefaultParameterValue]" attributes should also be marked "[Optional]"
-dotnet_diagnostic.S3450.severity = warning
-
-# S1905: Redundant casts should not be used
-dotnet_diagnostic.S1905.severity = warning
-
-# S1110: Redundant pairs of parentheses should be removed
-dotnet_diagnostic.S1110.severity = warning
-
-# S2437: Silly bit operations should not be performed
-dotnet_diagnostic.S2437.severity = warning
-
-# S3010: Static fields should not be updated in constructors
-dotnet_diagnostic.S3010.severity = warning
-
-# S4635: String offset-based methods should be preferred for finding substrings from offsets
-dotnet_diagnostic.S4635.severity = warning
-
-# S3998: Threads should not lock on objects with weak identity
-dotnet_diagnostic.S3998.severity = warning
-
-# S1134: Track uses of "FIXME" tags
-dotnet_diagnostic.S1134.severity = warning
-
-# S1135: Track uses of "TODO" tags
-dotnet_diagnostic.S1135.severity = warning
-
-# S1871: Two branches in a conditional structure should not have exactly the same implementation
-dotnet_diagnostic.S1871.severity = warning
-
-# S3443: Type should not be examined on "System.Type" instances
-dotnet_diagnostic.S3443.severity = warning
-
-# S3459: Unassigned members should be removed
-dotnet_diagnostic.S3459.severity = warning
-
-# S3440: Variables should not be checked against the values they're about to be assigned
-dotnet_diagnostic.S3440.severity = warning
-
-# S2479: Whitespace and control characters in string literals should be explicit
-dotnet_diagnostic.S2479.severity = warning
-
-# S2376: Write-only properties should not be used
-dotnet_diagnostic.S2376.severity = warning
-
-# S3442: "abstract" classes should not have "public" constructors
-dotnet_diagnostic.S3442.severity = warning
-
-# S3885: "Assembly.Load" should be used
-dotnet_diagnostic.S3885.severity = warning
-
-# S1210: "Equals" and the comparison operators should be overridden when implementing "IComparable"
-dotnet_diagnostic.S1210.severity = warning
-
-# S1215: "GC.Collect" should not be called
-dotnet_diagnostic.S1215.severity = warning
-
-# S3881: "IDisposable" should be implemented correctly
-dotnet_diagnostic.S3881.severity = warning
-
-# S2971: "IEnumerable" LINQs should be simplified
-dotnet_diagnostic.S2971.severity = warning
-
-# S3925: "ISerializable" should be implemented correctly
-dotnet_diagnostic.S3925.severity = warning
-
-# S4581: "new Guid()" should not be used
-dotnet_diagnostic.S4581.severity = warning
-
-# S3875: "operator==" should not be overloaded on reference types
-dotnet_diagnostic.S3875.severity = warning
-
-# S3237: "value" parameters should be used
-dotnet_diagnostic.S3237.severity = warning
-
-# S1121: Assignments should not be made from within sub-expressions
-dotnet_diagnostic.S1121.severity = warning
-
-# S3376: Attribute, EventArgs, and Exception type names should end with the type being extended
-dotnet_diagnostic.S3376.severity = warning
-
-# S2589: Boolean expressions should not be gratuitous
-dotnet_diagnostic.S2589.severity = warning
-
-# S4035: Classes implementing "IEquatable