cumulocity-cypress
Version:
Cypress commands for Cumulocity IoT
48 lines (47 loc) • 2.05 kB
TypeScript
import { Client, IResult, IUserGroup } from "@c8y/client";
import { DeleteOptions } from "./user";
/**
* Creates a global role (user group) with the specified permissions.
*
* Global roles are user groups that define a set of permissions. This function:
* 1. Creates a new user group with the specified name
* 2. Assigns the specified role permissions to the group
*
* @param client - The Cumulocity client instance
* @param roleOptions - Role name as string, or object with name and optional description
* @param permissions - Array of permission (role) IDs or names to assign to this global role (e.g., ['ROLE_USER_MANAGEMENT', 'ROLE_INVENTORY_READ'])
* @returns Promise resolving to the created user group result
*
* @throws Error if role creation fails or if any of the specified roles cannot be found
*
* @example
* const roleResult = await createGlobalRole(
* client,
* { name: 'Custom Admin', description: 'Custom admin role with specific permissions' },
* ['ROLE_USER_MANAGEMENT', 'ROLE_INVENTORY_ADMIN']
* );
*/
export declare function createGlobalRole(client: Client, roleOptions: string | {
name: string;
description?: string;
}, permissions: string[]): Promise<IResult<IUserGroup>>;
/**
* Deletes one or more global roles (user groups) by name.
*
* @param client - The Cumulocity client instance
* @param roleNames - Single role name or array of role names to delete
* @param options - Optional configuration
* @param options.ignoreNotFound - If true (default), ignores 404 errors when role is not found
* @returns Promise that resolves when all roles are deleted
*
* @throws Error if role names are missing or if deletion fails (unless ignoreNotFound is true)
*
* @example
* // Delete single role
* await deleteGlobalRoles(client, 'CustomRole');
*
* @example
* // Delete multiple roles
* await deleteGlobalRoles(client, ['Role1', 'Role2', 'Role3']);
*/
export declare function deleteGlobalRoles(client: Client, roleNames: string | string[], options?: DeleteOptions): Promise<void>;