Skip to main content

Child Group API

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

Class: ChildGroupHandle

Constructor

constructor(core: KeycloakAdminClient, parentGroupHandle: GroupHandle, groupName: string)
  • Parameters:
    • core: An instance of KeycloakAdminClient.
    • parentGroupHandle: A handle to the parent group where the child group resides.
    • groupName: The name of the child group to manage.

Static Methods

getByName(core: KeycloakAdminClient, realm: string, parentGroupName: string, groupName: string)

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

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

Instance Methods

get()

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

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

create(data: ChildGroupInputData)

Creates a new child group under the parent group.

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

update(data: ChildGroupInputData)

Updates the child group's details.

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

delete()

Deletes the child group.

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

ensure(data: ChildGroupInputData)

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

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

discard()

Deletes the child group if it exists.

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

childGroup(groupName: string)

Returns a handle for managing a nested child group.

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

Types

ChildGroupInputData

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

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

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