Skip to main content

Nested Child Group API

The NestedChildGroupHandle class provides a fluent API for managing nested child groups in Keycloak. It allows you to create, update, delete, and retrieve nested child groups within a specific parent group path.

Class: NestedChildGroupHandle​

Constructor​

constructor(core: KeycloakAdminClient, realmName: string, parentGroupPath: string, groupName: string)
  • Parameters:
    • core: An instance of KeycloakAdminClient.
    • realmName: The name of the realm where the group resides.
    • parentGroupPath: The path of the parent group.
    • groupName: The name of the nested child group to manage.

Static Methods​

getByName(core: KeycloakAdminClient, realm: string, parentGroupPath: string, groupName: string)​

Fetches a nested child group by its name under a specific parent group path.

static async getByName(core: KeycloakAdminClient, realm: string, parentGroupPath: string, groupName: string)
  • Parameters:
    • core: An instance of KeycloakAdminClient.
    • realm: The name of the realm.
    • parentGroupPath: The path of the parent group.
    • groupName: The name of the nested child group.
  • Returns: The nested child group representation or null if the group does not exist.

Instance Methods​

get()​

Fetches the nested child group by its name and updates the instance's group property.

public async get(): Promise<GroupRepresentation | null>
  • Returns: The nested child group representation or null if the group does not exist.

create(data: NestedChildGroupInputData)​

Creates a new nested child group under the specified parent group path.

public async create(data: NestedChildGroupInputData)
  • Parameters:
    • data: The data for the new nested child group.
  • Throws: An error if the nested child group already exists or the parent group does not exist.

update(data: NestedChildGroupInputData)​

Updates the nested child group's details.

public async update(data: NestedChildGroupInputData)
  • Parameters:
    • data: The updated data for the nested child group.
  • Throws: An error if the nested child group or parent group does not exist.

delete()​

Deletes the nested child group.

public async delete()
  • Throws: An error if the nested child group does not exist.

ensure(data: NestedChildGroupInputData)​

Ensures the nested child group exists. If it does, updates it; otherwise, creates it.

public async ensure(data: NestedChildGroupInputData)
  • Parameters:
    • data: The data for the nested child group.

discard()​

Deletes the nested child group if it exists.

public async discard()
  • Returns: The name of the deleted nested child group.

childGroup(groupName: string)​

Returns a handle for managing a further nested child group.

public childGroup(groupName: string)
  • Parameters:
    • groupName: The name of the further nested child group.
  • Returns: An instance of NestedChildGroupHandle.

Types​

NestedChildGroupInputData​

The input data type for creating or updating a nested child group.

export type NestedChildGroupInputData = Omit<GroupRepresentation, 'name' | 'id'>;

This API provides a comprehensive interface for managing nested child groups within a specific parent group path in Keycloak.