Repository: GuilhermeStracini/POC-dotnet-polymorphic-rest-api
Pull request #142: Update xunit.runner.visualstudio to 3.1.0
Author: login: dependabot[bot]
Labels: name: size/L
description: Denotes a PR that changes 100-499 lines, ignoring generated files.
name: ☑️ auto-merge
description: Automatic merging of pull requests (gstraccini-bot)
name: 🤖 bot
description: Automated processes or integrations
Created: 2025-05-05T09:45:24Z | Merged: 2025-05-08T18:12:17Z

Performed the following updates:
- Updated xunit.runner.visualstudio to 3.1.0 in /Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.

[//]: # (dependabot-automerge-start)
Dependabot will merge this PR once CI passes on it, as requested by @guibranco.

[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)


</details>

## Summary by Sourcery

Chores:
- Updated xunit.runner.visualstudio package to version 3.1.0 in test project

<!-- Korbit AI PR Description Start -->
## Description by Korbit AI

### What change is being made?
Update dependencies including xunit.runner.visualstudio to version 3.1.0, streamline GitHub Actions workflows by using pre-existing actions for Infisical secrets check and CSharpier linter, and refactor the .NET project files for better readability.

### Why are these changes being made?
These changes reduce maintenance overhead and improve the readability of the GitHub Actions and project files. Updating dependencies ensures compatibility with the latest features and security patches, while using existing GitHub Actions reduces complexity and potential errors in CI workflows. The refactoring of project files aims to adhere to coding style best practices, thus enhancing readability and maintainability.

> Is this description stale? Ask me to generate a new description by commenting `/korbit-generate-pr-description`
<!-- Korbit AI PR Description End -->


Diff:
diff --git a/.config/dotnet-tools.json b/.config/dotnet-tools.json
index 78ec158..2dd929a 100644
--- a/.config/dotnet-tools.json
+++ b/.config/dotnet-tools.json
@@ -3,9 +3,9 @@
   "isRoot": true,
   "tools": {
     "csharpier": {
-      "version": "0.30.6",
+      "version": "1.0.1",
       "commands": [
-        "dotnet-csharpier"
+        "csharpier"
       ]
     }
   }
diff --git a/.github/workflows/infisical-secrets-check.yml b/.github/workflows/infisical-secrets-check.yml
index 77231e8..7b31ac6 100644
--- a/.github/workflows/infisical-secrets-check.yml
+++ b/.github/workflows/infisical-secrets-check.yml
@@ -4,75 +4,9 @@ on:
   workflow_dispatch:
   pull_request:
 
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
 jobs:
-  
-  secrets-scan:
+  secrets-check:
     runs-on: ubuntu-latest
-    permissions:
-      contents: read
-      pull-requests: write
     steps:
-
-      - name: Checkout repo
-        uses: actions/checkout@v4
-        with:
-          fetch-depth: 0
-
-      - name: Set Infisical package source
-        shell: bash
-        run: curl -1sLf 'https://dl.cloudsmith.io/public/infisical/infisical-cli/setup.deb.sh' | sudo -E bash
-      
-      - name: Install Infisical
-        shell: bash
-        run: | 
-          sudo apt-get update && sudo apt-get install -y infisical
-      
-      - name: Run scan
-        shell: bash
-        run: infisical scan --redact -f csv -r secrets-result.csv 2>&1 | tee >(sed -r 's/\x1b\[[0-9;]*m//g' > secrets-result.log)
-
-      - name: Read secrets-result.log
-        uses: guibranco/github-file-reader-action-v2@v2.2.795
-        if: always()
-        id: log
-        with:
-         path: secrets-result.log
-
-      - name: Read secrets-result.log
-        uses: guibranco/github-file-reader-action-v2@v2.2.795
-        if: failure()
-        id: report
-        with:
-         path: secrets-result.csv
-
-      - name: Update PR with comment
-        uses: mshick/add-pr-comment@v2
-        if: always()
-        with:
-          refresh-message-position: true
-          message-id: 'secrets-result'
-          message: |
-            **Infisical secrets check:** :white_check_mark: No secrets leaked!
-
-            **Scan results:**
-            ```
-            ${{ steps.log.outputs.contents }}
-            ```
-
-          message-failure: |
-            **Infisical secrets check:** :rotating_light: Secrets leaked!     
-            
-            **Scan results:**
-            ```
-            ${{ steps.log.outputs.contents }}
-            ```
-            **Scan report:**
-            ```
-            ${{ steps.report.outputs.contents }}
-            ```
-          message-cancelled: |
-            **Infisical secrets check:** :o: Secrets check cancelled!
+      - name: Infisical Secrets Check
+        uses: guibranco/github-infisical-secrets-check-action@v3.0.0
diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml
index c111ab0..d63254b 100644
--- a/.github/workflows/linter.yml
+++ b/.github/workflows/linter.yml
@@ -8,17 +8,5 @@ jobs:
   linter-check:
     runs-on: ubuntu-latest
     steps:
-
-      - name: Checkout repo
-        uses: actions/checkout@v4
-
-      - name: Setup .NET
-        uses: actions/setup-dotnet@v4
-
-      - name: Dotnet restore
-        run: dotnet tool restore
-
-      - name: Csharpier format check
-        run: |
-          dotnet csharpier . --check
-          echo "run 'dotnet build' to fix the formatting of the code automatically"
+      - name: CSharpier Linter
+        uses: guibranco/github-csharpier-linter-action@v1.0.5
diff --git a/Src/POCPolymorphicRestApi/POCPolymorphicRestApi.csproj b/Src/POCPolymorphicRestApi/POCPolymorphicRestApi.csproj
index 394d8d2..7d6df82 100644
--- a/Src/POCPolymorphicRestApi/POCPolymorphicRestApi.csproj
+++ b/Src/POCPolymorphicRestApi/POCPolymorphicRestApi.csproj
@@ -1,15 +1,15 @@
 <Project Sdk="Microsoft.NET.Sdk.Web">
-
   <PropertyGroup>
     <TargetFramework>net8.0</TargetFramework>
     <InvariantGlobalization>true</InvariantGlobalization>
     <UserSecretsId>a0d6f673-dc93-448b-9dc3-6708a2aff74b</UserSecretsId>
     <DockerDefaultTargetOS>Linux</DockerDefaultTargetOS>
   </PropertyGroup>
-
   <ItemGroup>
-    <PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.0" />
+    <PackageReference
+      Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets"
+      Version="1.21.0"
+    />
     <PackageReference Include="Swashbuckle.AspNetCore" Version="8.1.1" />
   </ItemGroup>
-
 </Project>
diff --git a/Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj b/Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj
index 7108d53..a63fc76 100644
--- a/Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj
+++ b/Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj
@@ -1,12 +1,9 @@
 <Project Sdk="Microsoft.NET.Sdk">
-
   <PropertyGroup>
     <TargetFramework>net8.0</TargetFramework>
-
     <IsPackable>false</IsPackable>
     <IsTestProject>true</IsTestProject>
   </PropertyGroup>
-
   <ItemGroup>
     <PackageReference Include="AutoFixture" Version="4.18.1" />
     <PackageReference Include="coverlet.msbuild" Version="6.0.4">
@@ -17,15 +14,12 @@
     <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.13.0" />
     <PackageReference Include="NSubstitute" Version="5.3.0" />
     <PackageReference Include="xunit" Version="2.9.3" />
-    <PackageReference Include="xunit.runner.visualstudio" Version="3.0.2">
+    <PackageReference Include="xunit.runner.visualstudio" Version="3.1.0">
       <PrivateAssets>all</PrivateAssets>
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
     </PackageReference>
   </ItemGroup>
-
-
   <ItemGroup>
     <ProjectReference Include="..\..\Src\POCPolymorphicRestApi\POCPolymorphicRestApi.csproj" />
   </ItemGroup>
-
 </Project>


Reviews:
user: login: gstraccini[bot]
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-05-05T09:45:38Z
user: login: guibranco
body: Automatically approved by [gstraccini\[bot\]](https://github.com/apps/gstraccini)
state: APPROVED
author_association: MEMBER
submitted_at: 2025-05-05T09:45:39Z
user: login: github-advanced-security[bot]
state: COMMENTED
author_association: NONE
submitted_at: 2025-05-08T18:01:00Z

Review comments:
diff_hunk: @@ -4,75 +4,9 @@
   workflow_dispatch:
   pull_request:
 
-concurrency:
-  group: ${{ github.workflow }}-${{ github.ref }}
-  cancel-in-progress: true
-
 jobs:
-  
-  secrets-scan:
+  secrets-check:
     runs-on: ubuntu-latest
-    permissions:
-      contents: read
-      pull-requests: write
     steps:
-
-      - name: Checkout repo
-        uses: actions/checkout@v4
-        with:
-          fetch-depth: 0
-
-      - name: Set Infisical package source
-        shell: bash
-        run: curl -1sLf 'https://dl.cloudsmith.io/public/infisical/infisical-cli/setup.deb.sh' | sudo -E bash
-      
-      - name: Install Infisical
-        shell: bash
-        run: | 
-          sudo apt-get update && sudo apt-get install -y infisical
-      
-      - name: Run scan
-        shell: bash
-        run: infisical scan --redact -f csv -r secrets-result.csv 2>&1 | tee >(sed -r 's/\x1b\[[0-9;]*m//g' > secrets-result.log)
-
-      - name: Read secrets-result.log
-        uses: guibranco/github-file-reader-action-v2@v2.2.795
-        if: always()
-        id: log
-        with:
-         path: secrets-result.log
-
-      - name: Read secrets-result.log
-        uses: guibranco/github-file-reader-action-v2@v2.2.795
-        if: failure()
-        id: report
-        with:
-         path: secrets-result.csv
-
-      - name: Update PR with comment
-        uses: mshick/add-pr-comment@v2
-        if: always()
-        with:
-          refresh-message-position: true
-          message-id: 'secrets-result'
-          message: |
-            **Infisical secrets check:** :white_check_mark: No secrets leaked!
-
-            **Scan results:**
-            ```
-            ${{ steps.log.outputs.contents }}
-            ```
-
-          message-failure: |
-            **Infisical secrets check:** :rotating_light: Secrets leaked!     
-            
-            **Scan results:**
-            ```
-            ${{ steps.log.outputs.contents }}
-            ```
-            **Scan report:**
-            ```
-            ${{ steps.report.outputs.contents }}
-            ```
-          message-cancelled: |
-            **Infisical secrets check:** :o: Secrets check cancelled!
+      - name: Infisical Secrets Check
+        uses: guibranco/github-infisical-secrets-check-action@v3.0.0
path: .github/workflows/infisical-secrets-check.yml
user: login: github-advanced-security[bot]
body: ## Unpinned tag for a non-immutable Action in workflow

Unpinned 3rd party Action 'Infisical secrets check' step [Uses Step](1) uses 'guibranco/github-infisical-secrets-check-action' with ref 'v3.0.0', not a pinned commit hash

[Show more details](https://github.com/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/security/code-scanning/9)
created_at: 2025-05-08T18:01:00Z
author_association: NONE
diff_hunk: @@ -8,17 +8,5 @@
   linter-check:
     runs-on: ubuntu-latest
     steps:
-
-      - name: Checkout repo
-        uses: actions/checkout@v4
-
-      - name: Setup .NET
-        uses: actions/setup-dotnet@v4
-
-      - name: Dotnet restore
-        run: dotnet tool restore
-
-      - name: Csharpier format check
-        run: |
-          dotnet csharpier . --check
-          echo "run 'dotnet build' to fix the formatting of the code automatically"
+      - name: CSharpier Linter
+        uses: guibranco/github-csharpier-linter-action@v1.0.5
path: .github/workflows/linter.yml
user: login: github-advanced-security[bot]
body: ## Unpinned tag for a non-immutable Action in workflow

Unpinned 3rd party Action 'Linter check' step [Uses Step](1) uses 'guibranco/github-csharpier-linter-action' with ref 'v1.0.5', not a pinned commit hash

[Show more details](https://github.com/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/security/code-scanning/10)
created_at: 2025-05-08T18:01:00Z
author_association: NONE

PR comments:
user: login: dependabot[bot]
created_at: 2025-05-05T09:45:25Z
body: ### Labels

The following labels could not be found: `.NET`, `dependencies`, `nuget`, `packages`. Please create them before Dependabot can add them to a pull request.


Please fix the above issues or remove invalid values from `dependabot.yml`.
author_association: CONTRIBUTOR
user: login: semanticdiff-com[bot]
created_at: 2025-05-05T09:45:27Z
body: Review changes with &nbsp;<a href="https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes"><picture><source media="(prefers-color-scheme: dark)" srcset="https://app.semanticdiff.com/images/github_button.svg?theme=dark&smaller=14"><source media="(prefers-color-scheme: light)" srcset="https://app.semanticdiff.com/images/github_button.svg?theme=light&smaller=14"><img src="https://app.semanticdiff.com/images/github_button.svg?theme=light&smaller=14" align="center" alt="SemanticDiff"></picture></a>
<details>
<summary>Changed Files</summary>
<br/>

| File | Status |
| :--- | :---   |
| [<img src="https://app.semanticdiff.com/static/file-icons/visualstudio.svg" width="20" height="20" align="center">](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#Src/POCPolymorphicRestApi/POCPolymorphicRestApi.csproj)&nbsp;&nbsp;[Src/POCPolymorphicRestApi/POCPolymorphicRestApi\.csproj](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#Src/POCPolymorphicRestApi/POCPolymorphicRestApi.csproj) | [<img src="https://app.semanticdiff.com/images/progressbar.svg?progress=100">](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#Src/POCPolymorphicRestApi/POCPolymorphicRestApi.csproj) &nbsp;100% smaller |
| [<img src="https://app.semanticdiff.com/static/file-icons/json.svg" width="20" height="20" align="center">](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#.config/dotnet-tools.json)&nbsp;&nbsp;[\.config/dotnet\-tools\.json](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#.config/dotnet-tools.json) | [<img src="https://app.semanticdiff.com/images/progressbar.svg?progress=23">](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#.config/dotnet-tools.json) &nbsp;23% smaller |
| [<img src="https://app.semanticdiff.com/static/file-icons/yaml.svg" width="20" height="20" align="center">](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#.github/workflows/linter.yml)&nbsp;&nbsp;[\.github/workflows/linter\.yml](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#.github/workflows/linter.yml) | [<img src="https://app.semanticdiff.com/images/progressbar.svg?progress=14">](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#.github/workflows/linter.yml) &nbsp;14% smaller |
| [<img src="https://app.semanticdiff.com/static/file-icons/yaml.svg" width="20" height="20" align="center">](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#.github/workflows/infisical-secrets-check.yml)&nbsp;&nbsp;[\.github/workflows/infisical\-secrets\-check\.yml](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#.github/workflows/infisical-secrets-check.yml) | [<img src="https://app.semanticdiff.com/images/progressbar.svg?progress=7">](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#.github/workflows/infisical-secrets-check.yml) &nbsp;7% smaller |
| [<img src="https://app.semanticdiff.com/static/file-icons/visualstudio.svg" width="20" height="20" align="center">](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj)&nbsp;&nbsp;[Tests/POCPolymorphicRestApi\.Tests/POCPolymorphicRestApi\.Tests\.csproj](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj) | [<img src="https://app.semanticdiff.com/images/progressbar.svg?progress=0">](https://app.semanticdiff.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull/142/changes#Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj) &nbsp;0% smaller |

</details>
author_association: NONE
user: login: korbit-ai[bot]
created_at: 2025-05-05T09:45:28Z
body: By default, I don't review pull requests opened by bots. If you would like me to review this pull request anyway, you can request a review via the `/korbit-review` command in a comment.

[](a2562dc5-b181-411d-9a85-f059d7cbf446)
author_association: NONE
user: login: sourcery-ai[bot]
created_at: 2025-05-05T09:45:30Z
body: <!-- Generated by sourcery-ai[bot]: start review_guide -->

## Reviewer's Guide

This pull request updates the `xunit.runner.visualstudio` test runner package to version `3.1.0` by modifying the version specified in the test project's `.csproj` file.

### File-Level Changes

| Change | Details | Files |
| ------ | ------- | ----- |
| Updated the `xunit.runner.visualstudio` package version. | <ul><li>Changed the package version from the previous version to `3.1.0` in the project file dependency list.</li></ul> | `Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj` |

---

<details>
<summary>Tips and commands</summary>

#### Interacting with Sourcery

- **Trigger a new review:** Comment `@sourcery-ai review` on the pull request.
- **Continue discussions:** Reply directly to Sourcery's review comments.
- **Generate a GitHub issue from a review comment:** Ask Sourcery to create an
  issue from a review comment by replying to it. You can also reply to a
  review comment with `@sourcery-ai issue` to create an issue from it.
- **Generate a pull request title:** Write `@sourcery-ai` anywhere in the pull
  request title to generate a title at any time. You can also comment
  `@sourcery-ai title` on the pull request to (re-)generate the title at any time.
- **Generate a pull request summary:** Write `@sourcery-ai summary` anywhere in
  the pull request body to generate a PR summary at any time exactly where you
  want it. You can also comment `@sourcery-ai summary` on the pull request to
  (re-)generate the summary at any time.
- **Generate reviewer's guide:** Comment `@sourcery-ai guide` on the pull
  request to (re-)generate the reviewer's guide at any time.
- **Resolve all Sourcery comments:** Comment `@sourcery-ai resolve` on the
  pull request to resolve all Sourcery comments. Useful if you've already
  addressed all the comments and don't want to see them anymore.
- **Dismiss all Sourcery reviews:** Comment `@sourcery-ai dismiss` on the pull
  request to dismiss all existing Sourcery reviews. Especially useful if you
  want to start fresh with a new review - don't forget to comment
  `@sourcery-ai review` to trigger a new review!

#### Customizing Your Experience

Access your [dashboard](https://app.sourcery.ai) to:
- Enable or disable review features such as the Sourcery-generated pull request
  summary, the reviewer's guide, and others.
- Change the review language.
- Add, remove or edit custom review instructions.
- Adjust other review settings.

#### Getting Help

- [Contact our support team](mailto:support@sourcery.ai) for questions or feedback.
- Visit our [documentation](https://docs.sourcery.ai) for detailed guides and information.
- Keep in touch with the Sourcery team by following us on [X/Twitter](https://x.com/SourceryAI), [LinkedIn](https://www.linkedin.com/company/sourcery-ai/) or [GitHub](https://github.com/sourcery-ai).

</details>

<!-- Generated by sourcery-ai[bot]: end review_guide -->
author_association: NONE
user: login: coderabbitai[bot]
created_at: 2025-05-05T09:45:32Z
body: <!-- This is an auto-generated comment: summarize by coderabbit.ai -->
<!-- This is an auto-generated comment: skip review by coderabbit.ai -->

> [!IMPORTANT]
> ## Review skipped
> 
> Bot user detected.
> 
> To trigger a single review, invoke the `@coderabbitai review` command.
> 
> You can disable this status message by setting the `reviews.review_status` to `false` in the CodeRabbit configuration file.

<!-- end of auto-generated comment: skip review by coderabbit.ai -->
<!-- tips_start -->

---



<details>
<summary>🪧 Tips</summary>

### Chat

There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai?utm_source=oss&utm_medium=github&utm_campaign=GuilhermeStracini/POC-dotnet-polymorphic-rest-api&utm_content=142):

- Review comments: Directly reply to a review comment made by CodeRabbit. Example:
  - `I pushed a fix in commit <commit_id>, please review it.`
  - `Generate unit testing code for this file.`
  - `Open a follow-up GitHub issue for this discussion.`
- Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples:
  - `@coderabbitai generate unit testing code for this file.`
  -	`@coderabbitai modularize this function.`
- PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
  - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.`
  - `@coderabbitai read src/utils.ts and generate unit testing code.`
  - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.`
  - `@coderabbitai help me debug CodeRabbit configuration file.`

### Support

Need help? Join our [Discord community](https://discord.gg/coderabbit) for assistance with any issues or questions.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

### CodeRabbit Commands (Invoked using PR comments)

- `@coderabbitai pause` to pause the reviews on a PR.
- `@coderabbitai resume` to resume the paused reviews.
- `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
- `@coderabbitai full review` to do a full review from scratch and review all the files again.
- `@coderabbitai summary` to regenerate the summary of the PR.
- `@coderabbitai generate sequence diagram` to generate a sequence diagram of the changes in this PR.
- `@coderabbitai resolve` resolve all the CodeRabbit review comments.
- `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository.
- `@coderabbitai help` to get help.

### Other keywords and placeholders

- Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed.
- Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description.
- Add `@coderabbitai` anywhere in the PR title to generate the title automatically.

### CodeRabbit Configuration File (`.coderabbit.yaml`)

- You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository.
- Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information.
- If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json`

### Documentation and Community

- Visit our [Documentation](https://docs.coderabbit.ai) for detailed information on how to use CodeRabbit.
- Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback.
- Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.

</details>

<!-- tips_end -->
author_association: NONE
user: login: instapr[bot]
created_at: 2025-05-05T09:45:34Z
body: ### Feedback

- Updated `xunit.runner.visualstudio` to version 3.1.0
- Dependabot will handle any conflicts
- Dependency `csharpier` updated to version 1.0.1
- Nice job! 🚀

Please merge once the checks pass.
author_association: NONE
user: login: codara-ai-code-review[bot]
created_at: 2025-05-05T09:45:36Z
body: ## Potential issues, bugs, and flaws that can introduce unwanted behavior:
1. /.config/dotnet-tools.json - Updating the version of `csharpier` from `0.30.6` to `1.0.1` may introduce breaking changes or compatibility issues if the new version alters behavior or configuration. Ensure to review the release notes or migration guides from `csharpier` to avoid any disruptions in formatting or tooling functionalities.
   
2. /Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj - Increasing the version of `xunit.runner.visualstudio` from `3.0.2` to `3.1.0` can lead to changes in test execution behavior or potentially new issues if there are breaking changes between these versions. Test coverage and execution should be validated post-update to identify regressions or unexpected behaviors.

## Code suggestions and improvements for better exception handling, logic, standardization, and consistency:
1. /.config/dotnet-tools.json - Consider adding a `version` constraint in the `dotnet-tools.json` to avoid unexpected updates during integration, such as changing from `1.0.x` to `2.0.0` inadvertently. This would help maintain compatibility during future updates.

2. /Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj - If you have not done so already, ensure that all tests are independently runnable and consider adding explicit version controls for all package references. This will aid in maintaining compatibility within your testing environments, especially as libraries evolve and dependencies are updated.
author_association: NONE
user: login: pr-code-reviewer[bot]
created_at: 2025-05-05T09:45:37Z
body: ## :wave: Hi there!

<p>Everything looks good!</p>

<sub><sup>
Automatically generated with the help of gpt-3.5-turbo.
Feedback? Please don't hesitate to drop me an email at [webber@takken.io](mailto:webber@takken.io).
</sup></sub>
author_association: NONE
user: login: guibranco
created_at: 2025-05-05T09:45:42Z
body: @dependabot squash and merge
author_association: MEMBER
user: login: socket-security[bot]
created_at: 2025-05-05T09:45:47Z
body: **Review the following changes in direct dependencies.** Learn more about [Socket for GitHub](https://socket.dev?utm_medium=gh).

<table>
<thead>
<tr>
<th>Diff</th>
<th width="200px">Package</th>
<th align="left" width="100px">Supply Chain<br/>Security</th>
<th align="left" width="100px">Vulnerability</th>
<th align="left" width="100px">Quality</th>
<th align="left" width="100px">Maintenance</th>
<th align="left" width="100px">License</th>
</tr>
</thead>
<tbody>
<tr><td align="center"><a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=dependencies&dependency_item_key=28000032814"><img src="https://github-app-statics.socket.dev/diff-updated.svg" title="Updated" alt="Updated" width="20" height="20"></a></td><td><a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=dependencies&dependency_item_key=28000032814">xunit.runner.visualstudio@​3.0.2 ⏵ 3.1.0</a></td><td align="left"><a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=dependencies&dependency_item_key=28000032814"><img src="https://github-app-statics.socket.dev/score-96.svg" title="Supply Chain Security" width="40" height="40" alt="96"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=dependencies&dependency_item_key=28000032814"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Vulnerability" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=dependencies&dependency_item_key=28000032814"><img src="https://github-app-statics.socket.dev/score-89.svg" title="Quality" width="40" height="40" alt="89"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=dependencies&dependency_item_key=28000032814"><img src="https://github-app-statics.socket.dev/score-100.svg" title="Maintenance" width="40" height="40" alt="100"></a></td><td align="left"><a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=dependencies&dependency_item_key=28000032814"><img src="https://github-app-statics.socket.dev/score-100.svg" title="License" width="40" height="40" alt="100"></a></td></tr>
</tbody>
</table>

[View full report](https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=dependencies)

<!-- overview-comment -->
author_association: NONE
user: login: dependabot[bot]
created_at: 2025-05-05T09:45:48Z
body: One of your CI runs failed on this pull request, so Dependabot won't merge it.

Dependabot will still automatically merge this pull request if you amend it and your tests pass.
author_association: CONTRIBUTOR
user: login: dependabot[bot]
created_at: 2025-05-05T09:45:48Z
body: One of your CI runs failed on this pull request, so Dependabot won't merge it.

Dependabot will still automatically merge this pull request if you amend it and your tests pass.
author_association: CONTRIBUTOR
user: login: socket-security[bot]
created_at: 2025-05-05T09:45:49Z
body: > [!CAUTION]
> **Review the following alerts detected in dependencies.**
>
> According to your organization's Security Policy, you must resolve all **"Block"** alerts before proceeding. Learn more about [Socket for GitHub](https://socket.dev?utm_medium=gh).

<table>
<thead>
<tr>
<th>Action</th>
<th>Severity</th>
<th width="800px" align="left">Alert (click for details)</th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top"><strong>Block</strong></td>
<td align="center" valign="top"><a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QlRH2cakh-x00sTsqKNee57IokNTP3_klPzUYvtYcqxI"><img src="https://github-app-statics.socket.dev/severity-1.svg" title="Medium" width="20" height="20" alt="Medium"></a></td>
<td><details><summary><code>xunit.runner.visualstudio@3.1.0</code> Uses eval.</summary>
<p></p>
<p><strong>Location:</strong> <a href="https://socket.dev/nuget/package/xunit.runner.visualstudio/overview/3.1.0">Package overview</a></p> 
<p><strong>From:</strong> <code>?</code> → <code>nuget/xunit.runner.visualstudio@3.1.0</code></p>
<p>ℹ Read more on: <a href="https://socket.dev/nuget/package/xunit.runner.visualstudio/overview/3.1.0">This package</a> | <a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QlRH2cakh-x00sTsqKNee57IokNTP3_klPzUYvtYcqxI">This alert</a> | <a href="https://socket.dev/alerts/usesEval">What is dynamic code execution?</a></p>
<blockquote>
<p><em>Next steps:</em> Take a moment to review the security alert
    above. Review the linked package source code to understand the potential
    risk. Ensure the package is not malicious before proceeding. If you're
    unsure how to proceed, reach out to your security team or ask the Socket
    team for help at <code>support@socket.dev</code>.
  </p>
<p><em>Suggestion:</em> Avoid packages that use dynamic code execution like eval(), since this could potentially execute any code.</p>
<p>
    <em>Mark the package as acceptable risk</em>. To ignore this alert only
    in this pull request, reply with the comment
    <code>@SocketSecurity ignore nuget/xunit.runner.visualstudio@3.1.0</code>. You can
    also ignore all packages with <code>@SocketSecurity ignore-all</code>.
    To ignore an alert for all future pull requests, use Socket's Dashboard to
    change the <a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QlRH2cakh-x00sTsqKNee57IokNTP3_klPzUYvtYcqxI">triage state of this alert</a>.
  </p>
</blockquote>
</details></td>
</tr>
<tr>
<td valign="top"><strong>Block</strong></td>
<td align="center" valign="top"><a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QHdu60grovCT3FJUbutJCuNL8wRUO-pBFZTv4bFSTv7M"><img src="https://github-app-statics.socket.dev/severity-1.svg" title="Medium" width="20" height="20" alt="Medium"></a></td>
<td><details><summary><code>xunit.runner.visualstudio@3.1.0</code> has Network access.</summary>
<p></p>
<p><strong>Location:</strong> <a href="https://socket.dev/nuget/package/xunit.runner.visualstudio/overview/3.1.0">Package overview</a></p> 
<p><strong>From:</strong> <code>?</code> → <code>nuget/xunit.runner.visualstudio@3.1.0</code></p>
<p>ℹ Read more on: <a href="https://socket.dev/nuget/package/xunit.runner.visualstudio/overview/3.1.0">This package</a> | <a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QHdu60grovCT3FJUbutJCuNL8wRUO-pBFZTv4bFSTv7M">This alert</a> | <a href="https://socket.dev/alerts/networkAccess">What is network access?</a></p>
<blockquote>
<p><em>Next steps:</em> Take a moment to review the security alert
    above. Review the linked package source code to understand the potential
    risk. Ensure the package is not malicious before proceeding. If you're
    unsure how to proceed, reach out to your security team or ask the Socket
    team for help at <code>support@socket.dev</code>.
  </p>
<p><em>Suggestion:</em> Packages should remove all network access that is functionally unnecessary. Consumers should audit network access to ensure legitimate use.</p>
<p>
    <em>Mark the package as acceptable risk</em>. To ignore this alert only
    in this pull request, reply with the comment
    <code>@SocketSecurity ignore nuget/xunit.runner.visualstudio@3.1.0</code>. You can
    also ignore all packages with <code>@SocketSecurity ignore-all</code>.
    To ignore an alert for all future pull requests, use Socket's Dashboard to
    change the <a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QHdu60grovCT3FJUbutJCuNL8wRUO-pBFZTv4bFSTv7M">triage state of this alert</a>.
  </p>
</blockquote>
</details></td>
</tr>
<tr>
<td valign="top"><strong>Block</strong></td>
<td align="center" valign="top"><a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QTWDswWVkXTJcmWrdgcQOsGSOXr1oLaPFkXlNU-73bW4"><img src="https://github-app-statics.socket.dev/severity-1.svg" title="Medium" width="20" height="20" alt="Medium"></a></td>
<td><details><summary><code>xunit.runner.visualstudio@3.1.0</code> has Shell access.</summary>
<p></p>
<p><strong>Location:</strong> <a href="https://socket.dev/nuget/package/xunit.runner.visualstudio/overview/3.1.0">Package overview</a></p> 
<p><strong>From:</strong> <code>?</code> → <code>nuget/xunit.runner.visualstudio@3.1.0</code></p>
<p>ℹ Read more on: <a href="https://socket.dev/nuget/package/xunit.runner.visualstudio/overview/3.1.0">This package</a> | <a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QTWDswWVkXTJcmWrdgcQOsGSOXr1oLaPFkXlNU-73bW4">This alert</a> | <a href="https://socket.dev/alerts/shellAccess">What is shell access?</a></p>
<blockquote>
<p><em>Next steps:</em> Take a moment to review the security alert
    above. Review the linked package source code to understand the potential
    risk. Ensure the package is not malicious before proceeding. If you're
    unsure how to proceed, reach out to your security team or ask the Socket
    team for help at <code>support@socket.dev</code>.
  </p>
<p><em>Suggestion:</em> Packages should avoid accessing the shell which can reduce portability, and make it easier for malicious shell access to be introduced.</p>
<p>
    <em>Mark the package as acceptable risk</em>. To ignore this alert only
    in this pull request, reply with the comment
    <code>@SocketSecurity ignore nuget/xunit.runner.visualstudio@3.1.0</code>. You can
    also ignore all packages with <code>@SocketSecurity ignore-all</code>.
    To ignore an alert for all future pull requests, use Socket's Dashboard to
    change the <a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QTWDswWVkXTJcmWrdgcQOsGSOXr1oLaPFkXlNU-73bW4">triage state of this alert</a>.
  </p>
</blockquote>
</details></td>
</tr>
<tr>
<td valign="top"><strong>Block</strong></td>
<td align="center" valign="top"><a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QijwMsWModbOPgCUbOFuonPmiJFHl7aQ-xH6waO4Pvnw"><img src="https://github-app-statics.socket.dev/severity-0.svg" title="Low" width="20" height="20" alt="Low"></a></td>
<td><details><summary><code>xunit.runner.visualstudio@3.1.0</code> has Filesystem access.</summary>
<p></p>
<p><strong>Location:</strong> <a href="https://socket.dev/nuget/package/xunit.runner.visualstudio/overview/3.1.0">Package overview</a></p> 
<p><strong>From:</strong> <code>?</code> → <code>nuget/xunit.runner.visualstudio@3.1.0</code></p>
<p>ℹ Read more on: <a href="https://socket.dev/nuget/package/xunit.runner.visualstudio/overview/3.1.0">This package</a> | <a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QijwMsWModbOPgCUbOFuonPmiJFHl7aQ-xH6waO4Pvnw">This alert</a> | <a href="https://socket.dev/alerts/filesystemAccess">What is filesystem access?</a></p>
<blockquote>
<p><em>Next steps:</em> Take a moment to review the security alert
    above. Review the linked package source code to understand the potential
    risk. Ensure the package is not malicious before proceeding. If you're
    unsure how to proceed, reach out to your security team or ask the Socket
    team for help at <code>support@socket.dev</code>.
  </p>
<p><em>Suggestion:</em> If a package must read the file system, clarify what it will read and ensure it reads only what it claims to. If appropriate, packages can leave file system access to consumers and operate on data passed to it instead.</p>
<p>
    <em>Mark the package as acceptable risk</em>. To ignore this alert only
    in this pull request, reply with the comment
    <code>@SocketSecurity ignore nuget/xunit.runner.visualstudio@3.1.0</code>. You can
    also ignore all packages with <code>@SocketSecurity ignore-all</code>.
    To ignore an alert for all future pull requests, use Socket's Dashboard to
    change the <a href="https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&alert_item_key=QijwMsWModbOPgCUbOFuonPmiJFHl7aQ-xH6waO4Pvnw">triage state of this alert</a>.
  </p>
</blockquote>
</details></td>
</tr>
</tbody>
</table>

[View full report](https://socket.dev/dashboard/org/GuilhermeStracini/diff/6917299f-24ac-45ae-a0df-3c5ff80f6625/233efe8c-f24a-4160-8ed6-f5c6ebcc2e8e?tab=alerts&action=error%2Cwarn)
author_association: NONE
user: login: guibranco
created_at: 2025-05-08T17:55:02Z
body: @gstraccini csharpier
author_association: MEMBER
user: login: gstraccini[bot]
created_at: 2025-05-08T17:55:12Z
body: Running [CSharpier](https://csharpier.com/) on this branch! :wrench:
author_association: CONTRIBUTOR
user: login: gstraccini[bot]
created_at: 2025-05-08T17:55:34Z
body: <!-- add-pr-comment:add-pr-comment -->

:white_check_mark: [CSharpier](https://github.com/guibranco/gstraccini-bot-workflows/actions/runs/14912879608) result:

```
Error ./Src/POCPolymorphicRestApi/POCPolymorphicRestApi.csproj - Was not formatted.
  ----------------------------- Expected: Around Line 2 -----------------------------
  <Project Sdk="Microsoft.NET.Sdk.Web">
    <PropertyGroup>
      <TargetFramework>net8.0</TargetFramework>
  ----------------------------- Actual: Around Line 2 -----------------------------
  <Project Sdk="Microsoft.NET.Sdk.Web">
  
    <PropertyGroup>
  
Error ./Tests/POCPolymorphicRestApi.Tests/POCPolymorphicRestApi.Tests.csproj - Was not formatted.
  ----------------------------- Expected: Around Line 2 -----------------------------
  <Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
      <TargetFramework>net8.0</TargetFramework>
  ----------------------------- Actual: Around Line 2 -----------------------------
  <Project Sdk="Microsoft.NET.Sdk">
  
    <PropertyGroup>
  
Formatted 6 files in 460ms.

```
author_association: CONTRIBUTOR
user: login: guibranco
created_at: 2025-05-08T18:12:03Z
body: @gstraccini codacy bypass
author_association: MEMBER
user: login: gstraccini[bot]
created_at: 2025-05-08T18:12:13Z
body: Bypassing the Codacy analysis for this [pull request](https://app.codacy.com/gh/GuilhermeStracini/POC-dotnet-polymorphic-rest-api/pull-requests/142/issues)! :warning:
author_association: CONTRIBUTOR
user: login: github-actions[bot]
created_at: 2025-05-08T19:00:45Z
body: <!-- add-pr-comment:secrets-result -->

**Infisical secrets check:** :white_check_mark: No secrets leaked!

**Scan results:**
```
Update Required: Your current package installation script is outdated and will no longer receive updates.
Please update to the new installation script which can be found here https://infisical.com/docs/cli/overview#installation debian section

A new release of infisical is available: 0.38.0 -> 0.41.1

To update, run: sudo apt-get update && sudo apt-get install infisical

7:00PM INF scanning for exposed secrets...
7:00PM INF 136 commits scanned.
7:00PM INF scan completed in 73.3ms
7:00PM INF no leaks found

```
author_association: NONE
user: login: sonarqubecloud[bot]
created_at: 2025-05-08T19:03:22Z
body: ## [![Quality Gate Passed](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/checks/QualityGateBadge/qg-passed-20px.png 'Quality Gate Passed')](https://sonarcloud.io/dashboard?id=GuilhermeStracini_POC-dotnet-polymorphic-rest-api&pullRequest=142) **Quality Gate passed**  
Issues  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 New issues](https://sonarcloud.io/project/issues?id=GuilhermeStracini_POC-dotnet-polymorphic-rest-api&pullRequest=142&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/accepted-16px.png '') [0 Accepted issues](https://sonarcloud.io/project/issues?id=GuilhermeStracini_POC-dotnet-polymorphic-rest-api&pullRequest=142&issueStatuses=ACCEPTED)

Measures  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0 Security Hotspots](https://sonarcloud.io/project/security_hotspots?id=GuilhermeStracini_POC-dotnet-polymorphic-rest-api&pullRequest=142&issueStatuses=OPEN,CONFIRMED&sinceLeakPeriod=true)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Coverage on New Code](https://sonarcloud.io/component_measures?id=GuilhermeStracini_POC-dotnet-polymorphic-rest-api&pullRequest=142&metric=new_coverage&view=list)  
![](https://sonarsource.github.io/sonarcloud-github-static-resources/v2/common/passed-16px.png '') [0.0% Duplication on New Code](https://sonarcloud.io/component_measures?id=GuilhermeStracini_POC-dotnet-polymorphic-rest-api&pullRequest=142&metric=new_duplicated_lines_density&view=list)  
  
[See analysis details on SonarQube Cloud](https://sonarcloud.io/dashboard?id=GuilhermeStracini_POC-dotnet-polymorphic-rest-api&pullRequest=142)


author_association: NONE