Skip to content

Conversation

@ghaith100994
Copy link

Introduced a new IKcOrganizations interface and its implementation in KcOrganizations to enable CRUD operations, listing, and filtering of organizations in Keycloak. Updated the IKeycloakClient and KeycloakClient classes to expose the Organizations client.

Added supporting models:

  • KcOrganization to represent organization resources.
  • KcOrganizationDomain to represent domain information.
  • KcOrganizationFilter to enable filtering options for queries.

Updated NETCore.Keycloak.Client.csproj to clean up formatting and remove unnecessary metadata files.

Introduced a new `IKcOrganizations` interface and its implementation
in `KcOrganizations` to enable CRUD operations, listing, and filtering
of organizations in Keycloak. Updated the `IKeycloakClient` and
`KeycloakClient` classes to expose the `Organizations` client.

Added supporting models:
- `KcOrganization` to represent organization resources.
- `KcOrganizationDomain` to represent domain information.
- `KcOrganizationFilter` to enable filtering options for queries.

Updated `NETCore.Keycloak.Client.csproj` to clean up formatting and
remove unnecessary metadata files.
Copy link
Contributor

@hasnimehdi91 hasnimehdi91 left a comment

Choose a reason for hiding this comment

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

  • Please fix the documentation to ensure it is accurate, consistent with the existing style, and free of any ambiguities.
  • Please investigate and resolve the failing tests so that the full test suite passes successfully before merging.
  • Please review and address any security issues related to dependent NuGet packages, including updating vulnerable dependencies and ensuring compatibility.

Copy link
Contributor

Choose a reason for hiding this comment

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

Please fix the documentation to ensure it is accurate, consistent with the existing style, and free of any ambiguities.

/// <summary>
/// Build query string
/// </summary>
public new string BuildQuery()
Copy link
Contributor

Choose a reason for hiding this comment

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

Please fix the documentation (inline docs) to ensure it is accurate, consistent with the existing style, and free of any ambiguities.

@hasnimehdi91 hasnimehdi91 added the enhancement New feature or request label Jan 12, 2026
Ghaith Prosoft added 2 commits January 13, 2026 09:57
Updated XML documentation for `KcOrganization`, `KcOrganizationDomain`,
and `KcOrganizationFilter` to improve clarity and align with Keycloak
API references. Added `<value>` tags for property descriptions.

Refactored `KcOrganizationFilter`:
- Replaced multiple filtering properties with a generic `Q` property.
- Updated `Exact` property to indicate exact match behavior.
- Switched from `System.Text.Json` to `Newtonsoft.Json` for serialization.
- Rewrote `BuildQuery` for cleaner and more maintainable query string
  construction.

Improved consistency in naming conventions and descriptions across
classes. Removed redundant properties and comments. Aligned code
structure with Keycloak API standards.
Updated `IKcOrganizations` interface and `KcOrganizations`
implementation to enhance XML documentation, align with the
latest Keycloak REST API, and improve maintainability.

- Added `using` directives for required dependencies in
  `IKcOrganizations.cs`.
- Updated XML documentation for all methods in `IKcOrganizations`
  to include detailed return type descriptions and exception
  handling details.
- Replaced outdated Keycloak API links in `KcOrganization` and
  `KcOrganizationDomain` with updated references.
- Used `<inheritdoc>` tags in `KcOrganizations` to ensure
  consistency with the interface and reduce redundancy.
- Implemented methods in `KcOrganizations` with improved
  documentation and alignment with the updated interface.
/// </returns>
public new string BuildQuery()
{

Copy link

Choose a reason for hiding this comment

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

An opening brace should not be followed by a blank line.

Suggested change

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants