Skip to content

Conversation

@ghaith100994
Copy link

No description provided.

Ghaith Prosoft added 7 commits January 12, 2026 14:09
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.
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.
Updated `TargetFrameworks` in both `NETCore.Keycloak.Client.Tests.csproj` and `NETCore.Keycloak.Client.csproj` to include `net9.0` and `net10.0`.

Introduced framework-specific dependency management using conditional `ItemGroup` sections to ensure proper versioning for each target framework. Updated several dependencies, including `Newtonsoft.Json` (13.0.3 → 13.0.4) and `System.IdentityModel.Tokens.Jwt` (8.3.0 → 8.15.0).

Removed redundant dependencies and adjusted formatting for consistency. Removed the `Cake` package reference from the test project.
Updated string manipulation logic to use the range operator
for trailing slash removal in `KeycloakClient` and
`KcHttpClientBase`.

Refactored `NETCore.Keycloak.Client.Tests.csproj` to adjust
formatting and added `PasswordGenerator` dependency.

Enhanced `NETCore.Keycloak.Client.csproj` by reorganizing
package references for target frameworks, adding
`Newtonsoft.Json`, and including metadata files in the
package. Updated `NoWarn` settings to suppress additional
warnings.

These changes improve code consistency, dependency
management, and project configuration.
@ghaith100994
Copy link
Author

I think we should remove support for .NET 6 and .NET 7 to simplify the codebase and align with currently supported .NET versions.

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