Skip to content

Conversation

@SoulPancake
Copy link
Member

@SoulPancake SoulPancake commented Feb 4, 2026

Description

generates openfga/dotnet-sdk#176

What problem is being solved?

How is it being solved?

What changes are made to solve it?

References

Review Checklist

  • I have clicked on "allow edits by maintainers".
  • I have added documentation for new/changed functionality in this PR or in a PR to openfga.dev [Provide a link to any relevant PRs in the references section above]
  • The correct base branch is being used, if not main
  • I have added tests to validate that the change in functionality is working as expected

Summary by CodeRabbit

  • New Features
    • Enabled streaming support for list object operations in the .NET client.

@SoulPancake SoulPancake requested a review from a team as a code owner February 4, 2026 12:55
Copilot AI review requested due to automatic review settings February 4, 2026 12:55
@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 4, 2026

Walkthrough

These changes enable streamed list objects support in the .NET SDK by setting a configuration flag to true and add an internal property to expose the underlying ApiClient instance for custom requests without public exposure.

Changes

Cohort / File(s) Summary
Configuration Updates
config/clients/dotnet/config.overrides.json
Enabled streamed list objects support by changing supportsStreamedListObjects from false to true.
Template Updates
config/clients/dotnet/template/api.mustache
Added internal property ApiClientInternal that returns the underlying _apiClient instance for custom request handling without public exposure.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~5 minutes

Possibly related PRs

Suggested reviewers

  • rhamzeh
🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Title check ⚠️ Warning The title mentions 'APIExecutor for RawRequests' but the actual changes only include enabling streamed list objects and adding an internal ApiClient property—neither directly implements an APIExecutor. Update the title to reflect the actual changes, such as 'Enable streamed list objects and add internal ApiClient access for .NET SDK' or provide implementation matching the stated APIExecutor feature.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/dotnet-sdk/apiexecutor-for-raw-requests

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR aims to expose the internal ApiClient for making custom API requests in the .NET SDK, but the implementation appears incomplete or misaligned with the stated purpose.

Changes:

  • Adds an internal property ApiClientInternal to expose the underlying ApiClient instance
  • Enables streaming support for list objects by changing supportsStreamedListObjects from false to true

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated 5 comments.

File Description
config/clients/dotnet/template/api.mustache Adds internal property to expose ApiClient for custom requests
config/clients/dotnet/config.overrides.json Enables streaming support for list objects

/// <summary>
/// Gets the internal ApiClient instance for making custom API requests.
/// </summary>
internal ApiClient.ApiClient ApiClientInternal => _apiClient;
Copy link

Copilot AI Feb 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR title mentions "APIExecutor for RawRequests" but there is no APIExecutor class added in this PR. The changes only expose the internal ApiClient via a new property. Either the PR title should be updated to accurately reflect what's being changed (e.g., "expose internal ApiClient for custom requests"), or additional changes are needed to implement the APIExecutor functionality mentioned in the title.

Copilot uses AI. Check for mistakes.
Comment on lines +34 to +35
/// Gets the internal ApiClient instance for making custom API requests.
/// </summary>
Copy link

Copilot AI Feb 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR description is empty with no explanation of what problem is being solved, how it's being solved, or what changes are made. This makes it difficult to review the changes in context and understand the intended use case for exposing the internal ApiClient. Please fill out the PR description with details about the feature being added.

Suggested change
/// Gets the internal ApiClient instance for making custom API requests.
/// </summary>
/// Gets the internal <see cref="ApiClient.ApiClient"/> instance used by this API class.
/// </summary>
/// <remarks>
/// This property is intended for advanced scenarios where you need to issue custom HTTP
/// requests against the OpenFGA API that are not covered by the generated methods on
/// this class. It reuses the same configuration and <see cref="HttpClient"/> instance
/// as the generated operations, so any authentication, base URL, retry, or timeout
/// settings applied to <see cref="{{classname}}"/> will also apply to requests made
/// via <see cref="ApiClientInternal"/>.
/// </remarks>

Copilot uses AI. Check for mistakes.
"hashCodeMultiplierPrimeNumber": 9923,
"openTelemetryDocumentation": "OpenTelemetry.md",
"supportsStreamedListObjects": false,
"supportsStreamedListObjects": true,
Copy link

Copilot AI Feb 4, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The change from false to true enables streaming support for list objects, which appears to be intentional but is not mentioned in the PR title or description. This is a separate feature change that should either be documented in the PR description or split into a separate PR. According to the Makefile (line 116-122), this flag determines whether the dotnet SDK is built with or without streaming endpoints.

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant