WeaviateEx.API.Groups (WeaviateEx v0.7.4)

View Source

OIDC Group management operations.

This module provides API operations for managing OIDC group role assignments. Groups are created and managed by the OIDC provider - Weaviate only tracks which roles are assigned to known groups.

Examples

alias WeaviateEx.API.Groups

# Get known group names
{:ok, groups} = Groups.list_known(client)

# Get roles assigned to group
{:ok, roles} = Groups.get_assigned_roles(client, "engineering-team")

# Assign roles to group
:ok = Groups.assign_roles(client, "engineering-team", ["developer"])

# Revoke roles from group
:ok = Groups.revoke_roles(client, "engineering-team", ["admin"])

Summary

Types

opts()

@type opts() :: keyword()

Functions

assign_roles(client, group_id, role_names, opts \\ [])

@spec assign_roles(WeaviateEx.Client.t(), String.t(), [String.t()], opts()) ::
  :ok | {:error, WeaviateEx.Error.t()}

Assign roles to a group.

Examples

:ok = Groups.assign_roles(client, "engineering", ["developer", "viewer"])

get_assigned_roles(client, group_id, opts \\ [])

@spec get_assigned_roles(WeaviateEx.Client.t(), String.t(), opts()) ::
  {:ok, [String.t()]} | {:error, WeaviateEx.Error.t()}

Get roles assigned to a group.

Examples

{:ok, roles} = Groups.get_assigned_roles(client, "engineering")

list_known(client, opts \\ [])

@spec list_known(WeaviateEx.Client.t(), opts()) ::
  {:ok, [String.t()]} | {:error, WeaviateEx.Error.t()}

List known OIDC group names.

Returns names of groups that Weaviate knows about (groups that have had roles assigned or whose members have authenticated).

Examples

{:ok, groups} = Groups.list_known(client)

revoke_roles(client, group_id, role_names, opts \\ [])

@spec revoke_roles(WeaviateEx.Client.t(), String.t(), [String.t()], opts()) ::
  :ok | {:error, WeaviateEx.Error.t()}

Revoke roles from a group.

Examples

:ok = Groups.revoke_roles(client, "engineering", ["admin"])